orchajs 0.1.0-next.4 → 0.1.0-next.6

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 CHANGED
@@ -177,15 +177,20 @@ runtime, so application and action APIs do not change when an agent switches
177
177
  providers. Provider-specific capabilities that cannot be represented safely
178
178
  fail with an explicit Orcha error instead of silently degrading.
179
179
 
180
- Anthropic, OpenAI Responses, and the Gemini Developer API through Google GenAI
181
- are built in:
180
+ Anthropic, DeepSeek Chat Completions, OpenAI Responses, the Gemini Developer
181
+ API through Google GenAI, and Vertex AI are built in:
182
182
 
183
183
  ```js
184
184
  orcha.init({
185
185
  providers: {
186
186
  anthropic: process.env.ANTHROPIC_API_KEY,
187
+ deepseek: process.env.DEEPSEEK_API_KEY,
187
188
  googlegenai: process.env.GOOGLE_GENAI_API_KEY,
188
189
  openai: process.env.OPENAI_API_KEY,
190
+ vertexai: {
191
+ project: process.env.GOOGLE_CLOUD_PROJECT,
192
+ location: process.env.GOOGLE_CLOUD_LOCATION,
193
+ },
189
194
  },
190
195
  agents: {
191
196
  invoiceAgent: "./invoiceAgent",
@@ -193,6 +198,48 @@ orcha.init({
193
198
  });
194
199
  ```
195
200
 
201
+ Vertex AI uses Google Application Default Credentials by default. Configure
202
+ ADC through the runtime environment, or provide `credentials: { clientEmail,
203
+ privateKey }` inside the `vertexai` configuration.
204
+
205
+ On Google Cloud, attach a service account to the Cloud Run, GKE, or Compute
206
+ runtime. No credential file or application configuration is required beyond
207
+ the project and location above.
208
+
209
+ For local development or a deployment with a mounted service-account file,
210
+ set its runtime path:
211
+
212
+ ```bash
213
+ export GOOGLE_APPLICATION_CREDENTIALS=/run/secrets/google-service-account.json
214
+ ```
215
+
216
+ The credential file is read by Google's authentication library at runtime; it
217
+ is not included in the application bundle. The file must therefore exist at
218
+ that path inside the deployed container or server.
219
+
220
+ Credentials can alternatively come from environment variables:
221
+
222
+ ```js
223
+ orcha.init({
224
+ providers: {
225
+ vertexai: {
226
+ project: process.env.GOOGLE_CLOUD_PROJECT,
227
+ location: process.env.GOOGLE_CLOUD_LOCATION,
228
+ credentials: {
229
+ clientEmail: process.env.GOOGLE_CLIENT_EMAIL,
230
+ privateKey: process.env.GOOGLE_PRIVATE_KEY,
231
+ },
232
+ },
233
+ },
234
+ agents: {
235
+ riskAgent: "./riskAgent",
236
+ },
237
+ });
238
+ ```
239
+
240
+ Do not import a service-account JSON file into application source because a
241
+ bundler may embed the secret in its output.
242
+
196
243
  Choose the adapter and model in the agent's `index.json`:
197
244
 
