@chucky.cloud/cli 0.2.8 → 0.2.9

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 (78) hide show
  1. package/dist/commands/apply.d.ts +7 -0
  2. package/dist/commands/apply.d.ts.map +1 -0
  3. package/dist/commands/apply.js +104 -0
  4. package/dist/commands/apply.js.map +1 -0
  5. package/dist/commands/config.d.ts.map +1 -1
  6. package/dist/commands/config.js +5 -1
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/delete.js +3 -3
  9. package/dist/commands/delete.js.map +1 -1
  10. package/dist/commands/deploy.d.ts +6 -2
  11. package/dist/commands/deploy.d.ts.map +1 -1
  12. package/dist/commands/deploy.js +177 -33
  13. package/dist/commands/deploy.js.map +1 -1
  14. package/dist/commands/diff.d.ts +6 -0
  15. package/dist/commands/diff.d.ts.map +1 -0
  16. package/dist/commands/diff.js +101 -0
  17. package/dist/commands/diff.js.map +1 -0
  18. package/dist/commands/discard.d.ts +6 -0
  19. package/dist/commands/discard.d.ts.map +1 -0
  20. package/dist/commands/discard.js +36 -0
  21. package/dist/commands/discard.js.map +1 -0
  22. package/dist/commands/fetch.d.ts +6 -0
  23. package/dist/commands/fetch.d.ts.map +1 -0
  24. package/dist/commands/fetch.js +147 -0
  25. package/dist/commands/fetch.js.map +1 -0
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +199 -57
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/jobs.d.ts +3 -0
  30. package/dist/commands/jobs.d.ts.map +1 -0
  31. package/dist/commands/jobs.js +415 -0
  32. package/dist/commands/jobs.js.map +1 -0
  33. package/dist/commands/keys.d.ts.map +1 -1
  34. package/dist/commands/keys.js +6 -1
  35. package/dist/commands/keys.js.map +1 -1
  36. package/dist/commands/log.d.ts +5 -0
  37. package/dist/commands/log.d.ts.map +1 -0
  38. package/dist/commands/log.js +69 -0
  39. package/dist/commands/log.js.map +1 -0
  40. package/dist/commands/prompt.d.ts +1 -0
  41. package/dist/commands/prompt.d.ts.map +1 -1
  42. package/dist/commands/prompt.js +173 -1
  43. package/dist/commands/prompt.js.map +1 -1
  44. package/dist/commands/pull.d.ts +7 -0
  45. package/dist/commands/pull.d.ts.map +1 -0
  46. package/dist/commands/pull.js +19 -0
  47. package/dist/commands/pull.js.map +1 -0
  48. package/dist/commands/sessions.d.ts +7 -0
  49. package/dist/commands/sessions.d.ts.map +1 -0
  50. package/dist/commands/sessions.js +57 -0
  51. package/dist/commands/sessions.js.map +1 -0
  52. package/dist/commands/wait.d.ts +7 -0
  53. package/dist/commands/wait.d.ts.map +1 -0
  54. package/dist/commands/wait.js +91 -0
  55. package/dist/commands/wait.js.map +1 -0
  56. package/dist/index.js +79 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/api.d.ts +130 -0
  59. package/dist/lib/api.d.ts.map +1 -1
  60. package/dist/lib/api.js +99 -0
  61. package/dist/lib/api.js.map +1 -1
  62. package/dist/lib/archive.d.ts +5 -1
  63. package/dist/lib/archive.d.ts.map +1 -1
  64. package/dist/lib/archive.js +10 -15
  65. package/dist/lib/archive.js.map +1 -1
  66. package/dist/lib/config.d.ts +80 -5
  67. package/dist/lib/config.d.ts.map +1 -1
  68. package/dist/lib/config.js +86 -9
  69. package/dist/lib/config.js.map +1 -1
  70. package/dist/lib/git.d.ts +70 -0
  71. package/dist/lib/git.d.ts.map +1 -0
  72. package/dist/lib/git.js +232 -0
  73. package/dist/lib/git.js.map +1 -0
  74. package/dist/lib/output.d.ts +42 -0
  75. package/dist/lib/output.d.ts.map +1 -0
  76. package/dist/lib/output.js +123 -0
  77. package/dist/lib/output.js.map +1 -0
  78. package/package.json +1 -1
