skydive-cli 0.1.0-beta.199 → 0.1.0-beta.218

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
@@ -31,7 +31,7 @@ var __exportAll = (all, no_symbols) => {
31
31
 
32
32
  //#endregion
33
33
  //#region package.json
34
- var version$1 = "0.1.0-beta.199";
34
+ var version$1 = "0.1.0-beta.218";
35
35
 
36
36
  //#endregion
37
37
  //#region src/types.ts
@@ -2152,7 +2152,7 @@ const chatCommand = {
2152
2152
  printError(`Unknown theme "${themeId}". Valid themes: ${themes.map((t) => t.id).join(", ")}`);
2153
2153
  process.exit(1);
2154
2154
  }
2155
- const { runChat } = await import("./boot-DGdoNlG2.mjs");
2155
+ const { runChat } = await import("./boot-CIdJ5Als.mjs");
2156
2156
  await runChat({
2157
2157
  appUrl,
2158
2158
  sessionToken: session.value.sessionToken,
@@ -3330,7 +3330,7 @@ const switchCommand = {
3330
3330
  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.");
3331
3331
  process.exit(1);
3332
3332
  }
3333
- const { runWorkspacePicker } = await import("./boot-DGdoNlG2.mjs");
3333
+ const { runWorkspacePicker } = await import("./boot-CIdJ5Als.mjs");
3334
3334
  await runWorkspacePicker(session);
3335
3335
  return;
3336
3336
  }
@@ -3921,6 +3921,10 @@ const keybindGroups = [
3921
3921
  keys: "ctrl+c ctrl+c",
3922
3922
  action: "quit"
3923
3923
  },
3924
+ {
3925
+ keys: "exit",
3926
+ action: "quit (type it as a message)"
3927
+ },
3924
3928
  {
3925
3929
  keys: "ctrl+p",
3926
3930
  action: "switch model"
@@ -5036,6 +5040,7 @@ function routeInput(raw) {
5036
5040
  kind: "sandbox-exec",
5037
5041
  command: sandbox
5038
5042
  } : { kind: "sandbox-pty" };
5043
+ if (line.trim().toLowerCase() === "exit") return { kind: "quit" };
5039
5044
  return {
5040
5045
  kind: "message",
5041
5046
  content: raw
@@ -5850,6 +5855,15 @@ function ChatScreen({ agent, conversation }) {
5850
5855
  agent.id,
5851
5856
  renderer
5852
5857
  ]);
5858
+ const quit = useCallback(() => {
5859
+ portalClient?.dispose();
5860
+ agentHost.dispose();
5861
+ renderer.destroy();
5862
+ }, [
5863
+ portalClient,
5864
+ agentHost,
5865
+ renderer
5866
+ ]);
5853
5867
  const submit = useCallback(() => {
5854
5868
  const content = input.trim();
5855
5869
  const attachments = pending;
@@ -5863,6 +5877,7 @@ function ChatScreen({ agent, conversation }) {
5863
5877
  if (routed.kind === "local-shell") runLocalShell(routed.command);
5864
5878
  else if (routed.kind === "sandbox-exec") runSandboxExec(routed.command);
5865
5879
  else if (routed.kind === "sandbox-pty") runSandboxPty();
5880
+ else if (routed.kind === "quit") quit();
5866
5881
  return;
5867
5882
  }
5868
5883
  history.append(content);
@@ -5878,7 +5893,8 @@ function ChatScreen({ agent, conversation }) {
5878
5893
  history,
5879
5894
  runLocalShell,
5880
5895
  runSandboxExec,
5881
- runSandboxPty
5896
+ runSandboxPty,
5897
+ quit
5882
5898
  ]);
5883
5899
  const handleComposerChange = useCallback(() => {
5884
5900
  const composer = composerRef.current;
@@ -6165,9 +6181,7 @@ function ChatScreen({ agent, conversation }) {
6165
6181
  return;
6166
6182
  }
6167
6183
  if (ctrlCArmed) {
6168
- portalClient?.dispose();
6169
- agentHost.dispose();
6170
- renderer.destroy();
6184
+ quit();
6171
6185
  return;
6172
6186
  }
6173
6187
  setCtrlCArmed(true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skydive-cli",
3
- "version": "0.1.0-beta.199",
3
+ "version": "0.1.0-beta.218",
4
4
  "description": "Skydive CLI — manage AI agents from the command line",
5
5
  "homepage": "https://skydive.com",
6
6
  "license": "MIT",