orbitx 0.2.6 → 0.2.7
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/dist/core/agent-providers.d.ts +15 -10
- package/dist/core/agent-providers.d.ts.map +1 -1
- package/dist/core/agent-providers.js +65 -15
- package/dist/core/agent-providers.js.map +1 -1
- package/dist/core/ai-provider.d.ts +52 -2
- package/dist/core/ai-provider.d.ts.map +1 -1
- package/dist/core/ai-provider.js.map +1 -1
- package/dist/core/anthropic-provider.d.ts +5 -0
- package/dist/core/anthropic-provider.d.ts.map +1 -1
- package/dist/core/anthropic-provider.js +100 -17
- package/dist/core/anthropic-provider.js.map +1 -1
- package/dist/core/base-agent.d.ts +19 -41
- package/dist/core/base-agent.d.ts.map +1 -1
- package/dist/core/base-agent.js +112 -136
- package/dist/core/base-agent.js.map +1 -1
- package/dist/core/deepseek-provider.d.ts +3 -0
- package/dist/core/deepseek-provider.d.ts.map +1 -1
- package/dist/core/deepseek-provider.js +59 -12
- package/dist/core/deepseek-provider.js.map +1 -1
- package/dist/core/mcp-client.d.ts +10 -2
- package/dist/core/mcp-client.d.ts.map +1 -1
- package/dist/core/mcp-client.js +28 -4
- package/dist/core/mcp-client.js.map +1 -1
- package/dist/core/mcp-server.d.ts +5 -1
- package/dist/core/mcp-server.d.ts.map +1 -1
- package/dist/core/mcp-server.js +31 -1
- package/dist/core/mcp-server.js.map +1 -1
- package/dist/core/mcp.d.ts +9 -23
- package/dist/core/mcp.d.ts.map +1 -1
- package/dist/core/mcp.js +1 -24
- package/dist/core/mcp.js.map +1 -1
- package/dist/core/ollama-provider.d.ts +3 -0
- package/dist/core/ollama-provider.d.ts.map +1 -1
- package/dist/core/ollama-provider.js +31 -7
- package/dist/core/ollama-provider.js.map +1 -1
- package/dist/core/openai-provider.d.ts +3 -0
- package/dist/core/openai-provider.d.ts.map +1 -1
- package/dist/core/openai-provider.js +51 -8
- package/dist/core/openai-provider.js.map +1 -1
- package/dist/core/skill.d.ts +2 -2
- package/dist/core/skill.d.ts.map +1 -1
- package/dist/index.d.ts +13 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -10
- package/dist/index.js.map +1 -1
- package/dist/templates/simple.d.ts +8 -12
- package/dist/templates/simple.d.ts.map +1 -1
- package/dist/templates/simple.js +6 -10
- package/dist/templates/simple.js.map +1 -1
- package/dist/tests/tools/agent/agent-tools.test.js +20 -17
- package/dist/tests/tools/agent/agent-tools.test.js.map +1 -1
- package/dist/tests/tools/question-answer/question-answer.test.js +1 -11
- package/dist/tests/tools/question-answer/question-answer.test.js.map +1 -1
- package/dist/tests/tools/utils/read-image.test.js +29 -17
- package/dist/tests/tools/utils/read-image.test.js.map +1 -1
- package/dist/tools/agent/hire.d.ts +1 -2
- package/dist/tools/agent/hire.d.ts.map +1 -1
- package/dist/tools/agent/hire.js +1 -4
- package/dist/tools/agent/hire.js.map +1 -1
- package/dist/tools/agent/index.d.ts +1 -3
- package/dist/tools/agent/index.d.ts.map +1 -1
- package/dist/tools/agent/index.js +0 -1
- package/dist/tools/agent/index.js.map +1 -1
- package/dist/tools/agent/list.d.ts +1 -1
- package/dist/tools/agent/list.d.ts.map +1 -1
- package/dist/tools/agent/prompt.d.ts +1 -2
- package/dist/tools/agent/prompt.d.ts.map +1 -1
- package/dist/tools/agent/prompt.js +11 -7
- package/dist/tools/agent/prompt.js.map +1 -1
- package/dist/tools/agent/report.d.ts +1 -1
- package/dist/tools/agent/report.d.ts.map +1 -1
- package/dist/tools/bash/index.d.ts +1 -3
- package/dist/tools/bash/index.d.ts.map +1 -1
- package/dist/tools/bash/index.js +0 -1
- package/dist/tools/bash/index.js.map +1 -1
- package/dist/tools/bash/list.d.ts +1 -1
- package/dist/tools/bash/list.d.ts.map +1 -1
- package/dist/tools/bash/list.js +1 -1
- package/dist/tools/bash/list.js.map +1 -1
- package/dist/tools/bash/logs.d.ts +1 -1
- package/dist/tools/bash/logs.d.ts.map +1 -1
- package/dist/tools/bash/logs.js +1 -1
- package/dist/tools/bash/logs.js.map +1 -1
- package/dist/tools/bash/run.d.ts +1 -2
- package/dist/tools/bash/run.d.ts.map +1 -1
- package/dist/tools/bash/run.js +1 -7
- package/dist/tools/bash/run.js.map +1 -1
- package/dist/tools/bash/terminate.d.ts +1 -2
- package/dist/tools/bash/terminate.d.ts.map +1 -1
- package/dist/tools/bash/terminate.js +1 -4
- package/dist/tools/bash/terminate.js.map +1 -1
- package/dist/tools/bash/wait.d.ts +1 -2
- package/dist/tools/bash/wait.d.ts.map +1 -1
- package/dist/tools/bash/wait.js +1 -7
- package/dist/tools/bash/wait.js.map +1 -1
- package/dist/tools/bash/write-input.d.ts +1 -2
- package/dist/tools/bash/write-input.d.ts.map +1 -1
- package/dist/tools/bash/write-input.js +1 -4
- package/dist/tools/bash/write-input.js.map +1 -1
- package/dist/tools/browser/click.d.ts +1 -2
- package/dist/tools/browser/click.d.ts.map +1 -1
- package/dist/tools/browser/click.js +1 -4
- package/dist/tools/browser/click.js.map +1 -1
- package/dist/tools/browser/console.d.ts +1 -1
- package/dist/tools/browser/console.d.ts.map +1 -1
- package/dist/tools/browser/create-session.d.ts +1 -2
- package/dist/tools/browser/create-session.d.ts.map +1 -1
- package/dist/tools/browser/create-session.js +1 -4
- package/dist/tools/browser/create-session.js.map +1 -1
- package/dist/tools/browser/fill.d.ts +1 -2
- package/dist/tools/browser/fill.d.ts.map +1 -1
- package/dist/tools/browser/fill.js +1 -4
- package/dist/tools/browser/fill.js.map +1 -1
- package/dist/tools/browser/get-sessions.d.ts +1 -1
- package/dist/tools/browser/get-sessions.d.ts.map +1 -1
- package/dist/tools/browser/index.d.ts +1 -3
- package/dist/tools/browser/index.d.ts.map +1 -1
- package/dist/tools/browser/index.js +0 -1
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/inject.d.ts +1 -2
- package/dist/tools/browser/inject.d.ts.map +1 -1
- package/dist/tools/browser/inject.js +1 -4
- package/dist/tools/browser/inject.js.map +1 -1
- package/dist/tools/browser/navigate.d.ts +1 -2
- package/dist/tools/browser/navigate.d.ts.map +1 -1
- package/dist/tools/browser/navigate.js +1 -4
- package/dist/tools/browser/navigate.js.map +1 -1
- package/dist/tools/browser/network-status.d.ts +1 -1
- package/dist/tools/browser/network-status.d.ts.map +1 -1
- package/dist/tools/browser/network.d.ts +1 -1
- package/dist/tools/browser/network.d.ts.map +1 -1
- package/dist/tools/browser/read.d.ts +1 -2
- package/dist/tools/browser/read.d.ts.map +1 -1
- package/dist/tools/browser/read.js +1 -4
- package/dist/tools/browser/read.js.map +1 -1
- package/dist/tools/browser/remove-session.d.ts +1 -2
- package/dist/tools/browser/remove-session.d.ts.map +1 -1
- package/dist/tools/browser/remove-session.js +1 -4
- package/dist/tools/browser/remove-session.js.map +1 -1
- package/dist/tools/browser/screenshot.d.ts +1 -2
- package/dist/tools/browser/screenshot.d.ts.map +1 -1
- package/dist/tools/browser/screenshot.js +16 -15
- package/dist/tools/browser/screenshot.js.map +1 -1
- package/dist/tools/browser/scroll-info.d.ts +1 -1
- package/dist/tools/browser/scroll-info.d.ts.map +1 -1
- package/dist/tools/browser/scroll.d.ts +1 -2
- package/dist/tools/browser/scroll.d.ts.map +1 -1
- package/dist/tools/browser/scroll.js +1 -4
- package/dist/tools/browser/scroll.js.map +1 -1
- package/dist/tools/browser/submit-form.d.ts +1 -2
- package/dist/tools/browser/submit-form.d.ts.map +1 -1
- package/dist/tools/browser/submit-form.js +1 -4
- package/dist/tools/browser/submit-form.js.map +1 -1
- package/dist/tools/fs/create-dir.d.ts +1 -2
- package/dist/tools/fs/create-dir.d.ts.map +1 -1
- package/dist/tools/fs/create-dir.js +1 -4
- package/dist/tools/fs/create-dir.js.map +1 -1
- package/dist/tools/fs/delete.d.ts +1 -2
- package/dist/tools/fs/delete.d.ts.map +1 -1
- package/dist/tools/fs/delete.js +1 -4
- package/dist/tools/fs/delete.js.map +1 -1
- package/dist/tools/fs/edit-file.d.ts +1 -2
- package/dist/tools/fs/edit-file.d.ts.map +1 -1
- package/dist/tools/fs/edit-file.js +1 -4
- package/dist/tools/fs/edit-file.js.map +1 -1
- package/dist/tools/fs/index.d.ts +1 -3
- package/dist/tools/fs/index.d.ts.map +1 -1
- package/dist/tools/fs/index.js +0 -1
- package/dist/tools/fs/index.js.map +1 -1
- package/dist/tools/fs/list-dir.d.ts +1 -2
- package/dist/tools/fs/list-dir.d.ts.map +1 -1
- package/dist/tools/fs/list-dir.js +1 -4
- package/dist/tools/fs/list-dir.js.map +1 -1
- package/dist/tools/fs/move.d.ts +1 -2
- package/dist/tools/fs/move.d.ts.map +1 -1
- package/dist/tools/fs/move.js +1 -4
- package/dist/tools/fs/move.js.map +1 -1
- package/dist/tools/fs/read-file.d.ts +1 -2
- package/dist/tools/fs/read-file.d.ts.map +1 -1
- package/dist/tools/fs/read-file.js +1 -4
- package/dist/tools/fs/read-file.js.map +1 -1
- package/dist/tools/fs/stat.d.ts +1 -2
- package/dist/tools/fs/stat.d.ts.map +1 -1
- package/dist/tools/fs/stat.js +1 -4
- package/dist/tools/fs/stat.js.map +1 -1
- package/dist/tools/fs/write-file.d.ts +1 -2
- package/dist/tools/fs/write-file.d.ts.map +1 -1
- package/dist/tools/fs/write-file.js +1 -4
- package/dist/tools/fs/write-file.js.map +1 -1
- package/dist/tools/present/add.d.ts +1 -2
- package/dist/tools/present/add.d.ts.map +1 -1
- package/dist/tools/present/add.js +1 -4
- package/dist/tools/present/add.js.map +1 -1
- package/dist/tools/present/clear.d.ts +1 -2
- package/dist/tools/present/clear.d.ts.map +1 -1
- package/dist/tools/present/clear.js +1 -4
- package/dist/tools/present/clear.js.map +1 -1
- package/dist/tools/present/get-list.d.ts +1 -2
- package/dist/tools/present/get-list.d.ts.map +1 -1
- package/dist/tools/present/get-list.js +0 -2
- package/dist/tools/present/get-list.js.map +1 -1
- package/dist/tools/present/index.d.ts +1 -3
- package/dist/tools/present/index.d.ts.map +1 -1
- package/dist/tools/present/index.js +0 -1
- package/dist/tools/present/index.js.map +1 -1
- package/dist/tools/question-answer/index.d.ts +1 -3
- package/dist/tools/question-answer/index.d.ts.map +1 -1
- package/dist/tools/question-answer/index.js +0 -1
- package/dist/tools/question-answer/index.js.map +1 -1
- package/dist/tools/question-answer/question-answer.d.ts +1 -2
- package/dist/tools/question-answer/question-answer.d.ts.map +1 -1
- package/dist/tools/question-answer/question-answer.js +1 -4
- package/dist/tools/question-answer/question-answer.js.map +1 -1
- package/dist/tools/todo/check-task.d.ts +1 -2
- package/dist/tools/todo/check-task.d.ts.map +1 -1
- package/dist/tools/todo/check-task.js +1 -4
- package/dist/tools/todo/check-task.js.map +1 -1
- package/dist/tools/todo/create-list.d.ts +1 -2
- package/dist/tools/todo/create-list.d.ts.map +1 -1
- package/dist/tools/todo/create-list.js +1 -4
- package/dist/tools/todo/create-list.js.map +1 -1
- package/dist/tools/todo/create-task.d.ts +1 -2
- package/dist/tools/todo/create-task.d.ts.map +1 -1
- package/dist/tools/todo/create-task.js +1 -4
- package/dist/tools/todo/create-task.js.map +1 -1
- package/dist/tools/todo/get-list.d.ts +1 -1
- package/dist/tools/todo/get-list.d.ts.map +1 -1
- package/dist/tools/todo/get-list.js +1 -1
- package/dist/tools/todo/get-list.js.map +1 -1
- package/dist/tools/todo/get-lists.d.ts +1 -1
- package/dist/tools/todo/get-lists.d.ts.map +1 -1
- package/dist/tools/todo/get-lists.js +1 -1
- package/dist/tools/todo/get-lists.js.map +1 -1
- package/dist/tools/todo/index.d.ts +1 -3
- package/dist/tools/todo/index.d.ts.map +1 -1
- package/dist/tools/todo/index.js +0 -1
- package/dist/tools/todo/index.js.map +1 -1
- package/dist/tools/todo/remove-list.d.ts +1 -2
- package/dist/tools/todo/remove-list.d.ts.map +1 -1
- package/dist/tools/todo/remove-list.js +1 -4
- package/dist/tools/todo/remove-list.js.map +1 -1
- package/dist/tools/todo/remove-task.d.ts +1 -2
- package/dist/tools/todo/remove-task.d.ts.map +1 -1
- package/dist/tools/todo/remove-task.js +1 -4
- package/dist/tools/todo/remove-task.js.map +1 -1
- package/dist/tools/utils/delay.d.ts +1 -1
- package/dist/tools/utils/delay.d.ts.map +1 -1
- package/dist/tools/utils/get-current-time.d.ts +1 -1
- package/dist/tools/utils/get-current-time.d.ts.map +1 -1
- package/dist/tools/utils/index.d.ts +1 -1
- package/dist/tools/utils/index.d.ts.map +1 -1
- package/dist/tools/utils/read-image.d.ts +12 -7
- package/dist/tools/utils/read-image.d.ts.map +1 -1
- package/dist/tools/utils/read-image.js +27 -17
- package/dist/tools/utils/read-image.js.map +1 -1
- package/docs/agents.md +50 -25
- package/docs/api-reference.md +12 -13
- package/docs/getting-started.md +2 -2
- package/docs/mcp-architecture.md +14 -2
- package/docs/providers.md +114 -15
- package/docs/streaming.md +19 -2
- package/docs/tools.md +41 -8
- package/package.json +1 -1
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import type { AIProvider } from "./ai-provider.js";
|
|
2
|
-
export type AgentProviderRole = "main" | "image";
|
|
1
|
+
import type { AIProvider, ProviderType } from "./ai-provider.js";
|
|
3
2
|
export interface AgentProviderEntry {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
type: ProviderType;
|
|
4
|
+
provider: AIProvider | AIProvider[];
|
|
5
|
+
default?: number;
|
|
6
6
|
}
|
|
7
7
|
export type AgentProvidersInput = AIProvider | AgentProviderEntry[];
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
image?: AIProvider;
|
|
8
|
+
interface ProviderPool {
|
|
9
|
+
providers: AIProvider[];
|
|
10
|
+
default: number;
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
export declare class ProviderRegistry {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(byType: Map<ProviderType, ProviderPool>);
|
|
15
|
+
getMain(): AIProvider;
|
|
16
|
+
getProvider(type: ProviderType): AIProvider | undefined;
|
|
17
|
+
getProviders(type: ProviderType): AIProvider[] | undefined;
|
|
18
|
+
}
|
|
19
|
+
export declare function resolveAgentProviders(input: AgentProvidersInput): ProviderRegistry;
|
|
15
20
|
export default resolveAgentProviders;
|
|
16
21
|
//# sourceMappingURL=agent-providers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-providers.d.ts","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-providers.d.ts","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAwB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvF,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,kBAAkB,EAAE,CAAC;AAEpE,UAAU,YAAY;IAClB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AAwBD,qBAAa,gBAAgB;;gBAGb,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;IAInD,OAAO,IAAI,UAAU;IAIrB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAkBvD,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,EAAE,GAAG,SAAS;CAG7D;AAWD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB,CAclF;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,21 +1,71 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Maps the well-known `ProviderType` role names onto the `ProviderCapabilities`
|
|
3
|
+
* flag that actually describes that ability — used only as a fallback when
|
|
4
|
+
* nothing is registered under the role itself (see `getProvider` below).
|
|
5
|
+
* Role names with no capability equivalent (`main`, `llm-low`/`medium`/`high`,
|
|
6
|
+
* any custom string) simply aren't listed here, so the fallback never applies
|
|
7
|
+
* to them.
|
|
8
|
+
*/
|
|
9
|
+
const CAPABILITY_BY_TYPE = {
|
|
10
|
+
"image-describer": "supportsImages",
|
|
11
|
+
"image-generation": "supportsImageGeneration",
|
|
12
|
+
"image-editing": "supportsImageEditing",
|
|
13
|
+
"video-describer": "supportsVideo",
|
|
14
|
+
"video-generation": "supportsVideoGeneration",
|
|
15
|
+
"video-editing": "supportsVideoEditing",
|
|
16
|
+
"audio-describer": "supportsAudio",
|
|
17
|
+
"audio-generation": "supportsAudioGeneration",
|
|
18
|
+
"audio-design": "supportsAudioDesign",
|
|
19
|
+
"audio-clone": "supportsAudioClone",
|
|
20
|
+
"3d-model-generator": "supports3DModelGeneration",
|
|
21
|
+
};
|
|
22
|
+
export class ProviderRegistry {
|
|
23
|
+
#byType;
|
|
24
|
+
constructor(byType) {
|
|
25
|
+
this.#byType = byType;
|
|
26
|
+
}
|
|
27
|
+
getMain() {
|
|
28
|
+
return this.#byType.get("main").providers[this.#byType.get("main").default];
|
|
29
|
+
}
|
|
30
|
+
getProvider(type) {
|
|
31
|
+
const pool = this.#byType.get(type);
|
|
32
|
+
if (pool)
|
|
33
|
+
return pool.providers[pool.default];
|
|
34
|
+
const capabilityKey = CAPABILITY_BY_TYPE[type];
|
|
35
|
+
if (!capabilityKey)
|
|
36
|
+
return undefined;
|
|
37
|
+
for (const otherPool of this.#byType.values()) {
|
|
38
|
+
for (const provider of otherPool.providers) {
|
|
39
|
+
if (provider.getCapabilities()[capabilityKey]) {
|
|
40
|
+
return provider;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
9
45
|
}
|
|
10
|
-
|
|
11
|
-
|
|
46
|
+
getProviders(type) {
|
|
47
|
+
return this.#byType.get(type)?.providers;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function toPool(entry) {
|
|
51
|
+
const providers = Array.isArray(entry.provider) ? entry.provider : [entry.provider];
|
|
52
|
+
const defaultIndex = entry.default ?? 0;
|
|
53
|
+
if (defaultIndex < 0 || defaultIndex >= providers.length) {
|
|
54
|
+
throw new Error(`resolveAgentProviders: entry "${entry.type}" has default=${defaultIndex}, out of range for its ${providers.length}-provider pool.`);
|
|
55
|
+
}
|
|
56
|
+
return { providers, default: defaultIndex };
|
|
57
|
+
}
|
|
58
|
+
export function resolveAgentProviders(input) {
|
|
59
|
+
const entries = Array.isArray(input) ? input : [{ type: "main", provider: input }];
|
|
60
|
+
const mainEntries = entries.filter(e => e.type === "main");
|
|
61
|
+
if (mainEntries.length === 0) {
|
|
12
62
|
throw new Error("resolveAgentProviders: a provider with type \"main\" is required when passing an array of providers.");
|
|
13
63
|
}
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
64
|
+
const byType = new Map();
|
|
65
|
+
for (const entry of entries) {
|
|
66
|
+
byType.set(entry.type, toPool(entry));
|
|
67
|
+
}
|
|
68
|
+
return new ProviderRegistry(byType);
|
|
19
69
|
}
|
|
20
70
|
export default resolveAgentProviders;
|
|
21
71
|
//# sourceMappingURL=agent-providers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-providers.js","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-providers.js","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,20 @@ export type MessageContentPart = {
|
|
|
31
31
|
image: string;
|
|
32
32
|
mimeType?: string;
|
|
33
33
|
};
|
|
34
|
+
export type ProviderType = "main" | "image-describer" | "image-generation" | "image-editing" | "video-describer" | "video-generation" | "video-editing" | "audio-describer" | "audio-generation" | "audio-design" | "audio-clone" | "3d-model-generator" | "llm-low" | "llm-medium" | "llm-high" | (string & {});
|
|
35
|
+
export interface MessageUsageTokens {
|
|
36
|
+
type: ProviderType;
|
|
37
|
+
unit: "tokens";
|
|
38
|
+
inputMissTokens: number;
|
|
39
|
+
inputCacheTokens: number;
|
|
40
|
+
outputTokens: number;
|
|
41
|
+
}
|
|
42
|
+
export interface MessageUsageCost {
|
|
43
|
+
type: ProviderType;
|
|
44
|
+
unit: "cost";
|
|
45
|
+
cost: number;
|
|
46
|
+
}
|
|
47
|
+
export type MessageUsage = MessageUsageTokens | MessageUsageCost;
|
|
34
48
|
export interface Message {
|
|
35
49
|
role: "user" | "system" | "assistant" | "tool";
|
|
36
50
|
content?: string;
|
|
@@ -52,11 +66,17 @@ export interface Message {
|
|
|
52
66
|
* untouched; only the provider that produced it interprets it.
|
|
53
67
|
*/
|
|
54
68
|
providerThinking?: any[];
|
|
69
|
+
timestamp?: number;
|
|
70
|
+
/** True on messages BaseAgent injects itself rather than ones a human or the model produced (e.g. the forced-compaction nudge) — a hint for UI code to filter out of what's shown to an end user. Defaults to false/absent; purely a display hint, not sent to any provider. */
|
|
71
|
+
hidden?: boolean;
|
|
72
|
+
usage?: MessageUsage[];
|
|
55
73
|
}
|
|
56
74
|
export interface ChatResponse {
|
|
57
75
|
content: string;
|
|
58
|
-
|
|
59
|
-
|
|
76
|
+
inputMissTokens?: number;
|
|
77
|
+
inputCacheTokens?: number;
|
|
78
|
+
outputTokens?: number;
|
|
79
|
+
cost?: number;
|
|
60
80
|
/** Native tool calls requested by the model, when the provider supports native tool-calling and tools were supplied. */
|
|
61
81
|
toolCalls?: ToolCallRequest[];
|
|
62
82
|
/** Accumulated reasoning/thinking text produced this turn, when thinking was requested and the provider can surface it. See `Message.thinking`. */
|
|
@@ -88,6 +108,13 @@ export type StreamCallback = (chunk: {
|
|
|
88
108
|
toolName?: string;
|
|
89
109
|
/** Reasoning/thinking text delta for this chunk, mirroring `content` — present only while the model is thinking, absent (or empty) once it moves on to its actual answer. Only ever set on non-`done` assistant chunks. Never set unless the provider was configured with `thinkEffort` and can stream thinking (see `ProviderCapabilities.supportsThinking`); when a thinking chunk is emitted, `content` on that same chunk is empty. */
|
|
90
110
|
thinking?: string;
|
|
111
|
+
/** Mirrors `Message.hidden` — true on chunks for a message BaseAgent injected itself (e.g. the forced-compaction nudge), so a live-streaming UI can filter it out the same way it would filter the persisted Message. */
|
|
112
|
+
hidden?: boolean;
|
|
113
|
+
usage?: {
|
|
114
|
+
inputMissTokens: number;
|
|
115
|
+
inputCacheTokens: number;
|
|
116
|
+
outputTokens: number;
|
|
117
|
+
};
|
|
91
118
|
}) => Promise<void> | void;
|
|
92
119
|
/**
|
|
93
120
|
* Static capability + limits description for a provider/model pair. This
|
|
@@ -103,10 +130,32 @@ export interface ProviderCapabilities {
|
|
|
103
130
|
supportsImages: boolean;
|
|
104
131
|
/** The model's total context window, in tokens. Used to derive a safe default for when to trigger a memory-compaction event, without needing a hardcoded per-agent constant. */
|
|
105
132
|
contextWindow: number;
|
|
133
|
+
/** The model's maximum output tokens per response, when known. Not yet enforced anywhere — reserved for the agent loop to size/guard its own output budgeting in a future release. Undefined where not confirmed for a given provider/model. */
|
|
134
|
+
maxOutputTokens?: number;
|
|
106
135
|
/** Fraction of the context window (0-1) that's safe to fill before compacting; leaves headroom for the system prompt, tool schema, and the model's own output. Defaults applied by callers if not specified. */
|
|
107
136
|
safeUsageRatio?: number;
|
|
108
137
|
/** Whether this provider can surface the model's reasoning/thinking text (streamed via the `thinking` chunk field, and returned as `ChatResponse.thinking`) when constructed with `thinkEffort`. A provider may still accept/honor `thinkEffort` server-side (e.g. it changes response quality/latency) while reporting `false` here, if its API never exposes the reasoning text itself. */
|
|
109
138
|
supportsThinking?: boolean;
|
|
139
|
+
/** Whether this provider/model accepts video content in messages. */
|
|
140
|
+
supportsVideo?: boolean;
|
|
141
|
+
/** Whether this provider/model accepts audio content in messages. */
|
|
142
|
+
supportsAudio?: boolean;
|
|
143
|
+
/** Whether this provider/model can generate new images. */
|
|
144
|
+
supportsImageGeneration?: boolean;
|
|
145
|
+
/** Whether this provider/model can edit an existing image. */
|
|
146
|
+
supportsImageEditing?: boolean;
|
|
147
|
+
/** Whether this provider/model can generate new video. */
|
|
148
|
+
supportsVideoGeneration?: boolean;
|
|
149
|
+
/** Whether this provider/model can edit existing video. */
|
|
150
|
+
supportsVideoEditing?: boolean;
|
|
151
|
+
/** Whether this provider/model can generate new audio (speech, music, sound effects). */
|
|
152
|
+
supportsAudioGeneration?: boolean;
|
|
153
|
+
/** Whether this provider/model can design/produce sound effects or soundscapes. */
|
|
154
|
+
supportsAudioDesign?: boolean;
|
|
155
|
+
/** Whether this provider/model can clone a voice from a reference sample. */
|
|
156
|
+
supportsAudioClone?: boolean;
|
|
157
|
+
/** Whether this provider/model can generate a new 3D model. */
|
|
158
|
+
supports3DModelGeneration?: boolean;
|
|
110
159
|
}
|
|
111
160
|
export declare abstract class AIProvider {
|
|
112
161
|
/**
|
|
@@ -120,6 +169,7 @@ export declare abstract class AIProvider {
|
|
|
120
169
|
abstract chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[], signal?: AbortSignal): Promise<ChatResponse>;
|
|
121
170
|
/** Describe what this provider/model can do — used by BaseAgent to pick the native-tools vs. legacy-JSON path and to size the memory-compaction threshold. */
|
|
122
171
|
abstract getCapabilities(): ProviderCapabilities;
|
|
172
|
+
abstract setOption(key: string, value: unknown): void;
|
|
123
173
|
}
|
|
124
174
|
export default AIProvider;
|
|
125
175
|
//# sourceMappingURL=ai-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC3D,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,GAAG,CAAC;KACjB,EAAE,CAAC;CACP;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,2FAA2F;AAC3F,MAAM,MAAM,kBAAkB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAwC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gPAAgP;IAChP,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,sEAAsE;IACtE,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mRAAmR;IACnR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider.js","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-provider.js","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"AAqLA,MAAM,OAAgB,UAAU;CAoB/B;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -8,8 +8,13 @@ export declare class AnthropicProvider extends AIProvider {
|
|
|
8
8
|
contextWindow?: number;
|
|
9
9
|
maxTokens?: number;
|
|
10
10
|
thinkEffort?: number;
|
|
11
|
+
userId?: string;
|
|
12
|
+
disablePromptCaching?: boolean;
|
|
13
|
+
extendedContext?: boolean | string;
|
|
11
14
|
});
|
|
12
15
|
getCapabilities(): ProviderCapabilities;
|
|
16
|
+
/** Settable without reconstructing this provider: `thinkEffort`, `userId`, `disablePromptCaching`, `maxTokens`, `supportsTools` — every one of these is read fresh from the corresponding private field on every `chat()` call, never baked into derived state at construction (unlike `contextWindow`/`extendedContext`, which are out of scope here). */
|
|
17
|
+
setOption(key: string, value: unknown): void;
|
|
13
18
|
chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[], signal?: AbortSignal): Promise<ChatResponse>;
|
|
14
19
|
}
|
|
15
20
|
export default AnthropicProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../src/core/anthropic-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../src/core/anthropic-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AA0J1C,qBAAa,iBAAkB,SAAQ,UAAU;;gBAcjC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAA0B,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAO;IAazR,eAAe,IAAI,oBAAoB;IAqBvC,2VAA2V;IAC3V,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAWtC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,EACpB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC;CAwK3B;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -3,13 +3,33 @@ import AIProvider from "./ai-provider.js";
|
|
|
3
3
|
import { toAnthropicTools } from "./tool-schema-translator.js";
|
|
4
4
|
import { withRetry } from "./retry.js";
|
|
5
5
|
const MODEL_CONTEXT_WINDOWS = {
|
|
6
|
-
"claude-opus-
|
|
7
|
-
"claude-sonnet-5":
|
|
6
|
+
"claude-opus-5": 1_000_000,
|
|
7
|
+
"claude-sonnet-5": 1_000_000,
|
|
8
|
+
"claude-fable-5": 1_000_000,
|
|
9
|
+
"claude-opus-4-8": 1_000_000,
|
|
10
|
+
"claude-opus-4-7": 1_000_000,
|
|
11
|
+
"claude-opus-4-6": 1_000_000,
|
|
12
|
+
"claude-sonnet-4-6": 1_000_000,
|
|
13
|
+
"claude-opus-4-5": 200_000,
|
|
14
|
+
"claude-sonnet-4-5": 200_000,
|
|
8
15
|
"claude-haiku-4-5-20251001": 200_000,
|
|
9
|
-
"claude-
|
|
10
|
-
"claude-mythos-5": 200_000,
|
|
16
|
+
"claude-mythos-5": 1_000_000,
|
|
11
17
|
};
|
|
12
18
|
const DEFAULT_CONTEXT_WINDOW = 200_000;
|
|
19
|
+
const MODEL_MAX_OUTPUT_TOKENS = {
|
|
20
|
+
"claude-fable-5": 128_000,
|
|
21
|
+
"claude-mythos-5": 128_000,
|
|
22
|
+
"claude-opus-5": 128_000,
|
|
23
|
+
"claude-sonnet-5": 128_000,
|
|
24
|
+
"claude-opus-4-8": 128_000,
|
|
25
|
+
"claude-opus-4-7": 128_000,
|
|
26
|
+
"claude-opus-4-6": 128_000,
|
|
27
|
+
"claude-sonnet-4-6": 128_000,
|
|
28
|
+
"claude-opus-4-5": 64_000,
|
|
29
|
+
"claude-sonnet-4-5": 64_000,
|
|
30
|
+
"claude-haiku-4-5-20251001": 64_000,
|
|
31
|
+
};
|
|
32
|
+
const DEFAULT_MAX_OUTPUT_TOKENS = 128_000;
|
|
13
33
|
// Anthropic's extended thinking takes a numeric token budget rather than a
|
|
14
34
|
// low/medium/high enum, so the universal 0-1 `thinkEffort` is mapped onto a
|
|
15
35
|
// budget range instead of going through resolveThinkEffortLevel(). The
|
|
@@ -82,6 +102,19 @@ function toAnthropicMessages(messages) {
|
|
|
82
102
|
}
|
|
83
103
|
return { system: systemParts.join("\n\n"), messages: out };
|
|
84
104
|
}
|
|
105
|
+
function withCacheControl(messages) {
|
|
106
|
+
if (messages.length === 0)
|
|
107
|
+
return messages;
|
|
108
|
+
const last = messages[messages.length - 1];
|
|
109
|
+
const content = typeof last.content === "string"
|
|
110
|
+
? [{ type: "text", text: last.content }]
|
|
111
|
+
: [...last.content];
|
|
112
|
+
if (content.length === 0)
|
|
113
|
+
return messages;
|
|
114
|
+
const lastIndex = content.length - 1;
|
|
115
|
+
content[lastIndex] = { ...content[lastIndex], cache_control: { type: "ephemeral" } };
|
|
116
|
+
return [...messages.slice(0, -1), { ...last, content }];
|
|
117
|
+
}
|
|
85
118
|
function fromAnthropicToolCalls(content) {
|
|
86
119
|
if (!content)
|
|
87
120
|
return undefined;
|
|
@@ -123,30 +156,71 @@ export class AnthropicProvider extends AIProvider {
|
|
|
123
156
|
#maxTokens;
|
|
124
157
|
/** Universal 0-1 thinking effort — see src/core/think-effort.ts. Mapped onto Anthropic's numeric thinking-token budget in #chat. */
|
|
125
158
|
#thinkEffort;
|
|
159
|
+
/** Opaque end-user identifier forwarded as `metadata.user_id` on every request, for Anthropic's own abuse-monitoring — see docs/providers.md#user-tracking. */
|
|
160
|
+
#userId;
|
|
161
|
+
/** Ephemeral cache_control breakpoint on by default (see withCacheControl) — set true to send every request uncached. */
|
|
162
|
+
#disablePromptCaching;
|
|
126
163
|
constructor(apiKey, model = "claude-sonnet-5", options = {}) {
|
|
127
164
|
super();
|
|
128
165
|
this.#client = new Anthropic({ apiKey });
|
|
129
166
|
this.#model = model;
|
|
130
167
|
this.#supportsTools = options.supportsTools ?? true;
|
|
131
168
|
this.#supportsImages = options.supportsImages ?? true;
|
|
132
|
-
this.#contextWindow = options.contextWindow ?? MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW;
|
|
169
|
+
this.#contextWindow = options.contextWindow ?? (MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW);
|
|
133
170
|
this.#maxTokens = options.maxTokens ?? 4096;
|
|
134
171
|
this.#thinkEffort = options.thinkEffort;
|
|
172
|
+
this.#userId = options.userId;
|
|
173
|
+
this.#disablePromptCaching = options.disablePromptCaching ?? false;
|
|
135
174
|
}
|
|
136
175
|
getCapabilities() {
|
|
137
176
|
return {
|
|
138
177
|
supportsTools: this.#supportsTools,
|
|
139
178
|
supportsImages: this.#supportsImages,
|
|
140
179
|
contextWindow: this.#contextWindow,
|
|
141
|
-
safeUsageRatio: 0.
|
|
180
|
+
safeUsageRatio: 0.7,
|
|
142
181
|
supportsThinking: true,
|
|
182
|
+
maxOutputTokens: MODEL_MAX_OUTPUT_TOKENS[this.#model] ?? DEFAULT_MAX_OUTPUT_TOKENS,
|
|
183
|
+
supportsVideo: false,
|
|
184
|
+
supportsAudio: false,
|
|
185
|
+
supportsImageGeneration: false,
|
|
186
|
+
supportsImageEditing: false,
|
|
187
|
+
supportsVideoGeneration: false,
|
|
188
|
+
supportsVideoEditing: false,
|
|
189
|
+
supportsAudioGeneration: false,
|
|
190
|
+
supportsAudioDesign: false,
|
|
191
|
+
supportsAudioClone: false,
|
|
192
|
+
supports3DModelGeneration: false,
|
|
143
193
|
};
|
|
144
194
|
}
|
|
195
|
+
/** Settable without reconstructing this provider: `thinkEffort`, `userId`, `disablePromptCaching`, `maxTokens`, `supportsTools` — every one of these is read fresh from the corresponding private field on every `chat()` call, never baked into derived state at construction (unlike `contextWindow`/`extendedContext`, which are out of scope here). */
|
|
196
|
+
setOption(key, value) {
|
|
197
|
+
switch (key) {
|
|
198
|
+
case "thinkEffort":
|
|
199
|
+
this.#thinkEffort = value;
|
|
200
|
+
return;
|
|
201
|
+
case "userId":
|
|
202
|
+
this.#userId = value;
|
|
203
|
+
return;
|
|
204
|
+
case "disablePromptCaching":
|
|
205
|
+
this.#disablePromptCaching = value;
|
|
206
|
+
return;
|
|
207
|
+
case "maxTokens":
|
|
208
|
+
this.#maxTokens = value;
|
|
209
|
+
return;
|
|
210
|
+
case "supportsTools":
|
|
211
|
+
this.#supportsTools = value;
|
|
212
|
+
return;
|
|
213
|
+
default: throw new Error(`AnthropicProvider does not support setting option "${key}"`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
145
216
|
async chat(messages, streamCallback, tools, signal) {
|
|
146
|
-
const { system, messages:
|
|
217
|
+
const { system, messages: rawFormattedMessages } = toAnthropicMessages(messages);
|
|
218
|
+
const formattedMessages = this.#disablePromptCaching ? rawFormattedMessages : withCacheControl(rawFormattedMessages);
|
|
147
219
|
const formattedTools = tools && tools.length > 0 && this.#supportsTools
|
|
148
220
|
? toAnthropicTools(tools)
|
|
149
221
|
: undefined;
|
|
222
|
+
const metadataParam = this.#userId ? { metadata: { user_id: this.#userId } } : {};
|
|
223
|
+
const requestOptions = { signal };
|
|
150
224
|
const thinkingBudget = this.#thinkEffort !== undefined
|
|
151
225
|
? resolveThinkingBudget(this.#thinkEffort, this.#maxTokens)
|
|
152
226
|
: undefined;
|
|
@@ -168,10 +242,12 @@ export class AnthropicProvider extends AIProvider {
|
|
|
168
242
|
messages: formattedMessages,
|
|
169
243
|
...(formattedTools ? { tools: formattedTools } : {}),
|
|
170
244
|
...thinkingParam,
|
|
245
|
+
...metadataParam,
|
|
171
246
|
stream: true,
|
|
172
|
-
},
|
|
247
|
+
}, requestOptions);
|
|
173
248
|
let fullContent = "";
|
|
174
|
-
let
|
|
249
|
+
let inputMissTokens = 0;
|
|
250
|
+
let inputCacheTokens = 0;
|
|
175
251
|
let outputTokens = 0;
|
|
176
252
|
// Anthropic streams tool_use blocks as a start event (with
|
|
177
253
|
// id/name) followed by incremental input_json_delta chunks,
|
|
@@ -206,14 +282,14 @@ export class AnthropicProvider extends AIProvider {
|
|
|
206
282
|
if (event.type === "content_block_delta") {
|
|
207
283
|
if (event.delta?.type === "text_delta" && event.delta.text) {
|
|
208
284
|
fullContent += event.delta.text;
|
|
209
|
-
await streamCallback({ role: "assistant", content: event.delta.text, done: false });
|
|
285
|
+
await streamCallback({ role: "assistant", content: event.delta.text, done: false, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
|
|
210
286
|
}
|
|
211
287
|
if (event.delta?.type === "input_json_delta" && toolBlocks[event.index]) {
|
|
212
288
|
toolBlocks[event.index].inputJson += event.delta.partial_json || "";
|
|
213
289
|
}
|
|
214
290
|
if (event.delta?.type === "thinking_delta" && thinkingBlocks[event.index]) {
|
|
215
291
|
thinkingBlocks[event.index].thinking += event.delta.thinking || "";
|
|
216
|
-
await streamCallback({ role: "assistant", content: "", done: false, thinking: event.delta.thinking || "" });
|
|
292
|
+
await streamCallback({ role: "assistant", content: "", done: false, thinking: event.delta.thinking || "", usage: { inputMissTokens, inputCacheTokens, outputTokens } });
|
|
217
293
|
}
|
|
218
294
|
if (event.delta?.type === "signature_delta" && thinkingBlocks[event.index]) {
|
|
219
295
|
thinkingBlocks[event.index].signature += event.delta.signature || "";
|
|
@@ -233,14 +309,18 @@ export class AnthropicProvider extends AIProvider {
|
|
|
233
309
|
}
|
|
234
310
|
const finished = { id: tb.id || "", name: tb.name || "", inputs };
|
|
235
311
|
finishedToolCalls.push(finished);
|
|
236
|
-
await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [finished] });
|
|
312
|
+
await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [finished], usage: { inputMissTokens, inputCacheTokens, outputTokens } });
|
|
237
313
|
}
|
|
238
314
|
if (event.type === "message_start") {
|
|
239
|
-
|
|
315
|
+
const usage = event.message?.usage;
|
|
316
|
+
inputMissTokens = (usage?.input_tokens || 0) + (usage?.cache_creation_input_tokens || 0);
|
|
317
|
+
inputCacheTokens = usage?.cache_read_input_tokens || 0;
|
|
318
|
+
await streamCallback({ role: "assistant", content: "", done: false, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
|
|
240
319
|
}
|
|
241
320
|
if (event.type === "message_delta") {
|
|
242
321
|
if (event.usage?.output_tokens !== undefined) {
|
|
243
322
|
outputTokens = event.usage.output_tokens;
|
|
323
|
+
await streamCallback({ role: "assistant", content: "", done: false, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
|
|
244
324
|
}
|
|
245
325
|
}
|
|
246
326
|
}
|
|
@@ -258,10 +338,11 @@ export class AnthropicProvider extends AIProvider {
|
|
|
258
338
|
const toolCalls = finishedToolCalls.length > 0 ? finishedToolCalls : undefined;
|
|
259
339
|
const providerThinking = Object.keys(thinkingBlocks).length > 0 ? Object.values(thinkingBlocks) : undefined;
|
|
260
340
|
const thinkingText = providerThinking?.map(b => b.thinking).join("");
|
|
261
|
-
await streamCallback({ role: "assistant", content: "", done: true });
|
|
341
|
+
await streamCallback({ role: "assistant", content: "", done: true, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
|
|
262
342
|
return {
|
|
263
343
|
content: fullContent,
|
|
264
|
-
|
|
344
|
+
inputMissTokens,
|
|
345
|
+
inputCacheTokens,
|
|
265
346
|
outputTokens,
|
|
266
347
|
...(toolCalls ? { toolCalls } : {}),
|
|
267
348
|
...(thinkingText ? { thinking: thinkingText } : {}),
|
|
@@ -278,12 +359,14 @@ export class AnthropicProvider extends AIProvider {
|
|
|
278
359
|
messages: formattedMessages,
|
|
279
360
|
...(formattedTools ? { tools: formattedTools } : {}),
|
|
280
361
|
...thinkingParam,
|
|
281
|
-
|
|
362
|
+
...metadataParam,
|
|
363
|
+
}, requestOptions);
|
|
282
364
|
const toolCalls = fromAnthropicToolCalls(response.content);
|
|
283
365
|
const { text: thinkingText, blocks: providerThinking } = thinkingFromAnthropicContent(response.content);
|
|
284
366
|
return {
|
|
285
367
|
content: textFromAnthropicContent(response.content),
|
|
286
|
-
|
|
368
|
+
inputMissTokens: (response.usage?.input_tokens || 0) + (response.usage?.cache_creation_input_tokens || 0),
|
|
369
|
+
inputCacheTokens: response.usage?.cache_read_input_tokens || 0,
|
|
287
370
|
outputTokens: response.usage?.output_tokens || 0,
|
|
288
371
|
...(toolCalls ? { toolCalls } : {}),
|
|
289
372
|
...(thinkingText ? { thinking: thinkingText } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../src/core/anthropic-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../src/core/anthropic-provider.ts"],"names":[],"mappings":"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"}
|