@@ -1,10 +1,16 @@
1
1
  import chalk from "chalk";
2
2
  import ora from "ora";
3
3
  import { select } from "@inquirer/prompts";
4
+ import { createWriteStream, unlinkSync, existsSync } from "node:fs";
5
+ import { tmpdir } from "node:os";
6
+ import { join, resolve } from "node:path";
7
+ import { pipeline } from "node:stream/promises";
8
+ import { Readable } from "node:stream";
4
9
  import { requireApiKey, loadProjectConfig } from "../lib/config.js";
5
10
  import { ChuckyApi } from "../lib/api.js";
6
11
  import { ChuckyClient, createToken, createBudget, browserTool, createMcpServer, getAssistantText, isSuccessResult, } from "@chucky.cloud/sdk";
7
12
  import { executeHostBash, executeHostRead, executeHostWrite, executeHostEdit, executeHostGlob, executeHostGrep, } from "../lib/host-tools.js";
13
+ import { verifyBundle, fetchBundle, applyBranch, getBundleStats, branchExists, } from "../lib/git.js";
8
14
  /**
9
15
  * Main prompt command handler
10
16
  */
@@ -96,15 +102,21 @@ You are running inside a sandboxed environment, but you have access to the USER'
96
102
  spinner.text = `Sending prompt to ${chalk.cyan(projectName)}...`;
97
103
  // Send the message
98
104
  await session.send(message);
99
- spinner.stop();
105
+ spinner.text = "Waiting for response...";
100
106
  // Stream the response
101
107
  let finalResult = null;
108
+ let isThinking = true;
102
109
  for await (const msg of session.stream()) {
103
110
  if (jsonOutput) {
104
111
  console.log(JSON.stringify(msg));
105
112
  }
106
113
  else {
107
114
  if (msg.type === "assistant") {
115
+ // Stop spinner on first assistant message
116
+ if (isThinking) {
117
+ spinner.stop();
118
+ isThinking = false;
119
+ }
108
120
  // Use SDK helper to extract text
109
121
  const text = getAssistantText(msg);
110
122
  if (text) {
@@ -115,6 +127,10 @@ You are running inside a sandboxed environment, but you have access to the USER'
115
127
  for (const block of content) {
116
128
  if (typeof block === "object" && block.type === "tool_use") {
117
129
  console.log(chalk.blue(`\n[Tool] ${block.name}`));
130
+ // Start spinner while tool executes
131
+ spinner.text = `Running ${block.name}...`;
132
+ spinner.start();
133
+ isThinking = true;
118
134
  }
119
135
  }
120
136
  }
@@ -124,6 +140,11 @@ You are running inside a sandboxed environment, but you have access to the USER'
124
140
  if (Array.isArray(content)) {
125
141
  for (const block of content) {
126
142
  if (typeof block === "object" && block.type === "tool_result") {
143
+ // Stop spinner when result arrives
144
+ if (isThinking) {
145
+ spinner.stop();
146
+ isThinking = false;
147
+ }
127
148
  const resultContent = typeof block.content === "string"
128
149
  ? block.content
129
150
  : JSON.stringify(block.content);
@@ -131,15 +152,40 @@ You are running inside a sandboxed environment, but you have access to the USER'
131
152
  ? resultContent.slice(0, 200) + "..."
132
153
  : resultContent;
133
154
  console.log(chalk.green(`[Result] ${preview}`));
155
+ // Start spinner while waiting for next response
156
+ spinner.text = "Thinking...";
157
+ spinner.start();
158
+ isThinking = true;
134
159
  }
135
160
  }
136
161
  }
137
162
  }
163
+ else if (msg.type === "system") {
164
+ // Show system messages
165
+ const systemMsg = msg.message || msg.content || "";
166
+ if (systemMsg) {
167
+ if (isThinking) {
168
+ spinner.stop();
169
+ }
170
+ console.log(chalk.magenta(`[System] ${systemMsg}`));
171
+ if (isThinking) {
172
+ spinner.start();
173
+ }
174
+ }
175
+ }
138
176
  else if (msg.type === "result") {
177
+ if (isThinking) {
178
+ spinner.stop();
179
+ isThinking = false;
180
+ }
139
181
  finalResult = msg;
140
182
  }
141
183
  }
142
184
  }
