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 +50 -3
- package/dist/compiler/build-project.d.ts.map +1 -1
- package/dist/compiler/build-project.js +3 -1
- package/dist/compiler/build-project.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/providers/catalog.d.ts +8 -0
- package/dist/providers/catalog.d.ts.map +1 -1
- package/dist/providers/catalog.js +8 -0
- package/dist/providers/catalog.js.map +1 -1
- package/dist/providers/deepseek.d.ts +3 -0
- package/dist/providers/deepseek.d.ts.map +1 -0
- package/dist/providers/deepseek.js +260 -0
- package/dist/providers/deepseek.js.map +1 -0
- package/dist/providers/google-gemini.d.ts +13 -0
- package/dist/providers/google-gemini.d.ts.map +1 -0
- package/dist/providers/google-gemini.js +309 -0
- package/dist/providers/google-gemini.js.map +1 -0
- package/dist/providers/google-genai.d.ts.map +1 -1
- package/dist/providers/google-genai.js +3 -307
- package/dist/providers/google-genai.js.map +1 -1
- package/dist/providers/vertex-ai.d.ts +3 -0
- package/dist/providers/vertex-ai.d.ts.map +1 -0
- package/dist/providers/vertex-ai.js +40 -0
- package/dist/providers/vertex-ai.js.map +1 -0
- package/dist/runtime/create-orcha.d.ts.map +1 -1
- package/dist/runtime/create-orcha.js.map +1 -1
- package/dist/runtime/session-events.d.ts.map +1 -1
- package/dist/runtime/session-events.js +3 -1
- package/dist/runtime/session-events.js.map +1 -1
- package/dist/types.d.ts +25 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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,
|
|
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
|
|
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,
|
|
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
|
-
...(
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
|
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 @@
|
|
|
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"}
|