@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,77 @@
1
+ /**
2
+ * SPI Layer - Snapshot Types
3
+ *
4
+ * 定义快照相关的类型。
5
+ */
6
+ import type { SnapshotID, IndexMap } from './types.js';
7
+ /**
8
+ * [RFC-014] App 状态片段
9
+ *
10
+ * 单个 App 的渲染内容,用于语义分离的多消息结构
11
+ */
12
+ export interface AppStateFragment {
13
+ appId: string;
14
+ appName: string;
15
+ markup: string;
16
+ timestamp?: number;
17
+ /** [RFC-014] 消息角色 (user/assistant) */
18
+ role?: 'user' | 'assistant';
19
+ }
20
+ /**
21
+ * View 状态片段
22
+ *
23
+ * 用于 View 级别的消息粒度与时间排序。
24
+ */
25
+ export interface ViewStateFragment {
26
+ appId: string;
27
+ appName: string;
28
+ viewId: string;
29
+ viewType: string;
30
+ viewName?: string;
31
+ markup: string;
32
+ timestamp?: number;
33
+ /** [RFC-014] 消息角色 (user/assistant) */
34
+ role?: 'user' | 'assistant';
35
+ }
36
+ /**
37
+ * [RFC-014] 结构化快照 - 语义分离的内容片段
38
+ *
39
+ * 将 TUI 状态按语义分离为:
40
+ * - Who/Why/How (systemInstruction) - 100% 稳定的元指令
41
+ * - Where (desktopState) - Desktop 状态
42
+ * - When (appStates) - 各 App 的当前状态
43
+ */
44
+ export interface StructuredSnapshot {
45
+ /** Who/Why/How - 100% 稳定的元指令 */
46
+ systemInstruction: string;
47
+ /** Where - Desktop 状态 (Apps 列表, System Logs) */
48
+ desktopState: string;
49
+ /** When - 各 App 的当前状态 */
50
+ appStates: AppStateFragment[];
51
+ /** When - 各 View 的当前状态(细粒度) */
52
+ viewStates?: ViewStateFragment[];
53
+ }
54
+ /**
55
+ * 缓存的快照
56
+ */
57
+ export interface CachedSnapshot {
58
+ id: SnapshotID;
59
+ /** [向后兼容] 完整的 markup (Desktop + Apps) */
60
+ markup: string;
61
+ /** [RFC-014] 结构化内容,用于语义分离的多消息 Prompt */
62
+ structured?: StructuredSnapshot;
63
+ indexMap: IndexMap;
64
+ createdAt: number;
65
+ refCount: number;
66
+ /** Time-to-live in milliseconds. Snapshot should be invalidated after expiry. */
67
+ ttl?: number;
68
+ /** Absolute expiration timestamp. Computed as createdAt + ttl. */
69
+ expiresAt?: number;
70
+ }
71
+ /**
72
+ * 检查快照是否已过期
73
+ *
74
+ * @param snapshot - 要检查的快照
75
+ * @returns 如果已过期返回 true,如果没有 TTL 则返回 false(永不过期)
76
+ */
77
+ export declare function isSnapshotExpired(snapshot: CachedSnapshot): boolean;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SPI Layer - Snapshot Types
3
+ *
4
+ * 定义快照相关的类型。
5
+ */
6
+ /**
7
+ * 检查快照是否已过期
8
+ *
9
+ * @param snapshot - 要检查的快照
10
+ * @returns 如果已过期返回 true,如果没有 TTL 则返回 false(永不过期)
11
+ */
12
+ export function isSnapshotExpired(snapshot) {
13
+ if (snapshot.expiresAt === undefined) {
14
+ return false; // No TTL means never expires
15
+ }
16
+ return Date.now() > snapshot.expiresAt;
17
+ }
18
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/spi/core/snapshot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8EH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACtD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,6BAA6B;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * LLM Tool Call Types
3
+ *
4
+ * OpenAI 兼容的 Tool Call 格式定义
5
+ *
6
+ * 注意:这些类型从 adapters/llm/types.ts 移动到 SPI 层,
7
+ * 因为 IAgentSession 需要使用它们。
8
+ */
9
+ /** LLM Tool 定义 (OpenAI Function Calling 格式) */
10
+ export interface Tool {
11
+ type: "function";
12
+ function: {
13
+ name: string;
14
+ description: string;
15
+ parameters: {
16
+ type: "object";
17
+ properties: Record<string, {
18
+ type: string;
19
+ description?: string;
20
+ enum?: string[];
21
+ }>;
22
+ required: string[];
23
+ };
24
+ };
25
+ }
26
+ /** LLM Tool Call 请求 (OpenAI 兼容格式) */
27
+ export interface ToolCall {
28
+ id: string;
29
+ type: "function";
30
+ function: {
31
+ name: string;
32
+ arguments: string;
33
+ };
34
+ }
35
+ /** Tool Call 执行结果 */
36
+ export interface ToolCallResult {
37
+ tool_call_id: string;
38
+ success: boolean;
39
+ data?: unknown;
40
+ error?: {
41
+ code: string;
42
+ message: string;
43
+ };
44
+ }
45
+ /** Operation 参数定义 (从 IndexMap 提取) */
46
+ export interface OperationParamDef {
47
+ name: string;
48
+ type: string;
49
+ required: boolean;
50
+ description?: string;
51
+ refType?: string;
52
+ }
53
+ /** Operation 定义 (从 IndexMap 提取) */
54
+ export interface OperationDef {
55
+ id: string;
56
+ appId: string;
57
+ viewId: string;
58
+ description?: string;
59
+ params: OperationParamDef[];
60
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * LLM Tool Call Types
3
+ *
4
+ * OpenAI 兼容的 Tool Call 格式定义
5
+ *
6
+ * 注意:这些类型从 adapters/llm/types.ts 移动到 SPI 层,
7
+ * 因为 IAgentSession 需要使用它们。
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=tool-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call.js","sourceRoot":"","sources":["../../../src/spi/core/tool-call.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * SPI Layer - Foundation Types
3
+ *
4
+ * 最基础的类型定义,零依赖。
5
+ * 这些类型是整个 Runtime 的"语言"。
6
+ */
7
+ /**
8
+ * 用于创建 Branded Types 的 unique symbol。
9
+ *
10
+ * Branded Types 在编译期区分不同的 ID 类型,防止混用。
11
+ * 例如:`getDesktop(appId)` 会在编译时报错。
12
+ *
13
+ * @internal
14
+ */
15
+ declare const __brand: unique symbol;
16
+ /** 快照唯一标识 (Branded Type) */
17
+ export type SnapshotID = string & {
18
+ readonly [__brand]: 'SnapshotID';
19
+ };
20
+ /** 桌面唯一标识 (Branded Type) */
21
+ export type DesktopID = string & {
22
+ readonly [__brand]: 'DesktopID';
23
+ };
24
+ /** 应用唯一标识 (Branded Type) */
25
+ export type AppID = string & {
26
+ readonly [__brand]: 'AppID';
27
+ };
28
+ /** 视图唯一标识 (Branded Type) */
29
+ export type ViewID = string & {
30
+ readonly [__brand]: 'ViewID';
31
+ };
32
+ /** 操作唯一标识 (Branded Type) */
33
+ export type OperationID = string & {
34
+ readonly [__brand]: 'OperationID';
35
+ };
36
+ /** 通用数据载荷 */
37
+ export type DataPayload = Record<string, unknown>;
38
+ /** 快照数据索引映射 */
39
+ export interface IndexMap {
40
+ [path: string]: DataPayload;
41
+ }
42
+ /** Desktop 状态 */
43
+ export type DesktopStatus = 'active' | 'suspended' | 'serialized';
44
+ /** App 状态 */
45
+ export interface AppState {
46
+ appId: AppID;
47
+ name?: string;
48
+ html: string;
49
+ /** [RFC-014] 增加 'pending' 状态用于懒加载 */
50
+ status: 'pending' | 'running' | 'closed' | 'collapsed';
51
+ installedAt: number;
52
+ }
53
+ /** Desktop 序列化状态 */
54
+ export interface DesktopState {
55
+ id: DesktopID;
56
+ status: DesktopStatus;
57
+ createdAt: number;
58
+ serializedAt?: number;
59
+ apps: AppState[];
60
+ }
61
+ /** App 配置 */
62
+ export interface AppConfig {
63
+ /** 应用名称 (语义名称, 必填) */
64
+ name: string;
65
+ /** 应用 HTML 内容 */
66
+ html: string;
67
+ }
68
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SPI Layer - Foundation Types
3
+ *
4
+ * 最基础的类型定义,零依赖。
5
+ * 这些类型是整个 Runtime 的"语言"。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/spi/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * SPI Layer - Public API
3
+ *
4
+ * AOTUI 框架的契约层。
5
+ *
6
+ * ## 分层结构
7
+ *
8
+ * - **core**: 基础类型 (AppID, ViewID, OperationResult, etc.)
9
+ * - **app**: App 开发者接口 (IView, IViewContext, IAOTUIApp, etc.)
10
+ * - **runtime**: Runtime 内部接口 (IKernel, IDesktop, etc.) - 不对外公开
11
+ *
12
+ * ## 使用方式
13
+ *
14
+ * App 开发者应通过 `@aotui/sdk` 导入,而非直接使用此模块。
15
+ *
16
+ * ```typescript
17
+ * // ✅ 正确:通过 SDK 导入
18
+ * import { View, Operation, type OperationResult } from '@aotui/sdk';
19
+ *
20
+ * // ❌ 错误:直接导入 SPI
21
+ * import type { IView } from '@aotui/runtime/spi';
22
+ * ```
23
+ *
24
+ * @module @aotui/runtime/spi
25
+ */
26
+ export * from './core/index.js';
27
+ export * from './app/index.js';
28
+ export * from './runtime/index.js';
29
+ export * from './bridge/index.js';
30
+ export * from './worker-protocol/index.js';
31
+ export * from './component-factory.interface.js';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * SPI Layer - Public API
3
+ *
4
+ * AOTUI 框架的契约层。
5
+ *
6
+ * ## 分层结构
7
+ *
8
+ * - **core**: 基础类型 (AppID, ViewID, OperationResult, etc.)
9
+ * - **app**: App 开发者接口 (IView, IViewContext, IAOTUIApp, etc.)
10
+ * - **runtime**: Runtime 内部接口 (IKernel, IDesktop, etc.) - 不对外公开
11
+ *
12
+ * ## 使用方式
13
+ *
14
+ * App 开发者应通过 `@aotui/sdk` 导入,而非直接使用此模块。
15
+ *
16
+ * ```typescript
17
+ * // ✅ 正确:通过 SDK 导入
18
+ * import { View, Operation, type OperationResult } from '@aotui/sdk';
19
+ *
20
+ * // ❌ 错误:直接导入 SPI
21
+ * import type { IView } from '@aotui/runtime/spi';
22
+ * ```
23
+ *
24
+ * @module @aotui/runtime/spi
25
+ */
26
+ // ============================================================================
27
+ // Core Layer - Foundation Types (Public)
28
+ // ============================================================================
29
+ export * from './core/index.js';
30
+ // ============================================================================
31
+ // App Layer - App Developer Interfaces (Public)
32
+ // ============================================================================
33
+ export * from './app/index.js';
34
+ // ============================================================================
35
+ // Runtime Layer - Internal Interfaces (Public for Product Layer)
36
+ // ============================================================================
37
+ // Note: These are intentionally exported for Product Layer (Server) usage.
38
+ // SDK developers should NOT use these directly.
39
+ export * from './runtime/index.js';
40
+ // ============================================================================
41
+ // Bridge Layer - Agent I/O Boundary (Public for AgentDriver)
42
+ // ============================================================================
43
+ // IBridge is the only interface Agents should interact with.
44
+ // Product Layer creates Bridge instances and passes to AgentDriver.
45
+ export * from './bridge/index.js';
46
+ // ============================================================================
47
+ // Worker Protocol - IPC Message Contract
48
+ // ============================================================================
49
+ // Contract between AppWorkerHost (main thread) and Worker Runtime (worker thread).
50
+ // Used by both Runtime and SDK Worker.
51
+ export * from './worker-protocol/index.js';
52
+ // ============================================================================
53
+ // Component Factory - SDK-Runtime Contract (RFC-027-C)
54
+ // ============================================================================
55
+ // Factory Injection Pattern for complete decoupling
56
+ export * from './component-factory.interface.js';
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spi/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAC/E,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAC/E,cAAc,gBAAgB,CAAC;AAE/B,+EAA+E;AAC/E,iEAAiE;AACjE,+EAA+E;AAC/E,2EAA2E;AAC3E,gDAAgD;AAChD,cAAc,oBAAoB,CAAC;AAEnC,+EAA+E;AAC/E,6DAA6D;AAC7D,+EAA+E;AAC/E,6DAA6D;AAC7D,oEAAoE;AACpE,cAAc,mBAAmB,CAAC;AAElC,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAC/E,mFAAmF;AACnF,uCAAuC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,+EAA+E;AAC/E,uDAAuD;AACvD,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * SPI Layer - App Host Service Interface
3
+ *
4
+ * 抽象 App 的安装、执行和状态查询。
5
+ * 实现可以是 Worker-based, WASM-based, 或 Remote-based。
6
+ *
7
+ * @module @aotui/runtime/spi
8
+ */
9
+ import type { AppID, DesktopID, ViewID } from '../core/types.js';
10
+ import type { OperationPayload } from '../core/operations.js';
11
+ import type { AppLaunchConfig } from '../app/app-config.interface.js';
12
+ /**
13
+ * Snapshot Fragment (Worker 端渲染结果)
14
+ *
15
+ * 当 Worker 端执行 Transformer 时,返回的局部渲染结果。
16
+ * Kernel 会将多个 Fragment 聚合为完整的 Snapshot。
17
+ */
18
+ export interface SnapshotFragment {
19
+ /** App ID */
20
+ appId: AppID;
21
+ /** Markdown 渲染结果 */
22
+ markup: string;
23
+ /** 索引映射表 (用于 Operation 参数解析) */
24
+ indexMap: Record<string, unknown>;
25
+ /** View 级片段(可选) */
26
+ views?: Array<{
27
+ viewId: ViewID;
28
+ viewType: string;
29
+ viewName?: string;
30
+ markup: string;
31
+ timestamp: number;
32
+ }>;
33
+ /** 更新时间戳 (用于排序) */
34
+ timestamp?: number;
35
+ }
36
+ /**
37
+ * App 安装选项
38
+ */
39
+ export interface AppInstallOptions {
40
+ /** 自定义 App ID (默认自动生成) */
41
+ appId?: AppID;
42
+ /** App 显示名称 */
43
+ name?: string;
44
+ /** App 启动配置 (环境变量、初始状态等) */
45
+ config?: AppLaunchConfig;
46
+ /** Worker 脚本路径 (可选,默认使用 Runtime 内置) */
47
+ workerScriptPath?: string;
48
+ /** [Fix] App 角色 */
49
+ promptRole?: 'user' | 'assistant';
50
+ }
51
+ /**
52
+ * App 托管服务接口
53
+ *
54
+ * 抽象 App 的安装、执行和状态查询。
55
+ *
56
+ * 设计原则:
57
+ * - 接口隔离: 仅暴露 Kernel 需要的能力
58
+ * - 依赖反转: Kernel 依赖此接口,不依赖具体实现
59
+ * - 可替换性: 支持 Worker、WASM、Remote 等多种托管策略
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // Worker-based implementation
64
+ * const appHost: IAppHostService = new WorkerAppHostService();
65
+ *
66
+ * const appId = await appHost.install(desktopId, './my-app.js');
67
+ * await appHost.executeOperation(desktopId, appId, operationPayload);
68
+ * const fragments = appHost.getSnapshotFragments(desktopId);
69
+ * ```
70
+ */
71
+ export interface IAppHostService {
72
+ /**
73
+ * 安装 App
74
+ *
75
+ * @param desktopId - 目标 Desktop
76
+ * @param modulePath - App 模块路径 (ESM)
77
+ * @param options - 安装选项
78
+ * @returns 分配的 App ID
79
+ * @throws {Error} E_NOT_FOUND 如果 Desktop 不存在
80
+ */
81
+ install(desktopId: DesktopID, modulePath: string, options?: AppInstallOptions): Promise<AppID>;
82
+ /**
83
+ * 执行操作
84
+ *
85
+ * 将操作载荷发送到指定 App 执行。
86
+ *
87
+ * @param desktopId - Desktop ID
88
+ * @param appId - 目标 App ID
89
+ * @param payload - 操作载荷
90
+ * @throws {Error} E_NOT_FOUND 如果 App 不存在
91
+ */
92
+ executeOperation(desktopId: DesktopID, appId: AppID, payload: OperationPayload): Promise<void>;
93
+ /**
94
+ * 挂载 View
95
+ */
96
+ /**
97
+ * 卸载 View
98
+ */
99
+ dismountView(desktopId: DesktopID, appId: AppID, viewId: ViewID): Promise<void>;
100
+ /**
101
+ * 获取所有 App 的 Snapshot Fragments
102
+ *
103
+ * @param desktopId - Desktop ID
104
+ * @returns 所有 App 的渲染片段
105
+ */
106
+ getSnapshotFragments(desktopId: DesktopID): SnapshotFragment[];
107
+ /**
108
+ * 获取 App 信息
109
+ *
110
+ * @param desktopId - Desktop ID
111
+ * @param appId - App ID
112
+ * @returns App 元信息 (name 等) 或 undefined
113
+ */
114
+ getAppInfo(desktopId: DesktopID, appId: AppID): {
115
+ name?: string;
116
+ } | undefined;
117
+ /**
118
+ * 检查 App 是否存在
119
+ */
120
+ hasApp(desktopId: DesktopID, appId: AppID): boolean;
121
+ /**
122
+ * 暂停指定 Desktop 的所有 App
123
+ */
124
+ pauseAll(desktopId: DesktopID): Promise<void>;
125
+ /**
126
+ * 恢复指定 Desktop 的所有 App
127
+ */
128
+ resumeAll(desktopId: DesktopID): Promise<void>;
129
+ /**
130
+ * 关闭指定 Desktop 的所有 App 并释放资源
131
+ */
132
+ closeAll(desktopId: DesktopID): Promise<void>;
133
+ /**
134
+ * 设置 Signal 发射器
135
+ *
136
+ * 当 App 需要触发 UI 更新信号时 (如 DOM 变化),
137
+ * 通过此回调通知上层。
138
+ *
139
+ * @param emitter - Signal 发射函数
140
+ */
141
+ setSignalEmitter(emitter: (desktopId: DesktopID, reason: string) => void): void;
142
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SPI Layer - App Host Service Interface
3
+ *
4
+ * 抽象 App 的安装、执行和状态查询。
5
+ * 实现可以是 Worker-based, WASM-based, 或 Remote-based。
6
+ *
7
+ * @module @aotui/runtime/spi
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=app-host.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-host.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/app-host.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,33 @@
1
+ import type { DesktopID, AppID } from '../core/types.js';
2
+ import type { AppLaunchConfig } from '../app/app-config.interface.js';
3
+ /**
4
+ * App 安装服务接口
5
+ *
6
+ * 职责: 在 Desktop 上安装 App
7
+ * 消费者: Kernel, Product Layer
8
+ *
9
+ * 可替换场景: 不同的 App 加载策略 (Worker/InProcess/Remote)
10
+ */
11
+ export interface IAppInstaller {
12
+ /**
13
+ * [Worker-Only] 安装 App
14
+ *
15
+ * App 运行在独立的 Worker Thread 中。
16
+ *
17
+ * [C1 Fix] workerScriptPath 现在是可选的,默认使用 Runtime 内置的 worker-runtime
18
+ *
19
+ * @param desktopId - Desktop ID
20
+ * @param appModulePath - App 模块路径
21
+ * @param options - 安装选项
22
+ */
23
+ installDynamicWorkerApp(desktopId: DesktopID, appModulePath: string, options?: {
24
+ workerScriptPath?: string;
25
+ appId?: string;
26
+ name?: string;
27
+ /** [RFC-013] App description for Agent */
28
+ description?: string;
29
+ whatItIs?: string;
30
+ whenToUse?: string;
31
+ config?: AppLaunchConfig;
32
+ }): Promise<AppID>;
33
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app-installer.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-installer.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/app-installer.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Runtime Context
3
+ *
4
+ * [RFC-026] Standardized Context Injection
5
+ * Provides environment awareness for the Runtime and Apps.
6
+ */
7
+ export interface IRuntimeContext {
8
+ /** Environment Variables (Project Path, User Info, etc.) */
9
+ env: Record<string, string | number | boolean>;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/context.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * SPI Layer - Desktop Context Interface
3
+ *
4
+ * Desktop 的不可变数据容器。
5
+ * 不包含行为,仅作为 Service 调用时的身份标识。
6
+ *
7
+ * @module @aotui/runtime/spi
8
+ */
9
+ import type { DesktopID, DesktopStatus } from '../core/types.js';
10
+ /**
11
+ * Desktop 上下文 (只读数据)
12
+ *
13
+ * 不包含行为,仅作为 Service 调用时的身份标识。
14
+ *
15
+ * 设计原则:
16
+ * - 不可变性: 所有属性为 readonly
17
+ * - 最小化: 仅包含必要的身份和状态信息
18
+ * - 可序列化: 可安全地跨边界传递
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const ctx: DesktopContext = {
23
+ * id: 'desktop_123',
24
+ * createdAt: Date.now(),
25
+ * status: 'active'
26
+ * };
27
+ *
28
+ * // 传递给 Service
29
+ * await appHostService.install(ctx.id, './app.js');
30
+ * ```
31
+ */
32
+ export interface DesktopContext {
33
+ /** Desktop 唯一标识符 */
34
+ readonly id: DesktopID;
35
+ /** 创建时间戳 */
36
+ readonly createdAt: number;
37
+ /** 当前状态 */
38
+ readonly status: DesktopStatus;
39
+ }
40
+ /**
41
+ * Desktop Context Factory
42
+ *
43
+ * 创建 DesktopContext 实例的工厂函数类型。
44
+ */
45
+ export type DesktopContextFactory = (id?: DesktopID) => DesktopContext;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SPI Layer - Desktop Context Interface
3
+ *
4
+ * Desktop 的不可变数据容器。
5
+ * 不包含行为,仅作为 Service 调用时的身份标识。
6
+ *
7
+ * @module @aotui/runtime/spi
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=desktop-context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-context.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-context.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * SPI Layer - IDesktopDOM Interface
3
+ *
4
+ * [C2 FIX] 从 AppManager 提取的接口,定义 Engine 层模块与 Desktop 交互的最小契约。
5
+ *
6
+ * 设计原则:
7
+ * - Interface Segregation: 只暴露 AppManager 等模块真正需要的方法
8
+ * - Stable Dependency: Engine 层模块依赖此 SPI 接口,而非具体 Desktop 实现
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ import type { DesktopID, AppID } from '../core/types.js';
13
+ /**
14
+ * Desktop DOM 操作接口
15
+ *
16
+ * Engine 层模块(如 AppManager, ViewManager)通过此接口与 Desktop 交互,
17
+ * 而非直接依赖 Desktop 类。这实现了依赖反转,使模块可独立测试。
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * class AppManager {
22
+ * constructor(private readonly desktop: IDesktopDOM) {}
23
+ *
24
+ * async installStatic(name: string, html: string): Promise<AppID> {
25
+ * const doc = this.desktop.getDocument();
26
+ * // ...
27
+ * }
28
+ * }
29
+ * ```
30
+ */
31
+ export interface IDesktopDOM {
32
+ /** Desktop 唯一标识 */
33
+ readonly id: DesktopID;
34
+ /** 获取 Document 对象 (用于 DOM 操作) */
35
+ getDocument(): Document;
36
+ /** 获取 Window 对象 (linkedom Window) */
37
+ getWindow(): any;
38
+ /** 发送更新信号 */
39
+ emitSignal(reason: string): void;
40
+ /** 记录系统日志 */
41
+ logSystem(message: string, level?: 'info' | 'warn' | 'error'): void;
42
+ /** 记录 App 操作日志 */
43
+ logAppOperation(appId: AppID, message: string, level?: 'info' | 'warn' | 'error'): void;
44
+ /** [A1] 观察 App 沙箱的 DOM 变化 */
45
+ observeAppDOM(appId: AppID, window: any): void;
46
+ /** [A1] 停止观察 App 沙箱 */
47
+ stopObservingApp(appId: AppID): void;
48
+ }