Package Exports
- @ainative/cody-sdk
- @ainative/cody-sdk/_vendor/partial-json-parser/parser
- @ainative/cody-sdk/_vendor/partial-json-parser/parser.js
- @ainative/cody-sdk/_vendor/partial-json-parser/parser.mjs
- @ainative/cody-sdk/ainative
- @ainative/cody-sdk/ainative.js
- @ainative/cody-sdk/ainative.mjs
- @ainative/cody-sdk/api-promise
- @ainative/cody-sdk/api-promise.js
- @ainative/cody-sdk/api-promise.mjs
- @ainative/cody-sdk/client
- @ainative/cody-sdk/client.js
- @ainative/cody-sdk/client.mjs
- @ainative/cody-sdk/core/api-promise
- @ainative/cody-sdk/core/api-promise.js
- @ainative/cody-sdk/core/api-promise.mjs
- @ainative/cody-sdk/core/error
- @ainative/cody-sdk/core/error.js
- @ainative/cody-sdk/core/error.mjs
- @ainative/cody-sdk/core/pagination
- @ainative/cody-sdk/core/pagination.js
- @ainative/cody-sdk/core/pagination.mjs
- @ainative/cody-sdk/core/resource
- @ainative/cody-sdk/core/resource.js
- @ainative/cody-sdk/core/resource.mjs
- @ainative/cody-sdk/core/streaming
- @ainative/cody-sdk/core/streaming.js
- @ainative/cody-sdk/core/streaming.mjs
- @ainative/cody-sdk/core/uploads
- @ainative/cody-sdk/core/uploads.js
- @ainative/cody-sdk/core/uploads.mjs
- @ainative/cody-sdk/error
- @ainative/cody-sdk/error.js
- @ainative/cody-sdk/error.mjs
- @ainative/cody-sdk/helpers/beta/json-schema
- @ainative/cody-sdk/helpers/beta/json-schema.js
- @ainative/cody-sdk/helpers/beta/json-schema.mjs
- @ainative/cody-sdk/helpers/beta/mcp
- @ainative/cody-sdk/helpers/beta/mcp.js
- @ainative/cody-sdk/helpers/beta/mcp.mjs
- @ainative/cody-sdk/helpers/beta/memory
- @ainative/cody-sdk/helpers/beta/memory.js
- @ainative/cody-sdk/helpers/beta/memory.mjs
- @ainative/cody-sdk/helpers/beta/zod
- @ainative/cody-sdk/helpers/beta/zod.js
- @ainative/cody-sdk/helpers/beta/zod.mjs
- @ainative/cody-sdk/helpers/index
- @ainative/cody-sdk/helpers/index.js
- @ainative/cody-sdk/helpers/index.mjs
- @ainative/cody-sdk/helpers/json-schema
- @ainative/cody-sdk/helpers/json-schema.js
- @ainative/cody-sdk/helpers/json-schema.mjs
- @ainative/cody-sdk/helpers/zod
- @ainative/cody-sdk/helpers/zod.js
- @ainative/cody-sdk/helpers/zod.mjs
- @ainative/cody-sdk/index
- @ainative/cody-sdk/index.js
- @ainative/cody-sdk/index.mjs
- @ainative/cody-sdk/lib/BetaMessageStream
- @ainative/cody-sdk/lib/BetaMessageStream.js
- @ainative/cody-sdk/lib/BetaMessageStream.mjs
- @ainative/cody-sdk/lib/MessageStream
- @ainative/cody-sdk/lib/MessageStream.js
- @ainative/cody-sdk/lib/MessageStream.mjs
- @ainative/cody-sdk/lib/beta-parser
- @ainative/cody-sdk/lib/beta-parser.js
- @ainative/cody-sdk/lib/beta-parser.mjs
- @ainative/cody-sdk/lib/parser
- @ainative/cody-sdk/lib/parser.js
- @ainative/cody-sdk/lib/parser.mjs
- @ainative/cody-sdk/lib/stainless-helper-header
- @ainative/cody-sdk/lib/stainless-helper-header.js
- @ainative/cody-sdk/lib/stainless-helper-header.mjs
- @ainative/cody-sdk/lib/tools/BetaRunnableTool
- @ainative/cody-sdk/lib/tools/BetaRunnableTool.js
- @ainative/cody-sdk/lib/tools/BetaRunnableTool.mjs
- @ainative/cody-sdk/lib/tools/BetaToolRunner
- @ainative/cody-sdk/lib/tools/BetaToolRunner.js
- @ainative/cody-sdk/lib/tools/BetaToolRunner.mjs
- @ainative/cody-sdk/lib/tools/CompactionControl
- @ainative/cody-sdk/lib/tools/CompactionControl.js
- @ainative/cody-sdk/lib/tools/CompactionControl.mjs
- @ainative/cody-sdk/lib/tools/ToolError
- @ainative/cody-sdk/lib/tools/ToolError.js
- @ainative/cody-sdk/lib/tools/ToolError.mjs
- @ainative/cody-sdk/lib/tools/ToolRunner
- @ainative/cody-sdk/lib/tools/ToolRunner.js
- @ainative/cody-sdk/lib/tools/ToolRunner.mjs
- @ainative/cody-sdk/lib/transform-json-schema
- @ainative/cody-sdk/lib/transform-json-schema.js
- @ainative/cody-sdk/lib/transform-json-schema.mjs
- @ainative/cody-sdk/pagination
- @ainative/cody-sdk/pagination.js
- @ainative/cody-sdk/pagination.mjs
- @ainative/cody-sdk/resource
- @ainative/cody-sdk/resource.js
- @ainative/cody-sdk/resource.mjs
- @ainative/cody-sdk/resources
- @ainative/cody-sdk/resources.js
- @ainative/cody-sdk/resources.mjs
- @ainative/cody-sdk/resources/beta
- @ainative/cody-sdk/resources/beta.js
- @ainative/cody-sdk/resources/beta.mjs
- @ainative/cody-sdk/resources/beta/beta
- @ainative/cody-sdk/resources/beta/beta.js
- @ainative/cody-sdk/resources/beta/beta.mjs
- @ainative/cody-sdk/resources/beta/files
- @ainative/cody-sdk/resources/beta/files.js
- @ainative/cody-sdk/resources/beta/files.mjs
- @ainative/cody-sdk/resources/beta/index
- @ainative/cody-sdk/resources/beta/index.js
- @ainative/cody-sdk/resources/beta/index.mjs
- @ainative/cody-sdk/resources/beta/messages
- @ainative/cody-sdk/resources/beta/messages.js
- @ainative/cody-sdk/resources/beta/messages.mjs
- @ainative/cody-sdk/resources/beta/messages/batches
- @ainative/cody-sdk/resources/beta/messages/batches.js
- @ainative/cody-sdk/resources/beta/messages/batches.mjs
- @ainative/cody-sdk/resources/beta/messages/index
- @ainative/cody-sdk/resources/beta/messages/index.js
- @ainative/cody-sdk/resources/beta/messages/index.mjs
- @ainative/cody-sdk/resources/beta/messages/messages
- @ainative/cody-sdk/resources/beta/messages/messages.js
- @ainative/cody-sdk/resources/beta/messages/messages.mjs
- @ainative/cody-sdk/resources/beta/models
- @ainative/cody-sdk/resources/beta/models.js
- @ainative/cody-sdk/resources/beta/models.mjs
- @ainative/cody-sdk/resources/beta/skills
- @ainative/cody-sdk/resources/beta/skills.js
- @ainative/cody-sdk/resources/beta/skills.mjs
- @ainative/cody-sdk/resources/beta/skills/index
- @ainative/cody-sdk/resources/beta/skills/index.js
- @ainative/cody-sdk/resources/beta/skills/index.mjs
- @ainative/cody-sdk/resources/beta/skills/skills
- @ainative/cody-sdk/resources/beta/skills/skills.js
- @ainative/cody-sdk/resources/beta/skills/skills.mjs
- @ainative/cody-sdk/resources/beta/skills/versions
- @ainative/cody-sdk/resources/beta/skills/versions.js
- @ainative/cody-sdk/resources/beta/skills/versions.mjs
- @ainative/cody-sdk/resources/completions
- @ainative/cody-sdk/resources/completions.js
- @ainative/cody-sdk/resources/completions.mjs
- @ainative/cody-sdk/resources/index
- @ainative/cody-sdk/resources/index.js
- @ainative/cody-sdk/resources/index.mjs
- @ainative/cody-sdk/resources/messages
- @ainative/cody-sdk/resources/messages.js
- @ainative/cody-sdk/resources/messages.mjs
- @ainative/cody-sdk/resources/messages/batches
- @ainative/cody-sdk/resources/messages/batches.js
- @ainative/cody-sdk/resources/messages/batches.mjs
- @ainative/cody-sdk/resources/messages/index
- @ainative/cody-sdk/resources/messages/index.js
- @ainative/cody-sdk/resources/messages/index.mjs
- @ainative/cody-sdk/resources/messages/messages
- @ainative/cody-sdk/resources/messages/messages.js
- @ainative/cody-sdk/resources/messages/messages.mjs
- @ainative/cody-sdk/resources/models
- @ainative/cody-sdk/resources/models.js
- @ainative/cody-sdk/resources/models.mjs
- @ainative/cody-sdk/resources/shared
- @ainative/cody-sdk/resources/shared.js
- @ainative/cody-sdk/resources/shared.mjs
- @ainative/cody-sdk/resources/top-level
- @ainative/cody-sdk/resources/top-level.js
- @ainative/cody-sdk/resources/top-level.mjs
- @ainative/cody-sdk/streaming
- @ainative/cody-sdk/streaming.js
- @ainative/cody-sdk/streaming.mjs
- @ainative/cody-sdk/tools/memory/node
- @ainative/cody-sdk/tools/memory/node.js
- @ainative/cody-sdk/tools/memory/node.mjs
- @ainative/cody-sdk/uploads
- @ainative/cody-sdk/uploads.js
- @ainative/cody-sdk/uploads.mjs
- @ainative/cody-sdk/version
- @ainative/cody-sdk/version.js
- @ainative/cody-sdk/version.mjs
Readme
Cody SDK for TypeScript
The official TypeScript SDK for AINative Studio's Cody platform. Supports all AINative models and Claude models through intelligent dual-provider routing.
Install
npm install @ainative/cody-sdkUsage
import Anthropic from '@ainative/cody-sdk';
const client = new Anthropic();
// AINative models → routes to api.ainative.studio
const response = await client.messages.create({
model: 'qwen-coder-32b',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello from Cody!' }],
});
// Claude models → routes directly to Anthropic API
const claudeResponse = await client.messages.create({
model: 'claude-sonnet-4-5',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello from Claude!' }],
});Supported Models
AINative Models (via api.ainative.studio)
| Model | Description |
|---|---|
qwen-coder-32b |
Best code quality (default) |
qwen-coder-7b |
Fast iteration, 3x faster |
nouscoder-14b |
Balanced code model |
gemma-9b |
General text and reasoning |
deepseek-r1-distill-qwen-7b |
Step-by-step reasoning |
Claude Models (direct to Anthropic API)
| Model | Description |
|---|---|
claude-sonnet-4-5 |
Best for everyday tasks |
claude-3-5-haiku |
Fastest for quick answers |
claude-opus-4-6 |
Most capable for complex work |
Environment Variables
# For AINative models
export AINATIVE_API_KEY=your-ainative-key
# For Claude models (optional)
export ANTHROPIC_API_KEY=your-anthropic-key
# Override base URL
export ANTHROPIC_BASE_URL=https://api.ainative.studioModel Routing
The SDK automatically routes requests to the correct API:
- AINative models (qwen, gemma, deepseek, nouscoder) →
api.ainative.studio - Claude models (sonnet, haiku, opus) →
api.anthropic.com
Usage tracking is handled server-side by AINative's backend middleware.
API Compatibility
Fork of the Anthropic TypeScript SDK (MIT license). Fully compatible with the Anthropic Messages API. Also supports:
- Amazon Bedrock (
@ainative/cody-sdk/bedrock) - Google Vertex AI (
@ainative/cody-sdk/vertex) - Microsoft Foundry (
@ainative/cody-sdk/foundry)
Agents: Self-Provision Here
Point your agent here to programmatically self-provision AINative services:
https://ainative.studio/agent.mdDNS discovery: dig TXT _agents.ainative.studio
Community
- Discord: discord.gg/paipalooza
- Website: ainative.studio
- Support: support@ainative.studio
License
MIT