198
245
  ```json
@@ -263,7 +310,7 @@ application continues to use its normal `npm run build` command.
263
310
 
264
311
  - [x] Registry compiler + `orcha build`
265
312
  - [x] Model Action Protocol — client actions and opt-in native/sandboxed local actions
266
- - [x] Provider-neutral Anthropic, OpenAI Responses, and Google GenAI adapters
313
+ - [x] Provider-neutral Anthropic, DeepSeek, OpenAI, Google GenAI, and Vertex AI adapters
267
314
  - [x] Stateful sessions — Node JSONL replay and client-action pause/resume
268
315
  - [ ] `orcha.run()` one-shot entry point
269
316
  - [ ] CLI (`orcha init`, `orcha build`, `orcha dev`) + example agents
@@ -1 +1 @@
1
- {"version":3,"file":"build-project.d.ts","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAoHjB"}
1
+ {"version":3,"file":"build-project.d.ts","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAuHjB"}
@@ -56,6 +56,8 @@ export async function buildProject(options = {}) {
56
56
  ...new Set(Object.values(compiledBundle.agents).map((agent) => agent.provider)),
57
57
  ];
58
58
  const providerRuntimeSource = createProviderRuntimeSource(includedProviders);
59
+ const needsNodeRequire = compiledBundle.actionRuntime === "sandbox" ||
60
+ includedProviders.includes("vertexai");
59
61
  await writeFile(productionEntryPath, [
60
62
  `import { createOrcha } from ${JSON.stringify(runtimeFactoryPath)};`,
61
63
  `import { createProviderResponseGenerator } from ${JSON.stringify(providerDispatcherPath)};`,
@@ -78,7 +80,7 @@ export async function buildProject(options = {}) {
78
80
  define: {
79
81
  "process.env.ORCHA_INCLUDE_SANDBOX": JSON.stringify(compiledBundle.actionRuntime === "sandbox" ? "1" : "0"),
80
82
  },
81
- ...(compiledBundle.actionRuntime === "sandbox"
83
+ ...(needsNodeRequire
82
84
  ? {
83
85
  banner: {
84
86
  js: [
@@ -1 +1 @@
1
- {"version":3,"file":"build-project.js","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-project.js","sourceRoot":"","sources":["../../src/compiler/build-project.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, 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";
5
+ export type { ActionConfiguration, ApiKeyProviderConfiguration, AgentContinueInput, AgentConfiguration, AgentInput, AgentRuntime, ClientCapability, ClientToolCall, CompletedRunResult, CompiledActionManifest, CompiledAgentManifest, CompiledBundle, Execution, ExecutionSnapshot, FailedRunResult, FileContent, LocalActionRuntimeConfiguration, MessageContent, MetadataValue, OrchaErrorCode, OrchaInitConfiguration, PaginationOptions, ProjectConfiguration, ProviderConfiguration, ProviderInitConfigurations, ProviderName, RunError, RunStatus, ResumeInput, RunResult, SessionEvent, SessionEventType, SessionHistory, SessionHistoryItem, SessionList, SessionListOptions, SessionMetadata, SessionSnapshot, SessionStatus, SessionStore, SessionUpdate, StreamingRunSnapshot, TextContent, ToolResult, ToolResumeInput, Usage, VertexAIProviderConfiguration, GoogleServiceAccountCredentials, 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,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
+ {"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,2BAA2B,EAC3B,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,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,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,6BAA6B,EAC7B,+BAA+B,EAC/B,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -7,6 +7,10 @@ export declare const builtInProviderCatalog: {
7
7
  readonly moduleFile: "anthropic.js";
8
8
  readonly exportName: "anthropicProvider";
9
9
  };
10
+ readonly deepseek: {
11
+ readonly moduleFile: "deepseek.js";
12
+ readonly exportName: "deepSeekProvider";
13
+ };
10
14
  readonly googlegenai: {
11
15
  readonly moduleFile: "google-genai.js";
12
16
  readonly exportName: "googleGenAIProvider";
@@ -15,6 +19,10 @@ export declare const builtInProviderCatalog: {
15
19
  readonly moduleFile: "openai.js";
16
20
  readonly exportName: "openAIProvider";
17
21
  };
22
+ readonly vertexai: {
23
+ readonly moduleFile: "vertex-ai.js";
24
+ readonly exportName: "vertexAIProvider";
25
+ };
18
26
  };
19
27
  export declare function isBuiltInProvider(name: string): name is keyof typeof builtInProviderCatalog;
20
28
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/providers/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;CAelC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,IAAI,IAAI,MAAM,OAAO,sBAAsB,CAE7C"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/providers/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAuBlC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,IAAI,IAAI,MAAM,OAAO,sBAAsB,CAE7C"}
@@ -3,6 +3,10 @@ export const builtInProviderCatalog = {
3
3
  moduleFile: "anthropic.js",
4
4
  exportName: "anthropicProvider",
5
5
  },
6
+ deepseek: {
7
+ moduleFile: "deepseek.js",
8
+ exportName: "deepSeekProvider",
9
+ },
6
10
  googlegenai: {
7
11
  moduleFile: "google-genai.js",
8
12
  exportName: "googleGenAIProvider",
@@ -11,6 +15,10 @@ export const builtInProviderCatalog = {
11
15
  moduleFile: "openai.js",
12
16
  exportName: "openAIProvider",
13
17
  },
18
+ vertexai: {
19
+ moduleFile: "vertex-ai.js",
20
+ exportName: "vertexAIProvider",
21
+ },
14
22
  };
15
23
  export function isBuiltInProvider(name) {
16
24
  return Object.hasOwn(builtInProviderCatalog, name);
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/providers/catalog.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE;QACT,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,mBAAmB;KAChC;IACD,WAAW,EAAE;QACX,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,qBAAqB;KAClC;IACD,MAAM,EAAE;QACN,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,gBAAgB;KAC7B;CAGF,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC/B,IAAY;IAEZ,OAAO,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/providers/catalog.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE;QACT,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,mBAAmB;KAChC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,aAAa;QACzB,UAAU,EAAE,kBAAkB;KAC/B;IACD,WAAW,EAAE;QACX,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,qBAAqB;KAClC;IACD,MAAM,EAAE;QACN,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,gBAAgB;KAC7B;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,kBAAkB;KAC/B;CAGF,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC/B,IAAY;IAEZ,OAAO,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ProviderAdapter } from "./types.js";
2
+ export declare const deepSeekProvider: ProviderAdapter;
3
+ //# sourceMappingURL=deepseek.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../src/providers/deepseek.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,YAAY,CAAC;AAkDpB,eAAO,MAAM,gBAAgB,EAAE,eAG9B,CAAC"}
@@ -0,0 +1,260 @@
1
+ import { OrchaError } from "../errors.js";
2
+ import { parseStructuredOutput } from "../runtime/structured-output.js";
3
+ import { readServerSentEvents } from "./sse.js";
4
+ export const deepSeekProvider = {
5
+ name: "deepseek",
6
+ generate: generateDeepSeek,
7
+ };
8
+ async function generateDeepSeek(configuration, request) {
9
+ if (!configuration.apiKey?.trim()) {
10
+ throw new Error('Missing DeepSeek API key in orcha.init({ providers: { deepseek: "..." } }).');
11
+ }
12
+ if (request.outputType === "image" || request.outputType === "audio") {
13
+ throw new OrchaError("unsupported_provider_capability", `DeepSeek does not support "${request.outputType}" agent output.`);
14
+ }
15
+ const body = {
16
+ model: request.model,
17
+ messages: [
18
+ {
19
+ role: "system",
20
+ content: systemPrompt(request),
21
+ },
22
+ ...toDeepSeekMessages(request.messages),
23
+ ],
24
+ stream: true,
25
+ stream_options: {
26
+ include_usage: true,
27
+ },
28
+ ...(request.maxTokens ? { max_tokens: request.maxTokens } : {}),
29
+ };
30
+ if (request.tools.length > 0) {
31
+ body.tools = request.tools.map((tool) => ({
32
+ type: "function",
33
+ function: {
34
+ name: tool.name,
35
+ description: tool.description,
36
+ parameters: tool.parameters,
37
+ },
38
+ }));
39
+ }
40
+ if (request.outputType === "json") {
41
+ body.response_format = { type: "json_object" };
42
+ }
43
+ if (request.reasoningLevel) {
44
+ body.thinking = { type: "enabled" };
45
+ body.reasoning_effort = request.reasoningLevel;
46
+ }
47
+ const response = await fetch(`${configuration.baseUrl ?? "https://api.deepseek.com"}/chat/completions`, {
48
+ method: "POST",
49
+ headers: {
50
+ "content-type": "application/json",
51
+ authorization: `Bearer ${configuration.apiKey}`,
52
+ },
53
+ body: JSON.stringify(body),
54
+ });
55
+ if (!response.ok) {
56
+ const error = (await response.json());
57
+ throw new Error(error.error?.message ??
58
+ `DeepSeek request failed with HTTP ${response.status}.`);
59
+ }
60
+ const collected = await collectDeepSeekStream(response, request.publishOutput);
61
+ return toProviderResponse(request, collected);
62
+ }
63
+ function systemPrompt(request) {
64
+ if (request.outputType !== "json") {
65
+ return request.systemPrompt;
66
+ }
67
+ return `${request.systemPrompt}\n\nReturn only valid JSON matching this JSON Schema:\n${JSON.stringify(request.outputSchema ?? {})}`;
68
+ }
69
+ function toDeepSeekMessages(messages) {
70
+ const output = [];
71
+ for (const message of messages) {
72
+ if (message.role === "user") {
73
+ output.push({
74
+ role: "user",
75
+ content: typeof message.content === "string"
76
+ ? message.content
77
+ : textOnlyContent(message.content),
78
+ });
79
+ continue;
80
+ }
81
+ if (message.role === "tool") {
82
+ for (const result of message.results) {
83
+ output.push({
84
+ role: "tool",
85
+ tool_call_id: result.callId,
86
+ content: JSON.stringify(result.output ?? null),
87
+ });
88
+ }
89
+ continue;
90
+ }
91
+ const text = [];
92
+ const reasoning = [];
93
+ const toolCalls = [];
94
+ for (const block of message.content) {
95
+ if (block.type === "text") {
96
+ text.push(block.text);
97
+ }
98
+ else if (block.type === "reasoning") {
99
+ if (message.provider === "deepseek") {
100
+ reasoning.push(block.text);
101
+ }
102
+ else if (block.text) {
103
+ text.push(block.text);
104
+ }
105
+ }
106
+ else {
107
+ toolCalls.push({
108
+ id: block.callId,
109
+ type: "function",
110
+ function: {
111
+ name: block.name,
112
+ arguments: JSON.stringify(block.arguments),
113
+ },
114
+ });
115
+ }
116
+ }
117
+ output.push({
118
+ role: "assistant",
119
+ content: text.join(""),
120
+ ...(reasoning.length > 0
121
+ ? { reasoning_content: reasoning.join("") }
122
+ : {}),
123
+ ...(toolCalls.length > 0 ? { tool_calls: toolCalls } : {}),
124
+ });
125
+ }
126
+ return output;
127
+ }
128
+ function textOnlyContent(content) {
129
+ const text = [];
130
+ for (const block of content) {
131
+ if (block.type !== "text") {
132
+ throw new OrchaError("unsupported_content_type", `DeepSeek does not support "${block.type}" message content.`);
133
+ }
134
+ text.push(block.text);
135
+ }
136
+ return text.join("");
137
+ }
138
+ async function collectDeepSeekStream(response, publishOutput) {
139
+ const collected = {
140
+ content: "",
141
+ reasoningContent: "",
142
+ toolCalls: [],
143
+ };
144
+ for await (const event of readServerSentEvents(response)) {
145
+ const chunk = event;
146
+ if (chunk.error) {
147
+ throw new Error(chunk.error.message ?? "DeepSeek streaming request failed.");
148
+ }
149
+ collected.id = chunk.id ?? collected.id;
150
+ collected.usage = chunk.usage ?? collected.usage;
151
+ const choice = chunk.choices?.[0];
152
+ collected.finishReason =
153
+ choice?.finish_reason ?? collected.finishReason;
154
+ const delta = choice?.delta;
155
+ if (typeof delta?.reasoning_content === "string") {
156
+ collected.reasoningContent += delta.reasoning_content;
157
+ }
158
+ if (typeof delta?.content === "string") {
159
+ collected.content += delta.content;
160
+ publishOutput?.(collected.content);
161
+ }
162
+ for (const toolCall of delta?.tool_calls ?? []) {
163
+ const index = toolCall.index;
164
+ if (index === undefined) {
165
+ throw new Error("DeepSeek streamed a tool call without an index.");
166
+ }
167
+ const partial = collected.toolCalls[index] ?? {
168
+ name: "",
169
+ arguments: "",
170
+ };
171
+ partial.id = toolCall.id ?? partial.id;
172
+ partial.name += toolCall.function?.name ?? "";
173
+ partial.arguments += toolCall.function?.arguments ?? "";
174
+ collected.toolCalls[index] = partial;
175
+ }
176
+ }
177
+ if (collected.finishReason === "insufficient_system_resource") {
178
+ throw new Error("DeepSeek stopped because inference capacity was unavailable.");
179
+ }
180
+ return collected;
181
+ }
182
+ function toProviderResponse(request, response) {
183
+ const content = [];
184
+ if (response.reasoningContent) {
185
+ content.push({
186
+ type: "reasoning",
187
+ text: response.reasoningContent,
188
+ });
189
+ }
190
+ if (response.content) {
191
+ content.push({
192
+ type: "text",
193
+ text: response.content,
194
+ });
195
+ }
196
+ for (const call of response.toolCalls) {
197
+ if (!call.id || !call.name) {
198
+ throw new Error("DeepSeek returned an incomplete function call.");
199
+ }
200
+ content.push({
201
+ type: "tool_call",
202
+ callId: call.id,
203
+ name: call.name,
204
+ arguments: parseToolArguments(call.arguments, call.name),
205
+ });
206
+ }
207
+ const toolCalls = content.filter((block) => block.type === "tool_call");
208
+ const output = request.outputType === "json" && toolCalls.length === 0
209
+ ? parseStructuredOutput(response.content, request.outputSchema ?? {})
210
+ : response.content;
211
+ return {
212
+ output,
213
+ responseId: response.id,
214
+ stopReason: normalizeStopReason(response.finishReason, toolCalls),
215
+ content,
216
+ toolCalls,
217
+ usage: normalizeUsage(response.usage),
218
+ };
219
+ }
220
+ function parseToolArguments(value, toolName) {
221
+ let parsed;
222
+ try {
223
+ parsed = JSON.parse(value || "{}");
224
+ }
225
+ catch (error) {
226
+ throw new Error(`DeepSeek returned invalid arguments for tool "${toolName}".`, { cause: error });
227
+ }
228
+ if (!isRecord(parsed)) {
229
+ throw new Error(`DeepSeek returned non-object arguments for tool "${toolName}".`);
230
+ }
231
+ return parsed;
232
+ }
233
+ function normalizeStopReason(reason, toolCalls) {
234
+ if (toolCalls.length > 0 || reason === "tool_calls") {
235
+ return "tool_call";
236
+ }
237
+ if (reason === "stop") {
238
+ return "end_turn";
239
+ }
240
+ if (reason === "length") {
241
+ return "max_tokens";
242
+ }
243
+ if (reason === "content_filter") {
244
+ return "content_filter";
245
+ }
246
+ return reason === undefined || reason === null ? undefined : "unknown";
247
+ }
248
+ function normalizeUsage(usage) {
249
+ return {
250
+ inputTokens: usage?.prompt_tokens ?? 0,
251
+ outputTokens: usage?.completion_tokens ?? 0,
252
+ reasoningTokens: usage?.completion_tokens_details?.reasoning_tokens ?? null,
253
+ cacheReadTokens: usage?.prompt_cache_hit_tokens ?? 0,
254
+ cacheWriteTokens: 0,
255
+ };
256
+ }
257
+ function isRecord(value) {
258
+ return typeof value === "object" && value !== null && !Array.isArray(value);
259
+ }
260
+ //# sourceMappingURL=deepseek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/providers/deepseek.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Content, GenerateContentConfig, GenerateContentResponse } from "@google/genai/web";
2
+ import type { ProviderRequest, ProviderResponse } from "./types.js";
3
+ export interface GoogleContentClient {
4
+ models: {
5
+ generateContentStream(parameters: {
6
+ model: string;
7
+ contents: Content[];
8
+ config: GenerateContentConfig;
9
+ }): Promise<AsyncGenerator<GenerateContentResponse>>;
10
+ };
11
+ }
12
+ export declare function generateGoogleContent(client: GoogleContentClient, request: ProviderRequest, provider: "googlegenai" | "vertexai"): Promise<ProviderResponse>;
13
+ //# sourceMappingURL=google-gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-gemini.d.ts","sourceRoot":"","sources":["../../src/providers/google-gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,qBAAqB,EACrB,uBAAuB,EAGxB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,KAAK,EAGV,eAAe,EACf,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,qBAAqB,CAAC,UAAU,EAAE;YAChC,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,EAAE,qBAAqB,CAAC;SAC/B,GAAG,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC;KACtD,CAAC;CACH;AAUD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,aAAa,GAAG,UAAU,GACnC,OAAO,CAAC,gBAAgB,CAAC,CA8C3B"}