@agentick/core 0.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 (626) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +875 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/.tsbuildinfo.build +1 -0
  5. package/dist/agent.d.ts +32 -0
  6. package/dist/agent.d.ts.map +1 -0
  7. package/dist/agent.js +26 -0
  8. package/dist/agent.js.map +1 -0
  9. package/dist/agentick-instance.d.ts +285 -0
  10. package/dist/agentick-instance.d.ts.map +1 -0
  11. package/dist/agentick-instance.js +700 -0
  12. package/dist/agentick-instance.js.map +1 -0
  13. package/dist/aidk-instance.d.ts +294 -0
  14. package/dist/aidk-instance.d.ts.map +1 -0
  15. package/dist/aidk-instance.js +340 -0
  16. package/dist/aidk-instance.js.map +1 -0
  17. package/dist/app/session-store.d.ts +57 -0
  18. package/dist/app/session-store.d.ts.map +1 -0
  19. package/dist/app/session-store.js +87 -0
  20. package/dist/app/session-store.js.map +1 -0
  21. package/dist/app/session.d.ts +209 -0
  22. package/dist/app/session.d.ts.map +1 -0
  23. package/dist/app/session.js +2131 -0
  24. package/dist/app/session.js.map +1 -0
  25. package/dist/app/sqlite-session-store.d.ts +60 -0
  26. package/dist/app/sqlite-session-store.d.ts.map +1 -0
  27. package/dist/app/sqlite-session-store.js +234 -0
  28. package/dist/app/sqlite-session-store.js.map +1 -0
  29. package/dist/app/types.d.ts +1461 -0
  30. package/dist/app/types.d.ts.map +1 -0
  31. package/dist/app/types.js +14 -0
  32. package/dist/app/types.js.map +1 -0
  33. package/dist/app.d.ts +79 -0
  34. package/dist/app.d.ts.map +1 -0
  35. package/dist/app.js +83 -0
  36. package/dist/app.js.map +1 -0
  37. package/dist/channels/adapters/index.d.ts +2 -0
  38. package/dist/channels/adapters/index.d.ts.map +1 -0
  39. package/dist/channels/adapters/index.js +2 -0
  40. package/dist/channels/adapters/index.js.map +1 -0
  41. package/dist/channels/adapters/redis.d.ts +77 -0
  42. package/dist/channels/adapters/redis.d.ts.map +1 -0
  43. package/dist/channels/adapters/redis.js +259 -0
  44. package/dist/channels/adapters/redis.js.map +1 -0
  45. package/dist/channels/index.d.ts +38 -0
  46. package/dist/channels/index.d.ts.map +1 -0
  47. package/dist/channels/index.js +38 -0
  48. package/dist/channels/index.js.map +1 -0
  49. package/dist/channels/service.d.ts +684 -0
  50. package/dist/channels/service.d.ts.map +1 -0
  51. package/dist/channels/service.js +870 -0
  52. package/dist/channels/service.js.map +1 -0
  53. package/dist/channels/transports/index.d.ts +4 -0
  54. package/dist/channels/transports/index.d.ts.map +1 -0
  55. package/dist/channels/transports/index.js +4 -0
  56. package/dist/channels/transports/index.js.map +1 -0
  57. package/dist/channels/transports/socketio.d.ts +98 -0
  58. package/dist/channels/transports/socketio.d.ts.map +1 -0
  59. package/dist/channels/transports/socketio.js +246 -0
  60. package/dist/channels/transports/socketio.js.map +1 -0
  61. package/dist/channels/transports/streamable-http.d.ts +107 -0
  62. package/dist/channels/transports/streamable-http.d.ts.map +1 -0
  63. package/dist/channels/transports/streamable-http.js +353 -0
  64. package/dist/channels/transports/streamable-http.js.map +1 -0
  65. package/dist/channels/transports/websocket.d.ts +117 -0
  66. package/dist/channels/transports/websocket.d.ts.map +1 -0
  67. package/dist/channels/transports/websocket.js +416 -0
  68. package/dist/channels/transports/websocket.js.map +1 -0
  69. package/dist/com/index.d.ts +29 -0
  70. package/dist/com/index.d.ts.map +1 -0
  71. package/dist/com/index.js +29 -0
  72. package/dist/com/index.js.map +1 -0
  73. package/dist/com/object-model.d.ts +634 -0
  74. package/dist/com/object-model.d.ts.map +1 -0
  75. package/dist/com/object-model.js +963 -0
  76. package/dist/com/object-model.js.map +1 -0
  77. package/dist/com/types.d.ts +192 -0
  78. package/dist/com/types.d.ts.map +1 -0
  79. package/dist/com/types.js +1 -0
  80. package/dist/com/types.js.map +1 -0
  81. package/dist/compiler/collector.d.ts +16 -0
  82. package/dist/compiler/collector.d.ts.map +1 -0
  83. package/dist/compiler/collector.js +388 -0
  84. package/dist/compiler/collector.js.map +1 -0
  85. package/dist/compiler/content-block-registry.d.ts +11 -0
  86. package/dist/compiler/content-block-registry.d.ts.map +1 -0
  87. package/dist/compiler/content-block-registry.js +312 -0
  88. package/dist/compiler/content-block-registry.js.map +1 -0
  89. package/dist/compiler/extractors.d.ts +68 -0
  90. package/dist/compiler/extractors.d.ts.map +1 -0
  91. package/dist/compiler/extractors.js +547 -0
  92. package/dist/compiler/extractors.js.map +1 -0
  93. package/dist/compiler/fiber-compiler.d.ts +203 -0
  94. package/dist/compiler/fiber-compiler.d.ts.map +1 -0
  95. package/dist/compiler/fiber-compiler.js +498 -0
  96. package/dist/compiler/fiber-compiler.js.map +1 -0
  97. package/dist/compiler/fiber.d.ts +61 -0
  98. package/dist/compiler/fiber.d.ts.map +1 -0
  99. package/dist/compiler/fiber.js +244 -0
  100. package/dist/compiler/fiber.js.map +1 -0
  101. package/dist/compiler/index.d.ts +18 -0
  102. package/dist/compiler/index.d.ts.map +1 -0
  103. package/dist/compiler/index.js +38 -0
  104. package/dist/compiler/index.js.map +1 -0
  105. package/dist/compiler/scheduler.d.ts +95 -0
  106. package/dist/compiler/scheduler.d.ts.map +1 -0
  107. package/dist/compiler/scheduler.js +138 -0
  108. package/dist/compiler/scheduler.js.map +1 -0
  109. package/dist/compiler/structure-renderer.d.ts +42 -0
  110. package/dist/compiler/structure-renderer.d.ts.map +1 -0
  111. package/dist/compiler/structure-renderer.js +189 -0
  112. package/dist/compiler/structure-renderer.js.map +1 -0
  113. package/dist/compiler/types.d.ts +96 -0
  114. package/dist/compiler/types.d.ts.map +1 -0
  115. package/dist/compiler/types.js +19 -0
  116. package/dist/compiler/types.js.map +1 -0
  117. package/dist/component/component-hooks.d.ts +68 -0
  118. package/dist/component/component-hooks.d.ts.map +1 -0
  119. package/dist/component/component-hooks.js +112 -0
  120. package/dist/component/component-hooks.js.map +1 -0
  121. package/dist/component/component.d.ts +314 -0
  122. package/dist/component/component.d.ts.map +1 -0
  123. package/dist/component/component.js +64 -0
  124. package/dist/component/component.js.map +1 -0
  125. package/dist/component/index.d.ts +47 -0
  126. package/dist/component/index.d.ts.map +1 -0
  127. package/dist/component/index.js +47 -0
  128. package/dist/component/index.js.map +1 -0
  129. package/dist/component/tentickle-component.d.ts +185 -0
  130. package/dist/component/tentickle-component.d.ts.map +1 -0
  131. package/dist/component/tentickle-component.js +182 -0
  132. package/dist/component/tentickle-component.js.map +1 -0
  133. package/dist/content/index.d.ts +12 -0
  134. package/dist/content/index.d.ts.map +1 -0
  135. package/dist/content/index.js +17 -0
  136. package/dist/content/index.js.map +1 -0
  137. package/dist/context/index.d.ts +51 -0
  138. package/dist/context/index.d.ts.map +1 -0
  139. package/dist/context/index.js +69 -0
  140. package/dist/context/index.js.map +1 -0
  141. package/dist/core/channel-helpers.d.ts +31 -0
  142. package/dist/core/channel-helpers.d.ts.map +1 -0
  143. package/dist/core/channel-helpers.js +62 -0
  144. package/dist/core/channel-helpers.js.map +1 -0
  145. package/dist/core/channel.d.ts +164 -0
  146. package/dist/core/channel.d.ts.map +1 -0
  147. package/dist/core/channel.js +199 -0
  148. package/dist/core/channel.js.map +1 -0
  149. package/dist/core/context.d.ts +412 -0
  150. package/dist/core/context.d.ts.map +1 -0
  151. package/dist/core/context.js +290 -0
  152. package/dist/core/context.js.map +1 -0
  153. package/dist/core/event-buffer.d.ts +212 -0
  154. package/dist/core/event-buffer.d.ts.map +1 -0
  155. package/dist/core/event-buffer.js +346 -0
  156. package/dist/core/event-buffer.js.map +1 -0
  157. package/dist/core/execution-helpers.d.ts +179 -0
  158. package/dist/core/execution-helpers.d.ts.map +1 -0
  159. package/dist/core/execution-helpers.js +212 -0
  160. package/dist/core/execution-helpers.js.map +1 -0
  161. package/dist/core/execution-tracker.d.ts +53 -0
  162. package/dist/core/execution-tracker.d.ts.map +1 -0
  163. package/dist/core/execution-tracker.js +309 -0
  164. package/dist/core/execution-tracker.js.map +1 -0
  165. package/dist/core/index.d.ts +58 -0
  166. package/dist/core/index.d.ts.map +1 -0
  167. package/dist/core/index.js +58 -0
  168. package/dist/core/index.js.map +1 -0
  169. package/dist/core/logger.d.ts +341 -0
  170. package/dist/core/logger.d.ts.map +1 -0
  171. package/dist/core/logger.js +346 -0
  172. package/dist/core/logger.js.map +1 -0
  173. package/dist/core/metrics-helpers.d.ts +40 -0
  174. package/dist/core/metrics-helpers.d.ts.map +1 -0
  175. package/dist/core/metrics-helpers.js +72 -0
  176. package/dist/core/metrics-helpers.js.map +1 -0
  177. package/dist/core/otel-provider.d.ts +54 -0
  178. package/dist/core/otel-provider.d.ts.map +1 -0
  179. package/dist/core/otel-provider.js +107 -0
  180. package/dist/core/otel-provider.js.map +1 -0
  181. package/dist/core/procedure-graph.d.ts +136 -0
  182. package/dist/core/procedure-graph.d.ts.map +1 -0
  183. package/dist/core/procedure-graph.js +272 -0
  184. package/dist/core/procedure-graph.js.map +1 -0
  185. package/dist/core/procedure.d.ts +755 -0
  186. package/dist/core/procedure.d.ts.map +1 -0
  187. package/dist/core/procedure.js +899 -0
  188. package/dist/core/procedure.js.map +1 -0
  189. package/dist/core/stream.d.ts +106 -0
  190. package/dist/core/stream.d.ts.map +1 -0
  191. package/dist/core/stream.js +186 -0
  192. package/dist/core/stream.js.map +1 -0
  193. package/dist/core/telemetry.d.ts +182 -0
  194. package/dist/core/telemetry.d.ts.map +1 -0
  195. package/dist/core/telemetry.js +124 -0
  196. package/dist/core/telemetry.js.map +1 -0
  197. package/dist/engine/client-tool-coordinator.d.ts +50 -0
  198. package/dist/engine/client-tool-coordinator.d.ts.map +1 -0
  199. package/dist/engine/client-tool-coordinator.js +121 -0
  200. package/dist/engine/client-tool-coordinator.js.map +1 -0
  201. package/dist/engine/engine-events.d.ts +117 -0
  202. package/dist/engine/engine-events.d.ts.map +1 -0
  203. package/dist/engine/engine-events.js +178 -0
  204. package/dist/engine/engine-events.js.map +1 -0
  205. package/dist/engine/engine-response.d.ts +48 -0
  206. package/dist/engine/engine-response.d.ts.map +1 -0
  207. package/dist/engine/engine-response.js +2 -0
  208. package/dist/engine/engine-response.js.map +1 -0
  209. package/dist/engine/execution-graph.d.ts +104 -0
  210. package/dist/engine/execution-graph.d.ts.map +1 -0
  211. package/dist/engine/execution-graph.js +257 -0
  212. package/dist/engine/execution-graph.js.map +1 -0
  213. package/dist/engine/execution-handle.d.ts +212 -0
  214. package/dist/engine/execution-handle.d.ts.map +1 -0
  215. package/dist/engine/execution-handle.js +602 -0
  216. package/dist/engine/execution-handle.js.map +1 -0
  217. package/dist/engine/execution-types.d.ts +248 -0
  218. package/dist/engine/execution-types.d.ts.map +1 -0
  219. package/dist/engine/execution-types.js +23 -0
  220. package/dist/engine/execution-types.js.map +1 -0
  221. package/dist/engine/index.d.ts +21 -0
  222. package/dist/engine/index.d.ts.map +1 -0
  223. package/dist/engine/index.js +23 -0
  224. package/dist/engine/index.js.map +1 -0
  225. package/dist/engine/tool-confirmation-coordinator.d.ts +74 -0
  226. package/dist/engine/tool-confirmation-coordinator.d.ts.map +1 -0
  227. package/dist/engine/tool-confirmation-coordinator.js +137 -0
  228. package/dist/engine/tool-confirmation-coordinator.js.map +1 -0
  229. package/dist/engine/tool-executor.d.ts +127 -0
  230. package/dist/engine/tool-executor.d.ts.map +1 -0
  231. package/dist/engine/tool-executor.js +363 -0
  232. package/dist/engine/tool-executor.js.map +1 -0
  233. package/dist/hibernation/index.d.ts +126 -0
  234. package/dist/hibernation/index.d.ts.map +1 -0
  235. package/dist/hibernation/index.js +127 -0
  236. package/dist/hibernation/index.js.map +1 -0
  237. package/dist/hooks/base-hook-registry.d.ts +41 -0
  238. package/dist/hooks/base-hook-registry.d.ts.map +1 -0
  239. package/dist/hooks/base-hook-registry.js +76 -0
  240. package/dist/hooks/base-hook-registry.js.map +1 -0
  241. package/dist/hooks/com-state.d.ts +40 -0
  242. package/dist/hooks/com-state.d.ts.map +1 -0
  243. package/dist/hooks/com-state.js +90 -0
  244. package/dist/hooks/com-state.js.map +1 -0
  245. package/dist/hooks/context-info.d.ts +139 -0
  246. package/dist/hooks/context-info.d.ts.map +1 -0
  247. package/dist/hooks/context-info.js +115 -0
  248. package/dist/hooks/context-info.js.map +1 -0
  249. package/dist/hooks/context-internal.d.ts +21 -0
  250. package/dist/hooks/context-internal.d.ts.map +1 -0
  251. package/dist/hooks/context-internal.js +20 -0
  252. package/dist/hooks/context-internal.js.map +1 -0
  253. package/dist/hooks/context.d.ts +64 -0
  254. package/dist/hooks/context.d.ts.map +1 -0
  255. package/dist/hooks/context.js +83 -0
  256. package/dist/hooks/context.js.map +1 -0
  257. package/dist/hooks/data.d.ts +33 -0
  258. package/dist/hooks/data.d.ts.map +1 -0
  259. package/dist/hooks/data.js +84 -0
  260. package/dist/hooks/data.js.map +1 -0
  261. package/dist/hooks/formatter-context.d.ts +34 -0
  262. package/dist/hooks/formatter-context.d.ts.map +1 -0
  263. package/dist/hooks/formatter-context.js +34 -0
  264. package/dist/hooks/formatter-context.js.map +1 -0
  265. package/dist/hooks/hook-registry.d.ts +45 -0
  266. package/dist/hooks/hook-registry.d.ts.map +1 -0
  267. package/dist/hooks/hook-registry.js +109 -0
  268. package/dist/hooks/hook-registry.js.map +1 -0
  269. package/dist/hooks/index.d.ts +20 -0
  270. package/dist/hooks/index.d.ts.map +1 -0
  271. package/dist/hooks/index.js +47 -0
  272. package/dist/hooks/index.js.map +1 -0
  273. package/dist/hooks/knob.d.ts +87 -0
  274. package/dist/hooks/knob.d.ts.map +1 -0
  275. package/dist/hooks/knob.js +129 -0
  276. package/dist/hooks/knob.js.map +1 -0
  277. package/dist/hooks/knobs-component.d.ts +70 -0
  278. package/dist/hooks/knobs-component.d.ts.map +1 -0
  279. package/dist/hooks/knobs-component.js +300 -0
  280. package/dist/hooks/knobs-component.js.map +1 -0
  281. package/dist/hooks/lifecycle.d.ts +158 -0
  282. package/dist/hooks/lifecycle.d.ts.map +1 -0
  283. package/dist/hooks/lifecycle.js +217 -0
  284. package/dist/hooks/lifecycle.js.map +1 -0
  285. package/dist/hooks/message-context.d.ts +101 -0
  286. package/dist/hooks/message-context.d.ts.map +1 -0
  287. package/dist/hooks/message-context.js +145 -0
  288. package/dist/hooks/message-context.js.map +1 -0
  289. package/dist/hooks/policy-context.d.ts.map +1 -0
  290. package/dist/hooks/runtime-context.d.ts +122 -0
  291. package/dist/hooks/runtime-context.d.ts.map +1 -0
  292. package/dist/hooks/runtime-context.js +149 -0
  293. package/dist/hooks/runtime-context.js.map +1 -0
  294. package/dist/hooks/signal.d.ts +267 -0
  295. package/dist/hooks/signal.d.ts.map +1 -0
  296. package/dist/hooks/signal.js +825 -0
  297. package/dist/hooks/signal.js.map +1 -0
  298. package/dist/hooks/types.d.ts +179 -0
  299. package/dist/hooks/types.d.ts.map +1 -0
  300. package/dist/hooks/types.js +5 -0
  301. package/dist/hooks/types.js.map +1 -0
  302. package/dist/index.d.ts +20 -0
  303. package/dist/index.d.ts.map +1 -0
  304. package/dist/index.js +50 -0
  305. package/dist/index.js.map +1 -0
  306. package/dist/jsx/components/agent.d.ts +64 -0
  307. package/dist/jsx/components/agent.d.ts.map +1 -0
  308. package/dist/jsx/components/agent.js +80 -0
  309. package/dist/jsx/components/agent.js.map +1 -0
  310. package/dist/jsx/components/complete.d.ts +65 -0
  311. package/dist/jsx/components/complete.d.ts.map +1 -0
  312. package/dist/jsx/components/complete.js +64 -0
  313. package/dist/jsx/components/complete.js.map +1 -0
  314. package/dist/jsx/components/content.d.ts +98 -0
  315. package/dist/jsx/components/content.d.ts.map +1 -0
  316. package/dist/jsx/components/content.js +51 -0
  317. package/dist/jsx/components/content.js.map +1 -0
  318. package/dist/jsx/components/harness.d.ts +118 -0
  319. package/dist/jsx/components/harness.d.ts.map +1 -0
  320. package/dist/jsx/components/harness.js +117 -0
  321. package/dist/jsx/components/harness.js.map +1 -0
  322. package/dist/jsx/components/index.d.ts +11 -0
  323. package/dist/jsx/components/index.d.ts.map +1 -0
  324. package/dist/jsx/components/index.js +11 -0
  325. package/dist/jsx/components/index.js.map +1 -0
  326. package/dist/jsx/components/markdown.d.ts +31 -0
  327. package/dist/jsx/components/markdown.d.ts.map +1 -0
  328. package/dist/jsx/components/markdown.js +17 -0
  329. package/dist/jsx/components/markdown.js.map +1 -0
  330. package/dist/jsx/components/messages.d.ts +283 -0
  331. package/dist/jsx/components/messages.d.ts.map +1 -0
  332. package/dist/jsx/components/messages.js +257 -0
  333. package/dist/jsx/components/messages.js.map +1 -0
  334. package/dist/jsx/components/model.d.ts +94 -0
  335. package/dist/jsx/components/model.d.ts.map +1 -0
  336. package/dist/jsx/components/model.js +96 -0
  337. package/dist/jsx/components/model.js.map +1 -0
  338. package/dist/jsx/components/primitives.d.ts +117 -0
  339. package/dist/jsx/components/primitives.d.ts.map +1 -0
  340. package/dist/jsx/components/primitives.js +83 -0
  341. package/dist/jsx/components/primitives.js.map +1 -0
  342. package/dist/jsx/components/renderer.d.ts +24 -0
  343. package/dist/jsx/components/renderer.d.ts.map +1 -0
  344. package/dist/jsx/components/renderer.js +11 -0
  345. package/dist/jsx/components/renderer.js.map +1 -0
  346. package/dist/jsx/components/semantic.d.ts +155 -0
  347. package/dist/jsx/components/semantic.d.ts.map +1 -0
  348. package/dist/jsx/components/semantic.js +39 -0
  349. package/dist/jsx/components/semantic.js.map +1 -0
  350. package/dist/jsx/components/timeline.d.ts +157 -0
  351. package/dist/jsx/components/timeline.d.ts.map +1 -0
  352. package/dist/jsx/components/timeline.js +357 -0
  353. package/dist/jsx/components/timeline.js.map +1 -0
  354. package/dist/jsx/components/token-budget.d.ts +70 -0
  355. package/dist/jsx/components/token-budget.d.ts.map +1 -0
  356. package/dist/jsx/components/token-budget.js +135 -0
  357. package/dist/jsx/components/token-budget.js.map +1 -0
  358. package/dist/jsx/components/xml.d.ts +27 -0
  359. package/dist/jsx/components/xml.d.ts.map +1 -0
  360. package/dist/jsx/components/xml.js +17 -0
  361. package/dist/jsx/components/xml.js.map +1 -0
  362. package/dist/jsx/index.d.ts +58 -0
  363. package/dist/jsx/index.d.ts.map +1 -0
  364. package/dist/jsx/index.js +59 -0
  365. package/dist/jsx/index.js.map +1 -0
  366. package/dist/jsx/jsx-runtime.d.ts +370 -0
  367. package/dist/jsx/jsx-runtime.d.ts.map +1 -0
  368. package/dist/jsx/jsx-runtime.js +79 -0
  369. package/dist/jsx/jsx-runtime.js.map +1 -0
  370. package/dist/jsx/jsx-types.d.ts +23 -0
  371. package/dist/jsx/jsx-types.d.ts.map +1 -0
  372. package/dist/jsx/jsx-types.js +1 -0
  373. package/dist/jsx/jsx-types.js.map +1 -0
  374. package/dist/mcp/client.d.ts +46 -0
  375. package/dist/mcp/client.d.ts.map +1 -0
  376. package/dist/mcp/client.js +138 -0
  377. package/dist/mcp/client.js.map +1 -0
  378. package/dist/mcp/component.d.ts +95 -0
  379. package/dist/mcp/component.d.ts.map +1 -0
  380. package/dist/mcp/component.js +185 -0
  381. package/dist/mcp/component.js.map +1 -0
  382. package/dist/mcp/create-mcp-tool.d.ts +191 -0
  383. package/dist/mcp/create-mcp-tool.d.ts.map +1 -0
  384. package/dist/mcp/create-mcp-tool.js +228 -0
  385. package/dist/mcp/create-mcp-tool.js.map +1 -0
  386. package/dist/mcp/index.d.ts +49 -0
  387. package/dist/mcp/index.d.ts.map +1 -0
  388. package/dist/mcp/index.js +48 -0
  389. package/dist/mcp/index.js.map +1 -0
  390. package/dist/mcp/service.d.ts +39 -0
  391. package/dist/mcp/service.d.ts.map +1 -0
  392. package/dist/mcp/service.js +77 -0
  393. package/dist/mcp/service.js.map +1 -0
  394. package/dist/mcp/tool.d.ts +55 -0
  395. package/dist/mcp/tool.d.ts.map +1 -0
  396. package/dist/mcp/tool.js +119 -0
  397. package/dist/mcp/tool.js.map +1 -0
  398. package/dist/mcp/types.d.ts +72 -0
  399. package/dist/mcp/types.d.ts.map +1 -0
  400. package/dist/mcp/types.js +6 -0
  401. package/dist/mcp/types.js.map +1 -0
  402. package/dist/middleware/defaults.d.ts +9 -0
  403. package/dist/middleware/defaults.d.ts.map +1 -0
  404. package/dist/middleware/defaults.js +47 -0
  405. package/dist/middleware/defaults.js.map +1 -0
  406. package/dist/model/adapter-helpers.d.ts +161 -0
  407. package/dist/model/adapter-helpers.d.ts.map +1 -0
  408. package/dist/model/adapter-helpers.js +351 -0
  409. package/dist/model/adapter-helpers.js.map +1 -0
  410. package/dist/model/adapter.d.ts +399 -0
  411. package/dist/model/adapter.d.ts.map +1 -0
  412. package/dist/model/adapter.js +497 -0
  413. package/dist/model/adapter.js.map +1 -0
  414. package/dist/model/index.d.ts +54 -0
  415. package/dist/model/index.d.ts.map +1 -0
  416. package/dist/model/index.js +55 -0
  417. package/dist/model/index.js.map +1 -0
  418. package/dist/model/model-hooks.d.ts +45 -0
  419. package/dist/model/model-hooks.d.ts.map +1 -0
  420. package/dist/model/model-hooks.js +24 -0
  421. package/dist/model/model-hooks.js.map +1 -0
  422. package/dist/model/model.d.ts +302 -0
  423. package/dist/model/model.d.ts.map +1 -0
  424. package/dist/model/model.js +20 -0
  425. package/dist/model/model.js.map +1 -0
  426. package/dist/model/simple-adapter.d.ts +176 -0
  427. package/dist/model/simple-adapter.d.ts.map +1 -0
  428. package/dist/model/simple-adapter.js +264 -0
  429. package/dist/model/simple-adapter.js.map +1 -0
  430. package/dist/model/stream-accumulator.d.ts +284 -0
  431. package/dist/model/stream-accumulator.d.ts.map +1 -0
  432. package/dist/model/stream-accumulator.js +532 -0
  433. package/dist/model/stream-accumulator.js.map +1 -0
  434. package/dist/model/utils/index.d.ts +2 -0
  435. package/dist/model/utils/index.d.ts.map +1 -0
  436. package/dist/model/utils/index.js +2 -0
  437. package/dist/model/utils/index.js.map +1 -0
  438. package/dist/model/utils/language-model.d.ts +26 -0
  439. package/dist/model/utils/language-model.d.ts.map +1 -0
  440. package/dist/model/utils/language-model.js +706 -0
  441. package/dist/model/utils/language-model.js.map +1 -0
  442. package/dist/procedure/index.d.ts +20 -0
  443. package/dist/procedure/index.d.ts.map +1 -0
  444. package/dist/procedure/index.js +19 -0
  445. package/dist/procedure/index.js.map +1 -0
  446. package/dist/reconciler/devtools-bridge.d.ts +40 -0
  447. package/dist/reconciler/devtools-bridge.d.ts.map +1 -0
  448. package/dist/reconciler/devtools-bridge.js +79 -0
  449. package/dist/reconciler/devtools-bridge.js.map +1 -0
  450. package/dist/reconciler/host-config.d.ts +39 -0
  451. package/dist/reconciler/host-config.d.ts.map +1 -0
  452. package/dist/reconciler/host-config.js +195 -0
  453. package/dist/reconciler/host-config.js.map +1 -0
  454. package/dist/reconciler/index.d.ts +7 -0
  455. package/dist/reconciler/index.d.ts.map +1 -0
  456. package/dist/reconciler/index.js +7 -0
  457. package/dist/reconciler/index.js.map +1 -0
  458. package/dist/reconciler/reconciler.d.ts +47 -0
  459. package/dist/reconciler/reconciler.d.ts.map +1 -0
  460. package/dist/reconciler/reconciler.js +89 -0
  461. package/dist/reconciler/reconciler.js.map +1 -0
  462. package/dist/reconciler/types.d.ts +86 -0
  463. package/dist/reconciler/types.d.ts.map +1 -0
  464. package/dist/reconciler/types.js +37 -0
  465. package/dist/reconciler/types.js.map +1 -0
  466. package/dist/renderers/base.d.ts +98 -0
  467. package/dist/renderers/base.d.ts.map +1 -0
  468. package/dist/renderers/base.js +82 -0
  469. package/dist/renderers/base.js.map +1 -0
  470. package/dist/renderers/index.d.ts +31 -0
  471. package/dist/renderers/index.d.ts.map +1 -0
  472. package/dist/renderers/index.js +31 -0
  473. package/dist/renderers/index.js.map +1 -0
  474. package/dist/renderers/markdown.d.ts +48 -0
  475. package/dist/renderers/markdown.d.ts.map +1 -0
  476. package/dist/renderers/markdown.js +432 -0
  477. package/dist/renderers/markdown.js.map +1 -0
  478. package/dist/renderers/types.d.ts +7 -0
  479. package/dist/renderers/types.d.ts.map +1 -0
  480. package/dist/renderers/types.js +7 -0
  481. package/dist/renderers/types.js.map +1 -0
  482. package/dist/renderers/xml.d.ts +49 -0
  483. package/dist/renderers/xml.d.ts.map +1 -0
  484. package/dist/renderers/xml.js +444 -0
  485. package/dist/renderers/xml.js.map +1 -0
  486. package/dist/state/boundary.d.ts +347 -0
  487. package/dist/state/boundary.d.ts.map +1 -0
  488. package/dist/state/boundary.js +341 -0
  489. package/dist/state/boundary.js.map +1 -0
  490. package/dist/state/context.d.ts +138 -0
  491. package/dist/state/context.d.ts.map +1 -0
  492. package/dist/state/context.js +139 -0
  493. package/dist/state/context.js.map +1 -0
  494. package/dist/state/hooks.d.ts +798 -0
  495. package/dist/state/hooks.d.ts.map +1 -0
  496. package/dist/state/hooks.js +1437 -0
  497. package/dist/state/hooks.js.map +1 -0
  498. package/dist/state/index.d.ts +72 -0
  499. package/dist/state/index.d.ts.map +1 -0
  500. package/dist/state/index.js +73 -0
  501. package/dist/state/index.js.map +1 -0
  502. package/dist/state/signal.d.ts +223 -0
  503. package/dist/state/signal.d.ts.map +1 -0
  504. package/dist/state/signal.js +699 -0
  505. package/dist/state/signal.js.map +1 -0
  506. package/dist/state/use-state.d.ts +210 -0
  507. package/dist/state/use-state.d.ts.map +1 -0
  508. package/dist/state/use-state.js +327 -0
  509. package/dist/state/use-state.js.map +1 -0
  510. package/dist/tentickle-instance.d.ts +285 -0
  511. package/dist/tentickle-instance.d.ts.map +1 -0
  512. package/dist/tentickle-instance.js +700 -0
  513. package/dist/tentickle-instance.js.map +1 -0
  514. package/dist/testing/act.d.ts +59 -0
  515. package/dist/testing/act.d.ts.map +1 -0
  516. package/dist/testing/act.js +92 -0
  517. package/dist/testing/act.js.map +1 -0
  518. package/dist/testing/async-helpers.d.ts +99 -0
  519. package/dist/testing/async-helpers.d.ts.map +1 -0
  520. package/dist/testing/async-helpers.js +193 -0
  521. package/dist/testing/async-helpers.js.map +1 -0
  522. package/dist/testing/compile-agent.d.ts +101 -0
  523. package/dist/testing/compile-agent.d.ts.map +1 -0
  524. package/dist/testing/compile-agent.js +136 -0
  525. package/dist/testing/compile-agent.js.map +1 -0
  526. package/dist/testing/index.d.ts +57 -0
  527. package/dist/testing/index.d.ts.map +1 -0
  528. package/dist/testing/index.js +59 -0
  529. package/dist/testing/index.js.map +1 -0
  530. package/dist/testing/mock-app.d.ts +163 -0
  531. package/dist/testing/mock-app.d.ts.map +1 -0
  532. package/dist/testing/mock-app.js +393 -0
  533. package/dist/testing/mock-app.js.map +1 -0
  534. package/dist/testing/mocks.d.ts +142 -0
  535. package/dist/testing/mocks.d.ts.map +1 -0
  536. package/dist/testing/mocks.js +191 -0
  537. package/dist/testing/mocks.js.map +1 -0
  538. package/dist/testing/render-agent.d.ts +146 -0
  539. package/dist/testing/render-agent.d.ts.map +1 -0
  540. package/dist/testing/render-agent.js +200 -0
  541. package/dist/testing/render-agent.js.map +1 -0
  542. package/dist/testing/test-adapter.d.ts +157 -0
  543. package/dist/testing/test-adapter.d.ts.map +1 -0
  544. package/dist/testing/test-adapter.js +297 -0
  545. package/dist/testing/test-adapter.js.map +1 -0
  546. package/dist/testing/test-model.d.ts +132 -0
  547. package/dist/testing/test-model.d.ts.map +1 -0
  548. package/dist/testing/test-model.js +260 -0
  549. package/dist/testing/test-model.js.map +1 -0
  550. package/dist/tool/index.d.ts +61 -0
  551. package/dist/tool/index.d.ts.map +1 -0
  552. package/dist/tool/index.js +63 -0
  553. package/dist/tool/index.js.map +1 -0
  554. package/dist/tool/tool-hooks.d.ts +45 -0
  555. package/dist/tool/tool-hooks.d.ts.map +1 -0
  556. package/dist/tool/tool-hooks.js +35 -0
  557. package/dist/tool/tool-hooks.js.map +1 -0
  558. package/dist/tool/tool.d.ts +403 -0
  559. package/dist/tool/tool.d.ts.map +1 -0
  560. package/dist/tool/tool.js +176 -0
  561. package/dist/tool/tool.js.map +1 -0
  562. package/dist/types.d.ts +442 -0
  563. package/dist/types.d.ts.map +1 -0
  564. package/dist/types.js +97 -0
  565. package/dist/types.js.map +1 -0
  566. package/dist/utils/abort-utils.d.ts +5 -0
  567. package/dist/utils/abort-utils.d.ts.map +1 -0
  568. package/dist/utils/abort-utils.js +50 -0
  569. package/dist/utils/abort-utils.js.map +1 -0
  570. package/dist/utils/classify-error.d.ts +19 -0
  571. package/dist/utils/classify-error.d.ts.map +1 -0
  572. package/dist/utils/classify-error.js +77 -0
  573. package/dist/utils/classify-error.js.map +1 -0
  574. package/dist/utils/index.d.ts +21 -0
  575. package/dist/utils/index.d.ts.map +1 -0
  576. package/dist/utils/index.js +21 -0
  577. package/dist/utils/index.js.map +1 -0
  578. package/dist/utils/normalization.d.ts +6 -0
  579. package/dist/utils/normalization.d.ts.map +1 -0
  580. package/dist/utils/normalization.js +103 -0
  581. package/dist/utils/normalization.js.map +1 -0
  582. package/dist/utils/registry.d.ts +15 -0
  583. package/dist/utils/registry.d.ts.map +1 -0
  584. package/dist/utils/registry.js +28 -0
  585. package/dist/utils/registry.js.map +1 -0
  586. package/dist/utils/schema.d.ts +7 -0
  587. package/dist/utils/schema.d.ts.map +1 -0
  588. package/dist/utils/schema.js +13 -0
  589. package/dist/utils/schema.js.map +1 -0
  590. package/dist/utils/token-estimate.d.ts +87 -0
  591. package/dist/utils/token-estimate.d.ts.map +1 -0
  592. package/dist/utils/token-estimate.js +199 -0
  593. package/dist/utils/token-estimate.js.map +1 -0
  594. package/dist/v2/reconciler/host-config.d.ts +31 -0
  595. package/dist/v2/reconciler/host-config.d.ts.map +1 -0
  596. package/dist/v2/reconciler/host-config.js +197 -0
  597. package/dist/v2/reconciler/host-config.js.map +1 -0
  598. package/dist/v2/reconciler/index.d.ts +7 -0
  599. package/dist/v2/reconciler/index.d.ts.map +1 -0
  600. package/dist/v2/reconciler/index.js +7 -0
  601. package/dist/v2/reconciler/index.js.map +1 -0
  602. package/dist/v2/reconciler/reconciler.d.ts +39 -0
  603. package/dist/v2/reconciler/reconciler.d.ts.map +1 -0
  604. package/dist/v2/reconciler/reconciler.js +54 -0
  605. package/dist/v2/reconciler/reconciler.js.map +1 -0
  606. package/dist/v2/reconciler/types.d.ts +64 -0
  607. package/dist/v2/reconciler/types.d.ts.map +1 -0
  608. package/dist/v2/reconciler/types.js +20 -0
  609. package/dist/v2/reconciler/types.js.map +1 -0
  610. package/dist/v2/renderers/index.d.ts +7 -0
  611. package/dist/v2/renderers/index.d.ts.map +1 -0
  612. package/dist/v2/renderers/index.js +7 -0
  613. package/dist/v2/renderers/index.js.map +1 -0
  614. package/dist/v2/renderers/markdown.d.ts +16 -0
  615. package/dist/v2/renderers/markdown.d.ts.map +1 -0
  616. package/dist/v2/renderers/markdown.js +65 -0
  617. package/dist/v2/renderers/markdown.js.map +1 -0
  618. package/dist/v2/renderers/types.d.ts +26 -0
  619. package/dist/v2/renderers/types.d.ts.map +1 -0
  620. package/dist/v2/renderers/types.js +6 -0
  621. package/dist/v2/renderers/types.js.map +1 -0
  622. package/dist/v2/renderers/xml.d.ts +17 -0
  623. package/dist/v2/renderers/xml.d.ts.map +1 -0
  624. package/dist/v2/renderers/xml.js +73 -0
  625. package/dist/v2/renderers/xml.js.map +1 -0
  626. package/package.json +49 -0
