@vibesdotdev/applets 0.0.0-stage → 1.0.0-rc.2

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 (421) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +43 -2
  3. package/dist/applet-gate.d.ts +47 -0
  4. package/dist/applet-gate.d.ts.map +1 -0
  5. package/dist/applet-gate.js +167 -0
  6. package/dist/applet-gate.js.map +1 -0
  7. package/dist/applet-root-surface.d.ts +135 -0
  8. package/dist/applet-root-surface.d.ts.map +1 -0
  9. package/dist/applet-root-surface.js +222 -0
  10. package/dist/applet-root-surface.js.map +1 -0
  11. package/dist/applet-value-bound.d.ts +24 -0
  12. package/dist/applet-value-bound.d.ts.map +1 -0
  13. package/dist/applet-value-bound.js +46 -0
  14. package/dist/applet-value-bound.js.map +1 -0
  15. package/dist/applets.cloud.plugin.d.ts +4 -0
  16. package/dist/applets.cloud.plugin.d.ts.map +1 -0
  17. package/dist/applets.cloud.plugin.js +11 -0
  18. package/dist/applets.cloud.plugin.js.map +1 -0
  19. package/dist/applets.consumer.plugin.d.ts +4 -0
  20. package/dist/applets.consumer.plugin.d.ts.map +1 -0
  21. package/dist/applets.consumer.plugin.js +11 -0
  22. package/dist/applets.consumer.plugin.js.map +1 -0
  23. package/dist/applets.plugin.d.ts +3 -0
  24. package/dist/applets.plugin.d.ts.map +1 -0
  25. package/dist/applets.plugin.js +30 -0
  26. package/dist/applets.plugin.js.map +1 -0
  27. package/dist/authorization.d.ts +87 -0
  28. package/dist/authorization.d.ts.map +1 -0
  29. package/dist/authorization.js +189 -0
  30. package/dist/authorization.js.map +1 -0
  31. package/dist/browser-runtime.d.ts +34 -0
  32. package/dist/browser-runtime.d.ts.map +1 -0
  33. package/dist/browser-runtime.js +5 -0
  34. package/dist/browser-runtime.js.map +1 -0
  35. package/dist/build-definition.d.ts +34 -0
  36. package/dist/build-definition.d.ts.map +1 -0
  37. package/dist/build-definition.js +44 -0
  38. package/dist/build-definition.js.map +1 -0
  39. package/dist/capabilities/capability.kind.d.ts +44 -0
  40. package/dist/capabilities/capability.kind.d.ts.map +1 -0
  41. package/dist/capabilities/capability.kind.js +17 -0
  42. package/dist/capabilities/capability.kind.js.map +1 -0
  43. package/dist/capabilities/runtime-dispatch.d.ts +9 -0
  44. package/dist/capabilities/runtime-dispatch.d.ts.map +1 -0
  45. package/dist/capabilities/runtime-dispatch.js +62 -0
  46. package/dist/capabilities/runtime-dispatch.js.map +1 -0
  47. package/dist/cli/applet-group.descriptor.d.ts +11 -0
  48. package/dist/cli/applet-group.descriptor.d.ts.map +1 -0
  49. package/dist/cli/applet-group.descriptor.js +19 -0
  50. package/dist/cli/applet-group.descriptor.js.map +1 -0
  51. package/dist/cli/applet-local-store.storage.descriptor.d.ts +66 -0
  52. package/dist/cli/applet-local-store.storage.descriptor.d.ts.map +1 -0
  53. package/dist/cli/applet-local-store.storage.descriptor.js +39 -0
  54. package/dist/cli/applet-local-store.storage.descriptor.js.map +1 -0
  55. package/dist/cli/applet-serve.process.descriptor.d.ts +37 -0
  56. package/dist/cli/applet-serve.process.descriptor.d.ts.map +1 -0
  57. package/dist/cli/applet-serve.process.descriptor.js +41 -0
  58. package/dist/cli/applet-serve.process.descriptor.js.map +1 -0
  59. package/dist/cli/commands/build.command.descriptor.d.ts +40 -0
  60. package/dist/cli/commands/build.command.descriptor.d.ts.map +1 -0
  61. package/dist/cli/commands/build.command.descriptor.js +52 -0
  62. package/dist/cli/commands/build.command.descriptor.js.map +1 -0
  63. package/dist/cli/commands/build.command.impl.d.ts +8 -0
  64. package/dist/cli/commands/build.command.impl.d.ts.map +1 -0
  65. package/dist/cli/commands/build.command.impl.js +116 -0
  66. package/dist/cli/commands/build.command.impl.js.map +1 -0
  67. package/dist/cli/commands/init.command.descriptor.d.ts +29 -0
  68. package/dist/cli/commands/init.command.descriptor.d.ts.map +1 -0
  69. package/dist/cli/commands/init.command.descriptor.js +23 -0
  70. package/dist/cli/commands/init.command.descriptor.js.map +1 -0
  71. package/dist/cli/commands/init.command.impl.d.ts +7 -0
  72. package/dist/cli/commands/init.command.impl.d.ts.map +1 -0
  73. package/dist/cli/commands/init.command.impl.js +64 -0
  74. package/dist/cli/commands/init.command.impl.js.map +1 -0
  75. package/dist/cli/commands/list.command.descriptor.d.ts +26 -0
  76. package/dist/cli/commands/list.command.descriptor.d.ts.map +1 -0
  77. package/dist/cli/commands/list.command.descriptor.js +22 -0
  78. package/dist/cli/commands/list.command.descriptor.js.map +1 -0
  79. package/dist/cli/commands/list.command.impl.d.ts +13 -0
  80. package/dist/cli/commands/list.command.impl.d.ts.map +1 -0
  81. package/dist/cli/commands/list.command.impl.js +47 -0
  82. package/dist/cli/commands/list.command.impl.js.map +1 -0
  83. package/dist/cli/commands/serve-stylesheet.d.ts +11 -0
  84. package/dist/cli/commands/serve-stylesheet.d.ts.map +1 -0
  85. package/dist/cli/commands/serve-stylesheet.js +50 -0
  86. package/dist/cli/commands/serve-stylesheet.js.map +1 -0
  87. package/dist/cli/commands/serve-surface.d.ts +36 -0
  88. package/dist/cli/commands/serve-surface.d.ts.map +1 -0
  89. package/dist/cli/commands/serve-surface.js +410 -0
  90. package/dist/cli/commands/serve-surface.js.map +1 -0
  91. package/dist/cli/commands/serve.command.descriptor.d.ts +42 -0
  92. package/dist/cli/commands/serve.command.descriptor.d.ts.map +1 -0
  93. package/dist/cli/commands/serve.command.descriptor.js +46 -0
  94. package/dist/cli/commands/serve.command.descriptor.js.map +1 -0
  95. package/dist/cli/commands/serve.command.impl.d.ts +110 -0
  96. package/dist/cli/commands/serve.command.impl.d.ts.map +1 -0
  97. package/dist/cli/commands/serve.command.impl.js +1105 -0
  98. package/dist/cli/commands/serve.command.impl.js.map +1 -0
  99. package/dist/cli/commands/serve.schemas.d.ts +127 -0
  100. package/dist/cli/commands/serve.schemas.d.ts.map +1 -0
  101. package/dist/cli/commands/serve.schemas.js +85 -0
  102. package/dist/cli/commands/serve.schemas.js.map +1 -0
  103. package/dist/cli/commands/served-applet-browser.d.ts +12 -0
  104. package/dist/cli/commands/served-applet-browser.d.ts.map +1 -0
  105. package/dist/cli/commands/served-applet-browser.js +48 -0
  106. package/dist/cli/commands/served-applet-browser.js.map +1 -0
  107. package/dist/cli/commands/served-applet-connection.d.ts +15 -0
  108. package/dist/cli/commands/served-applet-connection.d.ts.map +1 -0
  109. package/dist/cli/commands/served-applet-connection.js +25 -0
  110. package/dist/cli/commands/served-applet-connection.js.map +1 -0
  111. package/dist/cli/commands/served-applet-rpc.d.ts +16 -0
  112. package/dist/cli/commands/served-applet-rpc.d.ts.map +1 -0
  113. package/dist/cli/commands/served-applet-rpc.js +108 -0
  114. package/dist/cli/commands/served-applet-rpc.js.map +1 -0
  115. package/dist/cli/commands/served-applet-surface.d.ts +14 -0
  116. package/dist/cli/commands/served-applet-surface.d.ts.map +1 -0
  117. package/dist/cli/commands/served-applet-surface.js +99 -0
  118. package/dist/cli/commands/served-applet-surface.js.map +1 -0
  119. package/dist/cli/commands/templates.command.descriptor.d.ts +22 -0
  120. package/dist/cli/commands/templates.command.descriptor.d.ts.map +1 -0
  121. package/dist/cli/commands/templates.command.descriptor.js +21 -0
  122. package/dist/cli/commands/templates.command.descriptor.js.map +1 -0
  123. package/dist/cli/commands/templates.command.impl.d.ts +35 -0
  124. package/dist/cli/commands/templates.command.impl.d.ts.map +1 -0
  125. package/dist/cli/commands/templates.command.impl.js +59 -0
  126. package/dist/cli/commands/templates.command.impl.js.map +1 -0
  127. package/dist/cli/index.d.ts +7 -0
  128. package/dist/cli/index.d.ts.map +1 -0
  129. package/dist/cli/index.js +7 -0
  130. package/dist/cli/index.js.map +1 -0
  131. package/dist/cli/local-serve.authz-policy.descriptor.d.ts +22 -0
  132. package/dist/cli/local-serve.authz-policy.descriptor.d.ts.map +1 -0
  133. package/dist/cli/local-serve.authz-policy.descriptor.js +13 -0
  134. package/dist/cli/local-serve.authz-policy.descriptor.js.map +1 -0
  135. package/dist/cli/plugin.d.ts +19 -0
  136. package/dist/cli/plugin.d.ts.map +1 -0
  137. package/dist/cli/plugin.js +57 -0
  138. package/dist/cli/plugin.js.map +1 -0
  139. package/dist/cli/project-files.d.ts +48 -0
  140. package/dist/cli/project-files.d.ts.map +1 -0
  141. package/dist/cli/project-files.js +130 -0
  142. package/dist/cli/project-files.js.map +1 -0
  143. package/dist/client/contract.d.ts +113 -0
  144. package/dist/client/contract.d.ts.map +1 -0
  145. package/dist/client/contract.js +17 -0
  146. package/dist/client/contract.js.map +1 -0
  147. package/dist/client/index.d.ts +3 -0
  148. package/dist/client/index.d.ts.map +1 -0
  149. package/dist/client/index.js +3 -0
  150. package/dist/client/index.js.map +1 -0
  151. package/dist/client/repository.context.d.ts +113 -0
  152. package/dist/client/repository.context.d.ts.map +1 -0
  153. package/dist/client/repository.context.js +8 -0
  154. package/dist/client/repository.context.js.map +1 -0
  155. package/dist/client/runtime-client.d.ts +22 -0
  156. package/dist/client/runtime-client.d.ts.map +1 -0
  157. package/dist/client/runtime-client.js +200 -0
  158. package/dist/client/runtime-client.js.map +1 -0
  159. package/dist/companion-path.d.ts +25 -0
  160. package/dist/companion-path.d.ts.map +1 -0
  161. package/dist/companion-path.js +90 -0
  162. package/dist/companion-path.js.map +1 -0
  163. package/dist/component-ref.d.ts +12 -0
  164. package/dist/component-ref.d.ts.map +1 -0
  165. package/dist/component-ref.js +45 -0
  166. package/dist/component-ref.js.map +1 -0
  167. package/dist/composition-plan.d.ts +92 -0
  168. package/dist/composition-plan.d.ts.map +1 -0
  169. package/dist/composition-plan.js +44 -0
  170. package/dist/composition-plan.js.map +1 -0
  171. package/dist/composition.d.ts +97 -0
  172. package/dist/composition.d.ts.map +1 -0
  173. package/dist/composition.js +99 -0
  174. package/dist/composition.js.map +1 -0
  175. package/dist/config/applets.config.descriptor.d.ts +55 -0
  176. package/dist/config/applets.config.descriptor.d.ts.map +1 -0
  177. package/dist/config/applets.config.descriptor.js +37 -0
  178. package/dist/config/applets.config.descriptor.js.map +1 -0
  179. package/dist/config/load.d.ts +4 -0
  180. package/dist/config/load.d.ts.map +1 -0
  181. package/dist/config/load.js +12 -0
  182. package/dist/config/load.js.map +1 -0
  183. package/dist/content-path.d.ts +62 -0
  184. package/dist/content-path.d.ts.map +1 -0
  185. package/dist/content-path.js +121 -0
  186. package/dist/content-path.js.map +1 -0
  187. package/dist/contribution-registry.d.ts +270 -0
  188. package/dist/contribution-registry.d.ts.map +1 -0
  189. package/dist/contribution-registry.js +488 -0
  190. package/dist/contribution-registry.js.map +1 -0
  191. package/dist/docs/applets.docs.descriptor.d.ts +4 -0
  192. package/dist/docs/applets.docs.descriptor.d.ts.map +1 -0
  193. package/dist/docs/applets.docs.descriptor.js +74 -0
  194. package/dist/docs/applets.docs.descriptor.js.map +1 -0
  195. package/dist/host/local-host.contract.d.ts +7 -0
  196. package/dist/host/local-host.contract.d.ts.map +1 -0
  197. package/dist/host/local-host.contract.js +2 -0
  198. package/dist/host/local-host.contract.js.map +1 -0
  199. package/dist/host/local-host.impl.d.ts +9 -0
  200. package/dist/host/local-host.impl.d.ts.map +1 -0
  201. package/dist/host/local-host.impl.js +41 -0
  202. package/dist/host/local-host.impl.js.map +1 -0
  203. package/dist/host/local-host.plugin.d.ts +3 -0
  204. package/dist/host/local-host.plugin.d.ts.map +1 -0
  205. package/dist/host/local-host.plugin.js +16 -0
  206. package/dist/host/local-host.plugin.js.map +1 -0
  207. package/dist/index.d.ts +28 -0
  208. package/dist/index.d.ts.map +1 -0
  209. package/dist/index.js +27 -0
  210. package/dist/index.js.map +1 -0
  211. package/dist/local-project.d.ts +106 -0
  212. package/dist/local-project.d.ts.map +1 -0
  213. package/dist/local-project.js +277 -0
  214. package/dist/local-project.js.map +1 -0
  215. package/dist/manifest-hash.d.ts +12 -0
  216. package/dist/manifest-hash.d.ts.map +1 -0
  217. package/dist/manifest-hash.js +76 -0
  218. package/dist/manifest-hash.js.map +1 -0
  219. package/dist/presentation.d.ts +43 -0
  220. package/dist/presentation.d.ts.map +1 -0
  221. package/dist/presentation.js +36 -0
  222. package/dist/presentation.js.map +1 -0
  223. package/dist/retention.d.ts +34 -0
  224. package/dist/retention.d.ts.map +1 -0
  225. package/dist/retention.js +51 -0
  226. package/dist/retention.js.map +1 -0
  227. package/dist/schemas/applet-messages.d.ts +97 -0
  228. package/dist/schemas/applet-messages.d.ts.map +1 -0
  229. package/dist/schemas/applet-messages.js +51 -0
  230. package/dist/schemas/applet-messages.js.map +1 -0
  231. package/dist/schemas/capabilities.d.ts +37 -0
  232. package/dist/schemas/capabilities.d.ts.map +1 -0
  233. package/dist/schemas/capabilities.js +28 -0
  234. package/dist/schemas/capabilities.js.map +1 -0
  235. package/dist/schemas/component-release-ref.d.ts +13 -0
  236. package/dist/schemas/component-release-ref.d.ts.map +1 -0
  237. package/dist/schemas/component-release-ref.js +21 -0
  238. package/dist/schemas/component-release-ref.js.map +1 -0
  239. package/dist/schemas/contributes.d.ts +306 -0
  240. package/dist/schemas/contributes.d.ts.map +1 -0
  241. package/dist/schemas/contributes.js +184 -0
  242. package/dist/schemas/contributes.js.map +1 -0
  243. package/dist/schemas/definition.d.ts +301 -0
  244. package/dist/schemas/definition.d.ts.map +1 -0
  245. package/dist/schemas/definition.js +457 -0
  246. package/dist/schemas/definition.js.map +1 -0
  247. package/dist/schemas/dispatch.d.ts +52 -0
  248. package/dist/schemas/dispatch.d.ts.map +1 -0
  249. package/dist/schemas/dispatch.js +32 -0
  250. package/dist/schemas/dispatch.js.map +1 -0
  251. package/dist/schemas/grants.d.ts +56 -0
  252. package/dist/schemas/grants.d.ts.map +1 -0
  253. package/dist/schemas/grants.js +64 -0
  254. package/dist/schemas/grants.js.map +1 -0
  255. package/dist/schemas/index.d.ts +16 -0
  256. package/dist/schemas/index.d.ts.map +1 -0
  257. package/dist/schemas/index.js +16 -0
  258. package/dist/schemas/index.js.map +1 -0
  259. package/dist/schemas/instance.d.ts +230 -0
  260. package/dist/schemas/instance.d.ts.map +1 -0
  261. package/dist/schemas/instance.js +44 -0
  262. package/dist/schemas/instance.js.map +1 -0
  263. package/dist/schemas/lineage.d.ts +60 -0
  264. package/dist/schemas/lineage.d.ts.map +1 -0
  265. package/dist/schemas/lineage.js +52 -0
  266. package/dist/schemas/lineage.js.map +1 -0
  267. package/dist/schemas/observation.d.ts +70 -0
  268. package/dist/schemas/observation.d.ts.map +1 -0
  269. package/dist/schemas/observation.js +49 -0
  270. package/dist/schemas/observation.js.map +1 -0
  271. package/dist/schemas/patterns.d.ts +24 -0
  272. package/dist/schemas/patterns.d.ts.map +1 -0
  273. package/dist/schemas/patterns.js +24 -0
  274. package/dist/schemas/patterns.js.map +1 -0
  275. package/dist/schemas/publishing.d.ts +27 -0
  276. package/dist/schemas/publishing.d.ts.map +1 -0
  277. package/dist/schemas/publishing.js +20 -0
  278. package/dist/schemas/publishing.js.map +1 -0
  279. package/dist/schemas/run.d.ts +35 -0
  280. package/dist/schemas/run.d.ts.map +1 -0
  281. package/dist/schemas/run.js +26 -0
  282. package/dist/schemas/run.js.map +1 -0
  283. package/dist/schemas/share-link.d.ts +61 -0
  284. package/dist/schemas/share-link.d.ts.map +1 -0
  285. package/dist/schemas/share-link.js +68 -0
  286. package/dist/schemas/share-link.js.map +1 -0
  287. package/dist/schemas/state-events.d.ts +66 -0
  288. package/dist/schemas/state-events.d.ts.map +1 -0
  289. package/dist/schemas/state-events.js +66 -0
  290. package/dist/schemas/state-events.js.map +1 -0
  291. package/dist/schemas/subscription.d.ts +47 -0
  292. package/dist/schemas/subscription.d.ts.map +1 -0
  293. package/dist/schemas/subscription.js +46 -0
  294. package/dist/schemas/subscription.js.map +1 -0
  295. package/dist/schemas/template-revision.d.ts +53 -0
  296. package/dist/schemas/template-revision.d.ts.map +1 -0
  297. package/dist/schemas/template-revision.js +30 -0
  298. package/dist/schemas/template-revision.js.map +1 -0
  299. package/dist/selection.d.ts +22 -0
  300. package/dist/selection.d.ts.map +1 -0
  301. package/dist/selection.js +21 -0
  302. package/dist/selection.js.map +1 -0
  303. package/dist/storage/index.d.ts +27 -0
  304. package/dist/storage/index.d.ts.map +1 -0
  305. package/dist/storage/index.js +27 -0
  306. package/dist/storage/index.js.map +1 -0
  307. package/dist/storage/records.d.ts +28 -0
  308. package/dist/storage/records.d.ts.map +1 -0
  309. package/dist/storage/records.js +272 -0
  310. package/dist/storage/records.js.map +1 -0
  311. package/dist/svelte/applets-svelte.plugin.d.ts +38 -0
  312. package/dist/svelte/applets-svelte.plugin.d.ts.map +1 -0
  313. package/dist/svelte/applets-svelte.plugin.js +25 -0
  314. package/dist/svelte/components/AppletCanvas.svelte +488 -0
  315. package/dist/svelte/components/AppletCanvas.svelte.d.ts +53 -0
  316. package/dist/svelte/components/AppletCanvas.svelte.d.ts.map +1 -0
  317. package/dist/svelte/components/AppletCatalog.svelte +42 -0
  318. package/dist/svelte/components/AppletCatalog.svelte.d.ts +8 -0
  319. package/dist/svelte/components/AppletCatalog.svelte.d.ts.map +1 -0
  320. package/dist/svelte/components/AppletComposition.svelte +128 -0
  321. package/dist/svelte/components/AppletComposition.svelte.d.ts +30 -0
  322. package/dist/svelte/components/AppletComposition.svelte.d.ts.map +1 -0
  323. package/dist/svelte/components/AppletConsent.svelte +143 -0
  324. package/dist/svelte/components/AppletConsent.svelte.d.ts +12 -0
  325. package/dist/svelte/components/AppletConsent.svelte.d.ts.map +1 -0
  326. package/dist/svelte/components/LocalAppletView.svelte +102 -0
  327. package/dist/svelte/components/LocalAppletView.svelte.d.ts +13 -0
  328. package/dist/svelte/components/LocalAppletView.svelte.d.ts.map +1 -0
  329. package/dist/svelte/components/RunnableTracker.svelte +51 -0
  330. package/dist/svelte/components/RunnableTracker.svelte.d.ts +18 -0
  331. package/dist/svelte/components/RunnableTracker.svelte.d.ts.map +1 -0
  332. package/dist/svelte/index.d.ts +11 -0
  333. package/dist/svelte/index.d.ts.map +1 -0
  334. package/dist/svelte/index.js +10 -0
  335. package/dist/svelte/lib/canvas-lifecycle.d.ts +68 -0
  336. package/dist/svelte/lib/canvas-lifecycle.d.ts.map +1 -0
  337. package/dist/svelte/lib/canvas-lifecycle.js +99 -0
  338. package/dist/svelte/lib/capability-review.d.ts +64 -0
  339. package/dist/svelte/lib/capability-review.d.ts.map +1 -0
  340. package/dist/svelte/lib/capability-review.js +77 -0
  341. package/dist/svelte/lib/message-protocol.d.ts +184 -0
  342. package/dist/svelte/lib/message-protocol.d.ts.map +1 -0
  343. package/dist/svelte/lib/message-protocol.js +251 -0
  344. package/dist/svelte/runnable-source.d.ts +5 -0
  345. package/dist/svelte/runnable-source.d.ts.map +1 -0
  346. package/dist/svelte/runnable-source.js +92 -0
  347. package/dist/svelte/serve-index.svelte +39 -0
  348. package/dist/svelte/serve-index.svelte.d.ts +10 -0
  349. package/dist/svelte/serve-index.svelte.d.ts.map +1 -0
  350. package/dist/svelte/state.svelte.d.ts +26 -0
  351. package/dist/svelte/state.svelte.d.ts.map +1 -0
  352. package/dist/svelte/state.svelte.js +74 -0
  353. package/dist/svelte/styles.css +4 -0
  354. package/dist/svelte/tool-widgets/AppletToolCard.svelte +148 -0
  355. package/dist/svelte/tool-widgets/AppletToolCard.svelte.d.ts +5 -0
  356. package/dist/svelte/tool-widgets/AppletToolCard.svelte.d.ts.map +1 -0
  357. package/dist/svelte/tool-widgets/applet-tool-card.d.ts +41 -0
  358. package/dist/svelte/tool-widgets/applet-tool-card.d.ts.map +1 -0
  359. package/dist/svelte/tool-widgets/applet-tool-card.js +167 -0
  360. package/dist/svelte/tool-widgets/index.d.ts +3 -0
  361. package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
  362. package/dist/svelte/tool-widgets/index.js +2 -0
  363. package/dist/templates/index.d.ts +2 -0
  364. package/dist/templates/index.d.ts.map +1 -0
  365. package/dist/templates/index.js +2 -0
  366. package/dist/templates/index.js.map +1 -0
  367. package/dist/templates/template.kind.d.ts +39 -0
  368. package/dist/templates/template.kind.d.ts.map +1 -0
  369. package/dist/templates/template.kind.js +29 -0
  370. package/dist/templates/template.kind.js.map +1 -0
  371. package/dist/tools/applet.descriptor.d.ts +196 -0
  372. package/dist/tools/applet.descriptor.d.ts.map +1 -0
  373. package/dist/tools/applet.descriptor.js +81 -0
  374. package/dist/tools/applet.descriptor.js.map +1 -0
  375. package/dist/tools/applet.impl.d.ts +32 -0
  376. package/dist/tools/applet.impl.d.ts.map +1 -0
  377. package/dist/tools/applet.impl.js +485 -0
  378. package/dist/tools/applet.impl.js.map +1 -0
  379. package/dist/tools/applet.schemas.d.ts +198 -0
  380. package/dist/tools/applet.schemas.d.ts.map +1 -0
  381. package/dist/tools/applet.schemas.js +136 -0
  382. package/dist/tools/applet.schemas.js.map +1 -0
  383. package/dist/tools/index.d.ts +3 -0
  384. package/dist/tools/index.d.ts.map +1 -0
  385. package/dist/tools/index.js +3 -0
  386. package/dist/tools/index.js.map +1 -0
  387. package/dist/upgrade.d.ts +45 -0
  388. package/dist/upgrade.d.ts.map +1 -0
  389. package/dist/upgrade.js +179 -0
  390. package/dist/upgrade.js.map +1 -0
  391. package/dist/vite.d.ts +26 -0
  392. package/dist/vite.d.ts.map +1 -0
  393. package/dist/vite.js +28 -0
  394. package/dist/vite.js.map +1 -0
  395. package/package.json +264 -4
  396. package/templates/applet-tour/Applet.svelte +95 -0
  397. package/templates/applet-tour/applet.descriptor.ts +15 -0
  398. package/templates/assembly-field/Applet.svelte +242 -0
  399. package/templates/assembly-field/applet.descriptor.ts +7 -0
  400. package/templates/assembly-field/applet.storage.json +47 -0
  401. package/templates/assembly-field/schemas/settings.ts +14 -0
  402. package/templates/assembly-field/settings.ts +32 -0
  403. package/templates/benchmark-comparison/Applet.svelte +17 -0
  404. package/templates/benchmark-comparison/applet.descriptor.ts +7 -0
  405. package/templates/file-diff-viewer/Applet.svelte +91 -0
  406. package/templates/file-diff-viewer/applet.descriptor.ts +14 -0
  407. package/templates/file-diff-viewer/diff.ts +63 -0
  408. package/templates/file-viewer/Applet.svelte +80 -0
  409. package/templates/file-viewer/applet.descriptor.ts +14 -0
  410. package/templates/fleet-runs/Applet.svelte +14 -0
  411. package/templates/fleet-runs/applet.descriptor.ts +7 -0
  412. package/templates/graph-runbook-tracker/Applet.svelte +13 -0
  413. package/templates/graph-runbook-tracker/applet.descriptor.ts +7 -0
  414. package/templates/runbook-tracker/Applet.svelte +12 -0
  415. package/templates/runbook-tracker/applet.descriptor.ts +7 -0
  416. package/templates/runnable-tracker/Applet.svelte +16 -0
  417. package/templates/runnable-tracker/applet.descriptor.ts +10 -0
  418. package/templates/storage-viewer/Applet.svelte +90 -0
  419. package/templates/storage-viewer/applet.descriptor.ts +15 -0
  420. package/templates/workspace-graph-runbook-tracker/Applet.svelte +13 -0
  421. package/templates/workspace-graph-runbook-tracker/applet.descriptor.ts +7 -0
