@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,13 @@
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
+ export {};
13
+ //# sourceMappingURL=desktop-dom.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-dom.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-dom.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,23 @@
1
+ import type { DesktopID } from '../core/types.js';
2
+ /**
3
+ * Desktop 生命周期控制接口
4
+ *
5
+ * 职责: 暂停/恢复 Desktop
6
+ * 消费者: Kernel
7
+ *
8
+ * 可替换场景: 不同的暂停策略 (冷冻内存/序列化到磁盘)
9
+ */
10
+ export interface IDesktopLifecycleController {
11
+ /**
12
+ * 暂停 Desktop
13
+ *
14
+ * 会调用所有动态 App 的 onPause()
15
+ */
16
+ suspend(desktopId: DesktopID): Promise<void>;
17
+ /**
18
+ * 恢复 Desktop
19
+ *
20
+ * 会调用所有动态 App 的 onResume()
21
+ */
22
+ resume(desktopId: DesktopID): Promise<void>;
23
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=desktop-lifecycle.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-lifecycle.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-lifecycle.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import type { DesktopID } from '../core/types.js';
2
+ /**
3
+ * 锁状态信息
4
+ */
5
+ export interface LockInfo {
6
+ /** 锁持有者 ID */
7
+ ownerId: string;
8
+ /** 锁获取时间戳 */
9
+ acquiredAt: number;
10
+ /** 锁是否有效 (未过期) */
11
+ valid: boolean;
12
+ }
13
+ /**
14
+ * Desktop 锁服务接口
15
+ *
16
+ * 职责: 并发控制,防止多 Agent 同时操作同一 Desktop
17
+ * 消费者: Kernel (验证/刷新), Bridge (获取/释放)
18
+ *
19
+ * 可替换场景: 分布式锁实现 (Redis/Zookeeper)
20
+ */
21
+ export interface IDesktopLockService {
22
+ /**
23
+ * 获取 Desktop 写锁
24
+ *
25
+ * - 支持重入: 同一 owner 多次获取会刷新时间戳
26
+ * - 锁过期时: 允许新 owner 接管
27
+ *
28
+ * @throws {AOTUIError} DESKTOP_LOCKED 如果已被其他 owner 锁定且未过期
29
+ */
30
+ acquireLock(desktopId: DesktopID, ownerId: string): void;
31
+ /**
32
+ * 释放 Desktop 写锁
33
+ * 仅锁持有者可释放,其他人调用静默忽略
34
+ */
35
+ releaseLock(desktopId: DesktopID, ownerId: string): void;
36
+ /**
37
+ * 验证锁所有权
38
+ * @returns true 如果 ownerId 持有有效锁
39
+ */
40
+ verifyLock(desktopId: DesktopID, ownerId: string): boolean;
41
+ /**
42
+ * 刷新锁时间戳
43
+ * 防止长时间操作导致锁过期
44
+ */
45
+ refreshLock(desktopId: DesktopID, ownerId: string): void;
46
+ /**
47
+ * 获取锁信息 (用于调试/监控)
48
+ */
49
+ getLockInfo(desktopId: DesktopID): LockInfo | undefined;
50
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=desktop-lock.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-lock.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-lock.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * SPI Layer - Desktop Manager Interface (Composition)
3
+ *
4
+ * 管理 Desktop 实例的完整生命周期和并发控制。
5
+ *
6
+ * [RFC-004] Interface Composition:
7
+ * IDesktopManager 现在是一个组合类型,由 5 个聚焦的原子接口组成。
8
+ * 这允许未来的实现按需拆分,同时保持对现有消费者的向后兼容。
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ export type { LockInfo } from './desktop-lock.interface.js';
13
+ import type { IDesktopRepository } from './desktop-repository.interface.js';
14
+ import type { IDesktopLockService } from './desktop-lock.interface.js';
15
+ import type { IAppInstaller } from './app-installer.interface.js';
16
+ import type { IDesktopStateAccessor } from './desktop-state-accessor.interface.js';
17
+ import type { IDesktopLifecycleController } from './desktop-lifecycle.interface.js';
18
+ import type { DesktopID } from '../core/index.js';
19
+ import type { IRuntimeContext } from './context.interface.js';
20
+ export interface IDesktopManager extends IDesktopRepository, IDesktopLockService, IAppInstaller, IDesktopStateAccessor, IDesktopLifecycleController {
21
+ create(desktopId?: DesktopID, context?: IRuntimeContext): Promise<DesktopID>;
22
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SPI Layer - Desktop Manager Interface (Composition)
3
+ *
4
+ * 管理 Desktop 实例的完整生命周期和并发控制。
5
+ *
6
+ * [RFC-004] Interface Composition:
7
+ * IDesktopManager 现在是一个组合类型,由 5 个聚焦的原子接口组成。
8
+ * 这允许未来的实现按需拆分,同时保持对现有消费者的向后兼容。
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=desktop-manager.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-manager.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-manager.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,8 @@
1
+ import type { DesktopID } from '../core/index.js';
2
+ import type { IRuntimeContext } from './context.interface.js';
3
+ export interface IDesktopRepository {
4
+ create(desktopId?: DesktopID, context?: IRuntimeContext): Promise<DesktopID>;
5
+ destroy(desktopId: DesktopID): Promise<void>;
6
+ has(desktopId: DesktopID): boolean;
7
+ get(desktopId: DesktopID): import('./kernel.interface.js').IDesktop | undefined;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=desktop-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-repository.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-repository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { DesktopID, AppState, DesktopStatus } from '../core/types.js';
2
+ /**
3
+ * Desktop 状态访问接口
4
+ *
5
+ * 职责: 只读访问 Desktop 和 App 状态
6
+ * 消费者: Kernel (序列化)
7
+ *
8
+ * 可替换场景: 缓存层、远程状态存储
9
+ */
10
+ export interface IDesktopStateAccessor {
11
+ /**
12
+ * 获取 App 状态列表 (用于序列化)
13
+ */
14
+ getAppStates(desktopId: DesktopID): AppState[];
15
+ /**
16
+ * 获取 Desktop 状态信息 (用于序列化)
17
+ */
18
+ getDesktopInfo(desktopId: DesktopID): {
19
+ status: DesktopStatus;
20
+ createdAt: number;
21
+ } | undefined;
22
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=desktop-state-accessor.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-state-accessor.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/desktop-state-accessor.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * SPI - IDispatcher Interface
3
+ *
4
+ * Defines the contract for operation dispatching.
5
+ * The Kernel depends on this interface, not on concrete implementations.
6
+ *
7
+ * @module @aotui/runtime/spi/runtime
8
+ */
9
+ import type { IDesktop, IRegistry } from './kernel.interface.js';
10
+ import type { Operation, OperationResult } from '../core/index.js';
11
+ /**
12
+ * Dispatcher Interface
13
+ *
14
+ * Dispatches operations to the target application.
15
+ * Handles argument resolution and delegates transport to Desktop.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const dispatcher: IDispatcher = new Dispatcher();
20
+ * const result = await dispatcher.dispatch(desktop, operation, registry);
21
+ * console.log(result.success); // true or false
22
+ * ```
23
+ */
24
+ export interface IDispatcher {
25
+ /**
26
+ * Dispatches an operation to the target application
27
+ *
28
+ * @param desktop - The Desktop instance containing the target app
29
+ * @param operation - The Operation to dispatch
30
+ * @param registry - The SnapshotRegistry for argument resolution
31
+ * @returns The result of the operation execution
32
+ */
33
+ dispatch(desktop: IDesktop, operation: Operation, registry: IRegistry): Promise<OperationResult>;
34
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SPI - IDispatcher Interface
3
+ *
4
+ * Defines the contract for operation dispatching.
5
+ * The Kernel depends on this interface, not on concrete implementations.
6
+ *
7
+ * @module @aotui/runtime/spi/runtime
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=dispatcher.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/dispatcher.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * SPI Runtime Layer - Internal Interfaces
3
+ *
4
+ * Runtime 内部使用的接口,不对外公开。
5
+ * Product Layer 和 Runtime Engine 使用这些接口。
6
+ *
7
+ * @module @aotui/runtime/spi/runtime
8
+ * @internal
9
+ */
10
+ export type { IDesktop, IRegistry, IKernel, ShutdownOptions, } from './kernel.interface.js';
11
+ export type { IDesktopManager, LockInfo, } from './desktop-manager.interface.js';
12
+ export type { IDesktopRepository } from './desktop-repository.interface.js';
13
+ export type { IDesktopLockService } from './desktop-lock.interface.js';
14
+ export type { IAppInstaller } from './app-installer.interface.js';
15
+ export type { IDesktopStateAccessor } from './desktop-state-accessor.interface.js';
16
+ export type { IDesktopLifecycleController } from './desktop-lifecycle.interface.js';
17
+ export type { IDesktopDOM } from './desktop-dom.interface.js';
18
+ export type { IWorkerRuntime, WorkerRuntimeConfig, WorkerDOMEnvironment, WorkerMessage, IAppAdapter, AppAdapterMountResult, } from './worker-runtime.interface.js';
19
+ export type { RequestID, WorkerMessageType, IWorkerMessage, IWorkerRequest, IWorkerResponse, IWorkerError, } from './worker-message.interface.js';
20
+ export { generateRequestId, isWorkerResponse, isWorkerRequest, isDomUpdateMessage, isWorkerPush, } from './worker-message.interface.js';
21
+ export type { ITransformer, TransformResult } from './transformer.interface.js';
22
+ export type { IDispatcher } from './dispatcher.interface.js';
23
+ export type { IAppHostService, SnapshotFragment, AppInstallOptions, } from './app-host.interface.js';
24
+ export type { ISignalService, ISignalOutputStream, SignalListener, } from './signal.interface.js';
25
+ export type { DesktopContext, DesktopContextFactory, } from './desktop-context.interface.js';
26
+ export type { IRuntimeContext } from './context.interface.js';
27
+ export type { InstalledAppInfo, LogEntry, IDesktopMetadata, ISnapshotFragment, FormattedSnapshotResult, ISnapshotFormatter, } from './snapshot.interface.js';
28
+ export type { ILLMOutputChannelService } from './llm-output-channel.interface.js';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SPI Runtime Layer - Internal Interfaces
3
+ *
4
+ * Runtime 内部使用的接口,不对外公开。
5
+ * Product Layer 和 Runtime Engine 使用这些接口。
6
+ *
7
+ * @module @aotui/runtime/spi/runtime
8
+ * @internal
9
+ */
10
+ export { generateRequestId, isWorkerResponse, isWorkerRequest, isDomUpdateMessage, isWorkerPush, } from './worker-message.interface.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6DH,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,YAAY,GACf,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * SPI Layer - Kernel Interfaces
3
+ *
4
+ * 定义 Kernel、Desktop、Registry 的契约。
5
+ */
6
+ import type { SnapshotID, DesktopID, AppID, ViewID, DataPayload, IndexMap, DesktopState } from '../core/types.js';
7
+ import type { Tool } from '../core/tool-call.js';
8
+ import type { Operation, OperationResult, OperationPayload } from '../core/operations.js';
9
+ import type { UpdateSignal } from '../core/signals.js';
10
+ import type { CachedSnapshot } from '../core/snapshot.js';
11
+ import type { IRuntimeContext } from './context.interface.js';
12
+ /**
13
+ * Desktop 接口
14
+ *
15
+ * [Worker-Only] 隔离的运行时沙箱,托管多个 App。
16
+ * 所有 App 运行在独立的 Worker Thread 中。
17
+ */
18
+ export interface IDesktop {
19
+ id: DesktopID;
20
+ /**
21
+ * [Worker-Only] 安装 App
22
+ *
23
+ * App 运行在独立的 Worker Thread 中。
24
+ *
25
+ * [C1 Fix] workerScriptPath 现在是可选的,默认使用 Runtime 内置的 worker-runtime
26
+ */
27
+ installDynamicWorkerApp(appModulePath: string, options?: {
28
+ workerScriptPath?: string;
29
+ appId?: string;
30
+ name?: string;
31
+ /** [RFC-013] App description for Agent */
32
+ description?: string;
33
+ whatItIs?: string;
34
+ whenToUse?: string;
35
+ config?: import('../app/app-config.interface.js').AppLaunchConfig;
36
+ promptRole?: 'user' | 'assistant';
37
+ }): Promise<string>;
38
+ /**
39
+ * [RFC-014] 注册待启动 App (懒加载)
40
+ *
41
+ * App 信息写入 installedApps,但不启动 Worker。
42
+ * Agent 可以在 Snapshot 中看到这些 App,并通过 open_app 启动。
43
+ */
44
+ registerPendingApp(options: {
45
+ appId?: string;
46
+ name?: string;
47
+ description?: string;
48
+ whatItIs?: string;
49
+ whenToUse?: string;
50
+ modulePath: string;
51
+ workerScriptPath?: string;
52
+ promptRole?: 'user' | 'assistant';
53
+ }): Promise<string>;
54
+ openApp(appId: AppID): Promise<void>;
55
+ closeApp(appId: AppID): Promise<void>;
56
+ collapseApp(appId: AppID): Promise<void>;
57
+ showApp(appId: AppID): Promise<void>;
58
+ dismountView(appId: AppID, viewId: ViewID): Promise<void>;
59
+ hideView(appId: AppID, viewId: ViewID): Promise<void>;
60
+ showView(appId: AppID, viewId: ViewID): Promise<void>;
61
+ mountViewByLink(appId: AppID, parentViewId: ViewID, linkId: string): Promise<void>;
62
+ /**
63
+ * 分发操作到应用容器
64
+ *
65
+ * [C2 Refactor] 替代 Dispatcher 直接操作 DOM
66
+ * Desktop 负责将操作载荷转换为 DOM 事件并发送给 App。
67
+ *
68
+ * @param appId - 目标 App ID
69
+ * @param payload - 操作载荷
70
+ * @returns 操作执行结果
71
+ */
72
+ dispatchOperation(appId: AppID, payload: OperationPayload): Promise<OperationResult>;
73
+ output: {
74
+ subscribe(listener: (signal: UpdateSignal) => void): void;
75
+ unsubscribe(listener: (signal: UpdateSignal) => void): void;
76
+ };
77
+ /**
78
+ * [RFC-001] 获取所有 App 的 Snapshot Fragments
79
+ *
80
+ * 当 Worker-Side Transformation 启用时,Worker 直接执行 Transformer,
81
+ * 此方法返回所有 App 的缓存 Markdown + IndexMap + ViewTree。
82
+ *
83
+ * [RFC-007] Added viewTree for Application View Tree section
84
+ *
85
+ * @returns 所有 App 的 Snapshot Fragments
86
+ */
87
+ getSnapshotFragments(): {
88
+ appId: AppID;
89
+ markup: string;
90
+ indexMap: Record<string, unknown>;
91
+ views?: Array<{
92
+ viewId: ViewID;
93
+ viewType: string;
94
+ viewName?: string;
95
+ markup: string;
96
+ timestamp: number;
97
+ }>;
98
+ viewTree?: string;
99
+ }[];
100
+ /**
101
+ * 获取 App 信息
102
+ * @param appId - App ID
103
+ * @returns App 信息 (name, etc.) 或 undefined
104
+ */
105
+ getAppInfo?(appId: AppID): {
106
+ name?: string;
107
+ } | undefined;
108
+ /**
109
+ * 等待所有活动 Worker 结束
110
+ *
111
+ * 用于 Graceful Shutdown
112
+ */
113
+ drain(): Promise<void>;
114
+ /**
115
+ * [RFC-015] 删除 Desktop
116
+ *
117
+ * 1. 调用所有 App 的 onDelete() (清理持久化数据)
118
+ * 2. 调用 drain() (关闭 Worker)
119
+ * 3. 清理资源
120
+ */
121
+ delete(): Promise<void>;
122
+ }
123
+ /**
124
+ * Registry 接口
125
+ *
126
+ * 管理 Snapshot 的存储和生命周期。
127
+ */
128
+ export interface IRegistry {
129
+ /**
130
+ * 创建并注册新快照
131
+ *
132
+ * @param indexMap - 索引映射
133
+ * @param markup - 完整的 Markdown 内容 (向后兼容)
134
+ * @param ttl - 可选的生存时间
135
+ * @param structured - [RFC-014] 可选的结构化快照
136
+ */
137
+ create(indexMap: IndexMap, markup: string, ttl?: number, structured?: import('../core/snapshot.js').StructuredSnapshot): CachedSnapshot;
138
+ retain(id: SnapshotID): void;
139
+ release(id: SnapshotID): void;
140
+ resolve(id: SnapshotID, path: string): DataPayload | undefined;
141
+ }
142
+ /**
143
+ * Kernel 接口
144
+ *
145
+ * Runtime 的核心编排器。
146
+ */
147
+ export interface IKernel {
148
+ createDesktop(desktopId?: DesktopID, context?: IRuntimeContext): Promise<DesktopID>;
149
+ destroyDesktop(desktopId: DesktopID): Promise<void>;
150
+ /**
151
+ * [Worker-Only] 安装 App
152
+ *
153
+ * @param desktopId - 目标桌面 ID
154
+ * @param appModulePath - App 模块路径
155
+ * @param workerScriptPath - Worker 脚本路径 (可选,默认使用 Runtime 内置)
156
+ * @param options - 可选配置
157
+ * @returns 分配的 appId
158
+ *
159
+ * [C1 Fix] workerScriptPath 现在是可选的
160
+ */
161
+ installDynamicWorkerApp(desktopId: DesktopID, appModulePath: string, options?: {
162
+ workerScriptPath?: string;
163
+ appId?: string;
164
+ name?: string;
165
+ /** [RFC-013] App description for Agent */
166
+ description?: string;
167
+ config?: import('../app/app-config.interface.js').AppLaunchConfig;
168
+ promptRole?: 'user' | 'assistant';
169
+ }): Promise<string>;
170
+ /**
171
+ * 获取 Desktop 实例
172
+ * @throws {Error} E_NOT_FOUND if Desktop doesn't exist
173
+ */
174
+ getDesktop(desktopId: DesktopID): IDesktop;
175
+ acquireLock(desktopId: DesktopID, ownerId: string): void;
176
+ releaseLock(desktopId: DesktopID, ownerId: string): void;
177
+ acquireSnapshot(desktopId: DesktopID, ttl?: number): Promise<CachedSnapshot>;
178
+ releaseSnapshot(snapshotId: SnapshotID): void;
179
+ /**
180
+ * 执行操作
181
+ *
182
+ * @param desktopId - 目标 Desktop
183
+ * @param operation - 操作对象
184
+ * @param ownerId - 锁持有者 ID
185
+ */
186
+ execute(desktopId: DesktopID, operation: Operation, ownerId: string): Promise<OperationResult>;
187
+ /**
188
+ * 获取系统工具定义
189
+ */
190
+ getSystemToolDefinitions(): Tool[];
191
+ suspend(desktopId: DesktopID): Promise<void>;
192
+ resume(desktopId: DesktopID): Promise<void>;
193
+ serialize(desktopId: DesktopID): DesktopState;
194
+ /**
195
+ * [RFC-014] 优雅关闭 Desktop
196
+ *
197
+ * 1. 调用 Desktop.drain() 等待 App 清理
198
+ * 2. 执行 beforeClose 回调(如持久化)
199
+ * 3. 销毁 Desktop
200
+ *
201
+ * @param desktopId - Desktop ID
202
+ * @param options - 关闭选项
203
+ */
204
+ gracefulShutdown(desktopId: DesktopID, options?: ShutdownOptions): Promise<void>;
205
+ /**
206
+ * [RFC-015] 删除 Desktop
207
+ *
208
+ * 永久销毁 Desktop 及其所有数据。
209
+ * 会触发 App 的 onDelete 生命周期钩子。
210
+ */
211
+ deleteDesktop(desktopId: DesktopID): Promise<void>;
212
+ }
213
+ /**
214
+ * [RFC-014] 优雅关闭选项
215
+ */
216
+ export interface ShutdownOptions {
217
+ /** 超时时间(ms),默认 30000 */
218
+ timeoutMs?: number;
219
+ /** 关闭前回调 */
220
+ beforeClose?: () => Promise<void>;
221
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SPI Layer - Kernel Interfaces
3
+ *
4
+ * 定义 Kernel、Desktop、Registry 的契约。
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=kernel.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/kernel.interface.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * SPI Layer - LLM Output Channel Service Interface
3
+ *
4
+ * [RFC-011] LLM Output Output Channel
5
+ *
6
+ * 管理 Desktop 级别的 LLM 文本发布订阅。
7
+ * 每个 Desktop 有独立的通道,支持历史缓冲。
8
+ *
9
+ * @module @aotui/runtime/spi
10
+ */
11
+ import type { DesktopID } from '../core/types.js';
12
+ import type { LLMOutputEvent, LLMOutputListener, LLMOutputEventMeta } from '../core/llm-output.js';
13
+ /**
14
+ * LLM Output Channel Service 接口
15
+ *
16
+ * 管理 Desktop 级别的 LLM 文本发布订阅。
17
+ *
18
+ * 设计原则:
19
+ * - Opt-in: Apps 按需订阅,不关心则无开销
20
+ * - Desktop 隔离: 每个 Desktop 有独立的通道
21
+ * - 历史支持: 新订阅者可获取最近 N 条消息
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const service: ILLMOutputChannelService = new LLMOutputChannelService();
26
+ *
27
+ * // 订阅
28
+ * const unsubscribe = service.subscribe(desktopId, (event) => {
29
+ * console.log('LLM said:', event.content);
30
+ * });
31
+ *
32
+ * // 推送 (由 AgentDriver 调用)
33
+ * service.push(desktopId, 'Thinking...', 'complete');
34
+ *
35
+ * // 取消订阅
36
+ * unsubscribe();
37
+ * ```
38
+ */
39
+ export interface ILLMOutputChannelService {
40
+ /**
41
+ * 订阅 LLM 文本事件
42
+ *
43
+ * 订阅时会立即接收到历史消息 (最近 N 条)。
44
+ *
45
+ * @param desktopId - Desktop ID
46
+ * @param listener - 事件处理函数
47
+ * @returns 取消订阅的函数
48
+ */
49
+ subscribe(desktopId: DesktopID, listener: LLMOutputListener): () => void;
50
+ /**
51
+ * 推送 LLM 文本事件
52
+ *
53
+ * [RFC-020] 支持结构化 payload { reasoning?, content? }
54
+ * 由 AgentDriver 通过 Bridge 调用。
55
+ *
56
+ * @param desktopId - Desktop ID
57
+ * @param payload - 结构化内容 { reasoning?, content? }
58
+ * @param meta - 可选元数据
59
+ */
60
+ push(desktopId: DesktopID, payload: {
61
+ reasoning?: string;
62
+ content?: string;
63
+ }, meta?: LLMOutputEventMeta): void;
64
+ /**
65
+ * 获取历史消息
66
+ *
67
+ * 返回最近 N 条消息 (默认 3 条)。
68
+ *
69
+ * @param desktopId - Desktop ID
70
+ * @returns 历史事件数组
71
+ */
72
+ getHistory(desktopId: DesktopID): LLMOutputEvent[];
73
+ /**
74
+ * 清理 Desktop 相关资源
75
+ *
76
+ * 当 Desktop 销毁时调用,释放订阅者和历史记录。
77
+ *
78
+ * @param desktopId - Desktop ID
79
+ */
80
+ cleanup(desktopId: DesktopID): void;
81
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SPI Layer - LLM Output Channel Service Interface
3
+ *
4
+ * [RFC-011] LLM Output Output Channel
5
+ *
6
+ * 管理 Desktop 级别的 LLM 文本发布订阅。
7
+ * 每个 Desktop 有独立的通道,支持历史缓冲。
8
+ *
9
+ * @module @aotui/runtime/spi
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=llm-output-channel.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-output-channel.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/llm-output-channel.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}