skydive-cli 0.2.0-beta.713 → 0.2.0-beta.741

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,5 +1,5 @@
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-DqRwUu-M.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-CVVefO8_.mjs";
3
3
  import { A as resolveAppUrl, C as getPromptHistoryPath, D as getStoredApiKeyId, E as getShareMachineDefault, F as saveConfig, I as saveSession, M as resolveManagementAuth, N as resolveSession, O as getStoredApiKeyWorkspaceName, R as setLastSeenVersion, S as getLastSeenVersion, _ as API_KEY_PREFIX, b as deleteConfig, g as API_KEY_FAMILY_PREFIX, h as API_KEYS_URL, i as resolveAgent, j as resolveConfig, k as getUpdateCheckDisabled, v as DEFAULT_API_URL, x as getConfigPath } from "./print-Cd-bVSEJ.mjs";
4
4
  import { n as printError, r as printTable, t as output } from "./output-DYzzdXYV.mjs";
5
5
  import { n as createRestClient, t as HttpError } from "./rest-BlN_uWmL.mjs";
@@ -1500,7 +1500,7 @@ const importCommand = {
1500
1500
  process.exit(1);
1501
1501
  }
1502
1502
  }
1503
- const { runChat } = await import("./boot-CjKGwVjP.mjs");
1503
+ const { runChat } = await import("./boot-B971VDnw.mjs");
1504
1504
  await runChat({
1505
1505
  appUrl,
1506
1506
  sessionToken: session.value.sessionToken,
@@ -1912,7 +1912,7 @@ const chatCommand = {
1912
1912
  sessionToken: session.value.sessionToken,
1913
1913
  agentSelector: argv.agent ?? null
1914
1914
  });
1915
- const { runChat } = await import("./boot-CjKGwVjP.mjs");
1915
+ const { runChat } = await import("./boot-B971VDnw.mjs");
1916
1916
  await runChat({
1917
1917
  appUrl,
1918
1918
  sessionToken: session.value.sessionToken,
@@ -2254,7 +2254,7 @@ const switchCommand = {
2254
2254
  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.");
2255
2255
  process.exit(1);
2256
2256
  }
2257
- const { runWorkspacePicker } = await import("./boot-CjKGwVjP.mjs");
2257
+ const { runWorkspacePicker } = await import("./boot-B971VDnw.mjs");
2258
2258
  await runWorkspacePicker(session);
2259
2259
  return;
2260
2260
  }
@@ -1,5 +1,5 @@
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-DqRwUu-M.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-CVVefO8_.mjs";
3
3
  import { L as saveTheme, P as resolveWebUrl, T as getSavedTheme, 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, w as getReviewStateDir, x as getConfigPath, y as DEFAULT_APP_URL } from "./print-Cd-bVSEJ.mjs";
4
4
  import { a as errorMessage, i as sendErrorMessage, n as createRestClient, o as isRecord, r as errorDetail, t as HttpError } from "./rest-BlN_uWmL.mjs";
5
5
  import { t as PortalClient } from "./client-Dc7GZ3PG.mjs";
@@ -6038,6 +6038,13 @@ const slashCommands = [
6038
6038
  description: "start a new conversation with this agent",
6039
6039
  action: { kind: "new-conversation" }
6040
6040
  },
6041
+ {
6042
+ name: "fork",
6043
+ aliases: [],
6044
+ argsHint: null,
6045
+ description: "fork this conversation into a new one (full copy)",
6046
+ action: { kind: "fork" }
6047
+ },
6041
6048
  {
6042
6049
  name: "archive",
6043
6050
  aliases: [],
@@ -9186,6 +9193,7 @@ function routeInput(raw) {
9186
9193
  };
9187
9194
  }
9188
9195
  case "new-conversation":
9196
+ case "fork":
9189
9197
  case "archive-conversation":
9190
9198
  case "model-picker":
9191
9199
  case "theme-picker":
@@ -10300,10 +10308,9 @@ function ChatScreen({ agent, conversation }) {
10300
10308
  if (!rest || !conversationId || forkingRef.current) return;
10301
10309
  forkingRef.current = true;
10302
10310
  setForking(true);
10303
- const stillHere = () => {
10304
- const screen = useStore.getState().screen;
10305
- return screen.kind === "chat" && !isNewConversation(screen.conversation) && screen.conversation.id === conversationId;
10306
- };
10311
+ useStore.getState().showToast({ message: "forking into a new chat…" });
10312
+ const screenAtFork = useStore.getState().screen;
10313
+ const stillHere = () => useStore.getState().screen === screenAtFork;
10307
10314
  rest.forkConversation({ conversationId }).then((forked) => {
10308
10315
  if (!stillHere()) return;
10309
10316
  goTo({
@@ -10314,6 +10321,10 @@ function ChatScreen({ agent, conversation }) {
10314
10321
  forked
10315
10322
  })
10316
10323
  });
10324
+ useStore.getState().showToast({
10325
+ variant: "success",
10326
+ message: "Forked conversation"
10327
+ });
10317
10328
  }).catch((err) => {
10318
10329
  forkingRef.current = false;
10319
10330
  setForking(false);
@@ -10506,6 +10517,10 @@ function ChatScreen({ agent, conversation }) {
10506
10517
  ]);
10507
10518
  const executeLine = useCallback((content, staged) => {
10508
10519
  if (!content && staged.length === 0) return;
10520
+ if (forkingRef.current) {
10521
+ useStore.getState().showToast({ message: "forking… hang on" });
10522
+ return;
10523
+ }
10509
10524
  const routed = routeInput(content);
10510
10525
  if (routed.kind !== "message") {
10511
10526
  history.append(content);
@@ -10540,6 +10555,17 @@ function ChatScreen({ agent, conversation }) {
10540
10555
  }
10541
10556
  });
10542
10557
  break;
10558
+ case "fork":
10559
+ if (runRef.current.kind !== "idle") {
10560
+ useStore.getState().showToast({ message: "finish or cancel the run first (ctrl+c)" });
10561
+ break;
10562
+ }
10563
+ if (!conversationId) {
10564
+ useStore.getState().showToast({ message: "nothing to fork yet — send a message first" });
10565
+ break;
10566
+ }
10567
+ forkAndContinue();
10568
+ break;
10543
10569
  case "conversation-picker":
10544
10570
  leaveForScreen({
10545
10571
  kind: "conversation-picker",
@@ -10627,6 +10653,7 @@ function ChatScreen({ agent, conversation }) {
10627
10653
  runSandboxExec,
10628
10654
  runSandboxPty,
10629
10655
  archiveConversation,
10656
+ forkAndContinue,
10630
10657
  leaveForScreen,
10631
10658
  openConversationRef,
10632
10659
  toggleShare,
@@ -11208,7 +11235,7 @@ function ChatScreen({ agent, conversation }) {
11208
11235
  },
11209
11236
  children: /* @__PURE__ */ jsx("textarea", {
11210
11237
  ref: composerRef,
11211
- placeholder: `message ${agent.name}…`,
11238
+ placeholder: forking ? "forking into a new chat…" : `message ${agent.name}…`,
11212
11239
  keyBindings: composerKeyBindings,
11213
11240
  onContentChange: handleComposerChange,
11214
11241
  onSubmit: submit,
@@ -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.2.0-beta.713";
11
+ var version$1 = "0.2.0-beta.741";
12
12
 
13
13
  //#endregion
14
14
  //#region src/auth/organization.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skydive-cli",
3
- "version": "0.2.0-beta.713",
3
+ "version": "0.2.0-beta.741",
4
4
  "description": "Skydive CLI — cloud agents from the command line",
5
5
  "homepage": "https://skydive.com",
6
6
  "license": "MIT",