skydive-cli 0.4.0-beta.979 → 0.4.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/js/bin.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import { C as setActiveWorkspace, S as listWorkspaces, T as version, _ as themes, b as getActiveWorkspaceId, o as brandHelpArt, t as installCrashHandler, w as name, x as getSessionIdentity, y as ensureActiveOrganization } from "./install-Io3UMV51.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-CiaU2ygh.mjs";
2
+ import { C as setActiveWorkspace, S as listWorkspaces, T as version, _ as themes, b as getActiveWorkspaceId, o as brandHelpArt, t as installCrashHandler, w as name, x as getSessionIdentity, y as ensureActiveOrganization } from "./install-Ba-UTi-l.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-X2N5wJ5l.mjs";
4
4
  import { n as printError, r as printTable, t as output } from "./output-DYzzdXYV.mjs";
5
- import { n as createRestClient, t as HttpError } from "./rest-CG7VpQ56.mjs";
5
+ import { n as createRestClient, t as HttpError } from "./rest-imDZZGQA.mjs";
6
6
  import "./billing-blocked-CwfG1BTR.mjs";
7
- import { a as registerPortalDevice, i as grantPortalAccess, n as fetchPortalDevices, o as revokePortalAccess, r as findThisDevice, s as machineIdentity } from "./client-DiaJZQG6.mjs";
8
- import { c as PORTAL_DAEMON_FLAG, i as queryDaemonStatus, l as daemonPaths, n as ensureDaemonRunning, o as stopDaemon } from "./daemon-BSSZpzto.mjs";
7
+ import { a as registerPortalDevice, i as grantPortalAccess, n as fetchPortalDevices, o as revokePortalAccess, r as findThisDevice, s as machineIdentity } from "./client-CKzK-12y.mjs";
8
+ import { c as PORTAL_DAEMON_FLAG, i as queryDaemonStatus, l as daemonPaths, n as ensureDaemonRunning, o as stopDaemon } from "./daemon-CaFz7Wtw.mjs";
9
9
  import { t as SandboxStream } from "./client-D8s9vY4p.mjs";
10
10
  import { hideBin } from "yargs/helpers";
11
11
  import yargs from "yargs";
@@ -1505,7 +1505,7 @@ const importCommand = {
1505
1505
  process.exit(1);
1506
1506
  }
1507
1507
  }
