orchajs 0.1.0-next.1 → 0.1.0-next.3

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.
Files changed (42) hide show
  1. package/README.md +41 -1
  2. package/dist/cli.js +0 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/compiler/compile.d.ts.map +1 -1
  5. package/dist/compiler/compile.js +7 -6
  6. package/dist/compiler/compile.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/providers/anthropic.d.ts +2 -18
  10. package/dist/providers/anthropic.d.ts.map +1 -1
  11. package/dist/providers/anthropic.js +264 -62
  12. package/dist/providers/anthropic.js.map +1 -1
  13. package/dist/providers/index.d.ts +5 -0
  14. package/dist/providers/index.d.ts.map +1 -0
  15. package/dist/providers/index.js +18 -0
  16. package/dist/providers/index.js.map +1 -0
  17. package/dist/providers/openai.d.ts +3 -0
  18. package/dist/providers/openai.d.ts.map +1 -0
  19. package/dist/providers/openai.js +296 -0
  20. package/dist/providers/openai.js.map +1 -0
  21. package/dist/providers/sse.d.ts +2 -0
  22. package/dist/providers/sse.d.ts.map +1 -0
  23. package/dist/providers/sse.js +58 -0
  24. package/dist/providers/sse.js.map +1 -0
  25. package/dist/providers/types.d.ts +65 -0
  26. package/dist/providers/types.d.ts.map +1 -0
  27. package/dist/providers/types.js +2 -0
  28. package/dist/providers/types.js.map +1 -0
  29. package/dist/runtime/agent.d.ts.map +1 -1
  30. package/dist/runtime/agent.js +79 -69
  31. package/dist/runtime/agent.js.map +1 -1
  32. package/dist/runtime/execution.d.ts +4 -0
  33. package/dist/runtime/execution.d.ts.map +1 -0
  34. package/dist/runtime/execution.js +69 -0
  35. package/dist/runtime/execution.js.map +1 -0
  36. package/dist/runtime/session-events.d.ts +3 -4
  37. package/dist/runtime/session-events.d.ts.map +1 -1
  38. package/dist/runtime/session-events.js +143 -2
  39. package/dist/runtime/session-events.js.map +1 -1
  40. package/dist/types.d.ts +10 -2
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -147,6 +147,15 @@ import { orcha } from 'orchajs';
147
147
  const execution = orcha.exampleAgent.run({
148
148
  content: 'Help me understand this invoice'
149
149
  });
150
+
151
+ // Native ReadableStream frames contain the complete output generated so far.
152
+ for await (const snapshot of execution.stream) {
153
+ console.log(snapshot);
154
+ }
155
+
156
+ // The latest cumulative snapshot is also available without consuming the stream.
157
+ console.log(execution.snapshot);
158
+
150
159
  const result = await execution.result;
151
160
 
152
161
  // Every later conversational turn uses the returned sessionId.
