@mushi-mushi/cli 0.30.1 → 0.30.3

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MUSHI_CLI_VERSION
3
- } from "./chunk-Q77VOS7K.js";
3
+ } from "./chunk-ZQFQRBNL.js";
4
4
  import {
5
5
  assertEndpoint,
6
6
  normalizeEndpoint
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/version.ts
4
+ var MUSHI_CLI_VERSION = true ? "0.30.3" : "0.0.0-dev";
5
+ var MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.6";
6
+
7
+ export {
8
+ MUSHI_CLI_VERSION,
9
+ MUSHI_MCP_PIN_SPEC
10
+ };
@@ -0,0 +1,8 @@
1
+ // src/version.ts
2
+ var MUSHI_CLI_VERSION = true ? "0.30.3" : "0.0.0-dev";
3
+ var MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.6";
4
+
5
+ export {
6
+ MUSHI_CLI_VERSION,
7
+ MUSHI_MCP_PIN_SPEC
8
+ };
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  MUSHI_CLI_VERSION,
4
4
  MUSHI_MCP_PIN_SPEC
5
- } from "./chunk-UVAVIRFO.js";
5
+ } from "./chunk-VJZVFEMZ.js";
6
6
  import {
7
7
  detectFramework,
8
8
  envVarsToWrite,
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  resolveSdkEnvKey,
4
4
  runConnect
5
- } from "./chunk-5PAFWBPL.js";
6
- import "./chunk-UVAVIRFO.js";
5
+ } from "./chunk-ZRDGR4TV.js";
6
+ import "./chunk-VJZVFEMZ.js";
7
7
  import "./chunk-KOBEOGNF.js";
8
8
  import "./chunk-LDPFTQLE.js";
9
9
  import "./chunk-PDX44BCA.js";
@@ -6,10 +6,10 @@ import {
6
6
  saveConfig,
7
7
  savedSdkKeyFor,
8
8
  waitForIngestReady
9
- } from "./chunk-BES6PACT.js";
9
+ } from "./chunk-LBVNX3PN.js";
10
10
  import {
11
11
  MUSHI_MCP_PIN_SPEC
12
- } from "./chunk-Q77VOS7K.js";
12
+ } from "./chunk-ZQFQRBNL.js";
13
13
  import {
14
14
  detectFramework,
15
15
  envVarsToWrite,
package/dist/index.js CHANGED
@@ -53,11 +53,11 @@ import {
53
53
  setGlobalOutputFormat,
54
54
  trySaveKeyToKeychain,
55
55
  writeMcpServerEntry
56
- } from "./chunk-5PAFWBPL.js";
56
+ } from "./chunk-ZRDGR4TV.js";
57
57
  import {
58
58
  MUSHI_CLI_VERSION,
59
59
  MUSHI_MCP_PIN_SPEC
60
- } from "./chunk-UVAVIRFO.js";
60
+ } from "./chunk-VJZVFEMZ.js";
61
61
  import {
62
62
  FRAMEWORKS,
63
63
  detectFramework,
@@ -225,15 +225,15 @@ var DeviceAuthRequestError = class extends Error {
225
225
  this.retryable = status === void 0 || status >= 500 || status === 408;
226
226
  }
227
227
  };
