@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,497 @@
1
+ /**
2
+ * Adapter - The recommended way to create model adapters
3
+ *
4
+ * This provides a clean API for creating adapters while preserving
5
+ * all framework features (streaming, metadata, model-specific defaults, options merging).
6
+ *
7
+ * ## Why createAdapter?
8
+ *
9
+ * Creating adapters is one of the most common tasks when extending Agentick.
10
+ * This API minimizes boilerplate while maximizing flexibility:
11
+ *
12
+ * - **Minimal API**: Just implement prepareInput, mapChunk, execute, executeStream
13
+ * - **Automatic streaming**: StreamAccumulator handles all lifecycle events
14
+ * - **Options merging**: Built-in merging of providerOptions and libraryOptions
15
+ * - **Model defaults**: Full support for messageTransformation config
16
+ * - **Metadata extraction**: Hook for citations, annotations, grounding
17
+ *
18
+ * ## Quick Start
19
+ *
20
+ * ```typescript
21
+ * import { createAdapter, StopReason } from '@agentick/core/model';
22
+ *
23
+ * const model = createAdapter({
24
+ * metadata: {
25
+ * id: 'my-provider:my-model',
26
+ * provider: 'my-provider',
27
+ * capabilities: [{ stream: true, toolCalls: true }],
28
+ * },
29
+ *
30
+ * prepareInput: (input) => ({
31
+ * model: 'my-model',
32
+ * messages: toProviderMessages(input.messages),
33
+ * tools: input.tools?.map(toProviderTool),
34
+ * }),
35
+ *
36
+ * mapChunk: (chunk) => {
37
+ * if (chunk.type === 'text') return { type: 'text', delta: chunk.text };
38
+ * if (chunk.type === 'tool') return { type: 'tool_call', id: chunk.id, name: chunk.name, input: chunk.args };
39
+ * if (chunk.type === 'done') return { type: 'message_end', stopReason: StopReason.STOP };
40
+ * return null;
41
+ * },
42
+ *
43
+ * execute: (input) => provider.generate(input),
44
+ * executeStream: (input) => provider.stream(input),
45
+ * });
46
+ * ```
47
+ *
48
+ * @module agentick/model/adapter
49
+ */
50
+ import React from "react";
51
+ import { Context } from "@agentick/kernel";
52
+ import { createEngineProcedure } from "../procedure";
53
+ import { StreamAccumulator, createChunkMapper, } from "./stream-accumulator";
54
+ import { fromEngineState, toEngineState } from "./utils/language-model";
55
+ import { Model } from "../jsx/components/model";
56
+ // ============================================================================
57
+ // Re-exports for adapter convenience
58
+ // ============================================================================
59
+ export { StopReason } from "@agentick/shared";
60
+ export { createChunkMapper } from "./stream-accumulator";
61
+ // ============================================================================
62
+ // Options Merging Utilities
63
+ // ============================================================================
64
+ /**
65
+ * Deep merge utility for options objects.
66
+ * Handles nested objects and arrays intelligently.
67
+ */
68
+ function deepMerge(...sources) {
69
+ const result = {};
70
+ for (const source of sources) {
71
+ if (!source)
72
+ continue;
73
+ for (const key of Object.keys(source)) {
74
+ const value = source[key];
75
+ const existing = result[key];
76
+ if (value === undefined)
77
+ continue;
78
+ if (typeof value === "object" &&
79
+ value !== null &&
80
+ !Array.isArray(value) &&
81
+ typeof existing === "object" &&
82
+ existing !== null &&
83
+ !Array.isArray(existing)) {
84
+ // Deep merge nested objects
85
+ result[key] = deepMerge(existing, value);
86
+ }
87
+ else {
88
+ // Overwrite primitives, arrays, and null
89
+ result[key] = value;
90
+ }
91
+ }
92
+ }
93
+ return result;
94
+ }
95
+ /**
96
+ * Merge provider options from multiple sources.
97
+ *
98
+ * Priority (later sources override earlier):
99
+ * 1. Model-level defaults (from adapter config)
100
+ * 2. Input providerOptions (from ModelInput)
101
+ * 3. Library-nested providerOptions (from libraryOptions[adapter].providerOptions)
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const merged = mergeProviderOptions(
106
+ * 'openai',
107
+ * { temperature: 0.5 }, // adapter defaults
108
+ * input.providerOptions, // input options
109
+ * input.libraryOptions, // may contain nested providerOptions
110
+ * );
111
+ * ```
112
+ */
113
+ export function mergeProviderOptions(providerKey, adapterDefaults, inputProviderOptions, libraryOptions) {
114
+ // Extract provider-specific options from each source
115
+ const adapterOpts = adapterDefaults || {};
116
+ const inputOpts = inputProviderOptions?.[providerKey] || {};
117
+ // Library options may contain nested providerOptions for this provider.
118
+ // We iterate over all library keys to collect nested providerOptions[providerKey].
119
+ let libraryProviderOpts = {};
120
+ if (libraryOptions) {
121
+ for (const libraryKey of Object.keys(libraryOptions)) {
122
+ const libraryValue = libraryOptions[libraryKey];
123
+ const nestedProviderOpts = libraryValue?.providerOptions?.[providerKey];
124
+ if (nestedProviderOpts) {
125
+ libraryProviderOpts = deepMerge(libraryProviderOpts, nestedProviderOpts);
126
+ }
127
+ }
128
+ }
129
+ return deepMerge(adapterOpts, inputOpts, libraryProviderOpts);
130
+ }
131
+ /**
132
+ * Merge library options from multiple sources.
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * const merged = mergeLibraryOptions(
137
+ * 'ai-sdk',
138
+ * { maxSteps: 5 }, // adapter defaults
139
+ * input.libraryOptions, // input options
140
+ * );
141
+ * ```
142
+ */
143
+ export function mergeLibraryOptions(libraryKey, adapterDefaults, inputLibraryOptions) {
144
+ const adapterOpts = adapterDefaults || {};
145
+ const inputOpts = inputLibraryOptions?.[libraryKey] || {};
146
+ return deepMerge(adapterOpts, inputOpts);
147
+ }
148
+ /**
149
+ * Extract all relevant options for a library adapter.
150
+ *
151
+ * Returns a structured object with:
152
+ * - `library`: Merged library-specific options
153
+ * - `provider`: Merged provider-specific options
154
+ * - `standard`: Standard ModelInput options (temperature, maxTokens, etc.)
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * const opts = extractAdapterOptions('ai-sdk', 'openai', input, {
159
+ * libraryDefaults: { maxSteps: 5 },
160
+ * providerDefaults: { temperature: 0.7 },
161
+ * });
162
+ *
163
+ * return {
164
+ * model,
165
+ * messages,
166
+ * ...opts.library, // AI SDK specific
167
+ * providerOptions: {
168
+ * openai: opts.provider, // OpenAI specific
169
+ * },
170
+ * };
171
+ * ```
172
+ */
173
+ export function extractAdapterOptions(libraryKey, providerKey, input, defaults) {
174
+ const library = mergeLibraryOptions(libraryKey, defaults?.libraryDefaults, input.libraryOptions);
175
+ const provider = mergeProviderOptions(providerKey, defaults?.providerDefaults, input.providerOptions, input.libraryOptions);
176
+ return {
177
+ library,
178
+ provider,
179
+ standard: {
180
+ model: input.model,
181
+ temperature: input.temperature,
182
+ maxTokens: input.maxTokens,
183
+ topP: input.topP,
184
+ frequencyPenalty: input.frequencyPenalty,
185
+ presencePenalty: input.presencePenalty,
186
+ stop: input.stop,
187
+ },
188
+ };
189
+ }
190
+ // ============================================================================
191
+ // Factory Functions
192
+ // ============================================================================
193
+ /**
194
+ * Create an adapter with the simplest possible API.
195
+ *
196
+ * This is the recommended way to create model adapters. It wraps createLanguageModel
197
+ * with sensible defaults:
198
+ * - Uses StreamAccumulator for stream handling (no manual accumulation)
199
+ * - Uses default fromEngineState/toEngineState (standard transformations)
200
+ * - Automatically generates StreamEvents from AdapterDeltas
201
+ * - Supports model-specific messageTransformation config
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * import { createAdapter, StopReason, extractAdapterOptions } from '@agentick/core/model';
206
+ * import { openai } from '@ai-sdk/openai';
207
+ *
208
+ * const model = createAdapter({
209
+ * metadata: {
210
+ * id: 'ai-sdk:gpt-4',
211
+ * provider: 'ai-sdk',
212
+ * capabilities: [
213
+ * { stream: true, toolCalls: true },
214
+ * {
215
+ * // Model-specific transformation config
216
+ * messageTransformation: (modelId, provider) => ({
217
+ * preferredRenderer: 'markdown',
218
+ * roleMapping: {
219
+ * event: modelId.includes('gpt-4') ? 'developer' : 'user',
220
+ * ephemeral: modelId.includes('gpt-4') ? 'developer' : 'user',
221
+ * },
222
+ * }),
223
+ * },
224
+ * ],
225
+ * },
226
+ *
227
+ * prepareInput: (input) => {
228
+ * const opts = extractAdapterOptions('ai-sdk', 'openai', input);
229
+ * return {
230
+ * model: openai('gpt-4'),
231
+ * messages: toAiSdkMessages(input.messages),
232
+ * tools: convertToolsToToolSet(input.tools),
233
+ * ...opts.library,
234
+ * providerOptions: { openai: opts.provider },
235
+ * };
236
+ * },
237
+ *
238
+ * mapChunk: (chunk) => {
239
+ * switch (chunk.type) {
240
+ * case 'text-delta': return { type: 'text', delta: chunk.text };
241
+ * case 'reasoning-delta': return { type: 'reasoning', delta: chunk.text };
242
+ * case 'tool-call': return { type: 'tool_call', id: chunk.toolCallId, name: chunk.toolName, input: chunk.args };
243
+ * case 'finish': return { type: 'message_end', stopReason: StopReason.STOP, usage: chunk.totalUsage };
244
+ * default: return null;
245
+ * }
246
+ * },
247
+ *
248
+ * execute: (input) => generateText(input),
249
+ * executeStream: (input) => streamText(input).fullStream,
250
+ * });
251
+ * ```
252
+ */
253
+ /**
254
+ * Event ID counter for generating unique event IDs
255
+ */
256
+ let adapterEventIdCounter = 0;
257
+ function generateAdapterEventId() {
258
+ return `aevt_${Date.now()}_${++adapterEventIdCounter}`;
259
+ }
260
+ function createAdapterEventBase() {
261
+ return {
262
+ id: generateAdapterEventId(),
263
+ sequence: 0, // Placeholder - session.emitEvent assigns actual sequence
264
+ tick: 1,
265
+ timestamp: new Date().toISOString(),
266
+ };
267
+ }
268
+ /**
269
+ * Create an adapter using StreamAccumulator for clean streaming.
270
+ *
271
+ * This is the recommended way to create model adapters. StreamAccumulator
272
+ * handles all the complexity of converting AdapterDeltas to StreamEvents
273
+ * with proper lifecycle management.
274
+ *
275
+ * Returns a ModelClass that can be used:
276
+ * - As a JSX component: `<model temperature={0.9}><MyAgent /></model>`
277
+ * - With createApp: `createApp(Agent, { model })`
278
+ * - For direct calls: `await model.generate(input)`
279
+ */
280
+ export function createAdapter(options) {
281
+ const { metadata, prepareInput, mapChunk, execute, executeStream, processOutput, extractMetadata, reconstructRaw, onMount: adapterOnMount, onUnmount: adapterOnUnmount, } = options;
282
+ // Create generate procedure
283
+ const generate = createEngineProcedure({
284
+ name: "model:generate",
285
+ metadata: {
286
+ type: "model",
287
+ id: metadata.id,
288
+ operation: "generate",
289
+ },
290
+ executionBoundary: "child",
291
+ executionType: "model",
292
+ }, async (input) => {
293
+ const providerInput = await prepareInput(input);
294
+ // Emit event with the provider-formatted input (for DevTools debugging)
295
+ Context.emit("model:provider_request", {
296
+ modelId: metadata.id,
297
+ provider: metadata.provider,
298
+ providerInput,
299
+ });
300
+ const providerOutput = await execute(providerInput);
301
+ // Emit event with the raw provider response (for DevTools debugging)
302
+ Context.emit("model:provider_response", {
303
+ modelId: metadata.id,
304
+ provider: metadata.provider,
305
+ providerOutput,
306
+ });
307
+ // Use processOutput if provided, otherwise we need streaming
308
+ if (processOutput) {
309
+ return processOutput(providerOutput);
310
+ }
311
+ // Fallback: convert provider output to ModelOutput
312
+ // This is a simplified fallback - adapters should provide processOutput
313
+ return {
314
+ model: metadata.id,
315
+ createdAt: new Date().toISOString(),
316
+ message: { role: "assistant", content: [] },
317
+ messages: [],
318
+ usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },
319
+ stopReason: "unspecified",
320
+ raw: providerOutput,
321
+ };
322
+ });
323
+ // Create stream procedure using StreamAccumulator
324
+ const stream = executeStream
325
+ ? createEngineProcedure({
326
+ name: "model:stream",
327
+ metadata: {
328
+ type: "model",
329
+ id: metadata.id,
330
+ operation: "stream",
331
+ },
332
+ handleFactory: false, // Stream procedures return async generators
333
+ executionBoundary: "child",
334
+ executionType: "model",
335
+ }, async function* (input) {
336
+ const providerInput = await prepareInput(input);
337
+ // Emit event with the provider-formatted input (for DevTools debugging)
338
+ Context.emit("model:provider_request", {
339
+ modelId: metadata.id,
340
+ provider: metadata.provider,
341
+ providerInput,
342
+ });
343
+ // Use StreamAccumulator for clean lifecycle management
344
+ const accumulator = new StreamAccumulator({ modelId: metadata.id });
345
+ const rawChunks = [];
346
+ for await (const chunk of executeStream(providerInput)) {
347
+ rawChunks.push(chunk);
348
+ // Extract metadata if hook provided
349
+ if (extractMetadata) {
350
+ const contentMetadata = extractMetadata(chunk, {
351
+ text: accumulator.getText(),
352
+ reasoning: accumulator.getReasoning(),
353
+ });
354
+ if (contentMetadata) {
355
+ const metadataEvents = accumulator.push({
356
+ type: "content_metadata",
357
+ metadata: contentMetadata,
358
+ });
359
+ for (const event of metadataEvents) {
360
+ yield event;
361
+ }
362
+ }
363
+ }
364
+ // Map chunk to AdapterDelta and push to accumulator
365
+ const delta = mapChunk(chunk);
366
+ if (delta) {
367
+ const events = accumulator.push(delta);
368
+ for (const event of events) {
369
+ yield event;
370
+ }
371
+ }
372
+ }
373
+ // Get final accumulated output
374
+ const accumulatedOutput = accumulator.toModelOutput();
375
+ // Reconstruct raw provider response if adapter provides reconstructRaw
376
+ const rawResponse = reconstructRaw
377
+ ? reconstructRaw({
378
+ text: accumulatedOutput.raw?.text || "",
379
+ reasoning: accumulatedOutput.raw?.reasoning || "",
380
+ toolCalls: accumulatedOutput.toolCalls || [],
381
+ usage: accumulatedOutput.usage,
382
+ stopReason: accumulatedOutput.stopReason,
383
+ model: accumulatedOutput.model,
384
+ chunks: rawChunks,
385
+ })
386
+ : undefined;
387
+ // Build final message content
388
+ const content = [];
389
+ if (accumulatedOutput.raw?.reasoning) {
390
+ content.push({
391
+ type: "reasoning",
392
+ text: accumulatedOutput.raw.reasoning,
393
+ });
394
+ }
395
+ if (accumulatedOutput.raw?.text) {
396
+ content.push({ type: "text", text: accumulatedOutput.raw.text });
397
+ }
398
+ if (accumulatedOutput.toolCalls) {
399
+ for (const tc of accumulatedOutput.toolCalls) {
400
+ content.push({
401
+ type: "tool_use",
402
+ toolUseId: tc.id,
403
+ name: tc.name,
404
+ input: tc.input,
405
+ });
406
+ }
407
+ }
408
+ // Yield final message event with all accumulated data
409
+ const messageEvent = {
410
+ type: "message",
411
+ ...createAdapterEventBase(),
412
+ message: {
413
+ role: "assistant",
414
+ content,
415
+ },
416
+ stopReason: accumulatedOutput.stopReason,
417
+ usage: accumulatedOutput.usage,
418
+ model: accumulatedOutput.model,
419
+ startedAt: accumulatedOutput.createdAt,
420
+ completedAt: new Date().toISOString(),
421
+ raw: rawResponse,
422
+ };
423
+ yield messageEvent;
424
+ })
425
+ : undefined;
426
+ // Default fromEngineState using model metadata for transformation config
427
+ const defaultFromEngineState = async (input) => {
428
+ const modelInstance = { metadata };
429
+ return fromEngineState(input, undefined, modelInstance);
430
+ };
431
+ // Build the EngineModel properties
432
+ const engineModel = {
433
+ metadata,
434
+ generate,
435
+ stream,
436
+ fromEngineState: options.fromEngineState
437
+ ? async (input) => options.fromEngineState(input)
438
+ : defaultFromEngineState,
439
+ toEngineState: options.toEngineState
440
+ ? async (output) => options.toEngineState(output)
441
+ : (output) => toEngineState(output),
442
+ getProviderInput: async (input) => prepareInput(input),
443
+ };
444
+ // Create functional component that wraps <Model>
445
+ const ModelComponent = function ModelComponent(props) {
446
+ const { children, onMount: propsOnMount, onUnmount: propsOnUnmount, ...modelOptions } = props;
447
+ // Merge lifecycle hooks: props override adapter defaults
448
+ const onMount = propsOnMount ?? adapterOnMount;
449
+ const onUnmount = propsOnUnmount ?? adapterOnUnmount;
450
+ return React.createElement(Model, {
451
+ model: engineModel,
452
+ onMount,
453
+ onUnmount,
454
+ ...modelOptions,
455
+ }, children);
456
+ };
457
+ // Set display name for React DevTools
458
+ ModelComponent.displayName = `Model(${metadata.id})`;
459
+ // Attach EngineModel properties to make it a valid ModelClass
460
+ ModelComponent.metadata = metadata;
461
+ ModelComponent.generate = generate;
462
+ ModelComponent.stream = stream;
463
+ ModelComponent.fromEngineState = engineModel.fromEngineState;
464
+ ModelComponent.toEngineState = engineModel.toEngineState;
465
+ ModelComponent.getProviderInput = engineModel.getProviderInput;
466
+ return ModelComponent;
467
+ }
468
+ /**
469
+ * Create an adapter using declarative chunk mapping.
470
+ *
471
+ * This is even simpler than createAdapter for cases where
472
+ * chunk mapping can be expressed declaratively.
473
+ *
474
+ * @example
475
+ * ```typescript
476
+ * const model = createDeclarativeAdapter({
477
+ * metadata: { id: 'my-model', ... },
478
+ * prepareInput: (input) => ({ ... }),
479
+ * execute: (input) => provider.call(input),
480
+ * executeStream: (input) => provider.stream(input),
481
+ * chunkMapping: {
482
+ * text: { type: 'text-delta', extract: (c) => c.text },
483
+ * toolCall: { type: 'tool-call', extract: (c) => ({ id: c.id, name: c.name, input: c.args }) },
484
+ * messageEnd: { type: 'finish', extract: (c) => ({ stopReason: StopReason.STOP }) },
485
+ * },
486
+ * });
487
+ * ```
488
+ */
489
+ export function createDeclarativeAdapter(options) {
490
+ const { chunkMapping, ...rest } = options;
491
+ const mapChunk = createChunkMapper(chunkMapping);
492
+ return createAdapter({
493
+ ...rest,
494
+ mapChunk,
495
+ });
496
+ }
497
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * # Agentick Models
3
+ *
4
+ * Model adapters and utilities for connecting to AI providers.
5
+ * Models are the interface between Agentick and AI services.
6
+ *
7
+ * ## Features
8
+ *
9
+ * - **createAdapter** - Factory for creating model adapters (recommended)
10
+ * - **ModelClass** - Unified type for JSX + programmatic use
11
+ * - **EngineModel** - Core interface for all models
12
+ * - **StreamAccumulator** - Built-in streaming support
13
+ *
14
+ * ## Quick Start
15
+ *
16
+ * ```typescript
17
+ * import { createAdapter, StopReason } from '@agentick/core/model';
18
+ *
19
+ * const model = createAdapter({
20
+ * metadata: { id: 'my-model', provider: 'my-provider', capabilities: [] },
21
+ * prepareInput: (input) => ({ model: 'gpt-4', messages: input.messages }),
22
+ * mapChunk: (chunk) => ({ type: 'text', delta: chunk.text }),
23
+ * execute: (input) => provider.generate(input),
24
+ * executeStream: (input) => provider.stream(input),
25
+ * });
26
+ *
27
+ * // Use as JSX component
28
+ * <model temperature={0.9}><MyAgent /></model>
29
+ *
30
+ * // Use with createApp
31
+ * const app = createApp(Agent, { model });
32
+ *
33
+ * // Direct execution
34
+ * const output = await model.generate(input);
35
+ * ```
36
+ *
37
+ * ## Pre-built Adapters
38
+ *
39
+ * - `@agentick/ai-sdk` - Vercel AI SDK (multi-provider)
40
+ * - `@agentick/openai` - OpenAI native
41
+ * - `@agentick/google` - Google AI native
42
+ *
43
+ * @see {@link createAdapter} - Main adapter factory
44
+ * @see {@link ModelClass} - Unified model type
45
+ *
46
+ * @module agentick/model
47
+ */
48
+ export * from "./model";
49
+ export * from "./model-hooks";
50
+ export * from "./utils";
51
+ export * from "./stream-accumulator";
52
+ export * from "./adapter";
53
+ export * from "./adapter-helpers";
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AAGxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * # Agentick Models
3
+ *
4
+ * Model adapters and utilities for connecting to AI providers.
5
+ * Models are the interface between Agentick and AI services.
6
+ *
7
+ * ## Features
8
+ *
9
+ * - **createAdapter** - Factory for creating model adapters (recommended)
10
+ * - **ModelClass** - Unified type for JSX + programmatic use
11
+ * - **EngineModel** - Core interface for all models
12
+ * - **StreamAccumulator** - Built-in streaming support
13
+ *
14
+ * ## Quick Start
15
+ *
16
+ * ```typescript
17
+ * import { createAdapter, StopReason } from '@agentick/core/model';
18
+ *
19
+ * const model = createAdapter({
20
+ * metadata: { id: 'my-model', provider: 'my-provider', capabilities: [] },
21
+ * prepareInput: (input) => ({ model: 'gpt-4', messages: input.messages }),
22
+ * mapChunk: (chunk) => ({ type: 'text', delta: chunk.text }),
23
+ * execute: (input) => provider.generate(input),
24
+ * executeStream: (input) => provider.stream(input),
25
+ * });
26
+ *
27
+ * // Use as JSX component
28
+ * <model temperature={0.9}><MyAgent /></model>
29
+ *
30
+ * // Use with createApp
31
+ * const app = createApp(Agent, { model });
32
+ *
33
+ * // Direct execution
34
+ * const output = await model.generate(input);
35
+ * ```
36
+ *
37
+ * ## Pre-built Adapters
38
+ *
39
+ * - `@agentick/ai-sdk` - Vercel AI SDK (multi-provider)
40
+ * - `@agentick/openai` - OpenAI native
41
+ * - `@agentick/google` - Google AI native
42
+ *
43
+ * @see {@link createAdapter} - Main adapter factory
44
+ * @see {@link ModelClass} - Unified model type
45
+ *
46
+ * @module agentick/model
47
+ */
48
+ export * from "./model";
49
+ export * from "./model-hooks";
50
+ export * from "./utils";
51
+ // Adapter creation
52
+ export * from "./stream-accumulator"; // AdapterDelta, StreamAccumulator
53
+ export * from "./adapter"; // createAdapter factory
54
+ export * from "./adapter-helpers"; // Composable helpers for adapters
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,sBAAsB,CAAC,CAAC,kCAAkC;AACxE,cAAc,WAAW,CAAC,CAAC,wBAAwB;AACnD,cAAc,mBAAmB,CAAC,CAAC,kCAAkC"}
@@ -0,0 +1,45 @@
1
+ import type { Middleware } from "@agentick/kernel";
2
+ import type { COMInput } from "../com/types";
3
+ import type { EngineResponse } from "../engine/engine-response";
4
+ import { BaseHookRegistry } from "../hooks/base-hook-registry";
5
+ /**
6
+ * Model operation names.
7
+ */
8
+ export type ModelHookName = "fromEngineState" | "generate" | "stream" | "toEngineState";
9
+ /**
10
+ * Model selector for hook registration.
11
+ * For now, we only support global hooks (all models).
12
+ * Future: Could support model-specific hooks by model ID or type.
13
+ */
14
+ export type ModelSelector = undefined;
15
+ /**
16
+ * Hook middleware type for model operations.
17
+ */
18
+ export type ModelHookMiddleware<T extends ModelHookName> = Middleware<ModelHookArgs<T>>;
19
+ /**
20
+ * Arguments for each model hook.
21
+ */
22
+ export type ModelHookArgs<T extends ModelHookName> = T extends "fromEngineState" ? [input: COMInput] : T extends "generate" ? [input: unknown] : T extends "stream" ? [input: unknown] : T extends "toEngineState" ? [output: unknown] : never;
23
+ /**
24
+ * Return type for each model hook.
25
+ */
26
+ export type ModelHookReturn<T extends ModelHookName> = T extends "fromEngineState" ? Promise<unknown> : T extends "generate" ? Promise<unknown> : T extends "stream" ? AsyncIterable<unknown> | Promise<AsyncIterable<unknown>> : T extends "toEngineState" ? Promise<EngineResponse> : never;
27
+ /**
28
+ * Model-specific hook registry.
29
+ * Uses BaseHookRegistry to reduce code duplication.
30
+ *
31
+ * Note: Global hooks via configureEngine() have been deprecated.
32
+ * Use Agentick.use() for middleware registration instead.
33
+ */
34
+ export declare class ModelHookRegistry extends BaseHookRegistry<ModelHookName, ModelSelector, ModelHookMiddleware<ModelHookName>> {
35
+ protected getAllHookNames(): readonly ModelHookName[];
36
+ /**
37
+ * Get all middleware for a model hook.
38
+ * Returns instance-specific hooks only.
39
+ *
40
+ * Note: Global hooks via configureEngine() have been deprecated.
41
+ * Use Agentick.use() for middleware registration instead.
42
+ */
43
+ getMiddleware<T extends ModelHookName>(hookName: T): ModelHookMiddleware<T>[];
44
+ }
45
+ //# sourceMappingURL=model-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-hooks.d.ts","sourceRoot":"","sources":["../../src/model/model-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,CAAC;AAExF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,iBAAiB,GAC5E,CAAC,KAAK,EAAE,QAAQ,CAAC,GACjB,CAAC,SAAS,UAAU,GAClB,CAAC,KAAK,EAAE,OAAO,CAAC,GAChB,CAAC,SAAS,QAAQ,GAChB,CAAC,KAAK,EAAE,OAAO,CAAC,GAChB,CAAC,SAAS,eAAe,GACvB,CAAC,MAAM,EAAE,OAAO,CAAC,GACjB,KAAK,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,iBAAiB,GAC9E,OAAO,CAAC,OAAO,CAAC,GAChB,CAAC,SAAS,UAAU,GAClB,OAAO,CAAC,OAAO,CAAC,GAChB,CAAC,SAAS,QAAQ,GAChB,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACxD,CAAC,SAAS,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,GACvB,KAAK,CAAC;AAEhB;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB,CACrD,aAAa,EACb,aAAa,EACb,mBAAmB,CAAC,aAAa,CAAC,CACnC;IACC,SAAS,CAAC,eAAe,IAAI,SAAS,aAAa,EAAE;IAIrD;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE;CAM9E"}