185
+ // Make sure spinner is stopped
186
+ if (isThinking) {
187
+ spinner.stop();
188
+ }
143
189
  if (!jsonOutput) {
144
190
  console.log(chalk.green("\n\n✓ Complete"));
145
191
  }
@@ -150,8 +196,17 @@ You are running inside a sandboxed environment, but you have access to the USER'
150
196
  console.log(JSON.stringify({ finalResult: output }, null, 2));
151
197
  }
152
198
  }
199
+ // Get session ID from result message (injected by worker) - this is the real server-side session ID
200
+ const serverSessionId = finalResult?.session_id;
153
201
  // Close the session
154
202
  session.close();
203
+ // Apply changes if --apply flag is set
204
+ if (options.apply && serverSessionId) {
205
+ await applySessionChanges(serverSessionId, jsonOutput);
206
+ }
207
+ else if (options.apply && !serverSessionId) {
208
+ console.log(chalk.yellow("\nWarning: Could not get session ID from result, skipping apply"));
209
+ }
155
210
  }
156
211
  catch (error) {
157
212
  console.log(chalk.red(`\nError: ${error.message}`));
@@ -411,4 +466,121 @@ function getHostTools(options) {
411
466
  }
412
467
  return tools;
413
468
  }
469
+ /**
470
+ * Fetch and apply session changes to the local workspace
471
+ */
472
+ async function applySessionChanges(sessionId, jsonOutput) {
473
+ const apiKey = requireApiKey();
474
+ const projectConfig = loadProjectConfig();
475
+ const api = new ChuckyApi(apiKey);
476
+ const folder = projectConfig?.folder || ".";
477
+ const fullPath = resolve(folder);
478
+ const branchName = `chucky/session-${sessionId}`;
479
+ const shortId = sessionId.slice(0, 8);
480
+ let bundlePath = null;
481
+ const spinner = jsonOutput ? null : ora("Waiting for bundle...").start();
482
+ try {
483
+ // Check if branch already exists (shouldn't happen for new session)
484
+ if (branchExists(fullPath, branchName)) {
485
+ spinner?.warn(`Branch '${branchName}' already exists, skipping apply`);
486
+ return;
487
+ }
488
+ // Wait for bundle to be available (it's uploaded asynchronously after result)
489
+ let bundleInfo = null;
490
+ const maxRetries = 10;
491
+ const retryDelayMs = 1000;
492
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
493
+ try {
494
+ bundleInfo = await api.getSessionBundle(sessionId);
495
+ break; // Success
496
+ }
497
+ catch (error) {
498
+ const isNotFound = error.message.includes("not found") ||
499
+ error.message.includes("No bundle");
500
+ if (isNotFound && attempt < maxRetries) {
501
+ if (spinner)
502
+ spinner.text = `Waiting for bundle... (${attempt}/${maxRetries})`;
503
+ await new Promise(resolve => setTimeout(resolve, retryDelayMs));
504
+ }
505
+ else {
506
+ throw error;
507
+ }
508
+ }
509
+ }
510
+ if (!bundleInfo) {
511
+ spinner?.warn("Bundle not available yet, run 'chucky fetch' manually later");
512
+ return;
513
+ }
514
+ if (!bundleInfo.has_changes) {
515
+ spinner?.succeed("Session completed with no file changes");
516
+ return;
517
+ }
518
+ if (spinner)
519
+ spinner.text = "Downloading bundle...";
520
+ // Download bundle
521
+ bundlePath = join(tmpdir(), `chucky-bundle-${sessionId}.bundle`);
522
+ const response = await fetch(bundleInfo.download_url);
523
+ if (!response.ok || !response.body) {
524
+ spinner?.fail("Failed to download bundle");
525
+ console.log(chalk.red("Failed to download bundle from server"));
526
+ return;
527
+ }
528
+ const fileStream = createWriteStream(bundlePath);
529
+ await pipeline(Readable.fromWeb(response.body), fileStream);
530
+ if (spinner)
531
+ spinner.text = "Verifying bundle...";
532
+ // Verify bundle
533
+ if (!verifyBundle(fullPath, bundlePath)) {
534
+ spinner?.fail("Bundle verification failed");
535
+ console.log(chalk.red("Bundle verification failed. The bundle may be corrupted."));
536
+ return;
537
+ }
538
+ if (spinner)
539
+ spinner.text = "Fetching to branch...";
540
+ // Fetch to temp branch
541
+ fetchBundle(fullPath, bundlePath, branchName);
542
+ if (spinner)
543
+ spinner.text = "Applying changes...";
544
+ // Get stats
545
+ const stats = getBundleStats(fullPath, branchName);
546
+ // Apply the changes - try fast-forward first, fall back to merge if diverged
547
+ let result;
548
+ try {
549
+ result = applyBranch(fullPath, branchName);
550
+ }
551
+ catch (ffError) {
552
+ const errorMsg = ffError.message;
553
+ if (errorMsg.includes("fast-forward") || errorMsg.includes("diverging")) {
554
+ if (spinner)
555
+ spinner.text = "Branches diverged, creating merge commit...";
556
+ result = applyBranch(fullPath, branchName, { force: true });
557
+ }
558
+ else {
559
+ throw ffError;
560
+ }
561
+ }
562
+ spinner?.succeed(`Applied ${result.commits} commit(s), ${result.files} file(s) changed`);
563
+ if (!jsonOutput) {
564
+ console.log(chalk.dim(`Changes: +${stats.insertions} -${stats.deletions}`));
565
+ }
566
+ // Clean up bundle file
567
+ if (bundlePath && existsSync(bundlePath)) {
568
+ unlinkSync(bundlePath);
569
+ }
570
+ }
571
+ catch (error) {
572
+ // Clean up bundle file on error
573
+ if (bundlePath && existsSync(bundlePath)) {
574
+ try {
575
+ unlinkSync(bundlePath);
576
+ }
577
+ catch {
578
+ // Ignore cleanup errors
579
+ }
580
+ }
581
+ spinner?.fail("Failed to apply changes");
582
+ console.log(chalk.red(`Apply error: ${error.message}`));
583
+ console.log(chalk.yellow(`You can manually run: chucky fetch ${shortId} && chucky apply ${shortId}`));
584
+ }
585
+ }
414
586
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface PullOptions {
2
+ force?: boolean;
3
+ json?: boolean;
4
+ quiet?: boolean;
5
+ }
6
+ export declare function pullCommand(id: string, options: PullOptions): Promise<void>;
7
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -0,0 +1,19 @@
1
+ import { fetchCommand } from "./fetch.js";
2
+ import { applyCommand } from "./apply.js";
3
+ export async function pullCommand(id, options) {
4
+ // Pull is just fetch + apply
5
+ const fetchOpts = {
6
+ json: options.json,
7
+ quiet: options.quiet,
8
+ };
9
+ const applyOpts = {
10
+ force: options.force,
11
+ json: options.json,
12
+ quiet: options.quiet,
13
+ };
14
+ // Fetch first
15
+ await fetchCommand(id, fetchOpts);
16
+ // Then apply
17
+ await applyCommand(id, applyOpts);
18
+ }
19
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAC;AAQ7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,OAAoB;IAEpB,6BAA6B;IAC7B,MAAM,SAAS,GAAiB;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IAEF,MAAM,SAAS,GAAiB;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IAEF,cAAc;IACd,MAAM,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAElC,aAAa;IACb,MAAM,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface SessionsOptions {
2
+ limit?: number;
3
+ withBundle?: boolean;
4
+ json?: boolean;
5
+ }
6
+ export declare function sessionsCommand(options: SessionsOptions): Promise<void>;
7
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D7E"}
@@ -0,0 +1,57 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import { loadGlobalConfig, loadProjectConfig } from "../lib/config.js";
4
+ import { ChuckyApi } from "../lib/api.js";
5
+ export async function sessionsCommand(options) {
6
+ const globalConfig = loadGlobalConfig();
7
+ if (!globalConfig?.apiKey) {
8
+ console.log(chalk.red("Not logged in. Run 'chucky login' first."));
9
+ process.exit(1);
10
+ }
11
+ const projectConfig = loadProjectConfig();
12
+ const projectId = projectConfig?.projectId;
13
+ const api = new ChuckyApi(globalConfig.apiKey);
14
+ const spinner = options.json ? null : ora("Fetching sessions...").start();
15
+ try {
16
+ const result = await api.listSessions({
17
+ limit: options.limit || 20,
18
+ withBundle: options.withBundle,
19
+ projectId: projectId || undefined,
20
+ });
21
+ spinner?.stop();
22
+ if (options.json) {
23
+ console.log(JSON.stringify(result, null, 2));
24
+ return;
25
+ }
26
+ if (result.sessions.length === 0) {
27
+ console.log(chalk.yellow("No sessions found."));
28
+ return;
29
+ }
30
+ console.log(chalk.bold(`\nSessions${projectId ? ` (project: ${projectConfig?.name})` : " (all projects)"}:\n`));
31
+ for (const session of result.sessions) {
32
+ const statusColor = session.status === "completed" ? chalk.green :
33
+ session.status === "failed" ? chalk.red :
34
+ chalk.yellow;
35
+ const bundleIndicator = session.has_bundle ? chalk.cyan(" [bundle]") : "";
36
+ const duration = session.duration_ms ? `${(session.duration_ms / 1000).toFixed(1)}s` : "-";
37
+ const cost = session.total_cost_usd ? `$${session.total_cost_usd.toFixed(4)}` : "-";
38
+ console.log(chalk.dim(session.id.slice(0, 8)) + " " +
39
+ statusColor(session.status.padEnd(10)) +
40
+ chalk.dim(` ${duration.padStart(6)} `) +
41
+ chalk.dim(`${cost.padStart(8)} `) +
42
+ chalk.dim(session.user_id.padEnd(16).slice(0, 16)) +
43
+ bundleIndicator +
44
+ (session.job_id ? chalk.dim(` job:${session.job_id.slice(0, 8)}`) : ""));
45
+ }
46
+ console.log(chalk.dim(`\nShowing ${result.sessions.length} sessions`));
47
+ if (result.pagination.hasMore) {
48
+ console.log(chalk.dim(`Use --limit to see more`));
49
+ }
50
+ }
51
+ catch (error) {
52
+ spinner?.fail("Failed to fetch sessions");
53
+ console.log(chalk.red(`Error: ${error.message}`));
54
+ process.exit(1);
55
+ }
56
+ }
57
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface WaitOptions {
2
+ timeout?: string;
3
+ json?: boolean;
4
+ quiet?: boolean;
5
+ }
6
+ export declare function waitCommand(jobId: string, options: WaitOptions): Promise<void>;
7
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/commands/wait.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA4Gf"}
@@ -0,0 +1,91 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import { requireApiKey } from "../lib/config.js";
4
+ import { ChuckyApi } from "../lib/api.js";
5
+ import { ExitCode, exitWithError, output, } from "../lib/output.js";
6
+ function sleep(ms) {
7
+ return new Promise((resolve) => setTimeout(resolve, ms));
8
+ }
9
+ export async function waitCommand(jobId, options) {
10
+ const outputOpts = {
11
+ json: options.json,
12
+ quiet: options.quiet,
13
+ };
14
+ const timeout = parseInt(options.timeout || "300", 10);
15
+ const start = Date.now();
16
+ try {
17
+ const apiKey = requireApiKey();
18
+ const api = new ChuckyApi(apiKey);
19
+ const spinner = options.json || options.quiet
20
+ ? null
21
+ : ora(`Waiting for job ${jobId}...`).start();
22
+ while (true) {
23
+ let job;
24
+ try {
25
+ const result = await api.getJob(jobId);
26
+ job = result.job;
27
+ }
28
+ catch (error) {
29
+ spinner?.fail("Failed to get job status");
30
+ exitWithError(ExitCode.NOT_FOUND, {
31
+ error: "job_not_found",
32
+ message: `Job '${jobId}' not found.`,
33
+ job_id: jobId,
34
+ }, outputOpts);
35
+ }
36
+ const elapsed = Math.floor((Date.now() - start) / 1000);
37
+ if (job.isCompleted) {
38
+ if (job.isSuccess) {
39
+ spinner?.succeed(`Job completed in ${elapsed}s`);
40
+ const result = {
41
+ status: "completed",
42
+ job_id: jobId,
43
+ duration_seconds: elapsed,
44
+ };
45
+ if (options.json || options.quiet) {
46
+ output(result, outputOpts);
47
+ }
48
+ else {
49
+ console.log(chalk.green("\nJob completed successfully!"));
50
+ console.log(chalk.yellow(`Run 'chucky fetch ${jobId}' to get results`));
51
+ }
52
+ return;
53
+ }
54
+ else {
55
+ spinner?.fail(`Job failed after ${elapsed}s`);
56
+ exitWithError(ExitCode.CONFLICT, {
57
+ error: "job_failed",
58
+ message: job.error?.message || "Job failed",
59
+ job_id: jobId,
60
+ }, outputOpts);
61
+ }
62
+ }
63
+ // Check timeout
64
+ if (elapsed >= timeout) {
65
+ spinner?.fail("Timeout waiting for job");
66
+ exitWithError(ExitCode.TIMEOUT, {
67
+ error: "timeout",
68
+ message: `Timeout after ${timeout}s waiting for job to complete.`,
69
+ job_id: jobId,
70
+ }, outputOpts);
71
+ }
72
+ // Update spinner
73
+ if (spinner) {
74
+ spinner.text = `Waiting for job ${jobId}... (${elapsed}s / ${timeout}s)`;
75
+ }
76
+ // Poll every 2 seconds
77
+ await sleep(2000);
78
+ }
79
+ }
80
+ catch (error) {
81
+ if (error.code) {
82
+ throw error;
83
+ }
84
+ exitWithError(ExitCode.NETWORK_ERROR, {
85
+ error: "wait_failed",
86
+ message: error.message,
87
+ job_id: jobId,
88
+ }, outputOpts);
89
+ }
90
+ }
91
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/commands/wait.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,11 +8,20 @@ import { keysCommand } from "./commands/keys.js";
8
8
  import { configAnthropicCommand } from "./commands/config.js";
