@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,498 @@
1
+ /**
2
+ * V2 Fiber Compiler
3
+ *
4
+ * Uses react-reconciler to build a AgentickNode tree from React elements.
5
+ * With React's native JSX runtime, elements are already React elements -
6
+ * no conversion needed.
7
+ */
8
+ import React from "react";
9
+ // Helper for createElement
10
+ const h = React.createElement;
11
+ import { createContainer, createRoot, updateContainer, flushSync, flushPassiveEffects, } from "../reconciler";
12
+ import { collect } from "./collector";
13
+ import { createEmptyCompiledStructure } from "./types";
14
+ import { AgentickProvider, createRuntimeStore, storeHasPendingData, storeResolvePendingData, storeRunTickStartCallbacks, storeRunTickEndCallbacks, storeRunAfterCompileCallbacks, storeClearLifecycleCallbacks, storeClearDataCache, storeGetSerializableDataCache, storeSetDataCache,
15
+ // Message context
16
+ createMessageStore, MessageProvider,
17
+ // Context info
18
+ createContextInfoStore, } from "../hooks";
19
+ import { markdownRenderer } from "../renderers";
20
+ /**
21
+ * V2 FiberCompiler - uses react-reconciler internally.
22
+ *
23
+ * This maintains API compatibility with v1 FiberCompiler so Session
24
+ * can use it as a drop-in replacement.
25
+ */
26
+ export class FiberCompiler {
27
+ // React reconciler state
28
+ container;
29
+ root;
30
+ // Per-session runtime store (isolated state)
31
+ runtimeStore;
32
+ // Message store for useOnMessage/useQueuedMessages
33
+ messageStore;
34
+ // Context info store for useContextInfo
35
+ _contextInfoStore;
36
+ // Context
37
+ ctx;
38
+ tickState = null;
39
+ rootElement = null;
40
+ // Config
41
+ config;
42
+ // Phase tracking
43
+ currentPhase = "idle";
44
+ isRendering = false;
45
+ // Recompile tracking
46
+ recompileRequested = false;
47
+ recompileReasons = [];
48
+ // Reconciliation callback (for reactive model)
49
+ onScheduleReconcile;
50
+ constructor(ctx, _hookRegistry, // ComponentHookRegistry - not used in v2
51
+ config = {}) {
52
+ this.ctx = ctx;
53
+ this.config = {
54
+ dev: config.dev ?? process.env.NODE_ENV === "development",
55
+ maxCompileIterations: config.maxCompileIterations ?? 10,
56
+ };
57
+ // Create isolated runtime store for this compiler/session
58
+ this.runtimeStore = createRuntimeStore();
59
+ // Create message store for useOnMessage/useQueuedMessages
60
+ this.messageStore = createMessageStore();
61
+ // Create context info store for useContextInfo
62
+ this._contextInfoStore = createContextInfoStore();
63
+ // Create the render container and root
64
+ this.container = createContainer(markdownRenderer);
65
+ this.root = createRoot(this.container);
66
+ // Wire up COM's requestRecompile to our tracking
67
+ const originalRequestRecompile = ctx.requestRecompile.bind(ctx);
68
+ ctx.requestRecompile = (reason) => {
69
+ this.recompileRequested = true;
70
+ if (reason) {
71
+ this.recompileReasons.push(reason);
72
+ }
73
+ originalRequestRecompile(reason);
74
+ };
75
+ }
76
+ // ============================================================
77
+ // Public API - Stores
78
+ // ============================================================
79
+ /**
80
+ * Get the context info store for this compiler.
81
+ * Used by session to update context utilization info after each tick.
82
+ */
83
+ get contextInfoStore() {
84
+ return this._contextInfoStore;
85
+ }
86
+ // ============================================================
87
+ // Public API - Compilation
88
+ // ============================================================
89
+ /**
90
+ * Set the root element for this compiler.
91
+ */
92
+ setRoot(element) {
93
+ this.rootElement = element;
94
+ }
95
+ /**
96
+ * Set the reconciliation schedule callback.
97
+ */
98
+ setReconcileCallback(callback) {
99
+ this.onScheduleReconcile = callback;
100
+ }
101
+ /**
102
+ * Reconcile the tree (render phase only, no collection).
103
+ * Used by reactive model for incremental updates.
104
+ */
105
+ async reconcile(element, options = {}) {
106
+ const el = element ?? this.rootElement;
107
+ if (!el) {
108
+ throw new Error("No element to reconcile. Call setRoot() or pass element.");
109
+ }
110
+ if (options.tickState) {
111
+ this.tickState = options.tickState;
112
+ }
113
+ this.isRendering = true;
114
+ this.currentPhase = "render";
115
+ setActiveCompiler(this);
116
+ try {
117
+ const maxAttempts = 10;
118
+ let attempts = 0;
119
+ // With React's native JSX runtime, el is already a React element
120
+ const reactElement = el;
121
+ while (attempts < maxAttempts) {
122
+ attempts++;
123
+ try {
124
+ // Render with React
125
+ // Wrap with MessageProvider for useOnMessage/useQueuedMessages
126
+ try {
127
+ flushSync(() => {
128
+ updateContainer(h(MessageProvider, { store: this.messageStore }, h(AgentickProvider, {
129
+ ctx: this.ctx,
130
+ tickState: this.tickState, // Different TickState types are compatible
131
+ runtimeStore: this.runtimeStore,
132
+ contextInfoStore: this._contextInfoStore,
133
+ }, reactElement)), this.root);
134
+ });
135
+ }
136
+ catch (flushError) {
137
+ console.error("[FiberCompiler.reconcile] flushSync error:", flushError);
138
+ throw flushError;
139
+ }
140
+ // Flush passive effects (useEffect callbacks) immediately.
141
+ // In non-DOM environments, these don't auto-flush.
142
+ // This ensures lifecycle hooks are registered before we call them.
143
+ flushPassiveEffects();
144
+ // If we get here without throwing, check for any pending data
145
+ // that was triggered during render
146
+ if (!storeHasPendingData(this.runtimeStore)) {
147
+ // No pending data, we're done
148
+ break;
149
+ }
150
+ // Resolve pending data and loop to re-render
151
+ await storeResolvePendingData(this.runtimeStore);
152
+ }
153
+ catch (error) {
154
+ // useData throws promises when data isn't cached.
155
+ // The promise is added to pendingFetches before throwing.
156
+ // Check if we have pending data to resolve.
157
+ if (storeHasPendingData(this.runtimeStore)) {
158
+ await storeResolvePendingData(this.runtimeStore);
159
+ // Continue loop to retry render
160
+ }
161
+ else {
162
+ // Not a data fetch issue, rethrow
163
+ throw error;
164
+ }
165
+ }
166
+ }
167
+ if (attempts >= maxAttempts) {
168
+ console.warn(`Reconcile hit max attempts (${maxAttempts})`);
169
+ }
170
+ }
171
+ finally {
172
+ this.isRendering = false;
173
+ this.currentPhase = "idle";
174
+ setActiveCompiler(null);
175
+ }
176
+ }
177
+ /**
178
+ * Collect the compiled structure from the current tree.
179
+ * Uses COM's token estimator to annotate all entries with token estimates.
180
+ */
181
+ collect() {
182
+ return collect(this.container, this.ctx.getTokenEstimator());
183
+ }
184
+ /**
185
+ * Compile element to CompiledStructure.
186
+ * Single pass: reconcile + collect.
187
+ */
188
+ async compile(element, state) {
189
+ this.tickState = state;
190
+ this.currentPhase = "compile";
191
+ try {
192
+ await this.reconcile(element, { tickState: state });
193
+ return this.collect();
194
+ }
195
+ finally {
196
+ this.currentPhase = "idle";
197
+ }
198
+ }
199
+ /**
200
+ * Compile until stable (no more recompile requests).
201
+ */
202
+ async compileUntilStable(element, state, options = {}) {
203
+ const maxIterations = options.maxIterations ?? this.config.maxCompileIterations ?? 10;
204
+ this.tickState = state;
205
+ this.recompileReasons = [];
206
+ let compiled = createEmptyCompiledStructure();
207
+ let iterations = 0;
208
+ let stable = false;
209
+ while (!stable && iterations < maxIterations) {
210
+ iterations++;
211
+ this.recompileRequested = false;
212
+ // Compile
213
+ compiled = await this.compile(element, state);
214
+ // Run after-compile callbacks
215
+ await this.notifyAfterCompile(compiled, state, {});
216
+ // Check if stable
217
+ if (!this.recompileRequested && !storeHasPendingData(this.runtimeStore)) {
218
+ stable = true;
219
+ }
220
+ }
221
+ return {
222
+ compiled,
223
+ iterations,
224
+ forcedStable: !stable,
225
+ recompileReasons: this.recompileReasons,
226
+ };
227
+ }
228
+ // ============================================================
229
+ // Lifecycle Notifications
230
+ // ============================================================
231
+ async notifyStart() {
232
+ // Nothing special in v2 - components use useEffect for mount
233
+ }
234
+ async notifyTickStart(state) {
235
+ this.tickState = state;
236
+ this.currentPhase = "tickStart";
237
+ try {
238
+ if (this.ctx) {
239
+ await storeRunTickStartCallbacks(this.runtimeStore, state, this.ctx);
240
+ }
241
+ }
242
+ finally {
243
+ this.currentPhase = "idle";
244
+ }
245
+ }
246
+ async notifyTickEnd(state, result) {
247
+ this.tickState = state;
248
+ this.currentPhase = "tickEnd";
249
+ try {
250
+ if (this.ctx) {
251
+ await storeRunTickEndCallbacks(this.runtimeStore, result, this.ctx);
252
+ }
253
+ }
254
+ finally {
255
+ this.currentPhase = "idle";
256
+ }
257
+ }
258
+ async notifyAfterCompile(compiled, _state, _ctx) {
259
+ await storeRunAfterCompileCallbacks(this.runtimeStore, compiled, this.ctx);
260
+ }
261
+ async notifyComplete(_finalState) {
262
+ this.currentPhase = "complete";
263
+ // Nothing special in v2
264
+ this.currentPhase = "idle";
265
+ }
266
+ async notifyError(_state) {
267
+ // Return null = no recovery action
268
+ return null;
269
+ }
270
+ async notifyOnMessage(message, state) {
271
+ // Update store with current context before dispatching
272
+ this.messageStore.ctx = this.ctx;
273
+ this.messageStore.tickState = state;
274
+ this.messageStore.lastMessage = message;
275
+ // Dispatch message to all handlers registered via useOnMessage
276
+ const ctx = this.ctx;
277
+ for (const handler of this.messageStore.handlers) {
278
+ await handler(message, ctx, state);
279
+ }
280
+ }
281
+ // ============================================================
282
+ // Cleanup
283
+ // ============================================================
284
+ async unmount() {
285
+ this.currentPhase = "unmount";
286
+ try {
287
+ // Clear the tree
288
+ flushSync(() => {
289
+ updateContainer(null, this.root);
290
+ });
291
+ // Flush any pending cleanup effects
292
+ flushPassiveEffects();
293
+ // Clear any remaining state
294
+ storeClearLifecycleCallbacks(this.runtimeStore);
295
+ storeClearDataCache(this.runtimeStore);
296
+ }
297
+ finally {
298
+ this.currentPhase = "idle";
299
+ }
300
+ }
301
+ // ============================================================
302
+ // State Queries
303
+ // ============================================================
304
+ isRenderingNow() {
305
+ return this.isRendering;
306
+ }
307
+ isInTickStart() {
308
+ return this.currentPhase === "tickStart";
309
+ }
310
+ isInTickEnd() {
311
+ return this.currentPhase === "tickEnd";
312
+ }
313
+ shouldSkipRecompile() {
314
+ return (this.currentPhase === "tickStart" ||
315
+ this.currentPhase === "tickEnd" ||
316
+ this.currentPhase === "complete" ||
317
+ this.currentPhase === "unmount" ||
318
+ this.isRendering);
319
+ }
320
+ // ============================================================
321
+ // Renderer
322
+ // ============================================================
323
+ setRenderer(renderer) {
324
+ this.container.renderer = renderer;
325
+ }
326
+ // ============================================================
327
+ // Hibernation Support
328
+ // ============================================================
329
+ /**
330
+ * Get the runtime store for hibernation.
331
+ */
332
+ getRuntimeStore() {
333
+ return this.runtimeStore;
334
+ }
335
+ /**
336
+ * Get the data cache as a serializable object.
337
+ */
338
+ getSerializableDataCache() {
339
+ return storeGetSerializableDataCache(this.runtimeStore);
340
+ }
341
+ /**
342
+ * Restore the data cache from a serializable object.
343
+ */
344
+ setDataCache(data) {
345
+ storeSetDataCache(this.runtimeStore, data);
346
+ }
347
+ // ============================================================
348
+ // Hydration Support (session.ts compatibility)
349
+ // ============================================================
350
+ _hydrationData = null;
351
+ _isHydrating = false;
352
+ /**
353
+ * Set hydration data for restoring session state.
354
+ */
355
+ setHydrationData(data) {
356
+ this._hydrationData = data;
357
+ this._isHydrating = true;
358
+ // If data includes a serialized data cache, restore it
359
+ if (data && typeof data === "object" && "dataCache" in data) {
360
+ this.setDataCache(data.dataCache);
361
+ }
362
+ }
363
+ /**
364
+ * Complete the hydration process.
365
+ */
366
+ completeHydration() {
367
+ this._isHydrating = false;
368
+ this._hydrationData = null;
369
+ }
370
+ /**
371
+ * Check if currently hydrating.
372
+ */
373
+ isHydratingNow() {
374
+ return this._isHydrating;
375
+ }
376
+ // ============================================================
377
+ // Debug/DevTools Support (session.ts compatibility)
378
+ // ============================================================
379
+ /**
380
+ * Serialize the fiber tree for debugging/devtools.
381
+ * In v2, we serialize the AgentickNode tree from the container.
382
+ */
383
+ serializeFiberTree() {
384
+ if (this.container.children.length === 0) {
385
+ return null;
386
+ }
387
+ let idCounter = 0;
388
+ const serializeNode = (node, path) => {
389
+ const id = `node-${idCounter++}`;
390
+ const typeName = typeof node.type === "string"
391
+ ? node.type
392
+ : typeof node.type === "function"
393
+ ? node.type.displayName || node.type.name || "Anonymous"
394
+ : typeof node.type === "symbol"
395
+ ? node.type.description || "Symbol"
396
+ : node.type === null || node.type === undefined
397
+ ? "text"
398
+ : "Unknown";
399
+ // Generate a human-readable summary for the node
400
+ const summary = node.text != null
401
+ ? `"${String(node.text).slice(0, 50)}${String(node.text).length > 50 ? "..." : ""}"`
402
+ : undefined;
403
+ return {
404
+ id,
405
+ type: typeName,
406
+ key: node.key ?? null,
407
+ props: { ...node.props },
408
+ hooks: [], // React manages hooks internally; we don't have access to them
409
+ children: (node.children || []).map((child, i) => serializeNode(child, `${path}.${i}`)),
410
+ _summary: summary,
411
+ };
412
+ };
413
+ // Return root as a fragment containing all children
414
+ return {
415
+ id: "root",
416
+ type: "Fragment",
417
+ key: null,
418
+ props: {},
419
+ hooks: [],
420
+ children: this.container.children.map((child, i) => serializeNode(child, String(i))),
421
+ };
422
+ }
423
+ /**
424
+ * Get a summary of the fiber tree for debugging.
425
+ */
426
+ getFiberSummary() {
427
+ let componentCount = 0;
428
+ let _depth = 0;
429
+ let maxDepth = 0;
430
+ const countNodes = (nodes, currentDepth) => {
431
+ if (currentDepth > maxDepth)
432
+ maxDepth = currentDepth;
433
+ for (const node of nodes) {
434
+ componentCount++;
435
+ if (node.children && node.children.length > 0) {
436
+ countNodes(node.children, currentDepth + 1);
437
+ }
438
+ }
439
+ };
440
+ countNodes(this.container.children, 1);
441
+ return {
442
+ componentCount,
443
+ hookCount: 0, // React manages hooks internally, we don't track
444
+ effectCount: 0, // React manages effects internally
445
+ depth: maxDepth,
446
+ hooksByType: {}, // React manages hooks internally, we don't track by type
447
+ };
448
+ }
449
+ }
450
+ /**
451
+ * Create a V2 FiberCompiler.
452
+ */
453
+ export function createFiberCompiler(ctx, hookRegistry, config) {
454
+ return new FiberCompiler(ctx, hookRegistry, config);
455
+ }
456
+ // ============================================================
457
+ // Compiler Bridge for Signals
458
+ // ============================================================
459
+ // These functions allow signals to detect render phase and
460
+ // request recompilation when state changes during render.
461
+ /**
462
+ * Currently active compiler instance.
463
+ * Set by FiberCompiler during render operations.
464
+ */
465
+ let activeCompiler = null;
466
+ /**
467
+ * Set the active compiler (used internally during render).
468
+ * @internal
469
+ */
470
+ export function setActiveCompiler(compiler) {
471
+ activeCompiler = compiler;
472
+ }
473
+ /**
474
+ * Get the currently active compiler, if any.
475
+ * Used by signals to request recompilation.
476
+ */
477
+ export function getActiveCompiler() {
478
+ return activeCompiler;
479
+ }
480
+ /**
481
+ * Check if we're currently inside a compiler render phase.
482
+ * Used by signals to detect state changes during render.
483
+ */
484
+ export function isCompilerRendering() {
485
+ return activeCompiler?.isRenderingNow() ?? false;
486
+ }
487
+ /**
488
+ * Check if we should skip requesting recompilation.
489
+ * Returns true during phases where recompile is unnecessary:
490
+ * - tickStart: Render is about to happen anyway
491
+ * - tickEnd: Current tick is done, next tick will see the update
492
+ * - complete: Execution is complete, no more renders
493
+ * - unmount: Component is being removed
494
+ */
495
+ export function shouldSkipRecompile() {
496
+ return activeCompiler?.shouldSkipRecompile() ?? true;
497
+ }
498
+ //# sourceMappingURL=fiber-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-compiler.js","sourceRoot":"","sources":["../../src/compiler/fiber-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Fiber Node Management
3
+ *
4
+ * Handles fiber creation, cloning, and tree manipulation.
5
+ */
6
+ import type { FiberNode, ComponentType, HookState } from "./types";
7
+ import type { ContentRenderer } from "../renderers";
8
+ /**
9
+ * Create a new fiber node.
10
+ */
11
+ export declare function createFiber(type: ComponentType, props: Record<string, unknown>, key?: string | number | null): FiberNode;
12
+ /**
13
+ * Create a work-in-progress fiber from an existing fiber.
14
+ * This enables double-buffering for safe updates.
15
+ */
16
+ export declare function createWorkInProgress(current: FiberNode, pendingProps: Record<string, unknown>): FiberNode;
17
+ /**
18
+ * Clone a fiber for use in a different location.
19
+ */
20
+ export declare function cloneFiber(fiber: FiberNode, overrides?: Partial<FiberNode>): FiberNode;
21
+ /**
22
+ * Get all child fibers as an array.
23
+ */
24
+ export declare function getChildFibers(fiber: FiberNode | null): FiberNode[];
25
+ /**
26
+ * Find a fiber by key among siblings.
27
+ */
28
+ export declare function findFiberByKey(firstChild: FiberNode | null, key: string | number | null): FiberNode | null;
29
+ /**
30
+ * Traverse fiber tree depth-first, calling callback on each fiber.
31
+ */
32
+ export declare function traverseFiber(fiber: FiberNode | null, callback: (fiber: FiberNode) => void | Promise<void>): Promise<void>;
33
+ /**
34
+ * Traverse fiber tree bottom-up (children first, then parent).
35
+ */
36
+ export declare function traverseFiberBottomUp(fiber: FiberNode | null, callback: (fiber: FiberNode) => void | Promise<void>): Promise<void>;
37
+ /**
38
+ * Get the number of hooks on a fiber.
39
+ */
40
+ export declare function getHookCount(fiber: FiberNode): number;
41
+ /**
42
+ * Get hook at a specific index.
43
+ */
44
+ export declare function getHookAtIndex(fiber: FiberNode, index: number): HookState | null;
45
+ /**
46
+ * Create a debug string representation of a fiber.
47
+ */
48
+ export declare function fiberToDebugString(fiber: FiberNode): string;
49
+ /**
50
+ * Create a debug tree representation.
51
+ */
52
+ export declare function fiberTreeToDebugString(fiber: FiberNode | null, indent?: number): string;
53
+ /**
54
+ * Find the nearest renderer in the fiber tree.
55
+ */
56
+ export declare function findNearestRenderer(fiber: FiberNode): ContentRenderer | null;
57
+ /**
58
+ * Set renderer on fiber and mark for propagation.
59
+ */
60
+ export declare function setFiberRenderer(fiber: FiberNode, renderer: ContentRenderer): void;
61
+ //# sourceMappingURL=fiber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber.d.ts","sourceRoot":"","sources":["../../src/compiler/fiber.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,GAAE,MAAM,GAAG,MAAM,GAAG,IAAW,GACjC,SAAS,CAuCX;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,SAAS,CAiCX;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,SAAS,CAgB1F;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EAAE,CAUnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,SAAS,GAAG,IAAI,EAC5B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1B,SAAS,GAAG,IAAI,CAWlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAUrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAUhF;AAsBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,SAAI,GAAG,MAAM,CAalF;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,eAAe,GAAG,IAAI,CAW5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAElF"}