@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,212 @@
1
+ /**
2
+ * Execution Helpers
3
+ *
4
+ * Utilities for understanding execution context - whether an execution
5
+ * is standalone, nested, what originated it, etc.
6
+ *
7
+ * Useful for persistence, logging, and conditional behavior based on
8
+ * execution hierarchy.
9
+ */
10
+ import { Context } from "./context";
11
+ import { ExecutionTracker } from "./execution-tracker";
12
+ /**
13
+ * Check if this is a standalone (root) execution or nested within another.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * if (isStandaloneExecution(ctx)) {
18
+ * // Create new execution record
19
+ * } else {
20
+ * // Link to parent execution
21
+ * }
22
+ * ```
23
+ */
24
+ export function isStandaloneExecution(ctx) {
25
+ return !ctx.procedureNode?.parentPid;
26
+ }
27
+ /**
28
+ * Check if this execution is nested within another procedure.
29
+ * Opposite of isStandaloneExecution.
30
+ */
31
+ export function isNestedExecution(ctx) {
32
+ return !!ctx.procedureNode?.parentPid;
33
+ }
34
+ /**
35
+ * Get the name of the procedure that originated this execution chain.
36
+ * Returns the origin's name if nested, or current procedure name if standalone.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const origin = getOriginName(ctx);
41
+ * // 'engine:stream', 'engine:execute', 'model:generate', etc.
42
+ * ```
43
+ */
44
+ export function getOriginName(ctx) {
45
+ return ctx.origin?.name ?? ctx.procedureNode?.name;
46
+ }
47
+ /**
48
+ * Get the origin procedure node if this is a nested execution.
49
+ * Returns undefined for standalone executions.
50
+ */
51
+ export function getOriginNode(ctx) {
52
+ return ctx.origin;
53
+ }
54
+ /**
55
+ * Check if this execution is within an engine execution (engine:execute or engine:stream).
56
+ * Useful for persistence to know if engine is handling top-level tracking.
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * if (isWithinEngine(ctx)) {
61
+ * // Engine handles execution record - just track model-specific stuff
62
+ * } else {
63
+ * // Standalone model call - need full tracking
64
+ * }
65
+ * ```
66
+ */
67
+ export function isWithinEngine(ctx) {
68
+ if (!ctx.procedureGraph || !ctx.procedurePid) {
69
+ return false;
70
+ }
71
+ return ctx.procedureGraph.hasAncestor(ctx.procedurePid, (node) => node.name?.startsWith("engine:") ?? false);
72
+ }
73
+ /**
74
+ * Check if this execution has an ancestor with a specific procedure name.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * if (hasAncestorNamed(ctx, 'engine:stream')) {
79
+ * // We're inside a streaming execution
80
+ * }
81
+ * ```
82
+ */
83
+ export function hasAncestorNamed(ctx, name) {
84
+ if (!ctx.procedureGraph || !ctx.procedurePid) {
85
+ return false;
86
+ }
87
+ return ctx.procedureGraph.hasAncestorWithName(ctx.procedurePid, name);
88
+ }
89
+ /**
90
+ * Check if this execution has an ancestor matching a predicate.
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * if (hasAncestorMatching(ctx, n => n.metadata?.type === 'agent')) {
95
+ * // We're inside an agent execution
96
+ * }
97
+ * ```
98
+ */
99
+ export function hasAncestorMatching(ctx, predicate) {
100
+ if (!ctx.procedureGraph || !ctx.procedurePid) {
101
+ return false;
102
+ }
103
+ return ctx.procedureGraph.hasAncestor(ctx.procedurePid, predicate);
104
+ }
105
+ /**
106
+ * Get the parent procedure node if one exists.
107
+ */
108
+ export function getParentNode(ctx) {
109
+ return ctx.procedureNode?.getParentNode();
110
+ }
111
+ /**
112
+ * Get the parent procedure's PID if one exists.
113
+ */
114
+ export function getParentPid(ctx) {
115
+ return ctx.procedureNode?.parentPid;
116
+ }
117
+ /**
118
+ * Get the root procedure ID (the origin of this execution chain).
119
+ * Returns current PID if this is a standalone execution.
120
+ */
121
+ export function getRootPid(ctx) {
122
+ return ctx.origin?.pid ?? ctx.procedurePid;
123
+ }
124
+ /**
125
+ * Get execution hierarchy info - useful for logging and persistence.
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const info = getExecutionInfo(ctx);
130
+ * // {
131
+ * // pid: 'abc-123',
132
+ * // parentPid: 'def-456',
133
+ * // rootPid: 'ghi-789',
134
+ * // name: 'model:generate',
135
+ * // originName: 'engine:stream',
136
+ * // isStandalone: false,
137
+ * // isWithinEngine: true,
138
+ * // depth: 2
139
+ * // }
140
+ * ```
141
+ */
142
+ export function getExecutionInfo(ctx) {
143
+ // Calculate depth by traversing up
144
+ let depth = 0;
145
+ let current = ctx.procedureNode;
146
+ while (current?.parentPid) {
147
+ depth++;
148
+ current = current.getParentNode();
149
+ }
150
+ return {
151
+ pid: ctx.procedurePid,
152
+ parentPid: ctx.procedureNode?.parentPid,
153
+ rootPid: getRootPid(ctx),
154
+ name: ctx.procedureNode?.name,
155
+ originName: getOriginName(ctx),
156
+ isStandalone: isStandaloneExecution(ctx),
157
+ isWithinEngine: isWithinEngine(ctx),
158
+ depth,
159
+ };
160
+ }
161
+ /**
162
+ * Create a named execution boundary around an operation.
163
+ *
164
+ * Use this to mark semantically meaningful operations that should appear
165
+ * as distinct executions in DevTools. The execution will be linked as a
166
+ * child of the current execution (if any).
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * // Simple usage with just a name
171
+ * const summary = await withExecution("Summarize Context", async () => {
172
+ * return model.generate(summarizePrompt);
173
+ * });
174
+ *
175
+ * // With options
176
+ * const result = await withExecution({
177
+ * name: "Validate Response",
178
+ * type: "validation",
179
+ * metadata: { validator: "schema" },
180
+ * }, async () => {
181
+ * return validateSchema(response);
182
+ * });
183
+ *
184
+ * // In a hook
185
+ * onAfterCompile: async (ctx) => {
186
+ * await withExecution("Context Compaction", async () => {
187
+ * const summary = await model.generate(compactPrompt);
188
+ * ctx.updateContext(summary);
189
+ * });
190
+ * }
191
+ * ```
192
+ *
193
+ * @param nameOrOptions - Execution name string or options object
194
+ * @param fn - The async function to execute within this boundary
195
+ * @returns The result of the function
196
+ */
197
+ export async function withExecution(nameOrOptions, fn) {
198
+ const options = typeof nameOrOptions === "string" ? { name: nameOrOptions } : nameOrOptions;
199
+ const { name, type = "custom", metadata } = options;
200
+ // ExecutionTracker.track with 'child' boundary automatically:
201
+ // - Links to parent procedure via ctx.procedurePid
202
+ // - Links to parent execution via ctx.executionId
203
+ // - Creates new executionId for this boundary
204
+ // - Uses Context.fork() internally for isolation
205
+ return ExecutionTracker.track(Context.tryGet() ?? Context.create(), {
206
+ name,
207
+ metadata: { ...metadata, type },
208
+ executionBoundary: "child",
209
+ executionType: type,
210
+ }, async () => fn());
211
+ }
212
+ //# sourceMappingURL=execution-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-helpers.js","sourceRoot":"","sources":["../../src/core/execution-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type KernelContext } from "./context";
2
+ import { ProcedureNode } from "./procedure-graph";
3
+ /**
4
+ * Execution boundary behavior configuration.
5
+ *
6
+ * - `'always'`: Always create a new root execution (no parentExecutionId)
7
+ * - `'child'`: Always create a new child execution (with parentExecutionId from current context)
8
+ * - `'auto'`: Create only if not already in an execution (default behavior)
9
+ * - `false`: Never create an execution boundary, inherit from parent
10
+ */
11
+ export type ExecutionBoundaryConfig = "always" | "child" | "auto" | false;
12
+ export interface ExecutionTrackerOptions {
13
+ name?: string;
14
+ metadata?: Record<string, any>;
15
+ parentPid?: string;
16
+ /**
17
+ * Explicit execution ID to use if this becomes a boundary.
18
+ * If not provided, procedurePid is used as the executionId.
19
+ * Useful for Engine to correlate with ExecutionHandle.pid.
20
+ */
21
+ executionId?: string;
22
+ /**
23
+ * Declarative execution boundary configuration.
24
+ *
25
+ * - `'always'`: Always create a new root execution (engine:execute, engine:stream)
26
+ * - `'child'`: Always create a new child execution (component_tool, harness)
27
+ * - `'auto'`: Create only if not already in an execution (model:generate, model:stream)
28
+ * - `false`: Never create an execution boundary (compile:tick, internal procedures)
29
+ *
30
+ * @default 'auto'
31
+ */
32
+ executionBoundary?: ExecutionBoundaryConfig;
33
+ /**
34
+ * Explicit execution type (e.g., 'engine', 'model', 'component_tool', 'harness').
35
+ * If not provided, derived from procedure name.
36
+ */
37
+ executionType?: string;
38
+ }
39
+ /**
40
+ * Unified execution tracker for procedures and hooks.
41
+ * Handles automatic telemetry, metrics tracking, and propagation.
42
+ */
43
+ export declare class ExecutionTracker {
44
+ /**
45
+ * Track a procedure/hook execution with automatic telemetry and metrics
46
+ */
47
+ static track<T>(ctx: KernelContext, options: ExecutionTrackerOptions, fn: (node: ProcedureNode) => Promise<T>): Promise<T>;
48
+ /**
49
+ * Send metrics to telemetry system
50
+ */
51
+ private static sendMetricsToTelemetry;
52
+ }
53
+ //# sourceMappingURL=execution-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-tracker.d.ts","sourceRoot":"","sources":["../../src/core/execution-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAkB,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AAKxF;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1E,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAE5C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;WACU,KAAK,CAAC,CAAC,EAClB,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GACtC,OAAO,CAAC,CAAC,CAAC;IA+Tb;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAWtC"}
@@ -0,0 +1,309 @@
1
+ import { Context } from "./context";
2
+ import { ProcedureGraph, ProcedureNode } from "./procedure-graph";
3
+ import { Telemetry } from "./telemetry";
4
+ import { AbortError } from "@tentickle/shared";
5
+ import { isAsyncIterable } from "./stream";
6
+ /**
7
+ * Unified execution tracker for procedures and hooks.
8
+ * Handles automatic telemetry, metrics tracking, and propagation.
9
+ */
10
+ export class ExecutionTracker {
11
+ /**
12
+ * Track a procedure/hook execution with automatic telemetry and metrics
13
+ */
14
+ static async track(ctx, options, fn) {
15
+ // Initialize graph if needed
16
+ if (!ctx.procedureGraph) {
17
+ ctx.procedureGraph = new ProcedureGraph();
18
+ }
19
+ const procedurePid = crypto.randomUUID();
20
+ const parentPid = options.parentPid || ctx.procedurePid;
21
+ const effectiveName = options.name || "anonymous";
22
+ // Determine origin: if this is a root procedure (no parent), origin is undefined
23
+ // Otherwise, use existing origin or find root node
24
+ let origin;
25
+ if (!parentPid) {
26
+ // This is the root procedure - origin is undefined (it IS the origin)
27
+ origin = undefined;
28
+ }
29
+ else {
30
+ // Use existing origin if set, otherwise find root node
31
+ origin = ctx.origin;
32
+ if (!origin && ctx.procedureGraph) {
33
+ const rootNode = ctx.procedureGraph.getRoot();
34
+ origin = rootNode;
35
+ }
36
+ }
37
+ // Determine execution context (boundary detection)
38
+ // Use declarative executionBoundary config to decide behavior
39
+ const boundaryConfig = options.executionBoundary ?? "auto";
40
+ // Get current execution context from context (Phase 3 fields)
41
+ const currentExecutionId = ctx.executionId;
42
+ const contextHandlePid = ctx.executionHandle?.pid;
43
+ let executionId;
44
+ let isExecutionBoundary;
45
+ let executionType;
46
+ let parentExecutionId;
47
+ switch (boundaryConfig) {
48
+ case "always":
49
+ // Always create a new execution
50
+ // If ctx.parentExecutionId is set (e.g., from child execution), use it for child linking
51
+ // Otherwise, this is a root execution with no parent
52
+ executionId = options.executionId ?? contextHandlePid ?? procedurePid;
53
+ isExecutionBoundary = true;
54
+ // Use ctx.executionType (set by engine); fall back to options or derive from name
55
+ executionType =
56
+ ctx.executionType ??
57
+ options.executionType ??
58
+ (effectiveName.includes(":") ? effectiveName.split(":")[0] : effectiveName);
59
+ parentExecutionId = ctx.parentExecutionId; // May be undefined for true roots
60
+ break;
61
+ case "child":
62
+ // Always create a new child execution (with parentExecutionId)
63
+ executionId = options.executionId ?? procedurePid;
64
+ isExecutionBoundary = true;
65
+ // Use ctx.executionType (set by engine); fall back to options or derive from name
66
+ executionType =
67
+ ctx.executionType ??
68
+ options.executionType ??
69
+ (effectiveName.includes(":") ? effectiveName.split(":")[0] : effectiveName);
70
+ // Parent is the current execution from context
71
+ parentExecutionId = currentExecutionId;
72
+ break;
73
+ case "auto":
74
+ // Create only if not already in an execution
75
+ if (currentExecutionId) {
76
+ // Already in an execution - inherit
77
+ executionId = currentExecutionId;
78
+ isExecutionBoundary = false;
79
+ executionType = undefined;
80
+ parentExecutionId = undefined; // Not applicable, inheriting
81
+ }
82
+ else {
83
+ // Not in an execution - create new root
84
+ executionId = options.executionId ?? contextHandlePid ?? procedurePid;
85
+ isExecutionBoundary = true;
86
+ executionType =
87
+ options.executionType ??
88
+ (effectiveName.includes(":") ? effectiveName.split(":")[0] : effectiveName);
89
+ parentExecutionId = undefined; // Root execution
90
+ }
91
+ break;
92
+ case false:
93
+ // Never create an execution boundary - inherit from context (may be undefined)
94
+ executionId = currentExecutionId;
95
+ isExecutionBoundary = false;
96
+ executionType = undefined;
97
+ parentExecutionId = undefined;
98
+ break;
99
+ }
100
+ // Register procedure with execution context
101
+ const node = ctx.procedureGraph.register(procedurePid, parentPid, effectiveName, options.metadata, executionId, isExecutionBoundary, executionType);
102
+ // Start telemetry span
103
+ const span = Telemetry.startSpan(effectiveName);
104
+ span.setAttribute("procedure.pid", procedurePid);
105
+ span.setAttribute("procedure.execution_id", executionId);
106
+ if (isExecutionBoundary) {
107
+ span.setAttribute("procedure.is_execution_boundary", true);
108
+ if (executionType) {
109
+ span.setAttribute("procedure.execution_type", executionType);
110
+ }
111
+ }
112
+ if (parentPid) {
113
+ span.setAttribute("procedure.parent_pid", parentPid);
114
+ }
115
+ if (options.metadata) {
116
+ for (const [key, value] of Object.entries(options.metadata)) {
117
+ span.setAttribute(`procedure.metadata.${key}`, value);
118
+ }
119
+ }
120
+ // Create a new metrics object for this procedure's scope
121
+ // This prevents child procedures from modifying parent's metrics directly
122
+ const procedureMetrics = {};
123
+ // Create metrics proxy that writes to both procedure scope and node
124
+ // This allows existing code to write to ctx.metrics and it automatically tracks in node
125
+ const metricsProxy = new Proxy(procedureMetrics, {
126
+ set(target, key, value) {
127
+ const oldValue = target[key] || 0;
128
+ target[key] = value;
129
+ // Accumulate delta in node
130
+ const delta = value - oldValue;
131
+ if (delta !== 0) {
132
+ node.addMetric(key, delta);
133
+ }
134
+ return true;
135
+ },
136
+ get(target, key) {
137
+ // Return value from procedure scope
138
+ return target[key] || 0;
139
+ },
140
+ ownKeys(target) {
141
+ return Object.keys(target);
142
+ },
143
+ has(target, key) {
144
+ return key in target;
145
+ },
146
+ getOwnPropertyDescriptor(target, key) {
147
+ return Object.getOwnPropertyDescriptor(target, key);
148
+ },
149
+ });
150
+ // Use Context.fork to create an isolated child context for this procedure.
151
+ // This prevents race conditions when parallel procedures run - each gets its own
152
+ // context object with its own procedurePid, procedureNode, origin, and metrics.
153
+ // Shared state (events, procedureGraph, channels, signal) is still accessible.
154
+ //
155
+ // If this is an execution boundary, set the execution fields in the forked context.
156
+ // This ensures all nested procedures inherit executionId from context.
157
+ return Context.fork({
158
+ procedurePid,
159
+ procedureNode: node,
160
+ origin,
161
+ metrics: metricsProxy,
162
+ // Execution context (Phase 3): set if boundary, otherwise inherit from parent context
163
+ ...(isExecutionBoundary
164
+ ? {
165
+ executionId,
166
+ executionType,
167
+ parentExecutionId,
168
+ }
169
+ : {}),
170
+ }, async () => {
171
+ try {
172
+ // Check abort before starting
173
+ if (ctx.signal?.aborted) {
174
+ node.cancel();
175
+ const abortError = new AbortError();
176
+ span.recordError(abortError);
177
+ span.end();
178
+ throw abortError;
179
+ }
180
+ // Emit start event with execution context
181
+ Context.emit("procedure:start", {
182
+ pid: procedurePid,
183
+ name: effectiveName,
184
+ parentPid,
185
+ executionId: node.executionId,
186
+ isExecutionBoundary: node.isExecutionBoundary,
187
+ executionType: node.executionType,
188
+ parentExecutionId, // For DevTools execution tree linking
189
+ });
190
+ // Execute function
191
+ const result = await fn(node);
192
+ // If result is an AsyncIterable, wrap it to maintain context and defer procedure:end
193
+ if (isAsyncIterable(result)) {
194
+ // Capture the forked context for use during iteration
195
+ const forkedContext = Context.get();
196
+ const wrappedIterable = (async function* () {
197
+ const iterator = result[Symbol.asyncIterator]();
198
+ try {
199
+ while (true) {
200
+ // Run iterator.next() inside the forked context to maintain procedurePid
201
+ const next = await Context.run(forkedContext, async () => iterator.next());
202
+ if (next.done)
203
+ break;
204
+ // Check abort after getting next value but before yielding
205
+ // This allows the producer to call abort() between yields
206
+ if (ctx.signal?.aborted) {
207
+ throw new AbortError();
208
+ }
209
+ // Emit stream:chunk event for consumers listening to the handle
210
+ // The value is emitted directly (not wrapped) - it's typically an engine event
211
+ await Context.run(forkedContext, async () => {
212
+ Context.emit("stream:chunk", next.value);
213
+ });
214
+ yield next.value;
215
+ }
216
+ // Completed successfully - update status and emit end
217
+ ctx.procedureGraph.updateStatus(procedurePid, "completed");
218
+ ExecutionTracker.sendMetricsToTelemetry(node, span);
219
+ span.end();
220
+ await Context.run(forkedContext, async () => {
221
+ Context.emit("procedure:end", {
222
+ pid: procedurePid,
223
+ executionId: node.executionId,
224
+ metrics: node.metrics,
225
+ durationMs: node.durationMs,
226
+ });
227
+ });
228
+ }
229
+ catch (error) {
230
+ // Handle errors during iteration
231
+ const isAbort = error?.name === "AbortError" ||
232
+ error?.message?.includes("aborted");
233
+ const status = isAbort ? "cancelled" : "failed";
234
+ ctx.procedureGraph.updateStatus(procedurePid, status, error);
235
+ span.recordError(error);
236
+ ExecutionTracker.sendMetricsToTelemetry(node, span);
237
+ span.end();
238
+ await Context.run(forkedContext, async () => {
239
+ Context.emit("procedure:error", {
240
+ pid: procedurePid,
241
+ executionId: node.executionId,
242
+ error,
243
+ });
244
+ });
245
+ throw error;
246
+ }
247
+ finally {
248
+ // Clean up iterator if it has a return method
249
+ if (iterator.return) {
250
+ await Context.run(forkedContext, async () => iterator.return());
251
+ }
252
+ }
253
+ })();
254
+ return wrappedIterable;
255
+ }
256
+ // Regular (non-AsyncIterable) result - complete immediately
257
+ ctx.procedureGraph.updateStatus(procedurePid, "completed");
258
+ this.sendMetricsToTelemetry(node, span);
259
+ span.end();
260
+ Context.emit("procedure:end", {
261
+ pid: procedurePid,
262
+ executionId: node.executionId,
263
+ result,
264
+ metrics: node.metrics,
265
+ durationMs: node.durationMs,
266
+ });
267
+ return result;
268
+ }
269
+ catch (error) {
270
+ // Determine if it was an abort
271
+ const isAbort = error?.name === "AbortError" ||
272
+ error?.message?.includes("aborted");
273
+ // Update status
274
+ const status = isAbort ? "cancelled" : "failed";
275
+ ctx.procedureGraph.updateStatus(procedurePid, status, error);
276
+ span.recordError(error);
277
+ this.sendMetricsToTelemetry(node, span);
278
+ span.end();
279
+ Context.emit("procedure:error", {
280
+ pid: procedurePid,
281
+ executionId: node.executionId,
282
+ error,
283
+ });
284
+ // Preserve error name and message
285
+ const err = error;
286
+ if (isAbort && err.name !== "AbortError") {
287
+ err.name = "AbortError";
288
+ }
289
+ throw err;
290
+ }
291
+ // No finally needed - Context.fork handles isolation automatically
292
+ // Parent context is never modified, so no restoration required
293
+ });
294
+ }
295
+ /**
296
+ * Send metrics to telemetry system
297
+ */
298
+ static sendMetricsToTelemetry(node, span) {
299
+ for (const [key, value] of Object.entries(node.metrics)) {
300
+ Telemetry.getHistogram(`procedure.${key}`).record(value, {
301
+ procedure: node.name || "anonymous",
302
+ procedure_pid: node.pid,
303
+ status: node.status,
304
+ });
305
+ span.setAttribute(`metrics.${key}`, value);
306
+ }
307
+ }
308
+ }
309
+ //# sourceMappingURL=execution-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-tracker.js","sourceRoot":"","sources":["../../src/core/execution-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA0C3C;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,GAAkB,EAClB,OAAgC,EAChC,EAAuC;QAEvC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,GAAG,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QAElD,iFAAiF;QACjF,mDAAmD;QACnD,IAAI,MAAiC,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,sEAAsE;YACtE,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACpB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,GAAG,QAAQ,CAAC;YACpB,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,8DAA8D;QAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC;QAE3D,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,CAAC;QAC3C,MAAM,gBAAgB,GAAI,GAAG,CAAC,eAAgD,EAAE,GAAG,CAAC;QAEpF,IAAI,WAA+B,CAAC;QACpC,IAAI,mBAA4B,CAAC;QACjC,IAAI,aAAiC,CAAC;QACtC,IAAI,iBAAqC,CAAC;QAE1C,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,gCAAgC;gBAChC,yFAAyF;gBACzF,qDAAqD;gBACrD,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,gBAAgB,IAAI,YAAY,CAAC;gBACtE,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,kFAAkF;gBAClF,aAAa;oBACX,GAAG,CAAC,aAAa;wBACjB,OAAO,CAAC,aAAa;wBACrB,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC9E,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,kCAAkC;gBAC7E,MAAM;YAER,KAAK,OAAO;gBACV,+DAA+D;gBAC/D,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC;gBAClD,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,kFAAkF;gBAClF,aAAa;oBACX,GAAG,CAAC,aAAa;wBACjB,OAAO,CAAC,aAAa;wBACrB,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC9E,+CAA+C;gBAC/C,iBAAiB,GAAG,kBAAkB,CAAC;gBACvC,MAAM;YAER,KAAK,MAAM;gBACT,6CAA6C;gBAC7C,IAAI,kBAAkB,EAAE,CAAC;oBACvB,oCAAoC;oBACpC,WAAW,GAAG,kBAAkB,CAAC;oBACjC,mBAAmB,GAAG,KAAK,CAAC;oBAC5B,aAAa,GAAG,SAAS,CAAC;oBAC1B,iBAAiB,GAAG,SAAS,CAAC,CAAC,6BAA6B;gBAC9D,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,gBAAgB,IAAI,YAAY,CAAC;oBACtE,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,aAAa;wBACX,OAAO,CAAC,aAAa;4BACrB,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBAC9E,iBAAiB,GAAG,SAAS,CAAC,CAAC,iBAAiB;gBAClD,CAAC;gBACD,MAAM;YAER,KAAK,KAAK;gBACR,+EAA+E;gBAC/E,WAAW,GAAG,kBAAkB,CAAC;gBACjC,mBAAmB,GAAG,KAAK,CAAC;gBAC5B,aAAa,GAAG,SAAS,CAAC;gBAC1B,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,MAAM;QACV,CAAC;QAED,4CAA4C;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,CACtC,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,CAAC,QAAQ,EAChB,WAAW,EACX,mBAAmB,EACnB,aAAa,CACd,CAAC;QAEF,uBAAuB;QACvB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,0EAA0E;QAC1E,MAAM,gBAAgB,GAA2B,EAAE,CAAC;QAEpD,oEAAoE;QACpE,wFAAwF;QACxF,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC/C,GAAG,CAAC,MAAM,EAAE,GAAW,EAAE,KAAa;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,2BAA2B;gBAC3B,MAAM,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;gBAC/B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,GAAW;gBACrB,oCAAoC;gBACpC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,MAAM;gBACZ,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,GAAW;gBACrB,OAAO,GAAG,IAAI,MAAM,CAAC;YACvB,CAAC;YACD,wBAAwB,CAAC,MAAM,EAAE,GAAW;gBAC1C,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;SACF,CAAC,CAAC;QAEH,2EAA2E;QAC3E,iFAAiF;QACjF,gFAAgF;QAChF,+EAA+E;QAC/E,EAAE;QACF,oFAAoF;QACpF,uEAAuE;QACvE,OAAO,OAAO,CAAC,IAAI,CACjB;YACE,YAAY;YACZ,aAAa,EAAE,IAAI;YACnB,MAAM;YACN,OAAO,EAAE,YAAsC;YAC/C,sFAAsF;YACtF,GAAG,CAAC,mBAAmB;gBACrB,CAAC,CAAC;oBACE,WAAW;oBACX,aAAa;oBACb,iBAAiB;iBAClB;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,MAAM,UAAU,CAAC;gBACnB,CAAC;gBAED,0CAA0C;gBAC1C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC9B,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,aAAa;oBACnB,SAAS;oBACT,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,iBAAiB,EAAE,sCAAsC;iBAC1D,CAAC,CAAC;gBAEH,mBAAmB;gBACnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBAE9B,qFAAqF;gBACrF,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,sDAAsD;oBACtD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBAEpC,MAAM,eAAe,GAAG,CAAC,KAAK,SAAS,CAAC;wBACtC,MAAM,QAAQ,GAAI,MAAiC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC5E,IAAI,CAAC;4BACH,OAAO,IAAI,EAAE,CAAC;gCACZ,yEAAyE;gCACzE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gCAE3E,IAAI,IAAI,CAAC,IAAI;oCAAE,MAAM;gCAErB,2DAA2D;gCAC3D,0DAA0D;gCAC1D,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oCACxB,MAAM,IAAI,UAAU,EAAE,CAAC;gCACzB,CAAC;gCAED,gEAAgE;gCAChE,+EAA+E;gCAC/E,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;oCAC1C,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC3C,CAAC,CAAC,CAAC;gCAEH,MAAM,IAAI,CAAC,KAAK,CAAC;4BACnB,CAAC;4BAED,sDAAsD;4BACtD,GAAG,CAAC,cAAe,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;4BAC5D,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACpD,IAAI,CAAC,GAAG,EAAE,CAAC;4BACX,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;gCAC1C,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;oCAC5B,GAAG,EAAE,YAAY;oCACjB,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,UAAU,EAAE,IAAI,CAAC,UAAU;iCAC5B,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,iCAAiC;4BACjC,MAAM,OAAO,GACV,KAAe,EAAE,IAAI,KAAK,YAAY;gCACtC,KAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;4BACjD,MAAM,MAAM,GAAoB,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACjE,GAAG,CAAC,cAAe,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAc,CAAC,CAAC;4BACvE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BACxB,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACpD,IAAI,CAAC,GAAG,EAAE,CAAC;4BACX,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;gCAC1C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;oCAC9B,GAAG,EAAE,YAAY;oCACjB,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,KAAK;iCACN,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;4BACH,MAAM,KAAK,CAAC;wBACd,CAAC;gCAAS,CAAC;4BACT,8CAA8C;4BAC9C,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gCACpB,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAO,EAAE,CAAC,CAAC;4BACnE,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC;oBAEL,OAAO,eAAoB,CAAC;gBAC9B,CAAC;gBAED,4DAA4D;gBAC5D,GAAG,CAAC,cAAe,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAC5D,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;oBAC5B,GAAG,EAAE,YAAY;oBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM;oBACN,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+BAA+B;gBAC/B,MAAM,OAAO,GACV,KAAe,EAAE,IAAI,KAAK,YAAY;oBACtC,KAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEjD,gBAAgB;gBAChB,MAAM,MAAM,GAAoB,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjE,GAAG,CAAC,cAAe,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAc,CAAC,CAAC;gBAEvE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEX,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC9B,GAAG,EAAE,YAAY;oBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,KAAK;iBACN,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,MAAM,GAAG,GAAG,KAAc,CAAC;gBAC3B,IAAI,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACzC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC1B,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,mEAAmE;YACnE,+DAA+D;QACjE,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,sBAAsB,CAAC,IAAmB,EAAE,IAAS;QAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,SAAS,CAAC,YAAY,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;gBACvD,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,WAAW;gBACnC,aAAa,EAAE,IAAI,CAAC,GAAG;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * # Tentickle Kernel
3
+ *
4
+ * Low-level execution primitives for the Tentickle framework. The kernel provides
5
+ * the foundational infrastructure that all other Tentickle packages build upon.
6
+ *
7
+ * ## Core Primitives
8
+ *
9
+ * - **Procedures** - Async function wrappers with middleware, context, and telemetry
10
+ * - **Context** - Request-scoped state with automatic propagation
11
+ * - **Channels** - Async generators for streaming with backpressure
12
+ * - **Telemetry** - Execution tracking, spans, and metrics
13
+ * - **Logger** - Structured logging with configurable levels
14
+ *
15
+ * ## When to Use Kernel Directly
16
+ *
17
+ * Most applications should use the higher-level `tentickle` package. Use kernel directly when:
18
+ *
19
+ * - Building custom execution infrastructure
20
+ * - Creating new Tentickle adapters or integrations
21
+ * - Need fine-grained control over procedure execution
22
+ *
23
+ * ## Example
24
+ *
25
+ * ```typescript
26
+ * import { createProcedure, Context } from './core';
27
+ *
28
+ * const myProcedure = createProcedure(
29
+ * { name: 'my-operation' },
30
+ * async (input: string) => {
31
+ * return { result: input.toUpperCase() };
32
+ * }
33
+ * );
34
+ *
35
+ * const result = await myProcedure.exec('hello');
36
+ * ```
37
+ *
38
+ * @see {@link Procedure} - The core procedure abstraction
39
+ * @see {@link KernelContext} - Request-scoped context
40
+ * @see {@link Channel} - Streaming primitive
41
+ * @see {@link Telemetry} - Execution tracking
42
+ *
43
+ * @module @tentickle/kernel
44
+ */
45
+ export * from "./context";
46
+ export * from "./telemetry";
47
+ export * from "./otel-provider";
48
+ export * from "./procedure-graph";
49
+ export * from "./execution-tracker";
50
+ export * from "./execution-helpers";
51
+ export * from "./metrics-helpers";
52
+ export * from "./stream";
53
+ export * from "./channel";
54
+ export * from "./channel-helpers";
55
+ export * from "./procedure";
56
+ export * from "./logger";
57
+ export * from "./event-buffer";
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}