@@ -157,10 +166,41 @@ const followUp = await orcha.exampleAgent.resume(result.sessionId, {
157
166
 
158
167
  Registered agents are exposed as `orcha.<agentName>`. The first implementation
159
168
  supports durable Node.js runs backed by `.orcha/sessions/<sessionId>.jsonl`.
160
- Client-action pause/resume is supported; local actions and streaming follow.
169
+ Client-action pause/resume, compiled local actions, and cumulative output
170
+ streaming are supported.
161
171
  `run()` always starts a new session; `resume()` continues one with either a new
162
172
  message or pending client tool results.
163
173
 
174
+ Orcha owns its built-in provider adapters. Messages, tool calls and results,
175
+ streaming snapshots, usage, and errors are normalized before reaching the
176
+ runtime, so application and action APIs do not change when an agent switches
177
+ providers. Provider-specific capabilities that cannot be represented safely
178
+ fail with an explicit Orcha error instead of silently degrading.
179
+
180
+ Anthropic and OpenAI Responses are built in:
181
+
182
+ ```js
183
+ orcha.init({
184
+ providers: {
185
+ anthropic: process.env.ANTHROPIC_API_KEY,
186
+ openai: process.env.OPENAI_API_KEY,
187
+ },
188
+ agents: {
189
+ invoiceAgent: "./invoiceAgent",
190
+ },
191
+ });
192
+ ```
193
+
194
+ Choose the adapter and model in the agent's `index.json`:
195
+
196
+ ```json
197
+ {
198
+ "provider": "openai",
199
+ "model": "gpt-5",
200
+ "outputType": "text"
201
+ }
202
+ ```
203
+
164
204
  Both methods accept text shorthand:
165
205
 
166
206
  ```js
package/dist/cli.js CHANGED
@@ -30,7 +30,6 @@ async function initializeProject(projectRoot) {
30
30
  model: "claude-sonnet-4-6",
31
31
  region: "provider_managed",
32
32
  maxTokens: 1024,
33
- reasoningLevel: "disabled",
34
33
  outputType: "text",
35
34
  }, null, 2)}\n`,
36
35
  ],
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,IAAI,CAAC;IACH,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiB;QACpC;YACE,+BAA+B;YAC/B,GAAG,IAAI,CAAC,SAAS,CACf;gBACE,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,MAAM;aACnB,EACD,IAAI,EACJ,CAAC,CACF,IAAI;SACN;QACD;YACE,oCAAoC;YACpC,4CAA4C;SAC7C;QACD;YACE,gBAAgB;YAChB;gBACE,kCAAkC;gBAClC,EAAE;gBACF,cAAc;gBACd,gBAAgB;gBAChB,uDAAuD;gBACvD,MAAM;gBACN,aAAa;gBACb,uCAAuC;gBACvC,MAAM;gBACN,KAAK;gBACL,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CACT,gHAAgH,CACjH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,WAAmB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAElE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC,CAAC,wBAAwB,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,aAAa,CAAC;AAIrB,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,GACnC,cAAc,CAgHhB;AAmKD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAO9D"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,GACnC,cAAc,CAiHhB;AAmKD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAO9D"}
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { existsSync, readFileSync, readdirSync } from "node:fs";
3
3
  import { resolve } from "node:path";
4
4
  import { buildSync } from "esbuild";
