@captra-ai/anthropic 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -2
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +99 -0
- package/dist/index.js.map +1 -0
- package/package.json +14 -4
package/README.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @captra-ai/anthropic
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Official Anthropic Messages API adapter for Captra. It supports text generation, token streaming, strict tools, native JSON Schema output, usage accounting, cancellation, retries, and portable provider errors.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { createAnthropic } from '@captra-ai/anthropic'
|
|
7
|
+
|
|
8
|
+
const model=createAnthropic({
|
|
9
|
+
model:process.env.ANTHROPIC_MODEL ?? 'claude-sonnet-4-6',
|
|
10
|
+
apiKey:process.env.ANTHROPIC_API_KEY,
|
|
11
|
+
})
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The adapter is server-only. Never expose `ANTHROPIC_API_KEY` to browser code.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ModelAdapter } from '@captra-ai/core';
|
|
2
|
+
export type AnthropicOptions = {
|
|
3
|
+
model: string;
|
|
4
|
+
apiKey?: string;
|
|
5
|
+
baseUrl?: string;
|
|
6
|
+
fetch?: typeof fetch;
|
|
7
|
+
headers?: HeadersInit;
|
|
8
|
+
maxRetries?: number;
|
|
9
|
+
maxOutputTokens?: number;
|
|
10
|
+
version?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function createAnthropic(options: AnthropicOptions): ModelAdapter;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,YAAY,EAA4E,MAAM,iBAAiB,CAAA;AAEhJ,MAAM,MAAM,gBAAgB,GAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,CAAC,EAAC,MAAM,CAAC;IAAA,OAAO,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,OAAO,KAAK,CAAC;IAAA,OAAO,CAAC,EAAC,WAAW,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,OAAO,CAAC,EAAC,MAAM,CAAA;CAAC,CAAA;AAI9K,wBAAgB,eAAe,CAAC,OAAO,EAAC,gBAAgB,GAAE,YAAY,CAWrE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { ModelProviderError } from '@captra-ai/core';
|
|
2
|
+
export function createAnthropic(options) {
|
|
3
|
+
const request = options.fetch ?? globalThis.fetch, baseUrl = (options.baseUrl ?? 'https://api.anthropic.com/v1').replace(/\/$/, ''), apiKey = options.apiKey ?? env('ANTHROPIC_API_KEY');
|
|
4
|
+
if (!apiKey)
|
|
5
|
+
throw new Error('Anthropic API key is required');
|
|
6
|
+
const headers = { 'content-type': 'application/json', 'x-api-key': apiKey, 'anthropic-version': options.version ?? '2023-06-01', ...options.headers };
|
|
7
|
+
const bodyFor = (input, stream = false) => { const system = input.messages.filter(message => message.role === 'system').map(message => message.content).join('\n\n'); return { model: options.model, max_tokens: input.maxOutputTokens ?? options.maxOutputTokens ?? 4096, messages: toMessages(input.messages), ...(system ? { system } : {}), ...(input.tools?.length ? { tools: input.tools.map(tool => ({ name: tool.name, description: tool.description, input_schema: tool.inputSchema, strict: tool.strict ?? false })) } : {}), ...(input.output ? { output_config: { format: { type: 'json_schema', schema: input.output.schema } } } : {}), ...(input.temperature === undefined ? {} : { temperature: input.temperature }), ...(stream ? { stream: true } : {}) }; };
|
|
8
|
+
const send = async (body, signal) => { for (let attempt = 0;; attempt++) {
|
|
9
|
+
const response = await request(`${baseUrl}/messages`, { method: 'POST', headers, body: JSON.stringify(body), signal });
|
|
10
|
+
if (!retryable(response.status) || attempt >= (options.maxRetries ?? 2))
|
|
11
|
+
return response;
|
|
12
|
+
await wait(response, attempt, signal);
|
|
13
|
+
} };
|
|
14
|
+
return {
|
|
15
|
+
async generate(input) { const response = await send(bodyFor(input), input.signal), data = await response.json(); if (!response.ok)
|
|
16
|
+
throw providerError(response.status, data.error); return { ...fromResponse(data), provider: 'anthropic' }; },
|
|
17
|
+
async *stream(input) {
|
|
18
|
+
const response = await send(bodyFor(input, true), input.signal);
|
|
19
|
+
if (!response.ok || !response.body) {
|
|
20
|
+
const data = await safeJson(response);
|
|
21
|
+
throw providerError(response.status, data?.error, await safeText(response));
|
|
22
|
+
}
|
|
23
|
+
const blocks = new Map();
|
|
24
|
+
let model, inputTokens, outputTokens, cachedInputTokens;
|
|
25
|
+
for await (const event of sse(response.body)) {
|
|
26
|
+
if (event.type === 'error')
|
|
27
|
+
throw providerError(529, event.error);
|
|
28
|
+
if (event.type === 'message_start') {
|
|
29
|
+
model = event.message?.model;
|
|
30
|
+
inputTokens = event.message?.usage?.input_tokens;
|
|
31
|
+
cachedInputTokens = event.message?.usage?.cache_read_input_tokens;
|
|
32
|
+
}
|
|
33
|
+
else if (event.type === 'content_block_start') {
|
|
34
|
+
const block = event.content_block ?? {};
|
|
35
|
+
blocks.set(event.index, { type: block.type, text: block.text ?? '', id: block.id, name: block.name, json: block.type === 'tool_use' ? '' : block.input ? JSON.stringify(block.input) : '' });
|
|
36
|
+
}
|
|
37
|
+
else if (event.type === 'content_block_delta') {
|
|
38
|
+
const block = blocks.get(event.index);
|
|
39
|
+
if (!block)
|
|
40
|
+
continue;
|
|
41
|
+
if (event.delta?.type === 'text_delta' && event.delta.text) {
|
|
42
|
+
block.text += event.delta.text;
|
|
43
|
+
yield { type: 'text-delta', delta: event.delta.text };
|
|
44
|
+
}
|
|
45
|
+
else if (event.delta?.type === 'input_json_delta')
|
|
46
|
+
block.json += event.delta.partial_json ?? '';
|
|
47
|
+
}
|
|
48
|
+
else if (event.type === 'message_delta')
|
|
49
|
+
outputTokens = event.usage?.output_tokens;
|
|
50
|
+
}
|
|
51
|
+
const content = [...blocks.values()], text = content.filter(block => block.type === 'text').map(block => block.text).join(''), toolCalls = content.filter(block => block.type === 'tool_use').map(block => ({ id: block.id ?? crypto.randomUUID(), name: block.name ?? '', input: parseJson(block.json) }));
|
|
52
|
+
yield { type: 'finish', response: { text, toolCalls: toolCalls.length ? toolCalls : undefined, model, provider: 'anthropic', usage: { inputTokens, outputTokens, cachedInputTokens } } };
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function toMessages(messages) { return messages.filter(message => message.role !== 'system').map(message => { if (message.role === 'tool')
|
|
57
|
+
return { role: 'user', content: [{ type: 'tool_result', tool_use_id: message.toolCallId, content: message.content }] }; if (message.toolCalls?.length)
|
|
58
|
+
return { role: 'assistant', content: [...(message.content ? [{ type: 'text', text: message.content }] : []), ...message.toolCalls.map(call => ({ type: 'tool_use', id: call.id, name: call.name, input: call.input }))] }; return { role: message.role, content: message.content }; }); }
|
|
59
|
+
function fromResponse(data) { const content = data.content ?? [], text = content.filter(block => block.type === 'text').map(block => block.text ?? '').join(''), toolCalls = content.filter(block => block.type === 'tool_use').map(block => ({ id: block.id ?? crypto.randomUUID(), name: block.name ?? '', input: block.input ?? {} })); return { text, toolCalls: toolCalls.length ? toolCalls : undefined, model: data.model, usage: { inputTokens: data.usage?.input_tokens, outputTokens: data.usage?.output_tokens, cachedInputTokens: data.usage?.cache_read_input_tokens } }; }
|
|
60
|
+
function providerError(status, error, fallback) { return new ModelProviderError(error?.message ?? fallback ?? `Anthropic request failed: ${status}`, { provider: 'anthropic', status, code: error?.type ?? `anthropic_http_${status}`, retryable: retryable(status) }); }
|
|
61
|
+
function retryable(status) { return status === 408 || status === 429 || status >= 500; }
|
|
62
|
+
function parseJson(value) { try {
|
|
63
|
+
return JSON.parse(value || '{}');
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
throw new ModelProviderError('Anthropic returned invalid tool arguments', { provider: 'anthropic', code: 'anthropic_invalid_tool_arguments', retryable: false });
|
|
67
|
+
} }
|
|
68
|
+
function env(name) { return globalThis.process?.env?.[name]; }
|
|
69
|
+
async function wait(response, attempt, signal) { const value = Number(response.headers.get('retry-after')); await delay(Number.isFinite(value) ? value * 1000 : 250 * 2 ** attempt, signal); }
|
|
70
|
+
function delay(ms, signal) { return new Promise((resolve, reject) => { const done = () => { signal?.removeEventListener('abort', abort); resolve(); }, timer = setTimeout(done, ms), abort = () => { clearTimeout(timer); reject(signal?.reason ?? new DOMException('Aborted', 'AbortError')); }; if (signal?.aborted)
|
|
71
|
+
abort();
|
|
72
|
+
else
|
|
73
|
+
signal?.addEventListener('abort', abort, { once: true }); }); }
|
|
74
|
+
async function* sse(body) { const reader = body.pipeThrough(new TextDecoderStream()).getReader(); let buffer = ''; for (;;) {
|
|
75
|
+
const { done, value } = await reader.read();
|
|
76
|
+
buffer += value ?? '';
|
|
77
|
+
const frames = buffer.split('\n\n');
|
|
78
|
+
buffer = frames.pop() ?? '';
|
|
79
|
+
for (const frame of frames) {
|
|
80
|
+
const raw = frame.split('\n').filter(line => line.startsWith('data:')).map(line => line.slice(5).trim()).join('');
|
|
81
|
+
if (raw)
|
|
82
|
+
yield JSON.parse(raw);
|
|
83
|
+
}
|
|
84
|
+
if (done)
|
|
85
|
+
break;
|
|
86
|
+
} }
|
|
87
|
+
async function safeJson(response) { try {
|
|
88
|
+
return await response.clone().json();
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return undefined;
|
|
92
|
+
} }
|
|
93
|
+
async function safeText(response) { try {
|
|
94
|
+
return await response.text();
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return undefined;
|
|
98
|
+
} }
|
|
99
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@captra-ai/anthropic",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
}
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Anthropic Messages API model adapter for Captra.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": { "type": "git", "url": "git+https://github.com/VaibhavBansal26/captra.git", "directory": "packages/anthropic" },
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" } },
|
|
11
|
+
"files": ["dist"],
|
|
12
|
+
"publishConfig": { "access": "public" },
|
|
13
|
+
"peerDependencies": { "@captra-ai/core": ">=0.21.0 <1" },
|
|
14
|
+
"devDependencies": { "vitest": "^4.1.12" },
|
|
15
|
+
"scripts": { "build": "tsc -p tsconfig.json", "test": "vitest run" }
|
|
16
|
+
}
|