@agentick/core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (626) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +875 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/.tsbuildinfo.build +1 -0
  5. package/dist/agent.d.ts +32 -0
  6. package/dist/agent.d.ts.map +1 -0
  7. package/dist/agent.js +26 -0
  8. package/dist/agent.js.map +1 -0
  9. package/dist/agentick-instance.d.ts +285 -0
  10. package/dist/agentick-instance.d.ts.map +1 -0
  11. package/dist/agentick-instance.js +700 -0
  12. package/dist/agentick-instance.js.map +1 -0
  13. package/dist/aidk-instance.d.ts +294 -0
  14. package/dist/aidk-instance.d.ts.map +1 -0
  15. package/dist/aidk-instance.js +340 -0
  16. package/dist/aidk-instance.js.map +1 -0
  17. package/dist/app/session-store.d.ts +57 -0
  18. package/dist/app/session-store.d.ts.map +1 -0
  19. package/dist/app/session-store.js +87 -0
  20. package/dist/app/session-store.js.map +1 -0
  21. package/dist/app/session.d.ts +209 -0
  22. package/dist/app/session.d.ts.map +1 -0
  23. package/dist/app/session.js +2131 -0
  24. package/dist/app/session.js.map +1 -0
  25. package/dist/app/sqlite-session-store.d.ts +60 -0
  26. package/dist/app/sqlite-session-store.d.ts.map +1 -0
  27. package/dist/app/sqlite-session-store.js +234 -0
  28. package/dist/app/sqlite-session-store.js.map +1 -0
  29. package/dist/app/types.d.ts +1461 -0
  30. package/dist/app/types.d.ts.map +1 -0
  31. package/dist/app/types.js +14 -0
  32. package/dist/app/types.js.map +1 -0
  33. package/dist/app.d.ts +79 -0
  34. package/dist/app.d.ts.map +1 -0
  35. package/dist/app.js +83 -0
  36. package/dist/app.js.map +1 -0
  37. package/dist/channels/adapters/index.d.ts +2 -0
  38. package/dist/channels/adapters/index.d.ts.map +1 -0
  39. package/dist/channels/adapters/index.js +2 -0
  40. package/dist/channels/adapters/index.js.map +1 -0
  41. package/dist/channels/adapters/redis.d.ts +77 -0
  42. package/dist/channels/adapters/redis.d.ts.map +1 -0
  43. package/dist/channels/adapters/redis.js +259 -0
  44. package/dist/channels/adapters/redis.js.map +1 -0
  45. package/dist/channels/index.d.ts +38 -0
  46. package/dist/channels/index.d.ts.map +1 -0
  47. package/dist/channels/index.js +38 -0
  48. package/dist/channels/index.js.map +1 -0
  49. package/dist/channels/service.d.ts +684 -0
  50. package/dist/channels/service.d.ts.map +1 -0
  51. package/dist/channels/service.js +870 -0
  52. package/dist/channels/service.js.map +1 -0
  53. package/dist/channels/transports/index.d.ts +4 -0
  54. package/dist/channels/transports/index.d.ts.map +1 -0
  55. package/dist/channels/transports/index.js +4 -0
  56. package/dist/channels/transports/index.js.map +1 -0
  57. package/dist/channels/transports/socketio.d.ts +98 -0
  58. package/dist/channels/transports/socketio.d.ts.map +1 -0
  59. package/dist/channels/transports/socketio.js +246 -0
  60. package/dist/channels/transports/socketio.js.map +1 -0
  61. package/dist/channels/transports/streamable-http.d.ts +107 -0
  62. package/dist/channels/transports/streamable-http.d.ts.map +1 -0
  63. package/dist/channels/transports/streamable-http.js +353 -0
  64. package/dist/channels/transports/streamable-http.js.map +1 -0
  65. package/dist/channels/transports/websocket.d.ts +117 -0
  66. package/dist/channels/transports/websocket.d.ts.map +1 -0
  67. package/dist/channels/transports/websocket.js +416 -0
  68. package/dist/channels/transports/websocket.js.map +1 -0
  69. package/dist/com/index.d.ts +29 -0
  70. package/dist/com/index.d.ts.map +1 -0
  71. package/dist/com/index.js +29 -0
  72. package/dist/com/index.js.map +1 -0
  73. package/dist/com/object-model.d.ts +634 -0
  74. package/dist/com/object-model.d.ts.map +1 -0
  75. package/dist/com/object-model.js +963 -0
  76. package/dist/com/object-model.js.map +1 -0
  77. package/dist/com/types.d.ts +192 -0
  78. package/dist/com/types.d.ts.map +1 -0
  79. package/dist/com/types.js +1 -0
  80. package/dist/com/types.js.map +1 -0
  81. package/dist/compiler/collector.d.ts +16 -0
  82. package/dist/compiler/collector.d.ts.map +1 -0
  83. package/dist/compiler/collector.js +388 -0
  84. package/dist/compiler/collector.js.map +1 -0
  85. package/dist/compiler/content-block-registry.d.ts +11 -0
  86. package/dist/compiler/content-block-registry.d.ts.map +1 -0
  87. package/dist/compiler/content-block-registry.js +312 -0
  88. package/dist/compiler/content-block-registry.js.map +1 -0
  89. package/dist/compiler/extractors.d.ts +68 -0
  90. package/dist/compiler/extractors.d.ts.map +1 -0
  91. package/dist/compiler/extractors.js +547 -0
  92. package/dist/compiler/extractors.js.map +1 -0
  93. package/dist/compiler/fiber-compiler.d.ts +203 -0
  94. package/dist/compiler/fiber-compiler.d.ts.map +1 -0
  95. package/dist/compiler/fiber-compiler.js +498 -0
  96. package/dist/compiler/fiber-compiler.js.map +1 -0
  97. package/dist/compiler/fiber.d.ts +61 -0
  98. package/dist/compiler/fiber.d.ts.map +1 -0
  99. package/dist/compiler/fiber.js +244 -0
  100. package/dist/compiler/fiber.js.map +1 -0
  101. package/dist/compiler/index.d.ts +18 -0
  102. package/dist/compiler/index.d.ts.map +1 -0
  103. package/dist/compiler/index.js +38 -0
  104. package/dist/compiler/index.js.map +1 -0
  105. package/dist/compiler/scheduler.d.ts +95 -0
  106. package/dist/compiler/scheduler.d.ts.map +1 -0
  107. package/dist/compiler/scheduler.js +138 -0
  108. package/dist/compiler/scheduler.js.map +1 -0
  109. package/dist/compiler/structure-renderer.d.ts +42 -0
  110. package/dist/compiler/structure-renderer.d.ts.map +1 -0
  111. package/dist/compiler/structure-renderer.js +189 -0
  112. package/dist/compiler/structure-renderer.js.map +1 -0
  113. package/dist/compiler/types.d.ts +96 -0
  114. package/dist/compiler/types.d.ts.map +1 -0
  115. package/dist/compiler/types.js +19 -0
  116. package/dist/compiler/types.js.map +1 -0
  117. package/dist/component/component-hooks.d.ts +68 -0
  118. package/dist/component/component-hooks.d.ts.map +1 -0
  119. package/dist/component/component-hooks.js +112 -0
  120. package/dist/component/component-hooks.js.map +1 -0
  121. package/dist/component/component.d.ts +314 -0
  122. package/dist/component/component.d.ts.map +1 -0
  123. package/dist/component/component.js +64 -0
  124. package/dist/component/component.js.map +1 -0
  125. package/dist/component/index.d.ts +47 -0
  126. package/dist/component/index.d.ts.map +1 -0
  127. package/dist/component/index.js +47 -0
  128. package/dist/component/index.js.map +1 -0
  129. package/dist/component/tentickle-component.d.ts +185 -0
  130. package/dist/component/tentickle-component.d.ts.map +1 -0
  131. package/dist/component/tentickle-component.js +182 -0
  132. package/dist/component/tentickle-component.js.map +1 -0
  133. package/dist/content/index.d.ts +12 -0
  134. package/dist/content/index.d.ts.map +1 -0
  135. package/dist/content/index.js +17 -0
  136. package/dist/content/index.js.map +1 -0
  137. package/dist/context/index.d.ts +51 -0
  138. package/dist/context/index.d.ts.map +1 -0
  139. package/dist/context/index.js +69 -0
  140. package/dist/context/index.js.map +1 -0
  141. package/dist/core/channel-helpers.d.ts +31 -0
  142. package/dist/core/channel-helpers.d.ts.map +1 -0
  143. package/dist/core/channel-helpers.js +62 -0
  144. package/dist/core/channel-helpers.js.map +1 -0
  145. package/dist/core/channel.d.ts +164 -0
  146. package/dist/core/channel.d.ts.map +1 -0
  147. package/dist/core/channel.js +199 -0
  148. package/dist/core/channel.js.map +1 -0
  149. package/dist/core/context.d.ts +412 -0
  150. package/dist/core/context.d.ts.map +1 -0
  151. package/dist/core/context.js +290 -0
  152. package/dist/core/context.js.map +1 -0
  153. package/dist/core/event-buffer.d.ts +212 -0
  154. package/dist/core/event-buffer.d.ts.map +1 -0
  155. package/dist/core/event-buffer.js +346 -0
  156. package/dist/core/event-buffer.js.map +1 -0
  157. package/dist/core/execution-helpers.d.ts +179 -0
  158. package/dist/core/execution-helpers.d.ts.map +1 -0
  159. package/dist/core/execution-helpers.js +212 -0
  160. package/dist/core/execution-helpers.js.map +1 -0
  161. package/dist/core/execution-tracker.d.ts +53 -0
  162. package/dist/core/execution-tracker.d.ts.map +1 -0
  163. package/dist/core/execution-tracker.js +309 -0
  164. package/dist/core/execution-tracker.js.map +1 -0
  165. package/dist/core/index.d.ts +58 -0
  166. package/dist/core/index.d.ts.map +1 -0
  167. package/dist/core/index.js +58 -0
  168. package/dist/core/index.js.map +1 -0
  169. package/dist/core/logger.d.ts +341 -0
  170. package/dist/core/logger.d.ts.map +1 -0
  171. package/dist/core/logger.js +346 -0
  172. package/dist/core/logger.js.map +1 -0
  173. package/dist/core/metrics-helpers.d.ts +40 -0
  174. package/dist/core/metrics-helpers.d.ts.map +1 -0
  175. package/dist/core/metrics-helpers.js +72 -0
  176. package/dist/core/metrics-helpers.js.map +1 -0
  177. package/dist/core/otel-provider.d.ts +54 -0
  178. package/dist/core/otel-provider.d.ts.map +1 -0
  179. package/dist/core/otel-provider.js +107 -0
  180. package/dist/core/otel-provider.js.map +1 -0
  181. package/dist/core/procedure-graph.d.ts +136 -0
  182. package/dist/core/procedure-graph.d.ts.map +1 -0
  183. package/dist/core/procedure-graph.js +272 -0
  184. package/dist/core/procedure-graph.js.map +1 -0
  185. package/dist/core/procedure.d.ts +755 -0
  186. package/dist/core/procedure.d.ts.map +1 -0
  187. package/dist/core/procedure.js +899 -0
  188. package/dist/core/procedure.js.map +1 -0
  189. package/dist/core/stream.d.ts +106 -0
  190. package/dist/core/stream.d.ts.map +1 -0
  191. package/dist/core/stream.js +186 -0
  192. package/dist/core/stream.js.map +1 -0
  193. package/dist/core/telemetry.d.ts +182 -0
  194. package/dist/core/telemetry.d.ts.map +1 -0
  195. package/dist/core/telemetry.js +124 -0
  196. package/dist/core/telemetry.js.map +1 -0
  197. package/dist/engine/client-tool-coordinator.d.ts +50 -0
  198. package/dist/engine/client-tool-coordinator.d.ts.map +1 -0
  199. package/dist/engine/client-tool-coordinator.js +121 -0
  200. package/dist/engine/client-tool-coordinator.js.map +1 -0
  201. package/dist/engine/engine-events.d.ts +117 -0
  202. package/dist/engine/engine-events.d.ts.map +1 -0
  203. package/dist/engine/engine-events.js +178 -0
  204. package/dist/engine/engine-events.js.map +1 -0
  205. package/dist/engine/engine-response.d.ts +48 -0
  206. package/dist/engine/engine-response.d.ts.map +1 -0
  207. package/dist/engine/engine-response.js +2 -0
  208. package/dist/engine/engine-response.js.map +1 -0
  209. package/dist/engine/execution-graph.d.ts +104 -0
  210. package/dist/engine/execution-graph.d.ts.map +1 -0
  211. package/dist/engine/execution-graph.js +257 -0
  212. package/dist/engine/execution-graph.js.map +1 -0
  213. package/dist/engine/execution-handle.d.ts +212 -0
  214. package/dist/engine/execution-handle.d.ts.map +1 -0
  215. package/dist/engine/execution-handle.js +602 -0
  216. package/dist/engine/execution-handle.js.map +1 -0
  217. package/dist/engine/execution-types.d.ts +248 -0
  218. package/dist/engine/execution-types.d.ts.map +1 -0
  219. package/dist/engine/execution-types.js +23 -0
  220. package/dist/engine/execution-types.js.map +1 -0
  221. package/dist/engine/index.d.ts +21 -0
  222. package/dist/engine/index.d.ts.map +1 -0
  223. package/dist/engine/index.js +23 -0
  224. package/dist/engine/index.js.map +1 -0
  225. package/dist/engine/tool-confirmation-coordinator.d.ts +74 -0
  226. package/dist/engine/tool-confirmation-coordinator.d.ts.map +1 -0
  227. package/dist/engine/tool-confirmation-coordinator.js +137 -0
  228. package/dist/engine/tool-confirmation-coordinator.js.map +1 -0
  229. package/dist/engine/tool-executor.d.ts +127 -0
  230. package/dist/engine/tool-executor.d.ts.map +1 -0
  231. package/dist/engine/tool-executor.js +363 -0
  232. package/dist/engine/tool-executor.js.map +1 -0
  233. package/dist/hibernation/index.d.ts +126 -0
  234. package/dist/hibernation/index.d.ts.map +1 -0
  235. package/dist/hibernation/index.js +127 -0
  236. package/dist/hibernation/index.js.map +1 -0
  237. package/dist/hooks/base-hook-registry.d.ts +41 -0
  238. package/dist/hooks/base-hook-registry.d.ts.map +1 -0
  239. package/dist/hooks/base-hook-registry.js +76 -0
  240. package/dist/hooks/base-hook-registry.js.map +1 -0
  241. package/dist/hooks/com-state.d.ts +40 -0
  242. package/dist/hooks/com-state.d.ts.map +1 -0
  243. package/dist/hooks/com-state.js +90 -0
  244. package/dist/hooks/com-state.js.map +1 -0
  245. package/dist/hooks/context-info.d.ts +139 -0
  246. package/dist/hooks/context-info.d.ts.map +1 -0
  247. package/dist/hooks/context-info.js +115 -0
  248. package/dist/hooks/context-info.js.map +1 -0
  249. package/dist/hooks/context-internal.d.ts +21 -0
  250. package/dist/hooks/context-internal.d.ts.map +1 -0
  251. package/dist/hooks/context-internal.js +20 -0
  252. package/dist/hooks/context-internal.js.map +1 -0
  253. package/dist/hooks/context.d.ts +64 -0
  254. package/dist/hooks/context.d.ts.map +1 -0
  255. package/dist/hooks/context.js +83 -0
  256. package/dist/hooks/context.js.map +1 -0
  257. package/dist/hooks/data.d.ts +33 -0
  258. package/dist/hooks/data.d.ts.map +1 -0
  259. package/dist/hooks/data.js +84 -0
  260. package/dist/hooks/data.js.map +1 -0
  261. package/dist/hooks/formatter-context.d.ts +34 -0
  262. package/dist/hooks/formatter-context.d.ts.map +1 -0
  263. package/dist/hooks/formatter-context.js +34 -0
  264. package/dist/hooks/formatter-context.js.map +1 -0
  265. package/dist/hooks/hook-registry.d.ts +45 -0
  266. package/dist/hooks/hook-registry.d.ts.map +1 -0
  267. package/dist/hooks/hook-registry.js +109 -0
  268. package/dist/hooks/hook-registry.js.map +1 -0
  269. package/dist/hooks/index.d.ts +20 -0
  270. package/dist/hooks/index.d.ts.map +1 -0
  271. package/dist/hooks/index.js +47 -0
  272. package/dist/hooks/index.js.map +1 -0
  273. package/dist/hooks/knob.d.ts +87 -0
  274. package/dist/hooks/knob.d.ts.map +1 -0
  275. package/dist/hooks/knob.js +129 -0
  276. package/dist/hooks/knob.js.map +1 -0
  277. package/dist/hooks/knobs-component.d.ts +70 -0
  278. package/dist/hooks/knobs-component.d.ts.map +1 -0
  279. package/dist/hooks/knobs-component.js +300 -0
  280. package/dist/hooks/knobs-component.js.map +1 -0
  281. package/dist/hooks/lifecycle.d.ts +158 -0
  282. package/dist/hooks/lifecycle.d.ts.map +1 -0
  283. package/dist/hooks/lifecycle.js +217 -0
  284. package/dist/hooks/lifecycle.js.map +1 -0
  285. package/dist/hooks/message-context.d.ts +101 -0
  286. package/dist/hooks/message-context.d.ts.map +1 -0
  287. package/dist/hooks/message-context.js +145 -0
  288. package/dist/hooks/message-context.js.map +1 -0
  289. package/dist/hooks/policy-context.d.ts.map +1 -0
  290. package/dist/hooks/runtime-context.d.ts +122 -0
  291. package/dist/hooks/runtime-context.d.ts.map +1 -0
  292. package/dist/hooks/runtime-context.js +149 -0
  293. package/dist/hooks/runtime-context.js.map +1 -0
  294. package/dist/hooks/signal.d.ts +267 -0
  295. package/dist/hooks/signal.d.ts.map +1 -0
  296. package/dist/hooks/signal.js +825 -0
  297. package/dist/hooks/signal.js.map +1 -0
  298. package/dist/hooks/types.d.ts +179 -0
  299. package/dist/hooks/types.d.ts.map +1 -0
  300. package/dist/hooks/types.js +5 -0
  301. package/dist/hooks/types.js.map +1 -0
  302. package/dist/index.d.ts +20 -0
  303. package/dist/index.d.ts.map +1 -0
  304. package/dist/index.js +50 -0
  305. package/dist/index.js.map +1 -0
  306. package/dist/jsx/components/agent.d.ts +64 -0
  307. package/dist/jsx/components/agent.d.ts.map +1 -0
  308. package/dist/jsx/components/agent.js +80 -0
  309. package/dist/jsx/components/agent.js.map +1 -0
  310. package/dist/jsx/components/complete.d.ts +65 -0
  311. package/dist/jsx/components/complete.d.ts.map +1 -0
  312. package/dist/jsx/components/complete.js +64 -0
  313. package/dist/jsx/components/complete.js.map +1 -0
  314. package/dist/jsx/components/content.d.ts +98 -0
  315. package/dist/jsx/components/content.d.ts.map +1 -0
  316. package/dist/jsx/components/content.js +51 -0
  317. package/dist/jsx/components/content.js.map +1 -0
  318. package/dist/jsx/components/harness.d.ts +118 -0
  319. package/dist/jsx/components/harness.d.ts.map +1 -0
  320. package/dist/jsx/components/harness.js +117 -0
  321. package/dist/jsx/components/harness.js.map +1 -0
  322. package/dist/jsx/components/index.d.ts +11 -0
  323. package/dist/jsx/components/index.d.ts.map +1 -0
  324. package/dist/jsx/components/index.js +11 -0
  325. package/dist/jsx/components/index.js.map +1 -0
  326. package/dist/jsx/components/markdown.d.ts +31 -0
  327. package/dist/jsx/components/markdown.d.ts.map +1 -0
  328. package/dist/jsx/components/markdown.js +17 -0
  329. package/dist/jsx/components/markdown.js.map +1 -0
  330. package/dist/jsx/components/messages.d.ts +283 -0
  331. package/dist/jsx/components/messages.d.ts.map +1 -0
  332. package/dist/jsx/components/messages.js +257 -0
  333. package/dist/jsx/components/messages.js.map +1 -0
  334. package/dist/jsx/components/model.d.ts +94 -0
  335. package/dist/jsx/components/model.d.ts.map +1 -0
  336. package/dist/jsx/components/model.js +96 -0
  337. package/dist/jsx/components/model.js.map +1 -0
  338. package/dist/jsx/components/primitives.d.ts +117 -0
  339. package/dist/jsx/components/primitives.d.ts.map +1 -0
  340. package/dist/jsx/components/primitives.js +83 -0
  341. package/dist/jsx/components/primitives.js.map +1 -0
  342. package/dist/jsx/components/renderer.d.ts +24 -0
  343. package/dist/jsx/components/renderer.d.ts.map +1 -0
  344. package/dist/jsx/components/renderer.js +11 -0
  345. package/dist/jsx/components/renderer.js.map +1 -0
  346. package/dist/jsx/components/semantic.d.ts +155 -0
  347. package/dist/jsx/components/semantic.d.ts.map +1 -0
  348. package/dist/jsx/components/semantic.js +39 -0
  349. package/dist/jsx/components/semantic.js.map +1 -0
  350. package/dist/jsx/components/timeline.d.ts +157 -0
  351. package/dist/jsx/components/timeline.d.ts.map +1 -0
  352. package/dist/jsx/components/timeline.js +357 -0
  353. package/dist/jsx/components/timeline.js.map +1 -0
  354. package/dist/jsx/components/token-budget.d.ts +70 -0
  355. package/dist/jsx/components/token-budget.d.ts.map +1 -0
  356. package/dist/jsx/components/token-budget.js +135 -0
  357. package/dist/jsx/components/token-budget.js.map +1 -0
  358. package/dist/jsx/components/xml.d.ts +27 -0
  359. package/dist/jsx/components/xml.d.ts.map +1 -0
  360. package/dist/jsx/components/xml.js +17 -0
  361. package/dist/jsx/components/xml.js.map +1 -0
  362. package/dist/jsx/index.d.ts +58 -0
  363. package/dist/jsx/index.d.ts.map +1 -0
  364. package/dist/jsx/index.js +59 -0
  365. package/dist/jsx/index.js.map +1 -0
  366. package/dist/jsx/jsx-runtime.d.ts +370 -0
  367. package/dist/jsx/jsx-runtime.d.ts.map +1 -0
  368. package/dist/jsx/jsx-runtime.js +79 -0
  369. package/dist/jsx/jsx-runtime.js.map +1 -0
  370. package/dist/jsx/jsx-types.d.ts +23 -0
  371. package/dist/jsx/jsx-types.d.ts.map +1 -0
  372. package/dist/jsx/jsx-types.js +1 -0
  373. package/dist/jsx/jsx-types.js.map +1 -0
  374. package/dist/mcp/client.d.ts +46 -0
  375. package/dist/mcp/client.d.ts.map +1 -0
  376. package/dist/mcp/client.js +138 -0
  377. package/dist/mcp/client.js.map +1 -0
  378. package/dist/mcp/component.d.ts +95 -0
  379. package/dist/mcp/component.d.ts.map +1 -0
  380. package/dist/mcp/component.js +185 -0
  381. package/dist/mcp/component.js.map +1 -0
  382. package/dist/mcp/create-mcp-tool.d.ts +191 -0
  383. package/dist/mcp/create-mcp-tool.d.ts.map +1 -0
  384. package/dist/mcp/create-mcp-tool.js +228 -0
  385. package/dist/mcp/create-mcp-tool.js.map +1 -0
  386. package/dist/mcp/index.d.ts +49 -0
  387. package/dist/mcp/index.d.ts.map +1 -0
  388. package/dist/mcp/index.js +48 -0
  389. package/dist/mcp/index.js.map +1 -0
  390. package/dist/mcp/service.d.ts +39 -0
  391. package/dist/mcp/service.d.ts.map +1 -0
  392. package/dist/mcp/service.js +77 -0
  393. package/dist/mcp/service.js.map +1 -0
  394. package/dist/mcp/tool.d.ts +55 -0
  395. package/dist/mcp/tool.d.ts.map +1 -0
  396. package/dist/mcp/tool.js +119 -0
  397. package/dist/mcp/tool.js.map +1 -0
  398. package/dist/mcp/types.d.ts +72 -0
  399. package/dist/mcp/types.d.ts.map +1 -0
  400. package/dist/mcp/types.js +6 -0
  401. package/dist/mcp/types.js.map +1 -0
  402. package/dist/middleware/defaults.d.ts +9 -0
  403. package/dist/middleware/defaults.d.ts.map +1 -0
  404. package/dist/middleware/defaults.js +47 -0
  405. package/dist/middleware/defaults.js.map +1 -0
  406. package/dist/model/adapter-helpers.d.ts +161 -0
  407. package/dist/model/adapter-helpers.d.ts.map +1 -0
  408. package/dist/model/adapter-helpers.js +351 -0
  409. package/dist/model/adapter-helpers.js.map +1 -0
  410. package/dist/model/adapter.d.ts +399 -0
  411. package/dist/model/adapter.d.ts.map +1 -0
  412. package/dist/model/adapter.js +497 -0
  413. package/dist/model/adapter.js.map +1 -0
  414. package/dist/model/index.d.ts +54 -0
  415. package/dist/model/index.d.ts.map +1 -0
  416. package/dist/model/index.js +55 -0
  417. package/dist/model/index.js.map +1 -0
  418. package/dist/model/model-hooks.d.ts +45 -0
  419. package/dist/model/model-hooks.d.ts.map +1 -0
  420. package/dist/model/model-hooks.js +24 -0
  421. package/dist/model/model-hooks.js.map +1 -0
  422. package/dist/model/model.d.ts +302 -0
  423. package/dist/model/model.d.ts.map +1 -0
  424. package/dist/model/model.js +20 -0
  425. package/dist/model/model.js.map +1 -0
  426. package/dist/model/simple-adapter.d.ts +176 -0
  427. package/dist/model/simple-adapter.d.ts.map +1 -0
  428. package/dist/model/simple-adapter.js +264 -0
  429. package/dist/model/simple-adapter.js.map +1 -0
  430. package/dist/model/stream-accumulator.d.ts +284 -0
  431. package/dist/model/stream-accumulator.d.ts.map +1 -0
  432. package/dist/model/stream-accumulator.js +532 -0
  433. package/dist/model/stream-accumulator.js.map +1 -0
  434. package/dist/model/utils/index.d.ts +2 -0
  435. package/dist/model/utils/index.d.ts.map +1 -0
  436. package/dist/model/utils/index.js +2 -0
  437. package/dist/model/utils/index.js.map +1 -0
  438. package/dist/model/utils/language-model.d.ts +26 -0
  439. package/dist/model/utils/language-model.d.ts.map +1 -0
  440. package/dist/model/utils/language-model.js +706 -0
  441. package/dist/model/utils/language-model.js.map +1 -0
  442. package/dist/procedure/index.d.ts +20 -0
  443. package/dist/procedure/index.d.ts.map +1 -0
  444. package/dist/procedure/index.js +19 -0
  445. package/dist/procedure/index.js.map +1 -0
  446. package/dist/reconciler/devtools-bridge.d.ts +40 -0
  447. package/dist/reconciler/devtools-bridge.d.ts.map +1 -0
  448. package/dist/reconciler/devtools-bridge.js +79 -0
  449. package/dist/reconciler/devtools-bridge.js.map +1 -0
  450. package/dist/reconciler/host-config.d.ts +39 -0
  451. package/dist/reconciler/host-config.d.ts.map +1 -0
  452. package/dist/reconciler/host-config.js +195 -0
  453. package/dist/reconciler/host-config.js.map +1 -0
  454. package/dist/reconciler/index.d.ts +7 -0
  455. package/dist/reconciler/index.d.ts.map +1 -0
  456. package/dist/reconciler/index.js +7 -0
  457. package/dist/reconciler/index.js.map +1 -0
  458. package/dist/reconciler/reconciler.d.ts +47 -0
  459. package/dist/reconciler/reconciler.d.ts.map +1 -0
  460. package/dist/reconciler/reconciler.js +89 -0
  461. package/dist/reconciler/reconciler.js.map +1 -0
  462. package/dist/reconciler/types.d.ts +86 -0
  463. package/dist/reconciler/types.d.ts.map +1 -0
  464. package/dist/reconciler/types.js +37 -0
  465. package/dist/reconciler/types.js.map +1 -0
  466. package/dist/renderers/base.d.ts +98 -0
  467. package/dist/renderers/base.d.ts.map +1 -0
  468. package/dist/renderers/base.js +82 -0
  469. package/dist/renderers/base.js.map +1 -0
  470. package/dist/renderers/index.d.ts +31 -0
  471. package/dist/renderers/index.d.ts.map +1 -0
  472. package/dist/renderers/index.js +31 -0
  473. package/dist/renderers/index.js.map +1 -0
  474. package/dist/renderers/markdown.d.ts +48 -0
  475. package/dist/renderers/markdown.d.ts.map +1 -0
  476. package/dist/renderers/markdown.js +432 -0
  477. package/dist/renderers/markdown.js.map +1 -0
  478. package/dist/renderers/types.d.ts +7 -0
  479. package/dist/renderers/types.d.ts.map +1 -0
  480. package/dist/renderers/types.js +7 -0
  481. package/dist/renderers/types.js.map +1 -0
  482. package/dist/renderers/xml.d.ts +49 -0
  483. package/dist/renderers/xml.d.ts.map +1 -0
  484. package/dist/renderers/xml.js +444 -0
  485. package/dist/renderers/xml.js.map +1 -0
  486. package/dist/state/boundary.d.ts +347 -0
  487. package/dist/state/boundary.d.ts.map +1 -0
  488. package/dist/state/boundary.js +341 -0
  489. package/dist/state/boundary.js.map +1 -0
  490. package/dist/state/context.d.ts +138 -0
  491. package/dist/state/context.d.ts.map +1 -0
  492. package/dist/state/context.js +139 -0
  493. package/dist/state/context.js.map +1 -0
  494. package/dist/state/hooks.d.ts +798 -0
  495. package/dist/state/hooks.d.ts.map +1 -0
  496. package/dist/state/hooks.js +1437 -0
  497. package/dist/state/hooks.js.map +1 -0
  498. package/dist/state/index.d.ts +72 -0
  499. package/dist/state/index.d.ts.map +1 -0
  500. package/dist/state/index.js +73 -0
  501. package/dist/state/index.js.map +1 -0
  502. package/dist/state/signal.d.ts +223 -0
  503. package/dist/state/signal.d.ts.map +1 -0
  504. package/dist/state/signal.js +699 -0
  505. package/dist/state/signal.js.map +1 -0
  506. package/dist/state/use-state.d.ts +210 -0
  507. package/dist/state/use-state.d.ts.map +1 -0
  508. package/dist/state/use-state.js +327 -0
  509. package/dist/state/use-state.js.map +1 -0
  510. package/dist/tentickle-instance.d.ts +285 -0
  511. package/dist/tentickle-instance.d.ts.map +1 -0
  512. package/dist/tentickle-instance.js +700 -0
  513. package/dist/tentickle-instance.js.map +1 -0
  514. package/dist/testing/act.d.ts +59 -0
  515. package/dist/testing/act.d.ts.map +1 -0
  516. package/dist/testing/act.js +92 -0
  517. package/dist/testing/act.js.map +1 -0
  518. package/dist/testing/async-helpers.d.ts +99 -0
  519. package/dist/testing/async-helpers.d.ts.map +1 -0
  520. package/dist/testing/async-helpers.js +193 -0
  521. package/dist/testing/async-helpers.js.map +1 -0
  522. package/dist/testing/compile-agent.d.ts +101 -0
  523. package/dist/testing/compile-agent.d.ts.map +1 -0
  524. package/dist/testing/compile-agent.js +136 -0
  525. package/dist/testing/compile-agent.js.map +1 -0
  526. package/dist/testing/index.d.ts +57 -0
  527. package/dist/testing/index.d.ts.map +1 -0
  528. package/dist/testing/index.js +59 -0
  529. package/dist/testing/index.js.map +1 -0
  530. package/dist/testing/mock-app.d.ts +163 -0
  531. package/dist/testing/mock-app.d.ts.map +1 -0
  532. package/dist/testing/mock-app.js +393 -0
  533. package/dist/testing/mock-app.js.map +1 -0
  534. package/dist/testing/mocks.d.ts +142 -0
  535. package/dist/testing/mocks.d.ts.map +1 -0
  536. package/dist/testing/mocks.js +191 -0
  537. package/dist/testing/mocks.js.map +1 -0
  538. package/dist/testing/render-agent.d.ts +146 -0
  539. package/dist/testing/render-agent.d.ts.map +1 -0
  540. package/dist/testing/render-agent.js +200 -0
  541. package/dist/testing/render-agent.js.map +1 -0
  542. package/dist/testing/test-adapter.d.ts +157 -0
  543. package/dist/testing/test-adapter.d.ts.map +1 -0
  544. package/dist/testing/test-adapter.js +297 -0
  545. package/dist/testing/test-adapter.js.map +1 -0
  546. package/dist/testing/test-model.d.ts +132 -0
  547. package/dist/testing/test-model.d.ts.map +1 -0
  548. package/dist/testing/test-model.js +260 -0
  549. package/dist/testing/test-model.js.map +1 -0
  550. package/dist/tool/index.d.ts +61 -0
  551. package/dist/tool/index.d.ts.map +1 -0
  552. package/dist/tool/index.js +63 -0
  553. package/dist/tool/index.js.map +1 -0
  554. package/dist/tool/tool-hooks.d.ts +45 -0
  555. package/dist/tool/tool-hooks.d.ts.map +1 -0
  556. package/dist/tool/tool-hooks.js +35 -0
  557. package/dist/tool/tool-hooks.js.map +1 -0
  558. package/dist/tool/tool.d.ts +403 -0
  559. package/dist/tool/tool.d.ts.map +1 -0
  560. package/dist/tool/tool.js +176 -0
  561. package/dist/tool/tool.js.map +1 -0
  562. package/dist/types.d.ts +442 -0
  563. package/dist/types.d.ts.map +1 -0
  564. package/dist/types.js +97 -0
  565. package/dist/types.js.map +1 -0
  566. package/dist/utils/abort-utils.d.ts +5 -0
  567. package/dist/utils/abort-utils.d.ts.map +1 -0
  568. package/dist/utils/abort-utils.js +50 -0
  569. package/dist/utils/abort-utils.js.map +1 -0
  570. package/dist/utils/classify-error.d.ts +19 -0
  571. package/dist/utils/classify-error.d.ts.map +1 -0
  572. package/dist/utils/classify-error.js +77 -0
  573. package/dist/utils/classify-error.js.map +1 -0
  574. package/dist/utils/index.d.ts +21 -0
  575. package/dist/utils/index.d.ts.map +1 -0
  576. package/dist/utils/index.js +21 -0
  577. package/dist/utils/index.js.map +1 -0
  578. package/dist/utils/normalization.d.ts +6 -0
  579. package/dist/utils/normalization.d.ts.map +1 -0
  580. package/dist/utils/normalization.js +103 -0
  581. package/dist/utils/normalization.js.map +1 -0
  582. package/dist/utils/registry.d.ts +15 -0
  583. package/dist/utils/registry.d.ts.map +1 -0
  584. package/dist/utils/registry.js +28 -0
  585. package/dist/utils/registry.js.map +1 -0
  586. package/dist/utils/schema.d.ts +7 -0
  587. package/dist/utils/schema.d.ts.map +1 -0
  588. package/dist/utils/schema.js +13 -0
  589. package/dist/utils/schema.js.map +1 -0
  590. package/dist/utils/token-estimate.d.ts +87 -0
  591. package/dist/utils/token-estimate.d.ts.map +1 -0
  592. package/dist/utils/token-estimate.js +199 -0
  593. package/dist/utils/token-estimate.js.map +1 -0
  594. package/dist/v2/reconciler/host-config.d.ts +31 -0
  595. package/dist/v2/reconciler/host-config.d.ts.map +1 -0
  596. package/dist/v2/reconciler/host-config.js +197 -0
  597. package/dist/v2/reconciler/host-config.js.map +1 -0
  598. package/dist/v2/reconciler/index.d.ts +7 -0
  599. package/dist/v2/reconciler/index.d.ts.map +1 -0
  600. package/dist/v2/reconciler/index.js +7 -0
  601. package/dist/v2/reconciler/index.js.map +1 -0
  602. package/dist/v2/reconciler/reconciler.d.ts +39 -0
  603. package/dist/v2/reconciler/reconciler.d.ts.map +1 -0
  604. package/dist/v2/reconciler/reconciler.js +54 -0
  605. package/dist/v2/reconciler/reconciler.js.map +1 -0
  606. package/dist/v2/reconciler/types.d.ts +64 -0
  607. package/dist/v2/reconciler/types.d.ts.map +1 -0
  608. package/dist/v2/reconciler/types.js +20 -0
  609. package/dist/v2/reconciler/types.js.map +1 -0
  610. package/dist/v2/renderers/index.d.ts +7 -0
  611. package/dist/v2/renderers/index.d.ts.map +1 -0
  612. package/dist/v2/renderers/index.js +7 -0
  613. package/dist/v2/renderers/index.js.map +1 -0
  614. package/dist/v2/renderers/markdown.d.ts +16 -0
  615. package/dist/v2/renderers/markdown.d.ts.map +1 -0
  616. package/dist/v2/renderers/markdown.js +65 -0
  617. package/dist/v2/renderers/markdown.js.map +1 -0
  618. package/dist/v2/renderers/types.d.ts +26 -0
  619. package/dist/v2/renderers/types.d.ts.map +1 -0
  620. package/dist/v2/renderers/types.js +6 -0
  621. package/dist/v2/renderers/types.js.map +1 -0
  622. package/dist/v2/renderers/xml.d.ts +17 -0
  623. package/dist/v2/renderers/xml.d.ts.map +1 -0
  624. package/dist/v2/renderers/xml.js +73 -0
  625. package/dist/v2/renderers/xml.js.map +1 -0
  626. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/state/signal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * State management for EngineComponent.
