@mistweaverco/kulala-cli 0.9.0 → 0.10.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/cli.cjs CHANGED
@@ -46,7 +46,7 @@ node_readline = __toESM(node_readline, 1);
46
46
  let node_async_hooks = require("node:async_hooks");
47
47
  var package_default = {
48
48
  name: "@mistweaverco/kulala-cli",
49
- version: "0.9.0",
49
+ version: "0.10.0",
50
50
  repository: {
51
51
  "type": "git",
52
52
  "url": "https://github.com/mistweaverco/kulala-cli"
@@ -3473,6 +3473,60 @@ function fileWalker(inputPath, extensions) {
3473
3473
  return filePaths;
3474
3474
  }
3475
3475
  //#endregion
3476
+ //#region src/lib/spinner.ts
3477
+ var SPINNER_FRAMES = [
3478
+ "⠋",
3479
+ "⠙",
3480
+ "⠹",
3481
+ "⠸",
3482
+ "⠼",
3483
+ "⠴",
3484
+ "⠦",
3485
+ "⠧",
3486
+ "⠇",
3487
+ "⠏"
3488
+ ];
3489
+ function isInteractiveTerminal() {
3490
+ return process.stderr.isTTY === true;
3491
+ }
3492
+ function createSpinner() {
3493
+ let timer;
3494
+ let frame = 0;
3495
+ let message = "";
3496
+ const stop = () => {
3497
+ if (timer) {
3498
+ clearInterval(timer);
3499
+ timer = void 0;
3500
+ }
3501
+ if (isInteractiveTerminal()) process.stderr.write("\r\x1B[K");
3502
+ };
3503
+ return {
3504
+ start(msg) {
3505
+ message = msg;
3506
+ if (!isInteractiveTerminal()) {
3507
+ console.error(message);
3508
+ return;
3509
+ }
3510
+ const render = () => {
3511
+ process.stderr.write(`\r${SPINNER_FRAMES[frame]} ${message}`);
3512
+ frame = (frame + 1) % SPINNER_FRAMES.length;
3513
+ };
3514
+ render();
3515
+ timer = setInterval(render, 80);
3516
+ },
3517
+ stop
3518
+ };
3519
+ }
3520
+ async function withSpinner(message, fn) {
3521
+ const spinner = createSpinner();
3522
+ spinner.start(message);
3523
+ try {
3524
+ return await fn();
3525
+ } finally {
3526
+ spinner.stop();
3527
+ }
3528
+ }
3529
+ //#endregion
3476
3530
  //#region src/versions/backend.ts
3477
3531
  var KULALA_CORE_VERSION = "0.24.4";
3478
3532
  //#endregion
@@ -3517,52 +3571,18 @@ function versionMatches() {
3517
3571
  function makeExecutable(filePath) {
3518
3572
  if (process.platform !== "win32") (0, fs.chmodSync)(filePath, 493);
3519
3573
  }
3520
- var SPINNER_FRAMES = [
3521
- "⠋",
3522
- "⠙",
3523
- "⠹",
3524
- "⠸",
3525
- "⠼",
3526
- "⠴",
3527
- "⠦",
3528
- "⠧",
3529
- "⠇",
3530
- "⠏"
3531
- ];
3532
- function isInteractiveTerminal() {
3533
- return process.stderr.isTTY === true;
3534
- }
3535
3574
  function createDownloadProgress() {
3536
- let timer;
3537
- let frame = 0;
3538
- let message = "";
3539
- const clearLine = () => {
3540
- if (timer) {
3541
- clearInterval(timer);
3542
- timer = void 0;
3543
- }
3544
- if (isInteractiveTerminal()) process.stderr.write("\r\x1B[K");
3545
- };
3575
+ const spinner = createSpinner();
3546
3576
  return {
3547
- start(msg) {
3548
- message = msg;
3549
- if (!isInteractiveTerminal()) {
3550
- console.error(message);
3551
- return;
3552
- }
3553
- const render = () => {
3554
- process.stderr.write(`\r${SPINNER_FRAMES[frame]} ${message}`);
3555
- frame = (frame + 1) % SPINNER_FRAMES.length;
3556
- };
3557
- render();
3558
- timer = setInterval(render, 80);
3577
+ start(message) {
3578
+ spinner.start(message);
3559
3579
  },
3560
- succeed(msg) {
3561
- clearLine();
3562
- console.error(msg);
3580
+ succeed(message) {
3581
+ spinner.stop();
3582
+ console.error(message);
3563
3583
  },
3564
3584
  fail() {
3565
- clearLine();
3585
+ spinner.stop();
3566
3586
  }
3567
3587
  };
3568
3588
  }
@@ -67536,7 +67556,7 @@ async function runFileWithPromptRetry(relativePath, env, limit, halt, output, de
67536
67556
  limit,
67537
67557
  haltOnError: halt
67538
67558
  };
67539
- const response = await kulalaCore.runHttp(runOptions, { cwd });
67559
+ const response = isInteractiveTerminal() ? await withSpinner(`Running requests in file ${relativePath}`, () => kulalaCore.runHttp(runOptions, { cwd })) : await kulalaCore.runHttp(runOptions, { cwd });
67540
67560
  const promptItem = response.type === "responses" ? findFirstPromptItem(response) : void 0;
67541
67561
  if (!promptItem) {
67542
67562
  const final = mergeRunResponses(accumulated, response);
@@ -67567,7 +67587,10 @@ async function runFileWithPromptRetry(relativePath, env, limit, halt, output, de
67567
67587
  outputStreamed: shouldStreamOutput(output)
67568
67588
  };
67569
67589
  }
67570
- const continued = await kulalaCore.continueHttp({
67590
+ const continued = isInteractiveTerminal() ? await withSpinner(`Running requests in file ${relativePath}`, () => kulalaCore.continueHttp({
67591
+ promptId: promptItem.promptId,
67592
+ inputs
67593
+ }, { cwd })) : await kulalaCore.continueHttp({
67571
67594
  promptId: promptItem.promptId,
67572
67595
  inputs
67573
67596
  }, { cwd });
@@ -67665,7 +67688,7 @@ async function curl(argv, options = {}) {
67665
67688
  console.error(" kulala curl -H \"Accept: application/json\" https://echo.kulala.app/get");
67666
67689
  process.exit(1);
67667
67690
  }
67668
- const response = await kulalaCore.curl({ argv: curlArgv });
67691
+ const response = isInteractiveTerminal() ? await withSpinner("Running request", () => kulalaCore.curl({ argv: curlArgv })) : await kulalaCore.curl({ argv: curlArgv });
67669
67692
  const result = {
67670
67693
  filepath: formatCurlLabel(curlArgv),
67671
67694
  response
@@ -28,6 +28,51 @@ fs = __toESM(fs, 1);
28
28
  let path = require("path");
29
29
  path = __toESM(path, 1);
30
30
  let stream_promises = require("stream/promises");
31
+ //#region src/lib/spinner.ts
32
+ var SPINNER_FRAMES = [
33
+ "⠋",
34
+ "⠙",
35
+ "⠹",
36
+ "⠸",
37
+ "⠼",
38
+ "⠴",
39
+ "⠦",
40
+ "⠧",
41
+ "⠇",
42
+ "⠏"
43
+ ];
44
+ function isInteractiveTerminal() {
45
+ return process.stderr.isTTY === true;
46
+ }
47
+ function createSpinner() {
48
+ let timer;
49
+ let frame = 0;
50
+ let message = "";
51
+ const stop = () => {
52
+ if (timer) {
53
+ clearInterval(timer);
54
+ timer = void 0;
55
+ }
56
+ if (isInteractiveTerminal()) process.stderr.write("\r\x1B[K");
57
+ };
58
+ return {
59
+ start(msg) {
60
+ message = msg;
61
+ if (!isInteractiveTerminal()) {
62
+ console.error(message);
63
+ return;
64
+ }
65
+ const render = () => {
66
+ process.stderr.write(`\r${SPINNER_FRAMES[frame]} ${message}`);
67
+ frame = (frame + 1) % SPINNER_FRAMES.length;
68
+ };
69
+ render();
70
+ timer = setInterval(render, 80);
71
+ },
72
+ stop
73
+ };
74
+ }
75
+ //#endregion
31
76
  //#region src/versions/backend.ts
32
77
  var KULALA_CORE_VERSION = "0.24.4";
33
78
  //#endregion
@@ -72,52 +117,18 @@ function versionMatches() {
72
117
  function makeExecutable(filePath) {
73
118
  if (process.platform !== "win32") (0, fs.chmodSync)(filePath, 493);
74
119
  }
75
- var SPINNER_FRAMES = [
76
- "⠋",
77
- "⠙",
78
- "⠹",
79
- "⠸",
80
- "⠼",
81
- "⠴",
82
- "⠦",
83
- "⠧",
84
- "⠇",
85
- "⠏"
86
- ];
87
- function isInteractiveTerminal() {
88
- return process.stderr.isTTY === true;
89
- }
90
120
  function createDownloadProgress() {
91
- let timer;
92
- let frame = 0;
93
- let message = "";
94
- const clearLine = () => {
95
- if (timer) {
96
- clearInterval(timer);
97
- timer = void 0;
98
- }
99
- if (isInteractiveTerminal()) process.stderr.write("\r\x1B[K");
100
- };
121
+ const spinner = createSpinner();
101
122
  return {
102
- start(msg) {
103
- message = msg;
104
- if (!isInteractiveTerminal()) {
105
- console.error(message);
106
- return;
107
- }
108
- const render = () => {
109
- process.stderr.write(`\r${SPINNER_FRAMES[frame]} ${message}`);
110
- frame = (frame + 1) % SPINNER_FRAMES.length;
111
- };
112
- render();
113
- timer = setInterval(render, 80);
123
+ start(message) {
124
+ spinner.start(message);
114
125
  },
115
- succeed(msg) {
116
- clearLine();
117
- console.error(msg);
126
+ succeed(message) {
127
+ spinner.stop();
128
+ console.error(message);
118
129
  },
119
130
  fail() {
120
- clearLine();
131
+ spinner.stop();
121
132
  }
122
133
  };
123
134
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mistweaverco/kulala-cli",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/mistweaverco/kulala-cli"