skydive-cli 0.4.0-beta.1324 → 0.4.0-beta.1332
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/js/{billing-blocked-euid6MN9.mjs → billing-blocked-Dgu5-oDy.mjs} +1 -1
- package/dist/js/bin.mjs +23 -22
- package/dist/js/{boot-BmzC25Rc.mjs → boot-Cw_SOMZH.mjs} +11 -10
- package/dist/js/{client-yn4bC-OV.mjs → client-Cf7cvftg.mjs} +19 -6
- package/dist/js/client-CneLVPei.mjs +4 -0
- package/dist/js/{daemon-C0Qr2WSJ.mjs → daemon-DOWC0OOB.mjs} +3 -4
- package/dist/js/daemon-wUaIOwEj.mjs +5 -0
- package/dist/js/http-error-DzyrsLAZ.mjs +20 -0
- package/dist/js/{print-BaXFFR3b.mjs → print-CbayCa87.mjs} +3 -2
- package/dist/js/{print-CvB9w4jf.mjs → print-ba_0hiV9.mjs} +3 -3
- package/dist/js/{print-share-mBbyQQDb.mjs → print-share-BBz_FpXL.mjs} +1 -1
- package/dist/js/{profiler-pZXBjTHx.mjs → profiler-Dh7VeDnQ.mjs} +2 -2
- package/dist/js/{raw-pty-DAmb8uqt.mjs → raw-pty-C7PxMDc1.mjs} +1 -1
- package/dist/js/raw-pty-skuWh-QO.mjs +5 -0
- package/dist/js/{rest-D89MGnWD.mjs → rest-BY2nADw5.mjs} +3 -10
- package/dist/js/rest-DADJh0bi.mjs +6 -0
- package/package.json +2 -2
- package/dist/js/client-GNFwd8ou.mjs +0 -6
- package/dist/js/daemon-C_h_KgJC.mjs +0 -7
- package/dist/js/raw-pty-t5DC-e1T.mjs +0 -5
- package/dist/js/rest-D4gqf1ck.mjs +0 -5
- /package/dist/js/{billing-blocked-CwfG1BTR.mjs → billing-blocked-2wju4gC_.mjs} +0 -0
- /package/dist/js/{client-D8s9vY4p.mjs → client-Cn2af31H.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as billingBlockedOutcomeSchema, i as billingBlockedOutcomeFromSendResponse, n as BillingBlockedError, r as billingBlockedJsonResult, t as BILLING_BLOCKED_EXIT_CODE } from "./billing-blocked-
|
|
2
|
+
import { a as billingBlockedOutcomeSchema, i as billingBlockedOutcomeFromSendResponse, n as BillingBlockedError, r as billingBlockedJsonResult, t as BILLING_BLOCKED_EXIT_CODE } from "./billing-blocked-2wju4gC_.mjs";
|
|
3
3
|
|
|
4
4
|
export { BILLING_BLOCKED_EXIT_CODE, BillingBlockedError, billingBlockedJsonResult };
|
package/dist/js/bin.mjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as ensureActiveOrganization, D as setActiveWorkspace, E as listWorkspaces, O as name, T as getSessionIdentity, a as installCrashHandler, k as version, t as maybeStartProfiling, u as brandHelpArt, w as getActiveWorkspaceId, x as themes } from "./profiler-
|
|
3
|
-
import { A as getStoredApiKeyWorkspaceName, C as getLastSeenVersion, F as resolveManagementAuth, I as resolveSession, M as resolveAppUrl, N as resolveChatAuth, O as getShareMachineDefault, P as resolveConfig, R as saveConfig, S as getConfigPath, T as getPromptHistoryPath, V as setLastSeenVersion, _ as API_KEY_PREFIX, b as PREFERENCES, g as API_KEY_FAMILY_PREFIX, h as API_KEYS_URL, i as resolveAgent, j as getUpdateCheckDisabled, k as getStoredApiKeyId, v as DEFAULT_API_URL, w as getPreference, x as deleteConfig, z as saveSession } from "./print-
|
|
2
|
+
import { C as ensureActiveOrganization, D as setActiveWorkspace, E as listWorkspaces, O as name, T as getSessionIdentity, a as installCrashHandler, k as version, t as maybeStartProfiling, u as brandHelpArt, w as getActiveWorkspaceId, x as themes } from "./profiler-Dh7VeDnQ.mjs";
|
|
3
|
+
import { A as getStoredApiKeyWorkspaceName, C as getLastSeenVersion, F as resolveManagementAuth, I as resolveSession, M as resolveAppUrl, N as resolveChatAuth, O as getShareMachineDefault, P as resolveConfig, R as saveConfig, S as getConfigPath, T as getPromptHistoryPath, V as setLastSeenVersion, _ as API_KEY_PREFIX, b as PREFERENCES, g as API_KEY_FAMILY_PREFIX, h as API_KEYS_URL, i as resolveAgent, j as getUpdateCheckDisabled, k as getStoredApiKeyId, v as DEFAULT_API_URL, w as getPreference, x as deleteConfig, z as saveSession } from "./print-CbayCa87.mjs";
|
|
4
4
|
import { n as printError, r as printTable, t as output } from "./output-DYzzdXYV.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import "./
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
5
|
+
import { t as HttpError } from "./http-error-DzyrsLAZ.mjs";
|
|
6
|
+
import { t as createRestClient } from "./rest-BY2nADw5.mjs";
|
|
7
|
+
import "./billing-blocked-2wju4gC_.mjs";
|
|
8
|
+
import { a as registerPortalDevice, c as machineIdentity, i as grantPortalAccess, n as fetchPortalDevices, o as revokePortalAccess, r as findThisDevice } from "./client-Cf7cvftg.mjs";
|
|
9
|
+
import { c as PORTAL_DAEMON_FLAG, i as queryDaemonStatus, l as daemonPaths, n as ensureDaemonRunning, o as stopDaemon } from "./daemon-DOWC0OOB.mjs";
|
|
10
|
+
import { t as SandboxStream } from "./client-Cn2af31H.mjs";
|
|
10
11
|
import { hideBin } from "yargs/helpers";
|
|
11
12
|
import yargs from "yargs";
|
|
12
13
|
import os, { hostname } from "node:os";
|
|
@@ -1514,7 +1515,7 @@ const importCommand = {
|
|
|
1514
1515
|
process.exit(1);
|
|
1515
1516
|
}
|
|
1516
1517
|
}
|
|
1517
|
-
const { runChat } = await import("./boot-
|
|
1518
|
+
const { runChat } = await import("./boot-Cw_SOMZH.mjs");
|
|
1518
1519
|
await runChat({
|
|
1519
1520
|
appUrl,
|
|
1520
1521
|
sessionToken: session.value.sessionToken,
|
|
@@ -1541,7 +1542,7 @@ async function runImportPrintMode({ argv, appUrl }) {
|
|
|
1541
1542
|
printError(`${session.error.message} For non-interactive use, run \`skydive auth login --web\` first, or set SKYDIVE_SESSION_TOKEN.`);
|
|
1542
1543
|
process.exit(1);
|
|
1543
1544
|
}
|
|
1544
|
-
const { connectMachineShare } = await import("./print-share-
|
|
1545
|
+
const { connectMachineShare } = await import("./print-share-BBz_FpXL.mjs");
|
|
1545
1546
|
const machineShare = await connectMachineShare({
|
|
1546
1547
|
appUrl,
|
|
1547
1548
|
sessionToken: session.value.sessionToken,
|
|
@@ -1549,7 +1550,7 @@ async function runImportPrintMode({ argv, appUrl }) {
|
|
|
1549
1550
|
});
|
|
1550
1551
|
const extra = (argv.print ?? "").trim();
|
|
1551
1552
|
const prompt = buildImportSeedPrompt(process.cwd()) + (extra ? `\n\nAdditional instructions: ${extra}` : "");
|
|
1552
|
-
const { runPrint } = await import("./print-
|
|
1553
|
+
const { runPrint } = await import("./print-ba_0hiV9.mjs");
|
|
1553
1554
|
try {
|
|
1554
1555
|
const result = await runPrint({
|
|
1555
1556
|
appUrl,
|
|
@@ -1926,7 +1927,7 @@ const chatCommand = {
|
|
|
1926
1927
|
sessionToken: auth.value.token,
|
|
1927
1928
|
agentSelector: argv.agent ?? null
|
|
1928
1929
|
});
|
|
1929
|
-
const { runChat } = await import("./boot-
|
|
1930
|
+
const { runChat } = await import("./boot-Cw_SOMZH.mjs");
|
|
1930
1931
|
await runChat({
|
|
1931
1932
|
appUrl: auth.value.appUrl,
|
|
1932
1933
|
sessionToken: auth.value.token,
|
|
@@ -1993,7 +1994,7 @@ async function runPrintMode({ argv, appUrl }) {
|
|
|
1993
1994
|
printError(`${auth.error.message} For non-interactive use, run \`skydive auth login\` first, or set SKYDIVE_API_KEY / SKYDIVE_SESSION_TOKEN.`);
|
|
1994
1995
|
process.exit(1);
|
|
1995
1996
|
}
|
|
1996
|
-
const { runPrint, readStdin } = await import("./print-
|
|
1997
|
+
const { runPrint, readStdin } = await import("./print-ba_0hiV9.mjs");
|
|
1997
1998
|
await ensureAgentWorkspace({
|
|
1998
1999
|
appUrl,
|
|
1999
2000
|
sessionToken: auth.value.token,
|
|
@@ -2018,7 +2019,7 @@ async function runPrintMode({ argv, appUrl }) {
|
|
|
2018
2019
|
process.exit(1);
|
|
2019
2020
|
}
|
|
2020
2021
|
} else {
|
|
2021
|
-
const { connectMachineShare } = await import("./print-share-
|
|
2022
|
+
const { connectMachineShare } = await import("./print-share-BBz_FpXL.mjs");
|
|
2022
2023
|
machineShare = await connectMachineShare({
|
|
2023
2024
|
appUrl: auth.value.appUrl,
|
|
2024
2025
|
sessionToken: auth.value.token,
|
|
@@ -2038,7 +2039,7 @@ async function runPrintMode({ argv, appUrl }) {
|
|
|
2038
2039
|
});
|
|
2039
2040
|
if (argv.json) output(argv, result);
|
|
2040
2041
|
} catch (error) {
|
|
2041
|
-
const { BillingBlockedError, BILLING_BLOCKED_EXIT_CODE, billingBlockedJsonResult } = await import("./billing-blocked-
|
|
2042
|
+
const { BillingBlockedError, BILLING_BLOCKED_EXIT_CODE, billingBlockedJsonResult } = await import("./billing-blocked-Dgu5-oDy.mjs");
|
|
2042
2043
|
if (error instanceof BillingBlockedError) {
|
|
2043
2044
|
if (argv.json) output(argv, billingBlockedJsonResult(error, null));
|
|
2044
2045
|
printError(error.message);
|
|
@@ -2082,7 +2083,7 @@ const getCommand$1 = {
|
|
|
2082
2083
|
printError(`${auth.error.message} Run \`skydive auth login\` first, or set SKYDIVE_API_KEY / SKYDIVE_SESSION_TOKEN.`);
|
|
2083
2084
|
process.exit(1);
|
|
2084
2085
|
}
|
|
2085
|
-
const { messageGet } = await import("./print-
|
|
2086
|
+
const { messageGet } = await import("./print-ba_0hiV9.mjs");
|
|
2086
2087
|
try {
|
|
2087
2088
|
const result = await messageGet({
|
|
2088
2089
|
appUrl: auth.value.appUrl,
|
|
@@ -2092,7 +2093,7 @@ const getCommand$1 = {
|
|
|
2092
2093
|
});
|
|
2093
2094
|
if (argv.json) output(argv, result);
|
|
2094
2095
|
} catch (error) {
|
|
2095
|
-
const { BillingBlockedError, BILLING_BLOCKED_EXIT_CODE, billingBlockedJsonResult } = await import("./billing-blocked-
|
|
2096
|
+
const { BillingBlockedError, BILLING_BLOCKED_EXIT_CODE, billingBlockedJsonResult } = await import("./billing-blocked-Dgu5-oDy.mjs");
|
|
2096
2097
|
if (error instanceof BillingBlockedError) {
|
|
2097
2098
|
if (argv.json) output(argv, billingBlockedJsonResult(error, argv["message-id"]));
|
|
2098
2099
|
printError(error.message);
|
|
@@ -2285,7 +2286,7 @@ const switchCommand = {
|
|
|
2285
2286
|
printError("The workspace picker needs the Bun runtime and it could not be set up automatically. Pass a workspace slug instead, or install Bun and retry.");
|
|
2286
2287
|
process.exit(1);
|
|
2287
2288
|
}
|
|
2288
|
-
const { runWorkspacePicker } = await import("./boot-
|
|
2289
|
+
const { runWorkspacePicker } = await import("./boot-Cw_SOMZH.mjs");
|
|
2289
2290
|
await runWorkspacePicker(session);
|
|
2290
2291
|
return;
|
|
2291
2292
|
}
|
|
@@ -2363,7 +2364,7 @@ const openCommand = {
|
|
|
2363
2364
|
const agent = argv.agent ? resolveAgent((await fetchPortalDevices(session)).agents, argv.agent) : null;
|
|
2364
2365
|
const cwd = argv.cwd ? path.resolve(argv.cwd) : process.cwd();
|
|
2365
2366
|
const { machineName } = machineIdentity();
|
|
2366
|
-
const { PortalClient } = await import("./client-
|
|
2367
|
+
const { PortalClient } = await import("./client-CneLVPei.mjs");
|
|
2367
2368
|
let lastLine = "";
|
|
2368
2369
|
let signalConnected;
|
|
2369
2370
|
const connected = new Promise((resolve) => {
|
|
@@ -2636,8 +2637,8 @@ const sandboxCommand = {
|
|
|
2636
2637
|
}).example("skydive sandbox --agent grace", "Live terminal (Ctrl-] detaches)").example("skydive sandbox --agent grace -- tail -n 50 /tmp/harness.log", "One-shot command (use `--` so its flags reach the sandbox)").example("skydive sandbox --agent grace -- sh -c 'ls /tmp | wc -l'", "Shell features go through an explicit `sh -c`"),
|
|
2637
2638
|
handler: async (argv) => {
|
|
2638
2639
|
const session = requireSession(argv);
|
|
2639
|
-
const { createRestClient } = await import("./rest-
|
|
2640
|
-
const { resolveAgent } = await import("./print-
|
|
2640
|
+
const { createRestClient } = await import("./rest-DADJh0bi.mjs");
|
|
2641
|
+
const { resolveAgent } = await import("./print-ba_0hiV9.mjs");
|
|
2641
2642
|
const client = createRestClient({
|
|
2642
2643
|
appUrl: session.appUrl,
|
|
2643
2644
|
sessionToken: session.sessionToken
|
|
@@ -2706,7 +2707,7 @@ async function runPty({ session, agentId, agentName }) {
|
|
|
2706
2707
|
return 1;
|
|
2707
2708
|
}
|
|
2708
2709
|
console.error(`Connecting to ${agentName}'s sandbox… (Ctrl-] detaches)`);
|
|
2709
|
-
const { runRawPtyPassthrough } = await import("./raw-pty-
|
|
2710
|
+
const { runRawPtyPassthrough } = await import("./raw-pty-skuWh-QO.mjs");
|
|
2710
2711
|
const result = await runRawPtyPassthrough({
|
|
2711
2712
|
stdin: process.stdin,
|
|
2712
2713
|
stdout: process.stdout,
|
|
@@ -3896,7 +3897,7 @@ if (process.argv.includes(UPDATE_WORKER_FLAG)) {
|
|
|
3896
3897
|
process.exit(0);
|
|
3897
3898
|
}
|
|
3898
3899
|
if (process.argv.includes(PORTAL_DAEMON_FLAG)) {
|
|
3899
|
-
const { runPortalDaemon } = await import("./daemon-
|
|
3900
|
+
const { runPortalDaemon } = await import("./daemon-wUaIOwEj.mjs");
|
|
3900
3901
|
runPortalDaemon(process.argv);
|
|
3901
3902
|
} else runCli();
|
|
3902
3903
|
function runCli() {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { D as setActiveWorkspace, E as listWorkspaces, S as themesForMode, _ as themeForMode, a as installCrashHandler, b as themeVersion, c as MARK_CELLS, d as DEFAULT_THEME_ID, f as applyTheme, g as theme, h as noColorRequested, i as writeArtifact, l as WORDMARK, m as monoTheme, n as profilingEnabled, o as buildCrashReport, p as findTheme, r as record, s as writeCrashReport, v as themeMode, w as getActiveWorkspaceId, y as themeModeFromColorFgBg } from "./profiler-
|
|
3
|
-
import { B as saveTheme, D as getSavedTheme, E as getReviewStateDir, L as resolveWebUrl, S as getConfigPath, c as cardActionErrorMessage, d as reconcileMaskedInput, f as resolveConnectUrl, i as resolveAgent, l as parseExternalOauthConnectParams, m as specKeyFor, p as parseConnectCard, s as MASK_CHAR, u as parseOauthConnectParams, v as DEFAULT_API_URL, y as DEFAULT_APP_URL } from "./print-
|
|
4
|
-
import {
|
|
5
|
-
import { i as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { t as
|
|
2
|
+
import { D as setActiveWorkspace, E as listWorkspaces, S as themesForMode, _ as themeForMode, a as installCrashHandler, b as themeVersion, c as MARK_CELLS, d as DEFAULT_THEME_ID, f as applyTheme, g as theme, h as noColorRequested, i as writeArtifact, l as WORDMARK, m as monoTheme, n as profilingEnabled, o as buildCrashReport, p as findTheme, r as record, s as writeCrashReport, v as themeMode, w as getActiveWorkspaceId, y as themeModeFromColorFgBg } from "./profiler-Dh7VeDnQ.mjs";
|
|
3
|
+
import { B as saveTheme, D as getSavedTheme, E as getReviewStateDir, L as resolveWebUrl, S as getConfigPath, c as cardActionErrorMessage, d as reconcileMaskedInput, f as resolveConnectUrl, i as resolveAgent, l as parseExternalOauthConnectParams, m as specKeyFor, p as parseConnectCard, s as MASK_CHAR, u as parseOauthConnectParams, v as DEFAULT_API_URL, y as DEFAULT_APP_URL } from "./print-CbayCa87.mjs";
|
|
4
|
+
import { t as HttpError } from "./http-error-DzyrsLAZ.mjs";
|
|
5
|
+
import { a as isRecord, i as errorMessage, n as errorDetail, r as sendErrorMessage, t as createRestClient } from "./rest-BY2nADw5.mjs";
|
|
6
|
+
import { i as billingBlockedOutcomeFromSendResponse } from "./billing-blocked-2wju4gC_.mjs";
|
|
7
|
+
import { t as PortalClient } from "./client-Cf7cvftg.mjs";
|
|
8
|
+
import { d as makeLineParser, f as parseDaemonMessage, l as daemonPaths, n as ensureDaemonRunning, s as LOCAL_PROTOCOL_VERSION, u as encodeLine } from "./daemon-DOWC0OOB.mjs";
|
|
9
|
+
import { t as SandboxStream } from "./client-Cn2af31H.mjs";
|
|
10
|
+
import { t as runRawPtyPassthrough } from "./raw-pty-C7PxMDc1.mjs";
|
|
10
11
|
import * as os$1 from "node:os";
|
|
11
12
|
import { homedir, platform, release, tmpdir } from "node:os";
|
|
12
13
|
import path, { basename, extname, isAbsolute, join, win32 } from "node:path";
|
|
@@ -293,7 +294,7 @@ async function resolveInitialScreen({ rest, agentSelector, conversationId, newCo
|
|
|
293
294
|
}
|
|
294
295
|
|
|
295
296
|
//#endregion
|
|
296
|
-
//#region src/
|
|
297
|
+
//#region ../portal-daemon/src/daemon-client.ts
|
|
297
298
|
var PortalDaemonClient = class {
|
|
298
299
|
sessionId = randomUUID();
|
|
299
300
|
socket = null;
|
|
@@ -438,7 +439,7 @@ var PortalDaemonClient = class {
|
|
|
438
439
|
};
|
|
439
440
|
|
|
440
441
|
//#endregion
|
|
441
|
-
//#region src/
|
|
442
|
+
//#region ../portal-daemon/src/create-portal-client.ts
|
|
442
443
|
/**
|
|
443
444
|
* Escape hatch: setting `SKYDIVE_NO_DAEMON` (to any non-empty value)
|
|
444
445
|
* makes the CLI bypass the portal daemon and open the portal connection
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { t as HttpError } from "./http-error-DzyrsLAZ.mjs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { spawn } from "node:child_process";
|
|
6
6
|
import { WebSocket } from "ws";
|
|
7
7
|
|
|
8
|
-
//#region src/
|
|
8
|
+
//#region ../portal-daemon/src/machine.ts
|
|
9
9
|
/**
|
|
10
10
|
* Identity this machine registers under when the CLI shares it via the portal.
|
|
11
11
|
*
|
|
@@ -60,6 +60,19 @@ function portalWsUrl(appUrl, machine, label) {
|
|
|
60
60
|
return url.toString();
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region ../portal-daemon/src/util.ts
|
|
65
|
+
/** Narrowing helper for the unknown JSON payloads the daemon reads (persisted
|
|
66
|
+
* state, wire frames). A type predicate (not an `as` cast), so call sites can
|
|
67
|
+
* read properties without asserting. */
|
|
68
|
+
function isRecord(value) {
|
|
69
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
70
|
+
}
|
|
71
|
+
/** Best-effort message from an unknown thrown value. */
|
|
72
|
+
function errorMessage(err) {
|
|
73
|
+
return err instanceof Error ? err.message : String(err);
|
|
74
|
+
}
|
|
75
|
+
|
|
63
76
|
//#endregion
|
|
64
77
|
//#region ../portal-protocol/src/index.ts
|
|
65
78
|
const MAX_WS_FRAME_BYTES = 16 * 1024 * 1024;
|
|
@@ -126,7 +139,7 @@ function decodeFrame(frame) {
|
|
|
126
139
|
}
|
|
127
140
|
|
|
128
141
|
//#endregion
|
|
129
|
-
//#region src/
|
|
142
|
+
//#region ../portal-daemon/src/exec.ts
|
|
130
143
|
/**
|
|
131
144
|
* Runs portal `exec` directives locally. Each `open` spawns a child process
|
|
132
145
|
* whose stdout/stderr stream back as data frames and whose stdin is fed by
|
|
@@ -252,7 +265,7 @@ var JobManager = class {
|
|
|
252
265
|
};
|
|
253
266
|
|
|
254
267
|
//#endregion
|
|
255
|
-
//#region src/
|
|
268
|
+
//#region ../portal-daemon/src/api.ts
|
|
256
269
|
/**
|
|
257
270
|
* The portal's session-authed REST surface, shared by `PortalClient` (the
|
|
258
271
|
* TUI/`portal open` connection) and the `skydive portal` management
|
|
@@ -335,7 +348,7 @@ function findThisDevice(devices, machineName) {
|
|
|
335
348
|
}
|
|
336
349
|
|
|
337
350
|
//#endregion
|
|
338
|
-
//#region src/
|
|
351
|
+
//#region ../portal-daemon/src/client.ts
|
|
339
352
|
const INITIAL_BACKOFF_MS = 500;
|
|
340
353
|
const MAX_BACKOFF_MS = 1e4;
|
|
341
354
|
/**
|
|
@@ -503,4 +516,4 @@ function sleep(ms) {
|
|
|
503
516
|
}
|
|
504
517
|
|
|
505
518
|
//#endregion
|
|
506
|
-
export { registerPortalDevice as a, grantPortalAccess as i, fetchPortalDevices as n, revokePortalAccess as o, findThisDevice as r,
|
|
519
|
+
export { registerPortalDevice as a, machineIdentity as c, grantPortalAccess as i, fetchPortalDevices as n, revokePortalAccess as o, findThisDevice as r, isRecord as s, PortalClient as t };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import { t as PortalClient } from "./client-yn4bC-OV.mjs";
|
|
2
|
+
import { s as isRecord, t as PortalClient } from "./client-Cf7cvftg.mjs";
|
|
4
3
|
import os from "node:os";
|
|
5
4
|
import path from "node:path";
|
|
6
5
|
import { z } from "zod";
|
|
@@ -9,7 +8,7 @@ import { createHash } from "node:crypto";
|
|
|
9
8
|
import { connect, createServer } from "node:net";
|
|
10
9
|
import { access, appendFile, mkdir, readFile, unlink, writeFile } from "node:fs/promises";
|
|
11
10
|
|
|
12
|
-
//#region src/
|
|
11
|
+
//#region ../portal-daemon/src/local-protocol.ts
|
|
13
12
|
/**
|
|
14
13
|
* Local IPC between the portal DAEMON and the `skydive` CLI processes attached
|
|
15
14
|
* to it, on one host.
|
|
@@ -220,7 +219,7 @@ function parseDaemonMessage(line) {
|
|
|
220
219
|
}
|
|
221
220
|
|
|
222
221
|
//#endregion
|
|
223
|
-
//#region src/
|
|
222
|
+
//#region ../portal-daemon/src/daemon.ts
|
|
224
223
|
/**
|
|
225
224
|
* The portal DAEMON: one long-lived process per (user, appUrl) that owns the
|
|
226
225
|
* SINGLE portal WebSocket to the server and is the only writer of the machine's
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
//#region ../portal-daemon/src/http-error.ts
|
|
3
|
+
/**
|
|
4
|
+
* HTTP failure that keeps the FULL response body. The message self-clips to
|
|
5
|
+
* 200 chars because it flows into logs and one-line UIs; consumers that can
|
|
6
|
+
* afford the whole body (an expandable transcript block) read `body` directly.
|
|
7
|
+
* The CLI re-exports this class from its REST layer so `instanceof` checks
|
|
8
|
+
* hold across both surfaces.
|
|
9
|
+
*/
|
|
10
|
+
var HttpError = class extends Error {
|
|
11
|
+
constructor(status, body) {
|
|
12
|
+
super(`HTTP ${status}: ${body.slice(0, 200)}`);
|
|
13
|
+
this.status = status;
|
|
14
|
+
this.body = body;
|
|
15
|
+
this.name = "HttpError";
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { HttpError as t };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import { i as
|
|
2
|
+
import { t as HttpError } from "./http-error-DzyrsLAZ.mjs";
|
|
3
|
+
import { a as isRecord, i as errorMessage, r as sendErrorMessage, t as createRestClient } from "./rest-BY2nADw5.mjs";
|
|
4
|
+
import { i as billingBlockedOutcomeFromSendResponse, n as BillingBlockedError } from "./billing-blocked-2wju4gC_.mjs";
|
|
4
5
|
import path from "node:path";
|
|
5
6
|
import Conf from "conf";
|
|
6
7
|
import { err, ok } from "neverthrow";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as runPrint, i as resolveAgent, n as messageGet, o as toPrintError, r as readStdin, t as collectRunText } from "./print-
|
|
3
|
-
import "./rest-
|
|
4
|
-
import "./billing-blocked-
|
|
2
|
+
import { a as runPrint, i as resolveAgent, n as messageGet, o as toPrintError, r as readStdin, t as collectRunText } from "./print-CbayCa87.mjs";
|
|
3
|
+
import "./rest-BY2nADw5.mjs";
|
|
4
|
+
import "./billing-blocked-2wju4gC_.mjs";
|
|
5
5
|
|
|
6
6
|
export { messageGet, readStdin, resolveAgent, runPrint };
|
|
@@ -14,7 +14,7 @@ import { n as printError } from "./output-DYzzdXYV.mjs";
|
|
|
14
14
|
* the reply (and to --json).
|
|
15
15
|
*/
|
|
16
16
|
async function connectMachineShare({ appUrl, sessionToken, timeoutHint }) {
|
|
17
|
-
const { PortalClient } = await import("./client-
|
|
17
|
+
const { PortalClient } = await import("./client-CneLVPei.mjs");
|
|
18
18
|
let signalConnected;
|
|
19
19
|
const connected = new Promise((resolve) => {
|
|
20
20
|
signalConnected = resolve;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { S as getConfigPath } from "./print-
|
|
2
|
+
import { S as getConfigPath } from "./print-CbayCa87.mjs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { err, ok } from "neverthrow";
|
|
@@ -8,7 +8,7 @@ import fs from "node:fs";
|
|
|
8
8
|
|
|
9
9
|
//#region package.json
|
|
10
10
|
var name = "skydive-cli";
|
|
11
|
-
var version$1 = "0.4.0-beta.
|
|
11
|
+
var version$1 = "0.4.0-beta.1332";
|
|
12
12
|
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/auth/organization.ts
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { t as HttpError } from "./http-error-DzyrsLAZ.mjs";
|
|
3
|
+
import { a as billingBlockedOutcomeSchema } from "./billing-blocked-2wju4gC_.mjs";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
import { createParser } from "eventsource-parser";
|
|
5
6
|
|
|
@@ -17,14 +18,6 @@ function errorMessage(err) {
|
|
|
17
18
|
|
|
18
19
|
//#endregion
|
|
19
20
|
//#region src/chat/api/rest.ts
|
|
20
|
-
var HttpError = class extends Error {
|
|
21
|
-
constructor(status, body) {
|
|
22
|
-
super(`HTTP ${status}: ${body.slice(0, 200)}`);
|
|
23
|
-
this.status = status;
|
|
24
|
-
this.body = body;
|
|
25
|
-
this.name = "HttpError";
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
21
|
const ERROR_DETAIL_MAX_BODY = 2e3;
|
|
29
22
|
/**
|
|
30
23
|
* Fullest renderable text for a thrown value. `HttpError.message` clips the
|
|
@@ -614,4 +607,4 @@ const conversationStreamEventSchema = z.discriminatedUnion("kind", [
|
|
|
614
607
|
]);
|
|
615
608
|
|
|
616
609
|
//#endregion
|
|
617
|
-
export {
|
|
610
|
+
export { isRecord as a, errorMessage as i, errorDetail as n, sendErrorMessage as r, createRestClient as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skydive-cli",
|
|
3
|
-
"version": "0.4.0-beta.
|
|
3
|
+
"version": "0.4.0-beta.1332",
|
|
4
4
|
"description": "Skydive CLI — cloud agents from the command line",
|
|
5
5
|
"homepage": "https://skydive.com",
|
|
6
6
|
"license": "MIT",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"zustand": "^5.0.2"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@createinc/anyone-portal-
|
|
51
|
+
"@createinc/anyone-portal-daemon": "0.0.0",
|
|
52
52
|
"@createinc/anyone-sandbox-stream-protocol": "0.0.0",
|
|
53
53
|
"@createinc/tsconfig": "0.0.0",
|
|
54
54
|
"@types/bun": "^1.3.14",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import "./rest-D89MGnWD.mjs";
|
|
3
|
-
import "./billing-blocked-CwfG1BTR.mjs";
|
|
4
|
-
import "./client-yn4bC-OV.mjs";
|
|
5
|
-
import { a as runPortalDaemon, i as queryDaemonStatus, n as ensureDaemonRunning, o as stopDaemon, r as isDaemonListening, t as PortalDaemon } from "./daemon-C0Qr2WSJ.mjs";
|
|
6
|
-
|
|
7
|
-
export { runPortalDaemon };
|
|
File without changes
|
|
File without changes
|