3
+ *
4
+ * Two layers of state:
5
+ * 1. `signal()` - Component-local state (not shared)
6
+ * 2. `comState()` - COM state (shared across components, persisted)
7
+ *
8
+ * **Important:** Signals only work in class components (`EngineComponent`).
9
+ * They do NOT work in pure function components because function components
10
+ * are re-executed on every render, which would create new signals each time.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // ✅ Correct - use EngineComponent for stateful components
15
+ * class MyComponent extends Component {
16
+ * // Component-local state
17
+ * private count = signal(0);
18
+ *
19
+ * // COM state (shared, auto-bound to COM in onMount)
20
+ * private timeline = comState<COMTimelineEntry[]>('timeline', []);
21
+ *
22
+ * onTickStart(com, state) {
23
+ * this.timeline.update(t => [...t, ...state.current.timeline]);
24
+ * }
25
+ *
26
+ * render() {
27
+ * return <Timeline>{this.timeline().map(...)}</Timeline>;
28
+ * }
29
+ * }
30
+ *
31
+ * // ❌ Wrong - signals don't work in function components
32
+ * function BadComponent(props) {
33
+ * const count = signal(0); // Creates new signal every render!
34
+ * return <div>{count()}</div>;
35
+ * }
36
+ * ```
37
+ *
38
+ * @see docs/state-management.md for full documentation
39
+ */
40
+ import { type Signal, type ReadonlySignal } from "./signal";
41
+ import type { COM } from "../com/object-model";
42
+ /**
43
+ * Creates a COM-bound signal (shared state).
44
+ *
45
+ * COM state is:
46
+ * - Shared across all components
47
+ * - Persisted across ticks
48
+ * - Synced bidirectionally with COM
49
+ *
50
+ * The signal is automatically bound to COM in `onMount`.
51
+ * Before binding, it works as a local signal with the initial value.
52
+ *
53
+ * @param key The COM state key
54
+ * @param initialValue Initial value if COM state doesn't exist
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * class TimelineComponent extends Component {
59
+ * // Declared as property - auto-bound in onMount
60
+ * private timeline = comState<COMTimelineEntry[]>('timeline', []);
61
+ *
62
+ * onTickStart(com, state) {
63
+ * // Update signal - automatically syncs with COM
64
+ * this.timeline.update(t => [...t, ...state.current.timeline]);
65
+ * }
66
+ *
67
+ * render() {
68
+ * // Read from signal
69
+ * return <Timeline>{this.timeline().map(...)}</Timeline>;
70
+ * }
71
+ * }
72
+ * ```
73
+ */
74
+ export declare function comState<T>(key: string, initialValue: T): Signal<T>;
75
+ /**
76
+ * Creates a read-only signal that watches COM state.
77
+ *
78
+ * Use this when you want to observe state that another component owns,
79
+ * without being able to modify it. The signal updates automatically
80
+ * when the COM state changes.
81
+ *
82
+ * @param key The COM state key to watch
83
+ * @param defaultValue Default value if state doesn't exist
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * class ObserverComponent extends Component {
88
+ * // Watch timeline state owned by another component
89
+ * private timeline = watchComState<COMTimelineEntry[]>('timeline');
90
+ *
91
+ * // Can create derived values
92
+ * private messageCount = computed(() => this.timeline()?.length ?? 0);
93
+ *
94
+ * render() {
95
+ * // Can read
96
+ * return <div>Messages: {this.messageCount()}</div>;
97
+ *
98
+ * // Cannot write - no .set() or .update()
99
+ * // this.timeline.set([...]) // ❌ Not available
100
+ * }
101
+ * }
102
+ * ```
103
+ */
104
+ export declare function watchComState<T>(key: string, defaultValue?: T): ReadonlySignal<T | undefined>;
105
+ /**
106
+ * Shorthand for watchComState - creates a read-only signal watching COM state.
107
+ *
108
+ * @param key The COM state key to watch
109
+ * @param defaultValue Default value if state doesn't exist
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * class StatusComponent extends Component {
114
+ * // Watch state set by another component
115
+ * private status = watch<'idle' | 'loading' | 'done'>('status', 'idle');
116
+ *
117
+ * render() {
118
+ * return <div>Status: {this.status()}</div>;
119
+ * }
120
+ * }
121
+ * ```
122
+ */
123
+ export declare function watch<T>(key: string, defaultValue?: T): ReadonlySignal<T | undefined>;
124
+ /**
125
+ * Creates a signal bound to a component prop.
126
+ *
127
+ * The prop key is inferred from the property name, but can be overridden via config.
128
+ * The compiler automatically detects these signals and updates them when props change.
129
+ *
130
+ * Props signals are readonly from the component's perspective - only the compiler can update them.
131
+ *
132
+ * **Important:** Use explicit props interfaces with `Component<P>` for type checking.
133
+ * Required vs optional props are determined by your props interface.
134
+ *
135
+ * @param initialValue Optional default value if prop is not provided
136
+ * @param config Optional configuration
137
+ * @param config.key Override the inferred prop key (use when JSX prop name differs from property name)
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * interface MyComponentProps {
142
+ * title?: string; // Optional prop
143
+ * count?: number; // Optional prop
144
+ * name: string; // Required prop
145
+ * }
146
+ *
147
+ * class MyComponent extends Component<MyComponentProps> {
148
+ * // All use input() - required/optional comes from props interface
149
+ * title = input<string>();
150
+ * count = input<number>(0);
151
+ * name = input<string>(''); // Required because props interface says so
152
+ *
153
+ * render() {
154
+ * return <div>{this.title()}: {this.count()}</div>;
155
+ * }
156
+ * }
157
+ * ```
158
+ *
159
+ * @example JSX usage
160
+ * ```tsx
161
+ * <MyComponent name="World" /> // ✅ name is required
162
+ * <MyComponent /> // ❌ Error: name is required (from props interface)
163
+ * ```
164
+ */
165
+ export declare function input<T>(initialValue?: T, config?: {
166
+ key?: string;
167
+ }): ReadonlySignal<T | undefined>;
168
+ /**
169
+ * Binds all COM signals on a component instance.
170
+ * Called automatically in EngineComponent.onMount().
171
+ *
172
+ * Finds all properties marked with COM_SIGNAL_SYMBOL or WATCH_SIGNAL_SYMBOL
173
+ * and replaces them with signals bound to the actual COM state.
174
+ */
175
+ export declare function bindCOMSignals(instance: any, com: COM): void;
176
+ /**
177
+ * Cleans up all signals on a component instance.
178
+ * Called automatically in EngineComponent.onUnmount().
179
+ *
180
+ * Disposes all reactive primitives to prevent memory leaks:
181
+ * - signal() - clears subscribers
182
+ * - comState() - removes COM event listener, clears subscribers
183
+ * - watchComState() / watch() - removes COM event listener
184
+ * - computed() - unsubscribes from dependencies, clears subscribers
185
+ * - effect() - unsubscribes from dependencies, runs cleanup function
186
+ */
187
+ export declare function cleanupSignals(instance: any): void;
188
+ /**
189
+ * Manually dispose a single signal.
190
+ * Use when you need to clean up a signal before component unmount.
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * class MyComponent extends Component {
195
+ * private tempData = signal<Data | null>(null);
196
+ *
197
+ * async loadData() {
198
+ * this.tempData.set(await fetchData());
199
+ * }
200
+ *
201
+ * clearData() {
202
+ * // Dispose signal before component unmounts
203
+ * disposeSignal(this.tempData);
204
+ * this.tempData = signal(null); // Create fresh signal if needed
205
+ * }
206
+ * }
207
+ * ```
208
+ */
209
+ export declare function disposeSignal(sig: Signal<any>): void;
210
+ //# sourceMappingURL=use-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-state.d.ts","sourceRoot":"","sources":["../../src/state/use-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAUL,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAQnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAS7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAErF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,YAAY,CAAC,EAAE,CAAC,EAChB,MAAM,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAW/B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAsD5D;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAsClD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAIpD"}
@@ -0,0 +1,327 @@
1
+ /**
2
+ * State management for EngineComponent.
3
+ *
4
+ * Two layers of state:
5
+ * 1. `signal()` - Component-local state (not shared)
6
+ * 2. `comState()` - COM state (shared across components, persisted)
7
+ *
8
+ * **Important:** Signals only work in class components (`EngineComponent`).
9
+ * They do NOT work in pure function components because function components
10
+ * are re-executed on every render, which would create new signals each time.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // ✅ Correct - use EngineComponent for stateful components
15
+ * class MyComponent extends Component {
16
+ * // Component-local state
17
+ * private count = signal(0);
18
+ *
19
+ * // COM state (shared, auto-bound to COM in onMount)
20
+ * private timeline = comState<COMTimelineEntry[]>('timeline', []);
21
+ *
22
+ * onTickStart(com, state) {
23
+ * this.timeline.update(t => [...t, ...state.current.timeline]);
24
+ * }
25
+ *
26
+ * render() {
27
+ * return <Timeline>{this.timeline().map(...)}</Timeline>;
28
+ * }
29
+ * }
30
+ *
31
+ * // ❌ Wrong - signals don't work in function components
32
+ * function BadComponent(props) {
33
+ * const count = signal(0); // Creates new signal every render!
34
+ * return <div>{count()}</div>;
35
+ * }
36
+ * ```
37
+ *
38
+ * @see docs/state-management.md for full documentation
39
+ */
40
+ import { signal, createCOMStateSignal, createReadonlyCOMStateSignal, COM_SIGNAL_SYMBOL, WATCH_SIGNAL_SYMBOL, PROPS_SIGNAL_SYMBOL, SIGNAL_SYMBOL, COMPUTED_SYMBOL, EFFECT_SYMBOL, } from "./signal";
41
+ /**
42
+ * Creates a COM-bound signal (shared state).
43
+ *
44
+ * COM state is:
45
+ * - Shared across all components
46
+ * - Persisted across ticks
47
+ * - Synced bidirectionally with COM
48
+ *
49
+ * The signal is automatically bound to COM in `onMount`.
50
+ * Before binding, it works as a local signal with the initial value.
51
+ *
52
+ * @param key The COM state key
53
+ * @param initialValue Initial value if COM state doesn't exist
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * class TimelineComponent extends Component {
58
+ * // Declared as property - auto-bound in onMount
59
+ * private timeline = comState<COMTimelineEntry[]>('timeline', []);
60
+ *
61
+ * onTickStart(com, state) {
62
+ * // Update signal - automatically syncs with COM
63
+ * this.timeline.update(t => [...t, ...state.current.timeline]);
64
+ * }
65
+ *
66
+ * render() {
67
+ * // Read from signal
68
+ * return <Timeline>{this.timeline().map(...)}</Timeline>;
69
+ * }
70
+ * }
71
+ * ```
72
+ */
73
+ export function comState(key, initialValue) {
74
+ // Create a placeholder signal that will be bound in onMount
75
+ const sig = signal(initialValue);
76
+ // Mark as COM signal for auto-binding
77
+ sig[COM_SIGNAL_SYMBOL] = key;
78
+ return sig;
79
+ }
80
+ /**
81
+ * Creates a read-only signal that watches COM state.
82
+ *
83
+ * Use this when you want to observe state that another component owns,
84
+ * without being able to modify it. The signal updates automatically
85
+ * when the COM state changes.
86
+ *
87
+ * @param key The COM state key to watch
88
+ * @param defaultValue Default value if state doesn't exist
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * class ObserverComponent extends Component {
93
+ * // Watch timeline state owned by another component
94
+ * private timeline = watchComState<COMTimelineEntry[]>('timeline');
95
+ *
96
+ * // Can create derived values
97
+ * private messageCount = computed(() => this.timeline()?.length ?? 0);
98
+ *
99
+ * render() {
100
+ * // Can read
101
+ * return <div>Messages: {this.messageCount()}</div>;
102
+ *
103
+ * // Cannot write - no .set() or .update()
104
+ * // this.timeline.set([...]) // ❌ Not available
105
+ * }
106
+ * }
107
+ * ```
108
+ */
109
+ export function watchComState(key, defaultValue) {
110
+ // Create a placeholder that will be bound in onMount
111
+ const placeholder = signal(defaultValue);
112
+ // Mark as watch signal for auto-binding
113
+ placeholder[WATCH_SIGNAL_SYMBOL] = key;
114
+ // Return as ReadonlySignal (hide .set and .update from type)
115
+ return placeholder;
116
+ }
117
+ /**
118
+ * Shorthand for watchComState - creates a read-only signal watching COM state.
119
+ *
120
+ * @param key The COM state key to watch
121
+ * @param defaultValue Default value if state doesn't exist
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * class StatusComponent extends Component {
126
+ * // Watch state set by another component
127
+ * private status = watch<'idle' | 'loading' | 'done'>('status', 'idle');
128
+ *
129
+ * render() {
130
+ * return <div>Status: {this.status()}</div>;
131
+ * }
132
+ * }
133
+ * ```
134
+ */
135
+ export function watch(key, defaultValue) {
136
+ return watchComState(key, defaultValue);
137
+ }
138
+ /**
139
+ * Creates a signal bound to a component prop.
140
+ *
141
+ * The prop key is inferred from the property name, but can be overridden via config.
142
+ * The compiler automatically detects these signals and updates them when props change.
143
+ *
144
+ * Props signals are readonly from the component's perspective - only the compiler can update them.
145
+ *
146
+ * **Important:** Use explicit props interfaces with `Component<P>` for type checking.
147
+ * Required vs optional props are determined by your props interface.
148
+ *
149
+ * @param initialValue Optional default value if prop is not provided
150
+ * @param config Optional configuration
151
+ * @param config.key Override the inferred prop key (use when JSX prop name differs from property name)
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * interface MyComponentProps {
156
+ * title?: string; // Optional prop
157
+ * count?: number; // Optional prop
158
+ * name: string; // Required prop
159
+ * }
160
+ *
161
+ * class MyComponent extends Component<MyComponentProps> {
162
+ * // All use input() - required/optional comes from props interface
163
+ * title = input<string>();
164
+ * count = input<number>(0);
165
+ * name = input<string>(''); // Required because props interface says so
166
+ *
167
+ * render() {
168
+ * return <div>{this.title()}: {this.count()}</div>;
169
+ * }
170
+ * }
171
+ * ```
172
+ *
173
+ * @example JSX usage
174
+ * ```tsx
175
+ * <MyComponent name="World" /> // ✅ name is required
176
+ * <MyComponent /> // ❌ Error: name is required (from props interface)
177
+ * ```
178
+ */
179
+ export function input(initialValue, config) {
180
+ // Create placeholder signal (will be bound by compiler)
181
+ const sig = signal(initialValue);
182
+ // Mark as props signal for compiler detection
183
+ // The actual prop key will be determined by compiler based on property name
184
+ // or the config.key override
185
+ sig[PROPS_SIGNAL_SYMBOL] = config?.key ?? true; // true = infer from property name
186
+ // Return as ReadonlySignal (components can't write, compiler can)
187
+ return sig;
188
+ }
189
+ /**
190
+ * Binds all COM signals on a component instance.
191
+ * Called automatically in EngineComponent.onMount().
192
+ *
193
+ * Finds all properties marked with COM_SIGNAL_SYMBOL or WATCH_SIGNAL_SYMBOL
194
+ * and replaces them with signals bound to the actual COM state.
195
+ */
196
+ export function bindCOMSignals(instance, com) {
197
+ const signalsToCleanup = [];
198
+ const bindProperty = (propKey, value) => {
199
+ // Handle writable COM signals
200
+ if (value && typeof value === "function" && value[COM_SIGNAL_SYMBOL]) {
201
+ const comKey = value[COM_SIGNAL_SYMBOL];
202
+ const currentValue = value();
203
+ // Dispose the placeholder signal
204
+ if (value.dispose) {
205
+ value.dispose();
206
+ }
207
+ // Replace with COM-bound signal
208
+ const boundSignal = createCOMStateSignal(com, comKey, currentValue);
209
+ instance[propKey] = boundSignal;
210
+ signalsToCleanup.push(boundSignal);
211
+ return;
212
+ }
213
+ // Handle read-only watch signals
214
+ if (value && typeof value === "function" && value[WATCH_SIGNAL_SYMBOL]) {
215
+ const comKey = value[WATCH_SIGNAL_SYMBOL];
216
+ const currentValue = value();
217
+ // Dispose the placeholder signal
218
+ if (value.dispose) {
219
+ value.dispose();
220
+ }
221
+ // Replace with read-only COM-bound signal
222
+ const boundSignal = createReadonlyCOMStateSignal(com, comKey, currentValue);
223
+ instance[propKey] = boundSignal;
224
+ signalsToCleanup.push(boundSignal);
225
+ }
226
+ };
227
+ // Find all properties marked as COM signals (string keys)
228
+ for (const key of Object.getOwnPropertyNames(instance)) {
229
+ bindProperty(key, instance[key]);
230
+ }
231
+ // Also check symbol properties (for private fields with symbols)
232
+ const symbols = Object.getOwnPropertySymbols(instance);
233
+ for (const sym of symbols) {
234
+ bindProperty(sym, instance[sym]);
235
+ }
236
+ // Store signals for cleanup
237
+ if (!instance._comSignals) {
238
+ instance._comSignals = [];
239
+ }
240
+ instance._comSignals.push(...signalsToCleanup);
241
+ }
242
+ /**
243
+ * Check if a value is a reactive primitive (signal, computed, effect, comState, or watch).
244
+ */
245
+ function isReactivePrimitive(value) {
246
+ if (!value)
247
+ return false;
248
+ return (value[SIGNAL_SYMBOL] === true ||
249
+ value[COMPUTED_SYMBOL] === true ||
250
+ value[EFFECT_SYMBOL] === true ||
251
+ value[COM_SIGNAL_SYMBOL] !== undefined ||
252
+ value[WATCH_SIGNAL_SYMBOL] !== undefined ||
253
+ value[PROPS_SIGNAL_SYMBOL] !== undefined);
254
+ }
255
+ /**
256
+ * Cleans up all signals on a component instance.
257
+ * Called automatically in EngineComponent.onUnmount().
258
+ *
259
+ * Disposes all reactive primitives to prevent memory leaks:
260
+ * - signal() - clears subscribers
261
+ * - comState() - removes COM event listener, clears subscribers
262
+ * - watchComState() / watch() - removes COM event listener
263
+ * - computed() - unsubscribes from dependencies, clears subscribers
264
+ * - effect() - unsubscribes from dependencies, runs cleanup function
265
+ */
266
+ export function cleanupSignals(instance) {
267
+ // Track what we've disposed to avoid double-dispose
268
+ const disposed = new Set();
269
+ const tryDispose = (value) => {
270
+ if (value && typeof value.dispose === "function" && !disposed.has(value)) {
271
+ if (isReactivePrimitive(value)) {
272
+ disposed.add(value);
273
+ value.dispose();
274
+ }
275
+ }
276
+ };
277
+ // Cleanup COM signals first (tracked separately)
278
+ if (instance._comSignals) {
279
+ for (const sig of instance._comSignals) {
280
+ tryDispose(sig);
281
+ }
282
+ instance._comSignals = [];
283
+ }
284
+ // Cleanup any reactive primitives on the instance (string keys)
285
+ for (const key of Object.getOwnPropertyNames(instance)) {
286
+ const value = instance[key];
287
+ // Signals/computeds are functions, effects are objects
288
+ if (value && (typeof value === "function" || typeof value === "object")) {
289
+ tryDispose(value);
290
+ }
291
+ }
292
+ // Also check symbol properties (for private fields)
293
+ const symbols = Object.getOwnPropertySymbols(instance);
294
+ for (const sym of symbols) {
295
+ const value = instance[sym];
296
+ if (value && (typeof value === "function" || typeof value === "object")) {
297
+ tryDispose(value);
298
+ }
299
+ }
300
+ }
301
+ /**
302
+ * Manually dispose a single signal.
303
+ * Use when you need to clean up a signal before component unmount.
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * class MyComponent extends Component {
308
+ * private tempData = signal<Data | null>(null);
309
+ *
310
+ * async loadData() {
311
+ * this.tempData.set(await fetchData());
312
+ * }
313
+ *
314
+ * clearData() {
315
+ * // Dispose signal before component unmounts
316
+ * disposeSignal(this.tempData);
317
+ * this.tempData = signal(null); // Create fresh signal if needed
318
+ * }
319
+ * }
320
+ * ```
321
+ */
322
+ export function disposeSignal(sig) {
323
+ if (sig && typeof sig.dispose === "function") {
324
+ sig.dispose();
325
+ }
326
+ }
327
+ //# sourceMappingURL=use-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-state.js","sourceRoot":"","sources":["../../src/state/use-state.ts"],"names":[],"mappings":"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"}