@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.
Files changed (237) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +59 -373
  3. package/dist/checkpointers/sqlite.d.ts.map +1 -1
  4. package/dist/checkpointers/sqlite.js +23 -8
  5. package/dist/checkpointers/sqlite.js.map +1 -1
  6. package/dist/cli/build.d.ts +11 -0
  7. package/dist/cli/build.d.ts.map +1 -0
  8. package/dist/cli/build.js +61 -0
  9. package/dist/cli/build.js.map +1 -0
  10. package/dist/cli/dev.d.ts +5 -0
  11. package/dist/cli/dev.d.ts.map +1 -0
  12. package/dist/cli/dev.js +54 -0
  13. package/dist/cli/dev.js.map +1 -0
  14. package/dist/cli/index.js +16 -27
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/cli/init.d.ts +2 -0
  17. package/dist/cli/init.d.ts.map +1 -1
  18. package/dist/cli/init.js +18 -1
  19. package/dist/cli/init.js.map +1 -1
  20. package/dist/cli/inspect.d.ts +5 -0
  21. package/dist/cli/inspect.d.ts.map +1 -0
  22. package/dist/cli/inspect.js +85 -0
  23. package/dist/cli/inspect.js.map +1 -0
  24. package/dist/cli/router.d.ts +14 -0
  25. package/dist/cli/router.d.ts.map +1 -0
  26. package/dist/cli/router.js +107 -0
  27. package/dist/cli/router.js.map +1 -0
  28. package/dist/cli/run.d.ts +5 -0
  29. package/dist/cli/run.d.ts.map +1 -0
  30. package/dist/cli/run.js +53 -0
  31. package/dist/cli/run.js.map +1 -0
  32. package/dist/cli/templates.d.ts +1 -0
  33. package/dist/cli/templates.d.ts.map +1 -1
  34. package/dist/cli/templates.js +106 -66
  35. package/dist/cli/templates.js.map +1 -1
  36. package/dist/cli/test.d.ts +3 -0
  37. package/dist/cli/test.d.ts.map +1 -0
  38. package/dist/cli/test.js +29 -0
  39. package/dist/cli/test.js.map +1 -0
  40. package/dist/config/index.d.ts +3 -0
  41. package/dist/config/index.d.ts.map +1 -0
  42. package/dist/config/index.js +3 -0
  43. package/dist/config/index.js.map +1 -0
  44. package/dist/config/loader.d.ts +37 -0
  45. package/dist/config/loader.d.ts.map +1 -0
  46. package/dist/config/loader.js +180 -0
  47. package/dist/config/loader.js.map +1 -0
  48. package/dist/config/types.d.ts +74 -0
  49. package/dist/config/types.d.ts.map +1 -0
  50. package/dist/config/types.js +5 -0
  51. package/dist/config/types.js.map +1 -0
  52. package/dist/coordination/pubsub.d.ts +4 -0
  53. package/dist/coordination/pubsub.d.ts.map +1 -1
  54. package/dist/coordination/pubsub.js +8 -0
  55. package/dist/coordination/pubsub.js.map +1 -1
  56. package/dist/coordination/request-reply.d.ts +3 -1
  57. package/dist/coordination/request-reply.d.ts.map +1 -1
  58. package/dist/coordination/request-reply.js +11 -2
  59. package/dist/coordination/request-reply.js.map +1 -1
  60. package/dist/errors.d.ts +7 -1
  61. package/dist/errors.d.ts.map +1 -1
  62. package/dist/errors.js +18 -3
  63. package/dist/errors.js.map +1 -1
  64. package/dist/events/bridge.d.ts +17 -0
  65. package/dist/events/bridge.d.ts.map +1 -0
  66. package/dist/events/bridge.js +67 -0
  67. package/dist/events/bridge.js.map +1 -0
  68. package/dist/events/bus.d.ts +9 -0
  69. package/dist/events/bus.d.ts.map +1 -1
  70. package/dist/events/bus.js +39 -4
  71. package/dist/events/bus.js.map +1 -1
  72. package/dist/events/index.d.ts +2 -1
  73. package/dist/events/index.d.ts.map +1 -1
  74. package/dist/events/index.js +2 -0
  75. package/dist/events/index.js.map +1 -1
  76. package/dist/events/types.d.ts +123 -1
  77. package/dist/events/types.d.ts.map +1 -1
  78. package/dist/graph.d.ts.map +1 -1
  79. package/dist/graph.js +16 -8
  80. package/dist/graph.js.map +1 -1
  81. package/dist/guardrails/types.d.ts +1 -1
  82. package/dist/guardrails/types.d.ts.map +1 -1
  83. package/dist/harness/agent-loop.d.ts.map +1 -1
  84. package/dist/harness/agent-loop.js +226 -29
  85. package/dist/harness/agent-loop.js.map +1 -1
  86. package/dist/harness/context-compactor.d.ts +21 -2
  87. package/dist/harness/context-compactor.d.ts.map +1 -1
  88. package/dist/harness/context-compactor.js +45 -6
  89. package/dist/harness/context-compactor.js.map +1 -1
  90. package/dist/harness/hooks-engine.d.ts +7 -1
  91. package/dist/harness/hooks-engine.d.ts.map +1 -1
  92. package/dist/harness/hooks-engine.js.map +1 -1
  93. package/dist/harness/index.d.ts +3 -2
  94. package/dist/harness/index.d.ts.map +1 -1
  95. package/dist/harness/index.js +2 -0
  96. package/dist/harness/index.js.map +1 -1
  97. package/dist/harness/skill-loader.d.ts +14 -1
  98. package/dist/harness/skill-loader.d.ts.map +1 -1
  99. package/dist/harness/skill-loader.js +33 -3
  100. package/dist/harness/skill-loader.js.map +1 -1
  101. package/dist/harness/types.d.ts +24 -2
  102. package/dist/harness/types.d.ts.map +1 -1
  103. package/dist/harness/types.js.map +1 -1
  104. package/dist/harness/validate-args.d.ts +16 -0
  105. package/dist/harness/validate-args.d.ts.map +1 -0
  106. package/dist/harness/validate-args.js +132 -0
  107. package/dist/harness/validate-args.js.map +1 -0
  108. package/dist/index.d.ts +3 -3
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +12 -12
  111. package/dist/index.js.map +1 -1
  112. package/dist/internal/timeout.d.ts +2 -0
  113. package/dist/internal/timeout.d.ts.map +1 -0
  114. package/dist/internal/timeout.js +16 -0
  115. package/dist/internal/timeout.js.map +1 -0
  116. package/dist/lsp/client.d.ts +70 -0
  117. package/dist/lsp/client.d.ts.map +1 -0
  118. package/dist/lsp/client.js +421 -0
  119. package/dist/lsp/client.js.map +1 -0
  120. package/dist/lsp/index.d.ts +77 -0
  121. package/dist/lsp/index.d.ts.map +1 -0
  122. package/dist/lsp/index.js +183 -0
  123. package/dist/lsp/index.js.map +1 -0
  124. package/dist/lsp/servers.d.ts +48 -0
  125. package/dist/lsp/servers.d.ts.map +1 -0
  126. package/dist/lsp/servers.js +108 -0
  127. package/dist/lsp/servers.js.map +1 -0
  128. package/dist/lsp/types.d.ts +142 -0
  129. package/dist/lsp/types.d.ts.map +1 -0
  130. package/dist/lsp/types.js +16 -0
  131. package/dist/lsp/types.js.map +1 -0
  132. package/dist/mcp/client.d.ts +56 -0
  133. package/dist/mcp/client.d.ts.map +1 -0
  134. package/dist/mcp/client.js +170 -0
  135. package/dist/mcp/client.js.map +1 -0
  136. package/dist/mcp/convert.d.ts +26 -0
  137. package/dist/mcp/convert.d.ts.map +1 -0
  138. package/dist/mcp/convert.js +56 -0
  139. package/dist/mcp/convert.js.map +1 -0
  140. package/dist/mcp/index.d.ts +21 -0
  141. package/dist/mcp/index.d.ts.map +1 -0
  142. package/dist/mcp/index.js +19 -0
  143. package/dist/mcp/index.js.map +1 -0
  144. package/dist/mcp/transport.d.ts +56 -0
  145. package/dist/mcp/transport.d.ts.map +1 -0
  146. package/dist/mcp/transport.js +204 -0
  147. package/dist/mcp/transport.js.map +1 -0
  148. package/dist/mcp/types.d.ts +96 -0
  149. package/dist/mcp/types.d.ts.map +1 -0
  150. package/dist/mcp/types.js +11 -0
  151. package/dist/mcp/types.js.map +1 -0
  152. package/dist/models/anthropic.d.ts.map +1 -1
  153. package/dist/models/anthropic.js +78 -41
  154. package/dist/models/anthropic.js.map +1 -1
  155. package/dist/models/google.d.ts.map +1 -1
  156. package/dist/models/google.js +47 -46
  157. package/dist/models/google.js.map +1 -1
  158. package/dist/models/http-error.d.ts +16 -0
  159. package/dist/models/http-error.d.ts.map +1 -0
  160. package/dist/models/http-error.js +67 -0
  161. package/dist/models/http-error.js.map +1 -0
  162. package/dist/models/index.d.ts +3 -0
  163. package/dist/models/index.d.ts.map +1 -1
  164. package/dist/models/index.js +2 -0
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/models/ollama.d.ts.map +1 -1
  167. package/dist/models/ollama.js +4 -3
  168. package/dist/models/ollama.js.map +1 -1
  169. package/dist/models/openai.d.ts.map +1 -1
  170. package/dist/models/openai.js +36 -44
  171. package/dist/models/openai.js.map +1 -1
  172. package/dist/models/openrouter.d.ts +13 -0
  173. package/dist/models/openrouter.d.ts.map +1 -1
  174. package/dist/models/openrouter.js +86 -47
  175. package/dist/models/openrouter.js.map +1 -1
  176. package/dist/models/sse.d.ts +9 -0
  177. package/dist/models/sse.d.ts.map +1 -0
  178. package/dist/models/sse.js +45 -0
  179. package/dist/models/sse.js.map +1 -0
  180. package/dist/models/types.d.ts +10 -0
  181. package/dist/models/types.d.ts.map +1 -1
  182. package/dist/pregel.d.ts +4 -0
  183. package/dist/pregel.d.ts.map +1 -1
  184. package/dist/pregel.js +121 -54
  185. package/dist/pregel.js.map +1 -1
  186. package/dist/retry.d.ts.map +1 -1
  187. package/dist/retry.js +10 -3
  188. package/dist/retry.js.map +1 -1
  189. package/dist/store/index.d.ts +3 -0
  190. package/dist/store/index.d.ts.map +1 -1
  191. package/dist/store/index.js +17 -0
  192. package/dist/store/index.js.map +1 -1
  193. package/dist/streaming.d.ts +4 -1
  194. package/dist/streaming.d.ts.map +1 -1
  195. package/dist/streaming.js +21 -7
  196. package/dist/streaming.js.map +1 -1
  197. package/dist/swarm/graph.d.ts +81 -2
  198. package/dist/swarm/graph.d.ts.map +1 -1
  199. package/dist/swarm/graph.js +517 -32
  200. package/dist/swarm/graph.js.map +1 -1
  201. package/dist/swarm/index.d.ts +10 -2
  202. package/dist/swarm/index.d.ts.map +1 -1
  203. package/dist/swarm/index.js +6 -1
  204. package/dist/swarm/index.js.map +1 -1
  205. package/dist/swarm/mermaid.d.ts +10 -0
  206. package/dist/swarm/mermaid.d.ts.map +1 -0
  207. package/dist/swarm/mermaid.js +64 -0
  208. package/dist/swarm/mermaid.js.map +1 -0
  209. package/dist/swarm/pool.d.ts +9 -1
  210. package/dist/swarm/pool.d.ts.map +1 -1
  211. package/dist/swarm/pool.js +58 -10
  212. package/dist/swarm/pool.js.map +1 -1
  213. package/dist/swarm/registry.d.ts +11 -1
  214. package/dist/swarm/registry.d.ts.map +1 -1
  215. package/dist/swarm/registry.js +17 -3
  216. package/dist/swarm/registry.js.map +1 -1
  217. package/dist/swarm/scaling.d.ts +95 -0
  218. package/dist/swarm/scaling.d.ts.map +1 -0
  219. package/dist/swarm/scaling.js +214 -0
  220. package/dist/swarm/scaling.js.map +1 -0
  221. package/dist/swarm/snapshot.d.ts +51 -0
  222. package/dist/swarm/snapshot.d.ts.map +1 -0
  223. package/dist/swarm/snapshot.js +115 -0
  224. package/dist/swarm/snapshot.js.map +1 -0
  225. package/dist/swarm/supervisor.d.ts.map +1 -1
  226. package/dist/swarm/supervisor.js +82 -0
  227. package/dist/swarm/supervisor.js.map +1 -1
  228. package/dist/swarm/tracer.d.ts +57 -0
  229. package/dist/swarm/tracer.d.ts.map +1 -0
  230. package/dist/swarm/tracer.js +138 -0
  231. package/dist/swarm/tracer.js.map +1 -0
  232. package/dist/swarm/types.d.ts +23 -1
  233. package/dist/swarm/types.d.ts.map +1 -1
  234. package/dist/swarm/types.js.map +1 -1
  235. package/dist/tools/types.d.ts +2 -0
  236. package/dist/tools/types.d.ts.map +1 -1
  237. package/package.json +160 -141
