@mushi-mushi/cli 0.30.2 → 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-P7JI5H57.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-X67SYMCO.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-AHDD44WU.js";
6
- import "./chunk-X67SYMCO.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-AJ6TRLJX.js";
9
+ } from "./chunk-LBVNX3PN.js";
10
10
  import {
11
11
  MUSHI_MCP_PIN_SPEC
12
- } from "./chunk-P7JI5H57.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-AHDD44WU.js";
56
+ } from "./chunk-ZRDGR4TV.js";
57
57
  import {
58
58
  MUSHI_CLI_VERSION,
59
59
  MUSHI_MCP_PIN_SPEC
60
- } from "./chunk-X67SYMCO.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-5BNKTJFR.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-MJFNVD6I.js");
2451
+ const { runConnect: runConnect2 } = await import("./connect-RZUYFR66.js");
2452
2452
  const saved = loadConfig();
2453
2453
  const result = await runConnect2(
2454
2454
  {
@@ -5169,18 +5169,18 @@ function registerTddCommands(program2) {
5169
5169
  config
5170
5170
  );
5171
5171
  if (!runsRes.ok) break;
5172
- const run2 = runsRes.data.runs.find((r) => r.id === res.data.runId);
5173
- if (!run2) break;
5174
- 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") {
5175
5175
  console.log(`
5176
- \u2713 Done! ${run2.pages_crawled ?? 0} pages crawled.`);
5177
- 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}`);
5178
5178
  console.log(` Review in the console: Inventory \u2192 Discovery \u2192 Past proposals`);
5179
5179
  break;
5180
5180
  }
5181
- if (run2.status === "failed") {
5181
+ if (run.status === "failed") {
5182
5182
  console.error(`
5183
- \u2717 Crawl failed: ${run2.error_message ?? "unknown"}`);
5183
+ \u2717 Crawl failed: ${run.error_message ?? "unknown"}`);
5184
5184
  process.exit(1);
5185
5185
  }
5186
5186
  process.stdout.write(".");
@@ -5940,9 +5940,9 @@ Examples:
5940
5940
  }
5941
5941
  if (data.gate_runs.length > 0) {
5942
5942
  console.log("\nGate Results:");
5943
- for (const run2 of data.gate_runs) {
5944
- const g = run2.status === "pass" ? "OK" : run2.status === "fail" ? "FAIL" : "SKIP";
5945
- 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" : ""})`);
5946
5946
  }
5947
5947
  }
5948
5948
  const refresh = data.gate_refresh;
@@ -6225,25 +6225,25 @@ Pipeline started!
6225
6225
  console.log(JSON.stringify(result.data, null, 2));
6226
6226
  return;
6227
6227
  }
6228
- const run2 = result.data;
6229
- 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";
6230
6230
  console.log(`
6231
- ${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}
6232
6232
  `);
6233
- const steps = run2.steps ?? [];
6233
+ const steps = run.steps ?? [];
6234
6234
  for (const step of steps) {
6235
6235
  const icon = step.status === "passed" ? "\u2705" : step.status === "failed" ? "\u274C" : step.status === "running" ? "\u23F3" : "\u26AA";
6236
6236
  const pr = step.pr_url ? ` \u2192 ${step.pr_url}` : "";
6237
6237
  console.log(` ${icon} Step ${step.step_index + 1}: ${step.skill_slug}${pr}`);
6238
6238
  if (step.notes) console.log(` ${step.notes}`);
6239
6239
  }
6240
- if (run2.context_packet) {
6240
+ if (run.context_packet) {
6241
6241
  console.log(`
6242
6242
  ${"\u2500".repeat(60)}`);
6243
6243
  console.log(`Context Packet (paste into your Cursor agent):
6244
6244
  `);
6245
- console.log(run2.context_packet.slice(0, 6e3));
6246
- 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]");
6247
6247
  }
6248
6248
  console.log();
6249
6249
  });
@@ -6505,7 +6505,7 @@ Examples:
6505
6505
  }
6506
6506
 
6507
6507
  // src/commands/selfhost.ts
6508
- import { execSync as execSync3, spawnSync } from "child_process";
6508
+ import { spawnSync } from "child_process";
6509
6509
  import { randomBytes } from "crypto";
