@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,120 @@
1
+ import type { IKernel, Operation, OperationResult, DesktopID, SnapshotID, CachedSnapshot, IDesktop, IRegistry, DesktopState, ISystemOperationRegistry, IDesktopManager, ITransformer, IDispatcher, IRuntimeContext } from '../spi/index.js';
2
+ /**
3
+ * Kernel - The core orchestrator of the AOTUI Runtime.
4
+ *
5
+ * Responsibilities:
6
+ * - Creates and manages Desktop instances (via IDesktopManager)
7
+ * - Handles concurrency via lock mechanism (delegated to IDesktopManager)
8
+ * - Generates and manages Snapshots for Agent consumption
9
+ * - Dispatches operations to Apps via IDispatcher
10
+ * - Manages Desktop lifecycle (suspend, resume, serialize, restore)
11
+ *
12
+ * [DIP] Kernel depends ONLY on interfaces (IDesktopManager, IRegistry, ITransformer, IDispatcher).
13
+ * Concrete implementations are injected via constructor (Inversion of Control).
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Use createKernel factory to get a properly configured Kernel
18
+ * import { createKernel } from '@aotui/runtime';
19
+ * const kernel = createKernel(desktopManager, registry, systemOps);
20
+ * ```
21
+ */
22
+ export declare class Kernel implements IKernel {
23
+ private desktopManager;
24
+ private snapshotRegistry;
25
+ private transformer;
26
+ private dispatcher;
27
+ private systemOps;
28
+ constructor(desktopManager: IDesktopManager, snapshotRegistry: IRegistry, transformer: ITransformer, dispatcher: IDispatcher, systemOps: ISystemOperationRegistry);
29
+ getSystemToolDefinitions(): import("../spi/index.js").Tool[];
30
+ /**
31
+ * Creates a new Desktop instance with a clean state.
32
+ * The Desktop is immediately registered and ready for app installation.
33
+ *
34
+ * App installation is the responsibility of Product Layer (e.g., DesktopManager).
35
+ * This follows the microkernel principle: Kernel handles scheduling,
36
+ * Product Layer handles app discovery and installation.
37
+ *
38
+ * @param desktopId - Optional: specify a custom Desktop ID (for historical topics)
39
+ * @param context - Optional: Runtime Context to inject into the Desktop
40
+ * @returns The unique identifier of the created Desktop
41
+ */
42
+ createDesktop(desktopId?: DesktopID, context?: IRuntimeContext): Promise<DesktopID>;
43
+ /**
44
+ * Destroys a Desktop and releases all associated resources.
45
+ * This operation is idempotent - calling with non-existent ID is safe.
46
+ *
47
+ * @param desktopId - The ID of the Desktop to destroy
48
+ */
49
+ destroyDesktop(desktopId: DesktopID): Promise<void>;
50
+ /**
51
+ * 获取 Desktop 实例 (供 ToolCallAdapter 使用)
52
+ * @throws {Error} E_NOT_FOUND if Desktop doesn't exist
53
+ */
54
+ getDesktop(desktopId: DesktopID): IDesktop;
55
+ /**
56
+ * [Worker-Only] 安装 App
57
+ *
58
+ * [C1 Fix] workerScriptPath 现在是可选的,默认使用 Runtime 内置的 worker-runtime
59
+ */
60
+ installDynamicWorkerApp(desktopId: DesktopID, appModulePath: string, options?: {
61
+ workerScriptPath?: string;
62
+ appId?: string;
63
+ name?: string;
64
+ /** [RFC-013] App description for Agent */
65
+ description?: string;
66
+ config?: import('../spi/app/app-config.interface.js').AppLaunchConfig;
67
+ promptRole?: 'user' | 'assistant';
68
+ }): Promise<string>;
69
+ /**
70
+ * [C1 FIX] Lock management delegated to IDesktopManager
71
+ */
72
+ acquireLock(desktopId: DesktopID, ownerId: string): void;
73
+ releaseLock(desktopId: DesktopID, ownerId: string): void;
74
+ acquireSnapshot(desktopId: DesktopID, ttl?: number): Promise<CachedSnapshot>;
75
+ releaseSnapshot(snapshotId: SnapshotID): void;
76
+ execute(desktopId: DesktopID, operation: Operation, ownerId: string): Promise<OperationResult>;
77
+ /**
78
+ * Enrich OperationResult with execution metadata
79
+ *
80
+ * @param result - Original operation result
81
+ * @param operationName - Name of the executed operation
82
+ * @param startTime - Execution start timestamp
83
+ * @returns Result with added durationMs
84
+ */
85
+ private enrichResult;
86
+ /**
87
+ * [RFC-008] Log operation execution with semantic format
88
+ *
89
+ * Generates WHO/WHEN/WHERE/WHAT log entries:
90
+ * - WHO: The actor (agent name)
91
+ * - WHEN: Timestamp and duration
92
+ * - WHERE: Desktop > App > View
93
+ * - WHAT: Operation name and result
94
+ */
95
+ private logOperationExecution;
96
+ /**
97
+ * [C1 FIX] Now type-safe via IDesktopManager
98
+ */
99
+ suspend(desktopId: DesktopID): Promise<void>;
100
+ /**
101
+ * [C1 FIX] Now type-safe via IDesktopManager
102
+ */
103
+ resume(desktopId: DesktopID): Promise<void>;
104
+ serialize(desktopId: DesktopID): DesktopState;
105
+ /**
106
+ * [RFC-014] 优雅关闭 Desktop
107
+ *
108
+ * 1. 调用 Desktop.drain() 等待 App 清理
109
+ * 2. 执行 beforeClose 回调(如持久化)
110
+ * 3. 销毁 Desktop
111
+ *
112
+ * @param desktopId - Desktop ID
113
+ * @param options - 关闭选项
114
+ */
115
+ gracefulShutdown(desktopId: DesktopID, options?: import('../spi/index.js').ShutdownOptions): Promise<void>;
116
+ /**
117
+ * [RFC-015] 删除 Desktop (清理数据)
118
+ */
119
+ deleteDesktop(desktopId: DesktopID): Promise<void>;
120
+ }
@@ -0,0 +1,328 @@
1
+ import { AOTUIError } from '../spi/core/errors.js';
2
+ import { createOperationId } from '../spi/core/id-factory.js';
3
+ import { buildOperationLogEntry } from '../engine/core/operation-log-formatter.js';
4
+ /**
5
+ * Kernel - The core orchestrator of the AOTUI Runtime.
6
+ *
7
+ * Responsibilities:
8
+ * - Creates and manages Desktop instances (via IDesktopManager)
9
+ * - Handles concurrency via lock mechanism (delegated to IDesktopManager)
10
+ * - Generates and manages Snapshots for Agent consumption
11
+ * - Dispatches operations to Apps via IDispatcher
12
+ * - Manages Desktop lifecycle (suspend, resume, serialize, restore)
13
+ *
14
+ * [DIP] Kernel depends ONLY on interfaces (IDesktopManager, IRegistry, ITransformer, IDispatcher).
15
+ * Concrete implementations are injected via constructor (Inversion of Control).
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Use createKernel factory to get a properly configured Kernel
20
+ * import { createKernel } from '@aotui/runtime';
21
+ * const kernel = createKernel(desktopManager, registry, systemOps);
22
+ * ```
23
+ */
24
+ export class Kernel {
25
+ desktopManager;
26
+ snapshotRegistry;
27
+ transformer;
28
+ dispatcher;
29
+ systemOps;
30
+ constructor(desktopManager, snapshotRegistry, transformer, dispatcher, systemOps) {
31
+ this.desktopManager = desktopManager;
32
+ this.snapshotRegistry = snapshotRegistry;
33
+ this.transformer = transformer;
34
+ this.dispatcher = dispatcher;
35
+ this.systemOps = systemOps;
36
+ }
37
+ getSystemToolDefinitions() {
38
+ return this.systemOps.getToolDefinitions();
39
+ }
40
+ /**
41
+ * Creates a new Desktop instance with a clean state.
42
+ * The Desktop is immediately registered and ready for app installation.
43
+ *
44
+ * App installation is the responsibility of Product Layer (e.g., DesktopManager).
45
+ * This follows the microkernel principle: Kernel handles scheduling,
46
+ * Product Layer handles app discovery and installation.
47
+ *
48
+ * @param desktopId - Optional: specify a custom Desktop ID (for historical topics)
49
+ * @param context - Optional: Runtime Context to inject into the Desktop
50
+ * @returns The unique identifier of the created Desktop
51
+ */
52
+ async createDesktop(desktopId, context) {
53
+ return this.desktopManager.create(desktopId, context);
54
+ }
55
+ /**
56
+ * Destroys a Desktop and releases all associated resources.
57
+ * This operation is idempotent - calling with non-existent ID is safe.
58
+ *
59
+ * @param desktopId - The ID of the Desktop to destroy
60
+ */
61
+ async destroyDesktop(desktopId) {
62
+ await this.desktopManager.destroy(desktopId);
63
+ }
64
+ /**
65
+ * 获取 Desktop 实例 (供 ToolCallAdapter 使用)
66
+ * @throws {Error} E_NOT_FOUND if Desktop doesn't exist
67
+ */
68
+ getDesktop(desktopId) {
69
+ const desktop = this.desktopManager.get(desktopId);
70
+ if (!desktop) {
71
+ throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId });
72
+ }
73
+ return desktop;
74
+ }
75
+ /**
76
+ * [Worker-Only] 安装 App
77
+ *
78
+ * [C1 Fix] workerScriptPath 现在是可选的,默认使用 Runtime 内置的 worker-runtime
79
+ */
80
+ async installDynamicWorkerApp(desktopId, appModulePath, options) {
81
+ const desktop = this.desktopManager.get(desktopId);
82
+ if (!desktop) {
83
+ throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId });
84
+ }
85
+ // [Refactor] Use DesktopManager to centralize log/signal if needed, but direct Desktop call is fine via Kernel
86
+ // Actually, Kernel mostly delegates to DesktopManager or Desktop directly.
87
+ // Let's delegate to DesktopManager to keep symmetry if Manager has it.
88
+ // Wait, Kernel line 110 calls 'desktop.installDynamicWorkerApp'.
89
+ // But DesktopManager ALSO has 'installDynamicWorkerApp'.
90
+ // Let's stick to what Kernel was doing: calling `desktop.installDynamicWorkerApp`.
91
+ return desktop.installDynamicWorkerApp(appModulePath, options);
92
+ }
93
+ /**
94
+ * [C1 FIX] Lock management delegated to IDesktopManager
95
+ */
96
+ acquireLock(desktopId, ownerId) {
97
+ this.desktopManager.acquireLock(desktopId, ownerId);
98
+ }
99
+ releaseLock(desktopId, ownerId) {
100
+ this.desktopManager.releaseLock(desktopId, ownerId);
101
+ }
102
+ async acquireSnapshot(desktopId, ttl) {
103
+ const desktop = this.desktopManager.get(desktopId);
104
+ if (!desktop) {
105
+ throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId });
106
+ }
107
+ // [RFC-001] Get Worker-pushed SnapshotFragments
108
+ const fragments = desktop.getSnapshotFragments();
109
+ // [RFC-007] Use SnapshotFormatter for complete TUI output
110
+ // [RFC-014] SnapshotFormatter now returns structured output
111
+ const { SnapshotFormatter } = await import('../engine/view/snapshot/index.js');
112
+ const formatter = new SnapshotFormatter();
113
+ // Desktop implements IDesktopMetadata (getInstalledApps, getSystemLogs, etc.)
114
+ const result = formatter.format(fragments, desktop);
115
+ // [RFC-014] Pass structured output to Registry
116
+ return this.snapshotRegistry.create(result.indexMap, result.markup, ttl, result.structured);
117
+ }
118
+ releaseSnapshot(snapshotId) {
119
+ this.snapshotRegistry.release(snapshotId);
120
+ }
121
+ async execute(desktopId, operation, ownerId) {
122
+ const startTime = Date.now();
123
+ try {
124
+ // 1. Verify Desktop
125
+ const desktop = this.desktopManager.get(desktopId);
126
+ if (!desktop)
127
+ throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId });
128
+ // 2. Verify Lock (delegated to desktopManager)
129
+ if (!this.desktopManager.verifyLock(desktopId, ownerId)) {
130
+ const lockInfo = this.desktopManager.getLockInfo(desktopId);
131
+ throw new AOTUIError('DESKTOP_LOCKED', {
132
+ desktopId,
133
+ ownerId: lockInfo?.ownerId ?? 'none',
134
+ claimant: ownerId,
135
+ });
136
+ }
137
+ // Refresh timestamp on successful lock verification
138
+ this.desktopManager.refreshLock(desktopId, ownerId);
139
+ const { context, name: operationName, args } = operation;
140
+ // 3. System Operation Dispatch (via Registry - replaces switch statement)
141
+ if (this.systemOps.has(operationName)) {
142
+ const systemCtx = {
143
+ desktopId,
144
+ args: { ...args, appId: context.appId } // Inject appId for view operations
145
+ };
146
+ const result = await this.systemOps.execute(operationName, systemCtx, desktop);
147
+ if (result.success && 'emitSignal' in desktop) {
148
+ desktop.emitSignal('manual_refresh');
149
+ }
150
+ return this.enrichResult(result, operationName, startTime, desktop, desktopId, context.appId, args || {});
151
+ }
152
+ // 4. App Operation Dispatch
153
+ // [Worker-Only] 所有 App 操作通过 Dispatcher 路由到 Worker
154
+ if (!context.appId) {
155
+ throw new AOTUIError('OPERATION_REQUIRES_CONTEXT', { operationName });
156
+ }
157
+ // Pass Operation directly to Dispatcher (handles Worker IPC routing)
158
+ const dispatchOp = {
159
+ context,
160
+ name: operationName,
161
+ args
162
+ };
163
+ // [P0-1 FIX] Now returns the actual OperationResult from the App
164
+ const result = await this.dispatcher.dispatch(desktop, dispatchOp, this.snapshotRegistry);
165
+ return this.enrichResult(result, operationName, startTime, desktop, desktopId, context.appId, args || {});
166
+ }
167
+ catch (e) {
168
+ // If already AOTUIError, preserve it. Otherwise wrap.
169
+ const aotuiError = AOTUIError.is(e) ? e : AOTUIError.fromError(e, 'EXECUTION_FAILED');
170
+ const durationMs = Date.now() - startTime;
171
+ // [RFC-008] Log failed operation
172
+ const desktop = this.desktopManager.get(desktopId);
173
+ if (desktop) {
174
+ this.logOperationExecution(desktop, desktopId, operation.context.appId, operation.name, operation.args || {}, false, durationMs, 'agent', // Default actor for now - could be passed in
175
+ aotuiError.message);
176
+ }
177
+ return {
178
+ success: false,
179
+ error: aotuiError.toOperationError(),
180
+ data: { durationMs }
181
+ };
182
+ }
183
+ }
184
+ /**
185
+ * Enrich OperationResult with execution metadata
186
+ *
187
+ * @param result - Original operation result
188
+ * @param operationName - Name of the executed operation
189
+ * @param startTime - Execution start timestamp
190
+ * @returns Result with added durationMs
191
+ */
192
+ enrichResult(result, operationName, startTime, desktop, desktopId, appId, args) {
193
+ const durationMs = Date.now() - startTime;
194
+ // [RFC-008] Log successful operation
195
+ this.logOperationExecution(desktop, desktopId, appId, operationName, args, result.success, durationMs, 'agent' // Default actor for now
196
+ );
197
+ return {
198
+ ...result,
199
+ data: {
200
+ ...result.data,
201
+ durationMs,
202
+ operationName
203
+ }
204
+ };
205
+ }
206
+ /**
207
+ * [RFC-008] Log operation execution with semantic format
208
+ *
209
+ * Generates WHO/WHEN/WHERE/WHAT log entries:
210
+ * - WHO: The actor (agent name)
211
+ * - WHEN: Timestamp and duration
212
+ * - WHERE: Desktop > App > View
213
+ * - WHAT: Operation name and result
214
+ */
215
+ logOperationExecution(desktop, desktopId, appId, operationName, args, success, durationMs, actor, errorMessage) {
216
+ const scope = this.systemOps.has(operationName) ? 'system' : 'app';
217
+ // Get app name for semantic description (getAppInfo is optional on IDesktop)
218
+ let appName;
219
+ if (appId && desktop.getAppInfo) {
220
+ const appInfo = desktop.getAppInfo(appId);
221
+ appName = appInfo?.name;
222
+ }
223
+ const entry = buildOperationLogEntry({
224
+ actor,
225
+ desktopId,
226
+ scope,
227
+ operationName: createOperationId(operationName),
228
+ args,
229
+ success,
230
+ durationMs,
231
+ appId,
232
+ appName,
233
+ errorMessage
234
+ });
235
+ // Log using Desktop's existing logger (duck typing for concrete Desktop methods)
236
+ // These methods exist on concrete Desktop but not on IDesktop interface
237
+ const desktopWithLogger = desktop;
238
+ if (scope === 'system' && desktopWithLogger.logSystem) {
239
+ desktopWithLogger.logSystem(entry.semanticDescription, success ? 'info' : 'error');
240
+ }
241
+ else if (appId && desktopWithLogger.logAppOperation) {
242
+ desktopWithLogger.logAppOperation(appId, entry.semanticDescription, success ? 'info' : 'error');
243
+ }
244
+ }
245
+ /**
246
+ * [C1 FIX] Now type-safe via IDesktopManager
247
+ */
248
+ async suspend(desktopId) {
249
+ await this.desktopManager.suspend(desktopId);
250
+ }
251
+ /**
252
+ * [C1 FIX] Now type-safe via IDesktopManager
253
+ */
254
+ async resume(desktopId) {
255
+ await this.desktopManager.resume(desktopId);
256
+ }
257
+ serialize(desktopId) {
258
+ const info = this.desktopManager.getDesktopInfo(desktopId);
259
+ if (!info) {
260
+ throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId });
261
+ }
262
+ return {
263
+ id: desktopId,
264
+ status: info.status,
265
+ createdAt: info.createdAt,
266
+ serializedAt: Date.now(),
267
+ apps: this.desktopManager.getAppStates(desktopId)
268
+ };
269
+ }
270
+ /**
271
+ * [RFC-014] 优雅关闭 Desktop
272
+ *
273
+ * 1. 调用 Desktop.drain() 等待 App 清理
274
+ * 2. 执行 beforeClose 回调(如持久化)
275
+ * 3. 销毁 Desktop
276
+ *
277
+ * @param desktopId - Desktop ID
278
+ * @param options - 关闭选项
279
+ */
280
+ async gracefulShutdown(desktopId, options) {
281
+ const timeout = options?.timeoutMs ?? 30000;
282
+ const desktop = this.desktopManager.get(desktopId);
283
+ if (!desktop) {
284
+ // 已不存在,直接返回
285
+ console.log(`[Kernel] gracefulShutdown: Desktop ${desktopId} not found, skipping`);
286
+ return;
287
+ }
288
+ const shutdownTask = async () => {
289
+ // 1. Drain Desktop (等待 App 清理)
290
+ await desktop.drain();
291
+ // 2. 执行 beforeClose 回调
292
+ if (options?.beforeClose) {
293
+ await options.beforeClose();
294
+ }
295
+ // 3. 销毁 Desktop
296
+ await this.destroyDesktop(desktopId);
297
+ };
298
+ // 超时保护
299
+ const timeoutPromise = new Promise((_, reject) => {
300
+ setTimeout(() => reject(new Error('gracefulShutdown timeout')), timeout);
301
+ });
302
+ try {
303
+ await Promise.race([shutdownTask(), timeoutPromise]);
304
+ console.log(`[Kernel] gracefulShutdown completed for ${desktopId}`);
305
+ }
306
+ catch (e) {
307
+ console.warn(`[Kernel] gracefulShutdown timeout for ${desktopId}, forcing destroy`);
308
+ await this.destroyDesktop(desktopId);
309
+ }
310
+ }
311
+ /**
312
+ * [RFC-015] 删除 Desktop (清理数据)
313
+ */
314
+ async deleteDesktop(desktopId) {
315
+ const desktop = this.desktopManager.get(desktopId);
316
+ if (!desktop) {
317
+ console.log(`[Kernel] deleteDesktop: Desktop ${desktopId} not found, skipping`);
318
+ return;
319
+ }
320
+ console.log(`[Kernel] Deleting Desktop ${desktopId}...`);
321
+ // 1. 调用 Desktop.delete() (触发 App onDelete + drain)
322
+ await desktop.delete();
323
+ // 2. 从 DesktopManager 移除
324
+ this.desktopManager.destroy(desktopId);
325
+ console.log(`[Kernel] Desktop ${desktopId} deleted.`);
326
+ }
327
+ }
328
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * aoapp.json Manifest Types
3
+ *
4
+ * 定义第三方 TUI App 的清单文件格式。
5
+ * 每个 TUI App 包必须包含 aoapp.json。
6
+ *
7
+ * @module @aotui/runtime/spi/aoapp
8
+ */
9
+ /**
10
+ * View 定义
11
+ */
12
+ export interface AOAppView {
13
+ /** View 名称 */
14
+ name: string;
15
+ /** View 描述 */
16
+ description?: string;
17
+ }
18
+ /**
19
+ * Runtime 兼容性要求
20
+ */
21
+ export interface AOAppRuntime {
22
+ /** 最低支持的 Runtime 版本 */
23
+ minVersion?: string;
24
+ /** 最高支持的 Runtime 版本 */
25
+ maxVersion?: string;
26
+ }
27
+ /**
28
+ * 入口点配置
29
+ */
30
+ export interface AOAppEntry {
31
+ /** 主入口文件 (相对路径) */
32
+ main: string;
33
+ /** TypeScript 类型定义文件 (可选) */
34
+ types?: string;
35
+ }
36
+ /**
37
+ * aoapp.json 清单文件结构
38
+ *
39
+ * @example
40
+ * ```json
41
+ * {
42
+ * "name": "weather",
43
+ * "displayName": "Weather App",
44
+ * "version": "1.0.0",
45
+ * "entry": { "main": "./dist/index.js" }
46
+ * }
47
+ * ```
48
+ */
49
+ export interface AOAppManifest {
50
+ /**
51
+ * App 唯一标识符 (用于安装和卸载)
52
+ * 格式: 小写字母、数字、连字符,如 "weather", "todo-list"
53
+ */
54
+ name: string;
55
+ /** 显示名称 (用于 UI 展示) */
56
+ displayName: string;
57
+ /** 语义化版本号 */
58
+ version: string;
59
+ /** App 描述 */
60
+ description?: string;
61
+ /** App 是什么 (用于 Desktop State 展示) */
62
+ whatItIs?: string;
63
+ /** 什么时候用 (用于 Desktop State 展示) */
64
+ whenToUse?: string;
65
+ /** 作者信息 */
66
+ author?: string;
67
+ /** 许可证 */
68
+ license?: string;
69
+ /** Runtime 兼容性 */
70
+ runtime?: AOAppRuntime;
71
+ /** 入口点 */
72
+ entry: AOAppEntry;
73
+ /** View 列表 (用于文档生成) */
74
+ views?: AOAppView[];
75
+ /** [Fix] App 角色 (用于 LLM Prompt) */
76
+ promptRole?: 'user' | 'assistant';
77
+ }
78
+ /**
79
+ * 验证 aoapp.json 是否有效
80
+ */
81
+ export declare function validateManifest(manifest: unknown): manifest is AOAppManifest;
82
+ /**
83
+ * 验证 App 名称格式
84
+ * 规则: 小写字母、数字、连字符,长度 1-50
85
+ */
86
+ export declare function isValidAppName(name: string): boolean;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * aoapp.json Manifest Types
3
+ *
4
+ * 定义第三方 TUI App 的清单文件格式。
5
+ * 每个 TUI App 包必须包含 aoapp.json。
6
+ *
7
+ * @module @aotui/runtime/spi/aoapp
8
+ */
9
+ /**
10
+ * 验证 aoapp.json 是否有效
11
+ */
12
+ export function validateManifest(manifest) {
13
+ if (typeof manifest !== 'object' || manifest === null) {
14
+ return false;
15
+ }
16
+ const m = manifest;
17
+ // 必填字段检查
18
+ if (typeof m.name !== 'string' || !m.name)
19
+ return false;
20
+ if (typeof m.displayName !== 'string' || !m.displayName)
21
+ return false;
22
+ if (typeof m.version !== 'string' || !m.version)
23
+ return false;
24
+ // entry 检查
25
+ if (typeof m.entry !== 'object' || m.entry === null)
26
+ return false;
27
+ const entry = m.entry;
28
+ if (typeof entry.main !== 'string' || !entry.main)
29
+ return false;
30
+ return true;
31
+ }
32
+ /**
33
+ * 验证 App 名称格式
34
+ * 规则: 小写字母、数字、连字符,长度 1-50
35
+ */
36
+ export function isValidAppName(name) {
37
+ return /^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/.test(name) && name.length <= 50;
38
+ }
39
+ //# sourceMappingURL=aoapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aoapp.js","sourceRoot":"","sources":["../../../src/spi/app/aoapp.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsFH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAC9C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,GAAG,QAAmC,CAAC;IAE9C,SAAS;IACT,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE9D,WAAW;IACX,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAgC,CAAC;IACjD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAEhE,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,OAAO,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * App Launch Configuration
3
+ *
4
+ * Passed to AppKernel during initialization.
5
+ * [RFC-026] Now supports index signature for env vars injection
6
+ */
7
+ export interface AppLaunchConfig {
8
+ [key: string]: unknown;
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.interface.js","sourceRoot":"","sources":["../../../src/spi/app/app-config.interface.ts"],"names":[],"mappings":""}