1508
- const { runChat } = await import("./boot-DwFRniN5.mjs");
1508
+ const { runChat } = await import("./boot-on5ucI_Z.mjs");
1509
1509
  await runChat({
1510
1510
  appUrl,
1511
1511
  sessionToken: session.value.sessionToken,
@@ -1532,7 +1532,7 @@ async function runImportPrintMode({ argv, appUrl }) {
1532
1532
  printError(`${session.error.message} For non-interactive use, run \`skydive auth login --web\` first, or set SKYDIVE_SESSION_TOKEN.`);
1533
1533
  process.exit(1);
1534
1534
  }
1535
- const { connectMachineShare } = await import("./print-share-DlO5RSBt.mjs");
1535
+ const { connectMachineShare } = await import("./print-share-D72CfWJk.mjs");
1536
1536
  const machineShare = await connectMachineShare({
1537
1537
  appUrl,
1538
1538
  sessionToken: session.value.sessionToken,
@@ -1540,7 +1540,7 @@ async function runImportPrintMode({ argv, appUrl }) {
1540
1540
  });
1541
1541
  const extra = (argv.print ?? "").trim();
1542
1542
  const prompt = buildImportSeedPrompt(process.cwd()) + (extra ? `\n\nAdditional instructions: ${extra}` : "");
1543
- const { runPrint } = await import("./print-vUf9stcK.mjs");
1543
+ const { runPrint } = await import("./print-BXNq9UxE.mjs");
1544
1544
  try {
1545
1545
  const result = await runPrint({
1546
1546
  appUrl,
@@ -1917,7 +1917,7 @@ const chatCommand = {
1917
1917
  sessionToken: auth.value.token,
1918
1918
  agentSelector: argv.agent ?? null
1919
1919
  });
1920
- const { runChat } = await import("./boot-DwFRniN5.mjs");
1920
+ const { runChat } = await import("./boot-on5ucI_Z.mjs");
1921
1921
  await runChat({
1922
1922
  appUrl: auth.value.appUrl,
1923
1923
  sessionToken: auth.value.token,
@@ -1984,7 +1984,7 @@ async function runPrintMode({ argv, appUrl }) {
1984
1984
  printError(`${auth.error.message} For non-interactive use, run \`skydive auth login\` first, or set SKYDIVE_API_KEY / SKYDIVE_SESSION_TOKEN.`);
1985
1985
  process.exit(1);
1986
1986
  }
1987
- const { runPrint, readStdin } = await import("./print-vUf9stcK.mjs");
1987
+ const { runPrint, readStdin } = await import("./print-BXNq9UxE.mjs");
1988
1988
  await ensureAgentWorkspace({
1989
1989
  appUrl,
1990
1990
  sessionToken: auth.value.token,
@@ -2009,7 +2009,7 @@ async function runPrintMode({ argv, appUrl }) {
2009
2009
  process.exit(1);
2010
2010
  }
2011
2011
  } else {
2012
- const { connectMachineShare } = await import("./print-share-DlO5RSBt.mjs");
2012
+ const { connectMachineShare } = await import("./print-share-D72CfWJk.mjs");
2013
2013
  machineShare = await connectMachineShare({
2014
2014
  appUrl: auth.value.appUrl,
2015
2015
  sessionToken: auth.value.token,
@@ -2073,7 +2073,7 @@ const getCommand$1 = {
2073
2073
  printError(`${auth.error.message} Run \`skydive auth login\` first, or set SKYDIVE_API_KEY / SKYDIVE_SESSION_TOKEN.`);
2074
2074
  process.exit(1);
2075
2075
  }
2076
- const { messageGet } = await import("./print-vUf9stcK.mjs");
2076
+ const { messageGet } = await import("./print-BXNq9UxE.mjs");
2077
2077
  try {
2078
2078
  const result = await messageGet({
2079
2079
  appUrl: auth.value.appUrl,
@@ -2276,7 +2276,7 @@ const switchCommand = {
2276
2276
  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.");
2277
2277
  process.exit(1);
2278
2278
  }
2279
- const { runWorkspacePicker } = await import("./boot-DwFRniN5.mjs");
2279
+ const { runWorkspacePicker } = await import("./boot-on5ucI_Z.mjs");
2280
2280
  await runWorkspacePicker(session);
2281
2281
  return;
2282
2282
  }
@@ -2354,7 +2354,7 @@ const openCommand = {
2354
2354
  const agent = argv.agent ? resolveAgent((await fetchPortalDevices(session)).agents, argv.agent) : null;
2355
2355
  const cwd = argv.cwd ? path.resolve(argv.cwd) : process.cwd();
2356
2356
  const { machineName } = machineIdentity();
2357
- const { PortalClient } = await import("./client-BpAnESuq.mjs");
2357
+ const { PortalClient } = await import("./client-D6apKmV0.mjs");
2358
2358
  let lastLine = "";
2359
2359
  let signalConnected;
2360
2360
  const connected = new Promise((resolve) => {
@@ -2627,8 +2627,8 @@ const sandboxCommand = {
2627
2627
  }).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`"),
2628
2628
  handler: async (argv) => {
2629
2629
  const session = requireSession(argv);
2630
- const { createRestClient } = await import("./rest-DfpoRJ_Q.mjs");
2631
- const { resolveAgent } = await import("./print-vUf9stcK.mjs");
2630
+ const { createRestClient } = await import("./rest-Br2eFTlj.mjs");
2631
+ const { resolveAgent } = await import("./print-BXNq9UxE.mjs");
2632
2632
  const client = createRestClient({
2633
2633
  appUrl: session.appUrl,
2634
2634
  sessionToken: session.sessionToken
@@ -3886,7 +3886,7 @@ if (process.argv.includes(UPDATE_WORKER_FLAG)) {
3886
3886
  process.exit(0);
3887
3887
  }
3888
3888
  if (process.argv.includes(PORTAL_DAEMON_FLAG)) {
3889
- const { runPortalDaemon } = await import("./daemon-ybnlDUgi.mjs");
3889
+ const { runPortalDaemon } = await import("./daemon-BADmpJAs.mjs");
3890
3890
  runPortalDaemon(process.argv);
3891
3891
  } else runCli();
3892
3892
  function runCli() {
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { C as setActiveWorkspace, S as listWorkspaces, a as WORDMARK, b as getActiveWorkspaceId, c as applyTheme, d as noColorRequested, f as theme, g as themeVersion, h as themeModeFromColorFgBg, i as MARK_CELLS, l as findTheme, m as themeMode, n as buildCrashReport, p as themeForMode, r as writeCrashReport, s as DEFAULT_THEME_ID, t as installCrashHandler, u as monoTheme, v as themesForMode } from "./install-Io3UMV51.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-CiaU2ygh.mjs";
4
- import { a as errorMessage, i as sendErrorMessage, n as createRestClient, o as isRecord, r as errorDetail, t as HttpError } from "./rest-CG7VpQ56.mjs";
2
+ import { C as setActiveWorkspace, S as listWorkspaces, a as WORDMARK, b as getActiveWorkspaceId, c as applyTheme, d as noColorRequested, f as theme, g as themeVersion, h as themeModeFromColorFgBg, i as MARK_CELLS, l as findTheme, m as themeMode, n as buildCrashReport, p as themeForMode, r as writeCrashReport, s as DEFAULT_THEME_ID, t as installCrashHandler, u as monoTheme, v as themesForMode } from "./install-Ba-UTi-l.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-X2N5wJ5l.mjs";
4
+ import { a as errorMessage, i as sendErrorMessage, n as createRestClient, o as isRecord, r as errorDetail, t as HttpError } from "./rest-imDZZGQA.mjs";
5
5
  import { i as billingBlockedOutcomeFromSendResponse } from "./billing-blocked-CwfG1BTR.mjs";
6
- import { t as PortalClient } from "./client-DiaJZQG6.mjs";
7
- import { d as makeLineParser, f as parseDaemonMessage, l as daemonPaths, n as ensureDaemonRunning, s as LOCAL_PROTOCOL_VERSION, u as encodeLine } from "./daemon-BSSZpzto.mjs";
6
+ import { t as PortalClient } from "./client-CKzK-12y.mjs";
7
+ import { d as makeLineParser, f as parseDaemonMessage, l as daemonPaths, n as ensureDaemonRunning, s as LOCAL_PROTOCOL_VERSION, u as encodeLine } from "./daemon-CaFz7Wtw.mjs";
8
8
  import { t as SandboxStream } from "./client-D8s9vY4p.mjs";
9
9
  import { t as runRawPtyPassthrough } from "./raw-pty-DAmb8uqt.mjs";
10
10
  import * as os$1 from "node:os";
@@ -5728,10 +5728,6 @@ const keybindGroups = [
5728
5728
  keys: "/plan [show|hide]",
5729
5729
  action: "show / hide the pinned plan card"
5730
5730
  },
5731
- {
5732
- keys: "/rename <title>",
5733
- action: "rename this conversation (for everyone)"
5734
- },
5735
5731
  {
5736
5732
  keys: "/",
5737
5733
  action: "open the command menu (start of message)"
@@ -6192,13 +6188,6 @@ const slashCommands = [
6192
6188
  description: "archive this conversation and hide it from your list",
6193
6189
  action: { kind: "archive-conversation" }
6194
6190
  },
6195
- {
6196
- name: "rename",
6197
- aliases: ["title"],
6198
- argsHint: "<new title>",
6199
- description: "rename this conversation (for everyone)",
6200
- action: { kind: "rename-conversation" }
6201
- },
6202
6191
  {
6203
6192
  name: "conversation",
6204
6193
  aliases: ["conversations", "conv"],
@@ -9332,10 +9321,6 @@ function routeInput(raw) {
9332
9321
  kind: "open-conversation",
9333
9322
  ref: match.rest
9334
9323
  } : { kind: "conversation-picker" };
9335
- case "rename-conversation": return {
9336
- kind: "rename-conversation",
9337
- title: match.rest
9338
- };
9339
9324
  case "plan": {
9340
9325
  const arg = match.rest.toLowerCase();
9341
9326
  return {
@@ -10540,38 +10525,6 @@ function ChatScreen({ agent, conversation }) {
10540
10525
  goTo,
10541
10526
  agent
10542
10527
  ]);
10543
- const renameConversation = useCallback((rawTitle) => {
10544
- const title = rawTitle.trim();
10545
- if (!title) {
10546
- useStore.getState().showToast({ message: "usage: /rename <new title>" });
10547
- return;
10548
- }
10549
- if (title.length > 100) {
10550
- useStore.getState().showToast({
10551
- variant: "error",
10552
- message: `title is too long (${String(title.length)}/100 characters)`
10553
- });
10554
- return;
10555
- }
10556
- if (!conversationId) {
10557
- useStore.getState().showToast({ message: "nothing to rename yet — send a message to start this one" });
10558
- return;
10559
- }
10560
- if (!rest) return;
10561
- rest.renameConversation({
10562
- conversationId,
10563
- title
10564
- }).then(() => {
10565
- useStore.getState().setChatTitle(title);
10566
- useStore.getState().showToast({
10567
- variant: "success",
10568
- message: `renamed to “${title}”`
10569
- });
10570
- }).catch((err) => useStore.getState().showToast({
10571
- variant: "error",
10572
- message: `couldn't rename: ${errorMessage(err)}`
10573
- }));
10574
- }, [conversationId, rest]);
10575
10528
  /**
10576
10529
  * Leave this conversation for another screen without ending its run: drop
10577
10530
  * our own SSE subscription and nothing else — never `rest.cancelRun` — so
@@ -10740,9 +10693,6 @@ function ChatScreen({ agent, conversation }) {
10740
10693
  case "archive-conversation":
10741
10694
  archiveConversation();
10742
10695
  break;
10743
- case "rename-conversation":
10744
- renameConversation(routed.title);
10745
- break;
10746
10696
  case "new-conversation":
10747
10697
  if (runRef.current.kind !== "idle") {
10748
10698
  useStore.getState().showToast({ message: "finish or cancel the run first (ctrl+c)" });
@@ -10856,7 +10806,6 @@ function ChatScreen({ agent, conversation }) {
10856
10806
  runSandboxExec,
10857
10807
  runSandboxPty,
10858
10808
  archiveConversation,
10859
- renameConversation,
10860
10809
  forkAndContinue,
10861
10810
  leaveForScreen,
10862
10811
  openConversationRef,
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as errorMessage, t as HttpError } from "./rest-CG7VpQ56.mjs";
2
+ import { a as errorMessage, t as HttpError } from "./rest-imDZZGQA.mjs";
3
3
  import os from "node:os";
4
4
  import { z } from "zod";
5
5
  import { spawn } from "node:child_process";
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ import "./rest-imDZZGQA.mjs";
3
+ import "./billing-blocked-CwfG1BTR.mjs";
4
+ import { t as PortalClient } from "./client-CKzK-12y.mjs";
5
+
6
+ export { PortalClient };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import "./rest-CG7VpQ56.mjs";
2
+ import "./rest-imDZZGQA.mjs";
3
3
  import "./billing-blocked-CwfG1BTR.mjs";
4
- import "./client-DiaJZQG6.mjs";
5
- import { a as runPortalDaemon, i as queryDaemonStatus, n as ensureDaemonRunning, o as stopDaemon, r as isDaemonListening, t as PortalDaemon } from "./daemon-BSSZpzto.mjs";
4
+ import "./client-CKzK-12y.mjs";
5
+ import { a as runPortalDaemon, i as queryDaemonStatus, n as ensureDaemonRunning, o as stopDaemon, r as isDaemonListening, t as PortalDaemon } from "./daemon-CaFz7Wtw.mjs";
6
6
 
7
7
  export { runPortalDaemon };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { o as isRecord } from "./rest-CG7VpQ56.mjs";
3
- import { t as PortalClient } from "./client-DiaJZQG6.mjs";
2
+ import { o as isRecord } from "./rest-imDZZGQA.mjs";
3
+ import { t as PortalClient } from "./client-CKzK-12y.mjs";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
6
  import { z } from "zod";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { S as getConfigPath } from "./print-CiaU2ygh.mjs";
2
+ import { S as getConfigPath } from "./print-X2N5wJ5l.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.979";
11
+ var version$1 = "0.4.0";
12
12
 
13
13
  //#endregion
14
14
  //#region src/auth/organization.ts
@@ -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-CiaU2ygh.mjs";
3
- import "./rest-CG7VpQ56.mjs";
2
+ import { a as runPrint, i as resolveAgent, n as messageGet, o as toPrintError, r as readStdin, t as collectRunText } from "./print-X2N5wJ5l.mjs";
3
+ import "./rest-imDZZGQA.mjs";
4
4
  import "./billing-blocked-CwfG1BTR.mjs";
5
5
 
6
6
  export { messageGet, readStdin, resolveAgent, runPrint };
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as errorMessage, i as sendErrorMessage, n as createRestClient, o as isRecord, t as HttpError } from "./rest-CG7VpQ56.mjs";
2
+ import { a as errorMessage, i as sendErrorMessage, n as createRestClient, o as isRecord, t as HttpError } from "./rest-imDZZGQA.mjs";
3
3
  import { i as billingBlockedOutcomeFromSendResponse, n as BillingBlockedError } from "./billing-blocked-CwfG1BTR.mjs";
4
4
  import path from "node:path";
5
5
  import Conf from "conf";
@@ -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-BpAnESuq.mjs");
17
+ const { PortalClient } = await import("./client-D6apKmV0.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 { i as sendErrorMessage, n as createRestClient, r as errorDetail, t as HttpError } from "./rest-CG7VpQ56.mjs";
2
+ import { i as sendErrorMessage, n as createRestClient, r as errorDetail, t as HttpError } from "./rest-imDZZGQA.mjs";
3
3
  import "./billing-blocked-CwfG1BTR.mjs";
4
4
 
5
5
  export { createRestClient };
@@ -334,9 +334,6 @@ function createRestClient({ appUrl, sessionToken, workspaceId }) {
334
334
  setConversationArchived: async ({ conversationId, archived }) => {
335
335
  await post(`/api/v1/conversations/${encodeURIComponent(conversationId)}/archive`, { archived }, z.object({ archived: z.boolean() }));
336
336
  },
337
- renameConversation: async ({ conversationId, title }) => {
338
- await post(`/api/v1/conversations/${encodeURIComponent(conversationId)}`, { title }, z.object({ conversation: z.object({ id: z.string() }) }), "PATCH");
339
- },
340
337
  sendMessage: async ({ clientSurface, ...input }) => post("/api/v1/chat/send", {
341
338
  ...input,
342
339
  clientSurface
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skydive-cli",
3
- "version": "0.4.0-beta.979",
3
+ "version": "0.4.0",
4
4
  "description": "Skydive CLI — cloud agents from the command line",
5
5
  "homepage": "https://skydive.com",
6
6
  "license": "MIT",
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./rest-CG7VpQ56.mjs";
3
- import "./billing-blocked-CwfG1BTR.mjs";
4
- import { t as PortalClient } from "./client-DiaJZQG6.mjs";
5
-
6
- export { PortalClient };