@@ -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":"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"}
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);
@@ -1 +1 @@
1
- {"version":3,"file":"pregel.d.ts","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}
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;IAoB1D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAGtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IA5BtB,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,SAAS,CAAmE;IACpF,OAAO,CAAC,eAAe,CAAqC;IAC5D,kEAAkE;IAClE,OAAO,CAAC,WAAW,CAAS;IAC5B,+EAA+E;IAC/E,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAM;IAE7C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;gBAG1B,KAAK,EAAY,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC/C,KAAK,EAAY,IAAI,CAAC,CAAC,CAAC,EAAE,EAC1B,QAAQ,EAAS,aAAa,CAAC,CAAC,CAAC,EACjC,eAAe,GAAE,eAAoB,EACrC,YAAY,GAAK,eAAe,CAAC,CAAC,CAAC,GAAG,IAAW,EACjD,KAAK,GAAY,SAAS,GAAG,IAAW,EACzD,UAAU,CAAC,EAAuB,gBAAgB,EAClD,SAAS,CAAC,EAAwB,cAAc,EAC/B,QAAQ,CAAC,EAAQ;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EACzC,GAAG,GAAc,eAAe,GAAG,IAAW,EAC/D,MAAM,CAAC,EAA2B,UAAU,GAAG,IAAI;IA6BrD,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;YA0BN,WAAW;IA8GzB,OAAO,CAAC,qBAAqB;IActB,OAAO,CACZ,KAAK,EAAO,OAAO,CAAC,CAAC,CAAC,EACtB,MAAM,CAAC,EAAK,SAAS,EACrB,UAAU,GAAE,UAAU,GAAG,UAAU,EAAc,GAChD,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IA6Z9B,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAQxD,MAAM,CACX,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,EAAE,SAAS,GAAG;QAAE,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;KAAE,GAC9D,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAI9B,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAa7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK7C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAM7D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAKzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelF,oBAAoB,CAAC,QAAQ,EAAE,MAAM;IAIrC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAMvC,OAAO,CAAC,iBAAiB;IAkBzB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;YAMhC,cAAc;IAiB5B,OAAO,CAAC,GAAG;CAMZ"}
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 Object.keys(update)) {
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 Object.keys(this.channels)) {
77
- if (this.channels[key].ephemeral)
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.edges.filter((e) => e.from === fromNode);
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
- const cacheKey = `${nodeDef.name}::${keyFn(state)}`;
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
- if (cb) {
174
- result = await cb.execute(executeWithTimeout);
195
+ try {
196
+ if (cb) {
197
+ result = await cb.execute(executeWithTimeout);
198
+ }
199
+ else {
200
+ result = await executeWithTimeout();
201
+ }
175
202
  }
176
- else {
177
- result = await executeWithTimeout();
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 (modes.has("values"))
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 (modes.has("debug"))
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
- const sendResults = await Promise.all([...sendGroups.entries()].flatMap(([node, sends]) => sends.map(async (send) => {
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 sendState = this.applyUpdate(state, send.args);
269
- const result = await this.executeNode(nodeDef, sendState, config, undefined, undefined, undefined, step, recursionLimit);
270
- return { name: node, result };
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 (modes.has("updates") || modes.has("debug")) {
338
+ if (modeUpdates || modeDebug) {
294
339
  const delta = result instanceof Command ? (result.update ?? {}) : (result ?? {});
295
- if (modes.has("updates"))
340
+ if (modeUpdates)
296
341
  yield tag(this.evt("node_end", delta, step, agentId, name), "updates");
297
- if (modes.has("debug"))
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 (modes.has("debug")) {
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 (!modes.has("debug")) {
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
- this.dlq.record(threadId, name, state, err, nodeDef.retry?.maxAttempts ?? 1);
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 (modes.has("debug")) {
491
+ if (modeDebug) {
439
492
  yield tag(e, "debug");
440
493
  }
441
- else if (modes.has("updates") && (e.event === "node_end")) {
494
+ else if (modeUpdates && (e.event === "node_end")) {
442
495
  yield tag(e, "updates");
443
496
  }
444
- else if (modes.has("values") && e.event === "state_update") {
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 (modes.has("custom") && e.event === "custom") {
501
+ if (modeCustom && e.event === "custom") {
449
502
  yield tag(e, "custom");
450
503
  }
451
- if (modes.has("messages") && (e.event === "messages" || e.event === "messages/complete")) {
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 (modes.has("updates") || modes.has("debug")) {
558
+ if (modeUpdates || modeDebug) {
506
559
  const delta = result instanceof Command ? (result.update ?? {}) : (result ?? {});
507
- if (modes.has("updates"))
560
+ if (modeUpdates)
508
561
  yield tag(this.evt("node_end", delta, step, agentId, name), "updates");
509
- if (modes.has("debug"))
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 (modes.has("custom") || modes.has("debug")) {
573
+ if (modeCustom || modeDebug) {
521
574
  for (const evt of allCustomEvents) {
522
- if (modes.has("custom"))
575
+ if (modeCustom)
523
576
  yield tag(evt, "custom");
524
- if (modes.has("debug"))
577
+ if (modeDebug)
525
578
  yield tag(evt, "debug");
526
579
  }
527
580
  }
528
- if (modes.has("messages") || modes.has("debug")) {
581
+ if (modeMessages || modeDebug) {
529
582
  for (const evt of allMessageEvents) {
530
- if (modes.has("messages"))
583
+ if (modeMessages)
531
584
  yield tag(evt, "messages");
532
- if (modes.has("debug"))
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 (modes.has("messages"))
592
+ if (modeMessages)
540
593
  yield tag(complete, "messages");
541
- if (modes.has("debug"))
594
+ if (modeDebug)
542
595
  yield tag(complete, "debug");
543
596
  }
544
597
  }
545
598
  }
546
- if (modes.has("values"))
599
+ if (modeValues)
547
600
  yield tag(this.evt("state_update", state, step, agentId), "values");
548
- pendingNodes = [...new Set(nextNodes)];
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 (modes.has("values"))
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);
@@ -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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"}
@@ -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,CAkCZ"}
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
- const retryOn = policy.retryOn ?? (() => true);
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;AAEjD,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,MAAM,OAAO,GAAa,MAAM,CAAC,OAAO,IAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAEpE,IAAI,SAA4B,CAAC;IACjC,IAAI,KAAK,GAAG,YAAY,CAAC;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,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,CAAC,CAAC;AACrD,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"}
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"}