@upstash/box-cli 0.1.14 → 0.1.17

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.
Files changed (36) hide show
  1. package/dist/agent-key.d.ts +3 -2
  2. package/dist/agent-key.d.ts.map +1 -1
  3. package/dist/agent-key.js +3 -2
  4. package/dist/agent-key.js.map +1 -1
  5. package/dist/repl/client.d.ts +16 -1
  6. package/dist/repl/client.d.ts.map +1 -1
  7. package/dist/repl/client.js +113 -41
  8. package/dist/repl/client.js.map +1 -1
  9. package/dist/repl/commands/agent.d.ts +7 -0
  10. package/dist/repl/commands/agent.d.ts.map +1 -0
  11. package/dist/repl/commands/agent.js +8 -0
  12. package/dist/repl/commands/agent.js.map +1 -0
  13. package/dist/repl/commands/cd.d.ts +7 -0
  14. package/dist/repl/commands/cd.d.ts.map +1 -0
  15. package/dist/repl/commands/cd.js +11 -0
  16. package/dist/repl/commands/cd.js.map +1 -0
  17. package/dist/repl/commands/files.js +2 -2
  18. package/dist/repl/commands/files.js.map +1 -1
  19. package/dist/repl/commands/git.d.ts +1 -1
  20. package/dist/repl/commands/git.d.ts.map +1 -1
  21. package/dist/repl/commands/git.js +46 -2
  22. package/dist/repl/commands/git.js.map +1 -1
  23. package/dist/repl/commands/shell.d.ts +7 -0
  24. package/dist/repl/commands/shell.d.ts.map +1 -0
  25. package/dist/repl/commands/shell.js +8 -0
  26. package/dist/repl/commands/shell.js.map +1 -0
  27. package/dist/repl/suggestions.d.ts +14 -0
  28. package/dist/repl/suggestions.d.ts.map +1 -0
  29. package/dist/repl/suggestions.js +61 -0
  30. package/dist/repl/suggestions.js.map +1 -0
  31. package/dist/repl/terminal.d.ts.map +1 -1
  32. package/dist/repl/terminal.js +27 -19
  33. package/dist/repl/terminal.js.map +1 -1
  34. package/dist/repl/types.d.ts +1 -4
  35. package/dist/repl/types.d.ts.map +1 -1
  36. package/package.json +2 -2
@@ -2,9 +2,10 @@ import { BoxApiKey } from "@upstash/box";
2
2
  /**
3
3
  * Resolve the --agent-api-key flag value to a BoxApiKey or direct key string.
4
4
  *
5
- * - undefined / true (flag present with no value) → BoxApiKey.UpstashKey
5
+ * - undefined undefined (server decides)
6
+ * - true (flag present with no value) → undefined (server decides)
6
7
  * - "stored" → BoxApiKey.StoredKey
7
8
  * - any other string → passed through as a direct API key
8
9
  */
9
- export declare function resolveAgentApiKey(flag?: string | true): BoxApiKey | string;
10
+ export declare function resolveAgentApiKey(flag?: string | true): BoxApiKey | string | undefined;
10
11
  //# sourceMappingURL=agent-key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-key.d.ts","sourceRoot":"","sources":["../src/agent-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAU3E"}