6510
6510
  function hasSupabaseCli() {
6511
6511
  try {
@@ -6515,28 +6515,28 @@ function hasSupabaseCli() {
6515
6515
  return false;
6516
6516
  }
6517
6517
  }
6518
- function run(cmd, opts) {
6519
- if (opts.printOnly) {
6520
- console.log(` $ ${cmd}`);
6521
- return { ok: true, stdout: "", stderr: "" };
6522
- }
6523
- const label = opts.label ?? cmd.slice(0, 60);
6524
- process.stdout.write(` \u203A ${label} \u2026 `);
6525
- try {
6526
- const out = execSync3(cmd, {
6527
- cwd: opts.cwd,
6528
- encoding: "utf8",
6529
- timeout: 3e5,
6530
- stdio: ["ignore", "pipe", "pipe"]
6531
- });
6532
- process.stdout.write("\u2713\n");
6533
- return { ok: true, stdout: out, stderr: "" };
6534
- } 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) {
6535
6530
  process.stdout.write("\u2717\n");
6536
- const msg = (err instanceof Error ? err.message : String(err)).trim();
6537
- const stderr = err.stderr ?? "";
6538
- 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
+ };
6539
6537
  }
6538
+ process.stdout.write("\u2713\n");
6539
+ return { ok: true, stdout: r.stdout, stderr: "" };
6540
6540
  }
