@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,106 @@
1
+ /**
2
+ * @aotui/runtime - AOTUIDrivenSource
3
+ *
4
+ * AOTUI Runtime 到 AgentDriver V2 的适配器
5
+ *
6
+ * 职责:
7
+ * - 适配 IDesktop 和 IKernel 到 IDrivenSource 接口
8
+ * - 获取 TUI App 状态 (getMessages)
9
+ * - 获取 Operations (getTools)
10
+ * - 执行 Operations (executeTool)
11
+ * - 监听各类信号 (onUpdate)
12
+ */
13
+ import type { IDrivenSource, MessageWithTimestamp, ToolResult } from '@aotui/agent-driver-v2';
14
+ import type { IDesktop, IKernel } from '../spi/index.js';
15
+ /**
16
+ * AOTUIDrivenSource 配置
17
+ */
18
+ export interface AOTUIDrivenSourceOptions {
19
+ /**
20
+ * 是否注入 AOTUI System Instruction
21
+ * 默认: true
22
+ */
23
+ includeInstruction?: boolean;
24
+ /**
25
+ * 直接覆盖 system instruction 内容
26
+ * 优先级最高
27
+ */
28
+ instruction?: string;
29
+ /**
30
+ * 从指定路径加载 system instruction
31
+ * 优先级低于 instruction,高于环境变量
32
+ */
33
+ instructionPath?: string;
34
+ }
35
+ /**
36
+ * AOTUI Driven Source (Enhanced)
37
+ *
38
+ * 将 AOTUI Runtime 暴露给 AgentDriver V2
39
+ *
40
+ * 设计改进 (RFC: Topic-Desktop Sync):
41
+ * - 注入 AOTUI System Instruction (timestamp=1)
42
+ * - Desktop State timestamp 取最新 app fragment 的时间戳
43
+ * - 优化 Tool 提取逻辑
44
+ */
45
+ export declare class AOTUIDrivenSource implements IDrivenSource {
46
+ private desktop;
47
+ private kernel;
48
+ readonly name = "AOTUI";
49
+ private includeInstruction;
50
+ private systemInstruction;
51
+ private sourceEnabled;
52
+ private disabledApps;
53
+ private listeners;
54
+ private escapeAttr;
55
+ private buildViewMessageMarkup;
56
+ constructor(desktop: IDesktop, kernel: IKernel, options?: AOTUIDrivenSourceOptions);
57
+ setEnabled(enabled: boolean): void;
58
+ setAppEnabled(appName: string, enabled: boolean): void;
59
+ private triggerUpdate;
60
+ private normalizeAppKey;
61
+ private resolveAppName;
62
+ private isAppAllowed;
63
+ /**
64
+ * 获取消息 (AOTUI System Instruction + TUI App Snapshots)
65
+ *
66
+ * 使用 Pull-Lease 机制获取最新快照
67
+ *
68
+ * 消息顺序:
69
+ * 1. AOTUI System Instruction (timestamp=1, role='system')
70
+ * 2. Desktop State (timestamp=latest app fragment, role='user')
71
+ */
72
+ getMessages(): Promise<MessageWithTimestamp[]>;
73
+ /**
74
+ * 获取工具 (Operations)
75
+ *
76
+ * 从 IndexMap 提取所有 operations
77
+ *
78
+ * 重要: AI SDK v6 使用 inputSchema 字段而不是 parameters。
79
+ * 如果传入 parameters,inputSchema 为 undefined,会被推断成空 schema。
80
+ */
81
+ getTools(): Promise<Record<string, any>>;
82
+ /**
83
+ * 执行工具 (Operation)
84
+ *
85
+ * 使用 Kernel.execute() 执行 Operation
86
+ */
87
+ executeTool(toolName: string, args: unknown, toolCallId: string): Promise<ToolResult | undefined>;
88
+ private resolveTypeToolContext;
89
+ /**
90
+ * 订阅更新
91
+ */
92
+ onUpdate(callback: () => void): () => void;
93
+ /**
94
+ * 类型守卫: 判断是否为 Operation Entry
95
+ */
96
+ private isOperationEntry;
97
+ /**
98
+ * 类型守卫: 判断是否为 useViewTypeTool 注册的工具
99
+ * 格式: { description: string, params: Array<{ name, type, required, description }> }
100
+ */
101
+ private isTypeToolEntry;
102
+ /**
103
+ * 将 Operation params 转换为 JSON Schema
104
+ */
105
+ private convertParamsToJsonSchema;
106
+ }
@@ -0,0 +1,549 @@
1
+ /**
2
+ * @aotui/runtime - AOTUIDrivenSource
3
+ *
4
+ * AOTUI Runtime 到 AgentDriver V2 的适配器
5
+ *
6
+ * 职责:
7
+ * - 适配 IDesktop 和 IKernel 到 IDrivenSource 接口
8
+ * - 获取 TUI App 状态 (getMessages)
9
+ * - 获取 Operations (getTools)
10
+ * - 执行 Operations (executeTool)
11
+ * - 监听各类信号 (onUpdate)
12
+ */
13
+ import { jsonSchema } from 'ai';
14
+ // ============================================================================
15
+ // AOTUI System Instruction(Runtime 默认内置,可通过 options/env/path 覆盖)
16
+ // ============================================================================
17
+ import { readFileSync } from 'fs';
18
+ import { DEFAULT_AOTUI_SYSTEM_INSTRUCTION } from './system-instruction.js';
19
+ const AOTUI_SYSTEM_INSTRUCTION_PATH_ENV = 'AOTUI_SYSTEM_INSTRUCTION_PATH';
20
+ /**
21
+ * 懒加载 AOTUI System Instruction
22
+ */
23
+ function loadSystemInstruction(instructionPath) {
24
+ if (!instructionPath) {
25
+ return DEFAULT_AOTUI_SYSTEM_INSTRUCTION;
26
+ }
27
+ try {
28
+ return readFileSync(instructionPath, 'utf-8');
29
+ }
30
+ catch (error) {
31
+ console.error(`[AOTUIDrivenSource] Failed to load system instruction from path: ${instructionPath}`, error);
32
+ return DEFAULT_AOTUI_SYSTEM_INSTRUCTION;
33
+ }
34
+ }
35
+ /**
36
+ * AOTUI Driven Source (Enhanced)
37
+ *
38
+ * 将 AOTUI Runtime 暴露给 AgentDriver V2
39
+ *
40
+ * 设计改进 (RFC: Topic-Desktop Sync):
41
+ * - 注入 AOTUI System Instruction (timestamp=1)
42
+ * - Desktop State timestamp 取最新 app fragment 的时间戳
43
+ * - 优化 Tool 提取逻辑
44
+ */
45
+ export class AOTUIDrivenSource {
46
+ desktop;
47
+ kernel;
48
+ name = 'AOTUI';
49
+ includeInstruction;
50
+ systemInstruction;
51
+ sourceEnabled = true;
52
+ disabledApps = new Set();
53
+ listeners = new Set();
54
+ escapeAttr(value) {
55
+ return value
56
+ .replace(/&/g, '&amp;')
57
+ .replace(/"/g, '&quot;')
58
+ .replace(/</g, '&lt;')
59
+ .replace(/>/g, '&gt;');
60
+ }
61
+ buildViewMessageMarkup(view) {
62
+ const viewId = view.viewId || 'unknown';
63
+ const viewType = view.viewType || 'Unknown';
64
+ const viewName = view.viewName || view.viewType || view.viewId || 'Unknown';
65
+ const appId = view.appId || 'unknown';
66
+ const appName = view.appName || 'unknown';
67
+ const attrs = `id="${this.escapeAttr(viewId)}" type="${this.escapeAttr(viewType)}" name="${this.escapeAttr(viewName)}" app_id="${this.escapeAttr(appId)}" app_name="${this.escapeAttr(appName)}"`;
68
+ const rawMarkup = String(view.markup || '').trim();
69
+ if (/^<view\b/i.test(rawMarkup)) {
70
+ const normalizedOpen = `<view ${attrs}>`;
71
+ return rawMarkup.replace(/^<view\b[^>]*>/i, normalizedOpen);
72
+ }
73
+ return `<view ${attrs}>\n${rawMarkup}\n</view>`;
74
+ }
75
+ constructor(desktop, kernel, options) {
76
+ this.desktop = desktop;
77
+ this.kernel = kernel;
78
+ this.includeInstruction = options?.includeInstruction ?? true;
79
+ const instructionFromOptions = options?.instruction?.trim();
80
+ const instructionFromPath = options?.instructionPath;
81
+ const instructionFromEnv = process.env[AOTUI_SYSTEM_INSTRUCTION_PATH_ENV];
82
+ this.systemInstruction = instructionFromOptions && instructionFromOptions.length > 0
83
+ ? instructionFromOptions
84
+ : loadSystemInstruction(instructionFromPath ?? instructionFromEnv);
85
+ }
86
+ setEnabled(enabled) {
87
+ this.sourceEnabled = enabled;
88
+ this.triggerUpdate();
89
+ }
90
+ setAppEnabled(appName, enabled) {
91
+ const normalized = this.normalizeAppKey(appName);
92
+ if (!normalized) {
93
+ return;
94
+ }
95
+ if (enabled) {
96
+ this.disabledApps.delete(normalized);
97
+ }
98
+ else {
99
+ this.disabledApps.add(normalized);
100
+ }
101
+ this.triggerUpdate();
102
+ }
103
+ triggerUpdate() {
104
+ for (const listener of this.listeners) {
105
+ listener();
106
+ }
107
+ }
108
+ normalizeAppKey(value) {
109
+ if (typeof value !== 'string') {
110
+ return '';
111
+ }
112
+ return value.trim();
113
+ }
114
+ resolveAppName(appId) {
115
+ if (!appId) {
116
+ return undefined;
117
+ }
118
+ try {
119
+ const info = this.desktop.getAppInfo?.(appId);
120
+ if (info && typeof info.name === 'string') {
121
+ return info.name;
122
+ }
123
+ }
124
+ catch {
125
+ }
126
+ return undefined;
127
+ }
128
+ isAppAllowed(appId, appName) {
129
+ if (!this.sourceEnabled) {
130
+ return false;
131
+ }
132
+ if (this.disabledApps.size === 0) {
133
+ return true;
134
+ }
135
+ const normalizedId = this.normalizeAppKey(appId);
136
+ const normalizedName = this.normalizeAppKey(appName);
137
+ if (normalizedId && this.disabledApps.has(normalizedId)) {
138
+ return false;
139
+ }
140
+ if (normalizedName && this.disabledApps.has(normalizedName)) {
141
+ return false;
142
+ }
143
+ return true;
144
+ }
145
+ /**
146
+ * 获取消息 (AOTUI System Instruction + TUI App Snapshots)
147
+ *
148
+ * 使用 Pull-Lease 机制获取最新快照
149
+ *
150
+ * 消息顺序:
151
+ * 1. AOTUI System Instruction (timestamp=1, role='system')
152
+ * 2. Desktop State (timestamp=latest app fragment, role='user')
153
+ */
154
+ async getMessages() {
155
+ if (!this.sourceEnabled) {
156
+ return [];
157
+ }
158
+ const messages = [];
159
+ // 1. 注入 AOTUI System Instruction (仅一次)
160
+ if (this.includeInstruction) {
161
+ messages.push({
162
+ role: 'user',
163
+ content: this.systemInstruction,
164
+ timestamp: 1, // ✅ 在 SystemPrompt (0) 之后,在用户消息之前
165
+ });
166
+ }
167
+ // 2. 获取 Desktop 的 Snapshot (Pull-Lease)
168
+ const snapshot = await this.kernel.acquireSnapshot(this.desktop.id);
169
+ try {
170
+ const baseTimestamp = snapshot.createdAt || Date.now();
171
+ const desktopTimestamp = 2;
172
+ // 3. 优先使用结构化 Snapshot (RFC-014)
173
+ if (snapshot.structured?.appStates) {
174
+ if (snapshot.structured.desktopState && this.disabledApps.size === 0) {
175
+ messages.push({
176
+ role: 'user',
177
+ content: snapshot.structured.desktopState,
178
+ timestamp: desktopTimestamp
179
+ });
180
+ }
181
+ const hasViewStates = Array.isArray(snapshot.structured.viewStates)
182
+ && snapshot.structured.viewStates.length > 0;
183
+ if (hasViewStates) {
184
+ for (const view of snapshot.structured.viewStates) {
185
+ const viewAppId = this.normalizeAppKey(view.appId);
186
+ const viewAppName = this.normalizeAppKey(view.appName)
187
+ || this.normalizeAppKey(this.resolveAppName(viewAppId));
188
+ if (!this.isAppAllowed(viewAppId, viewAppName)) {
189
+ continue;
190
+ }
191
+ const wrappedView = this.buildViewMessageMarkup({
192
+ appId: view.appId || viewAppId || 'unknown',
193
+ appName: view.appName || viewAppName || viewAppId || 'unknown',
194
+ viewId: view.viewId,
195
+ viewType: view.viewType,
196
+ viewName: view.viewName,
197
+ markup: view.markup,
198
+ });
199
+ messages.push({
200
+ role: 'user',
201
+ content: wrappedView,
202
+ timestamp: view.timestamp ?? baseTimestamp,
203
+ });
204
+ }
205
+ return messages;
206
+ }
207
+ for (const fragment of snapshot.structured.appStates) {
208
+ const fragmentAppId = this.normalizeAppKey(fragment.appId);
209
+ const fragmentAppName = this.normalizeAppKey(fragment.appName)
210
+ || this.normalizeAppKey(this.resolveAppName(fragmentAppId));
211
+ if (!this.isAppAllowed(fragmentAppId, fragmentAppName)) {
212
+ continue;
213
+ }
214
+ messages.push({
215
+ role: 'user',
216
+ content: `${fragment.markup}`,
217
+ timestamp: fragment.timestamp ?? baseTimestamp
218
+ });
219
+ }
220
+ }
221
+ // 4. 回退到旧的 markup 解析 (如果需要)
222
+ else if (snapshot.markup && this.disabledApps.size === 0) {
223
+ messages.push({
224
+ role: 'user',
225
+ content: `# TUI Desktop State\n\n${snapshot.markup}`,
226
+ timestamp: baseTimestamp
227
+ });
228
+ }
229
+ return messages;
230
+ }
231
+ finally {
232
+ // 5. 释放 Snapshot (Pull-Lease)
233
+ this.kernel.releaseSnapshot(snapshot.id);
234
+ }
235
+ }
236
+ /**
237
+ * 获取工具 (Operations)
238
+ *
239
+ * 从 IndexMap 提取所有 operations
240
+ *
241
+ * 重要: AI SDK v6 使用 inputSchema 字段而不是 parameters。
242
+ * 如果传入 parameters,inputSchema 为 undefined,会被推断成空 schema。
243
+ */
244
+ async getTools() {
245
+ if (!this.sourceEnabled) {
246
+ return {};
247
+ }
248
+ const snapshot = await this.kernel.acquireSnapshot(this.desktop.id);
249
+ try {
250
+ const tools = {};
251
+ if (snapshot.indexMap) {
252
+ for (const [key, value] of Object.entries(snapshot.indexMap)) {
253
+ // 1. 传统 Operation Entry (type === 'operation')
254
+ if (this.isOperationEntry(value)) {
255
+ if (!this.isAppAllowed(value.appId, this.resolveAppName(value.appId))) {
256
+ continue;
257
+ }
258
+ const op = value.operation;
259
+ const schema = this.convertParamsToJsonSchema(op.params);
260
+ tools[op.id] = {
261
+ description: op.displayName || op.id,
262
+ inputSchema: jsonSchema(schema),
263
+ };
264
+ }
265
+ // 2. useViewTypeTool 注册的工具 (key 以 'tool:' 开头)
266
+ else if (key.startsWith('tool:') && this.isTypeToolEntry(value)) {
267
+ if (!this.isAppAllowed(value.appId, value.appName || this.resolveAppName(value.appId))) {
268
+ continue;
269
+ }
270
+ const toolId = key.slice(5);
271
+ const params = value.params || [];
272
+ const schema = this.convertParamsToJsonSchema(params);
273
+ tools[toolId] = {
274
+ description: value.description || toolId,
275
+ inputSchema: jsonSchema(schema),
276
+ };
277
+ }
278
+ }
279
+ }
280
+ const systemTools = this.kernel.getSystemToolDefinitions?.() || [];
281
+ for (const tool of systemTools) {
282
+ const fn = tool.function;
283
+ const toolName = fn?.name;
284
+ if (!toolName || tools[toolName]) {
285
+ continue;
286
+ }
287
+ const schema = fn?.parameters || { type: 'object', properties: {}, required: [] };
288
+ tools[toolName] = {
289
+ description: fn?.description || toolName,
290
+ inputSchema: jsonSchema(schema),
291
+ };
292
+ }
293
+ return tools;
294
+ }
295
+ finally {
296
+ this.kernel.releaseSnapshot(snapshot.id);
297
+ }
298
+ }
299
+ /**
300
+ * 执行工具 (Operation)
301
+ *
302
+ * 使用 Kernel.execute() 执行 Operation
303
+ */
304
+ async executeTool(toolName, args, toolCallId) {
305
+ if (!this.sourceEnabled) {
306
+ return {
307
+ toolCallId,
308
+ toolName,
309
+ error: {
310
+ code: 'E_SOURCE_DISABLED',
311
+ message: 'AOTUI source is disabled for this topic',
312
+ },
313
+ };
314
+ }
315
+ const ownerId = 'agent-driver';
316
+ let appId = 'system';
317
+ let viewId;
318
+ let operationName = toolName;
319
+ if (toolName.startsWith('system-')) {
320
+ operationName = toolName.slice('system-'.length);
321
+ }
322
+ else if (toolName.includes('.')) {
323
+ const parts = toolName.split('.');
324
+ if (parts.length >= 3) {
325
+ appId = parts[0] || 'system';
326
+ viewId = parts[1];
327
+ operationName = parts.slice(2).join('.');
328
+ }
329
+ else if (parts.length === 2) {
330
+ appId = parts[0] || 'system';
331
+ operationName = parts[1];
332
+ }
333
+ }
334
+ else {
335
+ // Preferred path: resolve from snapshot indexMap metadata
336
+ const typeToolContext = await this.resolveTypeToolContext(toolName);
337
+ if (typeToolContext) {
338
+ appId = typeToolContext.appId;
339
+ viewId = typeToolContext.viewType;
340
+ operationName = typeToolContext.toolName;
341
+ }
342
+ else if (toolName.startsWith('app_') && toolName.includes('-')) {
343
+ // Backward compatibility: app_id-view_type-tool_name
344
+ const [appIdPart, viewTypePart, ...rest] = toolName.split('-');
345
+ if (appIdPart && viewTypePart && rest.length > 0) {
346
+ appId = appIdPart;
347
+ viewId = viewTypePart;
348
+ operationName = rest.join('-');
349
+ }
350
+ }
351
+ }
352
+ // 1. 构建 Operation
353
+ const operation = {
354
+ context: {
355
+ appId: appId,
356
+ viewId: viewId,
357
+ snapshotId: 'latest' // 暂定
358
+ },
359
+ name: operationName,
360
+ args: args
361
+ };
362
+ // TODO: 真正的实现需要从 IndexMap 中查找 Operation context
363
+ // 这里简化处理,假设 ToolName 就是 OperationID
364
+ // 实际上 IndexMap 中包含了 correct context (appId, etc.)
365
+ if (appId !== 'system' && !this.isAppAllowed(appId, this.resolveAppName(appId))) {
366
+ return {
367
+ toolCallId,
368
+ toolName,
369
+ error: {
370
+ code: 'E_APP_DISABLED',
371
+ message: `App "${this.resolveAppName(appId) || appId}" is disabled for this topic`,
372
+ },
373
+ };
374
+ }
375
+ // 3. 执行 Operation
376
+ try {
377
+ // 注意:kernel.execute 签名可能不同,这里根据之前的 outline 调整
378
+ // Kernel.execute(desktopId, operation, ownerId)
379
+ this.kernel.acquireLock(this.desktop.id, ownerId);
380
+ const result = await this.kernel.execute(this.desktop.id, operation, ownerId);
381
+ // 4. 转换为 ToolResult
382
+ if (result.success) {
383
+ return {
384
+ toolCallId,
385
+ toolName,
386
+ result: result.data || { success: true }
387
+ };
388
+ }
389
+ else {
390
+ return {
391
+ toolCallId,
392
+ toolName,
393
+ error: {
394
+ code: result.error?.code || 'E_EXECUTION_FAILED',
395
+ message: result.error?.message || 'Unknown error'
396
+ }
397
+ };
398
+ }
399
+ }
400
+ catch (error) {
401
+ return {
402
+ toolCallId,
403
+ toolName,
404
+ error: {
405
+ code: 'E_EXCEPTION',
406
+ message: error instanceof Error ? error.message : String(error)
407
+ }
408
+ };
409
+ }
410
+ finally {
411
+ this.kernel.releaseLock(this.desktop.id, ownerId);
412
+ }
413
+ }
414
+ async resolveTypeToolContext(toolName) {
415
+ const snapshot = await this.kernel.acquireSnapshot(this.desktop.id);
416
+ try {
417
+ const key = `tool:${toolName}`;
418
+ const entry = snapshot.indexMap?.[key];
419
+ if (!this.isTypeToolEntry(entry)) {
420
+ return null;
421
+ }
422
+ const appId = entry.appId;
423
+ const viewType = entry.viewType;
424
+ const resolvedToolName = entry.toolName;
425
+ if (typeof appId === 'string' && appId.length > 0 &&
426
+ typeof viewType === 'string' && viewType.length > 0 &&
427
+ typeof resolvedToolName === 'string' && resolvedToolName.length > 0) {
428
+ return {
429
+ appId,
430
+ viewType,
431
+ toolName: resolvedToolName,
432
+ };
433
+ }
434
+ return null;
435
+ }
436
+ finally {
437
+ this.kernel.releaseSnapshot(snapshot.id);
438
+ }
439
+ }
440
+ /**
441
+ * 订阅更新
442
+ */
443
+ onUpdate(callback) {
444
+ const signalListener = () => callback();
445
+ this.listeners.add(callback);
446
+ // [Fix] output is a property, not a method
447
+ const outputStream = this.desktop.output;
448
+ // 订阅
449
+ outputStream.subscribe(signalListener);
450
+ // 返回取消订阅函数
451
+ return () => {
452
+ this.listeners.delete(callback);
453
+ outputStream.unsubscribe(signalListener);
454
+ };
455
+ }
456
+ /**
457
+ * 类型守卫: 判断是否为 Operation Entry
458
+ */
459
+ isOperationEntry(entry) {
460
+ return (typeof entry === 'object' &&
461
+ entry !== null &&
462
+ entry.type === 'operation' &&
463
+ entry.operation &&
464
+ Array.isArray(entry.operation.params));
465
+ }
466
+ /**
467
+ * 类型守卫: 判断是否为 useViewTypeTool 注册的工具
468
+ * 格式: { description: string, params: Array<{ name, type, required, description }> }
469
+ */
470
+ isTypeToolEntry(entry) {
471
+ return (typeof entry === 'object' &&
472
+ entry !== null &&
473
+ typeof entry.description === 'string' &&
474
+ Array.isArray(entry.params));
475
+ }
476
+ /**
477
+ * 将 Operation params 转换为 JSON Schema
478
+ */
479
+ convertParamsToJsonSchema(params) {
480
+ const properties = {};
481
+ const required = [];
482
+ for (const param of params) {
483
+ let schema;
484
+ switch (param.type) {
485
+ case 'string':
486
+ schema = { type: 'string' };
487
+ break;
488
+ case 'number':
489
+ schema = { type: 'number' };
490
+ break;
491
+ case 'boolean':
492
+ schema = { type: 'boolean' };
493
+ break;
494
+ case 'object':
495
+ schema = { type: 'object' };
496
+ break;
497
+ case 'array': {
498
+ const itemType = param.itemType || 'string';
499
+ let items;
500
+ switch (itemType) {
501
+ case 'string':
502
+ items = { type: 'string' };
503
+ break;
504
+ case 'number':
505
+ items = { type: 'number' };
506
+ break;
507
+ case 'boolean':
508
+ items = { type: 'boolean' };
509
+ break;
510
+ case 'object':
511
+ items = { type: 'object' };
512
+ break;
513
+ default:
514
+ items = {};
515
+ }
516
+ schema = { type: 'array', items };
517
+ break;
518
+ }
519
+ case 'enum':
520
+ if (param.options && param.options.length > 0) {
521
+ schema = { type: 'string', enum: param.options };
522
+ }
523
+ else {
524
+ schema = { type: 'string' };
525
+ }
526
+ break;
527
+ case 'reference':
528
+ schema = { type: 'string' };
529
+ break;
530
+ default:
531
+ console.warn(`[AOTUI] Unknown param type: "${param.type}", defaulting to string`);
532
+ schema = { type: 'string' };
533
+ }
534
+ if (param.description) {
535
+ schema.description = param.description;
536
+ }
537
+ if (param.required) {
538
+ required.push(param.name);
539
+ }
540
+ properties[param.name] = schema;
541
+ }
542
+ return {
543
+ type: 'object',
544
+ properties,
545
+ ...(required.length > 0 ? { required } : {}),
546
+ };
547
+ }
548
+ }
549
+ //# sourceMappingURL=aotui-driven-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aotui-driven-source.js","sourceRoot":"","sources":["../../src/adapters/aotui-driven-source.ts"],"names":[],"mappings":"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"}