1
+ {"version":3,"file":"agent-key.d.ts","sourceRoot":"","sources":["../src/agent-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUvF"}
package/dist/agent-key.js CHANGED
@@ -2,13 +2,14 @@ import { BoxApiKey } from "@upstash/box";
2
2
  /**
3
3
  * Resolve the --agent-api-key flag value to a BoxApiKey or direct key string.
4
4
  *
5
- * - undefined / true (flag present with no value) → BoxApiKey.UpstashKey
5
+ * - undefined undefined (server decides)
6
+ * - true (flag present with no value) → undefined (server decides)
6
7
  * - "stored" → BoxApiKey.StoredKey
7
8
  * - any other string → passed through as a direct API key
8
9
  */
9
10
  export function resolveAgentApiKey(flag) {
10
11
  if (flag === undefined || flag === true) {
11
- return BoxApiKey.UpstashKey;
12
+ return undefined;
12
13
  }
13
14
  if (flag.toLowerCase() === "stored") {
14
15
  return BoxApiKey.StoredKey;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-key.js","sourceRoot":"","sources":["../src/agent-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"agent-key.js","sourceRoot":"","sources":["../src/agent-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -11,11 +11,26 @@ export interface BoxREPLClientOptions {
11
11
  export declare class BoxREPLClient {
12
12
  readonly box: Box;
13
13
  readonly hiddenCommands: ReadonlySet<BoxREPLCommandName>;
14
+ mode: "shell" | "agent";
15
+ private _suggestion;
14
16
  constructor(box: Box, options?: BoxREPLClientOptions);
17
+ /**
18
+ * The next suggested command (e.g. after a command completes).
19
+ * In the terminal, Tab accepts the ghost text; any other key dismisses it.
20
+ * Persists until the next call to handleInput replaces or clears it.
21
+ */
22
+ get suggestion(): string | null;
23
+ /** Label and display cwd for rendering prompts (CLI and UI). */
24
+ get promptInfo(): {
25
+ label: string;
26
+ cwd: string;
27
+ };
15
28
  /** Parse input and return the matching command + args, or null. */
16
29
  private getCommand;
17
- /** Return commands whose name starts with the given prefix, excluding hidden ones. */
30
+ /** Return commands whose name starts with the given prefix, excluding hidden ones and current mode. */
18
31
  suggestCommands(prefix: string): BoxREPLCommand[];
32
+ /** Execute a shell command in the box. */
33
+ private execShellCommand;
19
34
  /** Process a single line of input and yield events. */
20
35
  handleInput(input: string): AsyncGenerator<BoxREPLEvent>;
21
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/repl/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiCnF,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAA4B,kBAAkB,EAAE,CAAC;AAE3E,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAE7B,CAAC;AAsBxC,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBAE7C,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAKpD,mEAAmE;IACnE,OAAO,CAAC,UAAU;IAelB,sFAAsF;IACtF,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE;IAMjD,uDAAuD;IAChD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC;CA2DhE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/repl/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsCnF,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAA4B,kBAAkB,EAAE,CAAC;AAE3E,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAE7B,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACzD,IAAI,EAAE,OAAO,GAAG,OAAO,CAAW;IAClC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAKpD;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IAED,gEAAgE;IAChE,IAAI,UAAU,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAY/C;IAED,mEAAmE;IACnE,OAAO,CAAC,UAAU;IAelB,uGAAuG;IACvG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE;IAUjD,0CAA0C;YAC3B,gBAAgB;IAM/B,uDAAuD;IAChD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC;CAiHhE"}
@@ -1,6 +1,7 @@
1
1
  import { handleRun } from "./commands/run.js";
2
- import { handleCommand } from "./commands/command.js";
3
- import { handleCode } from "./commands/code.js";
2
+ import { handleCd } from "./commands/cd.js";
3
+ import { handleAgent } from "./commands/agent.js";
4
+ import { handleShell } from "./commands/shell.js";
4
5
  import { handleFiles } from "./commands/files.js";
5
6
  import { handleGit } from "./commands/git.js";
6
7
  import { handleSnapshot } from "./commands/snapshot.js";
@@ -8,17 +9,21 @@ import { handlePause } from "./commands/pause.js";
8
9
  import { handleDelete } from "./commands/delete.js";
9
10
  import { handleConsole } from "./commands/console.js";
10
11
  import { fuzzyMatch } from "../utils/fuzzy.js";
12
+ import { getNextSuggestion } from "./suggestions.js";
11
13
  // Dummy handler for commands intercepted in handleInput()
12
14
  async function* noop() { }
13
15
  const COMMANDS = {
14
- run: { description: "Run the agent with a prompt", handler: handleRun },
15
- command: { description: "Execute a shell command", handler: handleCommand },
16
- code: { description: "Execute inline code (js, ts, python)", handler: handleCode },
16
+ agent: { description: "Switch to agent mode", handler: handleAgent },
17
+ shell: { description: "Switch to shell mode", handler: handleShell },
18
+ cd: { description: "Change working directory", handler: handleCd },
17
19
  files: {
18
20
  description: "File operations (read, write, list, upload, download)",
19
21
  handler: handleFiles,
20
22
  },
21
- git: { description: "Git operations (clone, diff, create-pr)", handler: handleGit },
23
+ git: {
24
+ description: "Git operations (clone, diff, status, commit, push, create-pr, exec, checkout)",
25
+ handler: handleGit,
26
+ },
22
27
  snapshot: { description: "Create a snapshot of the current box", handler: handleSnapshot },
23
28
  pause: { description: "Pause the box and exit", handler: handlePause },
24
29
  delete: { description: "Delete the box and exit", handler: handleDelete },
@@ -31,32 +36,36 @@ const COMMANDS = {
31
36
  export const COMMAND_NAMES = Object.keys(COMMANDS);
32
37
  /** Command descriptions for completer/preview. */
33
38
  export const COMMAND_DESCRIPTIONS = Object.fromEntries(COMMAND_NAMES.map((name) => [name, COMMANDS[name].description]));
34
- /** Context-aware suggestion after a command completes. */
35
- function getNextCommandSuggestion(cmdName) {
36
- switch (cmdName) {
37
- case "command":
38
- return "/files list .";
39
- case "code":
40
- return "/files list .";
41
- case "run":
42
- return "/snapshot";
43
- case "files":
44
- return "/command ls";
45
- case "git":
46
- return "/snapshot";
47
- case "snapshot":
48
- return "/pause";
49
- default:
50
- return undefined;
51
- }
52
- }
53
39
  export class BoxREPLClient {
54
40
  box;
55
41
  hiddenCommands;
42
+ mode = "shell";
43
+ _suggestion = "ls";
56
44
  constructor(box, options) {
57
45
  this.box = box;
58
46
  this.hiddenCommands = new Set(options?.hiddenCommands ?? []);
59
47
  }
48
+ /**
49
+ * The next suggested command (e.g. after a command completes).
50
+ * In the terminal, Tab accepts the ghost text; any other key dismisses it.
51
+ * Persists until the next call to handleInput replaces or clears it.
52
+ */
53
+ get suggestion() {
54
+ return this._suggestion;
55
+ }
56
+ /** Label and display cwd for rendering prompts (CLI and UI). */
57
+ get promptInfo() {
58
+ const cwd = this.box.cwd;
59
+ const display = cwd === "/workspace/home"
60
+ ? "~"
61
+ : cwd.startsWith("/workspace/home/")
62
+ ? "~/" + cwd.slice("/workspace/home/".length)
63
+ : cwd;
64
+ return {
65
+ label: this.mode === "agent" ? "agent" : this.box.id,
66
+ cwd: display,
67
+ };
68
+ }
60
69
  /** Parse input and return the matching command + args, or null. */
61
70
  getCommand(input) {
62
71
  const trimmed = input.trim();
@@ -71,9 +80,19 @@ export class BoxREPLClient {
71
80
  return null;
72
81
  return { command: { name: cmdName, ...entry }, args };
73
82
  }
74
- /** Return commands whose name starts with the given prefix, excluding hidden ones. */
83
+ /** Return commands whose name starts with the given prefix, excluding hidden ones and current mode. */
75
84
  suggestCommands(prefix) {
76
- return COMMAND_NAMES.filter((name) => name.startsWith(prefix) && !this.hiddenCommands.has(name)).map((name) => ({ name, ...COMMANDS[name] }));
85
+ return COMMAND_NAMES.filter((name) => name.startsWith(prefix) &&
86
+ !this.hiddenCommands.has(name) &&
87
+ !(name === "shell" && this.mode === "shell") &&
88
+ !(name === "agent" && this.mode === "agent")).map((name) => ({ name, ...COMMANDS[name] }));
89
+ }
90
+ /** Execute a shell command in the box. */
91
+ async *execShellCommand(command) {
92
+ const run = await this.box.exec.command(command);
93
+ const result = run.result;
94
+ if (result)
95
+ yield { type: "log", message: result };
77
96
  }
78
97
  /** Process a single line of input and yield events. */
79
98
  async *handleInput(input) {
@@ -84,7 +103,7 @@ export class BoxREPLClient {
84
103
  yield { type: "exit", message: "Goodbye." };
85
104
  return;
86
105
  }
87
- if (trimmed === "/clear") {
106
+ if (trimmed === "/clear" || trimmed === "clear") {
88
107
  yield { type: "clear" };
89
108
  return;
90
109
  }
@@ -99,15 +118,24 @@ export class BoxREPLClient {
99
118
  const parsed = this.getCommand(trimmed);
100
119
  if (parsed) {
101
120
  const { command, args } = parsed;
121
+ // Toggle mode before running the handler
122
+ if (command.name === "agent") {
123
+ this.mode = "agent";
124
+ this._suggestion = getNextSuggestion({ kind: "agent", initial: true });
125
+ }
126
+ else if (command.name === "shell") {
127
+ this.mode = "shell";
128
+ this._suggestion = getNextSuggestion({ kind: "shell", input: "ls" });
129
+ }
130
+ else {
131
+ this._suggestion = getNextSuggestion({ kind: "command", command: command.name });
132
+ }
102
133
  yield { type: "command:start", command: command.name, args };
103
134
  const start = Date.now();
104
135
  try {
105
136
  yield* command.handler(this.box, args);
106
137
  const durationMs = Date.now() - start;
107
138
  yield { type: "command:complete", command: command.name, durationMs };
108
- const suggestion = getNextCommandSuggestion(command.name);
109
- if (suggestion)
110
- yield { type: "suggestion", text: suggestion };
111
139
  }
112
140
  catch (err) {
113
141
  yield { type: "error", message: `Error: ${err instanceof Error ? err.message : err}` };
@@ -122,17 +150,61 @@ export class BoxREPLClient {
122
150
  }
123
151
  }
124
152
  else {
125
- // No / prefix — treat as agent prompt
126
- yield { type: "command:start", command: "run", args: trimmed };
127
- const start = Date.now();
128
- try {
129
- yield* handleRun(this.box, trimmed);
130
- const durationMs = Date.now() - start;
131
- yield { type: "command:complete", command: "run", durationMs };
132
- yield { type: "suggestion", text: "/snapshot" };
153
+ // No / prefix — behavior depends on current mode
154
+ // Intercept bare `cd <path>` (single arg) as /cd
155
+ if (trimmed.startsWith("cd ") || trimmed === "cd") {
156
+ const afterCd = trimmed.slice(2).trim();
157
+ // Single argument (no spaces, no &&, no ;, no |) → treat as /cd
158
+ if (afterCd && !afterCd.includes(" ") && !/[;&|]/.test(afterCd)) {
159
+ yield { type: "command:start", command: "cd", args: afterCd };
160
+ const start = Date.now();
161
+ try {
162
+ yield* handleCd(this.box, afterCd);
163
+ const durationMs = Date.now() - start;
164
+ yield { type: "command:complete", command: "cd", durationMs };
165
+ }
166
+ catch (err) {
167
+ yield {
168
+ type: "error",
169
+ message: `Error: ${err instanceof Error ? err.message : err}`,
170
+ };
171
+ }
172
+ return;
173
+ }
174
+ }
175
+ if (this.mode === "shell") {
176
+ this._suggestion = getNextSuggestion({ kind: "shell", input: trimmed });
177
+ yield { type: "command:start", command: "shell", args: trimmed };
178
+ const start = Date.now();
179
+ try {
180
+ yield* this.execShellCommand(trimmed);
181
+ const durationMs = Date.now() - start;
182
+ yield { type: "command:complete", command: "shell", durationMs };
183
+ // Warn if input contained cd with extra args (multi-arg cd)
184
+ if (trimmed.startsWith("cd ")) {
185
+ yield {
186
+ type: "log",
187
+ message: "Tip: use just 'cd <path>' to change the working directory",
188
+ };
189
+ }
190
+ }
191
+ catch (err) {
192
+ yield { type: "error", message: `Error: ${err instanceof Error ? err.message : err}` };
193
+ }
133
194
  }
134
- catch (err) {
135
- yield { type: "error", message: `Error: ${err instanceof Error ? err.message : err}` };
195
+ else {
196
+ // Agent mode
197
+ this._suggestion = getNextSuggestion({ kind: "agent", initial: false });
198
+ yield { type: "command:start", command: "agent", args: trimmed };
199
+ const start = Date.now();
200
+ try {
201
+ yield* handleRun(this.box, trimmed);
202
+ const durationMs = Date.now() - start;
203
+ yield { type: "command:complete", command: "agent", durationMs };
204
+ }
205
+ catch (err) {
206
+ yield { type: "error", message: `Error: ${err instanceof Error ? err.message : err}` };
207
+ }
136
208
  }
137
209
  }
138
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/repl/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/repl/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BoxREPLEvent } from "../types.js";
2
+ /**
3
+ * Handler for /agent — confirmation message only.
4
+ * Mode toggle is performed by handleInput() in client.ts.
5
+ */
6
+ export declare function handleAgent(_box: unknown, _args: string): AsyncGenerator<BoxREPLEvent>;
7
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAuB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAE7F"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Handler for /agent — confirmation message only.
3
+ * Mode toggle is performed by handleInput() in client.ts.
4
+ */
5
+ export async function* handleAgent(_box, _args) {
6
+ yield { type: "log", message: "Switched to agent mode" };
7
+ }
8
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/repl/commands/agent.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,IAAa,EAAE,KAAa;IAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Box } from "@upstash/box";
2
+ import type { BoxREPLEvent } from "../types.js";
3
+ /**
4
+ * Change the in-memory working directory.
5
+ */
6
+ export declare function handleCd(box: Box, args: string): AsyncGenerator<BoxREPLEvent>;
7
+ //# sourceMappingURL=cd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cd.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/cd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,wBAAuB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAMpF"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Change the in-memory working directory.
3
+ */
4
+ export async function* handleCd(box, args) {
5
+ const path = args.trim();
6
+ if (!path) {
7
+ return;
8
+ }
9
+ await box.cd(path);
10
+ }
11
+ //# sourceMappingURL=cd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cd.js","sourceRoot":"","sources":["../../../src/repl/commands/cd.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAQ,EAAE,IAAY;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
@@ -47,8 +47,8 @@ export async function* handleFiles(box, args) {
47
47
  break;
48
48
  }
49
49
  case "download": {
50
- const path = parts[1];
51
- await box.files.download(path ? { path } : undefined);
50
+ const folder = parts[1];
51
+ await box.files.download(folder ? { folder } : undefined);
52
52
  yield { type: "log", message: "Downloaded." };
53
53
  break;
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/repl/commands/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/repl/commands/files.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Box } from "@upstash/box";
2
2
  import type { BoxREPLEvent } from "../types.js";
3
3
  /**
4
- * Handle git subcommands: clone, diff, create-pr.
4
+ * Handle git subcommands: clone, diff, status, commit, push, create-pr, exec, checkout.
5
5
  */
6
6
  export declare function handleGit(box: Box, args: string): AsyncGenerator<BoxREPLEvent>;
7
7
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,wBAAuB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAkCrF"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,wBAAuB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CA8ErF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Handle git subcommands: clone, diff, create-pr.
2
+ * Handle git subcommands: clone, diff, status, commit, push, create-pr, exec, checkout.
3
3
  */
4
4
  export async function* handleGit(box, args) {
5
5
  const parts = args.split(/\s+/);
@@ -21,6 +21,27 @@ export async function* handleGit(box, args) {
21
21
  yield { type: "log", message: diff || "(no changes)" };
22
22
  break;
23
23
  }
24
+ case "status": {
25
+ const status = await box.git.status();
26
+ yield { type: "log", message: status || "(clean)" };
27
+ break;
28
+ }
29
+ case "commit": {
30
+ const message = parts.slice(1).join(" ");
31
+ if (!message) {
32
+ yield { type: "log", message: "Usage: git commit <message>" };
33
+ return;
34
+ }
35
+ const result = await box.git.commit({ message });
36
+ yield { type: "log", message: `Committed ${result.sha}: ${result.message}` };
37
+ break;
38
+ }
39
+ case "push": {
40
+ const branch = parts[1];
41
+ await box.git.push(branch ? { branch } : undefined);
42
+ yield { type: "log", message: branch ? `Pushed to ${branch}` : "Pushed" };
43
+ break;
44
+ }
24
45
  case "create-pr": {
25
46
  const title = parts.slice(1).join(" ");
26
47
  if (!title) {
@@ -31,8 +52,31 @@ export async function* handleGit(box, args) {
31
52
  yield { type: "log", message: `PR #${pr.number}: ${pr.url}` };
32
53
  break;
33
54
  }
55
+ case "exec": {
56
+ const execArgs = parts.slice(1);
57
+ if (execArgs.length === 0) {
58
+ yield { type: "log", message: "Usage: git exec <args...>" };
59
+ return;
60
+ }
61
+ const result = await box.git.exec({ args: execArgs });
62
+ yield { type: "log", message: result.output || "(no output)" };
63
+ break;
64
+ }
65
+ case "checkout": {
66
+ const branch = parts[1];
67
+ if (!branch) {
68
+ yield { type: "log", message: "Usage: git checkout <branch>" };
69
+ return;
70
+ }
71
+ await box.git.checkout({ branch });
72
+ yield { type: "log", message: `Switched to branch ${branch}` };
73
+ break;
74
+ }
34
75
  default:
35
- yield { type: "log", message: "Usage: git <clone|diff|create-pr> [args...]" };
76
+ yield {
77
+ type: "log",
78
+ message: "Usage: git <clone|diff|status|commit|push|create-pr|exec|checkout> [args...]",
79
+ };
36
80
  }
37
81
  }
38
82
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/repl/commands/git.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,GAAQ,EAAE,IAAY;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAErB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;gBACnE,OAAO;YACT,CAAC;YACD,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;YACjD,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,CAAC;YACvD,MAAM;QACR,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9D,MAAM;QACR,CAAC;QACD;YACE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;IAClF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/repl/commands/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BoxREPLEvent } from "../types.js";
2
+ /**
3
+ * Handler for /shell — confirmation message only.
4
+ * Mode toggle is performed by handleInput() in client.ts.
5
+ */
6
+ export declare function handleShell(_box: unknown, _args: string): AsyncGenerator<BoxREPLEvent>;
7
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAuB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAE7F"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Handler for /shell — confirmation message only.
3
+ * Mode toggle is performed by handleInput() in client.ts.
4
+ */
5
+ export async function* handleShell(_box, _args) {
6
+ yield { type: "log", message: "Switched to shell mode" };
7
+ }
8
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/repl/commands/shell.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,IAAa,EAAE,KAAa;IAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { BoxREPLCommandName } from "./types.js";
2
+ export type SuggestionContext = {
3
+ kind: "command";
4
+ command: BoxREPLCommandName;
5
+ } | {
6
+ kind: "agent";
7
+ initial: boolean;
8
+ } | {
9
+ kind: "shell";
10
+ input: string;
11
+ };
12
+ /** Context-aware suggestion after a command or input completes. */
13
+ export declare function getNextSuggestion(ctx: SuggestionContext): string;
14
+ //# sourceMappingURL=suggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.d.ts","sourceRoot":"","sources":["../../src/repl/suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAiDrC,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAgBhE"}
@@ -0,0 +1,61 @@
1
+ /** Predefined follow-up suggestions for slash commands. */
2
+ const COMMAND_SUGGESTIONS = {
3
+ files: ["ls", "cat README.md", "/git status"],
4
+ git: ["/snapshot", "/files list .", "ls"],
5
+ snapshot: ["/pause", "/console", "/git status"],
6
+ cd: ["ls", "pwd", "tree"],
7
+ console: ["/snapshot", "/git status"],
8
+ pause: ["/delete"],
9
+ };
10
+ /** Predefined follow-up suggestions for shell commands (matched by first token). */
11
+ const SHELL_SUGGESTIONS = {
12
+ ls: ["cat README.md", "pwd", "/files list ."],
13
+ cat: ["ls", "/git diff", "pwd"],
14
+ pwd: ["ls", "cd ..", "tree"],
15
+ mkdir: ["ls", "cd"],
16
+ touch: ["ls", "cat"],
17
+ rm: ["ls", "pwd"],
18
+ mv: ["ls", "pwd"],
19
+ cp: ["ls", "pwd"],
20
+ echo: ["ls", "cat"],
21
+ tree: ["cd", "ls", "/files list ."],
22
+ npm: ["ls", "/git status", "/snapshot"],
23
+ node: ["ls", "/git status"],
24
+ python: ["ls", "/git status"],
25
+ pip: ["ls", "python"],
26
+ git: ["/git status", "/snapshot", "ls"],
27
+ curl: ["ls", "cat"],
28
+ wget: ["ls", "cat"],
29
+ };
30
+ /** Fallback shell suggestions when no specific match exists. */
31
+ const DEFAULT_SHELL_SUGGESTIONS = ["ls", "pwd", "/help", "/git status", "/files list ."];
32
+ /** Fallback agent suggestions. */
33
+ const DEFAULT_AGENT_SUGGESTIONS = ["commit this change", "explain the changes", "/snapshot"];
34
+ const INITIAL_AGENT_SUGGESTIONS = [
35
+ "explain this directory",
36
+ "what files are here?",
37
+ "summarize this project",
38
+ ];
39
+ function pickRandom(arr) {
40
+ return arr[Math.floor(Math.random() * arr.length)];
41
+ }
42
+ /** Context-aware suggestion after a command or input completes. */
43
+ export function getNextSuggestion(ctx) {
44
+ switch (ctx.kind) {
45
+ case "command": {
46
+ const pool = COMMAND_SUGGESTIONS[ctx.command];
47
+ return pool ? pickRandom(pool) : pickRandom(DEFAULT_SHELL_SUGGESTIONS);
48
+ }
49
+ case "agent": {
50
+ if (ctx.initial)
51
+ return pickRandom(INITIAL_AGENT_SUGGESTIONS);
52
+ return pickRandom(DEFAULT_AGENT_SUGGESTIONS);
53
+ }
54
+ case "shell": {
55
+ const firstToken = ctx.input.split(/\s+/)[0];
56
+ const pool = SHELL_SUGGESTIONS[firstToken];
57
+ return pool ? pickRandom(pool) : pickRandom(DEFAULT_SHELL_SUGGESTIONS);
58
+ }
59
+ }
60
+ }
61
+ //# sourceMappingURL=suggestions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../../src/repl/suggestions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/repl/terminal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAcvE;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2TvF"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/repl/terminal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAevE;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkUvF"}
@@ -3,7 +3,7 @@ import { createInterface } from "node:readline/promises";
3
3
  import { stdin, stdout } from "node:process";
4
4
  import { BoxREPLClient } from "./client.js";
5
5
  import { startSpinner } from "./spinner.js";
6
- import { bold, cyan, dim, green, red, yellow, cursorUp, eraseDown, stripAnsi, } from "../utils/ansi.js";
6
+ import { bold, cyan, dim, gray, green, red, yellow, cursorUp, eraseDown, stripAnsi, } from "../utils/ansi.js";
7
7
  /**
8
8
  * Start an interactive REPL session for the given box (CLI entry point).
9
9
  */
@@ -13,8 +13,12 @@ export async function startRepl(box, options) {
13
13
  output: stdout,
14
14
  completer: () => [[], ""],
15
15
  });
16
- const prompt = `${bold(cyan(box.id))}${dim(">")} `;
16
+ const getPrompt = () => {
17
+ const { label, cwd } = client.promptInfo;
18
+ return `${bold(cyan(label))}${dim(":")}${gray(cwd)}${dim(">")} `;
19
+ };
17
20
  const client = new BoxREPLClient(box, options);
21
+ let currentPrompt = getPrompt();
18
22
  // --- Spinner tracking ---
19
23
  let activeSpinnerStop = null;
20
24
  let inCommand = false;
@@ -41,7 +45,7 @@ export async function startRepl(box, options) {
41
45
  }
42
46
  // --- Command preview while typing ---
43
47
  let previewLines = 0;
44
- const promptVisualLen = stripAnsi(prompt).length;
48
+ let promptVisualLen = stripAnsi(currentPrompt).length;
45
49
  function restoreCursorColumn() {
46
50
  const cursor = rl.cursor ?? 0;
47
51
  const col = promptVisualLen + cursor;
@@ -58,7 +62,6 @@ export async function startRepl(box, options) {
58
62
  }
59
63
  }
60
64
  // --- Ghost suggestion in input ---
61
- let nextSuggestion = "/command ls";
62
65
  let ghostText = null;
63
66
  function showGhost(text) {
64
67
  ghostText = text;
@@ -102,12 +105,18 @@ export async function startRepl(box, options) {
102
105
  const partial = line.slice(1);
103
106
  const matches = client.suggestCommands(partial).slice(0, 5);
104
107
  if (matches.length > 0) {
108
+ const termWidth = stdout.columns || 80;
109
+ let visualRows = 0;
105
110
  const preview = matches
106
- .map((c) => ` ${dim(`/${c.name}`)} ${dim("—")} ${dim(c.description)}`)
111
+ .map((c) => {
112
+ const plain = ` /${c.name} — ${c.description}`;
113
+ visualRows += Math.ceil(plain.length / termWidth) || 1;
114
+ return ` ${dim(`/${c.name}`)} ${dim("—")} ${dim(c.description)}`;
115
+ })
107
116
  .join("\n");
108
- stdout.write("\n" + preview + cursorUp(matches.length));
117
+ stdout.write("\n" + preview + cursorUp(visualRows));
109
118
  restoreCursorColumn();
110
- previewLines = matches.length;
119
+ previewLines = visualRows;
111
120
  }
112
121
  }
113
122
  });
@@ -197,9 +206,6 @@ export async function startRepl(box, options) {
197
206
  console.log(dim(`\n /${event.command} completed in ${seconds}s\n`));
198
207
  break;
199
208
  }
200
- case "suggestion":
201
- nextSuggestion = event.text;
202
- break;
203
209
  case "command:not-found":
204
210
  ensureNewline();
205
211
  console.error(yellow(`\nUnknown command: /${event.typed}`));
@@ -227,18 +233,23 @@ export async function startRepl(box, options) {
227
233
  // --- Welcome message ---
228
234
  const allCommands = client.suggestCommands("");
229
235
  console.log(`\nConnected to box ${box.id}`);
230
- console.log(`Type a prompt to run the agent, or use commands: ${allCommands.map((c) => `/${c.name}`).join(", ")}\n`);
236
+ console.log(`Type a command to run in the box, or use: ${allCommands.map((c) => `/${c.name}`).join(", ")}\n`);
231
237
  // --- Main REPL loop ---
232
- const continuationPrompt = " ".repeat(promptVisualLen);
233
238
  try {
234
239
  while (true) {
235
240
  clearPreview();
236
- const suggestion = nextSuggestion;
237
- nextSuggestion = null;
241
+ currentPrompt = getPrompt();
242
+ promptVisualLen = stripAnsi(currentPrompt).length;
243
+ const continuationPrompt = " ".repeat(promptVisualLen);
238
244
  // Collect input (supports multi-line via alt+enter / shift+enter)
239
245
  const inputLines = [];
240
246
  isMetaReturn = false;
241
- const firstLine = await rl.question(prompt);
247
+ // Show ghost suggestion from previous command once the prompt renders
248
+ const suggestion = client.suggestion;
249
+ if (suggestion && stdin.isTTY) {
250
+ setImmediate(() => showGhost(suggestion));
251
+ }
252
+ const firstLine = await rl.question(currentPrompt);
242
253
  inputLines.push(firstLine);
243
254
  if (isMetaReturn && stdin.isTTY) {
244
255
  while (true) {
@@ -260,13 +271,10 @@ export async function startRepl(box, options) {
260
271
  }
261
272
  stdout.write(cursorUp(totalVisualRows) + "\r" + eraseDown);
262
273
  for (let i = 0; i < inputLines.length; i++) {
263
- const p = i === 0 ? prompt : continuationPrompt;
274
+ const p = i === 0 ? currentPrompt : continuationPrompt;
264
275
  stdout.write(p + green(inputLines[i]) + "\n");
265
276
  }
266
277
  }
267
- if (suggestion && stdin.isTTY) {
268
- setImmediate(() => showGhost(suggestion));
269
- }
270
278
  let shouldExit = false;
271
279
  try {
272
280
  for await (const event of client.handleInput(answer)) {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/repl/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,KAAK,EACL,GAAG,EACH,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAQ,EAAE,OAA8B;IACtE,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE/C,2BAA2B;IAC3B,IAAI,iBAAiB,GAAwB,IAAI,CAAC;IAClD,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,kCAAkC;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,kCAAkC;IAClC,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,SAAS,oBAAoB;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,SAAS,aAAa;QACpB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,GAAG,YAAY,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAEjD,SAAS,mBAAmB;QAC1B,MAAM,MAAM,GAAI,EAAoC,CAAC,MAAM,IAAI,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,eAAe,GAAG,MAAM,CAAC;QACrC,qDAAqD;QACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,+DAA+D;YAC/D,iEAAiE;YACjE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,mBAAmB,EAAE,CAAC;YACtB,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,cAAc,GAAkB,aAAa,CAAC;IAClD,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,SAAS,SAAS,CAAC,IAAY;QAC7B,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,oCAAoC;IACpC,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,8EAA8E;QAC9E,KAAK,CAAC,eAAe,CACnB,UAAU,EACV,CAAC,IAAY,EAAE,GAAuD,EAAE,EAAE;YACxE,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,YAAY,EAAE,CAAC;gBACf,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBAC1B,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAY,EAAE,GAAsB,EAAE,EAAE;YAC5D,0DAA0D;YAC1D,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,SAAS,CAAC;oBACvB,SAAS,GAAG,IAAI,CAAC;oBACjB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC;gBACjB,yCAAyC;gBACzC,YAAY,CAAC,GAAG,EAAE;oBAChB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACvB,mBAAmB,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC;YAED,4DAA4D;YAC5D,YAAY,CAAC,GAAG,EAAE;gBAChB,MAAM,IAAI,GAAI,EAAkC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC5D,YAAY,EAAE,CAAC;gBAEf,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,OAAO,GAAG,OAAO;6BACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;6BACtE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;wBACxD,mBAAmB,EAAE,CAAC;wBACtB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,SAAS,YAAY,CAAC,KAAmB;QACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,eAAe;gBAClB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnB,iBAAiB,GAAG,YAAY,EAAE,CAAC;gBACnC,MAAM;YACR,KAAK,KAAK;gBACR,oBAAoB,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS,GAAG,CAAC,CAAC;gBACd,yBAAyB,EAAE,CAAC;gBAC5B,MAAM;YACR,KAAK,OAAO;gBACV,oBAAoB,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS,GAAG,CAAC,CAAC;gBACd,yBAAyB,EAAE,CAAC;gBAC5B,MAAM;YACR,KAAK,QAAQ;gBACX,oBAAoB,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1C,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,oBAAoB,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC7C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;oBAC5D,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,IAAI,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC;oBACrC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS,GAAG,CAAC,CAAC;gBACd,yBAAyB,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,oBAAoB,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC;gBAChB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;gBAChD,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;gBACpC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,wBAAwB;gBAC5D,YAAY,GAAG,KAAK,CAAC;gBACrB,yBAAyB,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,SAAS,GAAG,KAAK,CAAC;gBAClB,oBAAoB,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC;gBAChB,SAAS,GAAG,CAAC,CAAC;gBACd,YAAY,GAAG,KAAK,CAAC;gBACrB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,OAAO,iBAAiB,OAAO,KAAK,CAAC,CAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YACD,KAAK,YAAY;gBACf,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,mBAAmB;gBACtB,aAAa,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,iBAAiB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAC/E,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC3B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;wBAC5B,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,UAAU,CAAC;gBACnB,IAAI,CAAC,GAAG,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YACD,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAA0B;IAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CACT,oDAAoD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACxG,CAAC;IAEF,yBAAyB;IACzB,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,cAAc,CAAC;YAClC,cAAc,GAAG,IAAI,CAAC;YAEtB,kEAAkE;YAClE,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,YAAY,GAAG,KAAK,CAAC;YAErB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3B,IAAI,YAAY,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,IAAI,EAAE,CAAC;oBACZ,YAAY,GAAG,KAAK,CAAC;oBACrB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;oBACvD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1B,IAAI,CAAC,YAAY;wBAAE,MAAM;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErC,mCAAmC;YACnC,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBACvC,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,UAAU,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;oBACjD,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;gBAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBAChD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxB,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,mEAAmE;YACnE,yEAAyE;YACzE,SAAS,GAAG,KAAK,CAAC;YAClB,oBAAoB,EAAE,CAAC;YAEvB,IAAI,UAAU;gBAAE,MAAM;QACxB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,EAAE,CAAC;QACf,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/repl/terminal.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Box } from "@upstash/box";
2
- export type BoxREPLCommandName = "run" | "command" | "code" | "files" | "git" | "snapshot" | "pause" | "delete" | "console" | "clear" | "help" | "exit";
2
+ export type BoxREPLCommandName = "agent" | "shell" | "cd" | "files" | "git" | "snapshot" | "pause" | "delete" | "console" | "clear" | "help" | "exit";
3
3
  /** Known tool names from the agent stream */
4
4
  export type AgentToolName = "Bash" | "Read" | "Edit" | "Write" | "Grep" | "Glob" | "TodoWrite" | "EnterPlanMode";
5
5
  /** A single todo item from a TodoWrite tool call */
@@ -44,9 +44,6 @@ export type BoxREPLEvent = {
44
44
  type: "command:not-found";
45
45
  typed: string;
46
46
  suggestions: BoxREPLCommandName[];
47
- } | {
48
- type: "suggestion";
49
- text: string;
50
47
  } | {
51
48
  type: "clear";
52
49
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/repl/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAC1B,KAAK,GACL,SAAS,GACT,MAAM,GACN,OAAO,GACP,KAAK,GACL,UAAU,GACV,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,WAAW,GACX,eAAe,CAAC;AAEpB,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,IAAI,EAAE,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC;AAE7F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,qBAAqB,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/repl/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,OAAO,GACP,IAAI,GACJ,OAAO,GACP,KAAK,GACL,UAAU,GACV,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,WAAW,GACX,eAAe,CAAC;AAEpB,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,IAAI,EAAE,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC;AAE7F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,qBAAqB,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@upstash/box-cli",
3
- "version": "0.1.14",
3
+ "version": "0.1.17",
4
4
  "description": "CLI for Upstash Box — REPL-first interface for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "commander": "^13.0.0",
27
27
  "dotenv": "^17.3.1",
28
- "@upstash/box": "0.1.11"
28
+ "@upstash/box": "0.1.13"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^20.10.0",