@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,101 @@
1
+ import { createSnapshotId } from '../../spi/index.js';
2
+ import { AOTUIError } from '../../spi/core/errors.js';
3
+ export class SnapshotRegistry {
4
+ snapshots = new Map();
5
+ config;
6
+ constructor(config = { ttl: 10 * 60 * 1000 }) {
7
+ this.config = config;
8
+ }
9
+ /**
10
+ * Creates a new snapshot and registers it.
11
+ * Starts with RefCount = 1.
12
+ *
13
+ * [RFC-014] Now accepts optional structured parameter.
14
+ */
15
+ create(indexMap, markup, ttl, structured) {
16
+ const id = createSnapshotId();
17
+ // Use provided TTL or default config TTL
18
+ const effectiveTTL = ttl !== undefined && ttl > 0 ? ttl : this.config.ttl;
19
+ // Set Hard TTL safety timer
20
+ const timer = setTimeout(() => {
21
+ this.forceDestroy(id);
22
+ }, effectiveTTL);
23
+ const createdAt = Date.now();
24
+ const snapshot = {
25
+ id,
26
+ indexMap,
27
+ markup,
28
+ structured, // [RFC-014] Include structured output
29
+ createdAt,
30
+ refCount: 1,
31
+ ttl: effectiveTTL,
32
+ expiresAt: createdAt + effectiveTTL
33
+ };
34
+ this.snapshots.set(id, {
35
+ ...snapshot,
36
+ timer
37
+ });
38
+ return snapshot;
39
+ }
40
+ /**
41
+ * Increases reference count.
42
+ */
43
+ retain(id) {
44
+ const snap = this.snapshots.get(id);
45
+ if (!snap) {
46
+ throw new AOTUIError('SNAPSHOT_EXPIRED', { snapshotId: id });
47
+ }
48
+ snap.refCount++;
49
+ }
50
+ /**
51
+ * Decreases reference count. Destroys if 0.
52
+ */
53
+ release(id) {
54
+ const snap = this.snapshots.get(id);
55
+ if (!snap)
56
+ return; // Already gone, ignore
57
+ snap.refCount--;
58
+ if (snap.refCount <= 0) {
59
+ this.destroy(id);
60
+ }
61
+ }
62
+ /**
63
+ * Resolves a data path from the snapshot.
64
+ */
65
+ resolve(id, path) {
66
+ const snap = this.snapshots.get(id);
67
+ if (!snap) {
68
+ console.log(`[Registry] Snapshot ${id} not found`);
69
+ return undefined;
70
+ }
71
+ const result = snap.indexMap[path];
72
+ if (result === undefined) {
73
+ console.log(`[Registry] Key "${path}" not found in snapshot ${id}`);
74
+ console.log(`[Registry] Available keys in IndexMap:`, Object.keys(snap.indexMap).slice(0, 20));
75
+ }
76
+ return result;
77
+ }
78
+ /**
79
+ * Returns snapshot without internal implementation details.
80
+ * [H1 FIX] No longer exposes internal `timer` field.
81
+ */
82
+ getSnapshot(id) {
83
+ const snap = this.snapshots.get(id);
84
+ if (!snap)
85
+ return undefined;
86
+ // Destructure to exclude internal timer field
87
+ const { timer, ...publicSnapshot } = snap;
88
+ return publicSnapshot;
89
+ }
90
+ destroy(id) {
91
+ const snap = this.snapshots.get(id);
92
+ if (snap) {
93
+ clearTimeout(snap.timer);
94
+ this.snapshots.delete(id);
95
+ }
96
+ }
97
+ forceDestroy(id) {
98
+ this.destroy(id);
99
+ }
100
+ }
101
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/engine/system/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * View Domain
3
+ *
4
+ * 包含视图状态管理、Transformer 及 Snapshot 构建。
5
+ *
6
+ * @module @aotui/runtime/engine/view
7
+ */
8
+ export type { IViewTree, ViewContextFactory } from '../../spi/index.js';
9
+ export type { ViewContext } from './types.js';
10
+ export type { IView, IViewContext } from './types.js';
11
+ export { ViewManager } from './manager.js';
12
+ export { Transformer, type TransformResult } from './transformer/index.js';
13
+ export { SnapshotBuilder, type SnapshotResult } from './snapshot/index.js';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * View Domain
3
+ *
4
+ * 包含视图状态管理、Transformer 及 Snapshot 构建。
5
+ *
6
+ * @module @aotui/runtime/engine/view
7
+ */
8
+ // ============================================================================
9
+ // ViewManager - 视图状态管理
10
+ // ============================================================================
11
+ export { ViewManager } from './manager.js';
12
+ // ============================================================================
13
+ // Transformer - DOM → TUI Markdown
14
+ // ============================================================================
15
+ export { Transformer } from './transformer/index.js';
16
+ // ============================================================================
17
+ // SnapshotBuilder - 快照构建
18
+ // ============================================================================
19
+ export { SnapshotBuilder } from './snapshot/index.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/view/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAwB,MAAM,wBAAwB,CAAC;AAE3E,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * ViewManager - View 生命周期管理
3
+ *
4
+ * [H1 拆分 Phase 4] 从 Desktop 提取的 View 管理模块。
5
+ *
6
+ * 职责:
7
+ * - View 挂载/卸载 (mount/dismount)
8
+ * - View 显示/隐藏 (show/hide)
9
+ *
10
+ * 设计说明:
11
+ * - ViewManager 通过 DesktopDOM 接口与 Desktop 交互
12
+ * - View 操作通过 CustomEvent 分发到 App 容器
13
+ */
14
+ import type { AppID, ViewID } from '../../spi/index.js';
15
+ /**
16
+ * ViewManager - View 生命周期管理
17
+ *
18
+ * [RFC-001 Phase 2] Worker-Only 架构下,View 管理主要由 Worker 内部处理。
19
+ * 此类保留用于向后兼容或未来扩展,目前主要为空操作。
20
+ */
21
+ export declare class ViewManager {
22
+ /**
23
+ * 挂载 View
24
+ */
25
+ mount(appId: AppID, viewId: ViewID): Promise<void>;
26
+ /**
27
+ * 卸载 View
28
+ */
29
+ dismount(appId: AppID, viewId: ViewID): Promise<void>;
30
+ /**
31
+ * 隐藏 View
32
+ */
33
+ hide(appId: AppID, viewId: ViewID): Promise<void>;
34
+ /**
35
+ * 显示 View
36
+ */
37
+ show(appId: AppID, viewId: ViewID): Promise<void>;
38
+ /**
39
+ * [RFC-006] Mount view via ViewLink
40
+ */
41
+ mountByLink(appId: AppID, parentViewId: ViewID, linkId: string): Promise<void>;
42
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * ViewManager - View 生命周期管理
3
+ *
4
+ * [H1 拆分 Phase 4] 从 Desktop 提取的 View 管理模块。
5
+ *
6
+ * 职责:
7
+ * - View 挂载/卸载 (mount/dismount)
8
+ * - View 显示/隐藏 (show/hide)
9
+ *
10
+ * 设计说明:
11
+ * - ViewManager 通过 DesktopDOM 接口与 Desktop 交互
12
+ * - View 操作通过 CustomEvent 分发到 App 容器
13
+ */
14
+ /**
15
+ * ViewManager - View 生命周期管理
16
+ *
17
+ * [RFC-001 Phase 2] Worker-Only 架构下,View 管理主要由 Worker 内部处理。
18
+ * 此类保留用于向后兼容或未来扩展,目前主要为空操作。
19
+ */
20
+ export class ViewManager {
21
+ // ========================================================================
22
+ // View 生命周期方法
23
+ // ========================================================================
24
+ /**
25
+ * 挂载 View
26
+ */
27
+ async mount(appId, viewId) {
28
+ // Worker App 应该通过 IPC 处理,进入此路径意味着非 Worker App 或错误
29
+ console.warn(`[ViewManager] Legacy mount called for ${appId}:${viewId}. Ignored in Worker-Only mode.`);
30
+ }
31
+ /**
32
+ * 卸载 View
33
+ */
34
+ async dismount(appId, viewId) {
35
+ // No-op
36
+ }
37
+ /**
38
+ * 隐藏 View
39
+ */
40
+ async hide(appId, viewId) {
41
+ // No-op
42
+ }
43
+ /**
44
+ * 显示 View
45
+ */
46
+ async show(appId, viewId) {
47
+ // No-op
48
+ }
49
+ /**
50
+ * [RFC-006] Mount view via ViewLink
51
+ */
52
+ async mountByLink(appId, parentViewId, linkId) {
53
+ // Worker App 应该通过 IPC 处理,进入此路径意味着非 Worker App 或错误
54
+ console.warn(`[ViewManager] Legacy mountByLink called for ${appId}:${parentViewId}:${linkId}. Ignored in Worker-Only mode.`);
55
+ }
56
+ }
57
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/engine/view/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAEpB,2EAA2E;IAC3E,cAAc;IACd,2EAA2E;IAE3E;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAY,EAAE,MAAc;QACpC,kDAAkD;QAClD,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,IAAI,MAAM,gCAAgC,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAY,EAAE,MAAc;QACvC,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,KAAY,EAAE,MAAc;QACnC,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,KAAY,EAAE,MAAc;QACnC,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAY,EAAE,YAAoB,EAAE,MAAc;QAChE,kDAAkD;QAClD,OAAO,CAAC,IAAI,CAAC,+CAA+C,KAAK,IAAI,YAAY,IAAI,MAAM,gCAAgC,CAAC,CAAC;IACjI,CAAC;CACJ"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * SnapshotBuilder - TUI Snapshot Aggregator
3
+ *
4
+ * Combines Desktop metadata with Transformer output to create
5
+ * complete TUI snapshots conforming to TUI_DEMO.md specification.
6
+ */
7
+ import type { IndexMap } from '../../../spi/index.js';
8
+ import { Transformer } from '../transformer/index.js';
9
+ import { Desktop } from '../../core/desktop.js';
10
+ export interface SnapshotResult {
11
+ markup: string;
12
+ indexMap: IndexMap;
13
+ }
14
+ export declare class SnapshotBuilder {
15
+ private transformer;
16
+ private mergedIndexMap;
17
+ constructor(transformer?: Transformer);
18
+ /**
19
+ * Build complete TUI snapshot from Desktop state
20
+ */
21
+ build(desktop: Desktop): SnapshotResult;
22
+ /**
23
+ * Build <desktop> section with system info
24
+ */
25
+ private buildDesktopSection;
26
+ /**
27
+ * Build <application> section with app info and views
28
+ */
29
+ private buildApplicationSection;
30
+ /**
31
+ * Build simplified view tree from app container
32
+ */
33
+ private buildViewTree;
34
+ }
@@ -0,0 +1,119 @@
1
+ import { Transformer } from '../transformer/index.js';
2
+ import { SYSTEM_INSTRUCTION, formatTimestamp, formatAppStatus } from './templates.js';
3
+ export class SnapshotBuilder {
4
+ transformer;
5
+ mergedIndexMap = {};
6
+ constructor(transformer) {
7
+ this.transformer = transformer || new Transformer();
8
+ }
9
+ /**
10
+ * Build complete TUI snapshot from Desktop state
11
+ */
12
+ build(desktop) {
13
+ this.mergedIndexMap = {};
14
+ const parts = [];
15
+ // 1. Build <desktop> section
16
+ parts.push(this.buildDesktopSection(desktop));
17
+ // 2. Build <application> sections for running apps
18
+ const apps = desktop.getInstalledApps();
19
+ for (const app of apps) {
20
+ if (app.status === 'running') {
21
+ parts.push(this.buildApplicationSection(desktop, app));
22
+ }
23
+ }
24
+ return {
25
+ markup: parts.join('\n\n'),
26
+ indexMap: this.mergedIndexMap
27
+ };
28
+ }
29
+ /**
30
+ * Build <desktop> section with system info
31
+ */
32
+ buildDesktopSection(desktop) {
33
+ const apps = desktop.getInstalledApps();
34
+ const logs = desktop.getSystemLogs();
35
+ // [RFC-013] Format installed apps list with description
36
+ const appsMarkup = apps.length === 0
37
+ ? '- No applications installed.'
38
+ : apps.map((app, index) => {
39
+ const name = app.name || app.appId;
40
+ const whatItIs = app.whatItIs ?? app.description ?? 'Not provided';
41
+ const whenToUse = app.whenToUse ?? 'Not provided';
42
+ return `${index + 1}. ${name}
43
+ - Status: ${formatAppStatus(app.status)}
44
+ - What it is: ${whatItIs}
45
+ - When to use: ${whenToUse}`;
46
+ }).join('\n');
47
+ // Format system logs (last 5)
48
+ const logsMarkup = logs.slice(-5).map(log => `- [${formatTimestamp(log.timestamp)}] ${log.message}`).join('\n');
49
+ return `<desktop>
50
+
51
+ ${SYSTEM_INSTRUCTION}
52
+
53
+ ## Installed TUI Applications
54
+ ${appsMarkup}
55
+
56
+ ## System Logs
57
+ ${logsMarkup || '- No logs yet.'}
58
+
59
+ </desktop>`;
60
+ }
61
+ /**
62
+ * Build <application> section with app info and views
63
+ */
64
+ buildApplicationSection(desktop, app) {
65
+ const logs = desktop.getAppOperationLogs(app.appId);
66
+ const appName = app.name || app.appId;
67
+ // [P1 Fix] Removed dead code: getAppContainer is deprecated/removed.
68
+ // SnapshotBuilder no longer supports DOM traversal for apps.
69
+ // Use getSnapshotFragments() in Kernel instead.
70
+ const viewsMarkup = '';
71
+ // Format operation logs (last 5)
72
+ const logsMarkup = logs.slice(-5).map(log => `- [${formatTimestamp(log.timestamp)}] ${log.message}`).join('\n');
73
+ // Build view tree (simplified version based on DOM structure)
74
+ // [P1 Fix] SnapshotBuilder DOM traversal is disabled.
75
+ const viewTree = this.buildViewTree(null);
76
+ return `<application id="${app.appId}" name="${appName}">
77
+
78
+ <application_info>
79
+ ## Operation Log
80
+ ${logsMarkup || '- No operations yet.'}
81
+
82
+ ## Application View Tree
83
+ ${viewTree || '- No views.'}
84
+ </application_info>
85
+
86
+ ${viewsMarkup}
87
+
88
+ </application>`;
89
+ }
90
+ /**
91
+ * Build simplified view tree from app container
92
+ */
93
+ buildViewTree(container) {
94
+ if (!container)
95
+ return '';
96
+ // [H3 FIX] Query both mounted views AND unmounted view links (siblings)
97
+ const elements = container.querySelectorAll('[view], [data-view-link]');
98
+ if (elements.length === 0)
99
+ return '- No views.';
100
+ return Array.from(elements).map((el) => {
101
+ // Case 1: Mounted View
102
+ if (el.hasAttribute('view')) {
103
+ const viewName = el.getAttribute('name') || el.getAttribute('view') || 'Unknown';
104
+ const viewId = el.id || 'unknown';
105
+ const state = el.getAttribute('data-state');
106
+ const stateStr = state === 'hidden' ? '' : ', mounted';
107
+ return `- [${viewName}](view:${viewId}${stateStr})`;
108
+ }
109
+ // Case 2: Unmounted View Link (Sibling)
110
+ else if (el.hasAttribute('data-view-link')) {
111
+ const viewId = el.getAttribute('data-view-link');
112
+ const text = el.textContent || 'View Link';
113
+ return `- [${text}](view:${viewId})`;
114
+ }
115
+ return '';
116
+ }).filter(Boolean).join('\n');
117
+ }
118
+ }
119
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/engine/view/snapshot/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * SnapshotFormatter - TUI Snapshot Formatter
3
+ *
4
+ * [RFC-007] Transforms Worker fragments and Desktop metadata into
5
+ * complete TUI snapshots conforming to TUI_DEMO.md format.
6
+ * [RFC-014] Added structured output for semantic separation.
7
+ *
8
+ * @module @aotui/runtime/engine/view/snapshot/formatter
9
+ */
10
+ import type { ISnapshotFormatter, ISnapshotFragment, IDesktopMetadata, FormattedSnapshotResult, StructuredSnapshot } from '../../../spi/index.js';
11
+ /**
12
+ * [RFC-014] Extended snapshot result with structured output
13
+ */
14
+ export interface ExtendedSnapshotResult extends FormattedSnapshotResult {
15
+ /** [RFC-014] Structured output for semantic separation */
16
+ structured: StructuredSnapshot;
17
+ }
18
+ /**
19
+ * SnapshotFormatter configuration
20
+ */
21
+ export interface SnapshotFormatterConfig {
22
+ /** Maximum system logs to include (default: 5) */
23
+ systemLogLimit?: number;
24
+ /** Maximum app operation logs to include (default: 3) */
25
+ appLogLimit?: number;
26
+ }
27
+ /**
28
+ * SnapshotFormatter Implementation
29
+ *
30
+ * Assembles complete TUI snapshots from:
31
+ * 1. Desktop metadata (`<desktop>` section)
32
+ * 2. Worker fragments (`<application>` sections)
33
+ *
34
+ * [RFC-014] Now also returns structured output for semantic separation.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const formatter = new SnapshotFormatter();
39
+ * const { markup, indexMap, structured } = formatter.format(fragments, metadata);
40
+ * ```
41
+ */
42
+ export declare class SnapshotFormatter implements ISnapshotFormatter {
43
+ private readonly systemLogLimit;
44
+ private readonly appLogLimit;
45
+ constructor(config?: SnapshotFormatterConfig);
46
+ private resolveUniqueToolKey;
47
+ /**
48
+ * Format complete TUI snapshot
49
+ *
50
+ * [RFC-014] Now returns both legacy markup and structured output.
51
+ */
52
+ format(fragments: ReadonlyArray<ISnapshotFragment>, metadata: IDesktopMetadata): ExtendedSnapshotResult;
53
+ /**
54
+ * [RFC-014] Build desktop state without system instruction
55
+ *
56
+ * Returns only "Where" information:
57
+ * - Installed Applications
58
+ * - System Logs
59
+ */
60
+ private buildDesktopStateOnly;
61
+ /**
62
+ * Format apps list markup (shared between legacy and structured output)
63
+ */
64
+ private formatAppsMarkup;
65
+ /**
66
+ * Build <desktop> section with system info
67
+ */
68
+ private buildDesktopSection;
69
+ /**
70
+ * Build <application> section with app info and views
71
+ *
72
+ * [RFC-017] Removed "## Recent Operations" section - feedback now provided
73
+ * via AI SDK standard tool-result messages (RFC-015)
74
+ */
75
+ private buildApplicationSection;
76
+ }