9
9
  import { deleteCommand } from "./commands/delete.js";
10
10
  import { promptCommand } from "./commands/prompt.js";
11
+ import { createJobsCommand } from "./commands/jobs.js";
12
+ import { fetchCommand } from "./commands/fetch.js";
13
+ import { diffCommand } from "./commands/diff.js";
14
+ import { logCommand } from "./commands/log.js";
15
+ import { applyCommand } from "./commands/apply.js";
16
+ import { discardCommand } from "./commands/discard.js";
17
+ import { waitCommand } from "./commands/wait.js";
18
+ import { pullCommand } from "./commands/pull.js";
19
+ import { sessionsCommand } from "./commands/sessions.js";
11
20
  const program = new Command();
12
21
  program
13
22
  .name("chucky")
14
23
  .description("CLI for deploying workspaces to Chucky cloud")
15
- .version("0.2.4");
24
+ .version("0.2.9");
16
25
  // Login command
17
26
  program
18
27
  .command("login")
@@ -36,6 +45,9 @@ program
36
45
  .command("deploy")
37
46
  .description("Deploy workspace to Chucky")
38
47
  .option("-f, --folder <path>", "Folder to deploy (overrides config)")
48
+ .option("--force", "Auto-commit uncommitted changes")
49
+ .option("--json", "Output as JSON")
50
+ .option("--quiet", "No output, just exit code")
39
51
  .action(deployCommand);
