orbitx 0.2.1 → 0.2.4
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 +26 -0
- package/dist/core/ai-provider.d.ts +31 -1
- 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 +1 -0
- package/dist/core/anthropic-provider.d.ts.map +1 -1
- package/dist/core/anthropic-provider.js +83 -3
- package/dist/core/anthropic-provider.js.map +1 -1
- package/dist/core/base-agent.d.ts +13 -0
- package/dist/core/base-agent.d.ts.map +1 -1
- package/dist/core/base-agent.js +77 -109
- package/dist/core/base-agent.js.map +1 -1
- package/dist/core/deepseek-provider.d.ts +2 -0
- package/dist/core/deepseek-provider.d.ts.map +1 -1
- package/dist/core/deepseek-provider.js +56 -2
- package/dist/core/deepseek-provider.js.map +1 -1
- package/dist/core/image-describer.d.ts +7 -1
- package/dist/core/image-describer.d.ts.map +1 -1
- package/dist/core/image-describer.js +5 -1
- package/dist/core/image-describer.js.map +1 -1
- package/dist/core/ollama-provider.d.ts +1 -0
- package/dist/core/ollama-provider.d.ts.map +1 -1
- package/dist/core/ollama-provider.js +45 -1
- package/dist/core/ollama-provider.js.map +1 -1
- package/dist/core/openai-provider.d.ts +1 -0
- package/dist/core/openai-provider.d.ts.map +1 -1
- package/dist/core/openai-provider.js +54 -1
- package/dist/core/openai-provider.js.map +1 -1
- package/dist/core/think-effort.d.ts +21 -0
- package/dist/core/think-effort.d.ts.map +1 -0
- package/dist/core/think-effort.js +19 -0
- package/dist/core/think-effort.js.map +1 -0
- package/dist/core/worker-agent.d.ts +43 -0
- package/dist/core/worker-agent.d.ts.map +1 -0
- package/dist/core/worker-agent.js +40 -0
- package/dist/core/worker-agent.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/simple.d.ts +2 -0
- package/dist/templates/simple.d.ts.map +1 -1
- package/dist/templates/simple.js.map +1 -1
- package/dist/tests/index.d.ts +1 -0
- package/dist/tests/index.d.ts.map +1 -1
- package/dist/tests/index.js +1 -0
- package/dist/tests/index.js.map +1 -1
- package/dist/tests/tools/agent/agent-tools.test.d.ts +2 -0
- package/dist/tests/tools/agent/agent-tools.test.d.ts.map +1 -0
- package/dist/tests/tools/agent/agent-tools.test.js +156 -0
- package/dist/tests/tools/agent/agent-tools.test.js.map +1 -0
- package/dist/tools/agent/hire.d.ts +6 -0
- package/dist/tools/agent/hire.d.ts.map +1 -0
- package/dist/tools/agent/hire.js +32 -0
- package/dist/tools/agent/hire.js.map +1 -0
- package/dist/tools/agent/index.d.ts +27 -0
- package/dist/tools/agent/index.d.ts.map +1 -0
- package/dist/tools/agent/index.js +31 -0
- package/dist/tools/agent/index.js.map +1 -0
- package/dist/tools/agent/interaction.d.ts +25 -0
- package/dist/tools/agent/interaction.d.ts.map +1 -0
- package/dist/tools/agent/interaction.js +14 -0
- package/dist/tools/agent/interaction.js.map +1 -0
- package/dist/tools/agent/list.d.ts +5 -0
- package/dist/tools/agent/list.d.ts.map +1 -0
- package/dist/tools/agent/list.js +16 -0
- package/dist/tools/agent/list.js.map +1 -0
- package/dist/tools/agent/prompt.d.ts +6 -0
- package/dist/tools/agent/prompt.d.ts.map +1 -0
- package/dist/tools/agent/prompt.js +73 -0
- package/dist/tools/agent/prompt.js.map +1 -0
- package/dist/tools/agent/registry.d.ts +33 -0
- package/dist/tools/agent/registry.d.ts.map +1 -0
- package/dist/tools/agent/registry.js +68 -0
- package/dist/tools/agent/registry.js.map +1 -0
- package/dist/tools/agent/report.d.ts +12 -0
- package/dist/tools/agent/report.d.ts.map +1 -0
- package/dist/tools/agent/report.js +31 -0
- package/dist/tools/agent/report.js.map +1 -0
- package/dist/tools/fs/edit-file.d.ts.map +1 -1
- package/dist/tools/fs/edit-file.js +9 -8
- package/dist/tools/fs/edit-file.js.map +1 -1
- package/dist/tools/fs/list-dir.d.ts.map +1 -1
- package/dist/tools/fs/list-dir.js +0 -1
- package/dist/tools/fs/list-dir.js.map +1 -1
- package/dist/tools/fs/read-file.js +3 -3
- package/dist/tools/fs/read-file.js.map +1 -1
- package/dist/tools/fs/utils.d.ts +7 -0
- package/dist/tools/fs/utils.d.ts.map +1 -1
- package/dist/tools/fs/utils.js +9 -2
- package/dist/tools/fs/utils.js.map +1 -1
- package/dist/tools/utils/index.d.ts +1 -0
- package/dist/tools/utils/index.d.ts.map +1 -1
- package/dist/tools/utils/index.js +4 -1
- package/dist/tools/utils/index.js.map +1 -1
- package/dist/tools/utils/read-image.d.ts +12 -0
- package/dist/tools/utils/read-image.d.ts.map +1 -0
- package/dist/tools/utils/read-image.js +70 -0
- package/dist/tools/utils/read-image.js.map +1 -0
- package/docs/agents.md +181 -0
- package/docs/api-reference.md +54 -0
- package/docs/getting-started.md +78 -0
- package/docs/index.md +23 -0
- package/docs/mcp-architecture.md +103 -0
- package/docs/providers.md +151 -0
- package/docs/skills.md +68 -0
- package/docs/streaming.md +116 -0
- package/docs/tools.md +179 -0
- package/package.json +4 -3
- package/dist/tests/mcp.test.d.ts +0 -2
- package/dist/tests/mcp.test.d.ts.map +0 -1
- package/dist/tests/mcp.test.js +0 -3
- package/dist/tests/mcp.test.js.map +0 -1
package/Readme.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
[](#)
|
|
2
2
|
|
|
3
|
+
📖 **[Full documentation](./docs/index.md)** — a deeper, page-by-page guide (providers, agents, tools, skills, MCP transport, streaming, full API reference), written to be useful both to humans learning the library and to AI agents coding against it.
|
|
4
|
+
|
|
3
5
|
## Installation
|
|
4
6
|
|
|
5
7
|
```bash
|
|
@@ -128,6 +130,18 @@ import { OpenAIProvider } from "orbitx";
|
|
|
128
130
|
const openaiProvider = new OpenAIProvider("api-key", "gpt-5");
|
|
129
131
|
```
|
|
130
132
|
|
|
133
|
+
### Think effort
|
|
134
|
+
|
|
135
|
+
Every provider accepts a universal `thinkEffort` option (`0`-`1`, e.g. `0.5` or `0.8`) instead of a provider-specific string — each provider maps it onto whatever scale it actually accepts (DeepSeek's `none/low/high/max`, OpenAI/Ollama's `low/medium/high`, Anthropic's numeric thinking budget), and it's silently ignored by providers/models that don't support thinking at all:
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
import { AnthropicProvider } from "orbitx";
|
|
139
|
+
|
|
140
|
+
const anthropicProvider = new AnthropicProvider("api-key", "claude-sonnet-5", { thinkEffort: 0.7 });
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
See the [docs](./docs/providers.md#think-effort) for the per-provider mapping and how thinking text streams (where supported).
|
|
144
|
+
|
|
131
145
|
### Two providers: main + image
|
|
132
146
|
|
|
133
147
|
An agent uses exactly two provider roles — `main` (drives the agent loop itself) and `image` (describes image tool output, e.g. screenshots, so the main conversation doesn't have to carry raw image bytes). Pass a single provider to use it for both roles, or an array to split them:
|
|
@@ -236,6 +250,18 @@ Drives a real headless browser session.
|
|
|
236
250
|
| `GetCurrentTimeTool` | Get the current date/time (ISO string, unix timestamp, timezone). |
|
|
237
251
|
| `DelayTool` | Wait a given number of milliseconds (max 60000ms) before continuing. |
|
|
238
252
|
|
|
253
|
+
### Multi-agent (`AgentTools`) — Experimental
|
|
254
|
+
|
|
255
|
+
⚠️ This feature is new and still settling — names and behavior may change in a future release.
|
|
256
|
+
|
|
257
|
+
Unlike the other domains, this one takes parameters — a roster of `WorkerAgent`s (a `BaseAgent` with a name/description/rating) you build ahead of time, and an optional hiring cap: `AgentTools([worker1, worker2, ...], { maxHired: 2 })`. Give the result to your planner agent so it can list, hire, and prompt those workers as sub-agents; give each worker its own `AgentReportTool()` so it can hand a result back and stop. Full walkthrough in the [docs](./docs/agents.md#multi-agent-workeragent-experimental).
|
|
258
|
+
|
|
259
|
+
| Tool | Purpose |
|
|
260
|
+
|---|---|
|
|
261
|
+
| `agent-list` | List every worker in the roster — name, description, rating, hired status. |
|
|
262
|
+
| `agent-hire` | Hire a worker by name, making it eligible for `agent-prompt`. |
|
|
263
|
+
| `agent-prompt` | Send a prompt to a hired worker and return its response once it's done. |
|
|
264
|
+
|
|
239
265
|
## Available Skills
|
|
240
266
|
|
|
241
267
|
A `Skill` bundles instructions with the tools that go with them. Passing a skill into an agent adds its tools automatically and folds its instructions into the system prompt.
|
|
@@ -42,6 +42,16 @@ export interface Message {
|
|
|
42
42
|
toolCallId?: string;
|
|
43
43
|
/** Present on tool-role messages responding to a native tool call — the tool name being answered. */
|
|
44
44
|
toolName?: string;
|
|
45
|
+
/** Accumulated reasoning/thinking text the model produced before its final answer, when `thinkEffort` was set on the provider and it supports surfacing thinking (see `ProviderCapabilities.supportsThinking`). Informational only — not required to be resent to the provider. */
|
|
46
|
+
thinking?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Opaque, provider-specific thinking content (e.g. Anthropic's signed
|
|
49
|
+
* `thinking` content blocks) that MUST be replayed verbatim on the next
|
|
50
|
+
* turn for providers that validate it — needed when an assistant turn
|
|
51
|
+
* mixed thinking with a native tool call. BaseAgent carries this through
|
|
52
|
+
* untouched; only the provider that produced it interprets it.
|
|
53
|
+
*/
|
|
54
|
+
providerThinking?: any[];
|
|
45
55
|
}
|
|
46
56
|
export interface ChatResponse {
|
|
47
57
|
content: string;
|
|
@@ -49,17 +59,35 @@ export interface ChatResponse {
|
|
|
49
59
|
outputTokens: number;
|
|
50
60
|
/** Native tool calls requested by the model, when the provider supports native tool-calling and tools were supplied. */
|
|
51
61
|
toolCalls?: ToolCallRequest[];
|
|
62
|
+
/** Accumulated reasoning/thinking text produced this turn, when thinking was requested and the provider can surface it. See `Message.thinking`. */
|
|
63
|
+
thinking?: string;
|
|
64
|
+
/** Opaque provider-specific thinking content to carry forward — see `Message.providerThinking`. */
|
|
65
|
+
providerThinking?: any[];
|
|
52
66
|
}
|
|
53
67
|
export type StreamCallback = (chunk: {
|
|
54
68
|
role: "assistant" | "tool" | "user";
|
|
55
69
|
content: string;
|
|
56
70
|
done: boolean;
|
|
57
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* A tool call the model requested this turn. Emitted incrementally, as
|
|
73
|
+
* a single-element array, the moment *that one call* finishes
|
|
74
|
+
* generating — mid-stream, before the rest of the turn (more tool
|
|
75
|
+
* calls, or trailing text) has necessarily finished. Purely
|
|
76
|
+
* observational: it lets a consumer show "the model decided to call X"
|
|
77
|
+
* as it happens. It does not affect when the call is actually
|
|
78
|
+
* dispatched — `BaseAgent` still waits for the whole turn to finish and
|
|
79
|
+
* dispatches from `ChatResponse.toolCalls` (the full, aggregated list),
|
|
80
|
+
* regardless of what streamed through here. Not resent on the final
|
|
81
|
+
* `done: true` chunk — every call was already streamed individually by
|
|
82
|
+
* the time that chunk arrives, so it would just be a duplicate.
|
|
83
|
+
*/
|
|
58
84
|
toolCalls?: ToolCallRequest[];
|
|
59
85
|
/** Present on "tool"-role chunks — the id of the native tool call this result answers. */
|
|
60
86
|
toolCallId?: string;
|
|
61
87
|
/** Present on "tool"-role chunks — the name of the tool that was called. */
|
|
62
88
|
toolName?: string;
|
|
89
|
+
/** 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
|
+
thinking?: string;
|
|
63
91
|
}) => Promise<void> | void;
|
|
64
92
|
/**
|
|
65
93
|
* Static capability + limits description for a provider/model pair. This
|
|
@@ -77,6 +105,8 @@ export interface ProviderCapabilities {
|
|
|
77
105
|
contextWindow: number;
|
|
78
106
|
/** 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. */
|
|
79
107
|
safeUsageRatio?: number;
|
|
108
|
+
/** 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
|
+
supportsThinking?: boolean;
|
|
80
110
|
}
|
|
81
111
|
export declare abstract class AIProvider {
|
|
82
112
|
abstract chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[]): Promise<ChatResponse>;
|
|
@@ -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;
|
|
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":"AAgHA,MAAM,OAAgB,UAAU;CAS/B;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare class AnthropicProvider extends AIProvider {
|
|
|
7
7
|
supportsImages?: boolean;
|
|
8
8
|
contextWindow?: number;
|
|
9
9
|
maxTokens?: number;
|
|
10
|
+
thinkEffort?: number;
|
|
10
11
|
});
|
|
11
12
|
getCapabilities(): ProviderCapabilities;
|
|
12
13
|
chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[]): Promise<ChatResponse>;
|
|
@@ -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;AAyH1C,qBAAa,iBAAkB,SAAQ,UAAU;;gBAUjC,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,CAAA;KAAO;IAWpM,eAAe,IAAI,oBAAoB;IAUjC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,YAAY,CAAC;CAgJ3B;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -10,6 +10,17 @@ const MODEL_CONTEXT_WINDOWS = {
|
|
|
10
10
|
"claude-mythos-5": 200_000,
|
|
11
11
|
};
|
|
12
12
|
const DEFAULT_CONTEXT_WINDOW = 200_000;
|
|
13
|
+
// Anthropic's extended thinking takes a numeric token budget rather than a
|
|
14
|
+
// low/medium/high enum, so the universal 0-1 `thinkEffort` is mapped onto a
|
|
15
|
+
// budget range instead of going through resolveThinkEffortLevel(). The
|
|
16
|
+
// range scales off the configured `maxTokens` so a bigger output budget
|
|
17
|
+
// also buys a bigger thinking budget at the same effort value.
|
|
18
|
+
const MIN_THINKING_BUDGET_TOKENS = 1024;
|
|
19
|
+
function resolveThinkingBudget(effort, baseMaxTokens) {
|
|
20
|
+
const clamped = Math.max(0, Math.min(1, effort));
|
|
21
|
+
const ceiling = Math.max(MIN_THINKING_BUDGET_TOKENS, baseMaxTokens * 4);
|
|
22
|
+
return Math.round(MIN_THINKING_BUDGET_TOKENS + clamped * (ceiling - MIN_THINKING_BUDGET_TOKENS));
|
|
23
|
+
}
|
|
13
24
|
/**
|
|
14
25
|
* Anthropic keeps `system` out of the messages array entirely, and encodes
|
|
15
26
|
* tool calls/results as content blocks (`tool_use` on assistant turns,
|
|
@@ -44,6 +55,12 @@ function toAnthropicMessages(messages) {
|
|
|
44
55
|
}
|
|
45
56
|
if (msg.role === "assistant" && msg.toolCalls?.length) {
|
|
46
57
|
const content = [];
|
|
58
|
+
// Extended thinking requires the signed thinking block(s) from
|
|
59
|
+
// this exact turn to be replayed before the tool_use blocks on
|
|
60
|
+
// any subsequent request that includes it — otherwise the API
|
|
61
|
+
// rejects the request. See Message.providerThinking.
|
|
62
|
+
if (msg.providerThinking?.length)
|
|
63
|
+
content.push(...msg.providerThinking);
|
|
47
64
|
if (msg.content)
|
|
48
65
|
content.push({ type: "text", text: msg.content });
|
|
49
66
|
for (const tc of msg.toolCalls) {
|
|
@@ -85,6 +102,18 @@ function textFromAnthropicContent(content) {
|
|
|
85
102
|
.map((block) => block.text)
|
|
86
103
|
.join("");
|
|
87
104
|
}
|
|
105
|
+
/** Extract raw thinking blocks (to carry forward via Message.providerThinking) and their concatenated text, from a non-streaming response's content array. */
|
|
106
|
+
function thinkingFromAnthropicContent(content) {
|
|
107
|
+
if (!content)
|
|
108
|
+
return { text: "" };
|
|
109
|
+
const blocks = content.filter((block) => block.type === "thinking" || block.type === "redacted_thinking");
|
|
110
|
+
if (blocks.length === 0)
|
|
111
|
+
return { text: "" };
|
|
112
|
+
return {
|
|
113
|
+
text: blocks.map((b) => b.thinking || "").join(""),
|
|
114
|
+
blocks,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
88
117
|
export class AnthropicProvider extends AIProvider {
|
|
89
118
|
#client;
|
|
90
119
|
#model;
|
|
@@ -92,6 +121,8 @@ export class AnthropicProvider extends AIProvider {
|
|
|
92
121
|
#supportsImages;
|
|
93
122
|
#contextWindow;
|
|
94
123
|
#maxTokens;
|
|
124
|
+
/** Universal 0-1 thinking effort — see src/core/think-effort.ts. Mapped onto Anthropic's numeric thinking-token budget in #chat. */
|
|
125
|
+
#thinkEffort;
|
|
95
126
|
constructor(apiKey, model = "claude-sonnet-5", options = {}) {
|
|
96
127
|
super();
|
|
97
128
|
this.#client = new Anthropic({ apiKey });
|
|
@@ -100,6 +131,7 @@ export class AnthropicProvider extends AIProvider {
|
|
|
100
131
|
this.#supportsImages = options.supportsImages ?? true;
|
|
101
132
|
this.#contextWindow = options.contextWindow ?? MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW;
|
|
102
133
|
this.#maxTokens = options.maxTokens ?? 4096;
|
|
134
|
+
this.#thinkEffort = options.thinkEffort;
|
|
103
135
|
}
|
|
104
136
|
getCapabilities() {
|
|
105
137
|
return {
|
|
@@ -107,6 +139,7 @@ export class AnthropicProvider extends AIProvider {
|
|
|
107
139
|
supportsImages: this.#supportsImages,
|
|
108
140
|
contextWindow: this.#contextWindow,
|
|
109
141
|
safeUsageRatio: 0.5,
|
|
142
|
+
supportsThinking: true,
|
|
110
143
|
};
|
|
111
144
|
}
|
|
112
145
|
async chat(messages, streamCallback, tools) {
|
|
@@ -114,6 +147,15 @@ export class AnthropicProvider extends AIProvider {
|
|
|
114
147
|
const formattedTools = tools && tools.length > 0 && this.#supportsTools
|
|
115
148
|
? toAnthropicTools(tools)
|
|
116
149
|
: undefined;
|
|
150
|
+
const thinkingBudget = this.#thinkEffort !== undefined
|
|
151
|
+
? resolveThinkingBudget(this.#thinkEffort, this.#maxTokens)
|
|
152
|
+
: undefined;
|
|
153
|
+
// max_tokens must exceed the thinking budget, so it's added on top
|
|
154
|
+
// of the configured output budget rather than eating into it.
|
|
155
|
+
const effectiveMaxTokens = thinkingBudget !== undefined ? this.#maxTokens + thinkingBudget : this.#maxTokens;
|
|
156
|
+
const thinkingParam = thinkingBudget !== undefined
|
|
157
|
+
? { thinking: { type: "enabled", budget_tokens: thinkingBudget } }
|
|
158
|
+
: {};
|
|
117
159
|
if (streamCallback) {
|
|
118
160
|
return withRetry(async () => {
|
|
119
161
|
// Per-attempt accumulators live inside this closure so a
|
|
@@ -121,10 +163,11 @@ export class AnthropicProvider extends AIProvider {
|
|
|
121
163
|
// into a retry's output — each attempt starts clean.
|
|
122
164
|
const stream = await this.#client.messages.create({
|
|
123
165
|
model: this.#model,
|
|
124
|
-
max_tokens:
|
|
166
|
+
max_tokens: effectiveMaxTokens,
|
|
125
167
|
...(system ? { system } : {}),
|
|
126
168
|
messages: formattedMessages,
|
|
127
169
|
...(formattedTools ? { tools: formattedTools } : {}),
|
|
170
|
+
...thinkingParam,
|
|
128
171
|
stream: true,
|
|
129
172
|
});
|
|
130
173
|
let fullContent = "";
|
|
@@ -135,6 +178,11 @@ export class AnthropicProvider extends AIProvider {
|
|
|
135
178
|
// so the partial JSON has to be accumulated per block index
|
|
136
179
|
// the same way OpenAI's function-call arguments are.
|
|
137
180
|
const toolBlocks = {};
|
|
181
|
+
// Thinking blocks stream the same way: a start event, then
|
|
182
|
+
// incremental thinking_delta (text) and signature_delta
|
|
183
|
+
// (the cryptographic signature Anthropic requires replayed
|
|
184
|
+
// verbatim alongside a tool_use in the same turn).
|
|
185
|
+
const thinkingBlocks = {};
|
|
138
186
|
for await (const event of stream) {
|
|
139
187
|
if (event.type === "content_block_start") {
|
|
140
188
|
if (event.content_block?.type === "tool_use") {
|
|
@@ -144,6 +192,9 @@ export class AnthropicProvider extends AIProvider {
|
|
|
144
192
|
inputJson: "",
|
|
145
193
|
};
|
|
146
194
|
}
|
|
195
|
+
if (event.content_block?.type === "thinking") {
|
|
196
|
+
thinkingBlocks[event.index] = { type: "thinking", thinking: "", signature: "" };
|
|
197
|
+
}
|
|
147
198
|
}
|
|
148
199
|
if (event.type === "content_block_delta") {
|
|
149
200
|
if (event.delta?.type === "text_delta" && event.delta.text) {
|
|
@@ -153,6 +204,27 @@ export class AnthropicProvider extends AIProvider {
|
|
|
153
204
|
if (event.delta?.type === "input_json_delta" && toolBlocks[event.index]) {
|
|
154
205
|
toolBlocks[event.index].inputJson += event.delta.partial_json || "";
|
|
155
206
|
}
|
|
207
|
+
if (event.delta?.type === "thinking_delta" && thinkingBlocks[event.index]) {
|
|
208
|
+
thinkingBlocks[event.index].thinking += event.delta.thinking || "";
|
|
209
|
+
await streamCallback({ role: "assistant", content: "", done: false, thinking: event.delta.thinking || "" });
|
|
210
|
+
}
|
|
211
|
+
if (event.delta?.type === "signature_delta" && thinkingBlocks[event.index]) {
|
|
212
|
+
thinkingBlocks[event.index].signature += event.delta.signature || "";
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// A tool_use block is fully formed the moment Anthropic
|
|
216
|
+
// closes it — unlike OpenAI/DeepSeek there's no need to
|
|
217
|
+
// infer completion from the next block starting.
|
|
218
|
+
if (event.type === "content_block_stop" && toolBlocks[event.index]) {
|
|
219
|
+
const tb = toolBlocks[event.index];
|
|
220
|
+
let inputs = {};
|
|
221
|
+
try {
|
|
222
|
+
inputs = JSON.parse(tb.inputJson || "{}");
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
inputs = {};
|
|
226
|
+
}
|
|
227
|
+
await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [{ id: tb.id || "", name: tb.name || "", inputs }] });
|
|
156
228
|
}
|
|
157
229
|
if (event.type === "message_start") {
|
|
158
230
|
inputTokens = event.message?.usage?.input_tokens || 0;
|
|
@@ -175,12 +247,16 @@ export class AnthropicProvider extends AIProvider {
|
|
|
175
247
|
return { id: tb.id || "", name: tb.name || "", inputs };
|
|
176
248
|
})
|
|
177
249
|
: undefined;
|
|
178
|
-
|
|
250
|
+
const providerThinking = Object.keys(thinkingBlocks).length > 0 ? Object.values(thinkingBlocks) : undefined;
|
|
251
|
+
const thinkingText = providerThinking?.map(b => b.thinking).join("");
|
|
252
|
+
await streamCallback({ role: "assistant", content: "", done: true });
|
|
179
253
|
return {
|
|
180
254
|
content: fullContent,
|
|
181
255
|
inputTokens,
|
|
182
256
|
outputTokens,
|
|
183
257
|
...(toolCalls ? { toolCalls } : {}),
|
|
258
|
+
...(thinkingText ? { thinking: thinkingText } : {}),
|
|
259
|
+
...(providerThinking ? { providerThinking } : {}),
|
|
184
260
|
};
|
|
185
261
|
});
|
|
186
262
|
}
|
|
@@ -188,17 +264,21 @@ export class AnthropicProvider extends AIProvider {
|
|
|
188
264
|
return withRetry(async () => {
|
|
189
265
|
const response = await this.#client.messages.create({
|
|
190
266
|
model: this.#model,
|
|
191
|
-
max_tokens:
|
|
267
|
+
max_tokens: effectiveMaxTokens,
|
|
192
268
|
...(system ? { system } : {}),
|
|
193
269
|
messages: formattedMessages,
|
|
194
270
|
...(formattedTools ? { tools: formattedTools } : {}),
|
|
271
|
+
...thinkingParam,
|
|
195
272
|
});
|
|
196
273
|
const toolCalls = fromAnthropicToolCalls(response.content);
|
|
274
|
+
const { text: thinkingText, blocks: providerThinking } = thinkingFromAnthropicContent(response.content);
|
|
197
275
|
return {
|
|
198
276
|
content: textFromAnthropicContent(response.content),
|
|
199
277
|
inputTokens: response.usage?.input_tokens || 0,
|
|
200
278
|
outputTokens: response.usage?.output_tokens || 0,
|
|
201
279
|
...(toolCalls ? { toolCalls } : {}),
|
|
280
|
+
...(thinkingText ? { thinking: thinkingText } : {}),
|
|
281
|
+
...(providerThinking ? { providerThinking } : {}),
|
|
202
282
|
};
|
|
203
283
|
});
|
|
204
284
|
}
|
|
@@ -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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"}
|
|
@@ -35,6 +35,9 @@ export declare class BaseAgent {
|
|
|
35
35
|
currentInputMissTokens: number;
|
|
36
36
|
currentInputHitTokens: number;
|
|
37
37
|
currentOutputTokens: number;
|
|
38
|
+
/** Optional so snapshots taken before image-usage tracking existed still load — missing values default to 0. */
|
|
39
|
+
imageInputMissTokens?: number;
|
|
40
|
+
imageOutputTokens?: number;
|
|
38
41
|
};
|
|
39
42
|
});
|
|
40
43
|
stop(): Promise<void>;
|
|
@@ -50,7 +53,10 @@ export declare class BaseAgent {
|
|
|
50
53
|
currentInputMissTokens: number;
|
|
51
54
|
currentInputHitTokens: number;
|
|
52
55
|
currentOutputTokens: number;
|
|
56
|
+
imageInputMissTokens: number;
|
|
57
|
+
imageOutputTokens: number;
|
|
53
58
|
};
|
|
59
|
+
/** Lifetime total across the main loop (current + all prior compacted segments) AND every ImageDescriber call this agent has made. */
|
|
54
60
|
getTotalTokens(): {
|
|
55
61
|
total: number;
|
|
56
62
|
inputHit: number;
|
|
@@ -63,6 +69,13 @@ export declare class BaseAgent {
|
|
|
63
69
|
inputMiss: number;
|
|
64
70
|
output: number;
|
|
65
71
|
};
|
|
72
|
+
/** Usage from ImageDescriber calls only (see #resolveToolOutputForModel) — not included in getCurrentTotalTokens()/getFullTotalTokens() since it isn't part of the main loop's current/full split, but it IS folded into getTotalTokens()'s grand total. Each call is a fresh, standalone chat, so there's no hit/miss split to make — inputHit is always 0, every input token counts as inputMiss. */
|
|
73
|
+
getImageTotalTokens(): {
|
|
74
|
+
total: number;
|
|
75
|
+
inputHit: number;
|
|
76
|
+
inputMiss: number;
|
|
77
|
+
output: number;
|
|
78
|
+
};
|
|
66
79
|
getFullTotalTokens(): {
|
|
67
80
|
total: number;
|
|
68
81
|
inputHit: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/core/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAE,cAAc,EAA+B,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/core/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAE,cAAc,EAA+B,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AA2BhD,qBAAa,SAAS;;gBA0CN,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAUC,EACD,MAAW,EACX,gBAAgB,GACnB,EAAE;QACC,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,UAAU,EAAE,mBAAmB,CAAC;QAChC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,0NAA0N;QAC1N,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,OAAO,EAAE,CAAC;YACxB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,gBAAgB,EAAE,MAAM,CAAC;YACzB,eAAe,EAAE,OAAO,EAAE,CAAC;YAC3B,sBAAsB,EAAE,MAAM,CAAC;YAC/B,qBAAqB,EAAE,MAAM,CAAC;YAC9B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,gHAAgH;YAChH,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC9B,CAAA;KACJ;IA6IK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0HzE,4QAA4Q;IAC5Q,qBAAqB;;;;;;;;;;;;;IAerB,sIAAsI;IACtI,cAAc;;;;;;IASd,qBAAqB;;;;;;IASrB,uYAAuY;IACvY,mBAAmB;;;;;;IASnB,kBAAkB;;;;;;CAQrB;AAED,eAAe,SAAS,CAAC"}
|