@aotui/runtime 1.0.0

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 (388) hide show
  1. package/dist/adapters/aotui-driven-source.d.ts +106 -0
  2. package/dist/adapters/aotui-driven-source.js +549 -0
  3. package/dist/adapters/aotui-driven-source.js.map +1 -0
  4. package/dist/adapters/bridge/index.d.ts +94 -0
  5. package/dist/adapters/bridge/index.js +199 -0
  6. package/dist/adapters/bridge/index.js.map +1 -0
  7. package/dist/adapters/index.d.ts +7 -0
  8. package/dist/adapters/index.js +8 -0
  9. package/dist/adapters/index.js.map +1 -0
  10. package/dist/adapters/session/index.d.ts +7 -0
  11. package/dist/adapters/session/index.js +2 -0
  12. package/dist/adapters/session/index.js.map +1 -0
  13. package/dist/adapters/session/session.d.ts +46 -0
  14. package/dist/adapters/session/session.js +76 -0
  15. package/dist/adapters/session/session.js.map +1 -0
  16. package/dist/adapters/session/types.d.ts +52 -0
  17. package/dist/adapters/session/types.js +7 -0
  18. package/dist/adapters/session/types.js.map +1 -0
  19. package/dist/adapters/system-instruction.d.ts +9 -0
  20. package/dist/adapters/system-instruction.js +434 -0
  21. package/dist/adapters/system-instruction.js.map +1 -0
  22. package/dist/benchmarks/dom-engine-comparison.d.ts +1 -0
  23. package/dist/benchmarks/dom-engine-comparison.js +84 -0
  24. package/dist/benchmarks/dom-engine-comparison.js.map +1 -0
  25. package/dist/benchmarks/shadow-dom-check.d.ts +1 -0
  26. package/dist/benchmarks/shadow-dom-check.js +44 -0
  27. package/dist/benchmarks/shadow-dom-check.js.map +1 -0
  28. package/dist/cli.d.ts +17 -0
  29. package/dist/cli.js +314 -0
  30. package/dist/cli.js.map +1 -0
  31. package/dist/engine/app/config.d.ts +81 -0
  32. package/dist/engine/app/config.js +32 -0
  33. package/dist/engine/app/config.js.map +1 -0
  34. package/dist/engine/app/index.d.ts +14 -0
  35. package/dist/engine/app/index.js +33 -0
  36. package/dist/engine/app/index.js.map +1 -0
  37. package/dist/engine/app/manager.d.ts +194 -0
  38. package/dist/engine/app/manager.js +340 -0
  39. package/dist/engine/app/manager.js.map +1 -0
  40. package/dist/engine/app/registry.d.ts +138 -0
  41. package/dist/engine/app/registry.js +473 -0
  42. package/dist/engine/app/registry.js.map +1 -0
  43. package/dist/engine/app/worker-app-host.service.d.ts +62 -0
  44. package/dist/engine/app/worker-app-host.service.js +189 -0
  45. package/dist/engine/app/worker-app-host.service.js.map +1 -0
  46. package/dist/engine/app/worker-host.d.ts +139 -0
  47. package/dist/engine/app/worker-host.js +397 -0
  48. package/dist/engine/app/worker-host.js.map +1 -0
  49. package/dist/engine/app/worker-pool.d.ts +45 -0
  50. package/dist/engine/app/worker-pool.js +122 -0
  51. package/dist/engine/app/worker-pool.js.map +1 -0
  52. package/dist/engine/app/worker-sandbox.d.ts +152 -0
  53. package/dist/engine/app/worker-sandbox.js +290 -0
  54. package/dist/engine/app/worker-sandbox.js.map +1 -0
  55. package/dist/engine/core/desktop-logger.d.ts +69 -0
  56. package/dist/engine/core/desktop-logger.js +124 -0
  57. package/dist/engine/core/desktop-logger.js.map +1 -0
  58. package/dist/engine/core/desktop.d.ts +208 -0
  59. package/dist/engine/core/desktop.js +351 -0
  60. package/dist/engine/core/desktop.js.map +1 -0
  61. package/dist/engine/core/index.d.ts +12 -0
  62. package/dist/engine/core/index.js +28 -0
  63. package/dist/engine/core/index.js.map +1 -0
  64. package/dist/engine/core/llm-output-channel.d.ts +45 -0
  65. package/dist/engine/core/llm-output-channel.js +122 -0
  66. package/dist/engine/core/llm-output-channel.js.map +1 -0
  67. package/dist/engine/core/manager.d.ts +59 -0
  68. package/dist/engine/core/manager.js +131 -0
  69. package/dist/engine/core/manager.js.map +1 -0
  70. package/dist/engine/core/operation-log-buffer.d.ts +79 -0
  71. package/dist/engine/core/operation-log-buffer.js +108 -0
  72. package/dist/engine/core/operation-log-buffer.js.map +1 -0
  73. package/dist/engine/core/operation-log-formatter.d.ts +44 -0
  74. package/dist/engine/core/operation-log-formatter.js +180 -0
  75. package/dist/engine/core/operation-log-formatter.js.map +1 -0
  76. package/dist/engine/core/services/lock.service.d.ts +33 -0
  77. package/dist/engine/core/services/lock.service.js +99 -0
  78. package/dist/engine/core/services/lock.service.js.map +1 -0
  79. package/dist/engine/core/signal-bus.d.ts +84 -0
  80. package/dist/engine/core/signal-bus.js +160 -0
  81. package/dist/engine/core/signal-bus.js.map +1 -0
  82. package/dist/engine/core/signal-service.d.ts +42 -0
  83. package/dist/engine/core/signal-service.js +58 -0
  84. package/dist/engine/core/signal-service.js.map +1 -0
  85. package/dist/engine/system/dispatcher.d.ts +18 -0
  86. package/dist/engine/system/dispatcher.js +48 -0
  87. package/dist/engine/system/dispatcher.js.map +1 -0
  88. package/dist/engine/system/index.d.ts +10 -0
  89. package/dist/engine/system/index.js +20 -0
  90. package/dist/engine/system/index.js.map +1 -0
  91. package/dist/engine/system/operations/index.d.ts +26 -0
  92. package/dist/engine/system/operations/index.js +38 -0
  93. package/dist/engine/system/operations/index.js.map +1 -0
  94. package/dist/engine/system/operations/registry.d.ts +62 -0
  95. package/dist/engine/system/operations/registry.js +101 -0
  96. package/dist/engine/system/operations/registry.js.map +1 -0
  97. package/dist/engine/system/operations/system/close-app.d.ts +13 -0
  98. package/dist/engine/system/operations/system/close-app.js +43 -0
  99. package/dist/engine/system/operations/system/close-app.js.map +1 -0
  100. package/dist/engine/system/operations/system/dismount-view.d.ts +13 -0
  101. package/dist/engine/system/operations/system/dismount-view.js +48 -0
  102. package/dist/engine/system/operations/system/dismount-view.js.map +1 -0
  103. package/dist/engine/system/operations/system/index.d.ts +6 -0
  104. package/dist/engine/system/operations/system/index.js +7 -0
  105. package/dist/engine/system/operations/system/index.js.map +1 -0
  106. package/dist/engine/system/operations/system/open-app.d.ts +13 -0
  107. package/dist/engine/system/operations/system/open-app.js +43 -0
  108. package/dist/engine/system/operations/system/open-app.js.map +1 -0
  109. package/dist/engine/system/registry.d.ts +36 -0
  110. package/dist/engine/system/registry.js +101 -0
  111. package/dist/engine/system/registry.js.map +1 -0
  112. package/dist/engine/view/index.d.ts +13 -0
  113. package/dist/engine/view/index.js +20 -0
  114. package/dist/engine/view/index.js.map +1 -0
  115. package/dist/engine/view/manager.d.ts +42 -0
  116. package/dist/engine/view/manager.js +57 -0
  117. package/dist/engine/view/manager.js.map +1 -0
  118. package/dist/engine/view/snapshot/builder.d.ts +34 -0
  119. package/dist/engine/view/snapshot/builder.js +119 -0
  120. package/dist/engine/view/snapshot/builder.js.map +1 -0
  121. package/dist/engine/view/snapshot/formatter.d.ts +76 -0
  122. package/dist/engine/view/snapshot/formatter.js +297 -0
  123. package/dist/engine/view/snapshot/formatter.js.map +1 -0
  124. package/dist/engine/view/snapshot/index.d.ts +8 -0
  125. package/dist/engine/view/snapshot/index.js +8 -0
  126. package/dist/engine/view/snapshot/index.js.map +1 -0
  127. package/dist/engine/view/snapshot/templates.d.ts +41 -0
  128. package/dist/engine/view/snapshot/templates.js +317 -0
  129. package/dist/engine/view/snapshot/templates.js.map +1 -0
  130. package/dist/engine/view/transformer/__tests__/visitors/test-utils.d.ts +1 -0
  131. package/dist/engine/view/transformer/__tests__/visitors/test-utils.js +14 -0
  132. package/dist/engine/view/transformer/__tests__/visitors/test-utils.js.map +1 -0
  133. package/dist/engine/view/transformer/helpers.d.ts +19 -0
  134. package/dist/engine/view/transformer/helpers.js +32 -0
  135. package/dist/engine/view/transformer/helpers.js.map +1 -0
  136. package/dist/engine/view/transformer/index.d.ts +40 -0
  137. package/dist/engine/view/transformer/index.js +38 -0
  138. package/dist/engine/view/transformer/index.js.map +1 -0
  139. package/dist/engine/view/transformer/pure.d.ts +17 -0
  140. package/dist/engine/view/transformer/pure.js +124 -0
  141. package/dist/engine/view/transformer/pure.js.map +1 -0
  142. package/dist/engine/view/transformer/types.d.ts +31 -0
  143. package/dist/engine/view/transformer/types.js +16 -0
  144. package/dist/engine/view/transformer/types.js.map +1 -0
  145. package/dist/engine/view/transformer/visitors/application.visitor.d.ts +8 -0
  146. package/dist/engine/view/transformer/visitors/application.visitor.js +37 -0
  147. package/dist/engine/view/transformer/visitors/application.visitor.js.map +1 -0
  148. package/dist/engine/view/transformer/visitors/html.visitor.d.ts +8 -0
  149. package/dist/engine/view/transformer/visitors/html.visitor.js +161 -0
  150. package/dist/engine/view/transformer/visitors/html.visitor.js.map +1 -0
  151. package/dist/engine/view/transformer/visitors/index.d.ts +12 -0
  152. package/dist/engine/view/transformer/visitors/index.js +27 -0
  153. package/dist/engine/view/transformer/visitors/index.js.map +1 -0
  154. package/dist/engine/view/transformer/visitors/interface.d.ts +53 -0
  155. package/dist/engine/view/transformer/visitors/interface.js +8 -0
  156. package/dist/engine/view/transformer/visitors/interface.js.map +1 -0
  157. package/dist/engine/view/transformer/visitors/operation.visitor.d.ts +9 -0
  158. package/dist/engine/view/transformer/visitors/operation.visitor.js +122 -0
  159. package/dist/engine/view/transformer/visitors/operation.visitor.js.map +1 -0
  160. package/dist/engine/view/transformer/visitors/view-link.visitor.d.ts +15 -0
  161. package/dist/engine/view/transformer/visitors/view-link.visitor.js +98 -0
  162. package/dist/engine/view/transformer/visitors/view-link.visitor.js.map +1 -0
  163. package/dist/engine/view/transformer/visitors/view.visitor.d.ts +8 -0
  164. package/dist/engine/view/transformer/visitors/view.visitor.js +43 -0
  165. package/dist/engine/view/transformer/visitors/view.visitor.js.map +1 -0
  166. package/dist/engine/view/types.d.ts +70 -0
  167. package/dist/engine/view/types.js +17 -0
  168. package/dist/engine/view/types.js.map +1 -0
  169. package/dist/facades/facades.d.ts +40 -0
  170. package/dist/facades/facades.js +66 -0
  171. package/dist/facades/facades.js.map +1 -0
  172. package/dist/facades/index.d.ts +13 -0
  173. package/dist/facades/index.js +15 -0
  174. package/dist/facades/index.js.map +1 -0
  175. package/dist/factory/createKernel.d.ts +37 -0
  176. package/dist/factory/createKernel.js +42 -0
  177. package/dist/factory/createKernel.js.map +1 -0
  178. package/dist/factory/index.d.ts +9 -0
  179. package/dist/factory/index.js +10 -0
  180. package/dist/factory/index.js.map +1 -0
  181. package/dist/index.d.ts +35 -0
  182. package/dist/index.js +69 -0
  183. package/dist/index.js.map +1 -0
  184. package/dist/internal/browser.d.ts +20 -0
  185. package/dist/internal/browser.js +20 -0
  186. package/dist/internal/browser.js.map +1 -0
  187. package/dist/kernel/index.d.ts +120 -0
  188. package/dist/kernel/index.js +328 -0
  189. package/dist/kernel/index.js.map +1 -0
  190. package/dist/spi/app/aoapp.d.ts +86 -0
  191. package/dist/spi/app/aoapp.js +39 -0
  192. package/dist/spi/app/aoapp.js.map +1 -0
  193. package/dist/spi/app/app-config.interface.d.ts +9 -0
  194. package/dist/spi/app/app-config.interface.js +2 -0
  195. package/dist/spi/app/app-config.interface.js.map +1 -0
  196. package/dist/spi/app/app-factory.interface.d.ts +78 -0
  197. package/dist/spi/app/app-factory.interface.js +49 -0
  198. package/dist/spi/app/app-factory.interface.js.map +1 -0
  199. package/dist/spi/app/app-kernel.interface.d.ts +139 -0
  200. package/dist/spi/app/app-kernel.interface.js +2 -0
  201. package/dist/spi/app/app-kernel.interface.js.map +1 -0
  202. package/dist/spi/app/app.interface.d.ts +84 -0
  203. package/dist/spi/app/app.interface.js +8 -0
  204. package/dist/spi/app/app.interface.js.map +1 -0
  205. package/dist/spi/app/index.d.ts +26 -0
  206. package/dist/spi/app/index.js +13 -0
  207. package/dist/spi/app/index.js.map +1 -0
  208. package/dist/spi/app/public-types.d.ts +309 -0
  209. package/dist/spi/app/public-types.js +17 -0
  210. package/dist/spi/app/public-types.js.map +1 -0
  211. package/dist/spi/app/ref-exporter.interface.d.ts +23 -0
  212. package/dist/spi/app/ref-exporter.interface.js +10 -0
  213. package/dist/spi/app/ref-exporter.interface.js.map +1 -0
  214. package/dist/spi/app/store.interface.d.ts +45 -0
  215. package/dist/spi/app/store.interface.js +11 -0
  216. package/dist/spi/app/store.interface.js.map +1 -0
  217. package/dist/spi/app/view-context-core.interface.d.ts +50 -0
  218. package/dist/spi/app/view-context-core.interface.js +8 -0
  219. package/dist/spi/app/view-context-core.interface.js.map +1 -0
  220. package/dist/spi/app/view-context-ext.interface.d.ts +79 -0
  221. package/dist/spi/app/view-context-ext.interface.js +19 -0
  222. package/dist/spi/app/view-context-ext.interface.js.map +1 -0
  223. package/dist/spi/app/view-factory.interface.d.ts +46 -0
  224. package/dist/spi/app/view-factory.interface.js +2 -0
  225. package/dist/spi/app/view-factory.interface.js.map +1 -0
  226. package/dist/spi/app/view-link.types.d.ts +136 -0
  227. package/dist/spi/app/view-link.types.js +19 -0
  228. package/dist/spi/app/view-link.types.js.map +1 -0
  229. package/dist/spi/app/view-tree.interface.d.ts +254 -0
  230. package/dist/spi/app/view-tree.interface.js +13 -0
  231. package/dist/spi/app/view-tree.interface.js.map +1 -0
  232. package/dist/spi/app/view.interface.d.ts +122 -0
  233. package/dist/spi/app/view.interface.js +15 -0
  234. package/dist/spi/app/view.interface.js.map +1 -0
  235. package/dist/spi/bridge/bridge.interface.d.ts +118 -0
  236. package/dist/spi/bridge/bridge.interface.js +32 -0
  237. package/dist/spi/bridge/bridge.interface.js.map +1 -0
  238. package/dist/spi/bridge/index.d.ts +8 -0
  239. package/dist/spi/bridge/index.js +9 -0
  240. package/dist/spi/bridge/index.js.map +1 -0
  241. package/dist/spi/component-factory.interface.d.ts +123 -0
  242. package/dist/spi/component-factory.interface.js +15 -0
  243. package/dist/spi/component-factory.interface.js.map +1 -0
  244. package/dist/spi/config/define-config.d.ts +31 -0
  245. package/dist/spi/config/define-config.js +72 -0
  246. package/dist/spi/config/define-config.js.map +1 -0
  247. package/dist/spi/config/domains/bridge.config.d.ts +21 -0
  248. package/dist/spi/config/domains/bridge.config.js +10 -0
  249. package/dist/spi/config/domains/bridge.config.js.map +1 -0
  250. package/dist/spi/config/domains/lock.config.d.ts +20 -0
  251. package/dist/spi/config/domains/lock.config.js +10 -0
  252. package/dist/spi/config/domains/lock.config.js.map +1 -0
  253. package/dist/spi/config/domains/logger.config.d.ts +28 -0
  254. package/dist/spi/config/domains/logger.config.js +11 -0
  255. package/dist/spi/config/domains/logger.config.js.map +1 -0
  256. package/dist/spi/config/domains/snapshot.config.d.ts +20 -0
  257. package/dist/spi/config/domains/snapshot.config.js +10 -0
  258. package/dist/spi/config/domains/snapshot.config.js.map +1 -0
  259. package/dist/spi/config/domains/transform.config.d.ts +28 -0
  260. package/dist/spi/config/domains/transform.config.js +11 -0
  261. package/dist/spi/config/domains/transform.config.js.map +1 -0
  262. package/dist/spi/config/domains/worker.config.d.ts +54 -0
  263. package/dist/spi/config/domains/worker.config.js +15 -0
  264. package/dist/spi/config/domains/worker.config.js.map +1 -0
  265. package/dist/spi/config/index.d.ts +16 -0
  266. package/dist/spi/config/index.js +18 -0
  267. package/dist/spi/config/index.js.map +1 -0
  268. package/dist/spi/config/types.d.ts +38 -0
  269. package/dist/spi/config/types.js +7 -0
  270. package/dist/spi/config/types.js.map +1 -0
  271. package/dist/spi/config/validate.d.ts +12 -0
  272. package/dist/spi/config/validate.js +90 -0
  273. package/dist/spi/config/validate.js.map +1 -0
  274. package/dist/spi/core/errors.d.ts +117 -0
  275. package/dist/spi/core/errors.js +233 -0
  276. package/dist/spi/core/errors.js.map +1 -0
  277. package/dist/spi/core/id-factory.d.ts +85 -0
  278. package/dist/spi/core/id-factory.js +119 -0
  279. package/dist/spi/core/id-factory.js.map +1 -0
  280. package/dist/spi/core/index.d.ts +21 -0
  281. package/dist/spi/core/index.js +25 -0
  282. package/dist/spi/core/index.js.map +1 -0
  283. package/dist/spi/core/llm-output.d.ts +74 -0
  284. package/dist/spi/core/llm-output.js +12 -0
  285. package/dist/spi/core/llm-output.js.map +1 -0
  286. package/dist/spi/core/operation-log.d.ts +133 -0
  287. package/dist/spi/core/operation-log.js +13 -0
  288. package/dist/spi/core/operation-log.js.map +1 -0
  289. package/dist/spi/core/operations.d.ts +198 -0
  290. package/dist/spi/core/operations.js +13 -0
  291. package/dist/spi/core/operations.js.map +1 -0
  292. package/dist/spi/core/signals.d.ts +16 -0
  293. package/dist/spi/core/signals.js +7 -0
  294. package/dist/spi/core/signals.js.map +1 -0
  295. package/dist/spi/core/snapshot.d.ts +77 -0
  296. package/dist/spi/core/snapshot.js +18 -0
  297. package/dist/spi/core/snapshot.js.map +1 -0
  298. package/dist/spi/core/tool-call.d.ts +60 -0
  299. package/dist/spi/core/tool-call.js +10 -0
  300. package/dist/spi/core/tool-call.js.map +1 -0
  301. package/dist/spi/core/types.d.ts +68 -0
  302. package/dist/spi/core/types.js +8 -0
  303. package/dist/spi/core/types.js.map +1 -0
  304. package/dist/spi/index.d.ts +31 -0
  305. package/dist/spi/index.js +57 -0
  306. package/dist/spi/index.js.map +1 -0
  307. package/dist/spi/runtime/app-host.interface.d.ts +142 -0
  308. package/dist/spi/runtime/app-host.interface.js +10 -0
  309. package/dist/spi/runtime/app-host.interface.js.map +1 -0
  310. package/dist/spi/runtime/app-installer.interface.d.ts +33 -0
  311. package/dist/spi/runtime/app-installer.interface.js +2 -0
  312. package/dist/spi/runtime/app-installer.interface.js.map +1 -0
  313. package/dist/spi/runtime/context.interface.d.ts +10 -0
  314. package/dist/spi/runtime/context.interface.js +2 -0
  315. package/dist/spi/runtime/context.interface.js.map +1 -0
  316. package/dist/spi/runtime/desktop-context.interface.d.ts +45 -0
  317. package/dist/spi/runtime/desktop-context.interface.js +10 -0
  318. package/dist/spi/runtime/desktop-context.interface.js.map +1 -0
  319. package/dist/spi/runtime/desktop-dom.interface.d.ts +48 -0
  320. package/dist/spi/runtime/desktop-dom.interface.js +13 -0
  321. package/dist/spi/runtime/desktop-dom.interface.js.map +1 -0
  322. package/dist/spi/runtime/desktop-lifecycle.interface.d.ts +23 -0
  323. package/dist/spi/runtime/desktop-lifecycle.interface.js +2 -0
  324. package/dist/spi/runtime/desktop-lifecycle.interface.js.map +1 -0
  325. package/dist/spi/runtime/desktop-lock.interface.d.ts +50 -0
  326. package/dist/spi/runtime/desktop-lock.interface.js +2 -0
  327. package/dist/spi/runtime/desktop-lock.interface.js.map +1 -0
  328. package/dist/spi/runtime/desktop-manager.interface.d.ts +22 -0
  329. package/dist/spi/runtime/desktop-manager.interface.js +13 -0
  330. package/dist/spi/runtime/desktop-manager.interface.js.map +1 -0
  331. package/dist/spi/runtime/desktop-repository.interface.d.ts +8 -0
  332. package/dist/spi/runtime/desktop-repository.interface.js +2 -0
  333. package/dist/spi/runtime/desktop-repository.interface.js.map +1 -0
  334. package/dist/spi/runtime/desktop-state-accessor.interface.d.ts +22 -0
  335. package/dist/spi/runtime/desktop-state-accessor.interface.js +2 -0
  336. package/dist/spi/runtime/desktop-state-accessor.interface.js.map +1 -0
  337. package/dist/spi/runtime/dispatcher.interface.d.ts +34 -0
  338. package/dist/spi/runtime/dispatcher.interface.js +10 -0
  339. package/dist/spi/runtime/dispatcher.interface.js.map +1 -0
  340. package/dist/spi/runtime/index.d.ts +28 -0
  341. package/dist/spi/runtime/index.js +11 -0
  342. package/dist/spi/runtime/index.js.map +1 -0
  343. package/dist/spi/runtime/kernel.interface.d.ts +221 -0
  344. package/dist/spi/runtime/kernel.interface.js +7 -0
  345. package/dist/spi/runtime/kernel.interface.js.map +1 -0
  346. package/dist/spi/runtime/llm-output-channel.interface.d.ts +81 -0
  347. package/dist/spi/runtime/llm-output-channel.interface.js +12 -0
  348. package/dist/spi/runtime/llm-output-channel.interface.js.map +1 -0
  349. package/dist/spi/runtime/signal.interface.d.ts +80 -0
  350. package/dist/spi/runtime/signal.interface.js +9 -0
  351. package/dist/spi/runtime/signal.interface.js.map +1 -0
  352. package/dist/spi/runtime/snapshot.interface.d.ts +126 -0
  353. package/dist/spi/runtime/snapshot.interface.js +14 -0
  354. package/dist/spi/runtime/snapshot.interface.js.map +1 -0
  355. package/dist/spi/runtime/transformer.interface.d.ts +47 -0
  356. package/dist/spi/runtime/transformer.interface.js +10 -0
  357. package/dist/spi/runtime/transformer.interface.js.map +1 -0
  358. package/dist/spi/runtime/worker-message.interface.d.ts +80 -0
  359. package/dist/spi/runtime/worker-message.interface.js +49 -0
  360. package/dist/spi/runtime/worker-message.interface.js.map +1 -0
  361. package/dist/spi/runtime/worker-runtime.interface.d.ts +177 -0
  362. package/dist/spi/runtime/worker-runtime.interface.js +14 -0
  363. package/dist/spi/runtime/worker-runtime.interface.js.map +1 -0
  364. package/dist/spi/worker-protocol/index.d.ts +26 -0
  365. package/dist/spi/worker-protocol/index.js +29 -0
  366. package/dist/spi/worker-protocol/index.js.map +1 -0
  367. package/dist/spi/worker-protocol/messages.d.ts +257 -0
  368. package/dist/spi/worker-protocol/messages.js +42 -0
  369. package/dist/spi/worker-protocol/messages.js.map +1 -0
  370. package/dist/spi/worker-protocol/types.d.ts +12 -0
  371. package/dist/spi/worker-protocol/types.js +16 -0
  372. package/dist/spi/worker-protocol/types.js.map +1 -0
  373. package/dist/worker-runtime/app-kernel/AppKernel.d.ts +178 -0
  374. package/dist/worker-runtime/app-kernel/AppKernel.js +622 -0
  375. package/dist/worker-runtime/app-kernel/AppKernel.js.map +1 -0
  376. package/dist/worker-runtime/app-kernel/index.d.ts +23 -0
  377. package/dist/worker-runtime/app-kernel/index.js +23 -0
  378. package/dist/worker-runtime/app-kernel/index.js.map +1 -0
  379. package/dist/worker-runtime/app-kernel/view-registry.d.ts +85 -0
  380. package/dist/worker-runtime/app-kernel/view-registry.js +119 -0
  381. package/dist/worker-runtime/app-kernel/view-registry.js.map +1 -0
  382. package/dist/worker-runtime/app-kernel/view-tree.d.ts +222 -0
  383. package/dist/worker-runtime/app-kernel/view-tree.js +682 -0
  384. package/dist/worker-runtime/app-kernel/view-tree.js.map +1 -0
  385. package/dist/worker-runtime/index.d.ts +16 -0
  386. package/dist/worker-runtime/index.js +731 -0
  387. package/dist/worker-runtime/index.js.map +1 -0
  388. package/package.json +67 -0