@@ -0,0 +1,602 @@
1
+ import {} from "./execution-types";
2
+ import { EventEmitter } from "node:events";
3
+ import { EventBuffer, ExecutionHandleBrand, } from "@agentick/kernel";
4
+ import { Context } from "@agentick/kernel";
5
+ import { AbortError, StateError } from "@agentick/shared";
6
+ /**
7
+ * Concrete implementation of ExecutionHandle
8
+ * Also implements Kernel's ExecutionHandle<TOutput> for Procedure compatibility
9
+ */
10
+ export class ExecutionHandleImpl extends EventEmitter {
11
+ [ExecutionHandleBrand] = true;
12
+ pid;
13
+ parentPid;
14
+ rootPid;
15
+ type;
16
+ status;
17
+ startedAt;
18
+ completedAt;
19
+ // Kernel ExecutionHandle<TOutput> compatibility
20
+ result; // Maps to completionPromise
21
+ /**
22
+ * Event buffer for streaming execution events.
23
+ * Supports dual consumption - multiple iterators can independently consume all events.
24
+ * This is also exposed as `events` for Kernel ExecutionHandle compatibility.
25
+ */
26
+ eventBuffer;
27
+ events; // Alias for eventBuffer (Kernel compat)
28
+ traceId = ""; // Set by handle factory
29
+ resultValue; // Actual result value (set when complete)
30
+ error;
31
+ cancelController;
32
+ completionPromise;
33
+ completionResolve;
34
+ completionReject;
35
+ comInstance;
36
+ streamIterator;
37
+ tickCount = 0;
38
+ session;
39
+ shutdownHooks = [];
40
+ parentHandle;
41
+ procedureGraph; // Procedure graph for this execution
42
+ _abortEmitted = false; // Track if abort signal was already emitted (before listeners were set up)
43
+ _listenersSetup = false; // Track if abort listeners have been set up in iterateTicks
44
+ constructor(pid, rootPid, type, parentPid, parentHandle) {
45
+ super();
46
+ // Increase max listeners to handle child execution scenarios with multiple abort listeners
47
+ this.setMaxListeners(20);
48
+ this.pid = pid;
49
+ this.rootPid = rootPid;
50
+ this.type = type;
51
+ this.parentPid = parentPid;
52
+ this.status = "running";
53
+ this.startedAt = new Date();
54
+ this.parentHandle = parentHandle;
55
+ // Create completion promise
56
+ this.completionPromise = new Promise((resolve, reject) => {
57
+ this.completionResolve = resolve;
58
+ this.completionReject = reject;
59
+ });
60
+ // Prevent unhandled promise rejection when fail() or cancel() is called but no one is waiting
61
+ // This catch handler ensures that rejections are always handled, even if waitForCompletion() is never called
62
+ this.completionPromise.catch((_error) => {
63
+ // Error is stored in this.error and will be returned by waitForCompletion
64
+ // if called later. This catch prevents Node.js from complaining about
65
+ // unhandled rejections when we use fail() or cancel() internally.
66
+ // Silently handle the rejection - it's expected behavior
67
+ });
68
+ // Kernel ExecutionHandle<TOutput> compatibility
69
+ // result maps to completionPromise (Kernel expects Promise<TOutput>)
70
+ this.result = this.completionPromise;
71
+ // EventBuffer for dual consumption support (create first)
72
+ this.eventBuffer = new EventBuffer();
73
+ // events is alias for eventBuffer (Kernel expects EventBuffer<TEvent>)
74
+ this.events = this.eventBuffer;
75
+ // Forward events from EventEmitter (this) to EventBuffer
76
+ this.on("*", (event) => {
77
+ this.eventBuffer.push(event);
78
+ });
79
+ // Note: The Kernel's procedure may pass a resultPromise via linkKernelResult()
80
+ // which will connect to complete/fail when it settles
81
+ // For child executions: monitor parent status
82
+ if (type === "child" && parentHandle) {
83
+ // If parent has already completed, child runs independently
84
+ // Clear any abort flags that might have been set by propagated signals from completed parent
85
+ // Also mark listeners as setup to prevent wasAbortEmitted() from returning true
86
+ // for aborts that occurred before the child started executing
87
+ if (parentHandle.status !== "running") {
88
+ this._abortEmitted = false; // Clear flag - parent completed, child runs independently
89
+ this._listenersSetup = true; // Mark as setup to ignore pre-execution aborts
90
+ }
91
+ this.setupParentStatusMonitor(parentHandle);
92
+ }
93
+ }
94
+ /**
95
+ * Link the Kernel's result promise to this handle.
96
+ * When the promise resolves, calls complete(). When it rejects, calls fail().
97
+ * This connects the Kernel's procedure execution to the Engine's handle lifecycle.
98
+ */
99
+ linkKernelResult(kernelResultPromise) {
100
+ kernelResultPromise.then((result) => {
101
+ this.complete(result);
102
+ }, (error) => {
103
+ this.fail(error instanceof Error ? error : new Error(String(error)));
104
+ });
105
+ }
106
+ /**
107
+ * Monitor parent status (child executions only)
108
+ * When parent fails or is cancelled AFTER child is created, abort child.
109
+ *
110
+ * Note: If parent completes successfully, child continues running independently.
111
+ * If parent is already completed/failed when child is created, the child runs independently.
112
+ */
113
+ setupParentStatusMonitor(parent) {
114
+ // Only monitor if parent is still running
115
+ // If parent is already completed/failed, child runs independently
116
+ if (parent.status !== "running") {
117
+ return;
118
+ }
119
+ // Only abort child if parent fails or is cancelled - NOT on successful completion
120
+ // Child executions should continue running after parent completes successfully
121
+ parent.once("failed", () => {
122
+ if (this.status === "running") {
123
+ this.emitSignal("abort", "Parent execution failed", {
124
+ propagatedFrom: parent.pid,
125
+ });
126
+ }
127
+ });
128
+ // Monitor cancellation via abort signal (parent.cancel() emits abort)
129
+ parent.once("abort", () => {
130
+ if (this.status === "running") {
131
+ this.emitSignal("abort", "Parent execution cancelled", {
132
+ propagatedFrom: parent.pid,
133
+ });
134
+ }
135
+ });
136
+ // Also monitor via waitForCompletion as fallback
137
+ // Only abort on failure/cancellation, not on successful completion
138
+ if (parent.status === "running") {
139
+ parent.waitForCompletion().catch((_error) => {
140
+ if (this.status === "running") {
141
+ this.emitSignal("abort", "Parent execution failed", {
142
+ propagatedFrom: parent.pid,
143
+ });
144
+ }
145
+ });
146
+ }
147
+ }
148
+ /**
149
+ * Set the stream iterator for this execution
150
+ */
151
+ setStreamIterator(iterator) {
152
+ this.streamIterator = iterator;
153
+ }
154
+ /**
155
+ * Set the cancel controller
156
+ */
157
+ setCancelController(controller) {
158
+ this.cancelController = controller;
159
+ // Setup listener for abort signal
160
+ // Only add listener if signal is not already aborted
161
+ // Note: This listener will emit when controller is aborted externally
162
+ // When cancel() is called, it emits the signal first, then aborts the controller
163
+ // So this listener acts as a fallback for external aborts
164
+ if (!controller.signal.aborted) {
165
+ controller.signal.addEventListener("abort", () => {
166
+ // Only emit if we're still running (avoid duplicate if cancel() was called)
167
+ if (this.status === "running") {
168
+ this.emitSignal("abort", "Execution cancelled");
169
+ }
170
+ });
171
+ }
172
+ // Note: If signal is already aborted when setCancelController is called,
173
+ // we don't need to do anything here because:
174
+ // 1. For normal executions, the controller is always fresh (not aborted)
175
+ // 2. For forks, the merged signal (which may be aborted) is passed via context,
176
+ // not via setCancelController. The abort will be detected via ctx.signal.aborted
177
+ // in iterateTicks.
178
+ }
179
+ /**
180
+ * Get the cancel signal (if cancel controller is set)
181
+ */
182
+ getCancelSignal() {
183
+ // Don't return signal if execution has completed or failed
184
+ // This prevents forks from inheriting aborted signals from completed parents
185
+ if (this.status !== "running" && this.status !== "cancelled") {
186
+ return undefined;
187
+ }
188
+ return this.cancelController?.signal;
189
+ }
190
+ /**
191
+ * Increment tick count
192
+ */
193
+ incrementTick() {
194
+ this.tickCount++;
195
+ }
196
+ /**
197
+ * Mark execution as completed
198
+ */
199
+ complete(result) {
200
+ if (this.status !== "running") {
201
+ return;
202
+ }
203
+ this.status = "completed";
204
+ this.completedAt = new Date();
205
+ this.resultValue = result;
206
+ // Close the event buffer
207
+ this.eventBuffer.close();
208
+ // Emit completion event
209
+ this.emit("completed", result);
210
+ if (this.completionResolve) {
211
+ const resolve = this.completionResolve;
212
+ // Clear resolve function to prevent double-resolution
213
+ this.completionResolve = undefined;
214
+ this.completionReject = undefined; // Also clear reject since we're resolving
215
+ resolve(result);
216
+ }
217
+ }
218
+ /**
219
+ * Mark execution as failed
220
+ */
221
+ fail(error) {
222
+ if (this.status !== "running") {
223
+ return;
224
+ }
225
+ this.status = "failed";
226
+ this.completedAt = new Date();
227
+ this.error = error;
228
+ // Close the event buffer with error
229
+ this.eventBuffer.error(error);
230
+ // Emit failure event
231
+ this.emit("failed", error);
232
+ if (this.completionReject) {
233
+ const reject = this.completionReject;
234
+ // Clear reject function to prevent double-rejection
235
+ this.completionReject = undefined;
236
+ this.completionResolve = undefined; // Also clear resolve since we're rejecting
237
+ // Reject the promise - the catch handler in constructor will prevent unhandled rejection
238
+ try {
239
+ reject(error);
240
+ }
241
+ catch (_rejectionError) {
242
+ // Ignore errors if promise already settled (this is expected and harmless)
243
+ // The promise's catch handler will still prevent unhandled rejection
244
+ }
245
+ }
246
+ }
247
+ /**
248
+ * Wait for execution to complete
249
+ */
250
+ async waitForCompletion(options) {
251
+ if (!this.completionPromise) {
252
+ throw new StateError("uninitialized", "initialized", "Execution handle not properly initialized");
253
+ }
254
+ if (options?.timeout) {
255
+ return Promise.race([
256
+ this.completionPromise,
257
+ new Promise((_, reject) => {
258
+ setTimeout(() => {
259
+ reject(new AbortError(`Execution ${this.pid} timed out after ${options.timeout}ms`, "ABORT_TIMEOUT", { pid: this.pid, timeoutMs: options.timeout }));
260
+ }, options.timeout);
261
+ }),
262
+ ]);
263
+ }
264
+ return this.completionPromise;
265
+ }
266
+ /**
267
+ * Cancel the execution (triggers abort signal)
268
+ */
269
+ cancel(reason) {
270
+ if (this.status !== "running") {
271
+ return;
272
+ }
273
+ this.status = "cancelled";
274
+ this.completedAt = new Date();
275
+ // Close the event buffer
276
+ this.eventBuffer.close();
277
+ // Emit abort signal first (this will propagate to children)
278
+ // Note: We emit before aborting the controller to avoid duplicate signals
279
+ // The controller's abort listener will also emit, but we check for already-aborted status
280
+ this.emitSignal("abort", reason || "Execution cancelled");
281
+ // Abort the controller (this will trigger its listener, but we've already emitted)
282
+ if (this.cancelController && !this.cancelController.signal.aborted) {
283
+ this.cancelController.abort();
284
+ }
285
+ // Reject the completion promise if it hasn't been settled yet
286
+ // Reject synchronously - callers should handle the rejection
287
+ // Clear reject function immediately to prevent double-rejection
288
+ if (this.completionReject) {
289
+ const reject = this.completionReject;
290
+ const error = new AbortError(reason || "Execution cancelled");
291
+ this.completionReject = undefined;
292
+ this.completionResolve = undefined; // Also clear resolve since we're rejecting
293
+ // Store error for waitForCompletion() if called later
294
+ this.error = error;
295
+ // Reject the promise - the catch handler in constructor will prevent unhandled rejection
296
+ try {
297
+ reject(error);
298
+ }
299
+ catch (_rejectionError) {
300
+ // Ignore errors if promise already settled (this is expected and harmless)
301
+ // The promise's catch handler will still prevent unhandled rejection
302
+ }
303
+ }
304
+ }
305
+ /**
306
+ * Emit signal for this execution
307
+ */
308
+ emitSignal(signal, reason, metadata) {
309
+ const event = {
310
+ type: signal,
311
+ source: "execution",
312
+ pid: this.pid,
313
+ parentPid: this.parentPid,
314
+ reason,
315
+ timestamp: Date.now(),
316
+ metadata,
317
+ };
318
+ // Track if abort was emitted BEFORE listeners were set up
319
+ // Only set flag if listeners haven't been set up yet (to catch early aborts)
320
+ // Once listeners are set up, they will catch all aborts, so we don't need the flag
321
+ if (signal === "abort" && !this._listenersSetup) {
322
+ this._abortEmitted = true;
323
+ }
324
+ this.emit(signal, event);
325
+ // If abort signal, trigger cancel controller (if not already aborted)
326
+ // Note: cancel() already aborts the controller, so this is mainly for external signals
327
+ if (signal === "abort" && this.cancelController && !this.cancelController.signal.aborted) {
328
+ this.cancelController.abort();
329
+ }
330
+ }
331
+ /**
332
+ * Mark that abort listeners have been set up in iterateTicks.
333
+ * Called by iterateTicks after setting up listeners to prevent false positives.
334
+ * Once listeners are set up, future emitSignal('abort') calls won't set _abortEmitted,
335
+ * and wasAbortEmitted() will return false (since it checks !_listenersSetup).
336
+ */
337
+ markListenersSetup() {
338
+ this._listenersSetup = true;
339
+ // Clear the flag for cleanup (redundant since wasAbortEmitted() checks !_listenersSetup,
340
+ // but keeps the state clean)
341
+ this._abortEmitted = false;
342
+ }
343
+ /**
344
+ * Check if abort signal was already emitted (before listeners were set up)
345
+ * Used by iterateTicks to detect early abort signals
346
+ *
347
+ * Note: Only checks if THIS execution emitted an abort via emitSignal('abort'),
348
+ * not if the signal is aborted (which could be from a parent signal in forks).
349
+ * Signal aborted state is checked separately in iterateTicks via ctx.signal.aborted.
350
+ *
351
+ * This should only be checked ONCE at the start of iterateTicks, before listeners are set up.
352
+ */
353
+ wasAbortEmitted() {
354
+ // Only check the flag - don't check status because status might be set by cancel()
355
+ // which is called AFTER abort is detected, creating a circular dependency
356
+ // Also only return true if listeners haven't been set up yet
357
+ return !this._listenersSetup && this._abortEmitted;
358
+ }
359
+ /**
360
+ * Register graceful shutdown hook for this execution
361
+ */
362
+ onShutdown(handler) {
363
+ this.shutdownHooks.push(handler);
364
+ return () => {
365
+ const index = this.shutdownHooks.indexOf(handler);
366
+ if (index > -1) {
367
+ this.shutdownHooks.splice(index, 1);
368
+ }
369
+ };
370
+ }
371
+ /**
372
+ * Run shutdown hooks (called before aborting)
373
+ */
374
+ async runShutdownHooks() {
375
+ for (const hook of this.shutdownHooks) {
376
+ try {
377
+ await hook();
378
+ }
379
+ catch (error) {
380
+ console.error(`Error in shutdown hook for execution ${this.pid}:`, error);
381
+ }
382
+ }
383
+ }
384
+ /**
385
+ * Get execution result
386
+ */
387
+ getResult() {
388
+ return this.resultValue;
389
+ }
390
+ // ============================================================================
391
+ // PromiseLike<COMInput> implementation
392
+ // ============================================================================
393
+ /**
394
+ * PromiseLike implementation - allows `await handle` to resolve to COMInput
395
+ */
396
+ then(onfulfilled, onrejected) {
397
+ return this.result.then(onfulfilled, onrejected);
398
+ }
399
+ /**
400
+ * Catch handler for errors - same as `.then(undefined, onrejected)`
401
+ */
402
+ catch(onrejected) {
403
+ return this.result.catch(onrejected);
404
+ }
405
+ // ============================================================================
406
+ // AsyncIterable<StreamEvent> implementation
407
+ // ============================================================================
408
+ /**
409
+ * AsyncIterable implementation - allows `for await (const event of handle)`
410
+ * Delegates to the stream iterator if available.
411
+ */
412
+ [Symbol.asyncIterator]() {
413
+ if (!this.streamIterator) {
414
+ // Return an empty iterator if no stream is set
415
+ return {
416
+ async next() {
417
+ return { value: undefined, done: true };
418
+ },
419
+ };
420
+ }
421
+ return this.streamIterator[Symbol.asyncIterator]();
422
+ }
423
+ // ============================================================================
424
+ // Abort method for Kernel ExecutionHandle compatibility
425
+ // ============================================================================
426
+ /**
427
+ * Abort the execution (alias for cancel)
428
+ * This is the Kernel ExecutionHandle interface method.
429
+ */
430
+ abort(reason) {
431
+ this.cancel(reason);
432
+ }
433
+ /**
434
+ * Kernel ExecutionHandle<TOutput> compatibility
435
+ * Maps status to Kernel's status type
436
+ */
437
+ getStatus() {
438
+ // Map 'pending' to 'running' for Kernel compatibility
439
+ return this.status === "pending" ? "running" : this.status;
440
+ }
441
+ /**
442
+ * Stream execution events
443
+ */
444
+ stream() {
445
+ if (!this.streamIterator) {
446
+ throw new StateError("no_stream", "streaming", "Stream iterator not set");
447
+ }
448
+ return this.streamIterator;
449
+ }
450
+ /**
451
+ * Get execution metrics
452
+ */
453
+ getMetrics() {
454
+ const duration = this.completedAt
455
+ ? this.completedAt.getTime() - this.startedAt.getTime()
456
+ : Date.now() - this.startedAt.getTime();
457
+ return {
458
+ pid: this.pid,
459
+ parentPid: this.parentPid,
460
+ rootPid: this.rootPid,
461
+ type: this.type,
462
+ status: this.status,
463
+ startedAt: this.startedAt,
464
+ completedAt: this.completedAt,
465
+ duration,
466
+ tickCount: this.tickCount,
467
+ error: this.error
468
+ ? {
469
+ message: this.error.message,
470
+ phase: undefined,
471
+ }
472
+ : undefined,
473
+ };
474
+ }
475
+ /**
476
+ * Get execution duration
477
+ */
478
+ getDuration() {
479
+ const endTime = this.completedAt || new Date();
480
+ return endTime.getTime() - this.startedAt.getTime();
481
+ }
482
+ /**
483
+ * Create execution state for persistence
484
+ */
485
+ toState(component, input, currentTick, previous) {
486
+ return {
487
+ pid: this.pid,
488
+ parentPid: this.parentPid,
489
+ rootPid: this.rootPid,
490
+ type: this.type,
491
+ status: this.status,
492
+ input,
493
+ component,
494
+ currentTick,
495
+ previous,
496
+ startedAt: this.startedAt,
497
+ completedAt: this.completedAt,
498
+ error: this.error
499
+ ? {
500
+ message: this.error.message,
501
+ stack: this.error.stack,
502
+ }
503
+ : undefined,
504
+ };
505
+ }
506
+ /**
507
+ * Set procedure graph for this execution
508
+ * Called by Engine when execution starts to link execution to its procedure graph
509
+ */
510
+ setProcedureGraph(graph) {
511
+ this.procedureGraph = graph;
512
+ }
513
+ /**
514
+ * Get procedure graph for this execution
515
+ * Returns undefined if no procedures were executed in this execution's context
516
+ */
517
+ getProcedureGraph() {
518
+ // If we have a stored reference, return it
519
+ if (this.procedureGraph) {
520
+ return this.procedureGraph;
521
+ }
522
+ // Otherwise, try to get it from current context (for active executions)
523
+ // This allows accessing procedure graph even if execution is still running
524
+ const ctx = Context.tryGet();
525
+ if (ctx?.procedureGraph) {
526
+ // Store reference for future access
527
+ this.procedureGraph = ctx.procedureGraph;
528
+ return ctx.procedureGraph;
529
+ }
530
+ return undefined;
531
+ }
532
+ /**
533
+ * Get aggregated metrics from all procedures in this execution
534
+ * Includes both execution-level metrics and procedure-level metrics
535
+ */
536
+ getProcedureMetrics() {
537
+ const graph = this.getProcedureGraph();
538
+ if (!graph) {
539
+ return {};
540
+ }
541
+ // Aggregate metrics from all procedure nodes
542
+ const aggregated = {};
543
+ const allNodes = graph.getAllNodes();
544
+ for (const node of allNodes) {
545
+ for (const [key, value] of Object.entries(node.metrics)) {
546
+ aggregated[key] = (aggregated[key] || 0) + value;
547
+ }
548
+ }
549
+ return aggregated;
550
+ }
551
+ /**
552
+ * Get procedure nodes for this execution
553
+ */
554
+ getProcedureNodes() {
555
+ const graph = this.getProcedureGraph();
556
+ return graph ? graph.getAllNodes() : [];
557
+ }
558
+ /**
559
+ * Get root procedure node (if any procedures were executed)
560
+ */
561
+ getRootProcedureNode() {
562
+ const graph = this.getProcedureGraph();
563
+ if (!graph) {
564
+ return undefined;
565
+ }
566
+ // Find root procedure (no parent)
567
+ const allNodes = graph.getAllNodes();
568
+ return allNodes.find((node) => !node.parentPid);
569
+ }
570
+ setComInstance(ctx) {
571
+ this.comInstance = ctx;
572
+ }
573
+ /**
574
+ * Set the compile session for message sending.
575
+ * Called by Engine when execution starts.
576
+ */
577
+ setSession(session) {
578
+ this.session = session;
579
+ }
580
+ /**
581
+ * Send a message to the running execution.
582
+ *
583
+ * The message is delivered immediately to component onMessage hooks,
584
+ * then queued for availability in TickState.queuedMessages.
585
+ *
586
+ * @param message The message to send (id and timestamp are auto-generated)
587
+ * @throws Error if execution is not running or no active session
588
+ */
589
+ async send(message) {
590
+ if (this.status !== "running") {
591
+ throw new StateError(this.status, "running", `Cannot send message to ${this.status} execution`);
592
+ }
593
+ if (!this.session) {
594
+ throw new StateError("no_session", "active_session", "No active session - message cannot be sent");
595
+ }
596
+ await this.session.queue.exec(message);
597
+ }
598
+ getComInstance() {
599
+ return this.comInstance;
600
+ }
601
+ }
602
+ //# sourceMappingURL=execution-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-handle.js","sourceRoot":"","sources":["../../src/engine/execution-handle.ts"],"names":[],"mappings":"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"}