6541
6541
  var REQUIRED_FUNCTIONS = [
6542
6542
  "api",
@@ -6546,55 +6546,43 @@ var REQUIRED_FUNCTIONS = [
6546
6546
  "fix-worker",
6547
6547
  "webhooks-github-indexer"
6548
6548
  ];
6549
- async function runSelfhostUp(opts) {
6550
- const supabaseDir = opts.cwd ? `${opts.cwd}/packages/server/supabase` : "packages/server/supabase";
6551
- const printOnly = !!(opts.printCommands || !hasSupabaseCli());
6552
- if (printOnly) {
6553
- console.log("");
6554
- console.log("supabase CLI not found (or --print-commands was passed).");
6555
- console.log("Run the following commands manually:\n");
6556
- } else {
6557
- console.log("");
6558
- console.log("mushi selfhost up \u2014 deploying self-hosted Mushi Mushi\n");
6559
- }
6549
+ function buildSelfhostSteps(opts, printOnly, internalToken) {
6560
6550
  const steps = [];
6561
6551
  if (opts.projectRef && !/^[a-z0-9-]+$/i.test(opts.projectRef)) {
6562
- process.stderr.write(`\u2717 --project-ref must be alphanumeric (got: ${opts.projectRef}).
6563
- `);
6564
- process.exit(1);
6552
+ return { ok: false, error: `--project-ref must be alphanumeric (got: ${opts.projectRef}).` };
6565
6553
  }
6566
6554
  if (opts.projectRef) {
6567
6555
  steps.push({
6568
6556
  label: `link to Supabase project ${opts.projectRef}`,
6569
- cmd: `supabase link --project-ref ${opts.projectRef}`,
6557
+ args: ["link", "--project-ref", opts.projectRef],
6570
6558
  critical: true
6571
6559
  });
6572
6560
  }
6573
6561
  steps.push({
6574
6562
  label: "apply database migrations",
6575
- cmd: "supabase db push",
6563
+ args: ["db", "push"],
6576
6564
  critical: true
6577
6565
  });
6578
6566
  if (opts.anthropicKey && printOnly) {
6579
6567
  steps.push({
6580
6568
  label: "set ANTHROPIC_API_KEY secret",
6581
- cmd: "supabase secrets set ANTHROPIC_API_KEY=sk-ant-..."
6569
+ args: ["secrets", "set", "ANTHROPIC_API_KEY=sk-ant-..."]
6582
6570
  });
6583
6571
  } else if (opts.anthropicKey) {
6584
6572
  if (!/^[A-Za-z0-9_-]+$/.test(opts.anthropicKey)) {
6585
- process.stderr.write(
6586
- "\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"
6587
- );
6588
- 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
+ };
6589
6577
  }
6590
6578
  steps.push({
6591
6579
  label: "set ANTHROPIC_API_KEY secret",
6592
- cmd: `supabase secrets set ANTHROPIC_API_KEY=${opts.anthropicKey}`
6580
+ args: ["secrets", "set", `ANTHROPIC_API_KEY=${opts.anthropicKey}`]
6593
6581
  });
6594
6582
  } else if (printOnly) {
6595
6583
  steps.push({
6596
6584
  label: "set ANTHROPIC_API_KEY secret",
6597
- cmd: "supabase secrets set ANTHROPIC_API_KEY=sk-ant-..."
6585
+ args: ["secrets", "set", "ANTHROPIC_API_KEY=sk-ant-..."]
6598
6586
  });
6599
6587
  }
6600
6588
  if (opts.adminBaseUrl) {
@@ -6606,43 +6594,65 @@ async function runSelfhostUp(opts) {
6606
6594
  adminUrlOk = false;
6607
6595
  }
6608
6596
  if (!adminUrlOk) {
6609
- process.stderr.write(
6610
- `\u2717 --admin-base-url must be a plain http(s) URL (got: ${opts.adminBaseUrl}).
6611
- `
6612
- );
6613
- process.exit(1);
6597
+ return { ok: false, error: `--admin-base-url must be a plain http(s) URL (got: ${opts.adminBaseUrl}).` };
6614
6598
  }
6615
6599
  steps.push({
6616
6600
  label: "set ADMIN_BASE_URL secret",
6617
- cmd: `supabase secrets set ADMIN_BASE_URL=${opts.adminBaseUrl}`
6601
+ args: ["secrets", "set", `ADMIN_BASE_URL=${opts.adminBaseUrl}`]
6618
6602
  });
6619
6603
  }
6620
- const internalToken = randomBytes(32).toString("hex");
6621
6604
  steps.push({
6622
6605
  label: "set MUSHI_INTERNAL_CALLER_SECRET (recovery cron auth)",
6623
- 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
+ ]
6624
6611
  });
6625
6612
  if (!opts.skipDeploy) {
6626
6613
  for (const fn of REQUIRED_FUNCTIONS) {
6627
6614
  steps.push({
6628
6615
  label: `deploy edge function: ${fn}`,
6629
- cmd: `supabase functions deploy ${fn} --no-verify-jwt`
6616
+ args: ["functions", "deploy", fn, "--no-verify-jwt"]
6630
6617
  });
6631
6618
  }
6632
6619
  }
6633
6620
  steps.push({
6634
6621
  label: "create screenshots storage bucket",
6635
- cmd: "supabase storage create screenshots --public || true"
6622
+ args: ["storage", "create", "screenshots", "--public"],
6623
+ mayFail: true
6636
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
+ }
6637
6644
  let aborted = false;
6638
- for (const step of steps) {
6645
+ for (const step of built.steps) {
6639
6646
  if (printOnly) {
6640
6647
  console.log(`# ${step.label}`);
6641
- run(step.cmd, { printOnly: true });
6648
+ console.log(` $ ${selfhostStepCommand(step)}`);
6642
6649
  console.log("");
6643
6650
  } else {
6644
- const result = run(step.cmd, { label: step.label, cwd: supabaseDir });
6645
- 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) {
6646
6656
  if (result.stderr) {
6647
6657
  process.stderr.write(` ${result.stderr.split("\n")[0]}
6648
6658
  `);
@@ -10685,8 +10695,8 @@ function registerUxRunsCommands(program2) {
10685
10695
  console.log(JSON.stringify(result.data, null, 2));
10686
10696
  return;
10687
10697
  }
10688
- const { run: run2, surfaces } = result.data;
10689
- 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}
10690
10700
  `);
10691
10701
  const order = ["regressed", "reverted", "blocked", "iterating", "baseline", "accepted", "skipped", "pending"];
10692
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-AJ6TRLJX.js";
28
+ } from "./chunk-LBVNX3PN.js";
29
29
  import {
30
30
  MUSHI_CLI_VERSION
31
- } from "./chunk-P7JI5H57.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-4TSPUKYX.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-X67SYMCO.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.5";
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-P7JI5H57.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.2",
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.2" : "0.0.0-dev";
3
- var MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.5";
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.2" : "0.0.0-dev";
5
- var MUSHI_MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.5";
6
-
7
- export {
8
- MUSHI_CLI_VERSION,
9
- MUSHI_MCP_PIN_SPEC
10
- };