@framers/agentos 0.1.76 → 0.1.78
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 +11 -4
- package/dist/api/agent.d.ts +13 -3
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +1 -0
- package/dist/api/agent.js.map +1 -1
- package/dist/api/generateImage.d.ts +11 -2
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +2 -2
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateText.d.ts +13 -3
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +2 -2
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/model.d.ts +53 -0
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +58 -0
- package/dist/api/model.js.map +1 -1
- package/dist/api/provider-defaults.d.ts +40 -0
- package/dist/api/provider-defaults.d.ts.map +1 -0
- package/dist/api/provider-defaults.js +73 -0
- package/dist/api/provider-defaults.js.map +1 -0
- package/dist/api/streamText.js +2 -2
- package/dist/api/streamText.js.map +1 -1
- package/dist/orchestration/builders/AgentGraph.d.ts +2 -2
- package/dist/orchestration/builders/AgentGraph.js +2 -2
- package/dist/orchestration/builders/MissionBuilder.d.ts +1 -1
- package/dist/orchestration/builders/MissionBuilder.js +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
- package/dist/orchestration/checkpoint/ICheckpointStore.d.ts +16 -0
- package/dist/orchestration/checkpoint/ICheckpointStore.d.ts.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +6 -0
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -0
- package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.d.ts +6 -3
- package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
- package/dist/orchestration/runtime/GraphRuntime.js +120 -25
- package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -160,15 +160,17 @@ Use the streamlined APIs when you want AI SDK-style text generation, image gener
|
|
|
160
160
|
```typescript
|
|
161
161
|
import { agent, generateImage, generateText, streamText } from '@framers/agentos';
|
|
162
162
|
|
|
163
|
+
// Provider-first: set provider, AgentOS picks the best default model automatically.
|
|
164
|
+
// Requires OPENAI_API_KEY (or the matching env var) to be set.
|
|
163
165
|
const quick = await generateText({
|
|
164
|
-
|
|
166
|
+
provider: 'openai',
|
|
165
167
|
prompt: 'Explain how TCP handshakes work in 3 bullets.',
|
|
166
168
|
});
|
|
167
169
|
|
|
168
170
|
console.log(quick.text);
|
|
169
171
|
|
|
170
172
|
const live = streamText({
|
|
171
|
-
|
|
173
|
+
provider: 'openai',
|
|
172
174
|
prompt: 'Stream a short explanation of SYN, SYN-ACK, ACK.',
|
|
173
175
|
});
|
|
174
176
|
|
|
@@ -177,14 +179,14 @@ for await (const delta of live.textStream) {
|
|
|
177
179
|
}
|
|
178
180
|
|
|
179
181
|
const image = await generateImage({
|
|
180
|
-
|
|
182
|
+
provider: 'openai',
|
|
181
183
|
prompt: 'A cinematic neon city skyline reflected in rain at night.',
|
|
182
184
|
});
|
|
183
185
|
|
|
184
186
|
console.log(image.images[0]?.mimeType);
|
|
185
187
|
|
|
186
188
|
const assistant = agent({
|
|
187
|
-
|
|
189
|
+
provider: 'openai',
|
|
188
190
|
instructions: 'You are a concise networking tutor.',
|
|
189
191
|
maxSteps: 3,
|
|
190
192
|
});
|
|
@@ -192,6 +194,9 @@ const assistant = agent({
|
|
|
192
194
|
const session = assistant.session('tcp-demo');
|
|
193
195
|
const reply = await session.send('Now compare TCP and UDP.');
|
|
194
196
|
console.log(reply.text);
|
|
197
|
+
|
|
198
|
+
// Legacy format — still supported:
|
|
199
|
+
// const result = await generateText({ model: 'openai:gpt-4o', prompt: '...' });
|
|
195
200
|
```
|
|
196
201
|
|
|
197
202
|
Built-in image providers: `openai`, `openrouter`, `stability`, and `replicate`.
|
|
@@ -915,6 +920,8 @@ Voice providers are registered via `EXTENSION_KIND_TOOL` with the `voice-call-pr
|
|
|
915
920
|
|
|
916
921
|
Three authoring APIs compile to one `CompiledExecutionGraph` IR executed by a single `GraphRuntime`. Persistent checkpointing enables time-travel debugging and fault recovery.
|
|
917
922
|
|
|
923
|
+
Current status: the builders, IR, checkpoints, and base runtime are real. Some advanced routes are still partial in the shared runtime: discovery edges need discovery wiring, personality edges need a trait source, and `extension` / `subgraph` execution still requires a higher-level bridge runtime.
|
|
924
|
+
|
|
918
925
|
| API | Level | Use case |
|
|
919
926
|
|-----|-------|----------|
|
|
920
927
|
| **`AgentGraph`** | Low-level | Explicit nodes, edges, cycles, subgraphs — full graph control |
|
package/dist/api/agent.d.ts
CHANGED
|
@@ -15,10 +15,20 @@ import type { ToolDefinitionMap } from './toolAdapter.js';
|
|
|
15
15
|
*/
|
|
16
16
|
export interface AgentOptions {
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Provider name. When supplied without `model`, the default text model for
|
|
19
|
+
* the provider is resolved automatically from the built-in defaults registry.
|
|
20
|
+
*
|
|
21
|
+
* @example `"openai"`, `"anthropic"`, `"ollama"`
|
|
22
|
+
*/
|
|
23
|
+
provider?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Model used for every call made by this agent. Accepted in two formats:
|
|
26
|
+
* - `"provider:model"` — legacy format (e.g. `"openai:gpt-4o"`), still fully supported.
|
|
27
|
+
* - Plain model name (e.g. `"gpt-4o-mini"`) when `provider` is also set.
|
|
28
|
+
*
|
|
29
|
+
* Either `provider` or `model` (or an API key env var for auto-detection) is required.
|
|
20
30
|
*/
|
|
21
|
-
model
|
|
31
|
+
model?: string;
|
|
22
32
|
/** Display name injected into the system prompt (e.g. `"Aria"`). */
|
|
23
33
|
name?: string;
|
|
24
34
|
/** Free-form system instructions prepended before personality and name lines. */
|
package/dist/api/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAgB,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAgB,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAC5D,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KACpE,CAAC,CAAC;IACH;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACvC,+EAA+E;IAC/E,QAAQ,IAAI,OAAO,EAAE,CAAC;IACtB,uDAAuD;IACvD,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3F;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,CAAC;IAC9E;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,+DAA+D;IAC/D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAyBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CAiF/C"}
|
package/dist/api/agent.js
CHANGED
package/dist/api/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAmE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,UAAU,EAAyB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAmE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,UAAU,EAAyB,MAAM,iBAAiB,CAAC;AAmHpE,SAAS,iBAAiB,CAAC,IAAkB;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,KAAK,CAAC,IAAkB;IACtC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IAExC,MAAM,QAAQ,GAAiC;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,KAAoC;YACjE,OAAO,YAAY,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,MAAM,EAAyB,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,CAAC,MAAc,EAAE,KAAoC;YACzD,OAAO,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,MAAM,EAAyB,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,CAAC,EAAW;YACjB,MAAM,SAAS,GAAG,EAAE,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAEzC,OAAO;gBACL,EAAE,EAAE,SAAS;gBAEb,KAAK,CAAC,IAAI,CAAC,IAAY;oBACrB,MAAM,eAAe,GAAG,SAAS;wBAC/B,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBACxD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;wBAChC,GAAG,QAAQ;wBACX,QAAQ,EAAE,eAAe;qBACH,CAAC,CAAC;oBAC1B,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5D,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,MAAM,CAAC,IAAY;oBACjB,MAAM,MAAM,GAAG,UAAU,CAAC;wBACxB,GAAG,QAAQ;wBACX,QAAQ,EAAE,SAAS;4BACjB,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4BACxD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qBACxB,CAAC,CAAC;oBAC1B,qCAAqC;oBACrC,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC3F,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,QAAQ;oBACN,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAED,KAAK;oBACH,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrB,CAAC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,KAAK;YACT,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -4,10 +4,19 @@ import type { GeneratedImage, ImageGenerationResult, ImageProviderOptionBag, Ima
|
|
|
4
4
|
*/
|
|
5
5
|
export interface GenerateImageOptions {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Provider name. When supplied without `model`, the default image model for
|
|
8
|
+
* the provider is resolved automatically from the built-in defaults registry.
|
|
9
|
+
*
|
|
10
|
+
* @example `"openai"`, `"stability"`, `"replicate"`
|
|
11
|
+
*/
|
|
12
|
+
provider?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Model in `provider:model` format (legacy) or plain model name when `provider` is set.
|
|
8
15
|
* @example `"openai:dall-e-3"`, `"stability:stable-diffusion-xl-1024-v1-0"`
|
|
16
|
+
*
|
|
17
|
+
* Either `provider` or `model` (or an API key env var for auto-detection) is required.
|
|
9
18
|
*/
|
|
10
|
-
model
|
|
19
|
+
model?: string;
|
|
11
20
|
/** Text description of the desired image. */
|
|
12
21
|
prompt: string;
|
|
13
22
|
/** Output modalities requested from the provider (provider-dependent). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateImage.d.ts","sourceRoot":"","sources":["../../src/api/generateImage.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC
|
|
1
|
+
{"version":3,"file":"generateImage.d.ts","sourceRoot":"","sources":["../../src/api/generateImage.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,wEAAwE;IACxE,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,qEAAqE;IACrE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,qEAAqE;IACrE,KAAK,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwC5F"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* (e.g. OpenAI DALL-E, Stability AI, Replicate).
|
|
8
8
|
*/
|
|
9
9
|
import { createImageProvider } from '../core/images/index.js';
|
|
10
|
-
import {
|
|
10
|
+
import { resolveModelOption, resolveMediaProvider } from './model.js';
|
|
11
11
|
/**
|
|
12
12
|
* Generates one or more images using a provider-agnostic `provider:model` string.
|
|
13
13
|
*
|
|
@@ -28,7 +28,7 @@ import { parseModelString, resolveMediaProvider } from './model.js';
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
export async function generateImage(opts) {
|
|
31
|
-
const { providerId, modelId } =
|
|
31
|
+
const { providerId, modelId } = resolveModelOption(opts, 'image');
|
|
32
32
|
const resolved = resolveMediaProvider(providerId, modelId, {
|
|
33
33
|
apiKey: opts.apiKey,
|
|
34
34
|
baseUrl: opts.baseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateImage.js","sourceRoot":"","sources":["../../src/api/generateImage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAU9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generateImage.js","sourceRoot":"","sources":["../../src/api/generateImage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAU9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAwEtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA0B;IAC5D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE;QACzD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,CAAC,UAAU,CAAC;QACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,cAAc,EAAE,QAAQ,CAAC,OAAO;KACjC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,eAAe,EAAE,IAAI,CAAC,eAAe;KACtC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,QAAQ,EAAE,MAAM,CAAC,UAAU;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -41,10 +41,20 @@ export interface TokenUsage {
|
|
|
41
41
|
*/
|
|
42
42
|
export interface GenerateTextOptions {
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
44
|
+
* Provider name. When supplied without `model`, the default text model for
|
|
45
|
+
* the provider is resolved automatically from the built-in defaults registry.
|
|
46
|
+
*
|
|
47
|
+
* @example `"openai"`, `"anthropic"`, `"ollama"`
|
|
46
48
|
*/
|
|
47
|
-
|
|
49
|
+
provider?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Model identifier. Accepted in two formats:
|
|
52
|
+
* - `"provider:model"` — legacy format (e.g. `"openai:gpt-4o"`), still fully supported.
|
|
53
|
+
* - Plain model name (e.g. `"gpt-4o-mini"`) when `provider` is also set.
|
|
54
|
+
*
|
|
55
|
+
* Either `provider` or `model` (or an API key env var for auto-detection) is required.
|
|
56
|
+
*/
|
|
57
|
+
model?: string;
|
|
48
58
|
/** Single user turn to append after any `messages`. Convenience alternative to building a `messages` array. */
|
|
49
59
|
prompt?: string;
|
|
50
60
|
/** System prompt injected as the first message. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"AAUA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGtE;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC
|
|
1
|
+
{"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"AAUA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGtE;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,8GAA8G;IAC9G,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,EAAE,UAAU,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyHzF"}
|
package/dist/api/generateText.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* endpoint. Multi-step tool calling is supported: the loop continues until the
|
|
8
8
|
* model produces a plain-text reply or `maxSteps` is exhausted.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { resolveModelOption, resolveProvider, createProviderManager } from './model.js';
|
|
11
11
|
import { adaptTools } from './toolAdapter.js';
|
|
12
12
|
/**
|
|
13
13
|
* Stateless text generation with optional multi-step tool calling.
|
|
@@ -30,7 +30,7 @@ import { adaptTools } from './toolAdapter.js';
|
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
export async function generateText(opts) {
|
|
33
|
-
const { providerId, modelId } =
|
|
33
|
+
const { providerId, modelId } = resolveModelOption(opts, 'text');
|
|
34
34
|
const resolved = resolveProvider(providerId, modelId, { apiKey: opts.apiKey, baseUrl: opts.baseUrl });
|
|
35
35
|
const manager = await createProviderManager(resolved);
|
|
36
36
|
const provider = manager.getProvider(resolved.providerId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateText.js","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generateText.js","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"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"}
|
package/dist/api/model.d.ts
CHANGED
|
@@ -83,6 +83,59 @@ export declare function resolveMediaProvider(providerId: string, modelId: string
|
|
|
83
83
|
apiKey?: string;
|
|
84
84
|
baseUrl?: string;
|
|
85
85
|
}): ResolvedProvider;
|
|
86
|
+
/**
|
|
87
|
+
* Supported task types used when looking up a provider's default model.
|
|
88
|
+
*
|
|
89
|
+
* - `"text"` — text completion / chat (generateText, streamText, agent)
|
|
90
|
+
* - `"image"` — image generation (generateImage)
|
|
91
|
+
* - `"embedding"` — embedding generation
|
|
92
|
+
*/
|
|
93
|
+
export type TaskType = 'text' | 'image' | 'embedding';
|
|
94
|
+
/**
|
|
95
|
+
* Flexible model option accepted by the high-level API functions.
|
|
96
|
+
*
|
|
97
|
+
* At least one of `provider` or `model` must be supplied, or an appropriate
|
|
98
|
+
* API key environment variable must be set for auto-detection.
|
|
99
|
+
*/
|
|
100
|
+
export interface ModelOption {
|
|
101
|
+
/**
|
|
102
|
+
* Provider name. When set without `model`, the default model for the
|
|
103
|
+
* requested task is looked up in {@link PROVIDER_DEFAULTS}.
|
|
104
|
+
*
|
|
105
|
+
* @example `"openai"`, `"anthropic"`, `"ollama"`
|
|
106
|
+
*/
|
|
107
|
+
provider?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Explicit model identifier. Accepted in two formats:
|
|
110
|
+
* - `"provider:model"` — legacy format (e.g. `"openai:gpt-4o"`). `provider` is ignored.
|
|
111
|
+
* - `"model"` — plain name (e.g. `"gpt-4o-mini"`). Requires `provider` or env-var auto-detect.
|
|
112
|
+
*/
|
|
113
|
+
model?: string;
|
|
114
|
+
/** API key override (takes precedence over environment variables). */
|
|
115
|
+
apiKey?: string;
|
|
116
|
+
/** Base URL override (useful for local proxies or Ollama). */
|
|
117
|
+
baseUrl?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Resolves a `{ providerId, modelId }` pair from flexible caller-supplied options.
|
|
121
|
+
*
|
|
122
|
+
* Resolution priority:
|
|
123
|
+
* 1. **Explicit `model` string** — if it contains `":"` it is split directly
|
|
124
|
+
* (backwards-compatible `provider:model` format). If it is a plain name and
|
|
125
|
+
* `provider` is set, the pair is used as-is. If neither, auto-detection
|
|
126
|
+
* from env vars is attempted.
|
|
127
|
+
* 2. **`provider` only** — default model for the requested `task` is looked up
|
|
128
|
+
* in {@link PROVIDER_DEFAULTS}.
|
|
129
|
+
* 3. **Neither** — auto-detect the first provider with a set API key/URL env
|
|
130
|
+
* var and use its default model for the requested `task`.
|
|
131
|
+
*
|
|
132
|
+
* @param opts - Caller options containing optional `provider` and/or `model`.
|
|
133
|
+
* @param task - Task type used to select the correct default model. Defaults to `"text"`.
|
|
134
|
+
* @returns A {@link ParsedModel} with `providerId` and `modelId`.
|
|
135
|
+
* @throws {Error} When no provider can be determined, the provider is unknown,
|
|
136
|
+
* or the provider has no default model for the requested task.
|
|
137
|
+
*/
|
|
138
|
+
export declare function resolveModelOption(opts: ModelOption, task?: TaskType): ParsedModel;
|
|
86
139
|
/**
|
|
87
140
|
* Instantiates and initialises an {@link AIModelProviderManager} for a single provider.
|
|
88
141
|
*
|
package/dist/api/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAY3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,gBAAgB,CA4BlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,gBAAgB,CAmBlB;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,QAAiB,GAAG,WAAW,CA2C1F;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAoBjC"}
|
package/dist/api/model.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* {@link streamText}.
|
|
9
9
|
*/
|
|
10
10
|
import { AIModelProviderManager } from '../core/llm/providers/AIModelProviderManager.js';
|
|
11
|
+
import { PROVIDER_DEFAULTS, autoDetectProvider } from './provider-defaults.js';
|
|
11
12
|
const ENV_KEY_MAP = {
|
|
12
13
|
openai: 'OPENAI_API_KEY',
|
|
13
14
|
anthropic: 'ANTHROPIC_API_KEY',
|
|
@@ -120,6 +121,63 @@ export function resolveMediaProvider(providerId, modelId, overrides) {
|
|
|
120
121
|
}
|
|
121
122
|
return { providerId, modelId, apiKey, baseUrl };
|
|
122
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Resolves a `{ providerId, modelId }` pair from flexible caller-supplied options.
|
|
126
|
+
*
|
|
127
|
+
* Resolution priority:
|
|
128
|
+
* 1. **Explicit `model` string** — if it contains `":"` it is split directly
|
|
129
|
+
* (backwards-compatible `provider:model` format). If it is a plain name and
|
|
130
|
+
* `provider` is set, the pair is used as-is. If neither, auto-detection
|
|
131
|
+
* from env vars is attempted.
|
|
132
|
+
* 2. **`provider` only** — default model for the requested `task` is looked up
|
|
133
|
+
* in {@link PROVIDER_DEFAULTS}.
|
|
134
|
+
* 3. **Neither** — auto-detect the first provider with a set API key/URL env
|
|
135
|
+
* var and use its default model for the requested `task`.
|
|
136
|
+
*
|
|
137
|
+
* @param opts - Caller options containing optional `provider` and/or `model`.
|
|
138
|
+
* @param task - Task type used to select the correct default model. Defaults to `"text"`.
|
|
139
|
+
* @returns A {@link ParsedModel} with `providerId` and `modelId`.
|
|
140
|
+
* @throws {Error} When no provider can be determined, the provider is unknown,
|
|
141
|
+
* or the provider has no default model for the requested task.
|
|
142
|
+
*/
|
|
143
|
+
export function resolveModelOption(opts, task = 'text') {
|
|
144
|
+
// 1. Explicit model string (backwards compat and direct override)
|
|
145
|
+
if (opts.model) {
|
|
146
|
+
// Legacy "provider:model" format
|
|
147
|
+
if (opts.model.includes(':'))
|
|
148
|
+
return parseModelString(opts.model);
|
|
149
|
+
// Plain model name with explicit provider
|
|
150
|
+
if (opts.provider)
|
|
151
|
+
return { providerId: opts.provider, modelId: opts.model };
|
|
152
|
+
// Plain model name — try auto-detect for provider
|
|
153
|
+
const detected = autoDetectProvider();
|
|
154
|
+
if (detected)
|
|
155
|
+
return { providerId: detected, modelId: opts.model };
|
|
156
|
+
throw new Error('model without ":" requires either a provider option or a configured env var (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.).');
|
|
157
|
+
}
|
|
158
|
+
// 2. Provider specified without model — look up default model for task
|
|
159
|
+
if (opts.provider) {
|
|
160
|
+
const defaults = PROVIDER_DEFAULTS[opts.provider];
|
|
161
|
+
if (!defaults) {
|
|
162
|
+
throw new Error(`Unknown provider "${opts.provider}". Known providers: ${Object.keys(PROVIDER_DEFAULTS).join(', ')}.`);
|
|
163
|
+
}
|
|
164
|
+
const modelId = defaults[task];
|
|
165
|
+
if (!modelId) {
|
|
166
|
+
throw new Error(`Provider "${opts.provider}" has no default ${task} model. Specify model explicitly.`);
|
|
167
|
+
}
|
|
168
|
+
return { providerId: opts.provider, modelId };
|
|
169
|
+
}
|
|
170
|
+
// 3. Neither — auto-detect provider from environment
|
|
171
|
+
const detected = autoDetectProvider();
|
|
172
|
+
if (detected) {
|
|
173
|
+
const defaults = PROVIDER_DEFAULTS[detected];
|
|
174
|
+
const modelId = defaults?.[task];
|
|
175
|
+
if (modelId)
|
|
176
|
+
return { providerId: detected, modelId };
|
|
177
|
+
}
|
|
178
|
+
throw new Error('Either "provider" or "model" is required. Or set an API key env var (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.).');
|
|
179
|
+
}
|
|
180
|
+
// ---------------------------------------------------------------------------
|
|
123
181
|
/**
|
|
124
182
|
* Instantiates and initialises an {@link AIModelProviderManager} for a single provider.
|
|
125
183
|
*
|
package/dist/api/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AA4B/E,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,UAAU,EAAE,oBAAoB;IAChC,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,qBAAqB;CACjC,CAAC;AAEF,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,iBAAiB;IACzB,UAAU,EAAE,qBAAqB;IACjC,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,iBAAiB;CAC1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,sDAAsD,CAAC,CAAC;IACjG,CAAC;IACD,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QACpC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,OAAe,EACf,SAAiD;IAEjD,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM;WAC3B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO;WAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAElF,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,0DAA0D;IAC1D,IAAI,UAAU,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,SAAS,MAAM,kBAAkB,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,OAAe,EACf,SAAiD;IAEjD,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM;WAC3B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO;WAC7B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAElF,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,SAAS,MAAM,kBAAkB,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAyCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAiB,EAAE,OAAiB,MAAM;IAC3E,kEAAkE;IAClE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,iCAAiC;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,0CAA0C;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7E,kDAAkD;QAClD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,IAAI,QAAQ;YAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,QAAQ,uBAAuB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtG,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,QAAQ,oBAAoB,IAAI,mCAAmC,CACtF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAChD,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO;YAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAA0B;IAE1B,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAE7C,MAAM,cAAc,GAA4B,EAAE,CAAC;IACnD,IAAI,QAAQ,CAAC,MAAM;QAAE,cAAc,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7D,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,cAAc,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1C,cAAc,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC;QACvB,SAAS,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,cAAc;aACvB,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file provider-defaults.ts
|
|
3
|
+
* Default model mappings for each supported provider.
|
|
4
|
+
*
|
|
5
|
+
* When a user specifies `provider: 'openai'` without an explicit `model`,
|
|
6
|
+
* the system looks up the default model for the requested task type here.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Default model identifiers for a given provider, keyed by task type.
|
|
10
|
+
* Only fields relevant to the provider need to be populated.
|
|
11
|
+
*/
|
|
12
|
+
export interface ProviderDefaults {
|
|
13
|
+
/** Default model for generateText / streamText */
|
|
14
|
+
text?: string;
|
|
15
|
+
/** Default model for generateImage */
|
|
16
|
+
image?: string;
|
|
17
|
+
/** Default embedding model */
|
|
18
|
+
embedding?: string;
|
|
19
|
+
/** Cheapest model for internal/discovery use */
|
|
20
|
+
cheap?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Registry of default models per provider, keyed by provider identifier.
|
|
24
|
+
*
|
|
25
|
+
* These defaults are used when a caller specifies `provider: 'openai'` without
|
|
26
|
+
* an explicit `model` field. The task type (`'text'`, `'image'`, `'embedding'`)
|
|
27
|
+
* selects which sub-key to read.
|
|
28
|
+
*/
|
|
29
|
+
export declare const PROVIDER_DEFAULTS: Record<string, ProviderDefaults>;
|
|
30
|
+
/**
|
|
31
|
+
* Auto-detects the active provider by scanning well-known environment variables
|
|
32
|
+
* in priority order.
|
|
33
|
+
*
|
|
34
|
+
* Returns the identifier of the first provider whose key/URL env var is non-empty,
|
|
35
|
+
* or `undefined` when no recognisable credentials are present.
|
|
36
|
+
*
|
|
37
|
+
* Priority: openai → anthropic → openrouter → gemini → ollama → stability → replicate
|
|
38
|
+
*/
|
|
39
|
+
export declare function autoDetectProvider(): string | undefined;
|
|
40
|
+
//# sourceMappingURL=provider-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-defaults.d.ts","sourceRoot":"","sources":["../../src/api/provider-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA+B9D,CAAC;AAaF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAKvD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file provider-defaults.ts
|
|
3
|
+
* Default model mappings for each supported provider.
|
|
4
|
+
*
|
|
5
|
+
* When a user specifies `provider: 'openai'` without an explicit `model`,
|
|
6
|
+
* the system looks up the default model for the requested task type here.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Registry of default models per provider, keyed by provider identifier.
|
|
10
|
+
*
|
|
11
|
+
* These defaults are used when a caller specifies `provider: 'openai'` without
|
|
12
|
+
* an explicit `model` field. The task type (`'text'`, `'image'`, `'embedding'`)
|
|
13
|
+
* selects which sub-key to read.
|
|
14
|
+
*/
|
|
15
|
+
export const PROVIDER_DEFAULTS = {
|
|
16
|
+
openai: {
|
|
17
|
+
text: 'gpt-4o',
|
|
18
|
+
image: 'gpt-image-1',
|
|
19
|
+
embedding: 'text-embedding-3-small',
|
|
20
|
+
cheap: 'gpt-4o-mini',
|
|
21
|
+
},
|
|
22
|
+
anthropic: {
|
|
23
|
+
text: 'claude-sonnet-4-20250514',
|
|
24
|
+
cheap: 'claude-haiku-4-5-20251001',
|
|
25
|
+
},
|
|
26
|
+
ollama: {
|
|
27
|
+
text: 'llama3.2',
|
|
28
|
+
image: 'stable-diffusion',
|
|
29
|
+
embedding: 'nomic-embed-text',
|
|
30
|
+
cheap: 'llama3.2',
|
|
31
|
+
},
|
|
32
|
+
openrouter: {
|
|
33
|
+
text: 'openai/gpt-4o',
|
|
34
|
+
cheap: 'openai/gpt-4o-mini',
|
|
35
|
+
},
|
|
36
|
+
gemini: {
|
|
37
|
+
text: 'gemini-2.5-flash',
|
|
38
|
+
cheap: 'gemini-2.0-flash',
|
|
39
|
+
},
|
|
40
|
+
stability: {
|
|
41
|
+
image: 'stable-diffusion-xl-1024-v1-0',
|
|
42
|
+
},
|
|
43
|
+
replicate: {
|
|
44
|
+
image: 'black-forest-labs/flux-1.1-pro',
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
/** Env var keys checked for auto-detection, in priority order */
|
|
48
|
+
const AUTO_DETECT_ORDER = [
|
|
49
|
+
{ envKey: 'OPENAI_API_KEY', provider: 'openai' },
|
|
50
|
+
{ envKey: 'ANTHROPIC_API_KEY', provider: 'anthropic' },
|
|
51
|
+
{ envKey: 'OPENROUTER_API_KEY', provider: 'openrouter' },
|
|
52
|
+
{ envKey: 'GEMINI_API_KEY', provider: 'gemini' },
|
|
53
|
+
{ envKey: 'OLLAMA_BASE_URL', provider: 'ollama' },
|
|
54
|
+
{ envKey: 'STABILITY_API_KEY', provider: 'stability' },
|
|
55
|
+
{ envKey: 'REPLICATE_API_TOKEN', provider: 'replicate' },
|
|
56
|
+
];
|
|
57
|
+
/**
|
|
58
|
+
* Auto-detects the active provider by scanning well-known environment variables
|
|
59
|
+
* in priority order.
|
|
60
|
+
*
|
|
61
|
+
* Returns the identifier of the first provider whose key/URL env var is non-empty,
|
|
62
|
+
* or `undefined` when no recognisable credentials are present.
|
|
63
|
+
*
|
|
64
|
+
* Priority: openai → anthropic → openrouter → gemini → ollama → stability → replicate
|
|
65
|
+
*/
|
|
66
|
+
export function autoDetectProvider() {
|
|
67
|
+
for (const { envKey, provider } of AUTO_DETECT_ORDER) {
|
|
68
|
+
if (process.env[envKey])
|
|
69
|
+
return provider;
|
|
70
|
+
}
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=provider-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-defaults.js","sourceRoot":"","sources":["../../src/api/provider-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,wBAAwB;QACnC,KAAK,EAAE,aAAa;KACrB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,2BAA2B;KACnC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,kBAAkB;QAC7B,KAAK,EAAE,UAAU;KAClB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,oBAAoB;KAC5B;IACD,MAAM,EAAE;QACN,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;KAC1B;IACD,SAAS,EAAE;QACT,KAAK,EAAE,+BAA+B;KACvC;IACD,SAAS,EAAE;QACT,KAAK,EAAE,gCAAgC;KACxC;CACF,CAAC;AAEF,iEAAiE;AACjE,MAAM,iBAAiB,GAAgD;IACrE,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAChD,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE;IACtD,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE;IACxD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAChD,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACjD,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE;IACtD,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,WAAW,EAAE;CACzD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB;IAChC,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/api/streamText.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Multi-step tool calling is supported: tool-call and tool-result parts are
|
|
8
8
|
* yielded inline before the next LLM step begins.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { resolveModelOption, resolveProvider, createProviderManager } from './model.js';
|
|
11
11
|
import { adaptTools } from './toolAdapter.js';
|
|
12
12
|
import { StreamingReconstructor } from '../core/llm/streaming/StreamingReconstructor.js';
|
|
13
13
|
/**
|
|
@@ -41,7 +41,7 @@ export function streamText(opts) {
|
|
|
41
41
|
const usage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
|
|
42
42
|
let finalText = '';
|
|
43
43
|
try {
|
|
44
|
-
const { providerId, modelId } =
|
|
44
|
+
const { providerId, modelId } = resolveModelOption(opts, 'text');
|
|
45
45
|
const resolved = resolveProvider(providerId, modelId, { apiKey: opts.apiKey, baseUrl: opts.baseUrl });
|
|
46
46
|
const manager = await createProviderManager(resolved);
|
|
47
47
|
const provider = manager.getProvider(resolved.providerId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamText.js","sourceRoot":"","sources":["../../src/api/streamText.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"streamText.js","sourceRoot":"","sources":["../../src/api/streamText.ts"],"names":[],"mappings":"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"}
|
|
@@ -225,10 +225,10 @@ export declare class CompiledAgentGraph<TState extends GraphState = GraphState>
|
|
|
225
225
|
* The `patch` argument is accepted for API compatibility with future resume-with-patch
|
|
226
226
|
* support; it is not forwarded to the runtime in the current implementation.
|
|
227
227
|
*
|
|
228
|
-
* @param checkpointId -
|
|
228
|
+
* @param checkpointId - Either the original run id or an exact checkpoint id.
|
|
229
229
|
* @param patch - Reserved for future use: optional partial state override.
|
|
230
230
|
* @returns The final `GraphState.artifacts` value after resumption completes.
|
|
231
|
-
* @throws {Error} When no checkpoint exists for the given
|
|
231
|
+
* @throws {Error} When no checkpoint exists for the given identifier.
|
|
232
232
|
*/
|
|
233
233
|
resume(checkpointId: string, patch?: Partial<TState>): Promise<unknown>;
|
|
234
234
|
/**
|
|
@@ -304,10 +304,10 @@ export class CompiledAgentGraph {
|
|
|
304
304
|
* The `patch` argument is accepted for API compatibility with future resume-with-patch
|
|
305
305
|
* support; it is not forwarded to the runtime in the current implementation.
|
|
306
306
|
*
|
|
307
|
-
* @param checkpointId -
|
|
307
|
+
* @param checkpointId - Either the original run id or an exact checkpoint id.
|
|
308
308
|
* @param patch - Reserved for future use: optional partial state override.
|
|
309
309
|
* @returns The final `GraphState.artifacts` value after resumption completes.
|
|
310
|
-
* @throws {Error} When no checkpoint exists for the given
|
|
310
|
+
* @throws {Error} When no checkpoint exists for the given identifier.
|
|
311
311
|
*/
|
|
312
312
|
async resume(checkpointId, patch) {
|
|
313
313
|
// `patch` is not yet forwarded — tracked for implementation in a future PR.
|
|
@@ -186,7 +186,7 @@ export declare class CompiledMission {
|
|
|
186
186
|
/**
|
|
187
187
|
* Resume a previously interrupted run from its latest checkpoint.
|
|
188
188
|
*
|
|
189
|
-
* @param checkpointId -
|
|
189
|
+
* @param checkpointId - Either the original run id or an exact checkpoint id.
|
|
190
190
|
* @param _patch - Optional partial `GraphState` to merge before resuming (reserved).
|
|
191
191
|
* @returns The final `GraphState.artifacts` value once execution completes.
|
|
192
192
|
*/
|
|
@@ -256,7 +256,7 @@ export class CompiledMission {
|
|
|
256
256
|
/**
|
|
257
257
|
* Resume a previously interrupted run from its latest checkpoint.
|
|
258
258
|
*
|
|
259
|
-
* @param checkpointId -
|
|
259
|
+
* @param checkpointId - Either the original run id or an exact checkpoint id.
|
|
260
260
|
* @param _patch - Optional partial `GraphState` to merge before resuming (reserved).
|
|
261
261
|
* @returns The final `GraphState.artifacts` value once execution completes.
|
|
262
262
|
*/
|
|
@@ -251,7 +251,7 @@ export declare class CompiledWorkflow {
|
|
|
251
251
|
/**
|
|
252
252
|
* Resume a previously interrupted workflow run from its latest checkpoint.
|
|
253
253
|
*
|
|
254
|
-
* @param checkpointId -
|
|
254
|
+
* @param checkpointId - Either the original run id or an exact checkpoint id.
|
|
255
255
|
* @returns The final `GraphState.artifacts` value after resumption completes.
|
|
256
256
|
*/
|
|
257
257
|
resume(checkpointId: string): Promise<unknown>;
|
|
@@ -454,7 +454,7 @@ export class CompiledWorkflow {
|
|
|
454
454
|
/**
|
|
455
455
|
* Resume a previously interrupted workflow run from its latest checkpoint.
|
|
456
456
|
*
|
|
457
|
-
* @param checkpointId -
|
|
457
|
+
* @param checkpointId - Either the original run id or an exact checkpoint id.
|
|
458
458
|
* @returns The final `GraphState.artifacts` value after resumption completes.
|
|
459
459
|
*/
|
|
460
460
|
async resume(checkpointId) {
|
|
@@ -76,6 +76,15 @@ export interface Checkpoint {
|
|
|
76
76
|
}>;
|
|
77
77
|
/** Ordered list of node ids that had completed execution when this checkpoint was taken. */
|
|
78
78
|
visitedNodes: string[];
|
|
79
|
+
/**
|
|
80
|
+
* Ordered list of node ids that were explicitly bypassed by routing decisions
|
|
81
|
+
* (for example, the non-selected arm of a conditional branch).
|
|
82
|
+
*
|
|
83
|
+
* Persisting this list is required for correct resume semantics on branched
|
|
84
|
+
* graphs: otherwise a resumed run cannot distinguish "not run yet" from
|
|
85
|
+
* "intentionally skipped" and may stall on dead branches.
|
|
86
|
+
*/
|
|
87
|
+
skippedNodes?: string[];
|
|
79
88
|
/** Ids of edges that had been emitted but whose target nodes had not yet started. */
|
|
80
89
|
pendingEdges: string[];
|
|
81
90
|
}
|
|
@@ -96,6 +105,13 @@ export interface ICheckpointStore {
|
|
|
96
105
|
* @param checkpoint - The snapshot to persist.
|
|
97
106
|
*/
|
|
98
107
|
save(checkpoint: Checkpoint): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Load a checkpoint by its unique checkpoint identifier.
|
|
110
|
+
*
|
|
111
|
+
* @param checkpointId - The exact checkpoint id assigned at save-time.
|
|
112
|
+
* @returns The matching checkpoint, or `null` when none exists.
|
|
113
|
+
*/
|
|
114
|
+
get(checkpointId: string): Promise<Checkpoint | null>;
|
|
99
115
|
/**
|
|
100
116
|
* Load a checkpoint for the given `runId`.
|
|
101
117
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICheckpointStore.d.ts","sourceRoot":"","sources":["../../../src/orchestration/checkpoint/ICheckpointStore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGnG,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMzD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,EAAE;QACL,8DAA8D;QAC9D,KAAK,EAAE,OAAO,CAAC;QACf,uEAAuE;QACvE,OAAO,EAAE,OAAO,CAAC;QACjB,+DAA+D;QAC/D,SAAS,EAAE,OAAO,CAAC;QACnB,8DAA8D;QAC9D,WAAW,EAAE,eAAe,CAAC;KAC9B,CAAC;IAEF;;;OAGG;IACH,cAAc,CAAC,EAAE;QACf,2EAA2E;QAC3E,KAAK,EAAE,KAAK,CAAC;YACX,4CAA4C;YAC5C,OAAO,EAAE,MAAM,CAAC;YAChB,oCAAoC;YACpC,OAAO,EAAE,MAAM,CAAC;YAChB,2CAA2C;YAC3C,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,mFAAmF;QACnF,aAAa,EAAE,KAAK,CAAC;YACnB,yDAAyD;YACzD,IAAI,EAAE,MAAM,CAAC;YACb,qCAAqC;YACrC,OAAO,EAAE,MAAM,CAAC;YAChB,gDAAgD;YAChD,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;KACJ,CAAC;IAEF;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAC1B,wCAAwC;QACxC,WAAW,EAAE,WAAW,CAAC;QACzB,6CAA6C;QAC7C,MAAM,EAAE,OAAO,CAAC;QAChB,iDAAiD;QACjD,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,4FAA4F;IAC5F,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,qFAAqF;IACrF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;;;OAUG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEjE;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAElD;;;;;;;OAOG;IACH,IAAI,CACF,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/E"}
|
|
1
|
+
{"version":3,"file":"ICheckpointStore.d.ts","sourceRoot":"","sources":["../../../src/orchestration/checkpoint/ICheckpointStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,12 @@ export declare class InMemoryCheckpointStore implements ICheckpointStore {
|
|
|
35
35
|
* {@inheritDoc ICheckpointStore.save}
|
|
36
36
|
*/
|
|
37
37
|
save(checkpoint: Checkpoint): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Load a checkpoint by its unique checkpoint id.
|
|
40
|
+
*
|
|
41
|
+
* {@inheritDoc ICheckpointStore.get}
|
|
42
|
+
*/
|
|
43
|
+
get(checkpointId: string): Promise<Checkpoint | null>;
|
|
38
44
|
/**
|
|
39
45
|
* Load a checkpoint for the given `runId`.
|
|
40
46
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryCheckpointStore.d.ts","sourceRoot":"","sources":["../../../src/orchestration/checkpoint/InMemoryCheckpointStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuB9F;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAE9D;;;;;;OAMG;IACG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;;;;OAOG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAYtE;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIvD;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAiBhC;;;;;;OAMG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAmCpF"}
|
|
1
|
+
{"version":3,"file":"InMemoryCheckpointStore.d.ts","sourceRoot":"","sources":["../../../src/orchestration/checkpoint/InMemoryCheckpointStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuB9F;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAE9D;;;;;;OAMG;IACG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;OAIG;IACG,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI3D;;;;;;;OAOG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAYtE;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIvD;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAiBhC;;;;;;OAMG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAmCpF"}
|
|
@@ -57,6 +57,14 @@ export class InMemoryCheckpointStore {
|
|
|
57
57
|
async save(checkpoint) {
|
|
58
58
|
this._checkpoints.set(checkpoint.id, checkpoint);
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Load a checkpoint by its unique checkpoint id.
|
|
62
|
+
*
|
|
63
|
+
* {@inheritDoc ICheckpointStore.get}
|
|
64
|
+
*/
|
|
65
|
+
async get(checkpointId) {
|
|
66
|
+
return this._checkpoints.get(checkpointId) ?? null;
|
|
67
|
+
}
|
|
60
68
|
/**
|
|
61
69
|
* Load a checkpoint for the given `runId`.
|
|
62
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryCheckpointStore.js","sourceRoot":"","sources":["../../../src/orchestration/checkpoint/InMemoryCheckpointStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,UAAsB;IACxC,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM;QAClD,iBAAiB,EAAE,UAAU,CAAC,cAAc,KAAK,SAAS;KAC3D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,uBAAuB;IAApC;QACE,wDAAwD;QACvC,iBAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"InMemoryCheckpointStore.js","sourceRoot":"","sources":["../../../src/orchestration/checkpoint/InMemoryCheckpointStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,11 +87,11 @@ export declare class GraphRuntime {
|
|
|
87
87
|
* outputs to avoid duplicate side-effects; all other nodes are re-executed.
|
|
88
88
|
*
|
|
89
89
|
* @param graph - The same compiled graph that was originally invoked.
|
|
90
|
-
* @param
|
|
90
|
+
* @param runOrCheckpointId - Either the original run id or an exact checkpoint id.
|
|
91
91
|
* @returns The final `GraphState.artifacts` value after resumption completes.
|
|
92
|
-
* @throws {Error} When no checkpoint exists for the given
|
|
92
|
+
* @throws {Error} When no checkpoint exists for the given identifier.
|
|
93
93
|
*/
|
|
94
|
-
resume(graph: CompiledExecutionGraph,
|
|
94
|
+
resume(graph: CompiledExecutionGraph, runOrCheckpointId: string): Promise<unknown>;
|
|
95
95
|
/**
|
|
96
96
|
* Continue execution from a restored checkpoint state.
|
|
97
97
|
*
|
|
@@ -131,5 +131,8 @@ export declare class GraphRuntime {
|
|
|
131
131
|
* @param visitedNodes - Ordered list of completed node ids.
|
|
132
132
|
*/
|
|
133
133
|
private saveCheckpoint;
|
|
134
|
+
private attachCheckpointMetadata;
|
|
135
|
+
private extractTimeoutMs;
|
|
136
|
+
private resolvePendingEdgeIds;
|
|
134
137
|
}
|
|
135
138
|
//# sourceMappingURL=GraphRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/GraphRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAyB,MAAM,gBAAgB,CAAC;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,mCAAmC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAM3E;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,eAAe,EAAE,gBAAgB,CAAC;IAClC,iEAAiE;IACjE,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC;;OAEG;gBAC0B,MAAM,EAAE,kBAAkB;IAMvD;;;;;;;;;OASG;IACG,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/GraphRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAyB,MAAM,gBAAgB,CAAC;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,mCAAmC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAM3E;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,eAAe,EAAE,gBAAgB,CAAC;IAClC,iEAAiE;IACjE,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC;;OAEG;gBAC0B,MAAM,EAAE,kBAAkB;IAMvD;;;;;;;;;OASG;IACG,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;IAyLxF;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BxF;;;;;;;;;;;;OAYG;YACY,sBAAsB;IAkJrC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAwDrB;;;;;;;;;;OAUG;YACW,cAAc;IAgC5B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,qBAAqB;CAK9B"}
|
|
@@ -105,8 +105,9 @@ export class GraphRuntime {
|
|
|
105
105
|
state = stateManager.recordNodeVisit(state, nodeId);
|
|
106
106
|
// ── Checkpoint BEFORE ────────────────────────────────────────────────
|
|
107
107
|
if (node.checkpoint === 'before' || node.checkpoint === 'both') {
|
|
108
|
-
await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes);
|
|
109
|
-
|
|
108
|
+
const checkpointId = await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes, skippedNodes, []);
|
|
109
|
+
state = this.attachCheckpointMetadata(state, checkpointId);
|
|
110
|
+
yield { type: 'checkpoint_saved', checkpointId, nodeId };
|
|
110
111
|
}
|
|
111
112
|
yield { type: 'node_start', nodeId, state: { input: state.input, scratch: state.scratch } };
|
|
112
113
|
const nodeStart = Date.now();
|
|
@@ -125,28 +126,44 @@ export class GraphRuntime {
|
|
|
125
126
|
if (result.artifactsUpdate) {
|
|
126
127
|
state = stateManager.updateArtifacts(state, result.artifactsUpdate);
|
|
127
128
|
}
|
|
128
|
-
yield { type: 'node_end', nodeId, output: result.output, durationMs };
|
|
129
129
|
// ── Human interrupt ───────────────────────────────────────────────────
|
|
130
130
|
if (result.interrupt) {
|
|
131
|
+
yield { type: 'node_end', nodeId, output: result.output, durationMs };
|
|
131
132
|
yield { type: 'interrupt', nodeId, reason: 'human_approval' };
|
|
132
133
|
// Persist so the run can be resumed later.
|
|
133
|
-
await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes);
|
|
134
|
+
const checkpointId = await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes, skippedNodes, []);
|
|
135
|
+
state = this.attachCheckpointMetadata(state, checkpointId);
|
|
136
|
+
yield { type: 'checkpoint_saved', checkpointId, nodeId };
|
|
137
|
+
yield { type: 'run_end', runId, finalOutput: state.artifacts, totalDurationMs: Date.now() - startTime };
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (!result.success) {
|
|
141
|
+
const errorMessage = result.error ?? `Node ${nodeId} failed`;
|
|
142
|
+
const timeoutMs = this.extractTimeoutMs(errorMessage);
|
|
143
|
+
if (timeoutMs !== null) {
|
|
144
|
+
yield { type: 'node_timeout', nodeId, timeoutMs };
|
|
145
|
+
}
|
|
146
|
+
yield {
|
|
147
|
+
type: 'error',
|
|
148
|
+
nodeId,
|
|
149
|
+
error: {
|
|
150
|
+
code: timeoutMs !== null ? 'NODE_TIMEOUT' : 'NODE_EXECUTION_FAILED',
|
|
151
|
+
message: errorMessage,
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
const checkpointId = await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes, skippedNodes, []);
|
|
155
|
+
state = this.attachCheckpointMetadata(state, checkpointId);
|
|
156
|
+
yield { type: 'checkpoint_saved', checkpointId, nodeId };
|
|
134
157
|
yield {
|
|
135
|
-
type: '
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
totalDurationMs: Date.now() - startTime,
|
|
158
|
+
type: 'interrupt',
|
|
159
|
+
nodeId,
|
|
160
|
+
reason: node.type === 'guardrail' ? 'guardrail_violation' : 'error',
|
|
139
161
|
};
|
|
162
|
+
yield { type: 'run_end', runId, finalOutput: state.artifacts, totalDurationMs: Date.now() - startTime };
|
|
140
163
|
return;
|
|
141
164
|
}
|
|
165
|
+
yield { type: 'node_end', nodeId, output: result.output, durationMs };
|
|
142
166
|
completedNodes.push(nodeId);
|
|
143
|
-
// ── Checkpoint AFTER ──────────────────────────────────────────────────
|
|
144
|
-
if (node.checkpoint === 'after' ||
|
|
145
|
-
node.checkpoint === 'both' ||
|
|
146
|
-
graph.checkpointPolicy === 'every_node') {
|
|
147
|
-
await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes);
|
|
148
|
-
yield { type: 'checkpoint_saved', checkpointId: `${runId}-${nodeId}-after`, nodeId };
|
|
149
|
-
}
|
|
150
167
|
// ── Edge routing ──────────────────────────────────────────────────────
|
|
151
168
|
const outEdges = graph.edges.filter(e => e.source === nodeId);
|
|
152
169
|
const targets = this.evaluateEdges(outEdges, state, result);
|
|
@@ -169,6 +186,14 @@ export class GraphRuntime {
|
|
|
169
186
|
yield { type: 'edge_transition', sourceId: nodeId, targetId: target, edgeType };
|
|
170
187
|
}
|
|
171
188
|
}
|
|
189
|
+
// ── Checkpoint AFTER ──────────────────────────────────────────────────
|
|
190
|
+
if (node.checkpoint === 'after' ||
|
|
191
|
+
node.checkpoint === 'both' ||
|
|
192
|
+
graph.checkpointPolicy === 'every_node') {
|
|
193
|
+
const checkpointId = await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes, skippedNodes, this.resolvePendingEdgeIds(outEdges, targets));
|
|
194
|
+
state = this.attachCheckpointMetadata(state, checkpointId);
|
|
195
|
+
yield { type: 'checkpoint_saved', checkpointId, nodeId };
|
|
196
|
+
}
|
|
172
197
|
}
|
|
173
198
|
}
|
|
174
199
|
yield {
|
|
@@ -187,14 +212,15 @@ export class GraphRuntime {
|
|
|
187
212
|
* outputs to avoid duplicate side-effects; all other nodes are re-executed.
|
|
188
213
|
*
|
|
189
214
|
* @param graph - The same compiled graph that was originally invoked.
|
|
190
|
-
* @param
|
|
215
|
+
* @param runOrCheckpointId - Either the original run id or an exact checkpoint id.
|
|
191
216
|
* @returns The final `GraphState.artifacts` value after resumption completes.
|
|
192
|
-
* @throws {Error} When no checkpoint exists for the given
|
|
217
|
+
* @throws {Error} When no checkpoint exists for the given identifier.
|
|
193
218
|
*/
|
|
194
|
-
async resume(graph,
|
|
195
|
-
const checkpoint = await this.config.checkpointStore.latest(
|
|
219
|
+
async resume(graph, runOrCheckpointId) {
|
|
220
|
+
const checkpoint = await this.config.checkpointStore.latest(runOrCheckpointId)
|
|
221
|
+
?? await this.config.checkpointStore.get(runOrCheckpointId);
|
|
196
222
|
if (!checkpoint)
|
|
197
|
-
throw new Error(`No checkpoint found for
|
|
223
|
+
throw new Error(`No checkpoint found for identifier ${runOrCheckpointId}`);
|
|
198
224
|
// Reconstruct graph state from the persisted snapshot.
|
|
199
225
|
const stateManager = new StateManager(graph.reducers);
|
|
200
226
|
let state = stateManager.initialize(checkpoint.state.input);
|
|
@@ -206,7 +232,7 @@ export class GraphRuntime {
|
|
|
206
232
|
iteration: checkpoint.visitedNodes.length,
|
|
207
233
|
};
|
|
208
234
|
let finalOutput;
|
|
209
|
-
for await (const event of this.continueFromCheckpoint(graph, runId, state, checkpoint)) {
|
|
235
|
+
for await (const event of this.continueFromCheckpoint(graph, checkpoint.runId, state, checkpoint)) {
|
|
210
236
|
if (event.type === 'run_end')
|
|
211
237
|
finalOutput = event.finalOutput;
|
|
212
238
|
}
|
|
@@ -232,7 +258,7 @@ export class GraphRuntime {
|
|
|
232
258
|
const scheduler = new NodeScheduler(graph.nodes, graph.edges);
|
|
233
259
|
const stateManager = new StateManager(graph.reducers);
|
|
234
260
|
const completedNodes = [...checkpoint.visitedNodes];
|
|
235
|
-
const skippedNodes = [];
|
|
261
|
+
const skippedNodes = [...(checkpoint.skippedNodes ?? [])];
|
|
236
262
|
const nodeResults = { ...checkpoint.nodeResults };
|
|
237
263
|
const startTime = Date.now();
|
|
238
264
|
yield { type: 'run_start', runId, graphId: graph.id };
|
|
@@ -268,11 +294,56 @@ export class GraphRuntime {
|
|
|
268
294
|
state = stateManager.updateScratch(state, result.scratchUpdate);
|
|
269
295
|
if (result.artifactsUpdate)
|
|
270
296
|
state = stateManager.updateArtifacts(state, result.artifactsUpdate);
|
|
297
|
+
if (result.interrupt) {
|
|
298
|
+
yield { type: 'node_end', nodeId, output: result.output, durationMs };
|
|
299
|
+
yield { type: 'interrupt', nodeId, reason: 'human_approval' };
|
|
300
|
+
const checkpointId = await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes, skippedNodes, []);
|
|
301
|
+
state = this.attachCheckpointMetadata(state, checkpointId);
|
|
302
|
+
yield { type: 'checkpoint_saved', checkpointId, nodeId };
|
|
303
|
+
yield { type: 'run_end', runId, finalOutput: state.artifacts, totalDurationMs: Date.now() - startTime };
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (!result.success) {
|
|
307
|
+
const errorMessage = result.error ?? `Node ${nodeId} failed`;
|
|
308
|
+
const timeoutMs = this.extractTimeoutMs(errorMessage);
|
|
309
|
+
if (timeoutMs !== null) {
|
|
310
|
+
yield { type: 'node_timeout', nodeId, timeoutMs };
|
|
311
|
+
}
|
|
312
|
+
yield {
|
|
313
|
+
type: 'error',
|
|
314
|
+
nodeId,
|
|
315
|
+
error: {
|
|
316
|
+
code: timeoutMs !== null ? 'NODE_TIMEOUT' : 'NODE_EXECUTION_FAILED',
|
|
317
|
+
message: errorMessage,
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
const checkpointId = await this.saveCheckpoint(graph, runId, nodeId, state, nodeResults, completedNodes, skippedNodes, []);
|
|
321
|
+
state = this.attachCheckpointMetadata(state, checkpointId);
|
|
322
|
+
yield { type: 'checkpoint_saved', checkpointId, nodeId };
|
|
323
|
+
yield {
|
|
324
|
+
type: 'interrupt',
|
|
325
|
+
nodeId,
|
|
326
|
+
reason: node.type === 'guardrail' ? 'guardrail_violation' : 'error',
|
|
327
|
+
};
|
|
328
|
+
yield { type: 'run_end', runId, finalOutput: state.artifacts, totalDurationMs: Date.now() - startTime };
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
271
331
|
yield { type: 'node_end', nodeId, output: result.output, durationMs };
|
|
272
332
|
completedNodes.push(nodeId);
|
|
273
333
|
// Evaluate outgoing edges for the resumed node.
|
|
274
334
|
const outEdges = graph.edges.filter(e => e.source === nodeId);
|
|
275
335
|
const targets = this.evaluateEdges(outEdges, state, result);
|
|
336
|
+
for (const edge of outEdges) {
|
|
337
|
+
if (edge.type === 'conditional' || edge.type === 'personality') {
|
|
338
|
+
for (const potentialTarget of outEdges.map(e => e.target)) {
|
|
339
|
+
if (!targets.includes(potentialTarget) &&
|
|
340
|
+
!completedNodes.includes(potentialTarget) &&
|
|
341
|
+
!skippedNodes.includes(potentialTarget)) {
|
|
342
|
+
skippedNodes.push(potentialTarget);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
276
347
|
for (const target of targets) {
|
|
277
348
|
if (target !== END) {
|
|
278
349
|
const edgeType = outEdges.find(e => e.target === target)?.type ?? 'static';
|
|
@@ -357,9 +428,9 @@ export class GraphRuntime {
|
|
|
357
428
|
* @param nodeResults - Accumulated per-node execution results.
|
|
358
429
|
* @param visitedNodes - Ordered list of completed node ids.
|
|
359
430
|
*/
|
|
360
|
-
async saveCheckpoint(graph, runId, nodeId, state, nodeResults, visitedNodes) {
|
|
431
|
+
async saveCheckpoint(graph, runId, nodeId, state, nodeResults, visitedNodes, skippedNodes, pendingEdges) {
|
|
361
432
|
const checkpoint = {
|
|
362
|
-
id:
|
|
433
|
+
id: crypto.randomUUID(),
|
|
363
434
|
graphId: graph.id,
|
|
364
435
|
runId,
|
|
365
436
|
nodeId,
|
|
@@ -373,9 +444,33 @@ export class GraphRuntime {
|
|
|
373
444
|
// Cast: checkpoint type requires EffectClass but we store as string for flexibility.
|
|
374
445
|
nodeResults: nodeResults,
|
|
375
446
|
visitedNodes: [...visitedNodes],
|
|
376
|
-
|
|
447
|
+
skippedNodes: [...skippedNodes],
|
|
448
|
+
pendingEdges: [...pendingEdges],
|
|
377
449
|
};
|
|
378
450
|
await this.config.checkpointStore.save(checkpoint);
|
|
451
|
+
return checkpoint.id;
|
|
452
|
+
}
|
|
453
|
+
attachCheckpointMetadata(state, checkpointId) {
|
|
454
|
+
return {
|
|
455
|
+
...state,
|
|
456
|
+
checkpointId,
|
|
457
|
+
diagnostics: {
|
|
458
|
+
...state.diagnostics,
|
|
459
|
+
checkpointsSaved: state.diagnostics.checkpointsSaved + 1,
|
|
460
|
+
},
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
extractTimeoutMs(errorMessage) {
|
|
464
|
+
const match = errorMessage.match(/timeout after (\d+)ms/i);
|
|
465
|
+
if (!match)
|
|
466
|
+
return null;
|
|
467
|
+
const value = Number(match[1]);
|
|
468
|
+
return Number.isFinite(value) ? value : null;
|
|
469
|
+
}
|
|
470
|
+
resolvePendingEdgeIds(edges, targets) {
|
|
471
|
+
return edges
|
|
472
|
+
.filter((edge) => edge.target !== END && targets.includes(edge.target))
|
|
473
|
+
.map((edge) => edge.id);
|
|
379
474
|
}
|
|
380
475
|
}
|
|
381
476
|
//# sourceMappingURL=GraphRuntime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/GraphRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAoBnD,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,KAA6B,EAAE,KAAc;QACxD,IAAI,WAAoB,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAChE,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,KAA6B,EAAE,KAAc;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9D,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,gEAAgE;QAChE,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,8DAA8D;QAC9D,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,yEAAyE;QACzE,MAAM,WAAW,GAAiF,EAAE,CAAC;QAErG,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAEtD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,uCAAuC;YAE3E,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,0EAA0E;oBAC1E,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAEpD,wEAAwE;gBACxE,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;oBAC/D,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;oBACpF,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,KAAK,IAAI,MAAM,SAAS,EAAE,MAAM,EAAE,CAAC;gBACxF,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,yEAAyE;gBACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE1C,WAAW,CAAC,MAAM,CAAC,GAAG;oBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU;iBACX,CAAC;gBAEF,4CAA4C;gBAC5C,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;gBACtE,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBAEtE,yEAAyE;gBACzE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;oBAC9D,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;oBACpF,MAAM;wBACJ,IAAI,EAAE,SAAS;wBACf,KAAK;wBACL,WAAW,EAAE,KAAK,CAAC,SAAS;wBAC5B,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACxC,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5B,yEAAyE;gBACzE,IACE,IAAI,CAAC,UAAU,KAAK,OAAO;oBAC3B,IAAI,CAAC,UAAU,KAAK,MAAM;oBAC1B,KAAK,CAAC,gBAAgB,KAAK,YAAY,EACvC,CAAC;oBACD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;oBACpF,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,KAAK,IAAI,MAAM,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACvF,CAAC;gBAED,yEAAyE;gBACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAE5D,yEAAyE;gBACzE,2EAA2E;gBAC3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBAC/D,KAAK,MAAM,eAAe,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC1D,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gCAClC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;gCACzC,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EACvC,CAAC;gCACD,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;4BACrC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC;wBAC3E,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,SAAS;YACf,KAAK;YACL,WAAW,EAAE,KAAK,CAAC,SAAS;YAC5B,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,CAAC,KAA6B,EAAE,KAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QAEzE,uDAAuD;QACvD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,GAAG;YACN,GAAG,KAAK;YACR,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAgC;YAC1D,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,SAAoC;YAChE,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;YAC1C,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM;SAC1C,CAAC;QAEF,IAAI,WAAoB,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACvF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAChE,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,CAAC,sBAAsB,CACnC,KAA6B,EAC7B,KAAa,EACb,KAAiB,EACjB,UAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAEtD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAEnC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,6EAA6E;gBAC7E,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAChD,IACE,QAAQ;oBACR,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO;wBAC/B,QAAQ,CAAC,WAAW,KAAK,UAAU;wBACnC,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC,EACnC,CAAC;oBACD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;oBAC7F,SAAS;gBACX,CAAC;gBAED,+EAA+E;gBAC/E,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE1C,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBAE3F,IAAI,MAAM,CAAC,aAAa;oBAAE,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1F,IAAI,MAAM,CAAC,eAAe;oBAAE,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEhG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBACtE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5B,gDAAgD;gBAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAE5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC;wBAC3E,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,SAAS;YACf,KAAK;YACL,WAAW,EAAE,KAAK,CAAC,SAAS;YAC5B,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,aAAa,CACnB,KAAkB,EAClB,KAAiB,EACjB,MAA2B;QAE3B,4EAA4E;QAC5E,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,QAAQ;oBACX,8BAA8B;oBAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,MAAM;gBAER,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,SAAS;wBAAE,MAAM;oBAE3B,IAAI,cAAsB,CAAC;oBAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACvC,wDAAwD;wBACxD,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,wEAAwE;wBACxE,uDAAuD;wBACvD,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC/B,CAAC;oBAED,uEAAuE;oBACvE,IAAI,cAAc,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;wBACxE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC/B,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,aAAa;oBAChB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC9B,gFAAgF;wBAChF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBAChD,CAAC;oBACD,MAAM;gBAER,KAAK,WAAW;oBACd,4EAA4E;oBAC5E,IAAI,IAAI,CAAC,iBAAiB;wBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACjE,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,cAAc,CAC1B,KAA6B,EAC7B,KAAa,EACb,MAAc,EACd,KAAiB,EACjB,WAAyF,EACzF,YAAsB;QAEtB,MAAM,UAAU,GAAe;YAC7B,EAAE,EAAE,GAAG,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;YACtC,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,KAAK;YACL,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B;YACD,qFAAqF;YACrF,WAAW,EAAE,WAAwC;YACrD,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC;YAC/B,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"GraphRuntime.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
|