@vibesdotdev/vessel 0.0.0-stage → 1.0.0-rc.3

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 (223) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +90 -2
  3. package/dist/apps/filesystem.vessel.plugin.d.ts +307 -0
  4. package/dist/apps/filesystem.vessel.plugin.d.ts.map +1 -0
  5. package/dist/apps/filesystem.vessel.plugin.js +134 -0
  6. package/dist/apps/filesystem.vessel.plugin.js.map +1 -0
  7. package/dist/apps/storage.vessel.plugin.d.ts +318 -0
  8. package/dist/apps/storage.vessel.plugin.d.ts.map +1 -0
  9. package/dist/apps/storage.vessel.plugin.js +132 -0
  10. package/dist/apps/storage.vessel.plugin.js.map +1 -0
  11. package/dist/apps/terminal.vessel.plugin.d.ts +306 -0
  12. package/dist/apps/terminal.vessel.plugin.d.ts.map +1 -0
  13. package/dist/apps/terminal.vessel.plugin.js +112 -0
  14. package/dist/apps/terminal.vessel.plugin.js.map +1 -0
  15. package/dist/boundary.d.ts +10 -0
  16. package/dist/boundary.d.ts.map +1 -0
  17. package/dist/boundary.js +43 -0
  18. package/dist/boundary.js.map +1 -0
  19. package/dist/client/helper.d.ts +4 -0
  20. package/dist/client/helper.d.ts.map +1 -0
  21. package/dist/client/helper.js +5 -0
  22. package/dist/client/helper.js.map +1 -0
  23. package/dist/client/index.d.ts +3 -0
  24. package/dist/client/index.d.ts.map +1 -0
  25. package/dist/client/index.js +3 -0
  26. package/dist/client/index.js.map +1 -0
  27. package/dist/client/vessel-client.d.ts +39 -0
  28. package/dist/client/vessel-client.d.ts.map +1 -0
  29. package/dist/client/vessel-client.js +101 -0
  30. package/dist/client/vessel-client.js.map +1 -0
  31. package/dist/docs/vessel.docs.descriptor.d.ts +4 -0
  32. package/dist/docs/vessel.docs.descriptor.d.ts.map +1 -0
  33. package/dist/docs/vessel.docs.descriptor.js +96 -0
  34. package/dist/docs/vessel.docs.descriptor.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +13 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/kinds.d.ts +24 -0
  40. package/dist/kinds.d.ts.map +1 -0
  41. package/dist/kinds.js +78 -0
  42. package/dist/kinds.js.map +1 -0
  43. package/dist/launch/cli/descriptor.d.ts +3 -0
  44. package/dist/launch/cli/descriptor.d.ts.map +1 -0
  45. package/dist/launch/cli/descriptor.js +24 -0
  46. package/dist/launch/cli/descriptor.js.map +1 -0
  47. package/dist/launch/cli/implementation.d.ts +7 -0
  48. package/dist/launch/cli/implementation.d.ts.map +1 -0
  49. package/dist/launch/cli/implementation.js +14 -0
  50. package/dist/launch/cli/implementation.js.map +1 -0
  51. package/dist/launch/cli/options.d.ts +10 -0
  52. package/dist/launch/cli/options.d.ts.map +1 -0
  53. package/dist/launch/cli/options.js +12 -0
  54. package/dist/launch/cli/options.js.map +1 -0
  55. package/dist/launch/cli/plugin.d.ts +4 -0
  56. package/dist/launch/cli/plugin.d.ts.map +1 -0
  57. package/dist/launch/cli/plugin.js +12 -0
  58. package/dist/launch/cli/plugin.js.map +1 -0
  59. package/dist/launch/cli/request.d.ts +23 -0
  60. package/dist/launch/cli/request.d.ts.map +1 -0
  61. package/dist/launch/cli/request.js +27 -0
  62. package/dist/launch/cli/request.js.map +1 -0
  63. package/dist/launch/ensure-host.d.ts +48 -0
  64. package/dist/launch/ensure-host.d.ts.map +1 -0
  65. package/dist/launch/ensure-host.js +54 -0
  66. package/dist/launch/ensure-host.js.map +1 -0
  67. package/dist/launch/index.d.ts +9 -0
  68. package/dist/launch/index.d.ts.map +1 -0
  69. package/dist/launch/index.js +52 -0
  70. package/dist/launch/index.js.map +1 -0
  71. package/dist/launch/plugin.d.ts +6 -0
  72. package/dist/launch/plugin.d.ts.map +1 -0
  73. package/dist/launch/plugin.js +20 -0
  74. package/dist/launch/plugin.js.map +1 -0
  75. package/dist/launch/schema.d.ts +66 -0
  76. package/dist/launch/schema.d.ts.map +1 -0
  77. package/dist/launch/schema.js +71 -0
  78. package/dist/launch/schema.js.map +1 -0
  79. package/dist/launch/workspaces.d.ts +134 -0
  80. package/dist/launch/workspaces.d.ts.map +1 -0
  81. package/dist/launch/workspaces.js +60 -0
  82. package/dist/launch/workspaces.js.map +1 -0
  83. package/dist/module-not-found.d.ts +3 -0
  84. package/dist/module-not-found.d.ts.map +1 -0
  85. package/dist/module-not-found.js +18 -0
  86. package/dist/module-not-found.js.map +1 -0
  87. package/dist/schemas/platform.config.descriptor.d.ts +34 -0
  88. package/dist/schemas/platform.config.descriptor.d.ts.map +1 -0
  89. package/dist/schemas/platform.config.descriptor.js +13 -0
  90. package/dist/schemas/platform.config.descriptor.js.map +1 -0
  91. package/dist/schemas.d.ts +2213 -0
  92. package/dist/schemas.d.ts.map +1 -0
  93. package/dist/schemas.js +661 -0
  94. package/dist/schemas.js.map +1 -0
  95. package/dist/shell/app-surface.d.ts +55 -0
  96. package/dist/shell/app-surface.d.ts.map +1 -0
  97. package/dist/shell/app-surface.js +159 -0
  98. package/dist/shell/app-surface.js.map +1 -0
  99. package/dist/shell/dock.d.ts +30 -0
  100. package/dist/shell/dock.d.ts.map +1 -0
  101. package/dist/shell/dock.js +75 -0
  102. package/dist/shell/dock.js.map +1 -0
  103. package/dist/shell/index.d.ts +11 -0
  104. package/dist/shell/index.d.ts.map +1 -0
  105. package/dist/shell/index.js +10 -0
  106. package/dist/shell/index.js.map +1 -0
  107. package/dist/shell/launch-resolution.d.ts +49 -0
  108. package/dist/shell/launch-resolution.d.ts.map +1 -0
  109. package/dist/shell/launch-resolution.js +163 -0
  110. package/dist/shell/launch-resolution.js.map +1 -0
  111. package/dist/shell/layout-grid.d.ts +30 -0
  112. package/dist/shell/layout-grid.d.ts.map +1 -0
  113. package/dist/shell/layout-grid.js +56 -0
  114. package/dist/shell/layout-grid.js.map +1 -0
  115. package/dist/shell/owner-surface-lifecycle.d.ts +30 -0
  116. package/dist/shell/owner-surface-lifecycle.d.ts.map +1 -0
  117. package/dist/shell/owner-surface-lifecycle.js +54 -0
  118. package/dist/shell/owner-surface-lifecycle.js.map +1 -0
  119. package/dist/shell/ports.d.ts +107 -0
  120. package/dist/shell/ports.d.ts.map +1 -0
  121. package/dist/shell/ports.js +154 -0
  122. package/dist/shell/ports.js.map +1 -0
  123. package/dist/shell/types.d.ts +7 -0
  124. package/dist/shell/types.d.ts.map +1 -0
  125. package/dist/shell/types.js +2 -0
  126. package/dist/shell/types.js.map +1 -0
  127. package/dist/shell/window-manager.d.ts +82 -0
  128. package/dist/shell/window-manager.d.ts.map +1 -0
  129. package/dist/shell/window-manager.js +285 -0
  130. package/dist/shell/window-manager.js.map +1 -0
  131. package/dist/shell/workspace-memory.d.ts +42 -0
  132. package/dist/shell/workspace-memory.d.ts.map +1 -0
  133. package/dist/shell/workspace-memory.js +65 -0
  134. package/dist/shell/workspace-memory.js.map +1 -0
  135. package/dist/shell/workspace-state.d.ts +47 -0
  136. package/dist/shell/workspace-state.d.ts.map +1 -0
  137. package/dist/shell/workspace-state.js +137 -0
  138. package/dist/shell/workspace-state.js.map +1 -0
  139. package/dist/vessel.docs.plugin.d.ts +4 -0
  140. package/dist/vessel.docs.plugin.d.ts.map +1 -0
  141. package/dist/vessel.docs.plugin.js +11 -0
  142. package/dist/vessel.docs.plugin.js.map +1 -0
  143. package/dist/vessel.plugin.d.ts +3 -0
  144. package/dist/vessel.plugin.d.ts.map +1 -0
  145. package/dist/vessel.plugin.js +23 -0
  146. package/dist/vessel.plugin.js.map +1 -0
  147. package/dist/vessel.runtime-client.descriptor.d.ts +4 -0
  148. package/dist/vessel.runtime-client.descriptor.d.ts.map +1 -0
  149. package/dist/vessel.runtime-client.descriptor.js +13 -0
  150. package/dist/vessel.runtime-client.descriptor.js.map +1 -0
  151. package/dist/vessel.workspace-state.plugin.d.ts +4 -0
  152. package/dist/vessel.workspace-state.plugin.d.ts.map +1 -0
  153. package/dist/vessel.workspace-state.plugin.js +12 -0
  154. package/dist/vessel.workspace-state.plugin.js.map +1 -0
  155. package/dist/vessel.workspace.plugin.d.ts +3 -0
  156. package/dist/vessel.workspace.plugin.d.ts.map +1 -0
  157. package/dist/vessel.workspace.plugin.js +17 -0
  158. package/dist/vessel.workspace.plugin.js.map +1 -0
  159. package/dist/whiteboard/client.d.ts +35 -0
  160. package/dist/whiteboard/client.d.ts.map +1 -0
  161. package/dist/whiteboard/client.js +185 -0
  162. package/dist/whiteboard/client.js.map +1 -0
  163. package/dist/whiteboard/descriptor.d.ts +5 -0
  164. package/dist/whiteboard/descriptor.d.ts.map +1 -0
  165. package/dist/whiteboard/descriptor.js +14 -0
  166. package/dist/whiteboard/descriptor.js.map +1 -0
  167. package/dist/whiteboard/index.d.ts +7 -0
  168. package/dist/whiteboard/index.d.ts.map +1 -0
  169. package/dist/whiteboard/index.js +7 -0
  170. package/dist/whiteboard/index.js.map +1 -0
  171. package/dist/whiteboard/plugin.d.ts +3 -0
  172. package/dist/whiteboard/plugin.d.ts.map +1 -0
  173. package/dist/whiteboard/plugin.js +42 -0
  174. package/dist/whiteboard/plugin.js.map +1 -0
  175. package/dist/whiteboard/schemas.d.ts +479 -0
  176. package/dist/whiteboard/schemas.d.ts.map +1 -0
  177. package/dist/whiteboard/schemas.js +55 -0
  178. package/dist/whiteboard/schemas.js.map +1 -0
  179. package/dist/whiteboard/tools/apply.impl.d.ts +7 -0
  180. package/dist/whiteboard/tools/apply.impl.d.ts.map +1 -0
  181. package/dist/whiteboard/tools/apply.impl.js +12 -0
  182. package/dist/whiteboard/tools/apply.impl.js.map +1 -0
  183. package/dist/whiteboard/tools/descriptors.d.ts +489 -0
  184. package/dist/whiteboard/tools/descriptors.d.ts.map +1 -0
  185. package/dist/whiteboard/tools/descriptors.js +72 -0
  186. package/dist/whiteboard/tools/descriptors.js.map +1 -0
  187. package/dist/whiteboard/tools/get.impl.d.ts +7 -0
  188. package/dist/whiteboard/tools/get.impl.d.ts.map +1 -0
  189. package/dist/whiteboard/tools/get.impl.js +12 -0
  190. package/dist/whiteboard/tools/get.impl.js.map +1 -0
  191. package/dist/whiteboard/tools/open.impl.d.ts +7 -0
  192. package/dist/whiteboard/tools/open.impl.d.ts.map +1 -0
  193. package/dist/whiteboard/tools/open.impl.js +12 -0
  194. package/dist/whiteboard/tools/open.impl.js.map +1 -0
  195. package/dist/whiteboard/tools/signal.impl.d.ts +7 -0
  196. package/dist/whiteboard/tools/signal.impl.d.ts.map +1 -0
  197. package/dist/whiteboard/tools/signal.impl.js +11 -0
  198. package/dist/whiteboard/tools/signal.impl.js.map +1 -0
  199. package/dist/whiteboard/vessel-whiteboard.descriptors.d.ts +4 -0
  200. package/dist/whiteboard/vessel-whiteboard.descriptors.d.ts.map +1 -0
  201. package/dist/whiteboard/vessel-whiteboard.descriptors.js +61 -0
  202. package/dist/whiteboard/vessel-whiteboard.descriptors.js.map +1 -0
  203. package/dist/workspace/vessel-hub.descriptors.d.ts +543 -0
  204. package/dist/workspace/vessel-hub.descriptors.d.ts.map +1 -0
  205. package/dist/workspace/vessel-hub.descriptors.js +544 -0
  206. package/dist/workspace/vessel-hub.descriptors.js.map +1 -0
  207. package/dist/workspace/vessel-platform.descriptors.d.ts +809 -0
  208. package/dist/workspace/vessel-platform.descriptors.d.ts.map +1 -0
  209. package/dist/workspace/vessel-platform.descriptors.js +207 -0
  210. package/dist/workspace/vessel-platform.descriptors.js.map +1 -0
  211. package/dist/workspace/vessel-workspace.descriptors.d.ts +537 -0
  212. package/dist/workspace/vessel-workspace.descriptors.d.ts.map +1 -0
  213. package/dist/workspace/vessel-workspace.descriptors.js +115 -0
  214. package/dist/workspace/vessel-workspace.descriptors.js.map +1 -0
  215. package/dist/workspace-state/index.d.ts +3 -0
  216. package/dist/workspace-state/index.d.ts.map +1 -0
  217. package/dist/workspace-state/index.js +3 -0
  218. package/dist/workspace-state/index.js.map +1 -0
  219. package/dist/workspace-state/vessel.workspace-state.storage.descriptor.d.ts +51 -0
  220. package/dist/workspace-state/vessel.workspace-state.storage.descriptor.d.ts.map +1 -0
  221. package/dist/workspace-state/vessel.workspace-state.storage.descriptor.js +24 -0
  222. package/dist/workspace-state/vessel.workspace-state.storage.descriptor.js.map +1 -0
  223. package/package.json +207 -4
