@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,119 @@
1
+ /**
2
+ * SPI Layer - ID Factory Functions
3
+ *
4
+ * 提供类型安全的 ID 创建函数。
5
+ *
6
+ * 使用工厂函数代替直接 `as TYPE` 断言,确保 ID 格式一致性。
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createDesktopId, createAppId } from '@aotui/runtime';
11
+ *
12
+ * const desktopId = createDesktopId(); // 'dt_abc12345'
13
+ * const customId = createDesktopId('dt_my-id'); // 'dt_my-id'
14
+ * const appId = createAppId(0); // 'app_0'
15
+ * ```
16
+ *
17
+ * @module @aotui/runtime/spi/core
18
+ */
19
+ import { randomUUID } from 'crypto';
20
+ // ============================================================================
21
+ // ID Prefixes (Internal Convention)
22
+ // ============================================================================
23
+ /**
24
+ * ID 前缀约定(内部使用)
25
+ *
26
+ * @internal
27
+ */
28
+ export const ID_PREFIXES = {
29
+ Desktop: 'dt_',
30
+ App: 'app_',
31
+ View: 'view_',
32
+ Snapshot: 'snap_',
33
+ Operation: 'op_'
34
+ };
35
+ // ============================================================================
36
+ // Factory Functions
37
+ // ============================================================================
38
+ /**
39
+ * 创建 DesktopID
40
+ *
41
+ * @param id - 可选的自定义 ID(应包含 'dt_' 前缀)
42
+ * @returns Branded DesktopID
43
+ */
44
+ export function createDesktopId(id) {
45
+ return (id ?? `${ID_PREFIXES.Desktop}${randomUUID().slice(0, 8)}`);
46
+ }
47
+ /**
48
+ * 创建 AppID
49
+ *
50
+ * @param indexOrId - App 索引号或现有 ID 字符串
51
+ * @returns Branded AppID
52
+ */
53
+ export function createAppId(indexOrId) {
54
+ if (typeof indexOrId === 'number') {
55
+ return `${ID_PREFIXES.App}${indexOrId}`;
56
+ }
57
+ return indexOrId;
58
+ }
59
+ /**
60
+ * 创建 ViewID
61
+ *
62
+ * @param indexOrId - View 索引号或现有 ID 字符串
63
+ * @returns Branded ViewID
64
+ */
65
+ export function createViewId(indexOrId) {
66
+ if (typeof indexOrId === 'number') {
67
+ return `${ID_PREFIXES.View}${indexOrId}`;
68
+ }
69
+ return indexOrId;
70
+ }
71
+ /**
72
+ * 创建 SnapshotID
73
+ *
74
+ * @param id - 可选的现有 ID 字符串
75
+ * @returns Branded SnapshotID
76
+ */
77
+ export function createSnapshotId(id) {
78
+ return (id ?? `${ID_PREFIXES.Snapshot}${randomUUID().slice(0, 8)}`);
79
+ }
80
+ /**
81
+ * 创建 OperationID
82
+ *
83
+ * @param name - 操作名称
84
+ * @returns Branded OperationID
85
+ */
86
+ export function createOperationId(name) {
87
+ return name;
88
+ }
89
+ // ============================================================================
90
+ // Type Guards (for runtime validation in future)
91
+ // ============================================================================
92
+ /**
93
+ * 检查字符串是否为有效的 DesktopID 格式
94
+ *
95
+ * @param value - 要检查的字符串
96
+ * @returns 类型谓词
97
+ */
98
+ export function isDesktopId(value) {
99
+ return typeof value === 'string' && value.startsWith(ID_PREFIXES.Desktop);
100
+ }
101
+ /**
102
+ * 检查字符串是否为有效的 AppID 格式
103
+ */
104
+ export function isAppId(value) {
105
+ return typeof value === 'string' && value.startsWith(ID_PREFIXES.App);
106
+ }
107
+ /**
108
+ * 检查字符串是否为有效的 ViewID 格式
109
+ */
110
+ export function isViewId(value) {
111
+ return typeof value === 'string' && value.startsWith(ID_PREFIXES.View);
112
+ }
113
+ /**
114
+ * 检查字符串是否为有效的 SnapshotID 格式
115
+ */
116
+ export function isSnapshotId(value) {
117
+ return typeof value === 'string' && value.startsWith(ID_PREFIXES.Snapshot);
118
+ }
119
+ //# sourceMappingURL=id-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-factory.js","sourceRoot":"","sources":["../../../src/spi/core/id-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,KAAK;CACV,CAAC;AAEX,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAAW;IACvC,OAAO,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAc,CAAC;AACpF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,SAA0B;IAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,WAAW,CAAC,GAAG,GAAG,SAAS,EAAW,CAAC;IACrD,CAAC;IACD,OAAO,SAAkB,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,SAA0B;IACnD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,WAAW,CAAC,IAAI,GAAG,SAAS,EAAY,CAAC;IACvD,CAAC;IACD,OAAO,SAAmB,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAW;IACxC,OAAO,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAe,CAAC;AACtF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,OAAO,IAAmB,CAAC;AAC/B,CAAC;AAED,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SPI Core Layer - Foundation Types
3
+ *
4
+ * 最基础的类型定义,零外部依赖。
5
+ * 这是整个 AOTUI 框架的"语言"。
6
+ *
7
+ * @module @aotui/runtime/spi/core
8
+ */
9
+ export type { SnapshotID, DesktopID, AppID, ViewID, OperationID, } from './types.js';
10
+ export { createDesktopId, createAppId, createViewId, createSnapshotId, createOperationId, isDesktopId, isAppId, isViewId, isSnapshotId, ID_PREFIXES, } from './id-factory.js';
11
+ export type { DataPayload, IndexMap, } from './types.js';
12
+ export type { DesktopStatus, AppState, DesktopState, AppConfig, } from './types.js';
13
+ export type { OperationContext, OperationScope, Operation, OperationError, OperationResult, OperationPayload, SystemOperationContext, ISystemOperation, IDesktopForOperation, ISystemOperationRegistry, } from './operations.js';
14
+ export type { UpdateSignal } from './signals.js';
15
+ export type { CachedSnapshot, StructuredSnapshot, AppStateFragment, ViewStateFragment } from './snapshot.js';
16
+ export { isSnapshotExpired } from './snapshot.js';
17
+ export type { Tool, ToolCall, ToolCallResult, OperationParamDef, OperationDef, } from './tool-call.js';
18
+ export { ERROR_CODES, AOTUIError, createOperationError, failedResult, } from './errors.js';
19
+ export type { ErrorCode } from './errors.js';
20
+ export type { OperationLogScope, OperationLogEntry, IOperationLogBuffer, OperationLogParams, } from './operation-log.js';
21
+ export type { LLMOutputEvent, LLMOutputEventMeta, LLMOutputListener, } from './llm-output.js';
@@ -0,0 +1,25 @@
1
+ /**
2
+ * SPI Core Layer - Foundation Types
3
+ *
4
+ * 最基础的类型定义,零外部依赖。
5
+ * 这是整个 AOTUI 框架的"语言"。
6
+ *
7
+ * @module @aotui/runtime/spi/core
8
+ */
9
+ // ============================================================================
10
+ // ID Factory Functions
11
+ // ============================================================================
12
+ export {
13
+ // Factory Functions
14
+ createDesktopId, createAppId, createViewId, createSnapshotId, createOperationId,
15
+ // Type Guards
16
+ isDesktopId, isAppId, isViewId, isSnapshotId,
17
+ // Unsafe Casts (backward compatibility)
18
+ // Constants
19
+ ID_PREFIXES, } from './id-factory.js';
20
+ export { isSnapshotExpired } from './snapshot.js';
21
+ // ============================================================================
22
+ // Error System
23
+ // ============================================================================
24
+ export { ERROR_CODES, AOTUIError, createOperationError, failedResult, } from './errors.js';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E,OAAO;AACH,oBAAoB;AACpB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB;AACjB,cAAc;AACd,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY;AACZ,wCAAwC;AAExC,YAAY;AACZ,WAAW,GACd,MAAM,iBAAiB,CAAC;AA8CzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAalD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAC/E,OAAO,EACH,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,YAAY,GACf,MAAM,aAAa,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * SPI Layer - LLM Output Types
3
+ *
4
+ * [RFC-011] LLM Output Output Channel
5
+ *
6
+ * 定义 LLM 文本输出事件类型,用于将 Agent 的文本输出
7
+ * 暴露给 Desktop 上的 TUI 应用。
8
+ *
9
+ * @module @aotui/runtime/spi
10
+ */
11
+ import type { DesktopID } from './types.js';
12
+ /**
13
+ * LLM 文本事件类型
14
+ *
15
+ * 当 LLM 产生非 Tool Call 的文本输出时触发。
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const event: LLMOutputEvent = {
20
+ * desktopId: 'desktop_1' as DesktopID,
21
+ * timestamp: Date.now(),
22
+ * type: 'complete',
23
+ * content: 'Let me analyze this request...',
24
+ * meta: { model: 'gpt-4' }
25
+ * };
26
+ * ```
27
+ */
28
+ export interface LLMOutputEvent {
29
+ /** Desktop ID */
30
+ desktopId: DesktopID;
31
+ /** 时间戳 (毫秒) */
32
+ timestamp: number;
33
+ /**
34
+ * 事件类型
35
+ * - complete: 完整消息 (V1 only)
36
+ * - chunk: 流式片段 (future)
37
+ */
38
+ type: 'complete';
39
+ /**
40
+ * [RFC-020] LLM 最终回复内容
41
+ * 可选 - 若模型只输出 reasoning 可为空
42
+ */
43
+ content?: string;
44
+ /**
45
+ * [RFC-020] LLM 思考/推理过程
46
+ * DeepSeek Reasoner 等思考模型的 Chain-of-Thought 内容
47
+ */
48
+ reasoning?: string;
49
+ /** 元数据 (可选) */
50
+ meta?: LLMOutputEventMeta;
51
+ }
52
+ /**
53
+ * LLM 文本事件元数据
54
+ */
55
+ export interface LLMOutputEventMeta {
56
+ /** 模型名称 (如 'gpt-4', 'claude-3') */
57
+ model?: string;
58
+ /** Provider ID (如 'openai', 'anthropic') */
59
+ providerId?: string;
60
+ /** Model ID (如 'gpt-4', 'claude-3-5-sonnet-20241022') */
61
+ modelId?: string;
62
+ /** 角色 */
63
+ role?: 'assistant' | 'system';
64
+ /** Token 使用情况 */
65
+ usage?: {
66
+ promptTokens: number;
67
+ completionTokens: number;
68
+ totalTokens: number;
69
+ };
70
+ }
71
+ /**
72
+ * LLM 文本通道监听器
73
+ */
74
+ export type LLMOutputListener = (event: LLMOutputEvent) => void;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SPI Layer - LLM Output Types
3
+ *
4
+ * [RFC-011] LLM Output Output Channel
5
+ *
6
+ * 定义 LLM 文本输出事件类型,用于将 Agent 的文本输出
7
+ * 暴露给 Desktop 上的 TUI 应用。
8
+ *
9
+ * @module @aotui/runtime/spi
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=llm-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-output.js","sourceRoot":"","sources":["../../../src/spi/core/llm-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * SPI Layer - Operation Log Types
3
+ *
4
+ * Defines the structure for operation execution logs that capture:
5
+ * - WHO: The agent/actor that initiated the operation
6
+ * - WHEN: Timestamp and duration of execution
7
+ * - WHERE: Desktop > App > View hierarchy
8
+ * - WHAT: Operation name, result, and semantic description
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ import type { AppID, ViewID, DesktopID, OperationID } from './types.js';
13
+ /**
14
+ * Operation execution scope
15
+ */
16
+ export type OperationLogScope = 'system' | 'app';
17
+ /**
18
+ * Operation Log Entry
19
+ *
20
+ * Captures complete context of an operation execution for debugging,
21
+ * monitoring, and Agent awareness.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const entry: OperationLogEntry = {
26
+ * id: 'log_001',
27
+ * actor: 'Gemini',
28
+ * timestamp: Date.now(),
29
+ * durationMs: 12,
30
+ * desktopId: 'desktop_0' as DesktopID,
31
+ * appId: 'app_chat' as AppID,
32
+ * appName: 'System-Chat',
33
+ * viewId: 'view_0' as ViewID,
34
+ * viewName: 'ChatView',
35
+ * scope: 'app',
36
+ * operationName: 'send_message' as OperationID,
37
+ * keyArgs: { content: 'Hello...' },
38
+ * success: true,
39
+ * semanticDescription: '15:32:45 ✅ Gemini in System-Chat/ChatView sent message "Hello..." (12ms)'
40
+ * };
41
+ * ```
42
+ */
43
+ export interface OperationLogEntry {
44
+ /** Unique log entry ID */
45
+ id: string;
46
+ /** Actor who initiated (e.g., "Gemini", "DeepSeek", "User") */
47
+ actor: string;
48
+ /** Execution start timestamp */
49
+ timestamp: number;
50
+ /** Execution duration in milliseconds */
51
+ durationMs: number;
52
+ /** Desktop ID */
53
+ desktopId: DesktopID;
54
+ /** Target App ID (for app/view operations) */
55
+ appId?: AppID;
56
+ /** App display name (for human-readable logs) */
57
+ appName?: string;
58
+ /** Target View ID (for view operations) */
59
+ viewId?: ViewID;
60
+ /** View display name */
61
+ viewName?: string;
62
+ /** Operation scope */
63
+ scope: OperationLogScope;
64
+ /** Operation name */
65
+ operationName: OperationID;
66
+ /** Key arguments (sanitized, no sensitive data) */
67
+ keyArgs: Record<string, string>;
68
+ /** Execution result */
69
+ success: boolean;
70
+ /** Error message if failed */
71
+ errorMessage?: string;
72
+ /** Human-readable semantic description */
73
+ semanticDescription: string;
74
+ }
75
+ /**
76
+ * Operation Log Buffer Interface
77
+ *
78
+ * Manages a ring buffer of operation log entries with filtering capabilities.
79
+ *
80
+ * Default limits:
81
+ * - System logs: 5 most recent
82
+ * - App logs: 3 most recent per app
83
+ */
84
+ export interface IOperationLogBuffer {
85
+ /**
86
+ * Push a new log entry to the buffer
87
+ *
88
+ * @param entry - The log entry to add
89
+ */
90
+ push(entry: OperationLogEntry): void;
91
+ /**
92
+ * Get recent system-scope logs
93
+ *
94
+ * @param count - Maximum number of logs to return
95
+ * @returns Array of log entries, most recent last
96
+ */
97
+ getSystemLogs(count: number): OperationLogEntry[];
98
+ /**
99
+ * Get recent logs for a specific app
100
+ *
101
+ * @param appId - The app ID to filter by
102
+ * @param count - Maximum number of logs to return
103
+ * @returns Array of log entries, most recent last
104
+ */
105
+ getAppLogs(appId: AppID, count: number): OperationLogEntry[];
106
+ /**
107
+ * Get all logs (for debugging)
108
+ *
109
+ * @returns All log entries
110
+ */
111
+ getAllLogs(): OperationLogEntry[];
112
+ /**
113
+ * Clear all logs
114
+ */
115
+ clear(): void;
116
+ }
117
+ /**
118
+ * Parameters for building an operation log entry
119
+ */
120
+ export interface OperationLogParams {
121
+ actor: string;
122
+ desktopId: DesktopID;
123
+ scope: OperationLogScope;
124
+ operationName: OperationID;
125
+ args: Record<string, unknown>;
126
+ success: boolean;
127
+ durationMs: number;
128
+ appId?: AppID;
129
+ appName?: string;
130
+ viewId?: ViewID;
131
+ viewName?: string;
132
+ errorMessage?: string;
133
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SPI Layer - Operation Log Types
3
+ *
4
+ * Defines the structure for operation execution logs that capture:
5
+ * - WHO: The agent/actor that initiated the operation
6
+ * - WHEN: Timestamp and duration of execution
7
+ * - WHERE: Desktop > App > View hierarchy
8
+ * - WHAT: Operation name, result, and semantic description
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=operation-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-log.js","sourceRoot":"","sources":["../../../src/spi/core/operation-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * SPI Layer - Operation Types
3
+ *
4
+ * 定义 Agent 与 Runtime 之间的操作交互协议。
5
+ *
6
+ * 术语说明:
7
+ * - Operation: 内部统一抽象,替代旧的 Command
8
+ * - ToolCall: 外部 LLM 接口 (保持不变)
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ import type { AppID, ViewID, SnapshotID, OperationID, DesktopID } from './types.js';
13
+ import type { Tool } from './tool-call.js';
14
+ /**
15
+ * 操作上下文
16
+ *
17
+ * 指定操作的目标位置 (App + View)
18
+ */
19
+ export interface OperationContext {
20
+ /** 目标 App ID */
21
+ appId: AppID;
22
+ /**
23
+ * 目标 View ID (可选)
24
+ *
25
+ * 如果提供,操作路由到该 View
26
+ * 如果不提供,操作作为 App 级操作处理
27
+ */
28
+ viewId?: ViewID;
29
+ /**
30
+ * 快照 ID (可选,用于数据引用解析)
31
+ */
32
+ snapshotId: SnapshotID;
33
+ }
34
+ /**
35
+ * 操作范围
36
+ *
37
+ * 用于区分操作的目标层级
38
+ */
39
+ export type OperationScope = 'system' | 'app' | 'view';
40
+ /**
41
+ * 操作
42
+ *
43
+ * 表示 Agent 发送的单个操作指令
44
+ */
45
+ export interface Operation {
46
+ /** 操作上下文 (目标 App/View) */
47
+ context: OperationContext;
48
+ /** 操作名称 */
49
+ name: OperationID;
50
+ /** 操作参数 */
51
+ args: Record<string, unknown>;
52
+ }
53
+ /**
54
+ * 操作错误
55
+ *
56
+ * 统一错误模型:
57
+ * - code: 机器可读的错误代码
58
+ * - message: 人类可读的错误描述
59
+ * - context: 额外调试信息(可选)
60
+ */
61
+ export interface OperationError {
62
+ /** 错误代码(机器可读),如 E_INVALID_ARGS, E_NOT_FOUND */
63
+ code: string;
64
+ /** 错误描述(人类可读) */
65
+ message: string;
66
+ /** 额外上下文信息(可选,用于调试) */
67
+ context?: Record<string, unknown>;
68
+ }
69
+ /**
70
+ * 操作结果
71
+ */
72
+ export interface OperationResult {
73
+ success: boolean;
74
+ data?: Record<string, unknown>;
75
+ error?: OperationError;
76
+ }
77
+ /**
78
+ * 操作载荷
79
+ *
80
+ * 用于 Dispatcher 将已解析的操作传递给 Desktop。
81
+ * Desktop 负责将此载荷分发给具体的 App 容器。
82
+ */
83
+ export interface OperationPayload {
84
+ /** 完整操作上下文 */
85
+ context: OperationContext;
86
+ /** 操作名称 */
87
+ operation: OperationID;
88
+ /** 已解析的参数 (Snapshot 引用已替换为实际数据) */
89
+ args: Record<string, unknown>;
90
+ /** 元数据 */
91
+ meta?: {
92
+ snapshotId?: SnapshotID;
93
+ };
94
+ }
95
+ /**
96
+ * 系统操作上下文
97
+ *
98
+ * 供 SystemOperation 执行时使用
99
+ */
100
+ export interface SystemOperationContext {
101
+ /** Desktop ID */
102
+ desktopId: DesktopID;
103
+ /** 操作参数 */
104
+ args: Record<string, unknown>;
105
+ }
106
+ /**
107
+ * 系统操作接口
108
+ *
109
+ * 所有系统级操作(如 open_app, mount_view)必须实现此接口。
110
+ * 系统操作在编译时固定注册,不支持动态注册。
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * class OpenAppOperation implements ISystemOperation {
115
+ * readonly name = 'open';
116
+ * readonly aliases = ['open_app'];
117
+ *
118
+ * async execute(ctx: SystemOperationContext, desktop: IDesktop): Promise<OperationResult> {
119
+ * const appId = ctx.args.application as string;
120
+ * await desktop.openApp(appId);
121
+ * return { success: true };
122
+ * }
123
+ * }
124
+ * ```
125
+ */
126
+ export interface ISystemOperation {
127
+ /**
128
+ * 操作名称 (主名称)
129
+ *
130
+ * 用于注册和查找,如 'open', 'mount'
131
+ */
132
+ readonly name: string;
133
+ /**
134
+ * 操作别名 (可选)
135
+ *
136
+ * 用于向后兼容或语义别名,如 'expand' 是 'show' 的别名
137
+ */
138
+ readonly aliases?: readonly string[];
139
+ /**
140
+ * 执行操作
141
+ *
142
+ * @param ctx - 系统操作上下文 (包含 desktopId 和 args)
143
+ * @param desktop - 目标 Desktop 实例
144
+ * @returns 操作结果
145
+ */
146
+ execute(ctx: SystemOperationContext, desktop: IDesktopForOperation): Promise<OperationResult>;
147
+ /**
148
+ * Tool Definition (RFC-009)
149
+ *
150
+ * The LLM Tool Specification for this operation.
151
+ * Runtime uses this to generate the system tools list for the Agent.
152
+ */
153
+ readonly toolDefinition: Tool;
154
+ }
155
+ /**
156
+ * Desktop 接口 (供 SystemOperation 使用)
157
+ *
158
+ * 仅暴露 SystemOperation 需要的方法,避免完整 IDesktop 依赖。
159
+ * 这是接口隔离原则 (ISP) 的体现。
160
+ */
161
+ export interface IDesktopForOperation {
162
+ readonly id: DesktopID;
163
+ openApp(appId: AppID): Promise<void>;
164
+ closeApp(appId: AppID): Promise<void>;
165
+ collapseApp(appId: AppID): Promise<void>;
166
+ showApp(appId: AppID): Promise<void>;
167
+ dismountView(appId: AppID, viewId: ViewID): Promise<void>;
168
+ hideView(appId: AppID, viewId: ViewID): Promise<void>;
169
+ showView(appId: AppID, viewId: ViewID): Promise<void>;
170
+ mountViewByLink(appId: AppID, parentViewId: ViewID, linkId: string): Promise<void>;
171
+ }
172
+ /**
173
+ * 系统操作注册表接口
174
+ *
175
+ * 管理所有系统级操作的注册和查找。
176
+ */
177
+ export interface ISystemOperationRegistry {
178
+ /**
179
+ * 注册系统操作
180
+ */
181
+ register(operation: ISystemOperation): void;
182
+ /**
183
+ * 检查操作是否存在
184
+ */
185
+ has(name: string): boolean;
186
+ /**
187
+ * 获取操作 (通过名称或别名)
188
+ */
189
+ get(name: string): ISystemOperation | undefined;
190
+ /**
191
+ * 执行系统操作
192
+ */
193
+ execute(name: string, ctx: SystemOperationContext, desktop: IDesktopForOperation): Promise<OperationResult>;
194
+ /**
195
+ * Get all tool definitions (RFC-009)
196
+ */
197
+ getToolDefinitions(): Tool[];
198
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SPI Layer - Operation Types
3
+ *
4
+ * 定义 Agent 与 Runtime 之间的操作交互协议。
5
+ *
6
+ * 术语说明:
7
+ * - Operation: 内部统一抽象,替代旧的 Command
8
+ * - ToolCall: 外部 LLM 接口 (保持不变)
9
+ *
10
+ * @module @aotui/runtime/spi
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/spi/core/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * SPI Layer - Signal Types
3
+ *
4
+ * 定义 Runtime 发出的信号类型。
5
+ */
6
+ import type { DesktopID } from './types.js';
7
+ /**
8
+ * 更新信号
9
+ *
10
+ * 当 Desktop 状态发生变化时发出。
11
+ */
12
+ export interface UpdateSignal {
13
+ desktopId: DesktopID;
14
+ timestamp: number;
15
+ reason: 'dom_mutation' | 'app_opened' | 'app_closed' | 'manual_refresh';
16
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SPI Layer - Signal Types
3
+ *
4
+ * 定义 Runtime 发出的信号类型。
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../src/spi/core/signals.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}