5
- const SUPPORTED_PROVIDERS = new Set(["anthropic"]);
5
+ import { isBuiltInProvider } from "../providers/index.js";
6
6
  export function compileRegistry(registrations, registryRoot, actionRuntime) {
7
7
  if (!registrations ||
8
8
  typeof registrations !== "object" ||
@@ -26,7 +26,7 @@ export function compileRegistry(registrations, registryRoot, actionRuntime) {
26
26
  catch (error) {
27
27
  throw new Error(`Agent "${name}" is missing a valid index.json at ${configPath}.`, { cause: error });
28
28
  }
29
- if (!SUPPORTED_PROVIDERS.has(configuration.provider)) {
29
+ if (!isBuiltInProvider(configuration.provider)) {
30
30
  throw new Error(`Agent "${name}" uses unsupported provider "${configuration.provider}".`);
31
31
  }
32
32
  if (!configuration.model?.trim()) {
@@ -40,9 +40,10 @@ export function compileRegistry(registrations, registryRoot, actionRuntime) {
40
40
  !["text", "json", "image", "audio"].includes(configuration.outputType)) {
41
41
  throw new Error(`Agent "${name}" has an invalid outputType.`);
42
42
  }
43
- if (configuration.reasoningLevel &&
44
- !["disabled", "low", "medium", "high"].includes(configuration.reasoningLevel)) {
45
- throw new Error(`Agent "${name}" has an invalid reasoningLevel.`);
43
+ if (configuration.reasoningLevel !== undefined &&
44
+ (typeof configuration.reasoningLevel !== "string" ||
45
+ !configuration.reasoningLevel.trim())) {
46
+ throw new Error(`Agent "${name}" reasoningLevel must be a non-empty string.`);
46
47
  }
47
48
  if (!["text", "json"].includes(configuration.outputType ?? "text")) {
48
49
  throw new Error(`Agent "${name}" outputType "${configuration.outputType}" is not implemented yet.`);
@@ -70,7 +71,7 @@ export function compileRegistry(registrations, registryRoot, actionRuntime) {
70
71
  systemPrompt,
71
72
  region: configuration.region,
72
73
  maxTokens: configuration.maxTokens,
73
- reasoningLevel: configuration.reasoningLevel ?? "disabled",
74
+ reasoningLevel: configuration.reasoningLevel,
74
75
  outputType: configuration.outputType ?? "text",
75
76
  outputSchema: configuration.outputSchema,
76
77
  actions: compileActions(name, sourceDirectory),
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export { orcha } from "./orcha.js";
2
2
  export { OrchaError } from "./errors.js";
3
3
  export type { Orcha, OrchaClient } from "./orcha.js";
4
4
  export { NodeJsonlSessionStore } from "./storage/node-jsonl.js";
5
- export type { ActionConfiguration, AgentContinueInput, AgentConfiguration, AgentInput, AgentRuntime, ClientCapability, ClientToolCall, CompletedRunResult, CompiledActionManifest, CompiledAgentManifest, CompiledBundle, Execution, FailedRunResult, FileContent, LocalActionRuntimeConfiguration, MessageContent, MetadataValue, OrchaErrorCode, OrchaInitConfiguration, PaginationOptions, ProjectConfiguration, RunError, RunStatus, ResumeInput, RunResult, SessionEvent, SessionEventType, SessionHistory, SessionHistoryItem, SessionList, SessionListOptions, SessionMetadata, SessionSnapshot, SessionStatus, SessionStore, SessionUpdate, TextContent, ToolResult, ToolResumeInput, Usage, WaitingRunResult, } from "./types.js";
5
+ export type { ActionConfiguration, AgentContinueInput, AgentConfiguration, AgentInput, AgentRuntime, ClientCapability, ClientToolCall, CompletedRunResult, CompiledActionManifest, CompiledAgentManifest, CompiledBundle, Execution, ExecutionSnapshot, FailedRunResult, FileContent, LocalActionRuntimeConfiguration, MessageContent, MetadataValue, OrchaErrorCode, OrchaInitConfiguration, PaginationOptions, ProjectConfiguration, RunError, RunStatus, ResumeInput, RunResult, SessionEvent, SessionEventType, SessionHistory, SessionHistoryItem, SessionList, SessionListOptions, SessionMetadata, SessionSnapshot, SessionStatus, SessionStore, SessionUpdate, StreamingRunSnapshot, TextContent, ToolResult, ToolResumeInput, Usage, WaitingRunResult, } from "./types.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,KAAK,EACL,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,eAAe,EACf,KAAK,EACL,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -1,8 +1,4 @@
1
- import type { CompiledAgentManifest, ProviderConfiguration, Usage } from "../types.js";
2
- export interface AnthropicMessage {
3
- role: "user" | "assistant";
4
- content: string | unknown[];
5
- }
1
+ import type { ProviderAdapter } from "./types.js";
6
2
  export interface AnthropicContentBlock {
7
3
  type: string;
8
4
  text?: string;
@@ -14,17 +10,5 @@ export interface AnthropicContentBlock {
14
10
  input?: Record<string, unknown>;
15
11
  [key: string]: unknown;
16
12
  }
17
- export interface ModelResponse {
18
- output: unknown;
19
- responseId?: string;
20
- stopReason?: string | null;
21
- content: AnthropicContentBlock[];
22
- toolCalls: Array<{
23
- callId: string;
24
- name: string;
25
- arguments: Record<string, unknown>;
26
- }>;
27
- usage: Usage;
28
- }
29
- export declare function callAnthropic(agent: CompiledAgentManifest, provider: ProviderConfiguration, messages: AnthropicMessage[], toolNames?: string[], prompt?: string): Promise<ModelResponse>;
13
+ export declare const anthropicProvider: ProviderAdapter;
30
14
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,EACN,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAiBD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,SAAS,GAAE,MAAM,EAAO,EACxB,MAAM,SAAqB,GAC1B,OAAO,CAAC,aAAa,CAAC,CA4FxB"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EAQhB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAiBD,eAAO,MAAM,iBAAiB,EAAE,eAG/B,CAAC"}
@@ -1,26 +1,32 @@
1
1
  import { OrchaError } from "../errors.js";
2
2
  import { parseStructuredOutput } from "../runtime/structured-output.js";
3
- export async function callAnthropic(agent, provider, messages, toolNames = [], prompt = agent.systemPrompt) {
3
+ import { readServerSentEvents } from "./sse.js";
4
+ export const anthropicProvider = {
5
+ name: "anthropic",
6
+ generate: generateAnthropic,
7
+ };
8
+ async function generateAnthropic(provider, request) {
4
9
  if (!provider.apiKey?.trim()) {
5
10
  throw new Error('Missing Anthropic API key in orcha.init({ providers: { anthropic: "..." } }).');
6
11
  }
7
- const reasoning = getReasoningConfiguration(agent);
8
- const systemPrompt = agent.outputType === "json"
9
- ? `${prompt}\n\nReturn only valid JSON matching this JSON Schema:\n${JSON.stringify(agent.outputSchema)}`
10
- : prompt;
12
+ if (request.outputType === "image" || request.outputType === "audio") {
13
+ throw new OrchaError("unsupported_provider_capability", `Anthropic does not support "${request.outputType}" agent output.`);
14
+ }
15
+ const reasoning = getReasoningConfiguration(request);
16
+ const systemPrompt = request.outputType === "json"
17
+ ? `${request.systemPrompt}\n\nReturn only valid JSON matching this JSON Schema:\n${JSON.stringify(request.outputSchema)}`
18
+ : request.systemPrompt;
11
19
  const requestBody = {
12
- model: agent.model,
20
+ model: request.model,
13
21
  max_tokens: reasoning.maxTokens,
14
22
  system: systemPrompt,
15
- messages: toAnthropicMessages(messages),
23
+ messages: toAnthropicMessages(request.messages),
24
+ ...(request.publishOutput ? { stream: true } : {}),
16
25
  };
17
- const tools = toolNames
18
- .map((name) => agent.actions[name])
19
- .filter((action) => action !== undefined)
20
- .map((action) => ({
21
- name: action.name,
22
- description: action.description,
23
- input_schema: action.parameters,
26
+ const tools = request.tools.map((tool) => ({
27
+ name: tool.name,
28
+ description: tool.description,
29
+ input_schema: tool.parameters,
24
30
  }));
25
31
  if (tools.length > 0) {
26
32
  requestBody.tools = tools;
@@ -40,31 +46,34 @@ export async function callAnthropic(agent, provider, messages, toolNames = [], p
40
46
  },
41
47
  body: JSON.stringify(requestBody),
42
48
  });
43
- const body = (await response.json());
44
49
  if (!response.ok) {
50
+ const body = (await response.json());
45
51
  throw new Error(body.error?.message ?? `Anthropic request failed with HTTP ${response.status}.`);
46
52
  }
47
- const content = body.content ?? [];
53
+ const body = response.headers
54
+ .get("content-type")
55
+ ?.includes("text/event-stream")
56
+ ? await readAnthropicStream(response, request.publishOutput)
57
+ : (await response.json());
58
+ return toProviderResponse(request, body);
59
+ }
60
+ function toProviderResponse(request, body) {
61
+ const content = (body.content ?? []).map(toProviderContentBlock);
48
62
  const textOutput = content
49
- .filter((item) => item.type === "text" && typeof item.text === "string")
63
+ .filter((item) => item.type === "text")
50
64
  .map((item) => item.text)
51
65
  .join("");
52
- const toolCalls = content.flatMap((item) => item.type === "tool_use" && item.id && item.name
53
- ? [
54
- {
55
- callId: item.id,
56
- name: item.name,
57
- arguments: item.input ?? {},
58
- },
59
- ]
60
- : []);
61
- const output = agent.outputType === "json" && toolCalls.length === 0
62
- ? parseStructuredOutput(textOutput, agent.outputSchema ?? {})
66
+ const toolCalls = content.filter((item) => item.type === "tool_call");
67
+ const output = request.outputType === "json" && toolCalls.length === 0
68
+ ? parseStructuredOutput(textOutput, request.outputSchema ?? {})
63
69
  : textOutput;
70
+ if (textOutput && request.publishOutput) {
71
+ request.publishOutput(textOutput);
72
+ }
64
73
  return {
65
74
  output,
66
75
  responseId: body.id,
67
- stopReason: body.stop_reason,
76
+ stopReason: normalizeStopReason(body.stop_reason),
68
77
  content,
69
78
  toolCalls,
70
79
  usage: {
@@ -76,9 +85,227 @@ export async function callAnthropic(agent, provider, messages, toolNames = [], p
76
85
  },
77
86
  };
78
87
  }
88
+ function normalizeStopReason(reason) {
89
+ if (reason === undefined || reason === null) {
90
+ return undefined;
91
+ }
92
+ if (reason === "end_turn" || reason === "stop_sequence") {
93
+ return "end_turn";
94
+ }
95
+ if (reason === "tool_use") {
96
+ return "tool_call";
97
+ }
98
+ if (reason === "max_tokens") {
99
+ return "max_tokens";
100
+ }
101
+ if (reason === "refusal") {
102
+ return "content_filter";
103
+ }
104
+ return "unknown";
105
+ }
106
+ function toProviderContentBlock(block) {
107
+ if (block.type === "text" && typeof block.text === "string") {
108
+ return { type: "text", text: block.text };
109
+ }
110
+ if (block.type === "thinking" && typeof block.thinking === "string") {
111
+ return {
112
+ type: "reasoning",
113
+ text: block.thinking,
114
+ provider: "anthropic",
115
+ ...(typeof block.signature === "string"
116
+ ? { opaqueData: block.signature }
117
+ : {}),
118
+ };
119
+ }
120
+ if (block.type === "redacted_thinking" && typeof block.data === "string") {
121
+ return {
122
+ type: "reasoning",
123
+ text: "",
124
+ provider: "anthropic",
125
+ opaqueData: block.data,
126
+ };
127
+ }
128
+ if (block.type === "tool_use" &&
129
+ typeof block.id === "string" &&
130
+ typeof block.name === "string") {
131
+ return {
132
+ type: "tool_call",
133
+ callId: block.id,
134
+ name: block.name,
135
+ arguments: block.input ?? {},
136
+ };
137
+ }
138
+ throw new Error(`Anthropic returned unsupported content block "${block.type}".`);
139
+ }
140
+ async function readAnthropicStream(response, publishOutput) {
141
+ const body = {
142
+ content: [],
143
+ usage: {},
144
+ };
145
+ const partialToolInputs = new Map();
146
+ let cumulativeText = "";
147
+ for await (const event of readServerSentEvents(response)) {
148
+ applyAnthropicStreamEvent(event, body, partialToolInputs, (textDelta) => {
149
+ cumulativeText += textDelta;
150
+ publishOutput?.(cumulativeText);
151
+ });
152
+ }
153
+ for (const [index, input] of partialToolInputs) {
154
+ const block = body.content?.[index];
155
+ if (block?.type === "tool_use") {
156
+ block.input = input ? parseToolInput(input, block.name) : {};
157
+ }
158
+ }
159
+ return body;
160
+ }
161
+ function applyAnthropicStreamEvent(event, body, partialToolInputs, publishTextDelta) {
162
+ if (event.type === "error") {
163
+ const error = isRecord(event.error) ? event.error : {};
164
+ throw new Error(typeof error.message === "string"
165
+ ? error.message
166
+ : "Anthropic streaming request failed.");
167
+ }
168
+ if (event.type === "message_start" && isRecord(event.message)) {
169
+ const message = event.message;
170
+ body.id = typeof message.id === "string" ? message.id : undefined;
171
+ if (isRecord(message.usage)) {
172
+ body.usage = {
173
+ input_tokens: numberOrUndefined(message.usage.input_tokens),
174
+ output_tokens: numberOrUndefined(message.usage.output_tokens),
175
+ cache_read_input_tokens: numberOrUndefined(message.usage.cache_read_input_tokens),
176
+ cache_creation_input_tokens: numberOrUndefined(message.usage.cache_creation_input_tokens),
177
+ };
178
+ }
179
+ return;
180
+ }
181
+ const index = numberOrUndefined(event.index);
182
+ if (index === undefined) {
183
+ if (event.type === "message_delta" && isRecord(event.delta)) {
184
+ body.stop_reason =
185
+ typeof event.delta.stop_reason === "string"
186
+ ? event.delta.stop_reason
187
+ : body.stop_reason;
188
+ if (isRecord(event.usage)) {
189
+ body.usage = {
190
+ ...body.usage,
191
+ output_tokens: numberOrUndefined(event.usage.output_tokens) ??
192
+ body.usage?.output_tokens,
193
+ };
194
+ }
195
+ }
196
+ return;
197
+ }
198
+ if (event.type === "content_block_start" &&
199
+ isRecord(event.content_block) &&
200
+ typeof event.content_block.type === "string") {
201
+ const block = {
202
+ ...event.content_block,
203
+ type: event.content_block.type,
204
+ };
205
+ if (block.type === "tool_use") {
206
+ block.input = {};
207
+ partialToolInputs.set(index, "");
208
+ }
209
+ if (block.type === "text" && typeof block.text === "string" && block.text) {
210
+ publishTextDelta(block.text);
211
+ }
212
+ if (!body.content) {
213
+ body.content = [];
214
+ }
215
+ body.content[index] = block;
216
+ return;
217
+ }
218
+ if (event.type !== "content_block_delta" || !isRecord(event.delta)) {
219
+ return;
220
+ }
221
+ const block = body.content?.[index];
222
+ if (!block) {
223
+ throw new Error(`Anthropic streamed a delta for unknown content block ${index}.`);
224
+ }
225
+ const delta = event.delta;
226
+ if (delta.type === "text_delta" && typeof delta.text === "string") {
227
+ block.text = `${block.text ?? ""}${delta.text}`;
228
+ publishTextDelta(delta.text);
229
+ }
230
+ else if (delta.type === "thinking_delta" &&
231
+ typeof delta.thinking === "string") {
232
+ block.thinking = `${block.thinking ?? ""}${delta.thinking}`;
233
+ }
234
+ else if (delta.type === "signature_delta" &&
235
+ typeof delta.signature === "string") {
236
+ block.signature = `${block.signature ?? ""}${delta.signature}`;
237
+ }
238
+ else if (delta.type === "input_json_delta" &&
239
+ typeof delta.partial_json === "string") {
240
+ partialToolInputs.set(index, `${partialToolInputs.get(index) ?? ""}${delta.partial_json}`);
241
+ }
242
+ }
243
+ function parseToolInput(input, toolName) {
244
+ let parsed;
245
+ try {
246
+ parsed = JSON.parse(input);
247
+ }
248
+ catch (error) {
249
+ throw new Error(`Anthropic returned invalid arguments for tool "${toolName ?? "unknown"}".`, { cause: error });
250
+ }
251
+ if (!isRecord(parsed)) {
252
+ throw new Error(`Anthropic returned non-object arguments for tool "${toolName ?? "unknown"}".`);
253
+ }
254
+ return parsed;
255
+ }
256
+ function numberOrUndefined(value) {
257
+ return typeof value === "number" && Number.isFinite(value)
258
+ ? value
259
+ : undefined;
260
+ }
79
261
  function toAnthropicMessages(messages) {
80
262
  return messages.map((message) => {
81
- if (message.role === "assistant" || typeof message.content === "string") {
263
+ if (message.role === "assistant") {
264
+ return {
265
+ role: "assistant",
266
+ content: message.content.map((block) => {
267
+ if (block.type === "text") {
268
+ return block;
269
+ }
270
+ if (block.type === "reasoning") {
271
+ if (block.provider !== "anthropic") {
272
+ return {
273
+ type: "text",
274
+ text: block.text,
275
+ };
276
+ }
277
+ return !block.text && block.opaqueData
278
+ ? {
279
+ type: "redacted_thinking",
280
+ data: block.opaqueData,
281
+ }
282
+ : {
283
+ type: "thinking",
284
+ thinking: block.text,
285
+ signature: block.opaqueData,
286
+ };
287
+ }
288
+ return {
289
+ type: "tool_use",
290
+ id: block.callId,
291
+ name: block.name,
292
+ input: block.arguments,
293
+ };
294
+ }),
295
+ };
296
+ }
297
+ if (message.role === "tool") {
298
+ return {
299
+ role: "user",
300
+ content: message.results.map((result) => ({
301
+ type: "tool_result",
302
+ tool_use_id: result.callId,
303
+ content: JSON.stringify(result.output ?? null),
304
+ ...(result.isError ? { is_error: true } : {}),
305
+ })),
306
+ };
307
+ }
308
+ if (typeof message.content === "string") {
82
309
  return message;
83
310
  }
84
311
  return {
@@ -87,8 +314,7 @@ function toAnthropicMessages(messages) {
87
314
  if (!isRecord(block) || typeof block.type !== "string") {
88
315
  throw new OrchaError("invalid_input", "Anthropic message content contains an invalid block.");
89
316
  }
90
- if (block.type === "text" ||
91
- block.type === "tool_result") {
317
+ if (block.type === "text") {
92
318
  return block;
93
319
  }
94
320
  if (block.type === "image" &&
@@ -120,39 +346,15 @@ function toAnthropicMessages(messages) {
120
346
  function isRecord(value) {
121
347
  return typeof value === "object" && value !== null && !Array.isArray(value);
122
348
  }
123
- function getReasoningConfiguration(agent) {
124
- const level = agent.reasoningLevel ?? "disabled";
125
- const baseMaxTokens = agent.maxTokens ?? 1024;
126
- if (level === "disabled") {
349
+ function getReasoningConfiguration(request) {
350
+ const baseMaxTokens = request.maxTokens ?? 10_000;
351
+ if (!request.reasoningLevel) {
127
352
  return { maxTokens: baseMaxTokens };
128
353
  }
129
- if (requiresAdaptiveThinking(agent.model)) {
130
- return {
131
- maxTokens: baseMaxTokens,
132
- thinking: { type: "adaptive" },
133
- outputConfig: { effort: level },
134
- };
135
- }
136
- const budget = {
137
- low: 1024,
138
- medium: 4096,
139
- high: 8192,
140
- }[level];
141
354
  return {
142
- maxTokens: baseMaxTokens + budget,
143
- thinking: {
144
- type: "enabled",
145
- budget_tokens: budget,
146
- },
355
+ maxTokens: baseMaxTokens,
356
+ thinking: { type: "adaptive" },
357
+ outputConfig: { effort: request.reasoningLevel },
147
358
  };
148
359
  }
149
- function requiresAdaptiveThinking(model) {
150
- return [
151
- "claude-sonnet-4-6",
152
- "claude-sonnet-5",
153
- "claude-fable-5",
154
- "claude-opus-4-7",
155
- "claude-opus-4-8",
156
- ].some((name) => model.includes(name));
157
- }
158
360
  //# sourceMappingURL=anthropic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}