@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.
- package/LICENSE +18 -0
- package/README.md +90 -2
- package/dist/apps/filesystem.vessel.plugin.d.ts +307 -0
- package/dist/apps/filesystem.vessel.plugin.d.ts.map +1 -0
- package/dist/apps/filesystem.vessel.plugin.js +134 -0
- package/dist/apps/filesystem.vessel.plugin.js.map +1 -0
- package/dist/apps/storage.vessel.plugin.d.ts +318 -0
- package/dist/apps/storage.vessel.plugin.d.ts.map +1 -0
- package/dist/apps/storage.vessel.plugin.js +132 -0
- package/dist/apps/storage.vessel.plugin.js.map +1 -0
- package/dist/apps/terminal.vessel.plugin.d.ts +306 -0
- package/dist/apps/terminal.vessel.plugin.d.ts.map +1 -0
- package/dist/apps/terminal.vessel.plugin.js +112 -0
- package/dist/apps/terminal.vessel.plugin.js.map +1 -0
- package/dist/boundary.d.ts +10 -0
- package/dist/boundary.d.ts.map +1 -0
- package/dist/boundary.js +43 -0
- package/dist/boundary.js.map +1 -0
- package/dist/client/helper.d.ts +4 -0
- package/dist/client/helper.d.ts.map +1 -0
- package/dist/client/helper.js +5 -0
- package/dist/client/helper.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/vessel-client.d.ts +39 -0
- package/dist/client/vessel-client.d.ts.map +1 -0
- package/dist/client/vessel-client.js +101 -0
- package/dist/client/vessel-client.js.map +1 -0
- package/dist/docs/vessel.docs.descriptor.d.ts +4 -0
- package/dist/docs/vessel.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/vessel.docs.descriptor.js +96 -0
- package/dist/docs/vessel.docs.descriptor.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/kinds.d.ts +24 -0
- package/dist/kinds.d.ts.map +1 -0
- package/dist/kinds.js +78 -0
- package/dist/kinds.js.map +1 -0
- package/dist/launch/cli/descriptor.d.ts +3 -0
- package/dist/launch/cli/descriptor.d.ts.map +1 -0
- package/dist/launch/cli/descriptor.js +24 -0
- package/dist/launch/cli/descriptor.js.map +1 -0
- package/dist/launch/cli/implementation.d.ts +7 -0
- package/dist/launch/cli/implementation.d.ts.map +1 -0
- package/dist/launch/cli/implementation.js +14 -0
- package/dist/launch/cli/implementation.js.map +1 -0
- package/dist/launch/cli/options.d.ts +10 -0
- package/dist/launch/cli/options.d.ts.map +1 -0
- package/dist/launch/cli/options.js +12 -0
- package/dist/launch/cli/options.js.map +1 -0
- package/dist/launch/cli/plugin.d.ts +4 -0
- package/dist/launch/cli/plugin.d.ts.map +1 -0
- package/dist/launch/cli/plugin.js +12 -0
- package/dist/launch/cli/plugin.js.map +1 -0
- package/dist/launch/cli/request.d.ts +23 -0
- package/dist/launch/cli/request.d.ts.map +1 -0
- package/dist/launch/cli/request.js +27 -0
- package/dist/launch/cli/request.js.map +1 -0
- package/dist/launch/ensure-host.d.ts +48 -0
- package/dist/launch/ensure-host.d.ts.map +1 -0
- package/dist/launch/ensure-host.js +54 -0
- package/dist/launch/ensure-host.js.map +1 -0
- package/dist/launch/index.d.ts +9 -0
- package/dist/launch/index.d.ts.map +1 -0
- package/dist/launch/index.js +52 -0
- package/dist/launch/index.js.map +1 -0
- package/dist/launch/plugin.d.ts +6 -0
- package/dist/launch/plugin.d.ts.map +1 -0
- package/dist/launch/plugin.js +20 -0
- package/dist/launch/plugin.js.map +1 -0
- package/dist/launch/schema.d.ts +66 -0
- package/dist/launch/schema.d.ts.map +1 -0
- package/dist/launch/schema.js +71 -0
- package/dist/launch/schema.js.map +1 -0
- package/dist/launch/workspaces.d.ts +134 -0
- package/dist/launch/workspaces.d.ts.map +1 -0
- package/dist/launch/workspaces.js +60 -0
- package/dist/launch/workspaces.js.map +1 -0
- package/dist/module-not-found.d.ts +3 -0
- package/dist/module-not-found.d.ts.map +1 -0
- package/dist/module-not-found.js +18 -0
- package/dist/module-not-found.js.map +1 -0
- package/dist/schemas/platform.config.descriptor.d.ts +34 -0
- package/dist/schemas/platform.config.descriptor.d.ts.map +1 -0
- package/dist/schemas/platform.config.descriptor.js +13 -0
- package/dist/schemas/platform.config.descriptor.js.map +1 -0
- package/dist/schemas.d.ts +2213 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +661 -0
- package/dist/schemas.js.map +1 -0
- package/dist/shell/app-surface.d.ts +55 -0
- package/dist/shell/app-surface.d.ts.map +1 -0
- package/dist/shell/app-surface.js +159 -0
- package/dist/shell/app-surface.js.map +1 -0
- package/dist/shell/dock.d.ts +30 -0
- package/dist/shell/dock.d.ts.map +1 -0
- package/dist/shell/dock.js +75 -0
- package/dist/shell/dock.js.map +1 -0
- package/dist/shell/index.d.ts +11 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/shell/index.js +10 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/launch-resolution.d.ts +49 -0
- package/dist/shell/launch-resolution.d.ts.map +1 -0
- package/dist/shell/launch-resolution.js +163 -0
- package/dist/shell/launch-resolution.js.map +1 -0
- package/dist/shell/layout-grid.d.ts +30 -0
- package/dist/shell/layout-grid.d.ts.map +1 -0
- package/dist/shell/layout-grid.js +56 -0
- package/dist/shell/layout-grid.js.map +1 -0
- package/dist/shell/owner-surface-lifecycle.d.ts +30 -0
- package/dist/shell/owner-surface-lifecycle.d.ts.map +1 -0
- package/dist/shell/owner-surface-lifecycle.js +54 -0
- package/dist/shell/owner-surface-lifecycle.js.map +1 -0
- package/dist/shell/ports.d.ts +107 -0
- package/dist/shell/ports.d.ts.map +1 -0
- package/dist/shell/ports.js +154 -0
- package/dist/shell/ports.js.map +1 -0
- package/dist/shell/types.d.ts +7 -0
- package/dist/shell/types.d.ts.map +1 -0
- package/dist/shell/types.js +2 -0
- package/dist/shell/types.js.map +1 -0
- package/dist/shell/window-manager.d.ts +82 -0
- package/dist/shell/window-manager.d.ts.map +1 -0
- package/dist/shell/window-manager.js +285 -0
- package/dist/shell/window-manager.js.map +1 -0
- package/dist/shell/workspace-memory.d.ts +42 -0
- package/dist/shell/workspace-memory.d.ts.map +1 -0
- package/dist/shell/workspace-memory.js +65 -0
- package/dist/shell/workspace-memory.js.map +1 -0
- package/dist/shell/workspace-state.d.ts +47 -0
- package/dist/shell/workspace-state.d.ts.map +1 -0
- package/dist/shell/workspace-state.js +137 -0
- package/dist/shell/workspace-state.js.map +1 -0
- package/dist/vessel.docs.plugin.d.ts +4 -0
- package/dist/vessel.docs.plugin.d.ts.map +1 -0
- package/dist/vessel.docs.plugin.js +11 -0
- package/dist/vessel.docs.plugin.js.map +1 -0
- package/dist/vessel.plugin.d.ts +3 -0
- package/dist/vessel.plugin.d.ts.map +1 -0
- package/dist/vessel.plugin.js +23 -0
- package/dist/vessel.plugin.js.map +1 -0
- package/dist/vessel.runtime-client.descriptor.d.ts +4 -0
- package/dist/vessel.runtime-client.descriptor.d.ts.map +1 -0
- package/dist/vessel.runtime-client.descriptor.js +13 -0
- package/dist/vessel.runtime-client.descriptor.js.map +1 -0
- package/dist/vessel.workspace-state.plugin.d.ts +4 -0
- package/dist/vessel.workspace-state.plugin.d.ts.map +1 -0
- package/dist/vessel.workspace-state.plugin.js +12 -0
- package/dist/vessel.workspace-state.plugin.js.map +1 -0
- package/dist/vessel.workspace.plugin.d.ts +3 -0
- package/dist/vessel.workspace.plugin.d.ts.map +1 -0
- package/dist/vessel.workspace.plugin.js +17 -0
- package/dist/vessel.workspace.plugin.js.map +1 -0
- package/dist/whiteboard/client.d.ts +35 -0
- package/dist/whiteboard/client.d.ts.map +1 -0
- package/dist/whiteboard/client.js +185 -0
- package/dist/whiteboard/client.js.map +1 -0
- package/dist/whiteboard/descriptor.d.ts +5 -0
- package/dist/whiteboard/descriptor.d.ts.map +1 -0
- package/dist/whiteboard/descriptor.js +14 -0
- package/dist/whiteboard/descriptor.js.map +1 -0
- package/dist/whiteboard/index.d.ts +7 -0
- package/dist/whiteboard/index.d.ts.map +1 -0
- package/dist/whiteboard/index.js +7 -0
- package/dist/whiteboard/index.js.map +1 -0
- package/dist/whiteboard/plugin.d.ts +3 -0
- package/dist/whiteboard/plugin.d.ts.map +1 -0
- package/dist/whiteboard/plugin.js +42 -0
- package/dist/whiteboard/plugin.js.map +1 -0
- package/dist/whiteboard/schemas.d.ts +479 -0
- package/dist/whiteboard/schemas.d.ts.map +1 -0
- package/dist/whiteboard/schemas.js +55 -0
- package/dist/whiteboard/schemas.js.map +1 -0
- package/dist/whiteboard/tools/apply.impl.d.ts +7 -0
- package/dist/whiteboard/tools/apply.impl.d.ts.map +1 -0
- package/dist/whiteboard/tools/apply.impl.js +12 -0
- package/dist/whiteboard/tools/apply.impl.js.map +1 -0
- package/dist/whiteboard/tools/descriptors.d.ts +489 -0
- package/dist/whiteboard/tools/descriptors.d.ts.map +1 -0
- package/dist/whiteboard/tools/descriptors.js +72 -0
- package/dist/whiteboard/tools/descriptors.js.map +1 -0
- package/dist/whiteboard/tools/get.impl.d.ts +7 -0
- package/dist/whiteboard/tools/get.impl.d.ts.map +1 -0
- package/dist/whiteboard/tools/get.impl.js +12 -0
- package/dist/whiteboard/tools/get.impl.js.map +1 -0
- package/dist/whiteboard/tools/open.impl.d.ts +7 -0
- package/dist/whiteboard/tools/open.impl.d.ts.map +1 -0
- package/dist/whiteboard/tools/open.impl.js +12 -0
- package/dist/whiteboard/tools/open.impl.js.map +1 -0
- package/dist/whiteboard/tools/signal.impl.d.ts +7 -0
- package/dist/whiteboard/tools/signal.impl.d.ts.map +1 -0
- package/dist/whiteboard/tools/signal.impl.js +11 -0
- package/dist/whiteboard/tools/signal.impl.js.map +1 -0
- package/dist/whiteboard/vessel-whiteboard.descriptors.d.ts +4 -0
- package/dist/whiteboard/vessel-whiteboard.descriptors.d.ts.map +1 -0
- package/dist/whiteboard/vessel-whiteboard.descriptors.js +61 -0
- package/dist/whiteboard/vessel-whiteboard.descriptors.js.map +1 -0
- package/dist/workspace/vessel-hub.descriptors.d.ts +543 -0
- package/dist/workspace/vessel-hub.descriptors.d.ts.map +1 -0
- package/dist/workspace/vessel-hub.descriptors.js +544 -0
- package/dist/workspace/vessel-hub.descriptors.js.map +1 -0
- package/dist/workspace/vessel-platform.descriptors.d.ts +809 -0
- package/dist/workspace/vessel-platform.descriptors.d.ts.map +1 -0
- package/dist/workspace/vessel-platform.descriptors.js +207 -0
- package/dist/workspace/vessel-platform.descriptors.js.map +1 -0
- package/dist/workspace/vessel-workspace.descriptors.d.ts +537 -0
- package/dist/workspace/vessel-workspace.descriptors.d.ts.map +1 -0
- package/dist/workspace/vessel-workspace.descriptors.js +115 -0
- package/dist/workspace/vessel-workspace.descriptors.js.map +1 -0
- package/dist/workspace-state/index.d.ts +3 -0
- package/dist/workspace-state/index.d.ts.map +1 -0
- package/dist/workspace-state/index.js +3 -0
- package/dist/workspace-state/index.js.map +1 -0
- package/dist/workspace-state/vessel.workspace-state.storage.descriptor.d.ts +51 -0
- package/dist/workspace-state/vessel.workspace-state.storage.descriptor.d.ts.map +1 -0
- package/dist/workspace-state/vessel.workspace-state.storage.descriptor.js +24 -0
- package/dist/workspace-state/vessel.workspace-state.storage.descriptor.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|
package/dist/kinds.d.ts
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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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"}
|