@@ -0,0 +1,485 @@
1
+ import { SYSTEM_OWNER, deleteSurfaceNotification, getSurfaceNotification, listSurfaceNotifications, updateSurfaceNotificationArtifact, writeSurfaceNotification } from '@vibesdotdev/os/surface/store';
2
+ /**
3
+ * `applet` tool — create / list / get / update-source for Applet artifacts.
4
+ *
5
+ * Writes go through the owner-scoped surface store (`@vibesdotdev/os`), the same
6
+ * seam hq-web reads. Owner is derived EXCLUSIVELY from surface-asserted
7
+ * `ctx.metadata` (the trusted channel — see tools/src/agents/
8
+ * trusted-context.ts) and never from tool input: a web/agent surface that
9
+ * verified a session stamps `userId`/`orgId`; owner-less callers (stdio MCP,
10
+ * CLI) act as the vibes-internal operator via the reserved `SYSTEM_OWNER`,
11
+ * exactly the workboard "non-request bridge → SYSTEM_OWNER" convention.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import { CapabilityError, CaughtFailureSchema } from '@vibesdotdev/kernel';
15
+ import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
16
+ import { serviceOrigin } from '@vibesdotdev/infra-core/service';
17
+ import { AppletTemplateDescriptorSchema } from "../templates/template.kind.js";
18
+ import { formatAppletComponentRef, parseAppletComponentRef } from "../component-ref.js";
19
+ import { getLogger } from '@vibesdotdev/logging';
20
+ import { getVibesAppletsClient } from '@vibesdotdev/applets/client';
21
+ import { isAppletNotification, selectAppletArtifact, selectAppletArtifactIndex } from "../selection.js";
22
+ function readString(value) {
23
+ const parsed = z.string().safeParse(value);
24
+ if (!parsed.success)
25
+ return undefined;
26
+ const trimmed = parsed.data.trim();
27
+ return trimmed.length > 0 ? trimmed : undefined;
28
+ }
29
+ const ownerContextMetadataSchema = z.object({
30
+ orgId: z.string().optional(),
31
+ organizationId: z.string().optional(),
32
+ sessionId: z.string().optional(),
33
+ codeSessionId: z.string().optional(),
34
+ actorUserId: z.string().optional(),
35
+ userId: z.string().optional()
36
+ }).passthrough();
37
+ /**
38
+ * Owner from the trusted channel only. Org scope wins over user scope,
39
+ * mirroring `actingScopeFromLocals`.
40
+ */
41
+ export function ownerFromToolContext(ctx) {
42
+ const parsed = ownerContextMetadataSchema.safeParse(ctx.metadata);
43
+ if (!parsed.success)
44
+ return SYSTEM_OWNER;
45
+ const bag = parsed.data;
46
+ const orgId = readString(bag.orgId) ?? readString(bag.organizationId);
47
+ const sessionId = readString(bag.sessionId) ?? readString(bag.codeSessionId);
48
+ if (orgId) {
49
+ const owner = { ownerType: 'organization', ownerId: orgId };
50
+ if (sessionId)
51
+ owner.sessionId = sessionId;
52
+ return owner;
53
+ }
54
+ const userId = readString(bag.actorUserId) ?? readString(bag.userId);
55
+ if (userId) {
56
+ const owner = { ownerType: 'user', ownerId: userId };
57
+ if (sessionId)
58
+ owner.sessionId = sessionId;
59
+ return owner;
60
+ }
61
+ return sessionId ? { ...SYSTEM_OWNER, sessionId } : SYSTEM_OWNER;
62
+ }
63
+ export async function resolveAppletOwner(ctx, runtime) {
64
+ const fromCtx = ownerFromToolContext(ctx);
65
+ if (!isSystemOwner(fromCtx))
66
+ return fromCtx;
67
+ try {
68
+ const identity = await runtime.context('auth/identity');
69
+ const userId = readString(identity?.userId);
70
+ if (identity?.isAuthenticated === true && userId) {
71
+ const owner = { ownerType: 'user', ownerId: userId };
72
+ if (fromCtx.sessionId)
73
+ owner.sessionId = fromCtx.sessionId;
74
+ return owner;
75
+ }
76
+ return fromCtx;
77
+ }
78
+ catch (error) {
79
+ if (error instanceof Error && (CapabilityError.isAbsenceOf(error, 'context', 'auth/identity') || CapabilityError.isAbsenceOf(error, 'runtime/kind', 'context'))) {
80
+ return fromCtx;
81
+ }
82
+ throw error;
83
+ }
84
+ }
85
+ function isSystemOwner(owner) {
86
+ return owner.ownerType === 'system' && owner.ownerId === 'system';
87
+ }
88
+ const toolCallSurfaceSchema = z.object({
89
+ invocationSurface: z.string().optional()
90
+ }).passthrough();
91
+ /**
92
+ * Consumer CLI/MCP invocations are stamped by the tool execution boundary and
93
+ * must cross storage.cloud-api. Owner-app request surfaces stay on HQ's local
94
+ * record. The provenance marker is trusted metadata, never model input.
95
+ */
96
+ export async function surfaceStoreOptionsForApplet(runtime, ctx, owner) {
97
+ const parsed = toolCallSurfaceSchema.safeParse(ctx.metadata);
98
+ const invocationSurface = readString(parsed.success ? parsed.data.invocationSurface : undefined);
99
+ return invocationSurface === 'consumer' && !isSystemOwner(owner)
100
+ ? { target: 'owner-app', apiEndpoint: await hqOrigin(runtime) }
101
+ : { target: 'local' };
102
+ }
103
+ /**
104
+ * HQ's owner-app origin: the declared `hq` `infra/service` in the handed
105
+ * runtime's configured service environment (rc04 §2.4). No origin env and no
106
+ * default; an undeclared service fails `NOT_FOUND` `service-undeclared`.
107
+ */
108
+ async function hqOrigin(runtime) {
109
+ return (await serviceOrigin(runtime, 'hq')).replace(/\/$/, '');
110
+ }
111
+ function appletVisibility(owner, store, id, ownerAppOrigin) {
112
+ if (store === 'owner-app' && owner && owner.ownerType !== 'system' && ownerAppOrigin) {
113
+ const url = `${ownerAppOrigin}/artifacts/${encodeURIComponent(id)}`;
114
+ return {
115
+ url,
116
+ visibility: `This applet is stored in HQ's owner-app store for ${owner.ownerType}/${owner.ownerId} and is visible at ${url}.`
117
+ };
118
+ }
119
+ if (!owner) {
120
+ return {
121
+ url: null,
122
+ visibility: 'This applet is stored machine-locally without owner metadata and cannot be shown on HQ because no authenticated owner was recorded.'
123
+ };
124
+ }
125
+ if (owner.ownerType === 'system') {
126
+ return {
127
+ url: null,
128
+ visibility: 'This applet is stored machine-locally under system/system because it was created without an authenticated identity; run vibes auth login, then applet adopt. It cannot be shown on HQ.'
129
+ };
130
+ }
131
+ return {
132
+ url: null,
133
+ visibility: `This applet is stored machine-locally for ${owner.ownerType}/${owner.ownerId}; it cannot be shown on HQ because it was not written through the HQ owner-app store.`
134
+ };
135
+ }
136
+ function toSummary(notification, options) {
137
+ const artifact = selectAppletArtifact(notification);
138
+ const owner = notification.ownerType && notification.ownerId
139
+ ? { ownerType: notification.ownerType, ownerId: notification.ownerId }
140
+ : null;
141
+ const store = options.target === 'owner-app' ? 'owner-app' : 'local';
142
+ return {
143
+ id: notification.id,
144
+ summary: notification.summary,
145
+ status: notification.status,
146
+ createdAt: notification.createdAt,
147
+ artifactType: artifact?.type ?? 'note',
148
+ sourceFormat: artifact?.sourceFormat ?? null,
149
+ componentRef: artifact?.componentRef ?? null,
150
+ owner,
151
+ store,
152
+ ...appletVisibility(owner, store, notification.id, options.apiEndpoint)
153
+ };
154
+ }
155
+ /**
156
+ * Create the Applet instance that an exact release entitles the caller to.
157
+ *
158
+ * Both clients are resolved through `runtime.query()` rather than by importing
159
+ * another app's internals, which is how cross-package feature code reaches
160
+ * another domain here.
161
+ *
162
+ * A `componentRef` names a component and a version, NOT a bundle digest — and an
163
+ * instance is byte-pinned, so the digest has to be looked up from Platform,
164
+ * which owns releases. Without that lookup this function could only ever return
165
+ * undefined, which is the shape of a feature that cannot fire.
166
+ *
167
+ * FAILS SOFT, deliberately. The notification is already written and is what the
168
+ * agent sees; if no applets or platform client is registered in this runtime, or
169
+ * the version is not published, the tool must not turn a successful create into
170
+ * an error and lose the agent's work. The absence of `instanceId` in the result
171
+ * is the signal, and `instanceWarning` says why.
172
+ */
173
+ const platformClientSchema = z.object({
174
+ components: z.object({
175
+ listVersions: z.function({
176
+ input: [z.string()],
177
+ output: z.promise(z.object({ results: z.array(z.object({ version: z.string(), bundleHash: z.string() })) }))
178
+ })
179
+ })
180
+ });
181
+ async function createAppletInstanceForRelease(runtime, owner, componentRef, title, description) {
182
+ let bundleHash;
183
+ try {
184
+ const resolved = await runtime.query('runtime/client').withId('platform').resolve();
185
+ const platform = platformClientSchema.safeParse(resolved);
186
+ if (!platform.success)
187
+ throw platform.error;
188
+ const { results } = await platform.data.components.listVersions(componentRef.id);
189
+ const match = results.find((candidate) => candidate.version === componentRef.version);
190
+ if (!match) {
191
+ return {
192
+ instanceWarning: `No published release ${componentRef.id}@${componentRef.version}; created the surface record only.`
193
+ };
194
+ }
195
+ bundleHash = match.bundleHash;
196
+ }
197
+ catch (error) {
198
+ getLogger('applets:tool', runtime).warn('platform client unavailable; no applet instance created', { error });
199
+ return {
200
+ instanceWarning: 'Platform client unavailable, so no Applet instance was created; the surface record exists.',
201
+ cause: CaughtFailureSchema.parse(error)
202
+ };
203
+ }
204
+ return createAppletInstance(runtime, owner, {
205
+ componentId: componentRef.id,
206
+ version: componentRef.version,
207
+ bundleHash
208
+ }, title, description);
209
+ }
210
+ async function createAppletInstance(runtime, owner, release, title, description) {
211
+ try {
212
+ const client = await getVibesAppletsClient(runtime);
213
+ const scoped = client.forRequest({ ownerType: owner.ownerType, ownerId: owner.ownerId });
214
+ const instanceInput = {
215
+ release,
216
+ title
217
+ };
218
+ if (description !== undefined)
219
+ instanceInput.description = description;
220
+ const instance = await scoped.instances.create(instanceInput);
221
+ return { instanceId: instance.id };
222
+ }
223
+ catch (error) {
224
+ getLogger('applets:tool', runtime).warn('applets client unavailable; no applet instance created', { error });
225
+ return {
226
+ instanceWarning: 'Applets client unavailable, so no Applet instance was created; the surface record exists.',
227
+ cause: CaughtFailureSchema.parse(error)
228
+ };
229
+ }
230
+ }
231
+ function registeredAppletTemplates(runtime) {
232
+ if (!runtime.hasKind('hq/applet-template'))
233
+ return [];
234
+ return runtime
235
+ .query('hq/applet-template')
236
+ .descriptors()
237
+ .map((descriptor) => AppletTemplateDescriptorSchema.parse(descriptor));
238
+ }
239
+ export default {
240
+ async execute(input, runtime, ctx) {
241
+ if (input.action === 'templates') {
242
+ const templates = registeredAppletTemplates(runtime)
243
+ .map(({ id, name, description, release, propsDoc, requiredProps, exampleProps, tags }) => ({
244
+ id,
245
+ name,
246
+ description,
247
+ componentRef: formatAppletComponentRef({ id: release.componentId, version: release.version }),
248
+ release,
249
+ propsDoc,
250
+ requiredProps,
251
+ exampleProps,
252
+ tags
253
+ }))
254
+ .sort((a, b) => a.id.localeCompare(b.id));
255
+ return { templates };
256
+ }
257
+ const owner = await resolveAppletOwner(ctx, runtime);
258
+ const storeOptions = await surfaceStoreOptionsForApplet(runtime, ctx, owner);
259
+ if (input.action === 'adopt') {
260
+ if (isSystemOwner(owner)) {
261
+ throw new Error('Cannot adopt applets without an authenticated identity. Run `vibes auth login` first.');
262
+ }
263
+ const ownerAppOptions = {
264
+ target: 'owner-app',
265
+ apiEndpoint: await hqOrigin(runtime)
266
+ };
267
+ let sourceApplets;
268
+ if (input.all) {
269
+ sourceApplets = (await listSurfaceNotifications(runtime, SYSTEM_OWNER, undefined, { target: 'local' })).filter((notification) => isAppletNotification(notification) &&
270
+ notification.ownerType === 'system' &&
271
+ notification.ownerId === 'system');
272
+ }
273
+ else {
274
+ const source = await getSurfaceNotification(runtime, SYSTEM_OWNER, input.appletId, {
275
+ target: 'local'
276
+ });
277
+ if (source &&
278
+ isAppletNotification(source) &&
279
+ source.ownerType === 'system' &&
280
+ source.ownerId === 'system') {
281
+ sourceApplets = [source];
282
+ }
283
+ else {
284
+ const remote = await getSurfaceNotification(runtime, owner, input.appletId, ownerAppOptions);
285
+ const local = remote
286
+ ? undefined
287
+ : await getSurfaceNotification(runtime, owner, input.appletId, { target: 'local' });
288
+ const existing = remote ?? local;
289
+ if (!existing) {
290
+ throw new Error(`Applet not found or not eligible for adoption: ${input.appletId}`);
291
+ }
292
+ return {
293
+ applet: toSummary(existing, remote ? ownerAppOptions : { target: 'local' }),
294
+ message: 'Applet is already owned by the current authenticated owner; no adoption was needed.'
295
+ };
296
+ }
297
+ }
298
+ if (sourceApplets.length === 0) {
299
+ return {
300
+ applets: [],
301
+ adoptions: [],
302
+ message: 'No local system-owned applets need adoption.'
303
+ };
304
+ }
305
+ const adoptions = [];
306
+ const summaries = [];
307
+ for (const source of sourceApplets) {
308
+ const notificationInput = {
309
+ channelId: source.channelId,
310
+ scope: source.scope,
311
+ summary: source.summary,
312
+ artifacts: source.artifacts,
313
+ actions: source.actions
314
+ };
315
+ if (source.detail !== undefined)
316
+ notificationInput.detail = source.detail;
317
+ const notification = await writeSurfaceNotification(runtime, owner, notificationInput, ownerAppOptions);
318
+ await deleteSurfaceNotification(runtime, SYSTEM_OWNER, source.id, { target: 'local' });
319
+ const applet = toSummary(notification, ownerAppOptions);
320
+ summaries.push(applet);
321
+ adoptions.push({
322
+ sourceAppletId: source.id,
323
+ adoptedAppletId: notification.id,
324
+ url: applet.url
325
+ });
326
+ }
327
+ return {
328
+ ...(summaries.length === 1 ? { applet: summaries[0] } : { applets: summaries }),
329
+ adoptions,
330
+ message: `Adopted ${adoptions.length} local system-owned applet${adoptions.length === 1 ? '' : 's'} into the HQ owner-app store.`
331
+ };
332
+ }
333
+ if (input.action === 'create') {
334
+ const modes = [input.source, input.componentRef, input.templateId].filter((value) => value !== undefined);
335
+ if (modes.length !== 1) {
336
+ throw new Error('applet create requires exactly one of `source`, `componentRef`, or `templateId`.');
337
+ }
338
+ const inputComponentRef = input.componentRef
339
+ ? parseAppletComponentRef(input.componentRef)
340
+ : undefined;
341
+ if (input.componentRef && !inputComponentRef) {
342
+ throw new Error(`Invalid applet componentRef: ${input.componentRef}`);
343
+ }
344
+ const template = input.templateId
345
+ ? registeredAppletTemplates(runtime).find((candidate) => candidate.id === input.templateId)
346
+ : undefined;
347
+ if (input.templateId && !template) {
348
+ const available = registeredAppletTemplates(runtime)
349
+ .map((candidate) => candidate.id)
350
+ .sort()
351
+ .join(', ');
352
+ throw new Error(`Applet template not found: ${input.templateId}. Available templates: ${available || '(none)'}.`);
353
+ }
354
+ if (template) {
355
+ const defaultPropsParsed = JsonObjectSchema.safeParse(template.defaults.props);
356
+ const defaultPropsRecord = defaultPropsParsed.success ? defaultPropsParsed.data : {};
357
+ const propsParsed = JsonObjectSchema.safeParse(input.content?.props);
358
+ const propsRecord = propsParsed.success
359
+ ? { ...defaultPropsRecord, ...propsParsed.data }
360
+ : defaultPropsRecord;
361
+ const missingProps = template.requiredProps.filter((key) => !Object.hasOwn(propsRecord, key));
362
+ if (missingProps.length > 0) {
363
+ throw new Error(`Applet template ${template.id} is missing required content.props keys: ${missingProps.join(', ')}. See propsDoc for the template contract.`);
364
+ }
365
+ }
366
+ const templateComponentRef = template
367
+ ? { id: template.release.componentId, version: template.release.version }
368
+ : undefined;
369
+ const componentRef = templateComponentRef ?? inputComponentRef;
370
+ const formattedComponentRef = componentRef
371
+ ? formatAppletComponentRef(componentRef)
372
+ : undefined;
373
+ const source = input.source;
374
+ const sourceFormat = input.source
375
+ ? (input.sourceFormat ?? 'svelte-single-file-component')
376
+ : input.sourceFormat;
377
+ const content = template
378
+ ? {
379
+ ...template.defaults,
380
+ ...input.content,
381
+ props: (() => {
382
+ const merged = {};
383
+ const defaultProps = JsonObjectSchema.safeParse(template.defaults.props);
384
+ if (defaultProps.success)
385
+ Object.assign(merged, defaultProps.data);
386
+ const inputProps = JsonObjectSchema.safeParse(input.content?.props);
387
+ if (inputProps.success)
388
+ Object.assign(merged, inputProps.data);
389
+ return merged;
390
+ })(),
391
+ template: { id: template.id, name: template.name }
392
+ }
393
+ : input.content;
394
+ const artifact = {
395
+ type: formattedComponentRef ? 'component' : 'applet',
396
+ description: input.detail ?? input.title,
397
+ browserRuntime: true
398
+ };
399
+ if (sourceFormat)
400
+ artifact.sourceFormat = sourceFormat;
401
+ if (formattedComponentRef)
402
+ artifact.componentRef = formattedComponentRef;
403
+ if (content)
404
+ artifact.content = content;
405
+ if (source !== undefined)
406
+ artifact.source = source;
407
+ const notification = await writeSurfaceNotification(runtime, owner, {
408
+ channelId: 'applet',
409
+ scope: 'agent',
410
+ summary: input.title,
411
+ detail: input.detail,
412
+ artifacts: [artifact],
413
+ actions: []
414
+ }, storeOptions);
415
+ // An exact release also becomes a real Applet INSTANCE.
416
+ //
417
+ // Until now this tool wrote a surface notification and nothing else, so
418
+ // an applet created the way agents actually create one could not declare
419
+ // storage, request capabilities, or contribute anything — those all hang
420
+ // off `applet_instances`, which this path never touched.
421
+ //
422
+ // The applets SPEC already settles which world is canonical: it names
423
+ // Applet "the canonical product noun", says Output and Artifact are
424
+ // "legacy persistence/projection terms, not competing products", and
425
+ // lists re-homing this tool with "legacy inline actions
426
+ // compatibility-only" as migration debt. The notification stays as the
427
+ // agent-facing projection; the instance is the record everything else
428
+ // reads.
429
+ //
430
+ // Component refs resolve their release digest from Platform; templates
431
+ // already carry the exact release. Inline compatibility source cannot
432
+ // create an instance because no published release exists to pin.
433
+ const instanceResult = template
434
+ ? await createAppletInstance(runtime, owner, template.release, input.title, input.detail)
435
+ : inputComponentRef
436
+ ? await createAppletInstanceForRelease(runtime, owner, inputComponentRef, input.title, input.detail)
437
+ : {};
438
+ const applet = toSummary(notification, storeOptions);
439
+ const output = {
440
+ applet,
441
+ message: applet.url ? `Applet created. View it at ${applet.url}` : `Applet created. ${applet.visibility}`
442
+ };
443
+ if (instanceResult.instanceId)
444
+ output.instanceId = instanceResult.instanceId;
445
+ if (instanceResult.instanceWarning)
446
+ output.instanceWarning = instanceResult.instanceWarning;
447
+ return output;
448
+ }
449
+ if (input.action === 'list') {
450
+ const notifications = await listSurfaceNotifications(runtime, owner, input.status, storeOptions);
451
+ const applets = notifications
452
+ .filter(isAppletNotification)
453
+ .sort((a, b) => b.createdAt.localeCompare(a.createdAt))
454
+ .slice(0, input.limit ?? 50)
455
+ .map((notification) => toSummary(notification, storeOptions));
456
+ return { applets };
457
+ }
458
+ if (input.action === 'get') {
459
+ const notification = await getSurfaceNotification(runtime, owner, input.appletId, storeOptions);
460
+ if (!notification)
461
+ throw new Error(`Applet not found: ${input.appletId}`);
462
+ return { applet: toSummary(notification, storeOptions), notification };
463
+ }
464
+ if (input.action === 'update-source') {
465
+ const notification = await getSurfaceNotification(runtime, owner, input.appletId, storeOptions);
466
+ if (!notification)
467
+ throw new Error(`Applet not found: ${input.appletId}`);
468
+ const artifactIndex = selectAppletArtifactIndex(notification);
469
+ if (artifactIndex === -1) {
470
+ throw new Error(`Not an applet: ${input.appletId} carries no applet artifact.`);
471
+ }
472
+ const patch = {
473
+ source: input.source
474
+ };
475
+ if (input.sourceFormat)
476
+ patch.sourceFormat = input.sourceFormat;
477
+ if (input.detail !== undefined)
478
+ patch.description = input.detail;
479
+ const updated = await updateSurfaceNotificationArtifact(runtime, owner, input.appletId, artifactIndex, patch, storeOptions);
480
+ return { applet: toSummary(updated, storeOptions), notification: updated };
481
+ }
482
+ throw new Error('Unknown action');
483
+ }
484
+ };
485
+ //# sourceMappingURL=applet.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applet.impl.js","sourceRoot":"","sources":["../../src/tools/applet.impl.ts"],"names":[],"mappings":"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"}