@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 @@
1
+ {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/core/procedure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Type guard to check if an object is an async iterable.
3
+ *
4
+ * @param obj - Object to check
5
+ * @returns `true` if the object has `Symbol.asyncIterator`
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const result = await someFunction();
10
+ * if (isAsyncIterable(result)) {
11
+ * for await (const item of result) {
12
+ * console.log(item);
13
+ * }
14
+ * }
15
+ * ```
16
+ */
17
+ export { isAsyncIterable } from "./procedure";
18
+ /**
19
+ * Transform items in an async stream using a mapper function.
20
+ *
21
+ * Preserves the current execution context through all iterations.
22
+ *
23
+ * @typeParam T - Input item type
24
+ * @typeParam R - Output item type
25
+ * @param stream - Source async iterable
26
+ * @param mapper - Function to transform each item
27
+ * @returns Async iterable of transformed items
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const numbers = getNumberStream();
32
+ * const doubled = mapStream(numbers, (n) => n * 2);
33
+ * for await (const n of doubled) {
34
+ * console.log(n);
35
+ * }
36
+ * ```
37
+ *
38
+ * @example Async mapper
39
+ * ```typescript
40
+ * const users = mapStream(userIds, async (id) => {
41
+ * return await fetchUser(id);
42
+ * });
43
+ * ```
44
+ */
45
+ export declare function mapStream<T, R>(stream: AsyncIterable<T>, mapper: (item: T) => R | Promise<R>): AsyncIterable<R>;
46
+ /**
47
+ * Perform side effects on each stream item without modifying the stream.
48
+ *
49
+ * @typeParam T - Item type
50
+ * @param stream - Source async iterable
51
+ * @param tapper - Side-effect function called for each item
52
+ * @returns Async iterable yielding the original items
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const logged = tapStream(events, (event) => {
57
+ * console.log('Event:', event.type);
58
+ * });
59
+ * for await (const event of logged) {
60
+ * processEvent(event);
61
+ * }
62
+ * ```
63
+ */
64
+ export declare function tapStream<T>(stream: AsyncIterable<T>, tapper: (item: T) => void | Promise<void>): AsyncIterable<T>;
65
+ /**
66
+ * Tagged stream item from {@link mergeStreams} when using a Record input.
67
+ *
68
+ * @typeParam T - The value type from the stream
69
+ */
70
+ export interface StreamTag<T> {
71
+ /** The key from the input Record identifying which stream this came from */
72
+ source: string;
73
+ /** The actual value from the stream */
74
+ value: T;
75
+ }
76
+ /**
77
+ * Merge multiple async streams into a single stream, yielding items as they arrive.
78
+ *
79
+ * Supports two input formats:
80
+ * - **Array**: Returns items directly (type `T`)
81
+ * - **Record**: Returns tagged items with source key (type `StreamTag<T>`)
82
+ *
83
+ * Handles context propagation, backpressure, and cleanup of all iterators.
84
+ *
85
+ * @typeParam T - Item type
86
+ * @param input - Array of streams or Record mapping names to streams
87
+ * @returns Merged stream of items (or tagged items for Record input)
88
+ *
89
+ * @example Array of streams (untagged)
90
+ * ```typescript
91
+ * const merged = mergeStreams([stream1, stream2, stream3]);
92
+ * for await (const item of merged) {
93
+ * console.log(item); // Items from any stream, in arrival order
94
+ * }
95
+ * ```
96
+ *
97
+ * @example Record of streams (tagged)
98
+ * ```typescript
99
+ * const tagged = mergeStreams({ a: stream1, b: stream2 });
100
+ * for await (const item of tagged) {
101
+ * console.log(item.source, item.value); // 'a' or 'b', plus the value
102
+ * }
103
+ * ```
104
+ */
105
+ export declare function mergeStreams<T>(input: AsyncIterable<T>[] | Record<string, AsyncIterable<T>>): AsyncIterable<T | StreamTag<T>>;
106
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/core/stream.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAuB,SAAS,CAAC,CAAC,EAAE,CAAC,EACnC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAClC,aAAa,CAAC,CAAC,CAAC,CAuBlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAuB,SAAS,CAAC,CAAC,EAChC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACxC,aAAa,CAAC,CAAC,CAAC,CAKlB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAuB,YAAY,CAAC,CAAC,EACnC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAC3D,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAmEjC"}
@@ -0,0 +1,186 @@
1
+ import { Context } from "./context";
2
+ /**
3
+ * Type guard to check if an object is an async iterable.
4
+ *
5
+ * @param obj - Object to check
6
+ * @returns `true` if the object has `Symbol.asyncIterator`
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const result = await someFunction();
11
+ * if (isAsyncIterable(result)) {
12
+ * for await (const item of result) {
13
+ * console.log(item);
14
+ * }
15
+ * }
16
+ * ```
17
+ */
18
+ export { isAsyncIterable } from "./procedure";
19
+ /**
20
+ * Transform items in an async stream using a mapper function.
21
+ *
22
+ * Preserves the current execution context through all iterations.
23
+ *
24
+ * @typeParam T - Input item type
25
+ * @typeParam R - Output item type
26
+ * @param stream - Source async iterable
27
+ * @param mapper - Function to transform each item
28
+ * @returns Async iterable of transformed items
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const numbers = getNumberStream();
33
+ * const doubled = mapStream(numbers, (n) => n * 2);
34
+ * for await (const n of doubled) {
35
+ * console.log(n);
36
+ * }
37
+ * ```
38
+ *
39
+ * @example Async mapper
40
+ * ```typescript
41
+ * const users = mapStream(userIds, async (id) => {
42
+ * return await fetchUser(id);
43
+ * });
44
+ * ```
45
+ */
46
+ export async function* mapStream(stream, mapper) {
47
+ // Ensure we iterate inside the current context
48
+ const ctx = Context.tryGet();
49
+ const iterator = stream[Symbol.asyncIterator]();
50
+ try {
51
+ while (true) {
52
+ const next = ctx ? await Context.run(ctx, () => iterator.next()) : await iterator.next();
53
+ if (next.done)
54
+ break;
55
+ const mapped = ctx
56
+ ? await Context.run(ctx, async () => mapper(next.value))
57
+ : await mapper(next.value);
58
+ yield mapped;
59
+ }
60
+ }
61
+ finally {
62
+ if (iterator.return) {
63
+ if (ctx)
64
+ await Context.run(ctx, () => iterator.return());
65
+ else
66
+ await iterator.return();
67
+ }
68
+ }
69
+ }
70
+ /**
71
+ * Perform side effects on each stream item without modifying the stream.
72
+ *
73
+ * @typeParam T - Item type
74
+ * @param stream - Source async iterable
75
+ * @param tapper - Side-effect function called for each item
76
+ * @returns Async iterable yielding the original items
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * const logged = tapStream(events, (event) => {
81
+ * console.log('Event:', event.type);
82
+ * });
83
+ * for await (const event of logged) {
84
+ * processEvent(event);
85
+ * }
86
+ * ```
87
+ */
88
+ export async function* tapStream(stream, tapper) {
89
+ yield* mapStream(stream, async (item) => {
90
+ await tapper(item);
91
+ return item;
92
+ });
93
+ }
94
+ /**
95
+ * Merge multiple async streams into a single stream, yielding items as they arrive.
96
+ *
97
+ * Supports two input formats:
98
+ * - **Array**: Returns items directly (type `T`)
99
+ * - **Record**: Returns tagged items with source key (type `StreamTag<T>`)
100
+ *
101
+ * Handles context propagation, backpressure, and cleanup of all iterators.
102
+ *
103
+ * @typeParam T - Item type
104
+ * @param input - Array of streams or Record mapping names to streams
105
+ * @returns Merged stream of items (or tagged items for Record input)
106
+ *
107
+ * @example Array of streams (untagged)
108
+ * ```typescript
109
+ * const merged = mergeStreams([stream1, stream2, stream3]);
110
+ * for await (const item of merged) {
111
+ * console.log(item); // Items from any stream, in arrival order
112
+ * }
113
+ * ```
114
+ *
115
+ * @example Record of streams (tagged)
116
+ * ```typescript
117
+ * const tagged = mergeStreams({ a: stream1, b: stream2 });
118
+ * for await (const item of tagged) {
119
+ * console.log(item.source, item.value); // 'a' or 'b', plus the value
120
+ * }
121
+ * ```
122
+ */
123
+ export async function* mergeStreams(input) {
124
+ const ctx = Context.tryGet();
125
+ let streams;
126
+ let tags = null;
127
+ if (Array.isArray(input)) {
128
+ streams = input;
129
+ }
130
+ else {
131
+ tags = Object.keys(input);
132
+ streams = Object.values(input);
133
+ }
134
+ // Wrap iterators to run in context
135
+ const iterators = streams.map((s) => {
136
+ const iter = s[Symbol.asyncIterator]();
137
+ return {
138
+ next: () => (ctx ? Context.run(ctx, () => iter.next()) : iter.next()),
139
+ return: () => (ctx && iter.return ? Context.run(ctx, () => iter.return()) : iter.return?.()),
140
+ instance: iter,
141
+ };
142
+ });
143
+ try {
144
+ // Map of active promises to their iterator index
145
+ const nextPromises = new Map();
146
+ // Initialize all iterators
147
+ for (let i = 0; i < iterators.length; i++) {
148
+ nextPromises.set(i, iterators[i].next());
149
+ }
150
+ while (nextPromises.size > 0) {
151
+ // Create a race between all active promises
152
+ const racePromises = Array.from(nextPromises.entries()).map(async ([index, promise]) => {
153
+ try {
154
+ const result = await promise;
155
+ return { index, result };
156
+ }
157
+ catch (error) {
158
+ return { index, error };
159
+ }
160
+ });
161
+ const { index, result, error } = await Promise.race(racePromises);
162
+ if (error) {
163
+ throw error;
164
+ }
165
+ if (result.done) {
166
+ nextPromises.delete(index);
167
+ }
168
+ else {
169
+ // If tagged, wrap in tag object. Else yield raw.
170
+ if (tags) {
171
+ yield { source: tags[index], value: result.value };
172
+ }
173
+ else {
174
+ yield result.value;
175
+ }
176
+ // Refill
177
+ nextPromises.set(index, iterators[index].next());
178
+ }
179
+ }
180
+ }
181
+ finally {
182
+ // Ensure all iterators are closed
183
+ await Promise.all(iterators.map((iter) => iter.return()));
184
+ }
185
+ }
186
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/core/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * A span represents a unit of work or operation within a trace.
3
+ * Spans track timing, attributes, and errors for observability.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const span = Telemetry.startSpan('database-query');
8
+ * try {
9
+ * span.setAttribute('query', 'SELECT * FROM users');
10
+ * const result = await db.query(...);
11
+ * span.setAttribute('rowCount', result.length);
12
+ * } catch (error) {
13
+ * span.recordError(error);
14
+ * throw error;
15
+ * } finally {
16
+ * span.end();
17
+ * }
18
+ * ```
19
+ */
20
+ export interface Span {
21
+ /** End the span, recording its duration. */
22
+ end(): void;
23
+ /** Set an attribute on the span for filtering/analysis. */
24
+ setAttribute(key: string, value: any): void;
25
+ /** Record an error that occurred during this span. */
26
+ recordError(error: any): void;
27
+ }
28
+ /**
29
+ * Attributes for metrics, used for filtering and grouping.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * counter.add(1, { model: 'gpt-4', status: 'success' });
34
+ * ```
35
+ */
36
+ export interface MetricAttributes {
37
+ [key: string]: string | number | boolean;
38
+ }
39
+ /**
40
+ * A counter metric that only increases (e.g., request count, error count).
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const requestCounter = Telemetry.getCounter('requests', 'count', 'Total requests');
45
+ * requestCounter.add(1, { endpoint: '/api/chat' });
46
+ * ```
47
+ */
48
+ export interface Counter {
49
+ /** Add a value to the counter. */
50
+ add(value: number, attributes?: MetricAttributes): void;
51
+ }
52
+ /**
53
+ * A histogram metric for recording distributions (e.g., latency, sizes).
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const latencyHistogram = Telemetry.getHistogram('latency', 'ms', 'Request latency');
58
+ * latencyHistogram.record(150, { endpoint: '/api/chat' });
59
+ * ```
60
+ */
61
+ export interface Histogram {
62
+ /** Record a value in the histogram. */
63
+ record(value: number, attributes?: MetricAttributes): void;
64
+ }
65
+ /**
66
+ * Interface for telemetry providers (e.g., OpenTelemetry, DataDog).
67
+ *
68
+ * Implement this interface to integrate with your observability platform.
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * import { trace, metrics } from '@opentelemetry/api';
73
+ *
74
+ * const otelProvider: TelemetryProvider = {
75
+ * startTrace(name) { return trace.getTracer('tentickle').startSpan(name).spanContext().traceId; },
76
+ * startSpan(name) { return trace.getTracer('tentickle').startSpan(name); },
77
+ * // ... implement other methods
78
+ * };
79
+ *
80
+ * Telemetry.setProvider(otelProvider);
81
+ * ```
82
+ */
83
+ export interface TelemetryProvider {
84
+ /** Start a new trace and return its ID. */
85
+ startTrace(name: string): string;
86
+ /** Start a new span within the current trace. */
87
+ startSpan(name: string): Span;
88
+ /** Record an error in the current trace/span. */
89
+ recordError(error: any): void;
90
+ /** End the current trace. */
91
+ endTrace(): void;
92
+ /** Get or create a counter metric. */
93
+ getCounter(name: string, unit?: string, description?: string): Counter;
94
+ /** Get or create a histogram metric. */
95
+ getHistogram(name: string, unit?: string, description?: string): Histogram;
96
+ }
97
+ /**
98
+ * Global telemetry service for tracing, spans, and metrics.
99
+ *
100
+ * By default, uses a no-op provider. Call `Telemetry.setProvider()` to integrate
101
+ * with your observability platform (OpenTelemetry, DataDog, etc.).
102
+ *
103
+ * ## Traces and Spans
104
+ *
105
+ * Traces represent end-to-end operations. Spans are units of work within a trace.
106
+ *
107
+ * ```typescript
108
+ * const traceId = Telemetry.startTrace('agent-execution');
109
+ * const span = Telemetry.startSpan('model-call');
110
+ * try {
111
+ * // ... do work
112
+ * span.setAttribute('model', 'gpt-4');
113
+ * } finally {
114
+ * span.end();
115
+ * }
116
+ * Telemetry.endTrace();
117
+ * ```
118
+ *
119
+ * ## Metrics
120
+ *
121
+ * Counters track cumulative values. Histograms track distributions.
122
+ *
123
+ * ```typescript
124
+ * const tokenCounter = Telemetry.getCounter('tokens', 'count', 'Token usage');
125
+ * tokenCounter.add(150, { model: 'gpt-4', type: 'input' });
126
+ *
127
+ * const latency = Telemetry.getHistogram('latency', 'ms', 'Response time');
128
+ * latency.record(250);
129
+ * ```
130
+ *
131
+ * @see {@link TelemetryProvider} - Implement this to add a custom provider
132
+ */
133
+ export declare class Telemetry {
134
+ private static provider;
135
+ /**
136
+ * Set the telemetry provider for all Tentickle operations.
137
+ * @param provider - The telemetry provider implementation
138
+ */
139
+ static setProvider(provider: TelemetryProvider): void;
140
+ /**
141
+ * Reset to the default no-op provider.
142
+ */
143
+ static resetProvider(): void;
144
+ /**
145
+ * Start a new trace.
146
+ * @param name - Name of the trace (e.g., 'agent-execution')
147
+ * @returns The trace ID
148
+ */
149
+ static startTrace(name?: string): string;
150
+ /**
151
+ * Start a new span within the current trace.
152
+ * @param name - Name of the span (e.g., 'model-call', 'tool-execution')
153
+ * @returns A Span object to track the operation
154
+ */
155
+ static startSpan(name: string): Span;
156
+ /**
157
+ * Record an error in the current trace/span.
158
+ * @param error - The error to record
159
+ */
160
+ static recordError(error: any): void;
161
+ /**
162
+ * End the current trace.
163
+ */
164
+ static endTrace(): void;
165
+ /**
166
+ * Get or create a counter metric.
167
+ * @param name - Metric name (e.g., 'tentickle.tokens')
168
+ * @param unit - Unit of measurement (e.g., 'count', 'bytes')
169
+ * @param description - Human-readable description
170
+ * @returns A Counter instance
171
+ */
172
+ static getCounter(name: string, unit?: string, description?: string): Counter;
173
+ /**
174
+ * Get or create a histogram metric.
175
+ * @param name - Metric name (e.g., 'tentickle.latency')
176
+ * @param unit - Unit of measurement (e.g., 'ms', 'bytes')
177
+ * @param description - Human-readable description
178
+ * @returns A Histogram instance
179
+ */
180
+ static getHistogram(name: string, unit?: string, description?: string): Histogram;
181
+ }
182
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,IAAI;IACnB,4CAA4C;IAC5C,GAAG,IAAI,IAAI,CAAC;IACZ,2DAA2D;IAC3D,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC5C,sDAAsD;IACtD,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,iDAAiD;IACjD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,6BAA6B;IAC7B,QAAQ,IAAI,IAAI,CAAC;IACjB,sCAAsC;IACtC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,wCAAwC;IACxC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5E;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyC;IAEhE;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIrD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,GAAE,MAAoB,GAAG,MAAM;IAIrD;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAIpC;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,IAAI;IAIvB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAI7E;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS;CAGlF"}
@@ -0,0 +1,124 @@
1
+ class NoOpProvider {
2
+ startTrace(_name) {
3
+ return `trace-${crypto.randomUUID()}`;
4
+ }
5
+ startSpan(_name) {
6
+ return {
7
+ end: () => { },
8
+ setAttribute: () => { },
9
+ recordError: () => { },
10
+ };
11
+ }
12
+ recordError(error) {
13
+ console.error("Telemetry Error:", error);
14
+ }
15
+ endTrace() { }
16
+ getCounter(_name) {
17
+ return { add: () => { } };
18
+ }
19
+ getHistogram(_name) {
20
+ return { record: () => { } };
21
+ }
22
+ }
23
+ /**
24
+ * Global telemetry service for tracing, spans, and metrics.
25
+ *
26
+ * By default, uses a no-op provider. Call `Telemetry.setProvider()` to integrate
27
+ * with your observability platform (OpenTelemetry, DataDog, etc.).
28
+ *
29
+ * ## Traces and Spans
30
+ *
31
+ * Traces represent end-to-end operations. Spans are units of work within a trace.
32
+ *
33
+ * ```typescript
34
+ * const traceId = Telemetry.startTrace('agent-execution');
35
+ * const span = Telemetry.startSpan('model-call');
36
+ * try {
37
+ * // ... do work
38
+ * span.setAttribute('model', 'gpt-4');
39
+ * } finally {
40
+ * span.end();
41
+ * }
42
+ * Telemetry.endTrace();
43
+ * ```
44
+ *
45
+ * ## Metrics
46
+ *
47
+ * Counters track cumulative values. Histograms track distributions.
48
+ *
49
+ * ```typescript
50
+ * const tokenCounter = Telemetry.getCounter('tokens', 'count', 'Token usage');
51
+ * tokenCounter.add(150, { model: 'gpt-4', type: 'input' });
52
+ *
53
+ * const latency = Telemetry.getHistogram('latency', 'ms', 'Response time');
54
+ * latency.record(250);
55
+ * ```
56
+ *
57
+ * @see {@link TelemetryProvider} - Implement this to add a custom provider
58
+ */
59
+ export class Telemetry {
60
+ static provider = new NoOpProvider();
61
+ /**
62
+ * Set the telemetry provider for all Tentickle operations.
63
+ * @param provider - The telemetry provider implementation
64
+ */
65
+ static setProvider(provider) {
66
+ this.provider = provider;
67
+ }
68
+ /**
69
+ * Reset to the default no-op provider.
70
+ */
71
+ static resetProvider() {
72
+ this.provider = new NoOpProvider();
73
+ }
74
+ /**
75
+ * Start a new trace.
76
+ * @param name - Name of the trace (e.g., 'agent-execution')
77
+ * @returns The trace ID
78
+ */
79
+ static startTrace(name = "operation") {
80
+ return this.provider.startTrace(name);
81
+ }
82
+ /**
83
+ * Start a new span within the current trace.
84
+ * @param name - Name of the span (e.g., 'model-call', 'tool-execution')
85
+ * @returns A Span object to track the operation
86
+ */
87
+ static startSpan(name) {
88
+ return this.provider.startSpan(name);
89
+ }
90
+ /**
91
+ * Record an error in the current trace/span.
92
+ * @param error - The error to record
93
+ */
94
+ static recordError(error) {
95
+ this.provider.recordError(error);
96
+ }
97
+ /**
98
+ * End the current trace.
99
+ */
100
+ static endTrace() {
101
+ this.provider.endTrace();
102
+ }
103
+ /**
104
+ * Get or create a counter metric.
105
+ * @param name - Metric name (e.g., 'tentickle.tokens')
106
+ * @param unit - Unit of measurement (e.g., 'count', 'bytes')
107
+ * @param description - Human-readable description
108
+ * @returns A Counter instance
109
+ */
110
+ static getCounter(name, unit, description) {
111
+ return this.provider.getCounter(name, unit, description);
112
+ }
113
+ /**
114
+ * Get or create a histogram metric.
115
+ * @param name - Metric name (e.g., 'tentickle.latency')
116
+ * @param unit - Unit of measurement (e.g., 'ms', 'bytes')
117
+ * @param description - Human-readable description
118
+ * @returns A Histogram instance
119
+ */
120
+ static getHistogram(name, unit, description) {
121
+ return this.provider.getHistogram(name, unit, description);
122
+ }
123
+ }
124
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAqGA,MAAM,YAAY;IAChB,UAAU,CAAC,KAAa;QACtB,OAAO,SAAS,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,OAAO;YACL,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;YACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;YACtB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;SACtB,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,KAAU;QACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,QAAQ,KAAU,CAAC;IACnB,UAAU,CAAC,KAAa;QACtB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC3B,CAAC;IACD,YAAY,CAAC,KAAa;QACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC9B,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAC,QAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;IAEhE;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAA2B;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,OAAe,WAAW;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,KAAU;QAC3B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,IAAa,EAAE,WAAoB;QACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,IAAa,EAAE,WAAoB;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC"}