@sand.ai/vibable-cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/args.d.ts CHANGED
@@ -12,6 +12,29 @@ export type ExecArgs = {
12
12
  shell: boolean;
13
13
  command: string[];
14
14
  };
15
+ export type DataMigrateArgs = {
16
+ wait: boolean;
17
+ inputPath: string;
18
+ };
19
+ export type AuthLoginArgs = {
20
+ apiBaseUrl: string;
21
+ };
22
+ export type SyncInitArgs = {
23
+ apiBaseUrl?: string;
24
+ configPath: string;
25
+ directory: string;
26
+ };
27
+ export type LogsArgs = {
28
+ follow: boolean;
29
+ };
30
+ export type ConfigApplyArgs = {
31
+ configPath: string;
32
+ };
33
+ export declare function parseAuthLoginArgs(args: string[]): AuthLoginArgs;
34
+ export declare function parseSyncInitArgs(args: string[]): SyncInitArgs;
35
+ export declare function parseLogsArgs(args: string[]): LogsArgs;
36
+ export declare function parseConfigApplyArgs(args: string[]): ConfigApplyArgs;
15
37
  export declare function parseConnectArgs(args: string[]): ConnectArgs;
16
38
  export declare function parseExecArgs(args: string[]): Omit<ExecArgs, "apiBaseUrl" | "sessionId" | "token"> & Partial<Pick<ExecArgs, "apiBaseUrl" | "sessionId" | "token">>;
39
+ export declare function parseDataMigrateArgs(args: string[]): DataMigrateArgs;
17
40
  //# sourceMappingURL=args.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAgB5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC,GACjG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC,CAgB9D"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1F,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAMhE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAW9D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAMtD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAMpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAgB5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC,GACjG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC,CAgB9D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAWpE"}
package/dist/args.js CHANGED
@@ -1,3 +1,36 @@
1
+ export function parseAuthLoginArgs(args) {
2
+ const values = parseOptions(args, new Set());
3
+ if (!values.options.api || values.positionals.length > 0) {
4
+ throw new Error("Usage: vibable auth login --api <url>");
5
+ }
6
+ return { apiBaseUrl: values.options.api };
7
+ }
8
+ export function parseSyncInitArgs(args) {
9
+ const values = parseOptions(args, new Set());
10
+ const directory = values.positionals[0];
11
+ if (!directory || values.positionals.length > 1) {
12
+ throw new Error("Usage: vibable sync init [--api <url>] [--config <path>] <directory>");
13
+ }
14
+ return {
15
+ ...(values.options.api ? { apiBaseUrl: values.options.api } : {}),
16
+ configPath: values.options.config ?? ".vibable/vibable.yaml",
17
+ directory,
18
+ };
19
+ }
20
+ export function parseLogsArgs(args) {
21
+ const values = parseOptions(args, new Set(["--follow"]));
22
+ if (values.positionals.length > 0 || Object.keys(values.options).length > 0) {
23
+ throw new Error("Usage: vibable logs [--follow]");
24
+ }
25
+ return { follow: values.flags.has("--follow") };
26
+ }
27
+ export function parseConfigApplyArgs(args) {
28
+ const values = parseOptions(args, new Set());
29
+ if (values.positionals.length > 0 || Object.keys(values.options).some((key) => key !== "config")) {
30
+ throw new Error("Usage: vibable config apply [--config <path>]");
31
+ }
32
+ return { configPath: values.options.config ?? ".vibable/vibable.yaml" };
33
+ }
1
34
  export function parseConnectArgs(args) {
2
35
  const values = parseOptions(args, new Set(["--local-deps"]));
3
36
  const directory = values.positionals[0];
@@ -28,6 +61,17 @@ export function parseExecArgs(args) {
28
61
  command,
29
62
  };
30
63
  }
