@oni.bot/core 0.8.0 → 1.0.1
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/CHANGELOG.md +15 -0
- package/README.md +59 -373
- package/dist/checkpointers/sqlite.d.ts.map +1 -1
- package/dist/checkpointers/sqlite.js +23 -8
- package/dist/checkpointers/sqlite.js.map +1 -1
- package/dist/cli/build.d.ts +11 -0
- package/dist/cli/build.d.ts.map +1 -0
- package/dist/cli/build.js +61 -0
- package/dist/cli/build.js.map +1 -0
- package/dist/cli/dev.d.ts +5 -0
- package/dist/cli/dev.d.ts.map +1 -0
- package/dist/cli/dev.js +54 -0
- package/dist/cli/dev.js.map +1 -0
- package/dist/cli/index.js +16 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +18 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/inspect.d.ts +5 -0
- package/dist/cli/inspect.d.ts.map +1 -0
- package/dist/cli/inspect.js +85 -0
- package/dist/cli/inspect.js.map +1 -0
- package/dist/cli/router.d.ts +14 -0
- package/dist/cli/router.d.ts.map +1 -0
- package/dist/cli/router.js +107 -0
- package/dist/cli/router.js.map +1 -0
- package/dist/cli/run.d.ts +5 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +53 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/templates.d.ts +1 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +106 -66
- package/dist/cli/templates.js.map +1 -1
- package/dist/cli/test.d.ts +3 -0
- package/dist/cli/test.d.ts.map +1 -0
- package/dist/cli/test.js +29 -0
- package/dist/cli/test.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +37 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +180 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +74 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +5 -0
- package/dist/config/types.js.map +1 -0
- package/dist/coordination/pubsub.d.ts +4 -0
- package/dist/coordination/pubsub.d.ts.map +1 -1
- package/dist/coordination/pubsub.js +8 -0
- package/dist/coordination/pubsub.js.map +1 -1
- package/dist/coordination/request-reply.d.ts +3 -1
- package/dist/coordination/request-reply.d.ts.map +1 -1
- package/dist/coordination/request-reply.js +11 -2
- package/dist/coordination/request-reply.js.map +1 -1
- package/dist/errors.d.ts +7 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +18 -3
- package/dist/errors.js.map +1 -1
- package/dist/events/bridge.d.ts +17 -0
- package/dist/events/bridge.d.ts.map +1 -0
- package/dist/events/bridge.js +67 -0
- package/dist/events/bridge.js.map +1 -0
- package/dist/events/bus.d.ts +9 -0
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/bus.js +39 -4
- package/dist/events/bus.js.map +1 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/types.d.ts +123 -1
- package/dist/events/types.d.ts.map +1 -1
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +16 -8
- package/dist/graph.js.map +1 -1
- package/dist/guardrails/types.d.ts +1 -1
- package/dist/guardrails/types.d.ts.map +1 -1
- package/dist/harness/agent-loop.d.ts.map +1 -1
- package/dist/harness/agent-loop.js +226 -29
- package/dist/harness/agent-loop.js.map +1 -1
- package/dist/harness/context-compactor.d.ts +21 -2
- package/dist/harness/context-compactor.d.ts.map +1 -1
- package/dist/harness/context-compactor.js +45 -6
- package/dist/harness/context-compactor.js.map +1 -1
- package/dist/harness/hooks-engine.d.ts +7 -1
- package/dist/harness/hooks-engine.d.ts.map +1 -1
- package/dist/harness/hooks-engine.js.map +1 -1
- package/dist/harness/index.d.ts +3 -2
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +2 -0
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/skill-loader.d.ts +14 -1
- package/dist/harness/skill-loader.d.ts.map +1 -1
- package/dist/harness/skill-loader.js +33 -3
- package/dist/harness/skill-loader.js.map +1 -1
- package/dist/harness/types.d.ts +24 -2
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/validate-args.d.ts +16 -0
- package/dist/harness/validate-args.d.ts.map +1 -0
- package/dist/harness/validate-args.js +132 -0
- package/dist/harness/validate-args.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/internal/timeout.d.ts +2 -0
- package/dist/internal/timeout.d.ts.map +1 -0
- package/dist/internal/timeout.js +16 -0
- package/dist/internal/timeout.js.map +1 -0
- package/dist/lsp/client.d.ts +70 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +421 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/index.d.ts +77 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +183 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp/servers.d.ts +48 -0
- package/dist/lsp/servers.d.ts.map +1 -0
- package/dist/lsp/servers.js +108 -0
- package/dist/lsp/servers.js.map +1 -0
- package/dist/lsp/types.d.ts +142 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +16 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/mcp/client.d.ts +56 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +170 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/convert.d.ts +26 -0
- package/dist/mcp/convert.d.ts.map +1 -0
- package/dist/mcp/convert.js +56 -0
- package/dist/mcp/convert.js.map +1 -0
- package/dist/mcp/index.d.ts +21 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +19 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/transport.d.ts +56 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +204 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/types.d.ts +96 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +11 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/models/anthropic.d.ts.map +1 -1
- package/dist/models/anthropic.js +78 -41
- package/dist/models/anthropic.js.map +1 -1
- package/dist/models/google.d.ts.map +1 -1
- package/dist/models/google.js +47 -46
- package/dist/models/google.js.map +1 -1
- package/dist/models/http-error.d.ts +16 -0
- package/dist/models/http-error.d.ts.map +1 -0
- package/dist/models/http-error.js +67 -0
- package/dist/models/http-error.js.map +1 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +2 -0
- package/dist/models/index.js.map +1 -1
- package/dist/models/ollama.d.ts.map +1 -1
- package/dist/models/ollama.js +4 -3
- package/dist/models/ollama.js.map +1 -1
- package/dist/models/openai.d.ts.map +1 -1
- package/dist/models/openai.js +36 -44
- package/dist/models/openai.js.map +1 -1
- package/dist/models/openrouter.d.ts +13 -0
- package/dist/models/openrouter.d.ts.map +1 -1
- package/dist/models/openrouter.js +86 -47
- package/dist/models/openrouter.js.map +1 -1
- package/dist/models/sse.d.ts +9 -0
- package/dist/models/sse.d.ts.map +1 -0
- package/dist/models/sse.js +45 -0
- package/dist/models/sse.js.map +1 -0
- package/dist/models/types.d.ts +10 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/pregel.d.ts +4 -0
- package/dist/pregel.d.ts.map +1 -1
- package/dist/pregel.js +121 -54
- package/dist/pregel.js.map +1 -1
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +10 -3
- package/dist/retry.js.map +1 -1
- package/dist/store/index.d.ts +3 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +17 -0
- package/dist/store/index.js.map +1 -1
- package/dist/streaming.d.ts +4 -1
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +21 -7
- package/dist/streaming.js.map +1 -1
- package/dist/swarm/graph.d.ts +81 -2
- package/dist/swarm/graph.d.ts.map +1 -1
- package/dist/swarm/graph.js +517 -32
- package/dist/swarm/graph.js.map +1 -1
- package/dist/swarm/index.d.ts +10 -2
- package/dist/swarm/index.d.ts.map +1 -1
- package/dist/swarm/index.js +6 -1
- package/dist/swarm/index.js.map +1 -1
- package/dist/swarm/mermaid.d.ts +10 -0
- package/dist/swarm/mermaid.d.ts.map +1 -0
- package/dist/swarm/mermaid.js +64 -0
- package/dist/swarm/mermaid.js.map +1 -0
- package/dist/swarm/pool.d.ts +9 -1
- package/dist/swarm/pool.d.ts.map +1 -1
- package/dist/swarm/pool.js +58 -10
- package/dist/swarm/pool.js.map +1 -1
- package/dist/swarm/registry.d.ts +11 -1
- package/dist/swarm/registry.d.ts.map +1 -1
- package/dist/swarm/registry.js +17 -3
- package/dist/swarm/registry.js.map +1 -1
- package/dist/swarm/scaling.d.ts +95 -0
- package/dist/swarm/scaling.d.ts.map +1 -0
- package/dist/swarm/scaling.js +214 -0
- package/dist/swarm/scaling.js.map +1 -0
- package/dist/swarm/snapshot.d.ts +51 -0
- package/dist/swarm/snapshot.d.ts.map +1 -0
- package/dist/swarm/snapshot.js +115 -0
- package/dist/swarm/snapshot.js.map +1 -0
- package/dist/swarm/supervisor.d.ts.map +1 -1
- package/dist/swarm/supervisor.js +82 -0
- package/dist/swarm/supervisor.js.map +1 -1
- package/dist/swarm/tracer.d.ts +57 -0
- package/dist/swarm/tracer.d.ts.map +1 -0
- package/dist/swarm/tracer.js +138 -0
- package/dist/swarm/tracer.js.map +1 -0
- package/dist/swarm/types.d.ts +23 -1
- package/dist/swarm/types.d.ts.map +1 -1
- package/dist/swarm/types.js.map +1 -1
- package/dist/tools/types.d.ts +2 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/package.json +160 -141
package/dist/models/types.d.ts
CHANGED
|
@@ -31,15 +31,25 @@ export interface LLMToolDef {
|
|
|
31
31
|
export interface ChatParams {
|
|
32
32
|
messages: ONIModelMessage[];
|
|
33
33
|
tools?: LLMToolDef[];
|
|
34
|
+
toolChoice?: "none" | "required" | "auto" | {
|
|
35
|
+
name: string;
|
|
36
|
+
};
|
|
34
37
|
systemPrompt?: string;
|
|
35
38
|
temperature?: number;
|
|
36
39
|
maxTokens?: number;
|
|
37
40
|
stopSequences?: string[];
|
|
38
41
|
signal?: AbortSignal;
|
|
42
|
+
responseFormat?: {
|
|
43
|
+
type: "json_schema";
|
|
44
|
+
name: string;
|
|
45
|
+
schema: Record<string, unknown>;
|
|
46
|
+
strict?: boolean;
|
|
47
|
+
};
|
|
39
48
|
}
|
|
40
49
|
export interface ChatResponse {
|
|
41
50
|
content: string;
|
|
42
51
|
toolCalls?: ONIModelToolCall[];
|
|
52
|
+
parsed?: unknown;
|
|
43
53
|
usage: TokenUsage;
|
|
44
54
|
stopReason: "end" | "tool_use" | "max_tokens" | "stop_sequence";
|
|
45
55
|
raw?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;IAChE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,GAAG,OAAO,CAAC;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACtD,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/pregel.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export declare class ONIPregelRunner<S extends Record<string, unknown>> {
|
|
|
28
28
|
readonly auditLog: AuditLog | null;
|
|
29
29
|
readonly budgetTracker: BudgetTracker | null;
|
|
30
30
|
readonly tracer: ONITracer;
|
|
31
|
+
/** Pre-indexed edges by source node — O(1) lookup instead of O(n) filter */
|
|
32
|
+
private readonly _edgesBySource;
|
|
33
|
+
/** Pre-computed ephemeral channel keys — avoids iterating all channels */
|
|
34
|
+
private readonly _ephemeralKeys;
|
|
31
35
|
constructor(nodes: Map<string, NodeDefinition<S>>, edges: Edge<S>[], channels: ChannelSchema<S>, interruptConfig?: InterruptConfig, checkpointer?: ONICheckpointer<S> | null, store?: BaseStore | null, guardrails?: GuardrailsConfig, listeners?: EventListeners, defaults?: {
|
|
32
36
|
nodeTimeout?: number;
|
|
33
37
|
} | undefined, dlq?: DeadLetterQueue | null, tracer?: TracerLike | null);
|
package/dist/pregel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pregel.d.ts","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"AAKA,OAAO,EAEU,KAAK,cAAc,EAAE,KAAK,IAAI,EAAE,KAAK,aAAa,EACjE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAC1E,KAAK,eAAe,EAAE,KAAK,aAAa,EAEzC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAK5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EACwC,gBAAgB,EAG9D,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAS3E,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pregel.d.ts","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}
|
package/dist/pregel.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
// New: interrupt() context management, HITL resume, token streaming
|
|
4
4
|
// ============================================================
|
|
5
5
|
import { START, END, Send, Command, } from "./types.js";
|
|
6
|
-
import { RecursionLimitError, NodeNotFoundError, ONIInterrupt, NodeTimeoutError } from "./errors.js";
|
|
6
|
+
import { RecursionLimitError, NodeNotFoundError, ONIInterrupt, NodeTimeoutError, ONIError, NodeExecutionError } from "./errors.js";
|
|
7
7
|
import { CircuitBreaker } from "./circuit-breaker.js";
|
|
8
8
|
import { withRetry } from "./retry.js";
|
|
9
9
|
import { NamespacedCheckpointer } from "./checkpointers/namespaced.js";
|
|
10
10
|
import { _runWithContext } from "./context.js";
|
|
11
|
-
import { StreamWriterImpl } from "./streaming.js";
|
|
11
|
+
import { StreamWriterImpl, _installTokenHandler, _clearTokenHandler } from "./streaming.js";
|
|
12
12
|
import { NodeInterruptSignal, HITLInterruptException, HITLSessionStore, _installInterruptContext, _clearInterruptContext, } from "./hitl/index.js";
|
|
13
13
|
import { EventBus } from "./events/bus.js";
|
|
14
14
|
import { AuditLog } from "./guardrails/audit.js";
|
|
@@ -35,6 +35,10 @@ export class ONIPregelRunner {
|
|
|
35
35
|
auditLog;
|
|
36
36
|
budgetTracker;
|
|
37
37
|
tracer;
|
|
38
|
+
/** Pre-indexed edges by source node — O(1) lookup instead of O(n) filter */
|
|
39
|
+
_edgesBySource;
|
|
40
|
+
/** Pre-computed ephemeral channel keys — avoids iterating all channels */
|
|
41
|
+
_ephemeralKeys;
|
|
38
42
|
constructor(nodes, edges, channels, interruptConfig = {}, checkpointer = null, store = null, guardrails, listeners, defaults, dlq = null, tracer) {
|
|
39
43
|
this.nodes = nodes;
|
|
40
44
|
this.edges = edges;
|
|
@@ -48,6 +52,19 @@ export class ONIPregelRunner {
|
|
|
48
52
|
this.auditLog = guardrails?.audit ? new AuditLog() : null;
|
|
49
53
|
this.budgetTracker = guardrails?.budget ? new BudgetTracker(guardrails.budget) : null;
|
|
50
54
|
this.tracer = new ONITracer(tracer ?? null);
|
|
55
|
+
// Pre-index edges by source for O(1) lookups in getNextNodes
|
|
56
|
+
this._edgesBySource = new Map();
|
|
57
|
+
for (const edge of edges) {
|
|
58
|
+
const from = edge.from;
|
|
59
|
+
let list = this._edgesBySource.get(from);
|
|
60
|
+
if (!list) {
|
|
61
|
+
list = [];
|
|
62
|
+
this._edgesBySource.set(from, list);
|
|
63
|
+
}
|
|
64
|
+
list.push(edge);
|
|
65
|
+
}
|
|
66
|
+
// Pre-compute ephemeral keys to avoid scanning all channels per superstep
|
|
67
|
+
this._ephemeralKeys = Object.keys(channels).filter((k) => channels[k].ephemeral);
|
|
51
68
|
}
|
|
52
69
|
// ----------------------------------------------------------------
|
|
53
70
|
// State helpers
|
|
@@ -60,8 +77,11 @@ export class ONIPregelRunner {
|
|
|
60
77
|
return state;
|
|
61
78
|
}
|
|
62
79
|
applyUpdate(current, update) {
|
|
80
|
+
const keys = Object.keys(update);
|
|
81
|
+
if (keys.length === 0)
|
|
82
|
+
return current;
|
|
63
83
|
const next = { ...current };
|
|
64
|
-
for (const key of
|
|
84
|
+
for (const key of keys) {
|
|
65
85
|
if (update[key] !== undefined) {
|
|
66
86
|
const ch = this.channels[key];
|
|
67
87
|
next[key] = ch
|
|
@@ -72,10 +92,11 @@ export class ONIPregelRunner {
|
|
|
72
92
|
return next;
|
|
73
93
|
}
|
|
74
94
|
resetEphemeral(state) {
|
|
95
|
+
if (this._ephemeralKeys.length === 0)
|
|
96
|
+
return state;
|
|
75
97
|
const next = { ...state };
|
|
76
|
-
for (const key of
|
|
77
|
-
|
|
78
|
-
next[key] = this.channels[key].default();
|
|
98
|
+
for (const key of this._ephemeralKeys) {
|
|
99
|
+
next[key] = this.channels[key].default();
|
|
79
100
|
}
|
|
80
101
|
return next;
|
|
81
102
|
}
|
|
@@ -83,7 +104,7 @@ export class ONIPregelRunner {
|
|
|
83
104
|
// Edge resolution
|
|
84
105
|
// ----------------------------------------------------------------
|
|
85
106
|
getNextNodes(fromNode, state, config) {
|
|
86
|
-
const outgoing = this.
|
|
107
|
+
const outgoing = this._edgesBySource.get(fromNode) ?? [];
|
|
87
108
|
const nodes = [];
|
|
88
109
|
const sends = [];
|
|
89
110
|
for (const edge of outgoing) {
|
|
@@ -107,11 +128,12 @@ export class ONIPregelRunner {
|
|
|
107
128
|
// Execute a node with interrupt() context installed
|
|
108
129
|
// ----------------------------------------------------------------
|
|
109
130
|
async executeNode(nodeDef, state, config, resumeValue, hasResume, writer, step, recursionLimit) {
|
|
110
|
-
// Check cache
|
|
131
|
+
// Check cache (compute key once, reuse for both lookup and store)
|
|
132
|
+
let cacheKey;
|
|
111
133
|
if (nodeDef.cache) {
|
|
112
134
|
const policy = typeof nodeDef.cache === "object" ? nodeDef.cache : {};
|
|
113
135
|
const keyFn = policy.key ?? ((s) => JSON.stringify(s));
|
|
114
|
-
|
|
136
|
+
cacheKey = `${nodeDef.name}::${keyFn(state)}`;
|
|
115
137
|
const cached = this.nodeCache.get(cacheKey);
|
|
116
138
|
if (cached) {
|
|
117
139
|
const ttl = policy.ttl ?? Infinity;
|
|
@@ -170,17 +192,27 @@ export class ONIPregelRunner {
|
|
|
170
192
|
// Wrap with circuit breaker if configured
|
|
171
193
|
const cb = this.getCircuitBreaker(nodeDef);
|
|
172
194
|
let result;
|
|
173
|
-
|
|
174
|
-
|
|
195
|
+
try {
|
|
196
|
+
if (cb) {
|
|
197
|
+
result = await cb.execute(executeWithTimeout);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
result = await executeWithTimeout();
|
|
201
|
+
}
|
|
175
202
|
}
|
|
176
|
-
|
|
177
|
-
|
|
203
|
+
catch (err) {
|
|
204
|
+
// Pass through interrupt signals (thrown by interrupt() inside nodes)
|
|
205
|
+
if (err instanceof NodeInterruptSignal)
|
|
206
|
+
throw err;
|
|
207
|
+
// Pass through structured ONI errors (NodeExecutionError from retry, NodeTimeoutError, etc.)
|
|
208
|
+
if (err instanceof ONIError)
|
|
209
|
+
throw err;
|
|
210
|
+
// Wrap raw errors and non-Error throws in NodeExecutionError
|
|
211
|
+
const cause = err instanceof Error ? err : new Error(String(err));
|
|
212
|
+
throw new NodeExecutionError(nodeDef.name, cause);
|
|
178
213
|
}
|
|
179
|
-
// Store in cache
|
|
180
|
-
if (nodeDef.cache) {
|
|
181
|
-
const policy = typeof nodeDef.cache === "object" ? nodeDef.cache : {};
|
|
182
|
-
const keyFn = policy.key ?? ((s) => JSON.stringify(s));
|
|
183
|
-
const cacheKey = `${nodeDef.name}::${keyFn(state)}`;
|
|
214
|
+
// Store in cache (reuse key computed above)
|
|
215
|
+
if (nodeDef.cache && cacheKey) {
|
|
184
216
|
this.nodeCache.set(cacheKey, { result, timestamp: Date.now() });
|
|
185
217
|
}
|
|
186
218
|
return result;
|
|
@@ -213,6 +245,12 @@ export class ONIPregelRunner {
|
|
|
213
245
|
const modes = new Set(Array.isArray(streamMode) ? streamMode : [streamMode]);
|
|
214
246
|
const isMultiMode = Array.isArray(streamMode);
|
|
215
247
|
const tag = (evt, mode) => isMultiMode ? { ...evt, mode } : evt;
|
|
248
|
+
// Pre-compute mode flags — eliminates ~20 Set.has() lookups per superstep
|
|
249
|
+
const modeDebug = modes.has("debug");
|
|
250
|
+
const modeUpdates = modes.has("updates");
|
|
251
|
+
const modeValues = modes.has("values");
|
|
252
|
+
const modeCustom = modes.has("custom");
|
|
253
|
+
const modeMessages = modes.has("messages");
|
|
216
254
|
// Telemetry: graph-level span
|
|
217
255
|
const graphSpan = this.tracer.startGraphSpan("invoke", { threadId, agentId });
|
|
218
256
|
// Load resume values from config (set by resume() call)
|
|
@@ -243,7 +281,7 @@ export class ONIPregelRunner {
|
|
|
243
281
|
pendingNodes = init.nodes;
|
|
244
282
|
pendingSends = init.sends;
|
|
245
283
|
}
|
|
246
|
-
if (
|
|
284
|
+
if (modeValues)
|
|
247
285
|
yield tag(this.evt("state_update", state, step, agentId), "values");
|
|
248
286
|
// ---- Main superstep loop ----
|
|
249
287
|
while (true) {
|
|
@@ -256,19 +294,26 @@ export class ONIPregelRunner {
|
|
|
256
294
|
if (!sendGroups.has(send.node))
|
|
257
295
|
sendGroups.set(send.node, []);
|
|
258
296
|
sendGroups.get(send.node).push(send);
|
|
259
|
-
if (
|
|
297
|
+
if (modeDebug)
|
|
260
298
|
yield tag(this.evt("send", send, step, agentId, send.node), "debug");
|
|
261
299
|
}
|
|
262
300
|
// Execute fan-out sends (each Send → separate node execution with its own state)
|
|
263
301
|
if (sendGroups.size > 0) {
|
|
264
|
-
|
|
302
|
+
// Build promises directly — avoids spread+flatMap intermediate arrays
|
|
303
|
+
const sendPromises = [];
|
|
304
|
+
for (const [node, sends] of sendGroups) {
|
|
265
305
|
const nodeDef = this.nodes.get(node);
|
|
266
306
|
if (!nodeDef)
|
|
267
307
|
throw new NodeNotFoundError(node);
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
308
|
+
for (const send of sends) {
|
|
309
|
+
sendPromises.push((async () => {
|
|
310
|
+
const sendState = this.applyUpdate(state, send.args);
|
|
311
|
+
const result = await this.executeNode(nodeDef, sendState, config, undefined, undefined, undefined, step, recursionLimit);
|
|
312
|
+
return { name: node, result };
|
|
313
|
+
})());
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
const sendResults = await Promise.all(sendPromises);
|
|
272
317
|
// Reduce all send results through channels
|
|
273
318
|
for (const { name, result } of sendResults) {
|
|
274
319
|
if (result instanceof Command) {
|
|
@@ -290,11 +335,11 @@ export class ONIPregelRunner {
|
|
|
290
335
|
nextNodes.push(...nodes);
|
|
291
336
|
nextSends.push(...sends);
|
|
292
337
|
}
|
|
293
|
-
if (
|
|
338
|
+
if (modeUpdates || modeDebug) {
|
|
294
339
|
const delta = result instanceof Command ? (result.update ?? {}) : (result ?? {});
|
|
295
|
-
if (
|
|
340
|
+
if (modeUpdates)
|
|
296
341
|
yield tag(this.evt("node_end", delta, step, agentId, name), "updates");
|
|
297
|
-
if (
|
|
342
|
+
if (modeDebug)
|
|
298
343
|
yield tag(this.evt("node_end", delta, step, agentId, name), "debug");
|
|
299
344
|
}
|
|
300
345
|
}
|
|
@@ -307,7 +352,7 @@ export class ONIPregelRunner {
|
|
|
307
352
|
if (step >= recursionLimit)
|
|
308
353
|
throw new RecursionLimitError(recursionLimit);
|
|
309
354
|
// Emit debug node_start events before parallel execution
|
|
310
|
-
if (
|
|
355
|
+
if (modeDebug) {
|
|
311
356
|
for (const nodeName of executableNodes) {
|
|
312
357
|
const name = nodeName;
|
|
313
358
|
if (!this.nodes.has(name))
|
|
@@ -330,7 +375,7 @@ export class ONIPregelRunner {
|
|
|
330
375
|
if (!nodeDef)
|
|
331
376
|
throw new NodeNotFoundError(name);
|
|
332
377
|
// Static interrupt BEFORE (non-debug mode)
|
|
333
|
-
if (!
|
|
378
|
+
if (!modeDebug) {
|
|
334
379
|
if (this.interruptConfig.interruptBefore?.includes(name))
|
|
335
380
|
throw new ONIInterrupt(name, "before", state);
|
|
336
381
|
this.checkDynamicInterrupt(name, "before", state, config);
|
|
@@ -341,6 +386,8 @@ export class ONIPregelRunner {
|
|
|
341
386
|
const messageEvents = [];
|
|
342
387
|
const writerImpl = new StreamWriterImpl((evt) => customEvents.push(evt), (token) => { }, (evt) => messageEvents.push(evt), name, step, messageId, agentId);
|
|
343
388
|
nodeWriters.set(name, writerImpl);
|
|
389
|
+
// Install global emitToken handler so emitToken() routes to this node's writer
|
|
390
|
+
_installTokenHandler((token) => writerImpl.token(token));
|
|
344
391
|
// Check if this node has a pending resume value
|
|
345
392
|
const resumeValue = resumeMap[name];
|
|
346
393
|
const hasResume = name in resumeMap;
|
|
@@ -413,16 +460,22 @@ export class ONIPregelRunner {
|
|
|
413
460
|
}
|
|
414
461
|
throw new HITLInterruptException(threadId, iv, state);
|
|
415
462
|
}
|
|
416
|
-
// Record to DLQ before re-throwing
|
|
463
|
+
// Record to DLQ before re-throwing — use original cause if wrapped
|
|
417
464
|
if (this.dlq && err instanceof Error) {
|
|
418
|
-
|
|
465
|
+
const dlqErr = (err instanceof NodeExecutionError && err.cause instanceof Error) ? err.cause : err;
|
|
466
|
+
this.dlq.record(threadId, name, state, dlqErr, nodeDef.retry?.maxAttempts ?? 1);
|
|
467
|
+
}
|
|
468
|
+
// Telemetry: record error on node span — use original cause if wrapped
|
|
469
|
+
if (err instanceof Error) {
|
|
470
|
+
const telErr = (err instanceof NodeExecutionError && err.cause instanceof Error) ? err.cause : err;
|
|
471
|
+
this.tracer.recordError(nodeSpan, telErr);
|
|
419
472
|
}
|
|
420
|
-
// Telemetry: record error on node span
|
|
421
|
-
if (err instanceof Error)
|
|
422
|
-
this.tracer.recordError(nodeSpan, err);
|
|
423
473
|
this.tracer.endSpan(nodeSpan);
|
|
474
|
+
_clearTokenHandler();
|
|
424
475
|
throw err;
|
|
425
476
|
}
|
|
477
|
+
// Clear emitToken handler after node completes
|
|
478
|
+
_clearTokenHandler();
|
|
426
479
|
// Telemetry: end node span
|
|
427
480
|
this.tracer.endSpan(nodeSpan);
|
|
428
481
|
// Emit agent.end lifecycle event
|
|
@@ -435,20 +488,20 @@ export class ONIPregelRunner {
|
|
|
435
488
|
// Yield buffered subgraph events — filtered by parent's active modes
|
|
436
489
|
for (const evt of allSubgraphEvents) {
|
|
437
490
|
const e = evt;
|
|
438
|
-
if (
|
|
491
|
+
if (modeDebug) {
|
|
439
492
|
yield tag(e, "debug");
|
|
440
493
|
}
|
|
441
|
-
else if (
|
|
494
|
+
else if (modeUpdates && (e.event === "node_end")) {
|
|
442
495
|
yield tag(e, "updates");
|
|
443
496
|
}
|
|
444
|
-
else if (
|
|
497
|
+
else if (modeValues && e.event === "state_update") {
|
|
445
498
|
yield tag(e, "values");
|
|
446
499
|
}
|
|
447
500
|
// Custom and message events from subgraphs are forwarded if those modes are active
|
|
448
|
-
if (
|
|
501
|
+
if (modeCustom && e.event === "custom") {
|
|
449
502
|
yield tag(e, "custom");
|
|
450
503
|
}
|
|
451
|
-
if (
|
|
504
|
+
if (modeMessages && (e.event === "messages" || e.event === "messages/complete")) {
|
|
452
505
|
yield tag(e, "messages");
|
|
453
506
|
}
|
|
454
507
|
}
|
|
@@ -502,11 +555,11 @@ export class ONIPregelRunner {
|
|
|
502
555
|
for (const pu of parentUpdates) {
|
|
503
556
|
state = this.applyUpdate(state, pu);
|
|
504
557
|
}
|
|
505
|
-
if (
|
|
558
|
+
if (modeUpdates || modeDebug) {
|
|
506
559
|
const delta = result instanceof Command ? (result.update ?? {}) : (result ?? {});
|
|
507
|
-
if (
|
|
560
|
+
if (modeUpdates)
|
|
508
561
|
yield tag(this.evt("node_end", delta, step, agentId, name), "updates");
|
|
509
|
-
if (
|
|
562
|
+
if (modeDebug)
|
|
510
563
|
yield tag(this.evt("node_end", delta, step, agentId, name), "debug");
|
|
511
564
|
}
|
|
512
565
|
// Static interrupt AFTER
|
|
@@ -517,40 +570,54 @@ export class ONIPregelRunner {
|
|
|
517
570
|
this.checkDynamicInterrupt(name, "after", state, config);
|
|
518
571
|
}
|
|
519
572
|
// Yield buffered custom/message events based on stream mode
|
|
520
|
-
if (
|
|
573
|
+
if (modeCustom || modeDebug) {
|
|
521
574
|
for (const evt of allCustomEvents) {
|
|
522
|
-
if (
|
|
575
|
+
if (modeCustom)
|
|
523
576
|
yield tag(evt, "custom");
|
|
524
|
-
if (
|
|
577
|
+
if (modeDebug)
|
|
525
578
|
yield tag(evt, "debug");
|
|
526
579
|
}
|
|
527
580
|
}
|
|
528
|
-
if (
|
|
581
|
+
if (modeMessages || modeDebug) {
|
|
529
582
|
for (const evt of allMessageEvents) {
|
|
530
|
-
if (
|
|
583
|
+
if (modeMessages)
|
|
531
584
|
yield tag(evt, "messages");
|
|
532
|
-
if (
|
|
585
|
+
if (modeDebug)
|
|
533
586
|
yield tag(evt, "debug");
|
|
534
587
|
}
|
|
535
588
|
// Emit messages/complete for each node that produced tokens
|
|
536
589
|
for (const [, writer] of nodeWriters) {
|
|
537
590
|
const complete = writer._complete();
|
|
538
591
|
if (complete) {
|
|
539
|
-
if (
|
|
592
|
+
if (modeMessages)
|
|
540
593
|
yield tag(complete, "messages");
|
|
541
|
-
if (
|
|
594
|
+
if (modeDebug)
|
|
542
595
|
yield tag(complete, "debug");
|
|
543
596
|
}
|
|
544
597
|
}
|
|
545
598
|
}
|
|
546
|
-
if (
|
|
599
|
+
if (modeValues)
|
|
547
600
|
yield tag(this.evt("state_update", state, step, agentId), "values");
|
|
548
|
-
|
|
601
|
+
// Deduplicate nextNodes — avoid Set+spread when no dupes (common case)
|
|
602
|
+
if (nextNodes.length <= 1) {
|
|
603
|
+
pendingNodes = nextNodes;
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
const seen = new Set();
|
|
607
|
+
pendingNodes = [];
|
|
608
|
+
for (const n of nextNodes) {
|
|
609
|
+
const key = n;
|
|
610
|
+
if (!seen.has(key)) {
|
|
611
|
+
seen.add(key);
|
|
612
|
+
pendingNodes.push(n);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
}
|
|
549
616
|
pendingSends = nextSends;
|
|
550
617
|
step++;
|
|
551
618
|
await this.saveCheckpoint(threadId, step, state, pendingNodes, pendingSends, agentId, config?.metadata, stepWrites);
|
|
552
619
|
}
|
|
553
|
-
if (
|
|
620
|
+
if (modeValues)
|
|
554
621
|
yield tag(this.evt("state_update", state, step, agentId), "values");
|
|
555
622
|
// Telemetry: end graph span
|
|
556
623
|
graphSpan.setAttribute("oni.steps", step);
|
package/dist/pregel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pregel.js","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pregel.js","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}
|
package/dist/retry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAW9C,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAW9C,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,CAAC,CAwCZ"}
|
package/dist/retry.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// ============================================================
|
|
2
2
|
// @oni.bot/core — Retry Engine
|
|
3
3
|
// ============================================================
|
|
4
|
-
import { NodeExecutionError } from "./errors.js";
|
|
4
|
+
import { NodeExecutionError, ONIError } from "./errors.js";
|
|
5
5
|
const DEFAULT_POLICY = {
|
|
6
6
|
maxAttempts: 3,
|
|
7
7
|
initialDelay: 500,
|
|
@@ -14,10 +14,17 @@ export async function withRetry(fn, nodeName, policy) {
|
|
|
14
14
|
const initialDelay = policy.initialDelay ?? DEFAULT_POLICY.initialDelay;
|
|
15
15
|
const backoffMultiplier = policy.backoffMultiplier ?? DEFAULT_POLICY.backoffMultiplier;
|
|
16
16
|
const maxDelay = policy.maxDelay ?? DEFAULT_POLICY.maxDelay;
|
|
17
|
-
|
|
17
|
+
// Default retryOn: skip non-recoverable ONIErrors, retry everything else
|
|
18
|
+
const retryOn = policy.retryOn ?? ((err) => {
|
|
19
|
+
if (err instanceof ONIError && err.recoverable === false)
|
|
20
|
+
return false;
|
|
21
|
+
return true;
|
|
22
|
+
});
|
|
18
23
|
let lastError;
|
|
19
24
|
let delay = initialDelay;
|
|
25
|
+
let actualAttempts = 0;
|
|
20
26
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
27
|
+
actualAttempts = attempt;
|
|
21
28
|
try {
|
|
22
29
|
return await fn();
|
|
23
30
|
}
|
|
@@ -37,7 +44,7 @@ export async function withRetry(fn, nodeName, policy) {
|
|
|
37
44
|
delay = Math.min(delay * backoffMultiplier, maxDelay);
|
|
38
45
|
}
|
|
39
46
|
}
|
|
40
|
-
throw new NodeExecutionError(nodeName, lastError);
|
|
47
|
+
throw new NodeExecutionError(nodeName, lastError, { attempts: actualAttempts, maxAttempts });
|
|
41
48
|
}
|
|
42
49
|
function sleep(ms) {
|
|
43
50
|
return new Promise((r) => setTimeout(r, ms));
|
package/dist/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+BAA+B;AAC/B,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+BAA+B;AAC/B,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,cAAc,GAA2C;IAC7D,WAAW,EAAQ,CAAC;IACpB,YAAY,EAAO,GAAG;IACtB,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAW,MAAM;IACzB,MAAM,EAAa,IAAI;CACxB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,QAAgB,EAChB,MAAmB;IAEnB,MAAM,WAAW,GAAS,MAAM,CAAC,WAAW,CAAC;IAC7C,MAAM,YAAY,GAAQ,MAAM,CAAC,YAAY,IAAS,cAAc,CAAC,YAAY,CAAC;IAClF,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAK,cAAc,CAAC,iBAAiB,CAAC;IACxF,MAAM,QAAQ,GAAY,MAAM,CAAC,QAAQ,IAAc,cAAc,CAAC,QAAQ,CAAC;IAC/E,yEAAyE;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,GAAU,EAAE,EAAE;QAChD,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,SAA4B,CAAC;IACjC,IAAI,KAAK,GAAG,YAAY,CAAC;IACzB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,cAAc,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,SAAS,GAAG,KAAK,CAAC;YAElB,MAAM,MAAM,GAAG,OAAO,KAAK,WAAW,CAAC;YACvC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAEnC,IAAI,MAAM,IAAI,CAAC,WAAW;gBAAE,MAAM;YAElC,6CAA6C;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,eAAe;YAC9D,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,SAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|