@@ -0,0 +1,622 @@
1
+ /**
2
+ * AOTUI Runtime - App Kernel
3
+ *
4
+ * [方案 B] 从 @aotui/sdk 迁移到 @aotui/runtime/worker-runtime。
5
+ *
6
+ * Worker 内的 App 执行引擎,负责:
7
+ * - App 生命周期管理 (onOpen, onClose...)
8
+ * - ViewTree 状态管理 (SSOT)
9
+ * - 系统事件处理 (Runtime Bridge)
10
+ * - Operation 路由
11
+ * - Type-level Tools 管理
12
+ *
13
+ * @module @aotui/runtime/worker-runtime/app-kernel
14
+ */
15
+ import { createViewId } from '../../spi/index.js';
16
+ import { AOTUIError, failedResult } from '../../spi/core/errors.js';
17
+ import { createViewRegistry } from './view-registry.js';
18
+ /**
19
+ * App Kernel Implementation
20
+ *
21
+ * 运行在 Worker 内的 App 执行引擎。
22
+ * 实现 IAOTUIApp 接口,供 Worker Runtime 调用。
23
+ */
24
+ export class AppKernel {
25
+ _id = '';
26
+ name;
27
+ toolAppName;
28
+ config;
29
+ context;
30
+ container;
31
+ /**
32
+ * [RFC-B2] ViewRegistry - 轻量级View管理
33
+ * 替代ViewTree,只管理组件模式View
34
+ */
35
+ viewRegistry;
36
+ viewIdCounter = 0;
37
+ /** [RFC-002] Ref Registry Storage */
38
+ refRegistry = new Map();
39
+ /** [RFC-027] View Registry for component mode (viewKey -> viewId) */
40
+ viewKeyToId = new Map();
41
+ /** Type-level Tools Registry */
42
+ typeTools = new Map();
43
+ constructor(config) {
44
+ // [RFC-B2] Only support component mode
45
+ if (!config.component) {
46
+ throw new AOTUIError('CONFIG_INVALID', { reason: 'AppKernelConfig.component is required. Traditional mode (config.root) is no longer supported.' });
47
+ }
48
+ this.config = config;
49
+ this.name = config.name;
50
+ this.toolAppName = this.resolveToolAppName(config.appName, config.name);
51
+ // Initialize ViewRegistry
52
+ this.viewRegistry = createViewRegistry();
53
+ }
54
+ resolveToolAppName(explicitAppName, displayName) {
55
+ if (explicitAppName !== undefined) {
56
+ if (!/^[a-zA-Z0-9_]+$/.test(explicitAppName)) {
57
+ throw new AOTUIError('CONFIG_INVALID', {
58
+ reason: `Invalid appName "${explicitAppName}". appName must match /^[a-zA-Z0-9_]+$/`
59
+ });
60
+ }
61
+ return explicitAppName;
62
+ }
63
+ const normalized = displayName
64
+ .replace(/[^a-zA-Z0-9_]+/g, '_')
65
+ .replace(/^_+|_+$/g, '')
66
+ .replace(/_{2,}/g, '_')
67
+ .toLowerCase();
68
+ if (normalized.length > 0) {
69
+ return normalized;
70
+ }
71
+ return 'app';
72
+ }
73
+ /**
74
+ * Tool 前缀语义名(供 Worker 侧导出 Tool Key)
75
+ */
76
+ getToolAppName() {
77
+ return this.toolAppName;
78
+ }
79
+ get id() {
80
+ return this._id;
81
+ }
82
+ setId(id) {
83
+ this._id = id;
84
+ }
85
+ // ─────────────────────────────────────────────────────────────
86
+ // Lifecycle
87
+ // ─────────────────────────────────────────────────────────────
88
+ async onOpen(context, container) {
89
+ this.context = context;
90
+ this.container = container;
91
+ // Create DOM structure
92
+ this.initializeDOMStructure();
93
+ // Register render callback
94
+ context.onRender(() => {
95
+ console.log(`[AppKernel:${this.name}] renderCallback triggered`);
96
+ this.renderAllViews();
97
+ });
98
+ // [RFC-B2] Only component mode supported
99
+ await this.initializeFromComponent();
100
+ // [RFC-B2] Removed System Event Listeners
101
+ // mount/dismount/ViewLink are now handled via Operations
102
+ // [RFC-002] Ref event listeners
103
+ this.container.addEventListener('aotui:ref-register', this.handleRefRegister);
104
+ this.container.addEventListener('aotui:ref-unregister', this.handleRefUnregister);
105
+ // System event listeners (component mode)
106
+ this.container.addEventListener('aotui:system', this.handleSystemEvent);
107
+ // [RFC-020] Type Tool event listeners (Dynamic Registration)
108
+ this.container.addEventListener('aotui:type-tool-register', this.handleTypeToolRegister);
109
+ this.container.addEventListener('aotui:type-tool-unregister', this.handleTypeToolUnregister);
110
+ // Initial render
111
+ this.renderAllViews();
112
+ }
113
+ async onClose() {
114
+ // [RFC-B2] Component mode: Views self-cleanup via useLayoutEffect
115
+ // No need to manually dismount
116
+ // Remove event listeners
117
+ if (this.container) {
118
+ this.container.removeEventListener('aotui:ref-register', this.handleRefRegister);
119
+ this.container.removeEventListener('aotui:ref-unregister', this.handleRefUnregister);
120
+ this.container.removeEventListener('aotui:type-tool-register', this.handleTypeToolRegister);
121
+ this.container.removeEventListener('aotui:type-tool-unregister', this.handleTypeToolUnregister);
122
+ this.container.removeEventListener('aotui:system', this.handleSystemEvent);
123
+ }
124
+ // Clear ViewRegistry
125
+ this.viewRegistry.clear();
126
+ console.log(`[AppKernel:${this.name}] onClose completed`);
127
+ }
128
+ /**
129
+ * [RFC-015] App Delete Lifecycle
130
+ */
131
+ async onDelete() {
132
+ if (this.config.onDelete) {
133
+ try {
134
+ await this.config.onDelete(this.context);
135
+ }
136
+ catch (error) {
137
+ console.error(`[AppKernel:${this.name}] Error in onDelete:`, error);
138
+ // Swallow error to ensure cleanup continues
139
+ }
140
+ }
141
+ }
142
+ async onPause() {
143
+ // Default: no-op
144
+ }
145
+ async onResume() {
146
+ // Default: no-op
147
+ }
148
+ // ─────────────────────────────────────────────────────────────
149
+ // System Events (Runtime Bridge)
150
+ // ─────────────────────────────────────────────────────────────
151
+ /**
152
+ * Handle system events from Desktop
153
+ *
154
+ * [RFC-B2] Removed mount/dismount/ViewLink system events
155
+ * View lifecycle is now managed via Operations
156
+ */
157
+ async onSystemEvent(event, payload) {
158
+ console.log(`[AppKernel] System event: ${event}`, payload);
159
+ console.warn(`[AppKernel] System event '${event}' is not supported in component mode.`);
160
+ }
161
+ /**
162
+ * Handle DOM-based system events from worker runtime.
163
+ * Used to request view close in component mode.
164
+ */
165
+ handleSystemEvent = (event) => {
166
+ const detail = event.detail;
167
+ if (!detail || detail.type !== 'dismount_view' || !detail.viewId) {
168
+ return;
169
+ }
170
+ const viewId = detail.viewId;
171
+ const viewNode = this.container.querySelector(`[data-view-id="${viewId}"]`)
172
+ ?? this.container.querySelector(`#${viewId}`);
173
+ if (!viewNode) {
174
+ console.warn(`[AppKernel] dismount_view target not found: ${viewId}`);
175
+ return;
176
+ }
177
+ const CustomEventCtor = this.container.ownerDocument.defaultView?.CustomEvent;
178
+ if (!CustomEventCtor) {
179
+ console.warn('[AppKernel] CustomEvent not available for view close dispatch');
180
+ return;
181
+ }
182
+ const closeEvent = new CustomEventCtor('aotui:view-close', {
183
+ bubbles: true,
184
+ detail: { viewId, reason: 'system_dismount' }
185
+ });
186
+ viewNode.dispatchEvent(closeEvent);
187
+ };
188
+ // ─────────────────────────────────────────────────────────────
189
+ // Operations
190
+ // ─────────────────────────────────────────────────────────────
191
+ /**
192
+ * Execute Operation
193
+ *
194
+ * Routes the operation to the appropriate view or app-level handler.
195
+ */
196
+ async onOperation(context, operation, args) {
197
+ // Route to view if viewId is specified
198
+ if (context.viewId) {
199
+ // [RFC-B2] Unified query: only ViewRegistry
200
+ const view = this.viewRegistry.get(context.viewId);
201
+ if (!view) {
202
+ // [RFC-020] Type Tool Routing Fallback
203
+ // If view not found, check if viewId is actually a ViewType targeting a Type Tool
204
+ // AgentParser: app-FileDetail-op -> viewId="FileDetail"
205
+ if (this.typeTools.has(context.viewId)) {
206
+ return this.callTypeTool(context.viewId, operation, args);
207
+ }
208
+ return failedResult('VIEW_NOT_FOUND', { viewId: context.viewId });
209
+ }
210
+ const result = await view.onOperation(operation, args);
211
+ if (result.success) {
212
+ this.renderAllViews();
213
+ }
214
+ return result;
215
+ }
216
+ // App-level operation
217
+ if (this.config.onOperation) {
218
+ return this.config.onOperation(operation, args, {
219
+ appId: this._id,
220
+ desktopId: this.context.desktopId,
221
+ });
222
+ }
223
+ return failedResult('OPERATION_NO_HANDLER', { operationName: operation });
224
+ }
225
+ // ─────────────────────────────────────────────────────────────
226
+ // Ref Registry (RFC-002)
227
+ // ─────────────────────────────────────────────────────────────
228
+ // [RFC-002] RefExporter Implementation
229
+ // ─────────────────────────────────────────────────────────────
230
+ /**
231
+ * Handle ref-register event from DOM
232
+ */
233
+ handleRefRegister = (event) => {
234
+ const { viewId, key, data } = event.detail;
235
+ const fullKey = `${viewId}:${key}`;
236
+ this.refRegistry.set(fullKey, data);
237
+ };
238
+ /**
239
+ * Handle ref-unregister event from DOM
240
+ */
241
+ handleRefUnregister = (event) => {
242
+ const { viewId, key } = event.detail;
243
+ const fullKey = `${viewId}:${key}`;
244
+ this.refRegistry.delete(fullKey);
245
+ };
246
+ /**
247
+ * Export ref from view
248
+ */
249
+ exportRef(viewId, key, data) {
250
+ const fullKey = `${viewId}:${key}`;
251
+ this.refRegistry.set(fullKey, data);
252
+ }
253
+ /**
254
+ * Unexport ref from view
255
+ */
256
+ unexportRef(viewId, key) {
257
+ const fullKey = `${viewId}:${key}`;
258
+ this.refRegistry.delete(fullKey);
259
+ }
260
+ /**
261
+ * [IRefExporter] Alias for exportRef
262
+ */
263
+ registerRef(viewId, refId, data) {
264
+ this.exportRef(viewId, refId, data);
265
+ }
266
+ /**
267
+ * [IRefExporter] Alias for unexportRef
268
+ */
269
+ unregisterRef(viewId, refId) {
270
+ this.unexportRef(viewId, refId);
271
+ }
272
+ /**
273
+ * Export all registered refs to IndexMap
274
+ * Called by Worker Runtime during snapshot generation
275
+ */
276
+ exportRefsToIndexMap() {
277
+ const result = {};
278
+ for (const [fullKey, data] of this.refRegistry) {
279
+ // 保留完整 key: "viewId:refId"
280
+ // SnapshotFormatter 会添加 appId 前缀
281
+ result[fullKey] = data;
282
+ }
283
+ return result;
284
+ }
285
+ // ─────────────────────────────────────────────────────────────
286
+ // Type Tool Management (RFC-020)
287
+ // ─────────────────────────────────────────────────────────────
288
+ /**
289
+ * Unregister Type Tool
290
+ */
291
+ unregisterTypeTool(viewType, toolName) {
292
+ const tools = this.typeTools.get(viewType);
293
+ if (tools) {
294
+ tools.delete(toolName);
295
+ if (tools.size === 0) {
296
+ this.typeTools.delete(viewType);
297
+ }
298
+ // Type tool set changed; refresh snapshot indexMap immediately
299
+ this.context?.markDirty?.();
300
+ if (process.env.NODE_ENV !== 'production') {
301
+ //console.log(`[AppKernel:${this.name}] Unregistered Type Tool: ${viewType}.${toolName}`);
302
+ }
303
+ }
304
+ }
305
+ /**
306
+ * Handle type-tool-register event from DOM
307
+ */
308
+ handleTypeToolRegister = (event) => {
309
+ const detail = event.detail;
310
+ this.registerTypeTool(detail.viewType, detail.toolName, {
311
+ description: detail.description,
312
+ params: detail.params,
313
+ handler: detail.handler
314
+ });
315
+ };
316
+ /**
317
+ * Handle type-tool-unregister event from DOM
318
+ */
319
+ handleTypeToolUnregister = (event) => {
320
+ const detail = event.detail;
321
+ this.unregisterTypeTool(detail.viewType, detail.toolName);
322
+ };
323
+ // ─────────────────────────────────────────────────────────────
324
+ // [RFC-007] View Tree Export
325
+ // ────────────────────────────────────────────────────────────
326
+ /**
327
+ * [RFC-B2] Render View Tree to Markdown
328
+ *
329
+ * Component mode: Parse from DOM instead of ViewTree
330
+ */
331
+ renderViewTree() {
332
+ // [RFC-B2] TODO: Implement DOM parsing for component mode
333
+ // For now, return registered views list
334
+ const allViews = this.viewRegistry.getAll();
335
+ return allViews.map(v => `- ${v.name} (${v.id})`).join('\n');
336
+ }
337
+ // ─────────────────────────────────────────────────────────────
338
+ // Private: View Initialization
339
+ // ─────────────────────────────────────────────────────────────
340
+ initializeDOMStructure() {
341
+ // View Tree Container (Markdown)
342
+ let treeContainer = this.container.querySelector('[data-view-tree]');
343
+ if (!treeContainer) {
344
+ treeContainer = this.container.ownerDocument.createElement('div');
345
+ treeContainer.setAttribute('data-view-tree', '');
346
+ this.container.appendChild(treeContainer);
347
+ }
348
+ // Views Container (Preact mounts)
349
+ let viewsContainer = this.container.querySelector('[data-views]');
350
+ if (!viewsContainer) {
351
+ viewsContainer = this.container.ownerDocument.createElement('div');
352
+ viewsContainer.setAttribute('data-views', '');
353
+ this.container.appendChild(viewsContainer);
354
+ }
355
+ }
356
+ /**
357
+ * [RFC-027-C] Component初始化 (Factory Injection Pattern)
358
+ */
359
+ componentRenderer; // ComponentRenderer from SDK
360
+ async initializeFromComponent() {
361
+ console.log(`[AppKernel:${this.name}] Initializing via Factory Injection Pattern`);
362
+ // 1. 创建App容器 (在data-views容器中)
363
+ const viewsContainer = this.container.querySelector('[data-views]');
364
+ if (!viewsContainer) {
365
+ throw new Error('[AppKernel] Cannot find data-views container. ' +
366
+ 'This is required for component mode.');
367
+ }
368
+ const appContainer = this.container.ownerDocument.createElement('div');
369
+ appContainer.setAttribute('data-app-root', '');
370
+ viewsContainer.appendChild(appContainer);
371
+ // 2. 获取Factory (config.component现在是Factory对象)
372
+ const factory = this.config.component;
373
+ if (!factory || typeof factory.initializeComponent !== 'function') {
374
+ throw new Error('[AppKernel] Invalid component factory: initializeComponent method not found. ' +
375
+ 'Make sure you are using createTUIApp() from SDK.');
376
+ }
377
+ // 3. 构建RuntimeContext
378
+ const runtimeContext = {
379
+ appId: this._id,
380
+ desktopId: this.context.desktopId,
381
+ launchConfig: this.config.launchConfig,
382
+ allocateViewId: (key) => this.allocateViewId(key),
383
+ registerView: (view) => this.registerView(view),
384
+ unregisterView: (viewId) => this.unregisterView(viewId),
385
+ refExporter: this,
386
+ markDirty: () => this.context.markDirty(),
387
+ typeTools: this, // AppKernel implements ITypeToolRegistry interface methods
388
+ };
389
+ // 4. 调用SDK factory初始化组件
390
+ this.componentRenderer = await factory.initializeComponent(appContainer, runtimeContext);
391
+ console.log(`[AppKernel:${this.name}] Factory initialized, Views will self-register`);
392
+ }
393
+ // ─────────────────────────────────────────────────────────────
394
+ // Private: Rendering
395
+ // ─────────────────────────────────────────────────────────────
396
+ renderAllViews() {
397
+ // [RFC-B2] Component mode: Views auto-render via Preact
398
+ // Just update the tree description
399
+ const treeOutput = this.renderViewTree();
400
+ const treeContainer = this.container.querySelector('[data-view-tree]');
401
+ if (treeContainer) {
402
+ treeContainer.innerHTML = treeOutput;
403
+ }
404
+ // Component-mode Views self-render, no manual triggering needed
405
+ }
406
+ // [RFC-B2] Removed createViewContainer() and removeViewContainer()
407
+ // Component mode: Views manage their own containers
408
+ generateViewId() {
409
+ return createViewId(this.viewIdCounter++);
410
+ }
411
+ // ─────────────────────────────────────────────────────────────
412
+ // [RFC-027] Component Mode Methods
413
+ // ─────────────────────────────────────────────────────────────
414
+ /**
415
+ * Allocate viewId for component mode
416
+ * Uses view key (name or name_uniqueId) to ensure consistent ID assignment
417
+ */
418
+ allocateViewId(key) {
419
+ const existing = this.viewKeyToId.get(key);
420
+ if (existing) {
421
+ return existing;
422
+ }
423
+ const viewId = this.generateViewId();
424
+ this.viewKeyToId.set(key, viewId);
425
+ if (process.env.NODE_ENV !== 'production') {
426
+ // console.log(`[AppKernel:${this.name}] Allocated ${viewId} for key "${key}"`);
427
+ }
428
+ return viewId;
429
+ }
430
+ /**
431
+ * [RFC-B2] Register IView instance from component mode
432
+ */
433
+ registerView(view) {
434
+ this.viewRegistry.register(view);
435
+ if (process.env.NODE_ENV !== 'production') {
436
+ // console.log(`[AppKernel:${this.name}] Registered view ${view.id} (${view.name})`);
437
+ }
438
+ }
439
+ /**
440
+ * [RFC-B2] Unregister IView instance
441
+ */
442
+ unregisterView(viewId) {
443
+ this.viewRegistry.unregister(viewId);
444
+ if (process.env.NODE_ENV !== 'production') {
445
+ // console.log(`[AppKernel:${this.name}] Unregistered view ${viewId}`);
446
+ }
447
+ }
448
+ // ─────────────────────────────────────────────────────────────
449
+ // Type-level Tools (View Type Aggregation)
450
+ // ─────────────────────────────────────────────────────────────
451
+ /**
452
+ * Register a Type-level Tool
453
+ * Tool ID format: `${appId}-${viewType}-${toolName}`
454
+ */
455
+ registerTypeTool(viewType, toolName, tool) {
456
+ if (!this.typeTools.has(viewType)) {
457
+ this.typeTools.set(viewType, new Map());
458
+ }
459
+ const toolId = `${this._id}-${viewType}-${toolName}`;
460
+ // [DEBUG] Log tool.params at registration
461
+ // console.log(`[AppKernel:${this.name}] 🔍 registerTypeTool: ${toolId}`);
462
+ // console.log(`[AppKernel] tool.params type:`, typeof tool.params);
463
+ // console.log(`[AppKernel] tool.params value:`, JSON.stringify(tool.params, null, 2));
464
+ this.typeTools.get(viewType).set(toolName, {
465
+ id: toolId,
466
+ name: toolName,
467
+ viewType,
468
+ description: tool.description,
469
+ params: tool.params,
470
+ handler: tool.handler
471
+ });
472
+ // Type tool set changed; refresh snapshot indexMap immediately
473
+ this.context?.markDirty?.();
474
+ if (process.env.NODE_ENV !== 'production') {
475
+ // console.log(`[AppKernel:${this.name}] Registered Type Tool: ${toolId}`);
476
+ }
477
+ }
478
+ /**
479
+ * Call a Type-level Tool - LLM must provide view_id in params
480
+ */
481
+ async callTypeTool(viewType, toolName, params) {
482
+ const tool = this.typeTools.get(viewType)?.get(toolName);
483
+ if (!tool) {
484
+ return {
485
+ success: false,
486
+ error: {
487
+ code: 'OPERATION_FAILED',
488
+ message: `Type tool ${viewType}.${toolName} not found`,
489
+ context: { viewType, toolName }
490
+ }
491
+ };
492
+ }
493
+ try {
494
+ const resolvedArgsResult = this.resolveTypeToolArgs(viewType, toolName, tool.params, params);
495
+ if (!resolvedArgsResult.success) {
496
+ return resolvedArgsResult;
497
+ }
498
+ const result = await tool.handler(resolvedArgsResult.data);
499
+ this.componentRenderer?.render();
500
+ this.renderAllViews();
501
+ return {
502
+ success: true,
503
+ data: result
504
+ };
505
+ }
506
+ catch (error) {
507
+ return {
508
+ success: false,
509
+ error: {
510
+ code: 'OPERATION_FAILED',
511
+ message: `Type tool execution failed: ${error.message}`,
512
+ context: { viewType, toolName }
513
+ }
514
+ };
515
+ }
516
+ }
517
+ /**
518
+ * Get all Type Tools for a specific view type
519
+ */
520
+ getTypeTools(viewType) {
521
+ const tools = this.typeTools.get(viewType);
522
+ return tools ? Array.from(tools.values()) : [];
523
+ }
524
+ /**
525
+ * Get all registered Type Tools (all types)
526
+ */
527
+ getAllTypeTools() {
528
+ const result = new Map();
529
+ for (const [viewType, toolsMap] of this.typeTools) {
530
+ result.set(viewType, Array.from(toolsMap.values()));
531
+ }
532
+ return result;
533
+ }
534
+ resolveTypeToolArgs(viewType, toolName, paramSchema, rawArgs) {
535
+ const resolvedArgs = { ...rawArgs };
536
+ const viewIdsForType = this.viewRegistry.getByType(viewType).map(view => view.id);
537
+ for (const [paramName, value] of Object.entries(rawArgs)) {
538
+ const def = (paramSchema[paramName] ?? null);
539
+ if (!def) {
540
+ continue;
541
+ }
542
+ if (def.type === 'reference') {
543
+ if (typeof value === 'object' && value !== null) {
544
+ continue;
545
+ }
546
+ if (typeof value !== 'string') {
547
+ return failedResult('OPERATION_INVALID_ARGS', {
548
+ param: paramName,
549
+ operationName: `${viewType}.${paramName}`,
550
+ reason: 'reference parameter must be string or object',
551
+ expected: 'reference string or object',
552
+ received: typeof value,
553
+ viewType,
554
+ });
555
+ }
556
+ const resolved = this.resolveRefId(value, viewIdsForType);
557
+ if (!resolved) {
558
+ return failedResult('OPERATION_INVALID_ARGS', {
559
+ operationName: toolName,
560
+ param: paramName,
561
+ refId: value,
562
+ reason: `reference '${value}' not found in current snapshot indexMap`,
563
+ viewType,
564
+ });
565
+ }
566
+ resolvedArgs[paramName] = resolved;
567
+ continue;
568
+ }
569
+ if (def.type === 'array' && def.itemType === 'reference' && Array.isArray(value)) {
570
+ const resolvedItems = [];
571
+ for (const item of value) {
572
+ if (typeof item === 'object' && item !== null) {
573
+ resolvedItems.push(item);
574
+ continue;
575
+ }
576
+ if (typeof item !== 'string') {
577
+ return failedResult('OPERATION_INVALID_ARGS', {
578
+ param: paramName,
579
+ operationName: `${viewType}.${paramName}`,
580
+ reason: 'reference array contains non-string/non-object item',
581
+ expected: 'reference[] as string[] or object[]',
582
+ received: typeof item,
583
+ viewType,
584
+ });
585
+ }
586
+ const resolvedItem = this.resolveRefId(item, viewIdsForType);
587
+ if (!resolvedItem) {
588
+ return failedResult('OPERATION_INVALID_ARGS', {
589
+ operationName: toolName,
590
+ param: paramName,
591
+ refId: item,
592
+ reason: `reference '${item}' not found in current snapshot indexMap`,
593
+ viewType,
594
+ });
595
+ }
596
+ resolvedItems.push(resolvedItem);
597
+ }
598
+ resolvedArgs[paramName] = resolvedItems;
599
+ }
600
+ }
601
+ return {
602
+ success: true,
603
+ data: resolvedArgs,
604
+ };
605
+ }
606
+ resolveRefId(refId, scopedViewIds) {
607
+ for (const viewId of scopedViewIds) {
608
+ const scopedKey = `${viewId}:${refId}`;
609
+ const scopedMatch = this.refRegistry.get(scopedKey);
610
+ if (scopedMatch) {
611
+ return scopedMatch;
612
+ }
613
+ }
614
+ for (const [fullKey, value] of this.refRegistry.entries()) {
615
+ if (fullKey.endsWith(`:${refId}`)) {
616
+ return value;
617
+ }
618
+ }
619
+ return null;
620
+ }
621
+ }
622
+ //# sourceMappingURL=AppKernel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppKernel.js","sourceRoot":"","sources":["../../../src/worker-runtime/app-kernel/AppKernel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * AOTUI Runtime - App Kernel Module
3
+ *
4
+ * [方案 B] Worker 内的 App 执行引擎。
5
+ *
6
+ * 负责:
7
+ * - App 生命周期管理
8
+ * - ViewTree 状态管理
9
+ * - 系统事件处理
10
+ * - Operation 路由
11
+ *
12
+ * @module @aotui/runtime/worker-runtime/app-kernel
13
+ */
14
+ export { AppKernel, type TypeToolDefinition, type TypeTool } from './AppKernel.js';
15
+ export { ViewTree, createViewTree } from './view-tree.js';
16
+ /**
17
+ * [RFC-B2] ViewRegistry - Lightweight View Management
18
+ *
19
+ * Replacement for ViewTree in component-mode apps.
20
+ * Provides simple register/unregister/get API without tree management.
21
+ */
22
+ export { ViewRegistry, createViewRegistry } from './view-registry.js';
23
+ export type { MountableViewEntry, ViewContextFactory } from './view-tree.js';