64
+ export function parseDataMigrateArgs(args) {
65
+ const values = parseOptions(args, new Set(["--wait"]));
66
+ const inputPath = values.positionals[0];
67
+ if (!inputPath || values.positionals.length > 1) {
68
+ throw new Error("Usage: vibable data migrate [--wait] <operation.json|->");
69
+ }
70
+ return {
71
+ wait: values.flags.has("--wait"),
72
+ inputPath,
73
+ };
74
+ }
31
75
  function parseOptions(args, booleanFlags) {
32
76
  const options = {};
33
77
  const flags = new Set();
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare function loginCli(input: {
2
+ apiBaseUrl: string;
3
+ }): Promise<void>;
4
+ export declare function initializeHosting(input: {
5
+ apiBaseUrl?: string;
6
+ configPath: string;
7
+ directory: string;
8
+ }): Promise<void>;
9
+ export declare function startHostingSync(cwd?: string): Promise<void>;
10
+ export declare function applyHostingConfig(input: {
11
+ configPath: string;
12
+ cwd?: string;
13
+ }): Promise<void>;
14
+ export declare function showHostingStatus(cwd?: string): Promise<void>;
15
+ export declare function showHostingLogs(input: {
16
+ follow: boolean;
17
+ cwd?: string;
18
+ }): Promise<void>;
19
+ //# sourceMappingURL=hosting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosting.d.ts","sourceRoot":"","sources":["../src/hosting.ts"],"names":[],"mappings":"AAiDA,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,iBA2B3D;AAmCD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,iBAmEA;AAED,wBAAsB,gBAAgB,CAAC,GAAG,SAAgB,iBAiBzD;AA2BD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,iBA6BA;AAED,wBAAsB,iBAAiB,CAAC,GAAG,SAAgB,iBAwB1D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,iBAqEA"}
@@ -0,0 +1,461 @@
1
+ import { execFile } from "node:child_process";
2
+ import { createHash, randomBytes } from "node:crypto";
3
+ import { mkdtemp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
4
+ import { homedir, tmpdir } from "node:os";
5
+ import path from "node:path";
6
+ import { promisify } from "node:util";
7
+ import { extractServerSentEvents } from "./server-sent-events.js";
8
+ import { isSyncDaemonRunning, startSyncDaemon } from "./sync.js";
9
+ const execFileAsync = promisify(execFile);
10
+ export async function loginCli(input) {
11
+ const secret = randomBytes(32).toString("base64url");
12
+ const secretHash = createHash("sha256").update(secret).digest("hex");
13
+ const authorization = await postJson({
14
+ apiBaseUrl: input.apiBaseUrl,
15
+ path: "/api/auth/cli/requests",
16
+ body: { secretHash },
17
+ });
18
+ process.stdout.write(`Authorize Vibable CLI in your browser:\n${authorization.authorizeUrl}\n`);
19
+ await openBrowser(authorization.authorizeUrl);
20
+ const response = await waitForCliAuthorization({
21
+ apiBaseUrl: input.apiBaseUrl,
22
+ requestId: authorization.requestId,
23
+ secret,
24
+ expiresAt: authorization.expiresAt,
25
+ });
26
+ const config = { apiBaseUrl: trimSlash(input.apiBaseUrl), ...response };
27
+ const filename = authConfigPath();
28
+ await mkdir(path.dirname(filename), { recursive: true });
29
+ await writeFile(filename, `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 });
30
+ process.stdout.write("Authenticated with Vibable.\n");
31
+ }
32
+ async function waitForCliAuthorization(input) {
33
+ const deadline = Date.parse(input.expiresAt);
34
+ while (Date.now() < deadline) {
35
+ const response = await postJson({
36
+ apiBaseUrl: input.apiBaseUrl,
37
+ path: `/api/auth/cli/requests/${encodeURIComponent(input.requestId)}/token`,
38
+ body: { secret: input.secret },
39
+ });
40
+ if (response.status === "approved")
41
+ return response;
42
+ await new Promise((resolve) => setTimeout(resolve, 1_000));
43
+ }
44
+ throw new Error("Vibable CLI authorization expired. Run vibable auth login again.");
45
+ }
46
+ async function openBrowser(url) {
47
+ const command = process.platform === "darwin"
48
+ ? { file: "open", args: [url] }
49
+ : process.platform === "win32"
50
+ ? { file: "cmd", args: ["/c", "start", "", url] }
51
+ : { file: "xdg-open", args: [url] };
52
+ await execFileAsync(command.file, command.args).catch(() => undefined);
53
+ }
54
+ export async function initializeHosting(input) {
55
+ const root = path.resolve(input.directory);
56
+ const configFile = path.resolve(root, input.configPath);
57
+ const relativeConfigPath = path.relative(root, configFile);
58
+ if (relativeConfigPath.startsWith("..") || path.isAbsolute(relativeConfigPath)) {
59
+ throw new Error("The Vibable config must be inside the hosted project directory.");
60
+ }
61
+ const configSource = await readFile(configFile, "utf8");
62
+ const auth = await readAuthConfig();
63
+ const apiBaseUrl = trimSlash(input.apiBaseUrl ?? auth.apiBaseUrl);
64
+ const hosting = await postJson({
65
+ apiBaseUrl,
66
+ token: auth.token,
67
+ path: "/api/cli/hostings",
68
+ body: { configSource },
69
+ });
70
+ await writeHostingBinding(root, {
71
+ apiBaseUrl,
72
+ projectSlug: hosting.projectSlug,
73
+ featureSlug: hosting.featureSlug,
74
+ featureId: hosting.featureId,
75
+ });
76
+ if (hosting.action === "upload") {
77
+ if (!hosting.gitRemote) {
78
+ throw new Error("Vibable did not return a Git upload grant.");
79
+ }
80
+ const commitSha = await pushInitialSnapshot({
81
+ root,
82
+ hosting: {
83
+ ...hosting,
84
+ gitRemote: {
85
+ ...hosting.gitRemote,
86
+ remoteUrl: `${apiBaseUrl}/api/cli/git/${encodeURIComponent(hosting.featureId)}`,
87
+ },
88
+ },
89
+ configPath: relativeConfigPath,
90
+ });
91
+ await postJson({
92
+ apiBaseUrl,
93
+ token: auth.token,
94
+ path: `/api/cli/hostings/${encodeURIComponent(hosting.featureId)}/launch`,
95
+ body: { commitSha },
96
+ });
97
+ process.stdout.write(`Uploaded ${hosting.projectSlug}/${hosting.featureSlug} at ${commitSha.slice(0, 12)}.\n`);
98
+ }
99
+ else {
100
+ process.stdout.write(`Resuming ${hosting.projectSlug}/${hosting.featureSlug}.\n`);
101
+ }
102
+ if (hosting.action !== "connect") {
103
+ process.stdout.write("Vibable is creating the Feature Pod.\n");
104
+ }
105
+ const feature = await waitForFeatureReady({
106
+ apiBaseUrl,
107
+ token: auth.token,
108
+ featureId: hosting.featureId,
109
+ });
110
+ await enterRemoteDev({
111
+ apiBaseUrl,
112
+ authToken: auth.token,
113
+ featureSlug: hosting.featureSlug,
114
+ root,
115
+ });
116
+ process.stdout.write(`Service URL: ${feature.previewUrl ?? hosting.featureSlug}\n`);
117
+ await startSyncDaemon(root);
118
+ }
119
+ export async function startHostingSync(cwd = process.cwd()) {
120
+ if (await isSyncDaemonRunning(cwd)) {
121
+ await startSyncDaemon(cwd);
122
+ return;
123
+ }
124
+ const binding = await readHostingBinding(cwd);
125
+ const auth = await readAuthConfig();
126
+ if (trimSlash(auth.apiBaseUrl) !== trimSlash(binding.apiBaseUrl)) {
127
+ throw new Error(`Run vibable auth login --api ${binding.apiBaseUrl} first.`);
128
+ }
129
+ await enterRemoteDev({
130
+ apiBaseUrl: binding.apiBaseUrl,
131
+ authToken: auth.token,
132
+ featureSlug: binding.featureSlug,
133
+ root: binding.root,
134
+ });
135
+ await startSyncDaemon(binding.root);
136
+ }
137
+ async function enterRemoteDev(input) {
138
+ const remoteDev = await postJson({
139
+ apiBaseUrl: input.apiBaseUrl,
140
+ token: input.authToken,
141
+ path: `/api/workspace/features/${encodeURIComponent(input.featureSlug)}/remote-dev/enter`,
142
+ body: {},
143
+ });
144
+ const localConfigDirectory = path.join(input.root, ".vibable");
145
+ await mkdir(localConfigDirectory, { recursive: true });
146
+ await writeFile(path.join(localConfigDirectory, "config.json"), `${JSON.stringify({
147
+ apiBaseUrl: input.apiBaseUrl,
148
+ sessionId: remoteDev.session.id,
149
+ token: remoteDev.token,
150
+ }, null, 2)}\n`, { mode: 0o600 });
151
+ }
152
+ export async function applyHostingConfig(input) {
153
+ const binding = await readHostingBinding(input.cwd ?? process.cwd());
154
+ const auth = await readAuthConfig();
155
+ if (trimSlash(auth.apiBaseUrl) !== trimSlash(binding.apiBaseUrl)) {
156
+ throw new Error(`Run vibable auth login --api ${binding.apiBaseUrl} first.`);
157
+ }
158
+ const configSource = await readFile(path.resolve(binding.root, input.configPath), "utf8");
159
+ await postJson({
160
+ apiBaseUrl: binding.apiBaseUrl,
161
+ token: auth.token,
162
+ path: `/api/cli/hostings/${encodeURIComponent(binding.featureId)}/config`,
163
+ body: { configSource },
164
+ });
165
+ await postJson({
166
+ apiBaseUrl: binding.apiBaseUrl,
167
+ token: auth.token,
168
+ path: `/api/workspace/features/${encodeURIComponent(binding.featureSlug)}/runtime/rebuild`,
169
+ body: {},
170
+ });
171
+ process.stdout.write("Runtime configuration applied. Vibable is rebuilding the Feature Pod.\n");
172
+ const feature = await waitForFeatureReady({
173
+ apiBaseUrl: binding.apiBaseUrl,
174
+ token: auth.token,
175
+ featureId: binding.featureId,
176
+ });
177
+ process.stdout.write(`Service URL: ${feature.previewUrl ?? binding.featureSlug}\n`);
178
+ }
179
+ export async function showHostingStatus(cwd = process.cwd()) {
180
+ const binding = await readHostingBinding(cwd);
181
+ const auth = await readAuthConfig();
182
+ if (trimSlash(auth.apiBaseUrl) !== trimSlash(binding.apiBaseUrl)) {
183
+ throw new Error(`Run vibable auth login --api ${binding.apiBaseUrl} first.`);
184
+ }
185
+ const response = await getJson({
186
+ apiBaseUrl: binding.apiBaseUrl,
187
+ token: auth.token,
188
+ path: "/api/workspace/features",
189
+ });
190
+ const feature = response.features.find((candidate) => candidate.id === binding.featureId);
191
+ if (!feature)
192
+ throw new Error("Hosted feature no longer exists.");
193
+ process.stdout.write(`${JSON.stringify({
194
+ project: binding.projectSlug,
195
+ feature: binding.featureSlug,
196
+ status: feature.status,
197
+ runtimePhase: feature.runtimePhase,
198
+ previewUrl: feature.previewUrl,
199
+ }, null, 2)}\n`);
200
+ }
201
+ export async function showHostingLogs(input) {
202
+ const binding = await readHostingBinding(input.cwd ?? process.cwd());
203
+ const auth = await readAuthConfig();
204
+ if (trimSlash(auth.apiBaseUrl) !== trimSlash(binding.apiBaseUrl)) {
205
+ throw new Error(`Run vibable auth login --api ${binding.apiBaseUrl} first.`);
206
+ }
207
+ const controller = new AbortController();
208
+ const stop = () => controller.abort();
209
+ process.once("SIGINT", stop);
210
+ process.once("SIGTERM", stop);
211
+ try {
212
+ const response = await fetch(`${trimSlash(binding.apiBaseUrl)}/api/workspace/features/${encodeURIComponent(binding.featureSlug)}/events`, {
213
+ headers: {
214
+ accept: "text/event-stream",
215
+ authorization: `Bearer ${auth.token}`,
216
+ },
217
+ signal: controller.signal,
218
+ });
219
+ if (!response.ok) {
220
+ throw new Error(await readResponseError(response));
221
+ }
222
+ if (!response.body) {
223
+ throw new Error("Vibable did not return a log stream.");
224
+ }
225
+ const reader = response.body.getReader();
226
+ const decoder = new TextDecoder();
227
+ let remainder = "";
228
+ while (true) {
229
+ const chunk = await reader.read();
230
+ if (chunk.done) {
231
+ if (input.follow && !controller.signal.aborted) {
232
+ throw new Error("Vibable log stream ended unexpectedly.");
233
+ }
234
+ return;
235
+ }
236
+ const parsed = extractServerSentEvents(remainder + decoder.decode(chunk.value, { stream: true }));
237
+ remainder = parsed.remainder;
238
+ for (const event of parsed.events) {
239
+ if (event.event === "status") {
240
+ const status = parseFeatureEventStatus(event.data);
241
+ process.stdout.write(`[status] ${status.status} / ${status.runtimePhase}\n`);
242
+ }
243
+ else if (event.event === "logs") {
244
+ for (const log of parseFeatureLogs(event.data)) {
245
+ process.stdout.write(formatFeatureLog(log));
246
+ }
247
+ }
248
+ else if (event.event === "event-error") {
249
+ throw new Error(parseEventError(event.data));
250
+ }
251
+ else if (event.event === "snapshot-complete" && !input.follow) {
252
+ await reader.cancel();
253
+ return;
254
+ }
255
+ }
256
+ }
257
+ }
258
+ catch (error) {
259
+ if (controller.signal.aborted && isAbortError(error))
260
+ return;
261
+ throw error;
262
+ }
263
+ finally {
264
+ process.off("SIGINT", stop);
265
+ process.off("SIGTERM", stop);
266
+ }
267
+ }
268
+ function parseFeatureEventStatus(data) {
269
+ const value = JSON.parse(data);
270
+ if (!value.status || !value.runtimePhase) {
271
+ throw new Error("Vibable returned an invalid feature status event.");
272
+ }
273
+ return { status: value.status, runtimePhase: value.runtimePhase };
274
+ }
275
+ function parseFeatureLogs(data) {
276
+ const value = JSON.parse(data);
277
+ if (!Array.isArray(value.logs)) {
278
+ throw new Error("Vibable returned an invalid log event.");
279
+ }
280
+ return value.logs.filter(isFeatureLogEntry);
281
+ }
282
+ function isFeatureLogEntry(value) {
283
+ return Boolean(value &&
284
+ typeof value === "object" &&
285
+ "level" in value &&
286
+ (value.level === "info" || value.level === "warn" || value.level === "error") &&
287
+ "message" in value &&
288
+ typeof value.message === "string" &&
289
+ "createdAt" in value &&
290
+ typeof value.createdAt === "string" &&
291
+ (!("source" in value) ||
292
+ value.source === undefined ||
293
+ value.source === "service" ||
294
+ value.source === "agent" ||
295
+ value.source === "runtime"));
296
+ }
297
+ function formatFeatureLog(log) {
298
+ const level = log.level.toUpperCase().padEnd(5);
299
+ return `${log.createdAt} ${level} ${log.source ?? "service"} ${log.message}\n`;
300
+ }
301
+ function parseEventError(data) {
302
+ const value = JSON.parse(data);
303
+ return typeof value.message === "string" ? value.message : "Vibable log stream failed.";
304
+ }
305
+ async function readResponseError(response) {
306
+ const value = await response.json().catch(() => null);
307
+ return typeof value?.message === "string"
308
+ ? value.message
309
+ : `Vibable request failed (${response.status}).`;
310
+ }
311
+ function isAbortError(error) {
312
+ return error instanceof Error && error.name === "AbortError";
313
+ }
314
+ async function readHostingBinding(cwd) {
315
+ let directory = path.resolve(cwd);
316
+ while (true) {
317
+ try {
318
+ const parsed = JSON.parse(await readFile(path.join(directory, ".vibable", "hosting.json"), "utf8"));
319
+ if (parsed.apiBaseUrl &&
320
+ parsed.projectSlug &&
321
+ parsed.featureSlug &&
322
+ parsed.featureId) {
323
+ return { ...parsed, root: directory };
324
+ }
325
+ throw new Error("Invalid .vibable/hosting.json");
326
+ }
327
+ catch (error) {
328
+ if (!isMissingFileError(error))
329
+ throw error;
330
+ }
331
+ const parent = path.dirname(directory);
332
+ if (parent === directory) {
333
+ throw new Error("No .vibable/hosting.json found from current directory or parents.");
334
+ }
335
+ directory = parent;
336
+ }
337
+ }
338
+ function isMissingFileError(error) {
339
+ return Boolean(error &&
340
+ typeof error === "object" &&
341
+ "code" in error &&
342
+ error.code === "ENOENT");
343
+ }
344
+ async function writeHostingBinding(root, binding) {
345
+ const directory = path.join(root, ".vibable");
346
+ await mkdir(directory, { recursive: true });
347
+ await writeFile(path.join(directory, "hosting.json"), `${JSON.stringify(binding, null, 2)}\n`, { mode: 0o600 });
348
+ }
349
+ async function waitForFeatureReady(input) {
350
+ const deadline = Date.now() + 10 * 60 * 1000;
351
+ let lastPhase = "";
352
+ while (Date.now() < deadline) {
353
+ const response = await getJson({
354
+ apiBaseUrl: input.apiBaseUrl,
355
+ token: input.token,
356
+ path: "/api/workspace/features",
357
+ });
358
+ const feature = response.features.find((candidate) => candidate.id === input.featureId);
359
+ if (!feature)
360
+ throw new Error("Hosted feature disappeared while starting.");
361
+ if (feature.runtimePhase !== lastPhase) {
362
+ lastPhase = feature.runtimePhase;
363
+ process.stdout.write(`Runtime: ${lastPhase}\n`);
364
+ }
365
+ if (feature.status === "running" || feature.status === "conflicted") {
366
+ return feature;
367
+ }
368
+ if (feature.status === "failed")
369
+ throw new Error(`Feature Pod failed during ${feature.runtimePhase}.`);
370
+ await new Promise((resolve) => setTimeout(resolve, 2_000));
371
+ }
372
+ throw new Error("Timed out waiting for the Feature Pod to become ready.");
373
+ }
374
+ async function pushInitialSnapshot(input) {
375
+ const temporaryRoot = await mkdtemp(path.join(tmpdir(), "vibable-hosting-"));
376
+ const gitDirectory = path.join(temporaryRoot, ".git");
377
+ const askPassPath = path.join(temporaryRoot, "git-askpass.sh");
378
+ const gitConfigPath = path.join(temporaryRoot, "git-config");
379
+ try {
380
+ await runGit(["init", "--initial-branch=main", temporaryRoot]);
381
+ await writeFile(path.join(gitDirectory, "info", "exclude"), [
382
+ ".git/",
383
+ "node_modules/",
384
+ ".env",
385
+ ".env.*",
386
+ "!.env.example",
387
+ "!.env.sample",
388
+ "dist/",
389
+ "build/",
390
+ ".next/",
391
+ ".turbo/",
392
+ "coverage/",
393
+ ".vibable/",
394
+ "",
395
+ ].join("\n"));
396
+ const workTreeArgs = [`--git-dir=${gitDirectory}`, `--work-tree=${input.root}`];
397
+ await runGit([...workTreeArgs, "add", "-A"]);
398
+ await runGit([...workTreeArgs, "add", "-f", input.configPath]);
399
+ await runGit([...workTreeArgs, "-c", "user.name=Vibable CLI", "-c", "user.email=cli@vibable.dev", "commit", "-m", "Import local project"]);
400
+ const { stdout } = await runGit([...workTreeArgs, "rev-parse", "HEAD"]);
401
+ await writeFile(askPassPath, "#!/bin/sh\ncase \"$1\" in *Username*) printf '%s' \"$VIBABLE_GIT_USERNAME\" ;; *) printf '%s' \"$VIBABLE_GIT_PASSWORD\" ;; esac\n", { mode: 0o700 });
402
+ const authorization = Buffer.from(`${input.hosting.gitRemote.grant.username}:${input.hosting.gitRemote.grant.password}`).toString("base64");
403
+ await writeFile(gitConfigPath, `[http]\n\textraHeader = Authorization: Basic ${authorization}\n`, { mode: 0o600 });
404
+ await runGit([...workTreeArgs, "push", "--force", input.hosting.gitRemote.remoteUrl, `HEAD:refs/vibable/features/${input.hosting.featureId}/head`], {
405
+ GIT_ASKPASS: askPassPath,
406
+ GIT_CONFIG_GLOBAL: gitConfigPath,
407
+ GIT_CONFIG_NOSYSTEM: "1",
408
+ GIT_TERMINAL_PROMPT: "0",
409
+ VIBABLE_GIT_USERNAME: input.hosting.gitRemote.grant.username,
410
+ VIBABLE_GIT_PASSWORD: input.hosting.gitRemote.grant.password,
411
+ });
412
+ return stdout.trim();
413
+ }
414
+ finally {
415
+ await rm(temporaryRoot, { recursive: true, force: true });
416
+ }
417
+ }
418
+ async function runGit(args, extraEnv = {}) {
419
+ return execFileAsync("git", args, {
420
+ env: { ...process.env, ...extraEnv },
421
+ maxBuffer: 10 * 1024 * 1024,
422
+ });
423
+ }
424
+ async function readAuthConfig() {
425
+ const parsed = JSON.parse(await readFile(authConfigPath(), "utf8"));
426
+ if (!parsed.apiBaseUrl || !parsed.token || !parsed.expiresAt)
427
+ throw new Error("Invalid Vibable auth config.");
428
+ if (Date.parse(parsed.expiresAt) <= Date.now())
429
+ throw new Error("Vibable login expired. Run vibable auth login again.");
430
+ return parsed;
431
+ }
432
+ function authConfigPath() {
433
+ return process.env.VIBABLE_AUTH_FILE ?? path.join(homedir(), ".config", "vibable", "auth.json");
434
+ }
435
+ async function postJson(input) {
436
+ const response = await fetch(`${trimSlash(input.apiBaseUrl)}${input.path}`, {
437
+ method: "POST",
438
+ headers: {
439
+ "content-type": "application/json",
440
+ ...(input.token ? { authorization: `Bearer ${input.token}` } : {}),
441
+ },
442
+ body: JSON.stringify(input.body),
443
+ });
444
+ if (!response.ok) {
445
+ const error = await response.json().catch(() => null);
446
+ throw new Error(error?.message ?? `Vibable request failed (${response.status}).`);
447
+ }
448
+ return await response.json();
449
+ }
450
+ async function getJson(input) {
451
+ const response = await fetch(`${trimSlash(input.apiBaseUrl)}${input.path}`, {
452
+ headers: { authorization: `Bearer ${input.token}` },
453
+ });
454
+ if (!response.ok)
455
+ throw new Error(`Vibable request failed (${response.status}).`);
456
+ return await response.json();
457
+ }
458
+ function trimSlash(value) {
459
+ return value.replace(/\/+$/u, "");
460
+ }
461
+ //# sourceMappingURL=hosting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosting.js","sourceRoot":"","sources":["../src/hosting.ts"],"names":[],"mappings":"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"}