40
52
  // Keys command
41
53
  program
@@ -77,7 +89,73 @@ program
77
89
  .option("--agents <json>", "Custom agents definition (JSON)")
78
90
  .option("--betas <betas>", "Beta headers (comma-separated)")
79
91
  .option("--allow-possession", "Enable host tools - Claude can execute commands on your machine")
92
+ .option("--apply", "Auto-apply file changes to local workspace after session completes")
80
93
  .action(promptCommand);
94
+ // Jobs command
95
+ program.addCommand(createJobsCommand());
96
+ // Sessions command
97
+ program
98
+ .command("sessions")
99
+ .description("List sessions")
100
+ .option("-n, --limit <number>", "Number of sessions to show", "20")
101
+ .option("--with-bundle", "Only show sessions with bundles")
102
+ .option("--json", "Output as JSON")
103
+ .action((options) => sessionsCommand({
104
+ limit: parseInt(options.limit),
105
+ withBundle: options.withBundle,
106
+ json: options.json,
107
+ }));
108
+ // Fetch command - download job/session results to temp branch
109
+ program
110
+ .command("fetch <id>")
111
+ .description("Download job/session bundle to temp branch (auto-detects type by ID prefix)")
112
+ .option("--json", "Output as JSON")
113
+ .option("--quiet", "No output, just exit code")
114
+ .action(fetchCommand);
115
+ // Diff command - show what agent changed
116
+ program
117
+ .command("diff <id>")
118
+ .description("Show what agent changed (auto-detects job/session by ID prefix)")
119
+ .option("--json", "Output as JSON")
120
+ .option("--stat", "Show file stats only")
121
+ .action(diffCommand);
122
+ // Log command - show agent's commits
123
+ program
124
+ .command("log <id>")
125
+ .description("Show agent's commits (auto-detects job/session by ID prefix)")
126
+ .option("--json", "Output as JSON")
127
+ .action(logCommand);
128
+ // Apply command - merge agent changes to current branch
129
+ program
130
+ .command("apply <id>")
131
+ .description("Merge agent changes to current branch (auto-detects job/session by ID prefix)")
132
+ .option("--force", "Force merge even if not fast-forward")
133
+ .option("--json", "Output as JSON")
134
+ .option("--quiet", "No output, just exit code")
135
+ .action(applyCommand);
136
+ // Discard command - delete agent's temp branch
137
+ program
138
+ .command("discard <id>")
139
+ .description("Delete agent's temp branch (auto-detects job/session by ID prefix)")
140
+ .option("--json", "Output as JSON")
141
+ .option("--quiet", "No output, just exit code")
142
+ .action(discardCommand);
143
+ // Wait command - wait for job to complete
144
+ program
145
+ .command("wait <job-id>")
146
+ .description("Wait for job to complete")
147
+ .option("--timeout <seconds>", "Max wait time in seconds", "300")
148
+ .option("--json", "Output as JSON")
149
+ .option("--quiet", "No output, just exit code")
150
+ .action(waitCommand);
151
+ // Pull command - fetch and apply results
152
+ program
153
+ .command("pull <id>")
154
+ .description("Fetch and apply results (auto-detects job/session by ID prefix)")
155
+ .option("--force", "Force apply")
156
+ .option("--json", "Output as JSON")
157
+ .option("--quiet", "No output, just exit code")
158
+ .action(pullCommand);
81
159
  // Parse arguments
82
160
  program.parse();
83
161
  //# sourceMappingURL=index.js.map