@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,24 @@
1
+ /**
2
+ * Shared lexical patterns for author-supplied identifiers and paths.
3
+ *
4
+ * These lived in two files. `definition.ts` and `contributes.ts` each declared
5
+ * their own `SAFE_ID` and `SAFE_RELATIVE_PATH`, byte-identical and independent,
6
+ * which is a drift waiting to happen: tightening one and not the other means the
7
+ * manifest and the `contributes` block disagree about what an author may name,
8
+ * and the looser file wins wherever it is checked last.
9
+ *
10
+ * They are security-relevant. `SAFE_ID` is what makes contributed CLI commands
11
+ * and tools namespaceable — an author cannot pick a slug containing a dot or a
12
+ * slash and collide with a host command. `SAFE_RELATIVE_PATH` is what stops a
13
+ * manifest naming `../../etc/passwd` as one of its files.
14
+ */
15
+ /** kebab-case only: no dots, no slashes, no leading or trailing dash. */
16
+ export declare const SAFE_ID: RegExp;
17
+ /**
18
+ * Relative POSIX path with no traversal and no backslash. Rejects a leading
19
+ * `/`, any `..` segment, and `\` (which Windows would treat as a separator).
20
+ */
21
+ export declare const SAFE_RELATIVE_PATH: RegExp;
22
+ /** Capability tags: lowercase, dotted or slashed namespaces permitted. */
23
+ export declare const SAFE_CAPABILITY: RegExp;
24
+ //# sourceMappingURL=patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/schemas/patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,yEAAyE;AACzE,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA+D,CAAC;AAE/F,0EAA0E;AAC1E,eAAO,MAAM,eAAe,QAA4B,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Shared lexical patterns for author-supplied identifiers and paths.
3
+ *
4
+ * These lived in two files. `definition.ts` and `contributes.ts` each declared
5
+ * their own `SAFE_ID` and `SAFE_RELATIVE_PATH`, byte-identical and independent,
6
+ * which is a drift waiting to happen: tightening one and not the other means the
7
+ * manifest and the `contributes` block disagree about what an author may name,
8
+ * and the looser file wins wherever it is checked last.
9
+ *
10
+ * They are security-relevant. `SAFE_ID` is what makes contributed CLI commands
11
+ * and tools namespaceable — an author cannot pick a slug containing a dot or a
12
+ * slash and collide with a host command. `SAFE_RELATIVE_PATH` is what stops a
13
+ * manifest naming `../../etc/passwd` as one of its files.
14
+ */
15
+ /** kebab-case only: no dots, no slashes, no leading or trailing dash. */
16
+ export const SAFE_ID = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
17
+ /**
18
+ * Relative POSIX path with no traversal and no backslash. Rejects a leading
19
+ * `/`, any `..` segment, and `\` (which Windows would treat as a separator).
20
+ */
21
+ export const SAFE_RELATIVE_PATH = /^(?!\/)(?!.*(?:^|\/)\.\.(?:\/|$))(?!.*\\)[a-zA-Z0-9._/-]+$/;
22
+ /** Capability tags: lowercase, dotted or slashed namespaces permitted. */
23
+ export const SAFE_CAPABILITY = /^[a-z0-9][a-z0-9._/-]*$/;
24
+ //# sourceMappingURL=patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/schemas/patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,4DAA4D,CAAC;AAE/F,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Applet publication — the shareable identity for an installed applet.
3
+ *
4
+ * Publication is deliberately separate from AppletInstance. A private
5
+ * installation can exist without a discoverable URL, and unpublishing removes
6
+ * the viewer-facing identity without changing the pinned release or state.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ export declare const appletSlugSchema: z.ZodString;
10
+ export declare const appletPublicationVisibilitySchema: z.ZodEnum<{
11
+ public: "public";
12
+ org: "org";
13
+ }>;
14
+ export declare const appletPublicationSchema: z.ZodObject<{
15
+ id: z.ZodUUID;
16
+ instanceId: z.ZodUUID;
17
+ slug: z.ZodString;
18
+ visibility: z.ZodEnum<{
19
+ public: "public";
20
+ org: "org";
21
+ }>;
22
+ publishedAt: z.ZodDate;
23
+ updatedAt: z.ZodDate;
24
+ }, z.core.$strip>;
25
+ export type AppletPublication = z.infer<typeof appletPublicationSchema>;
26
+ export type AppletPublicationVisibility = z.infer<typeof appletPublicationVisibilitySchema>;
27
+ //# sourceMappingURL=publishing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishing.d.ts","sourceRoot":"","sources":["../../src/schemas/publishing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,eAAO,MAAM,iCAAiC;;;EAA4B,CAAC;AAE3E,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAOlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Applet publication — the shareable identity for an installed applet.
3
+ *
4
+ * Publication is deliberately separate from AppletInstance. A private
5
+ * installation can exist without a discoverable URL, and unpublishing removes
6
+ * the viewer-facing identity without changing the pinned release or state.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { slugSchema } from '@vibesdotdev/shared/schemas';
10
+ export const appletSlugSchema = slugSchema;
11
+ export const appletPublicationVisibilitySchema = z.enum(['org', 'public']);
12
+ export const appletPublicationSchema = z.object({
13
+ id: z.uuid(),
14
+ instanceId: z.uuid(),
15
+ slug: appletSlugSchema,
16
+ visibility: appletPublicationVisibilitySchema,
17
+ publishedAt: z.date(),
18
+ updatedAt: z.date()
19
+ });
20
+ //# sourceMappingURL=publishing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishing.js","sourceRoot":"","sources":["../../src/schemas/publishing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE3C,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,iCAAiC;IAC7C,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACnB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * AppletRun — bounded execution only; no presentation custody. A run is
3
+ * created when a user opens an applet and destroyed when they leave or
4
+ * revoke. The run holds the launch lease and capability grants in effect.
5
+ */
6
+ import * as z from 'zod/v4';
7
+ export declare const appletRunStatusSchema: z.ZodEnum<{
8
+ ready: "ready";
9
+ pending: "pending";
10
+ revoked: "revoked";
11
+ expired: "expired";
12
+ loading: "loading";
13
+ crashed: "crashed";
14
+ unresponsive: "unresponsive";
15
+ }>;
16
+ export declare const appletRunSchema: z.ZodObject<{
17
+ id: z.ZodUUID;
18
+ instanceId: z.ZodUUID;
19
+ viewerUserId: z.ZodNullable<z.ZodString>;
20
+ viewerOrgId: z.ZodNullable<z.ZodString>;
21
+ status: z.ZodDefault<z.ZodEnum<{
22
+ ready: "ready";
23
+ pending: "pending";
24
+ revoked: "revoked";
25
+ expired: "expired";
26
+ loading: "loading";
27
+ crashed: "crashed";
28
+ unresponsive: "unresponsive";
29
+ }>>;
30
+ startedAt: z.ZodDate;
31
+ endedAt: z.ZodNullable<z.ZodDate>;
32
+ }, z.core.$strip>;
33
+ export type AppletRun = z.infer<typeof appletRunSchema>;
34
+ export type AppletRunStatus = z.infer<typeof appletRunStatusSchema>;
35
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/schemas/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,eAAO,MAAM,qBAAqB;;;;;;;;EAQhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * AppletRun — bounded execution only; no presentation custody. A run is
3
+ * created when a user opens an applet and destroyed when they leave or
4
+ * revoke. The run holds the launch lease and capability grants in effect.
5
+ */
6
+ import * as z from 'zod/v4';
7
+ export const appletRunStatusSchema = z.enum([
8
+ 'pending',
9
+ 'loading',
10
+ 'ready',
11
+ 'crashed',
12
+ 'unresponsive',
13
+ 'revoked',
14
+ 'expired'
15
+ ]);
16
+ export const appletRunSchema = z.object({
17
+ id: z.uuid(),
18
+ instanceId: z.uuid(),
19
+ /** Viewer identity — server-derived, never client-supplied. */
20
+ viewerUserId: z.string().nullable(),
21
+ viewerOrgId: z.string().nullable(),
22
+ status: appletRunStatusSchema.default('pending'),
23
+ startedAt: z.date(),
24
+ endedAt: z.date().nullable()
25
+ });
26
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/schemas/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,cAAc;IACd,SAAS;IACT,SAAS;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,+DAA+D;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Share links — "anyone with the URL", as a revocable credential.
3
+ *
4
+ * `appletInstance.visibility` already covers `private | org | public`, which are
5
+ * IDENTITY decisions the host can evaluate. "Anyone with the link" is not: the
6
+ * link IS the authority, so it needs the things a credential needs — its own
7
+ * row, an expiry, a revocation, and a record of use. Adding a fourth enum value
8
+ * to `visibility` would have hidden all of that behind a word.
9
+ *
10
+ * Mirrors the shape `media_share_tokens` already uses for files rather than
11
+ * inventing a second vocabulary for the same idea.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ /**
15
+ * Unguessable and URL-safe. Length is the whole defence — this token is handed
16
+ * to whoever holds the link, so it must not be searchable or brute-forceable.
17
+ */
18
+ export declare const appletShareTokenValueSchema: z.ZodString;
19
+ export declare const appletShareLinkSchema: z.ZodObject<{
20
+ id: z.ZodUUID;
21
+ instanceId: z.ZodUUID;
22
+ token: z.ZodString;
23
+ label: z.ZodNullable<z.ZodString>;
24
+ expiresAt: z.ZodNullable<z.ZodDate>;
25
+ revokedAt: z.ZodNullable<z.ZodDate>;
26
+ viewCount: z.ZodDefault<z.ZodNumber>;
27
+ lastViewedAt: z.ZodNullable<z.ZodDate>;
28
+ createdAt: z.ZodDate;
29
+ updatedAt: z.ZodDate;
30
+ }, z.core.$strip>;
31
+ export type AppletShareLink = z.infer<typeof appletShareLinkSchema>;
32
+ export type AppletShareRefusal = 'share-not-found' | 'share-revoked' | 'share-expired';
33
+ export type AppletShareDecision = {
34
+ allowed: true;
35
+ instanceId: string;
36
+ } | {
37
+ allowed: false;
38
+ reason: AppletShareRefusal;
39
+ };
40
+ /**
41
+ * Decide whether a bearer may open the applet behind this link.
42
+ *
43
+ * Fails closed. The reason DISCRIMINATES between "no such token", "revoked", and
44
+ * "expired", which is an existence oracle: a bearer probing tokens learns which
45
+ * ones once existed. That is deliberate for the owner-facing path, where an
46
+ * author needs to know why their link stopped working — and it means a
47
+ * public redemption route must collapse every refusal to one response before it
48
+ * reaches a bearer. An earlier version of this comment claimed the distinction
49
+ * went "to the ledger, not the caller", which was simply untrue: it is the
50
+ * return value.
51
+ */
52
+ export declare function authorizeAppletShareLink(link: AppletShareLink | null, now: Date): AppletShareDecision;
53
+ /**
54
+ * A link bearer is ANONYMOUS. They hold a URL, not an identity.
55
+ *
56
+ * So a share link may never carry the sharer's capability grant: sharing a URL
57
+ * would then be sharing authority, and a public link would become a way to
58
+ * invoke the sharer's capabilities. A bearer gets the applet and nothing else.
59
+ */
60
+ export declare const APPLET_SHARE_BEARER_CAPABILITIES: readonly string[];
61
+ //# sourceMappingURL=share-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-link.d.ts","sourceRoot":"","sources":["../../src/schemas/share-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAIoB,CAAC;AAE7D,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAchC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAC3B,iBAAiB,GACjB,eAAe,GACf,eAAe,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAC5B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,GAAG,EAAE,IAAI,GACP,mBAAmB,CAOrB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAAsB,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Share links — "anyone with the URL", as a revocable credential.
3
+ *
4
+ * `appletInstance.visibility` already covers `private | org | public`, which are
5
+ * IDENTITY decisions the host can evaluate. "Anyone with the link" is not: the
6
+ * link IS the authority, so it needs the things a credential needs — its own
7
+ * row, an expiry, a revocation, and a record of use. Adding a fourth enum value
8
+ * to `visibility` would have hidden all of that behind a word.
9
+ *
10
+ * Mirrors the shape `media_share_tokens` already uses for files rather than
11
+ * inventing a second vocabulary for the same idea.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ /**
15
+ * Unguessable and URL-safe. Length is the whole defence — this token is handed
16
+ * to whoever holds the link, so it must not be searchable or brute-forceable.
17
+ */
18
+ export const appletShareTokenValueSchema = z
19
+ .string()
20
+ .min(32)
21
+ .max(128)
22
+ .regex(/^[A-Za-z0-9_-]+$/, 'Share tokens must be URL-safe');
23
+ export const appletShareLinkSchema = z.object({
24
+ id: z.uuid(),
25
+ instanceId: z.uuid(),
26
+ token: appletShareTokenValueSchema,
27
+ /** Author-facing label, so a person can tell two links apart before revoking. */
28
+ label: z.string().min(1).max(120).nullable(),
29
+ /** Null means it does not expire, which should be a deliberate choice. */
30
+ expiresAt: z.date().nullable(),
31
+ revokedAt: z.date().nullable(),
32
+ /** Cheap abuse signal: a link being hit far more than expected. */
33
+ viewCount: z.number().int().nonnegative().default(0),
34
+ lastViewedAt: z.date().nullable(),
35
+ createdAt: z.date(),
36
+ updatedAt: z.date()
37
+ });
38
+ /**
39
+ * Decide whether a bearer may open the applet behind this link.
40
+ *
41
+ * Fails closed. The reason DISCRIMINATES between "no such token", "revoked", and
42
+ * "expired", which is an existence oracle: a bearer probing tokens learns which
43
+ * ones once existed. That is deliberate for the owner-facing path, where an
44
+ * author needs to know why their link stopped working — and it means a
45
+ * public redemption route must collapse every refusal to one response before it
46
+ * reaches a bearer. An earlier version of this comment claimed the distinction
47
+ * went "to the ledger, not the caller", which was simply untrue: it is the
48
+ * return value.
49
+ */
50
+ export function authorizeAppletShareLink(link, now) {
51
+ if (!link)
52
+ return { allowed: false, reason: 'share-not-found' };
53
+ if (link.revokedAt !== null)
54
+ return { allowed: false, reason: 'share-revoked' };
55
+ if (link.expiresAt !== null && link.expiresAt.getTime() <= now.getTime()) {
56
+ return { allowed: false, reason: 'share-expired' };
57
+ }
58
+ return { allowed: true, instanceId: link.instanceId };
59
+ }
60
+ /**
61
+ * A link bearer is ANONYMOUS. They hold a URL, not an identity.
62
+ *
63
+ * So a share link may never carry the sharer's capability grant: sharing a URL
64
+ * would then be sharing authority, and a public link would become a way to
65
+ * invoke the sharer's capabilities. A bearer gets the applet and nothing else.
66
+ */
67
+ export const APPLET_SHARE_BEARER_CAPABILITIES = Object.freeze([]);
68
+ //# sourceMappingURL=share-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-link.js","sourceRoot":"","sources":["../../src/schemas/share-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,GAAG,CAAC,EAAE,CAAC;KACP,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,KAAK,EAAE,2BAA2B;IAClC,iFAAiF;IACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,0EAA0E;IAC1E,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC9B,mEAAmE;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACnB,CAAC,CAAC;AAaH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACvC,IAA4B,EAC5B,GAAS;IAET,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAChF,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * State, events, mutation receipts, and checkpoints.
3
+ *
4
+ * One owner-app command validates `expectedRevision` and `operationId`,
5
+ * updates the shared or viewer state head, and writes one mutation receipt
6
+ * in the same database transaction. Duplicate operations return the original
7
+ * result.
8
+ *
9
+ * Generic cloud-api PATCH cannot update state heads.
10
+ */
11
+ import * as z from 'zod/v4';
12
+ export declare const appletStateScopeSchema: z.ZodEnum<{
13
+ shared: "shared";
14
+ viewer: "viewer";
15
+ }>;
16
+ export declare const appletStateHeadSchema: z.ZodObject<{
17
+ id: z.ZodUUID;
18
+ instanceId: z.ZodUUID;
19
+ scope: z.ZodEnum<{
20
+ shared: "shared";
21
+ viewer: "viewer";
22
+ }>;
23
+ viewerUserId: z.ZodNullable<z.ZodString>;
24
+ revision: z.ZodDefault<z.ZodNumber>;
25
+ state: z.ZodDefault<z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>>;
26
+ updatedAt: z.ZodDate;
27
+ }, z.core.$strip>;
28
+ export declare const appletEventSchema: z.ZodObject<{
29
+ id: z.ZodUUID;
30
+ instanceId: z.ZodUUID;
31
+ sequence: z.ZodNumber;
32
+ eventType: z.ZodString;
33
+ payload: z.ZodDefault<z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>>;
34
+ viewerUserId: z.ZodNullable<z.ZodString>;
35
+ viewerOrgId: z.ZodNullable<z.ZodString>;
36
+ emittedAt: z.ZodDate;
37
+ }, z.core.$strip>;
38
+ export declare const appletMutationReceiptSchema: z.ZodObject<{
39
+ id: z.ZodUUID;
40
+ instanceId: z.ZodUUID;
41
+ operationId: z.ZodString;
42
+ eventId: z.ZodUUID;
43
+ fromRevision: z.ZodNumber;
44
+ toRevision: z.ZodNumber;
45
+ applied: z.ZodBoolean;
46
+ createdAt: z.ZodDate;
47
+ }, z.core.$strip>;
48
+ export declare const appletCheckpointSchema: z.ZodObject<{
49
+ id: z.ZodUUID;
50
+ instanceId: z.ZodUUID;
51
+ revision: z.ZodNumber;
52
+ stateSnapshot: z.ZodRecord<z.ZodString, z.ZodUnknown>;
53
+ reason: z.ZodDefault<z.ZodEnum<{
54
+ manual: "manual";
55
+ duplicate: "duplicate";
56
+ migrate: "migrate";
57
+ rollback: "rollback";
58
+ }>>;
59
+ createdAt: z.ZodDate;
60
+ }, z.core.$strip>;
61
+ export type AppletStateScope = z.infer<typeof appletStateScopeSchema>;
62
+ export type AppletStateHead = z.infer<typeof appletStateHeadSchema>;
63
+ export type AppletEvent = z.infer<typeof appletEventSchema>;
64
+ export type AppletMutationReceipt = z.infer<typeof appletMutationReceiptSchema>;
65
+ export type AppletCheckpoint = z.infer<typeof appletCheckpointSchema>;
66
+ //# sourceMappingURL=state-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-events.d.ts","sourceRoot":"","sources":["../../src/schemas/state-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,sBAAsB;;;EAA+B,CAAC;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAWhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAa5B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;iBActC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;iBAUjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * State, events, mutation receipts, and checkpoints.
3
+ *
4
+ * One owner-app command validates `expectedRevision` and `operationId`,
5
+ * updates the shared or viewer state head, and writes one mutation receipt
6
+ * in the same database transaction. Duplicate operations return the original
7
+ * result.
8
+ *
9
+ * Generic cloud-api PATCH cannot update state heads.
10
+ */
11
+ import * as z from 'zod/v4';
12
+ import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
13
+ export const appletStateScopeSchema = z.enum(['shared', 'viewer']);
14
+ export const appletStateHeadSchema = z.object({
15
+ id: z.uuid(),
16
+ instanceId: z.uuid(),
17
+ scope: appletStateScopeSchema,
18
+ /** Viewer identity for viewer-scoped state (null for shared). */
19
+ viewerUserId: z.string().nullable(),
20
+ /** Optimistic concurrency revision. */
21
+ revision: z.number().int().nonnegative().default(0),
22
+ /** JSON-serializable state document. */
23
+ state: JsonObjectSchema.default({}),
24
+ updatedAt: z.date()
25
+ });
26
+ export const appletEventSchema = z.object({
27
+ id: z.uuid(),
28
+ instanceId: z.uuid(),
29
+ /** Monotonic sequence within the instance. */
30
+ sequence: z.number().int().nonnegative(),
31
+ /** Event type — typed by the Component's declared event schema. */
32
+ eventType: z.string().min(1),
33
+ /** JSON-serializable event payload. */
34
+ payload: JsonObjectSchema.default({}),
35
+ /** Viewer identity that emitted the event (null for system events). */
36
+ viewerUserId: z.string().nullable(),
37
+ viewerOrgId: z.string().nullable(),
38
+ emittedAt: z.date()
39
+ });
40
+ export const appletMutationReceiptSchema = z.object({
41
+ id: z.uuid(),
42
+ instanceId: z.uuid(),
43
+ /** Caller-supplied idempotency key — duplicates return the original result. */
44
+ operationId: z.string().min(1),
45
+ /** The event this mutation produced. */
46
+ eventId: z.uuid(),
47
+ /** State revision before the mutation. */
48
+ fromRevision: z.number().int().nonnegative(),
49
+ /** State revision after the mutation. */
50
+ toRevision: z.number().int().nonnegative(),
51
+ /** Whether the mutation was applied or was a duplicate. */
52
+ applied: z.boolean(),
53
+ createdAt: z.date()
54
+ });
55
+ export const appletCheckpointSchema = z.object({
56
+ id: z.uuid(),
57
+ instanceId: z.uuid(),
58
+ /** State revision captured by this checkpoint. */
59
+ revision: z.number().int().nonnegative(),
60
+ /** Materialized state snapshot. */
61
+ stateSnapshot: z.record(z.string(), z.unknown()),
62
+ /** Reason this checkpoint was created (duplicate, migrate, rollback). */
63
+ reason: z.enum(['duplicate', 'migrate', 'rollback', 'manual']).default('manual'),
64
+ createdAt: z.date()
65
+ });
66
+ //# sourceMappingURL=state-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-events.js","sourceRoot":"","sources":["../../src/schemas/state-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,KAAK,EAAE,sBAAsB;IAC7B,iEAAiE;IACjE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,uCAAuC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,wCAAwC;IACxC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,mEAAmE;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,uCAAuC;IACvC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,uEAAuE;IACvE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,+EAA+E;IAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,wCAAwC;IACxC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,0CAA0C;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC5C,yCAAyC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,2DAA2D;IAC3D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,kDAAkD;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,mCAAmC;IACnC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,yEAAyE;IACzE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAChF,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACnB,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Subscription — a user installing an Applet into their own runtime.
3
+ *
4
+ * Deliberately thin. The consent half already exists in `grants.ts`:
5
+ * `appletCapabilityGrant` is release-pinned and revocable, and
6
+ * `appletLaunchLease` carries short-lived per-run authority. A subscription adds
7
+ * only DISTRIBUTION — who installed what, where it is registered, and with what
8
+ * configuration — and REFERENCES the grant rather than restating it. Duplicating
9
+ * `capabilities` here would create a second source of truth for the same fact,
10
+ * and the two would drift.
11
+ *
12
+ * "Subscription" here never means an event subscription. An Applet reacting to
13
+ * an event is an event handler (`contributes.events`).
14
+ */
15
+ import * as z from 'zod/v4';
16
+ export declare const appletSubscriptionStateSchema: z.ZodEnum<{
17
+ active: "active";
18
+ paused: "paused";
19
+ revoked: "revoked";
20
+ "needs-consent": "needs-consent";
21
+ }>;
22
+ export declare const appletSubscriptionSchema: z.ZodObject<{
23
+ id: z.ZodUUID;
24
+ subscriberId: z.ZodString;
25
+ definitionId: z.ZodString;
26
+ instanceId: z.ZodUUID;
27
+ release: z.ZodObject<{
28
+ componentId: z.ZodUUID;
29
+ version: z.ZodString;
30
+ bundleHash: z.ZodString;
31
+ manifestHash: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>;
33
+ consentedContentDigest: z.ZodString;
34
+ capabilityGrantId: z.ZodUUID;
35
+ configValues: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
36
+ state: z.ZodEnum<{
37
+ active: "active";
38
+ paused: "paused";
39
+ revoked: "revoked";
40
+ "needs-consent": "needs-consent";
41
+ }>;
42
+ subscribedAt: z.ZodDate;
43
+ revokedAt: z.ZodNullable<z.ZodDate>;
44
+ }, z.core.$strip>;
45
+ export type AppletSubscriptionState = z.infer<typeof appletSubscriptionStateSchema>;
46
+ export type AppletSubscription = z.infer<typeof appletSubscriptionSchema>;
47
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/schemas/subscription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;iBAsBnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Subscription — a user installing an Applet into their own runtime.
3
+ *
4
+ * Deliberately thin. The consent half already exists in `grants.ts`:
5
+ * `appletCapabilityGrant` is release-pinned and revocable, and
6
+ * `appletLaunchLease` carries short-lived per-run authority. A subscription adds
7
+ * only DISTRIBUTION — who installed what, where it is registered, and with what
8
+ * configuration — and REFERENCES the grant rather than restating it. Duplicating
9
+ * `capabilities` here would create a second source of truth for the same fact,
10
+ * and the two would drift.
11
+ *
12
+ * "Subscription" here never means an event subscription. An Applet reacting to
13
+ * an event is an event handler (`contributes.events`).
14
+ */
15
+ import * as z from 'zod/v4';
16
+ import { componentReleaseRefSchema } from "./component-release-ref.js";
17
+ export const appletSubscriptionStateSchema = z.enum([
18
+ 'active',
19
+ 'paused',
20
+ 'revoked',
21
+ 'needs-consent'
22
+ ]);
23
+ export const appletSubscriptionSchema = z.object({
24
+ id: z.uuid(),
25
+ subscriberId: z.string().min(1),
26
+ definitionId: z.string().min(1),
27
+ instanceId: z.uuid(),
28
+ /** Exact release. Never a mutable alias. */
29
+ release: componentReleaseRefSchema,
30
+ /**
31
+ * Digest set of the release's `files[]` at consent time.
32
+ *
33
+ * Comparing capability sets and contribution SHAPES is not enough on upgrade:
34
+ * implementation files can be swapped wholesale while every tag, name, and
35
+ * schema stays byte-identical, which is a total behaviour replacement under
36
+ * prior consent. The content digest is what makes that detectable.
37
+ */
38
+ consentedContentDigest: z.string().min(1),
39
+ /** FK to `appletCapabilityGrant`. Capabilities are NOT duplicated here. */
40
+ capabilityGrantId: z.uuid(),
41
+ configValues: z.record(z.string(), z.unknown()).default({}),
42
+ state: appletSubscriptionStateSchema,
43
+ subscribedAt: z.date(),
44
+ revokedAt: z.date().nullable()
45
+ });
46
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/schemas/subscription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,IAAI,CAAC;IACnD,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,eAAe;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,4CAA4C;IAC5C,OAAO,EAAE,yBAAyB;IAClC;;;;;;;OAOG;IACH,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,2EAA2E;IAC3E,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,KAAK,EAAE,6BAA6B;IACpC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Applet template revision — exact Component release plus immutable launch
3
+ * defaults and policy ceilings. Built-in templates become system-owned exact
4
+ * Component releases.
5
+ */
6
+ import * as z from 'zod/v4';
7
+ /** One canonical executable template payload: an immutable release and policy. */
8
+ export declare const appletTemplateReleaseSchema: z.ZodObject<{
9
+ release: z.ZodObject<{
10
+ componentId: z.ZodUUID;
11
+ version: z.ZodString;
12
+ bundleHash: z.ZodString;
13
+ manifestHash: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ defaults: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
16
+ policy: z.ZodDefault<z.ZodObject<{
17
+ maxVisibility: z.ZodDefault<z.ZodEnum<{
18
+ public: "public";
19
+ private: "private";
20
+ org: "org";
21
+ }>>;
22
+ maxCapabilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
23
+ }, z.core.$strip>>;
24
+ }, z.core.$strip>;
25
+ export declare const appletTemplateRevisionSchema: z.ZodObject<{
26
+ release: z.ZodObject<{
27
+ componentId: z.ZodUUID;
28
+ version: z.ZodString;
29
+ bundleHash: z.ZodString;
30
+ manifestHash: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strip>;
32
+ defaults: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
33
+ policy: z.ZodDefault<z.ZodObject<{
34
+ maxVisibility: z.ZodDefault<z.ZodEnum<{
35
+ public: "public";
36
+ private: "private";
37
+ org: "org";
38
+ }>>;
39
+ maxCapabilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
40
+ }, z.core.$strip>>;
41
+ id: z.ZodUUID;
42
+ templateId: z.ZodString;
43
+ ownerType: z.ZodEnum<{
44
+ user: "user";
45
+ organization: "organization";
46
+ system: "system";
47
+ }>;
48
+ ownerId: z.ZodString;
49
+ createdAt: z.ZodDate;
50
+ updatedAt: z.ZodDate;
51
+ }, z.core.$strip>;
52
+ export type AppletTemplateRevision = z.infer<typeof appletTemplateRevisionSchema>;
53
+ //# sourceMappingURL=template-revision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-revision.d.ts","sourceRoot":"","sources":["../../src/schemas/template-revision.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,kFAAkF;AAClF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;iBAYtC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}