@@ -0,0 +1,101 @@
1
+ import * as z from 'zod/v4';
2
+ import { parseVesselValue, vesselFailure, vesselOperation } from "../boundary.js";
3
+ import { BaseRuntimeClient } from '@vibesdotdev/kernel/client';
4
+ import { vesselAppDescriptorSchema, vesselReadinessAreaSchema, vesselSetupStepSchema, vesselAuditFindingSchema, vesselAuditLensDescriptorSchema, vesselSurfaceDescriptorSchema, vesselVisualAssetDescriptorSchema, vesselDesignReviewRecordSchema, vesselOsStandardDescriptorSchema, advanceVesselWorkspaceReceipts, vesselWorkspaceIdSchema, vesselWorkspaceStateSchema } from "../schemas.js";
5
+ export class VesselClient extends BaseRuntimeClient {
6
+ constructor(descriptor, context) {
7
+ super(descriptor, context);
8
+ }
9
+ apps() {
10
+ return this.descriptors('vessel/app', vesselAppDescriptorSchema);
11
+ }
12
+ readinessAreas() {
13
+ return this.descriptors('vessel/readiness-area', vesselReadinessAreaSchema);
14
+ }
15
+ setupSteps() {
16
+ return this.descriptors('vessel/setup-step', vesselSetupStepSchema).sort((a, b) => a.order - b.order);
17
+ }
18
+ auditFindings() {
19
+ return this.descriptors('vessel/audit-finding', vesselAuditFindingSchema);
20
+ }
21
+ auditLenses() {
22
+ return this.descriptors('vessel/audit-lens', vesselAuditLensDescriptorSchema);
23
+ }
24
+ surfaces() {
25
+ return this.descriptors('vessel/surface', vesselSurfaceDescriptorSchema);
26
+ }
27
+ visualAssets() {
28
+ return this.descriptors('vessel/visual-asset', vesselVisualAssetDescriptorSchema);
29
+ }
30
+ designReviews() {
31
+ return this.descriptors('vessel/design-review', vesselDesignReviewRecordSchema);
32
+ }
33
+ osStandards() {
34
+ return this.descriptors('vessel/os-standard', vesselOsStandardDescriptorSchema);
35
+ }
36
+ async listWorkspaceStateIds() {
37
+ const manifest = await this.workspaceStateRootManifest();
38
+ return parseVesselValue(z.array(vesselWorkspaceIdSchema), await vesselOperation(() => manifest.listPartitions(), 'vessel-partition-discovery-failed'));
39
+ }
40
+ async loadWorkspaceState(workspaceId) {
41
+ const manifest = await this.workspaceStateManifest(workspaceId);
42
+ const stored = await vesselOperation(() => manifest.load(), 'vessel-workspace-load-failed');
43
+ if (stored === null)
44
+ return null;
45
+ const state = parseVesselValue(vesselWorkspaceStateSchema, stored);
46
+ if (state.workspaceId !== workspaceId) {
47
+ throw vesselFailure('vessel-workspace-partition-conflict', 'CONFLICT');
48
+ }
49
+ return state;
50
+ }
51
+ async saveWorkspaceState(state) {
52
+ const next = parseVesselValue(vesselWorkspaceStateSchema, state);
53
+ const manifest = await this.workspaceStateManifest(next.workspaceId);
54
+ const stored = await vesselOperation(() => manifest.load(), 'vessel-workspace-load-failed');
55
+ if (stored !== null) {
56
+ const current = parseVesselValue(vesselWorkspaceStateSchema, stored);
57
+ if (current.workspaceId !== next.workspaceId) {
58
+ throw vesselFailure('vessel-workspace-partition-conflict', 'CONFLICT');
59
+ }
60
+ if (next.revision <= current.revision) {
61
+ throw vesselFailure('vessel-workspace-revision-conflict', 'CONFLICT');
62
+ }
63
+ const currentIds = new Set(current.receipts.map((receipt) => receipt.receiptId));
64
+ const appended = next.receipts.filter((receipt) => !currentIds.has(receipt.receiptId));
65
+ const expectedReceipts = advanceVesselWorkspaceReceipts(current.receipts, appended);
66
+ if (JSON.stringify(next.receipts) !== JSON.stringify(expectedReceipts)) {
67
+ throw vesselFailure('vessel-workspace-receipt-conflict', 'CONFLICT');
68
+ }
69
+ }
70
+ await vesselOperation(() => manifest.save(next), 'vessel-workspace-save-failed');
71
+ return next;
72
+ }
73
+ async clearWorkspaceState(workspaceId) {
74
+ const manifest = await this.workspaceStateManifest(workspaceId);
75
+ await vesselOperation(() => manifest.delete(), 'vessel-workspace-clear-failed');
76
+ }
77
+ descriptors(kind, schema) {
78
+ if (!this.runtime.hasKind(kind)) {
79
+ throw vesselFailure('vessel-kind-unavailable', 'UNAVAILABLE');
80
+ }
81
+ return this.runtime
82
+ .query(kind)
83
+ .descriptors()
84
+ .map((descriptor) => parseVesselValue(schema, descriptor));
85
+ }
86
+ async workspaceStateManifest(workspaceId) {
87
+ const partitionId = parseVesselValue(vesselWorkspaceIdSchema, workspaceId);
88
+ const manifest = await this.workspaceStateRootManifest();
89
+ return vesselOperation(() => manifest.partition(partitionId), 'vessel-workspace-partition-failed');
90
+ }
91
+ async workspaceStateRootManifest() {
92
+ if (!this.runtime.hasKind('storage/manifest')) {
93
+ throw vesselFailure('vessel-storage-unavailable', 'UNAVAILABLE');
94
+ }
95
+ return vesselOperation(() => this.runtime
96
+ .query('storage/manifest')
97
+ .withId('vessel.workspace-state')
98
+ .resolve(), 'vessel-storage-unavailable');
99
+ }
100
+ }
101
+ //# sourceMappingURL=vessel-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vessel-client.js","sourceRoot":"","sources":["../../src/client/vessel-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI/D,OAAO,EACN,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAW1B,MAAM,eAAe,CAAC;AA+BvB,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAClD,YAAY,UAAmC,EAAE,OAAqB;QACrE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;IAC7E,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,IAAI,CACvE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAC3B,CAAC;IACH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,iCAAiC,CAAC,CAAC;IACnF,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAAC;IACjF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,gCAAgC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACzD,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,mCAAmC,CAAC,CAAC,CAAC;IACxJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC5F,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,MAAM,aAAa,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA2B;QACnD,MAAM,IAAI,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC5F,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,aAAa,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,aAAa,CAAC,oCAAoC,EAAE,UAAU,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACvF,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxE,MAAM,aAAa,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;QACD,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC;IACjF,CAAC;IAEO,WAAW,CAAI,IAA0B,EAAE,MAAoB;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,aAAa,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO;aACjB,KAAK,CAAC,IAAI,CAAC;aACX,WAAW,EAAE;aACb,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,WAAmB;QACvD,MAAM,WAAW,GAAG,gBAAgB,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAEzD,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACpG,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/C,MAAM,aAAa,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO;aACvC,KAAK,CAAkD,kBAAkB,CAAC;aAC1E,MAAM,CAAC,wBAAwB,CAAC;aAChC,OAAO,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAC5C,CAAC;CACD"}
@@ -0,0 +1,4 @@
1
+ import type { DocsTopicDescriptor } from '@vibesdotdev/docs-contracts';
2
+ declare const descriptor: DocsTopicDescriptor;
3
+ export default descriptor;
4
+ //# sourceMappingURL=vessel.docs.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vessel.docs.descriptor.d.ts","sourceRoot":"","sources":["../../src/docs/vessel.docs.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,QAAA,MAAM,UAAU,EAAE,mBA8FjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,96 @@
1
+ const descriptor = {
2
+ kind: 'docs/topic',
3
+ id: 'vessel',
4
+ title: 'Vessel',
5
+ summary: 'Runtime-owned desktop OS contracts for apps, readiness, setup, review, and OS promotion gates.',
6
+ body: {
7
+ type: 'markdown',
8
+ sourceType: 'raw',
9
+ source: `---
10
+ title: Vessel
11
+ summary: Runtime-owned desktop OS contracts for apps, readiness, setup, review, and OS promotion gates
12
+ tags: [vessel, desktop, runtime, setup, apps, review]
13
+ order: 35
14
+ surfaces: [cli, web, in-app]
15
+ hardware: [consumer, cloud]
16
+ ---
17
+
18
+ # Vessel
19
+
20
+ Vessel is the desktop environment layer for Vibes runtime features. It composes
21
+ apps, setup state, and review evidence from runtime descriptors instead of
22
+ implementing feature behavior locally.
23
+
24
+ ## What ships
25
+
26
+ - \`vessel/app\` descriptors for launchable desktop apps and applets.
27
+ - Feature-owned \`vessel/visual-asset\` descriptors whose scope-specific loaders
28
+ resolve bundled app artwork and wallpapers while semantic glyphs remain the
29
+ compact and forced-color fallback.
30
+ - \`vessel/readiness-area\` and \`vessel/setup-step\` descriptors for
31
+ user-facing readiness and setup paths.
32
+ - Owner-declared \`vessel/surface\` descriptors with stable ids, versioned
33
+ serializable state contracts, capability declarations, and owner loaders.
34
+ The kind has no default implementation, so discovery cannot masquerade as a
35
+ mountable surface.
36
+ - \`vessel/audit-finding\`, \`vessel/audit-lens\`, \`vessel/design-review\`, and
37
+ \`vessel/os-standard\` descriptors for builder review and OS promotion gates.
38
+ - \`VesselClient extends BaseRuntimeClient\` and
39
+ \`getVibesVesselClient(runtime)\` for descriptor discovery and device-local return
40
+ projection load/save/clear through Storage.
41
+ - \`@vibesdotdev/vessel/plugin\` under plugin id \`vessel\`.
42
+ - Optional \`@vibesdotdev/vessel/workspace-state.plugin\`, which registers the
43
+ IDB-only \`vessel.workspace-state\` manifest.
44
+ - Pure Dock projection that combines host-curated pins with real
45
+ closed/running/focused/minimized window-manager state, plus a workspace-memory
46
+ health reducer. These are view-neutral shell facts, not new runtime kinds.
47
+
48
+ ## Launch from the CLI
49
+
50
+ \`vibes vessel [workspace]\` opens the consumer-local web workspace through the
51
+ selected host. \`vessel/launcher\` has no default implementation: hosts register
52
+ their own launcher, and a missing host fails visibly instead of falling back.
53
+ Launch receipts carry only a credential-free URL and a process id; short-lived
54
+ browser credentials never enter CLI output.
55
+
56
+ ## Workspace service targets
57
+
58
+ The optional workspace plugin resolves platform links through the host's
59
+ \`infra/service\` kind and \`infra.services\` configuration. Compose Config,
60
+ Storage and the narrow infrastructure service plugin. Runtime overrides preserve
61
+ Inbox and Calendar suffixes without mutating exported default snapshots.
62
+ Missing service composition and invalid settings produce typed refusals.
63
+
64
+ Typed launcher refusals propagate intact. Untyped failures carry value-free
65
+ envelopes and retain diagnostic causes; installation and repair retain their
66
+ cause chain. Package checks describe candidate verification, not a seal.
67
+
68
+ ## Stable surface launch
69
+
70
+ A host-level \`vessel/app\` points at \`{ type: 'vessel-surface', surfaceId }\`.
71
+ The contributing feature family owns the descriptor and literal lazy loader.
72
+ Vessel stores the surface id, small primitive route parameters, presentation
73
+ geometry, one chronological cue, and at most eight joinable owner receipts. It
74
+ does not store package import paths or copied feature records.
75
+
76
+ ## Product rule
77
+
78
+ The default desktop is for end users. It should expose apps, setup actions, and
79
+ plain readiness language. Diagnostics, audit detail, design-review verdicts, and
80
+ OS standards stay builder-facing unless a host explicitly opens those surfaces.
81
+
82
+ ## Package split
83
+
84
+ \`@vibesdotdev/vessel\` is framework-neutral. Svelte components, SvelteKit load
85
+ helpers, styles, and browser runtime wiring belong in
86
+ \`@vibesdotdev/bridge/svelte/vessel\`.
87
+ `
88
+ },
89
+ order: 35,
90
+ tags: ['vessel', 'desktop', 'runtime', 'setup', 'apps', 'review'],
91
+ surfaces: ['cli', 'web', 'in-app'],
92
+ hardware: ['consumer', 'cloud'],
93
+ enabled: true
94
+ };
95
+ export default descriptor;
96
+ //# sourceMappingURL=vessel.docs.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vessel.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/vessel.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACvC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,OAAO,EACN,gGAAgG;IACjG,IAAI,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ET;KACC;IACD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;IACjE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ export { vesselPlugin } from './vessel.plugin.ts';
2
+ export { vesselWorkspacePlugin } from './vessel.workspace.plugin.ts';
3
+ export { vesselWorkspaceStatePlugin } from './vessel.workspace-state.plugin.ts';
4
+ export { vesselWorkspaceStateStorageDescriptor } from './workspace-state/vessel.workspace-state.storage.descriptor.ts';
5
+ export { vesselRuntimeKinds, type VesselRuntimeKindId } from './kinds.ts';
6
+ export { VesselClient, getVibesVesselClient, type VesselRuntimeClient } from './client/index.ts';
7
+ export { vesselAppDescriptorSchema, vesselAppIdentitySchema, vesselAppPortDeclarationSchema, vesselReadinessAreaSchema, vesselSetupStepSchema, vesselAuditFindingSchema, vesselAuditLensDescriptorSchema, vesselSurfaceDescriptorSchema, vesselVisualAssetDescriptorSchema, vesselVisualAssetVariantSchema, vesselVisualAssetRoleSchema, vesselVisualAssetPurposeSchema, vesselVisualAssetThemeSchema, vesselVisualAssetMaskSchema, vesselSurfaceContractSchema, vesselSurfaceCapabilitySchema, vesselSurfaceActivationSchema, vesselSurfaceExecutionSchema, vesselDesignReviewRecordSchema, vesselOsStandardDescriptorSchema, vesselMountPayloadSchema, vesselRouteStateSchema, vesselWorkspaceReceiptSchema, vesselWorkspaceChronologicalCueSchema, vesselWorkspacePresentationSchema, vesselRuntimePlaceIdSchema, vesselWorkspaceAnchorSchema, vesselWorkspaceFocusSchema, vesselWorkspaceIdSchema, vesselWorkspaceStateSchema, parseVesselAppDescriptor, parseVesselMountPayload, parseVesselWorkspaceState, advanceVesselWorkspaceReceipts, VESSEL_ROUTE_PARAM_LIMIT, VESSEL_WORKSPACE_RECEIPT_LIMIT, VESSEL_WORKSPACE_STATE_SCHEMA_VERSION, type VesselPrimitiveValue, type VesselAppIdentity, type VesselRouteState, type VesselOwnerRef, type VesselLaunchTarget, type VesselAppDescriptor, type VesselReadinessArea, type VesselSetupStep, type VesselAuditFinding, type VesselAuditLensDescriptor, type VesselSurfaceDescriptor, type VesselVisualAssetDescriptor, type VesselVisualAssetResolveRequest, type VesselVisualAssetSource, type VesselVisualAssetResolver, type VesselDesignReviewRecord, type VesselOsStandardDescriptor, type VesselMountPayload, type VesselWorkspaceReceipt, type VesselWorkspaceChronologicalCue, type VesselRuntimePlaceId, type VesselWorkspaceAnchor, type VesselWorkspaceFocus, type VesselWorkspaceState } from './schemas.ts';
8
+ export { createWindowManagerState, openWindow, closeWindow, focusWindow, minimizeWindow, moveWindow, resizeWindow, updateWindowRouteParams, orderedWindows, findWindowsForApp, clampWindowToBounds, maximizeWindow, restoreWindow, VESSEL_DEFAULT_GRID, snapToGrid, snapPointToGrid, snapRectToGrid, cascadeOrigin, worldToScreen, screenToWorld, resolveAppLaunch, describeLaunchTarget, findAppById, sortAppsForLauncher, resolveAppSurface, listComposedFeaturePackages, isFeatureSurface, captureVesselWorkspaceState, restoreVesselWorkspaceState, portsForApp, defaultPortsForApp, canConnectPorts, createWireEdge, shapesCompatible, vesselAppPortSchema, vesselWireEdgeSchema, type VesselAppSurface, type VesselFeatureSurfaceId, type VesselAppPort, type VesselWireEdge, type VesselWireKind, type VesselPortSchemaRef, type PortConnectResult, type VesselWindowRect, type VesselWindowState, type VesselWindowManagerState, type OpenWindowOptions, type CaptureVesselWorkspaceStateInput, type RetainedUnavailableVesselWorkspaceAnchor, type RestoreVesselWorkspaceStateOptions, type RestoreVesselWorkspaceStateResult, type GridPoint, type GridSize, type VesselLaunchResolution, type ResolveLaunchOptions, type VesselAvailabilityStatus, type VesselAvailability, createVesselWorkspaceMemoryState, reduceVesselWorkspaceMemory, vesselWorkspaceMemoryStatusLabel, projectVesselDock, type VesselDockItem, type VesselDockItemState, type VesselDockPolicy, type VesselDockProjection, type VesselWorkspaceMemoryEvent, type VesselWorkspaceMemoryState, type VesselWorkspaceMemoryStatus, createVesselOwnerSurfaceLifecycle, type VesselOwnerSurfaceBeforeClose, type VesselOwnerSurfaceCloseReason, type VesselOwnerSurfaceCloseRequest, type VesselOwnerSurfaceLifecycle, type VesselOwnerSurfaceLifecycleController } from './shell/index.ts';
9
+ export { vesselWorkspaceAppDescriptors, vesselWorkspaceReadinessAreaDescriptors, vesselWorkspaceSetupStepDescriptors, vesselWorkspaceDescriptors } from './workspace/vessel-workspace.descriptors.ts';
10
+ export { vesselHubAppDescriptors, vesselHubReadinessAreaDescriptors, vesselHubSetupStepDescriptors, vesselHubDescriptors } from './workspace/vessel-hub.descriptors.ts';
11
+ export { vesselPlatformAppDescriptors, vesselPlatformReadinessDescriptors, vesselPlatformSetupDescriptors, vesselPlatformDescriptors } from './workspace/vessel-platform.descriptors.ts';
12
+ export * from './whiteboard/index.ts';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ export { vesselPlugin } from "./vessel.plugin.js";
2
+ export { vesselWorkspacePlugin } from "./vessel.workspace.plugin.js";
3
+ export { vesselWorkspaceStatePlugin } from "./vessel.workspace-state.plugin.js";
4
+ export { vesselWorkspaceStateStorageDescriptor } from "./workspace-state/vessel.workspace-state.storage.descriptor.js";
5
+ export { vesselRuntimeKinds } from "./kinds.js";
6
+ export { VesselClient, getVibesVesselClient } from "./client/index.js";
7
+ export { vesselAppDescriptorSchema, vesselAppIdentitySchema, vesselAppPortDeclarationSchema, vesselReadinessAreaSchema, vesselSetupStepSchema, vesselAuditFindingSchema, vesselAuditLensDescriptorSchema, vesselSurfaceDescriptorSchema, vesselVisualAssetDescriptorSchema, vesselVisualAssetVariantSchema, vesselVisualAssetRoleSchema, vesselVisualAssetPurposeSchema, vesselVisualAssetThemeSchema, vesselVisualAssetMaskSchema, vesselSurfaceContractSchema, vesselSurfaceCapabilitySchema, vesselSurfaceActivationSchema, vesselSurfaceExecutionSchema, vesselDesignReviewRecordSchema, vesselOsStandardDescriptorSchema, vesselMountPayloadSchema, vesselRouteStateSchema, vesselWorkspaceReceiptSchema, vesselWorkspaceChronologicalCueSchema, vesselWorkspacePresentationSchema, vesselRuntimePlaceIdSchema, vesselWorkspaceAnchorSchema, vesselWorkspaceFocusSchema, vesselWorkspaceIdSchema, vesselWorkspaceStateSchema, parseVesselAppDescriptor, parseVesselMountPayload, parseVesselWorkspaceState, advanceVesselWorkspaceReceipts, VESSEL_ROUTE_PARAM_LIMIT, VESSEL_WORKSPACE_RECEIPT_LIMIT, VESSEL_WORKSPACE_STATE_SCHEMA_VERSION } from "./schemas.js";
8
+ export { createWindowManagerState, openWindow, closeWindow, focusWindow, minimizeWindow, moveWindow, resizeWindow, updateWindowRouteParams, orderedWindows, findWindowsForApp, clampWindowToBounds, maximizeWindow, restoreWindow, VESSEL_DEFAULT_GRID, snapToGrid, snapPointToGrid, snapRectToGrid, cascadeOrigin, worldToScreen, screenToWorld, resolveAppLaunch, describeLaunchTarget, findAppById, sortAppsForLauncher, resolveAppSurface, listComposedFeaturePackages, isFeatureSurface, captureVesselWorkspaceState, restoreVesselWorkspaceState, portsForApp, defaultPortsForApp, canConnectPorts, createWireEdge, shapesCompatible, vesselAppPortSchema, vesselWireEdgeSchema, createVesselWorkspaceMemoryState, reduceVesselWorkspaceMemory, vesselWorkspaceMemoryStatusLabel, projectVesselDock, createVesselOwnerSurfaceLifecycle } from "./shell/index.js";
9
+ export { vesselWorkspaceAppDescriptors, vesselWorkspaceReadinessAreaDescriptors, vesselWorkspaceSetupStepDescriptors, vesselWorkspaceDescriptors } from "./workspace/vessel-workspace.descriptors.js";
10
+ export { vesselHubAppDescriptors, vesselHubReadinessAreaDescriptors, vesselHubSetupStepDescriptors, vesselHubDescriptors } from "./workspace/vessel-hub.descriptors.js";
11
+ export { vesselPlatformAppDescriptors, vesselPlatformReadinessDescriptors, vesselPlatformSetupDescriptors, vesselPlatformDescriptors } from "./workspace/vessel-platform.descriptors.js";
12
+ export * from "./whiteboard/index.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,qCAAqC,EAAE,MAAM,gEAAgE,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAA4B,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAA4B,MAAM,mBAAmB,CAAC;AACjG,OAAO,EACN,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAChC,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,wBAAwB,EACxB,8BAA8B,EAC9B,qCAAqC,EAyBrC,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EAsBpB,gCAAgC,EAChC,2BAA2B,EAC3B,gCAAgC,EAChC,iBAAiB,EAQjB,iCAAiC,EAMjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,6BAA6B,EAC7B,uCAAuC,EACvC,mCAAmC,EACnC,0BAA0B,EAC1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACN,uBAAuB,EACvB,iCAAiC,EACjC,6BAA6B,EAC7B,oBAAoB,EACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,4BAA4B,EAC5B,kCAAkC,EAClC,8BAA8B,EAC9B,yBAAyB,EACzB,MAAM,4CAA4C,CAAC;AACpD,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
2
+ import { type VesselAppDescriptor, type VesselReadinessArea, type VesselSetupStep, type VesselAuditFinding, type VesselAuditLensDescriptor, type VesselVisualAssetResolver, type VesselDesignReviewRecord, type VesselOsStandardDescriptor } from './schemas.ts';
3
+ export declare class VesselDescriptorAsset<TDescriptor extends RuntimeDescriptor> {
4
+ readonly descriptor: TDescriptor;
5
+ constructor(descriptor: TDescriptor);
6
+ }
7
+ export declare const vesselAppKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselAppDescriptor>>;
8
+ export declare const vesselReadinessAreaKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselReadinessArea>>;
9
+ export declare const vesselSetupStepKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselSetupStep>>;
10
+ export declare const vesselAuditFindingKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselAuditFinding>>;
11
+ export declare const vesselAuditLensKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselAuditLensDescriptor>>;
12
+ /**
13
+ * Operational surfaces intentionally have no default implementation. A
14
+ * descriptor can be discovered without claiming that a mountable provider is
15
+ * present; resolution succeeds only when its owner registered a loader.
16
+ */
17
+ export declare const vesselSurfaceKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<unknown>;
18
+ /** Rich bytes are supplied only by an admitted scope-specific owner loader. */
19
+ export declare const vesselVisualAssetKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselVisualAssetResolver>;
20
+ export declare const vesselDesignReviewKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselDesignReviewRecord>>;
21
+ export declare const vesselOsStandardKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<VesselDescriptorAsset<VesselOsStandardDescriptor>>;
22
+ export declare const vesselRuntimeKinds: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<unknown>[];
23
+ export type VesselRuntimeKindId = (typeof vesselRuntimeKinds)[number]['id'];
24
+ //# sourceMappingURL=kinds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,OAAO,EAUN,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAG9B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,MAAM,cAAc,CAAC;AAEtB,qBAAa,qBAAqB,CAAC,WAAW,SAAS,iBAAiB;IAC3D,QAAQ,CAAC,UAAU,EAAE,WAAW;gBAAvB,UAAU,EAAE,WAAW;CAC5C;AAkBD,eAAO,MAAM,aAAa,uGAGxB,CAAC;AAEH,eAAO,MAAM,uBAAuB,uGAGlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,mGAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB,sGAGjC,CAAC;AAEH,eAAO,MAAM,mBAAmB,6GAG9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,oEAK5B,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,sFAQhC,CAAC;AAEH,eAAO,MAAM,sBAAsB,4GAGjC,CAAC;AAEH,eAAO,MAAM,oBAAoB,8GAG/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,sEAUgB,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC"}
package/dist/kinds.js ADDED
@@ -0,0 +1,78 @@
1
+ import { parseVesselValue } from "./boundary.js";
2
+ import { createRuntimeKind } from '@vibesdotdev/kernel';
3
+ import { vesselAppDescriptorSchema, vesselReadinessAreaSchema, vesselSetupStepSchema, vesselAuditFindingSchema, vesselAuditLensDescriptorSchema, vesselSurfaceDescriptorSchema, vesselVisualAssetDescriptorSchema, vesselDesignReviewRecordSchema, vesselOsStandardDescriptorSchema } from "./schemas.js";
4
+ export class VesselDescriptorAsset {
5
+ descriptor;
6
+ constructor(descriptor) {
7
+ this.descriptor = descriptor;
8
+ }
9
+ }
10
+ function vesselDescriptorKind(input) {
11
+ return createRuntimeKind({
12
+ id: input.id,
13
+ descriptorSchema: input.descriptorSchema,
14
+ descriptorOwnership: 'single-owner',
15
+ defaultImplementation: class extends VesselDescriptorAsset {
16
+ constructor(descriptor) { super(parseVesselValue(input.descriptorSchema, descriptor)); }
17
+ },
18
+ contexts: ['runtime']
19
+ });
20
+ }
21
+ export const vesselAppKind = vesselDescriptorKind({
22
+ id: 'vessel/app',
23
+ descriptorSchema: vesselAppDescriptorSchema
24
+ });
25
+ export const vesselReadinessAreaKind = vesselDescriptorKind({
26
+ id: 'vessel/readiness-area',
27
+ descriptorSchema: vesselReadinessAreaSchema
28
+ });
29
+ export const vesselSetupStepKind = vesselDescriptorKind({
30
+ id: 'vessel/setup-step',
31
+ descriptorSchema: vesselSetupStepSchema
32
+ });
33
+ export const vesselAuditFindingKind = vesselDescriptorKind({
34
+ id: 'vessel/audit-finding',
35
+ descriptorSchema: vesselAuditFindingSchema
36
+ });
37
+ export const vesselAuditLensKind = vesselDescriptorKind({
38
+ id: 'vessel/audit-lens',
39
+ descriptorSchema: vesselAuditLensDescriptorSchema
40
+ });
41
+ /**
42
+ * Operational surfaces intentionally have no default implementation. A
43
+ * descriptor can be discovered without claiming that a mountable provider is
44
+ * present; resolution succeeds only when its owner registered a loader.
45
+ */
46
+ export const vesselSurfaceKind = createRuntimeKind({
47
+ id: 'vessel/surface',
48
+ descriptorSchema: vesselSurfaceDescriptorSchema,
49
+ descriptorOwnership: 'single-owner',
50
+ contexts: ['runtime']
51
+ });
52
+ /** Rich bytes are supplied only by an admitted scope-specific owner loader. */
53
+ export const vesselVisualAssetKind = createRuntimeKind({
54
+ id: 'vessel/visual-asset',
55
+ descriptorSchema: vesselVisualAssetDescriptorSchema,
56
+ descriptorOwnership: 'single-owner',
57
+ contexts: ['runtime']
58
+ });
59
+ export const vesselDesignReviewKind = vesselDescriptorKind({
60
+ id: 'vessel/design-review',
61
+ descriptorSchema: vesselDesignReviewRecordSchema
62
+ });
63
+ export const vesselOsStandardKind = vesselDescriptorKind({
64
+ id: 'vessel/os-standard',
65
+ descriptorSchema: vesselOsStandardDescriptorSchema
66
+ });
67
+ export const vesselRuntimeKinds = [
68
+ vesselAppKind,
69
+ vesselReadinessAreaKind,
70
+ vesselSetupStepKind,
71
+ vesselAuditFindingKind,
72
+ vesselAuditLensKind,
73
+ vesselSurfaceKind,
74
+ vesselVisualAssetKind,
75
+ vesselDesignReviewKind,
76
+ vesselOsStandardKind
77
+ ];
78
+ //# sourceMappingURL=kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EACN,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,EAC9B,gCAAgC,EAWhC,MAAM,cAAc,CAAC;AAEtB,MAAM,OAAO,qBAAqB;IACZ;IAArB,YAAqB,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;IAAG,CAAC;CAChD;AAED,SAAS,oBAAoB,CAAwC,KAGpE;IACA,OAAO,iBAAiB,CAAkD;QACzE,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,mBAAmB,EAAE,cAAc;QACnC,qBAAqB,EACpB,KAAM,SAAQ,qBAAkC;YAC/C,YAAY,UAA6B,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3G;QACF,QAAQ,EAAE,CAAC,SAAS,CAAC;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAsB;IACtE,EAAE,EAAE,YAAY;IAChB,gBAAgB,EAAE,yBAAyB;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAsB;IAChF,EAAE,EAAE,uBAAuB;IAC3B,gBAAgB,EAAE,yBAAyB;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAkB;IACxE,EAAE,EAAE,mBAAmB;IACvB,gBAAgB,EAAE,qBAAqB;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAqB;IAC9E,EAAE,EAAE,sBAAsB;IAC1B,gBAAgB,EAAE,wBAAwB;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAA4B;IAClF,EAAE,EAAE,mBAAmB;IACvB,gBAAgB,EAAE,+BAA+B;CACjD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAmC;IACpF,EAAE,EAAE,gBAAgB;IACpB,gBAAgB,EAAE,6BAA6B;IAC/C,mBAAmB,EAAE,cAAc;IACnC,QAAQ,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAGpD;IACD,EAAE,EAAE,qBAAqB;IACzB,gBAAgB,EAAE,iCAAiC;IACnD,mBAAmB,EAAE,cAAc;IACnC,QAAQ,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAA2B;IACpF,EAAE,EAAE,sBAAsB;IAC1B,gBAAgB,EAAE,8BAA8B;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAA6B;IACpF,EAAE,EAAE,oBAAoB;IACxB,gBAAgB,EAAE,gCAAgC;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,aAAa;IACb,uBAAuB;IACvB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,oBAAoB;CAC0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CLICommandAssetDescriptor } from '@vibesdotdev/cli/schemas/descriptors';
2
+ export declare const vesselCommandDescriptor: CLICommandAssetDescriptor;
3
+ //# sourceMappingURL=descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/launch/cli/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAGtF,eAAO,MAAM,uBAAuB,EAAE,yBAqBrC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { vesselLaunchOptions } from "./options.js";
2
+ export const vesselCommandDescriptor = {
3
+ kind: 'cli/command',
4
+ id: 'vessel',
5
+ name: 'vessel',
6
+ group: 'vessel',
7
+ description: 'Open the consumer-local Vibes web workspace',
8
+ arguments: [
9
+ {
10
+ name: 'workspace',
11
+ description: 'Workspace directory (defaults to the current directory)',
12
+ required: false
13
+ }
14
+ ],
15
+ options: [
16
+ { flags: '--app <id>', description: 'Initially open an owner app' },
17
+ ...vesselLaunchOptions
18
+ ],
19
+ hardware: ['consumer'],
20
+ surfaces: ['cli'],
21
+ enabled: true,
22
+ nonTtyBehavior: 'service'
23
+ };
24
+ //# sourceMappingURL=descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../../src/launch/cli/descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,uBAAuB,GAA8B;IACjE,IAAI,EAAE,aAAa;IACnB,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,6CAA6C;IAC1D,SAAS,EAAE;QACV;YACC,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,KAAK;SACf;KACD;IACD,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,6BAA6B,EAAE;QACnE,GAAG,mBAAmB;KACtB;IACD,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,SAAS;CACzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CommandContext } from '@vibesdotdev/cli';
2
+ import { type VesselCLIArguments, type VesselCLIOptions } from './request.ts';
3
+ declare const _default: {
4
+ execute(args: VesselCLIArguments, options: VesselCLIOptions, context: CommandContext): Promise<void>;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=implementation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../../src/launch/cli/implementation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAkD,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;;kBAGzG,kBAAkB,WAAW,gBAAgB,WAAW,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD3G,wBAQE"}
@@ -0,0 +1,14 @@
1
+ import { getRuntimeStdio } from '@vibesdotdev/kernel';
2
+ import { parseVesselValue, vesselOperation } from "../../boundary.js";
3
+ import { launchVessel } from "../index.js";
4
+ import { createVesselCLIRequest, vesselCLIOptionsSchema } from "./request.js";
5
+ export default {
6
+ async execute(args, options, context) {
7
+ const flags = parseVesselValue(vesselCLIOptionsSchema, options);
8
+ const runtime = context.runtime;
9
+ const request = await createVesselCLIRequest(runtime, args, flags, flags.app);
10
+ const result = await launchVessel(runtime, request, flags.launcher);
11
+ await vesselOperation(async () => (await getRuntimeStdio(runtime)).write('stdout', `${result.url}\n`), 'vessel-output-failed');
12
+ }
13
+ };
14
+ //# sourceMappingURL=implementation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/launch/cli/implementation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAkD,MAAM,cAAc,CAAC;AAE9H,eAAe;IACd,KAAK,CAAC,OAAO,CAAC,IAAwB,EAAE,OAAyB,EAAE,OAAuB;QACzF,MAAM,KAAK,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAChI,CAAC;CACD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const vesselLaunchOptions: ({
2
+ flags: string;
3
+ description: string;
4
+ default?: undefined;
5
+ } | {
6
+ flags: string;
7
+ description: string;
8
+ default: string;
9
+ })[];
10
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/launch/cli/options.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;IAU/B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export const vesselLaunchOptions = [
2
+ { flags: '--profile <name>', description: 'Profile to bind on the consumer host' },
3
+ {
4
+ flags: '--environment <kind>',
5
+ description: 'Execution environment: local, fleet, or sandbox',
6
+ default: 'local'
7
+ },
8
+ { flags: '--environment-id <id>', description: 'Exact fleet host or sandbox identifier' },
9
+ { flags: '--launcher <id>', description: 'Select a registered Vessel host' },
10
+ { flags: '--no-open', description: 'Start the host without opening the browser' }
11
+ ];
12
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/launch/cli/options.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,sCAAsC,EAAE;IAClF;QACC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,OAAO;KAChB;IACD,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,wCAAwC,EAAE;IACzF,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,iCAAiC,EAAE;IAC5E,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,4CAA4C,EAAE;CACjF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createVesselCLIRequest } from './request.ts';
2
+ export declare const vesselCLIPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
3
+ export default vesselCLIPlugin;
4
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/launch/cli/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,eAAO,MAAM,eAAe,6CAM1B,CAAC;AACH,eAAe,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { createRuntimePlugin, loader } from '@vibesdotdev/kernel';
2
+ import { vesselCommandDescriptor } from "./descriptor.js";
3
+ export { createVesselCLIRequest } from "./request.js";
4
+ export const vesselCLIPlugin = createRuntimePlugin({
5
+ id: 'vessel.cli',
6
+ name: 'Vessel CLI',
7
+ dependencies: ['cli', 'vessel-launch'],
8
+ descriptors: [vesselCommandDescriptor],
9
+ loaders: [loader('vessel', { kind: 'cli/command' }, () => import("./implementation.js"))]
10
+ });
11
+ export default vesselCLIPlugin;
12
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/launch/cli/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;IAClD,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC;IACtC,WAAW,EAAE,CAAC,uBAAuB,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACzF,CAAC,CAAC;AACH,eAAe,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ import * as z from 'zod/v4';
2
+ import type { VibesRuntime } from '@vibesdotdev/kernel';
3
+ import { type VesselLaunchRequest } from '../schema.ts';
4
+ export declare const vesselCLIArgumentsSchema: z.ZodObject<{
5
+ workspace: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ export declare const vesselCLIOptionsSchema: z.ZodObject<{
8
+ profile: z.ZodOptional<z.ZodString>;
9
+ environment: z.ZodOptional<z.ZodEnum<{
10
+ local: "local";
11
+ fleet: "fleet";
12
+ sandbox: "sandbox";
13
+ }>>;
14
+ environmentId: z.ZodOptional<z.ZodString>;
15
+ open: z.ZodOptional<z.ZodBoolean>;
16
+ background: z.ZodOptional<z.ZodBoolean>;
17
+ app: z.ZodOptional<z.ZodString>;
18
+ launcher: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ export type VesselCLIArguments = z.input<typeof vesselCLIArgumentsSchema>;
21
+ export type VesselCLIOptions = z.input<typeof vesselCLIOptionsSchema>;
22
+ export declare function createVesselCLIRequest(runtime: VibesRuntime, args: VesselCLIArguments, options: VesselCLIOptions, initialAppId?: string): Promise<VesselLaunchRequest>;
23
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/launch/cli/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI3E,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnF,eAAO,MAAM,wBAAwB;;iBAAwD,CAAC;AAC9F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAc5K"}
@@ -0,0 +1,27 @@
1
+ import * as z from 'zod/v4';
2
+ import { PATH_ROOTS_ID, PATH_ROOTS_DESCRIPTOR_ID, PathRootsDescriptorSchema } from '@vibesdotdev/paths';
3
+ import { parseVesselValue, vesselFailure, vesselOperation } from "../../boundary.js";
4
+ import { vesselLaunchRequestSchema } from "../schema.js";
5
+ export const vesselCLIArgumentsSchema = z.object({ workspace: z.string().min(1).optional() });
6
+ export const vesselCLIOptionsSchema = z.object({
7
+ profile: z.string().min(1).optional(), environment: z.enum(['local', 'fleet', 'sandbox']).optional(),
8
+ environmentId: z.string().min(1).optional(), open: z.boolean().optional(), background: z.boolean().optional(),
9
+ app: z.string().min(1).optional(), launcher: z.string().min(1).optional()
10
+ });
11
+ export async function createVesselCLIRequest(runtime, args, options, initialAppId) {
12
+ const argumentsValue = parseVesselValue(vesselCLIArgumentsSchema, args);
13
+ const flags = parseVesselValue(vesselCLIOptionsSchema, options);
14
+ const app = parseVesselValue(z.string().min(1).optional(), initialAppId);
15
+ const invocation = await vesselOperation(() => runtime.context('cli/invocation'), 'vessel-invocation-unavailable');
16
+ if (!runtime.hasKind(PATH_ROOTS_ID))
17
+ throw vesselFailure('vessel-roots-unavailable', 'UNAVAILABLE');
18
+ const roots = parseVesselValue(PathRootsDescriptorSchema, runtime.query(PATH_ROOTS_ID).withId(PATH_ROOTS_DESCRIPTOR_ID).descriptors()[0]);
19
+ const kind = flags.environment ?? 'local';
20
+ return parseVesselValue(vesselLaunchRequestSchema, {
21
+ version: 1, initialAppId: app, workspaceRoot: argumentsValue.workspace ?? invocation.cwd,
22
+ profile: flags.profile ?? roots.profileName,
23
+ environment: flags.environmentId ? { kind, id: flags.environmentId } : { kind },
24
+ routeState: {}, openBrowser: flags.open ?? true, background: flags.background ?? true
25
+ });
26
+ }
27
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/launch/cli/request.ts"],"names":[],"mappings":"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"}