228
- async function withOneRetry(run2) {
228
+ async function withOneRetry(run) {
229
229
  try {
230
- return await run2();
230
+ return await run();
231
231
  } catch (err) {
232
232
  if (err instanceof DeviceAuthRequestError && err.retryable) {
233
233
  if (deviceAuthRetryDelayMs > 0) {
234
234
  await defaultSleep(deviceAuthRetryDelayMs);
235
235
  }
236
- return run2();
236
+ return run();
237
237
  }
238
238
  throw err;
239
239
  }
@@ -1524,7 +1524,7 @@ async function checkOnboardingStatus(config, _consoleBase, cwd, doFetch = global
1524
1524
  }
1525
1525
  async function checkVersionDrift(cwd, doFetch) {
1526
1526
  const checks = [];
1527
- const { MUSHI_CLI_VERSION: MUSHI_CLI_VERSION2 } = await import("./version-A76DBKDU.js");
1527
+ const { MUSHI_CLI_VERSION: MUSHI_CLI_VERSION2 } = await import("./version-HJSICWYN.js");
1528
1528
  if (MUSHI_CLI_VERSION2 === "0.0.0-dev") return checks;
1529
1529
  const parse2 = (v) => {
1530
1530
  const m = v.replace(/^[~^]/, "").match(/^(\d+)\.(\d+)\.(\d+)/);
@@ -2448,7 +2448,7 @@ async function maybeOfferConnect(credentials, options, _consoleBase) {
2448
2448
  if (p.isCancel(answer) || !answer) return;
2449
2449
  const endpoint = resolveCloudEndpoint(options.endpoint);
2450
2450
  try {
2451
- const { runConnect: runConnect2 } = await import("./connect-YK4ZIGTY.js");
2451
+ const { runConnect: runConnect2 } = await import("./connect-RZUYFR66.js");
2452
2452
  const saved = loadConfig();
2453
2453
  const result = await runConnect2(
2454
2454
  {
@@ -2784,6 +2784,13 @@ Useful after 'mushi login' to confirm credentials are correct.`).action(async (o
2784
2784
  console.log(` Project: ${d.project_name} (${d.project_id})`);
2785
2785
  console.log(` Endpoint: ${config.endpoint}`);
2786
2786
  console.log(` Reports: ${d.stats.total_reports} total \xB7 ${d.stats.open_reports} open`);
2787
+ if (d.scopes) {
2788
+ console.log(` Scopes: ${d.scopes.length > 0 ? d.scopes.join(", ") : "none"}`);
2789
+ if (!d.scopes.includes("mcp:read") && !d.scopes.includes("mcp:write")) {
2790
+ console.log(" \u26A0 This is an SDK key: it can send reports but not read them. The CLI and MCP need mcp:read.");
2791
+ console.log(" Mint one on the console MCP page, or run `mushi login`.");
2792
+ }
2793
+ }
2787
2794
  }
2788
2795
  });
2789
2796
  program2.command("ping").description("Check connectivity to the Mushi backend").option("--json", "Machine-readable JSON output").action(async (opts) => {
@@ -5162,18 +5169,18 @@ function registerTddCommands(program2) {
5162
5169
  config
5163
5170
  );
5164
5171
  if (!runsRes.ok) break;
5165
- const run2 = runsRes.data.runs.find((r) => r.id === res.data.runId);
5166
- if (!run2) break;
5167
- if (run2.status === "completed") {
5172
+ const run = runsRes.data.runs.find((r) => r.id === res.data.runId);
5173
+ if (!run) break;
5174
+ if (run.status === "completed") {
5168
5175
  console.log(`
5169
- \u2713 Done! ${run2.pages_crawled ?? 0} pages crawled.`);
5170
- if (run2.proposal_id) console.log(` Proposal id: ${run2.proposal_id}`);
5176
+ \u2713 Done! ${run.pages_crawled ?? 0} pages crawled.`);
5177
+ if (run.proposal_id) console.log(` Proposal id: ${run.proposal_id}`);
5171
5178
  console.log(` Review in the console: Inventory \u2192 Discovery \u2192 Past proposals`);
5172
5179
  break;
5173
5180
  }
5174
- if (run2.status === "failed") {
5181
+ if (run.status === "failed") {
5175
5182
  console.error(`
5176
- \u2717 Crawl failed: ${run2.error_message ?? "unknown"}`);
5183
+ \u2717 Crawl failed: ${run.error_message ?? "unknown"}`);
5177
5184
  process.exit(1);
5178
5185
  }
5179
5186
  process.stdout.write(".");
@@ -5933,9 +5940,9 @@ Examples:
5933
5940
  }
5934
5941
  if (data.gate_runs.length > 0) {
5935
5942
  console.log("\nGate Results:");
5936
- for (const run2 of data.gate_runs) {
5937
- const g = run2.status === "pass" ? "OK" : run2.status === "fail" ? "FAIL" : "SKIP";
5938
- console.log(` ${g} ${run2.gate.padEnd(22)} ${run2.status} (${run2.findings_count} finding${run2.findings_count !== 1 ? "s" : ""})`);
5943
+ for (const run of data.gate_runs) {
5944
+ const g = run.status === "pass" ? "OK" : run.status === "fail" ? "FAIL" : "SKIP";
5945
+ console.log(` ${g} ${run.gate.padEnd(22)} ${run.status} (${run.findings_count} finding${run.findings_count !== 1 ? "s" : ""})`);
5939
5946
  }
5940
5947
  }
5941
5948
  const refresh = data.gate_refresh;
@@ -6218,25 +6225,25 @@ Pipeline started!
6218
6225
  console.log(JSON.stringify(result.data, null, 2));
6219
6226
  return;
6220
6227
  }
6221
- const run2 = result.data;
6222
- const statusIcon = run2.status === "completed" ? "\u2705" : run2.status === "failed" ? "\u274C" : run2.status === "running" ? "\u23F3" : "\u26AA";
6228
+ const run = result.data;
6229
+ const statusIcon = run.status === "completed" ? "\u2705" : run.status === "failed" ? "\u274C" : run.status === "running" ? "\u23F3" : "\u26AA";
6223
6230
  console.log(`
6224
- ${statusIcon} Pipeline ${runId.slice(0, 8)} \xB7 ${run2.root_skill_slug} \xB7 ${run2.mode}
6231
+ ${statusIcon} Pipeline ${runId.slice(0, 8)} \xB7 ${run.root_skill_slug} \xB7 ${run.mode}
6225
6232
  `);
6226
- const steps = run2.steps ?? [];
6233
+ const steps = run.steps ?? [];
6227
6234
  for (const step of steps) {
6228
6235
  const icon = step.status === "passed" ? "\u2705" : step.status === "failed" ? "\u274C" : step.status === "running" ? "\u23F3" : "\u26AA";
6229
6236
  const pr = step.pr_url ? ` \u2192 ${step.pr_url}` : "";
6230
6237
  console.log(` ${icon} Step ${step.step_index + 1}: ${step.skill_slug}${pr}`);
6231
6238
  if (step.notes) console.log(` ${step.notes}`);
6232
6239
  }
6233
- if (run2.context_packet) {
6240
+ if (run.context_packet) {
6234
6241
  console.log(`
6235
6242
  ${"\u2500".repeat(60)}`);
6236
6243
  console.log(`Context Packet (paste into your Cursor agent):
6237
6244
  `);
6238
- console.log(run2.context_packet.slice(0, 6e3));
6239
- if (run2.context_packet.length > 6e3) console.log("\n\u2026 [truncated \u2014 full packet via --json]");
6245
+ console.log(run.context_packet.slice(0, 6e3));
6246
+ if (run.context_packet.length > 6e3) console.log("\n\u2026 [truncated \u2014 full packet via --json]");
6240
6247
  }
6241
6248
  console.log();
6242
6249
  });
@@ -6498,7 +6505,7 @@ Examples:
6498
6505
  }
6499
6506
 
6500
6507
  // src/commands/selfhost.ts
6501
- import { execSync as execSync3, spawnSync } from "child_process";
6508
+ import { spawnSync } from "child_process";
6502
6509
  import { randomBytes } from "crypto";
6503
6510
  function hasSupabaseCli() {
6504
6511
  try {
@@ -6508,28 +6515,28 @@ function hasSupabaseCli() {
6508
6515
  return false;
6509
6516
  }
6510
6517
  }
6511
- function run(cmd, opts) {
6512
- if (opts.printOnly) {
6513
- console.log(` $ ${cmd}`);
6514
- return { ok: true, stdout: "", stderr: "" };
6515
- }
6516
- const label = opts.label ?? cmd.slice(0, 60);
6517
- process.stdout.write(` \u203A ${label} \u2026 `);
6518
- try {
6519
- const out = execSync3(cmd, {
6520
- cwd: opts.cwd,
6521
- encoding: "utf8",
6522
- timeout: 3e5,
6523
- stdio: ["ignore", "pipe", "pipe"]
6524
- });
6525
- process.stdout.write("\u2713\n");
6526
- return { ok: true, stdout: out, stderr: "" };
6527
- } catch (err) {
6518
+ function selfhostStepCommand(step) {
6519
+ return `supabase ${step.args.join(" ")}${step.mayFail ? " || true" : ""}`;
6520
+ }
6521
+ function runSupabase(args, opts) {
6522
+ process.stdout.write(` \u203A ${opts.label} \u2026 `);
6523
+ const r = spawnSync("supabase", args, {
6524
+ cwd: opts.cwd,
6525
+ encoding: "utf8",
6526
+ timeout: 3e5,
6527
+ stdio: ["ignore", "pipe", "pipe"]
6528
+ });
6529
+ if (r.error || r.status !== 0) {
6528
6530
  process.stdout.write("\u2717\n");
6529
- const msg = (err instanceof Error ? err.message : String(err)).trim();
6530
- const stderr = err.stderr ?? "";
6531
- return { ok: false, stdout: "", stderr: stderr || msg };
6531
+ const stderr = (r.stderr ?? "").trim();
6532
+ return {
6533
+ ok: false,
6534
+ stdout: r.stdout ?? "",
6535
+ stderr: stderr || r.error?.message || `exited with ${r.status ?? r.signal}`
6536
+ };
6532
6537
  }
6538
+ process.stdout.write("\u2713\n");
6539
+ return { ok: true, stdout: r.stdout, stderr: "" };
6533
6540
  }
6534
6541
  var REQUIRED_FUNCTIONS = [
6535
6542
  "api",
@@ -6539,55 +6546,43 @@ var REQUIRED_FUNCTIONS = [
6539
6546
  "fix-worker",
6540
6547
  "webhooks-github-indexer"
6541
6548
  ];
6542
- async function runSelfhostUp(opts) {
6543
- const supabaseDir = opts.cwd ? `${opts.cwd}/packages/server/supabase` : "packages/server/supabase";
6544
- const printOnly = !!(opts.printCommands || !hasSupabaseCli());
6545
- if (printOnly) {
6546
- console.log("");
6547
- console.log("supabase CLI not found (or --print-commands was passed).");
6548
- console.log("Run the following commands manually:\n");
6549
- } else {
6550
- console.log("");
6551
- console.log("mushi selfhost up \u2014 deploying self-hosted Mushi Mushi\n");
6552
- }
6549
+ function buildSelfhostSteps(opts, printOnly, internalToken) {
6553
6550
  const steps = [];
6554
6551
  if (opts.projectRef && !/^[a-z0-9-]+$/i.test(opts.projectRef)) {
6555
- process.stderr.write(`\u2717 --project-ref must be alphanumeric (got: ${opts.projectRef}).
6556
- `);
6557
- process.exit(1);
6552
+ return { ok: false, error: `--project-ref must be alphanumeric (got: ${opts.projectRef}).` };
6558
6553
  }
6559
6554
  if (opts.projectRef) {
6560
6555
  steps.push({
6561
6556
  label: `link to Supabase project ${opts.projectRef}`,
6562
- cmd: `supabase link --project-ref ${opts.projectRef}`,
6557
+ args: ["link", "--project-ref", opts.projectRef],
6563
6558
  critical: true
6564
6559
  });
6565
6560
  }
6566
6561
  steps.push({
6567
6562
  label: "apply database migrations",
6568
- cmd: "supabase db push",
6563
+ args: ["db", "push"],
6569
6564
  critical: true
6570
6565
  });
6571
6566
  if (opts.anthropicKey && printOnly) {
6572
6567
  steps.push({
6573
6568
  label: "set ANTHROPIC_API_KEY secret",
6574
- cmd: "supabase secrets set ANTHROPIC_API_KEY=sk-ant-..."
6569
+ args: ["secrets", "set", "ANTHROPIC_API_KEY=sk-ant-..."]
6575
6570
  });
6576
6571
  } else if (opts.anthropicKey) {
6577
6572
  if (!/^[A-Za-z0-9_-]+$/.test(opts.anthropicKey)) {
6578
- process.stderr.write(
6579
- "\u2717 --anthropic-key contains characters that cannot be passed through the shell safely.\n Set it manually instead: supabase secrets set ANTHROPIC_API_KEY=<your key>\n"
6580
- );
6581
- process.exit(1);
6573
+ return {
6574
+ ok: false,
6575
+ error: "--anthropic-key does not look like an API key (letters, digits, - and _ only).\n Set it manually instead: supabase secrets set ANTHROPIC_API_KEY=<your key>"
6576
+ };
6582
6577
  }
6583
6578
  steps.push({
6584
6579
  label: "set ANTHROPIC_API_KEY secret",
6585
- cmd: `supabase secrets set ANTHROPIC_API_KEY=${opts.anthropicKey}`
6580
+ args: ["secrets", "set", `ANTHROPIC_API_KEY=${opts.anthropicKey}`]
6586
6581
  });
6587
6582
  } else if (printOnly) {
6588
6583
  steps.push({
6589
6584
  label: "set ANTHROPIC_API_KEY secret",
6590
- cmd: "supabase secrets set ANTHROPIC_API_KEY=sk-ant-..."
6585
+ args: ["secrets", "set", "ANTHROPIC_API_KEY=sk-ant-..."]
6591
6586
  });
6592
6587
  }
6593
6588
  if (opts.adminBaseUrl) {
@@ -6599,43 +6594,65 @@ async function runSelfhostUp(opts) {
6599
6594
  adminUrlOk = false;
6600
6595
  }
6601
6596
  if (!adminUrlOk) {
6602
- process.stderr.write(
6603
- `\u2717 --admin-base-url must be a plain http(s) URL (got: ${opts.adminBaseUrl}).
6604
- `
6605
- );
6606
- process.exit(1);
6597
+ return { ok: false, error: `--admin-base-url must be a plain http(s) URL (got: ${opts.adminBaseUrl}).` };
6607
6598
  }
6608
6599
  steps.push({
6609
6600
  label: "set ADMIN_BASE_URL secret",
6610
- cmd: `supabase secrets set ADMIN_BASE_URL=${opts.adminBaseUrl}`
6601
+ args: ["secrets", "set", `ADMIN_BASE_URL=${opts.adminBaseUrl}`]
6611
6602
  });
6612
6603
  }
6613
- const internalToken = randomBytes(32).toString("hex");
6614
6604
  steps.push({
6615
6605
  label: "set MUSHI_INTERNAL_CALLER_SECRET (recovery cron auth)",
6616
- cmd: `supabase secrets set MUSHI_INTERNAL_CALLER_SECRET=${printOnly ? "<openssl rand -hex 32>" : internalToken}`
6606
+ args: [
6607
+ "secrets",
6608
+ "set",
6609
+ `MUSHI_INTERNAL_CALLER_SECRET=${printOnly ? "<openssl rand -hex 32>" : internalToken}`
6610
+ ]
6617
6611
  });
6618
6612
  if (!opts.skipDeploy) {
6619
6613
  for (const fn of REQUIRED_FUNCTIONS) {
6620
6614
  steps.push({
6621
6615
  label: `deploy edge function: ${fn}`,
6622
- cmd: `supabase functions deploy ${fn} --no-verify-jwt`
6616
+ args: ["functions", "deploy", fn, "--no-verify-jwt"]
6623
6617
  });
6624
6618
  }
6625
6619
  }
6626
6620
  steps.push({
6627
6621
  label: "create screenshots storage bucket",
6628
- cmd: "supabase storage create screenshots --public || true"
6622
+ args: ["storage", "create", "screenshots", "--public"],
6623
+ mayFail: true
6629
6624
  });
6625
+ return { ok: true, steps };
6626
+ }
6627
+ async function runSelfhostUp(opts) {
6628
+ const supabaseDir = opts.cwd ? `${opts.cwd}/packages/server/supabase` : "packages/server/supabase";
6629
+ const printOnly = !!(opts.printCommands || !hasSupabaseCli());
6630
+ if (printOnly) {
6631
+ console.log("");
6632
+ console.log("supabase CLI not found (or --print-commands was passed).");
6633
+ console.log("Run the following commands manually:\n");
6634
+ } else {
6635
+ console.log("");
6636
+ console.log("mushi selfhost up \u2014 deploying self-hosted Mushi Mushi\n");
6637
+ }
6638
+ const built = buildSelfhostSteps(opts, printOnly, randomBytes(32).toString("hex"));
6639
+ if (!built.ok) {
6640
+ process.stderr.write(`\u2717 ${built.error}
6641
+ `);
6642
+ process.exit(1);
6643
+ }
6630
6644
  let aborted = false;
6631
- for (const step of steps) {
6645
+ for (const step of built.steps) {
6632
6646
  if (printOnly) {
6633
6647
  console.log(`# ${step.label}`);
6634
- run(step.cmd, { printOnly: true });
6648
+ console.log(` $ ${selfhostStepCommand(step)}`);
6635
6649
  console.log("");
6636
6650
  } else {
6637
- const result = run(step.cmd, { label: step.label, cwd: supabaseDir });
6638
- if (!result.ok) {
6651
+ const result = runSupabase(step.args, { label: step.label, cwd: supabaseDir });
6652
+ if (!result.ok && step.mayFail) {
6653
+ process.stdout.write(` (fine if it already exists) ${result.stderr.split("\n")[0]}
6654
+ `);
6655
+ } else if (!result.ok) {
6639
6656
  if (result.stderr) {
6640
6657
  process.stderr.write(` ${result.stderr.split("\n")[0]}
6641
6658
  `);
@@ -10678,8 +10695,8 @@ function registerUxRunsCommands(program2) {
10678
10695
  console.log(JSON.stringify(result.data, null, 2));
10679
10696
  return;
10680
10697
  }
10681
- const { run: run2, surfaces } = result.data;
10682
- if (run2.branch) console.log(`Kept changes: ${run2.branch}
10698
+ const { run, surfaces } = result.data;
10699
+ if (run.branch) console.log(`Kept changes: ${run.branch}
10683
10700
  `);
10684
10701
  const order = ["regressed", "reverted", "blocked", "iterating", "baseline", "accepted", "skipped", "pending"];
10685
10702
  for (const s of [...surfaces].sort((a, b) => order.indexOf(a.status) - order.indexOf(b.status))) {
package/dist/init.js CHANGED
@@ -25,10 +25,10 @@ import {
25
25
  saveConfig,
26
26
  savedSdkKeyFor,
27
27
  trySaveKeyToKeychain
28
- } from "./chunk-BES6PACT.js";
28
+ } from "./chunk-LBVNX3PN.js";
29
29
  import {
30
30
  MUSHI_CLI_VERSION
31
- } from "./chunk-Q77VOS7K.js";
31
+ } from "./chunk-ZQFQRBNL.js";
32
32
  import {
33
33
  FRAMEWORKS,
34
34
  detectFramework,
@@ -2037,7 +2037,7 @@ async function maybeOfferConnect(credentials, options, _consoleBase) {
2037
2037
  if (p.isCancel(answer) || !answer) return;
2038
2038
  const endpoint = resolveCloudEndpoint(options.endpoint);
2039
2039
  try {
2040
- const { runConnect } = await import("./connect-36RAPZOG.js");
2040
+ const { runConnect } = await import("./connect-Y77XNVUP.js");
2041
2041
  const saved = loadConfig();
2042
2042
  const result = await runConnect(
2043
2043
  {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  MUSHI_CLI_VERSION,
4
4
  MUSHI_MCP_PIN_SPEC
5
- } from "./chunk-UVAVIRFO.js";
5
+ } from "./chunk-VJZVFEMZ.js";
6
6
  import "./chunk-PDX44BCA.js";
7
7
  export {
8
8
  MUSHI_CLI_VERSION,
package/dist/version.d.ts CHANGED
@@ -14,6 +14,6 @@ declare const MUSHI_CLI_VERSION: string;
14
14
  * setup refreshes the pin. Synced to packages/mcp/package.json by
15
15
  * `scripts/sync-mcp-pin.mjs` — never hand-edit the version.
16
16
  */
17
- declare const MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.4";
17
+ declare const MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.6";
18
18
 
19
19
  export { MUSHI_CLI_VERSION, MUSHI_MCP_PIN_SPEC };
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MUSHI_CLI_VERSION,
3
3
  MUSHI_MCP_PIN_SPEC
4
- } from "./chunk-Q77VOS7K.js";
4
+ } from "./chunk-ZQFQRBNL.js";
5
5
  import "./chunk-3RG5ZIWI.js";
6
6
  export {
7
7
  MUSHI_CLI_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mushi-mushi/cli",
3
- "version": "0.30.1",
3
+ "version": "0.30.3",
4
4
  "license": "MIT",
5
5
  "description": "Mushi CLI: SDK setup, MCP wiring, bug triage. The bug mediator for AI-built apps: plain-English diagnosis + a ready fix, in your editor.",
6
6
  "bin": {
@@ -1,8 +0,0 @@
1
- // src/version.ts
2
- var MUSHI_CLI_VERSION = true ? "0.30.1" : "0.0.0-dev";
3
- var MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.4";
4
-
5
- export {
6
- MUSHI_CLI_VERSION,
7
- MUSHI_MCP_PIN_SPEC
8
- };
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- // src/version.ts
4
- var MUSHI_CLI_VERSION = true ? "0.30.1" : "0.0.0-dev";
5
- var MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.4";
6
-
7
- export {
8
- MUSHI_CLI_VERSION,
9
- MUSHI_MCP_PIN_SPEC
10
- };