@moda-ai/cli 1.55.26 → 1.55.27

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 (30) hide show
  1. package/dist/{agent-nqmha8ck.js → agent-vp9prdma.js} +8 -8
  2. package/dist/{cli-k6q8dbpk.js → cli-0pkc8jhg.js} +3 -3
  3. package/dist/{cli-5g1tv80h.js → cli-4h0ave0f.js} +5 -5
  4. package/dist/{cli-8tfk8qeb.js → cli-6et4z504.js} +7 -6
  5. package/dist/{cli-1mbb0ct0.js → cli-ccjfwzqx.js} +1 -1
  6. package/dist/{cli-q6f6vrrr.js → cli-hmjdgxrn.js} +1 -1
  7. package/dist/{cli-jtyvbd8d.js → cli-pg5qfmqc.js} +1 -1
  8. package/dist/{cli-b4740tnv.js → cli-q9nsvqqg.js} +14 -14
  9. package/dist/{cli-d577kq6h.js → cli-qwgct6x7.js} +7 -6
  10. package/dist/{cli-sqsjd08w.js → cli-r5pp7qny.js} +64 -438
  11. package/dist/{cli-cdrvjva5.js → cli-v8q7sd7g.js} +28 -6
  12. package/dist/cli-vdkwkkp5.js +567 -0
  13. package/dist/{cli-jgfm7w1r.js → cli-wzds257x.js} +5 -4
  14. package/dist/cli.js +299 -151
  15. package/dist/{doctor-w913fj4g.js → doctor-wmre3mr7.js} +8 -8
  16. package/dist/{fix-crkwdkt4.js → fix-75s9s0d6.js} +45 -47
  17. package/dist/{harness-x3e7d68b.js → harness-a7tb9a23.js} +5 -5
  18. package/dist/{harness-github-actions-fjhvhgpj.js → harness-github-actions-6v4wydb8.js} +5 -5
  19. package/dist/{index-2kf3fnnb.js → index-91bpc8g8.js} +15 -14
  20. package/dist/{production-intelligence-7n83c701.js → production-intelligence-7nqddd4f.js} +15 -15
  21. package/dist/{profile-commands-ct2t0bfr.js → profile-commands-49yn02yg.js} +5 -4
  22. package/dist/prompt-source-mcp.js +5 -5
  23. package/dist/{prompts-92aqqb2k.js → prompts-17wyrst6.js} +6 -6
  24. package/dist/{provision-gn8raqpt.js → provision-bc3h68e1.js} +5 -5
  25. package/dist/{registry-ex162j5y.js → registry-fpzhjznj.js} +3 -3
  26. package/dist/{skills-2mbsj9bt.js → skills-ccdbqghj.js} +5 -5
  27. package/dist/{sync-kghmmmk5.js → sync-hkxce5zh.js} +7 -7
  28. package/package.json +1 -1
  29. package/skills/integration/index.json +2 -2
  30. package/dist/cli-bb7133m7.js +0 -144
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  buildDoctorReport
3
- } from "./cli-5g1tv80h.js";
4
- import"./cli-q6f6vrrr.js";
5
- import"./cli-b4740tnv.js";
3
+ } from "./cli-4h0ave0f.js";
4
+ import"./cli-hmjdgxrn.js";
5
+ import"./cli-q9nsvqqg.js";
6
6
  import"./cli-mm48br00.js";
7
7
  import {
8
8
  HARNESS_REPORT_APPROVAL_PATH,
@@ -14,18 +14,18 @@ import {
14
14
  readHarnessSyncState,
15
15
  summarizeHarness,
16
16
  validateHarnessReport
17
- } from "./cli-d577kq6h.js";
17
+ } from "./cli-qwgct6x7.js";
18
18
  import"./cli-97fnztpy.js";
19
- import"./cli-cdrvjva5.js";
20
- import"./cli-jgfm7w1r.js";
21
- import"./cli-jtyvbd8d.js";
19
+ import"./cli-v8q7sd7g.js";
20
+ import"./cli-wzds257x.js";
21
+ import"./cli-pg5qfmqc.js";
22
22
  import {
23
23
  CliInputError,
24
24
  resolveApiKey,
25
25
  resolveIngestUrl,
26
26
  resolveModaBaseUrl,
27
27
  resolveTenantId
28
- } from "./cli-sqsjd08w.js";
28
+ } from "./cli-r5pp7qny.js";
29
29
  import"./cli-0v6na3yp.js";
30
30
 
31
31
  // src/agent.ts
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  fetchApiKeyProbe
3
- } from "./cli-1mbb0ct0.js";
3
+ } from "./cli-ccjfwzqx.js";
4
4
  import {
5
5
  authFetch,
6
6
  getCachedLoginContext
7
- } from "./cli-q6f6vrrr.js";
7
+ } from "./cli-hmjdgxrn.js";
8
8
  import {
9
9
  CliAccessError,
10
10
  CliInputError,
@@ -18,7 +18,7 @@ import {
18
18
  resolveTenantIdFromActiveProfile,
19
19
  saveCliConfig,
20
20
  writeSecretJsonFile
21
- } from "./cli-sqsjd08w.js";
21
+ } from "./cli-r5pp7qny.js";
22
22
 
23
23
  // src/init/tenant.ts
24
24
  import { randomUUID } from "node:crypto";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  isAuthSessionValid,
3
3
  loadAuthSession
4
- } from "./cli-q6f6vrrr.js";
4
+ } from "./cli-hmjdgxrn.js";
5
5
  import {
6
6
  inspectPromptManifest
7
- } from "./cli-b4740tnv.js";
7
+ } from "./cli-q9nsvqqg.js";
8
8
  import {
9
9
  readHarnessSyncState,
10
10
  renderDoctorHuman,
11
11
  renderStatusHuman,
12
12
  scanHarness
13
- } from "./cli-d577kq6h.js";
13
+ } from "./cli-qwgct6x7.js";
14
14
  import {
15
15
  callDataAPI
16
- } from "./cli-jtyvbd8d.js";
16
+ } from "./cli-pg5qfmqc.js";
17
17
  import {
18
18
  ensureSecretFilePermissions,
19
19
  getActiveProfile,
@@ -27,7 +27,7 @@ import {
27
27
  resolveSecretReference,
28
28
  resolveTenantId,
29
29
  secretFilePathFromRef
30
- } from "./cli-sqsjd08w.js";
30
+ } from "./cli-r5pp7qny.js";
31
31
 
32
32
  // src/doctor.ts
33
33
  import { createHash } from "node:crypto";
@@ -1,21 +1,22 @@
1
1
  import {
2
2
  createCommandContext
3
- } from "./cli-cdrvjva5.js";
3
+ } from "./cli-v8q7sd7g.js";
4
4
  import {
5
5
  assertFlags,
6
6
  assertPositionals,
7
7
  writeDryRun
8
- } from "./cli-jgfm7w1r.js";
8
+ } from "./cli-wzds257x.js";
9
9
  import {
10
10
  callControlAPI
11
- } from "./cli-jtyvbd8d.js";
11
+ } from "./cli-pg5qfmqc.js";
12
12
  import {
13
13
  CliInputError,
14
14
  recordApiRequest,
15
15
  resolveApiKey,
16
16
  resolveIngestUrl,
17
- resolveTenantId
18
- } from "./cli-sqsjd08w.js";
17
+ resolveTenantId,
18
+ shellArg
19
+ } from "./cli-r5pp7qny.js";
19
20
  import {
20
21
  SKILL_SOURCE_HARNESS,
21
22
  SKILL_SOURCE_INTEGRATION_BUNDLED,
@@ -672,7 +673,7 @@ async function runSkillsCommand(input) {
672
673
  "accepted: true",
673
674
  result.generation_run_id && `generation_run_id: ${result.generation_run_id}`,
674
675
  result.message && `message: ${result.message}`,
675
- result.generation_run_id && `follow progress: moda skills status ${result.generation_run_id}`
676
+ result.generation_run_id && `follow progress: moda skills status ${shellArg(result.generation_run_id)}`
676
677
  ].filter(Boolean).join(`
677
678
  `));
678
679
  } else {
@@ -5,7 +5,7 @@ import {
5
5
  resolveApiKey,
6
6
  resolveApiKeyFromActiveProfile,
7
7
  resolveModaBaseUrl
8
- } from "./cli-sqsjd08w.js";
8
+ } from "./cli-r5pp7qny.js";
9
9
 
10
10
  // src/api-key-auth.ts
11
11
  var PROBE_TIMEOUT_MS = 1e4;
@@ -8,7 +8,7 @@ import {
8
8
  saveProfileConfig,
9
9
  secretFilePathFromRef,
10
10
  writeSecretJsonFile
11
- } from "./cli-sqsjd08w.js";
11
+ } from "./cli-r5pp7qny.js";
12
12
  import {
13
13
  __require
14
14
  } from "./cli-0v6na3yp.js";
@@ -3,7 +3,7 @@ import {
3
3
  recordApiRequest,
4
4
  resolveApiKey,
5
5
  resolveModaBaseUrl
6
- } from "./cli-sqsjd08w.js";
6
+ } from "./cli-r5pp7qny.js";
7
7
 
8
8
  // src/api-client.ts
9
9
  var REQUEST_TIMEOUT_MS = 30000;
@@ -12,27 +12,28 @@ import {
12
12
  require_typescript,
13
13
  resolvePromptSource,
14
14
  safePromptEvidencePath
15
- } from "./cli-d577kq6h.js";
15
+ } from "./cli-qwgct6x7.js";
16
16
  import {
17
17
  createCommandContext
18
- } from "./cli-cdrvjva5.js";
18
+ } from "./cli-v8q7sd7g.js";
19
19
  import {
20
20
  UUID_RE,
21
21
  assertFlags,
22
22
  assertPositionals
23
- } from "./cli-jgfm7w1r.js";
23
+ } from "./cli-wzds257x.js";
24
24
  import {
25
25
  callControlAPI,
26
26
  callDataAPI
27
- } from "./cli-jtyvbd8d.js";
27
+ } from "./cli-pg5qfmqc.js";
28
28
  import {
29
29
  CliInputError,
30
30
  EXIT_ERROR,
31
31
  EXIT_OK,
32
32
  resolveApiTenantId,
33
33
  setPlatformTenantOverride,
34
+ shellArg,
34
35
  validateConfig
35
- } from "./cli-sqsjd08w.js";
36
+ } from "./cli-r5pp7qny.js";
36
37
  import {
37
38
  __commonJS,
38
39
  __require,
@@ -6020,12 +6021,11 @@ function assertAllowedModel(raw, flags, flagName) {
6020
6021
  throw new CliInputError(`${flagName}=${model} is not in the replay model allowlist, so nothing was sent.`, `Allowed: ${REPLAY_MODEL_ALLOWLIST.join(", ")}. Pass --allow-any-model to use another OpenRouter slug.`);
6021
6022
  }
6022
6023
  function rerunWithYes(command, positionals, flags) {
6023
- const quote = (v) => /^[\w@%+=:,./-]+$/.test(v) ? v : `'${v.replace(/'/g, `'\\''`)}'`;
6024
- const parts = ["moda", ...command.split(" "), ...positionals.map(quote)];
6024
+ const parts = ["moda", ...command.split(" "), ...positionals.map(shellArg)];
6025
6025
  for (const [key, value] of Object.entries(flags)) {
6026
6026
  if (key === "yes")
6027
6027
  continue;
6028
- parts.push(value === "true" ? `--${key}` : `--${key}=${quote(value)}`);
6028
+ parts.push(value === "true" ? `--${key}` : `--${key}=${shellArg(value)}`);
6029
6029
  }
6030
6030
  parts.push("--yes");
6031
6031
  return parts.join(" ");
@@ -6469,7 +6469,7 @@ function printHuman(result, outPath, gate) {
6469
6469
  }
6470
6470
  w("");
6471
6471
  if (!gate.promoted) {
6472
- w(` moda prompts promote ${result.promptKey} --label=prod --version=${result.versionId}`);
6472
+ w(` moda prompts promote ${shellArg(result.promptKey)} --label=prod --version=${result.versionId ? shellArg(result.versionId) : "<version_id>"}`);
6473
6473
  }
6474
6474
  return;
6475
6475
  }
@@ -6484,13 +6484,13 @@ function printHuman(result, outPath, gate) {
6484
6484
  w(" (too few failures to reserve a holdout — gate on a fresh --auto-generate set)");
6485
6485
  }
6486
6486
  if (outPath) {
6487
- w(` moda prompts ab --baseline-key=${result.promptKey} --candidate=${outPath} --auto-generate`);
6487
+ w(` moda prompts ab --baseline-key=${shellArg(result.promptKey)} --candidate=${shellArg(outPath)} --auto-generate`);
6488
6488
  } else {
6489
6489
  w(` # re-run with --out=<path.prompt.md> to materialize the candidate, then:`);
6490
- w(` moda prompts ab --baseline-key=${result.promptKey} --candidate=<path.prompt.md> --auto-generate`);
6490
+ w(` moda prompts ab --baseline-key=${shellArg(result.promptKey)} --candidate=<path.prompt.md> --auto-generate`);
6491
6491
  }
6492
6492
  w(` # or: moda prompts propose ... --gate --promote-on-win (auto-A/B, promote on a strict win)`);
6493
- w(` moda prompts promote ${result.promptKey} --label=prod --version=${result.versionId}`);
6493
+ w(` moda prompts promote ${shellArg(result.promptKey)} --label=prod --version=${result.versionId ? shellArg(result.versionId) : "<version_id>"}`);
6494
6494
  }
6495
6495
  function parsePositiveInt2(raw, fallback, max, flagName) {
6496
6496
  if (raw === undefined)
@@ -6916,7 +6916,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
6916
6916
  const analyzedDefinitions = new Map;
6917
6917
  if (flags["no-analyze"] !== "true") {
6918
6918
  options.onProgress?.("Analyzing prompt sources before sync.");
6919
- const { analyzeHarnessPrompts } = await import("./harness-x3e7d68b.js");
6919
+ const { analyzeHarnessPrompts } = await import("./harness-a7tb9a23.js");
6920
6920
  const result = await analyzeHarnessPrompts({
6921
6921
  rootDir: process.cwd(),
6922
6922
  existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
@@ -7246,7 +7246,7 @@ async function migratePromptManifest(options = {}) {
7246
7246
  let addedSources = [];
7247
7247
  let pendingSources = [];
7248
7248
  if (options.discover) {
7249
- const { analyzeHarnessPrompts } = await import("./harness-x3e7d68b.js");
7249
+ const { analyzeHarnessPrompts } = await import("./harness-a7tb9a23.js");
7250
7250
  const result = await analyzeHarnessPrompts({
7251
7251
  rootDir: root,
7252
7252
  existing: manifest.sources,
@@ -4,16 +4,16 @@ import {
4
4
  import {
5
5
  createCommandContext,
6
6
  stringOption
7
- } from "./cli-cdrvjva5.js";
7
+ } from "./cli-v8q7sd7g.js";
8
8
  import {
9
9
  assertFlags,
10
10
  assertPositionals,
11
11
  requireTenant
12
- } from "./cli-jgfm7w1r.js";
12
+ } from "./cli-wzds257x.js";
13
13
  import {
14
14
  ApiError,
15
15
  callControlAPI
16
- } from "./cli-jtyvbd8d.js";
16
+ } from "./cli-pg5qfmqc.js";
17
17
  import {
18
18
  CliInputError,
19
19
  CliInputRequiredError,
@@ -38,8 +38,9 @@ import {
38
38
  resolveIngestUrl,
39
39
  resolveModaBaseUrl,
40
40
  resolveTenantId,
41
+ shellArg,
41
42
  shouldInventoryFile
42
- } from "./cli-sqsjd08w.js";
43
+ } from "./cli-r5pp7qny.js";
43
44
  import {
44
45
  __commonJS,
45
46
  __require,
@@ -191084,7 +191085,7 @@ function renderRegistrationStatus(registration) {
191084
191085
  if (optional > 0)
191085
191086
  lines.push(` (${registration.checklistIncomplete ? "at least " : ""}${optional} optional confirmation(s))`);
191086
191087
  if (registration.checklistIncomplete) {
191087
- lines.push(` Some checklist items could not be loaded; run \`moda harness registration status ${registration.id}\` again.`);
191088
+ lines.push(` Some checklist items could not be loaded; run \`moda harness registration status ${shellArg(registration.id)}\` again.`);
191088
191089
  }
191089
191090
  lines.push(` Dashboard ${registration.dashboardUrl}`);
191090
191091
  return lines.join(`
@@ -195871,7 +195872,7 @@ async function runHarnessCommand(context) {
195871
195872
  throw new CliInputError("Focused remote prompt analysis is not supported yet.", "Use local --analyst=claude|codex|cursor|local-scan, or drop --concern for a full remote report.");
195872
195873
  }
195873
195874
  if (context.flags["github-actions"] === "true") {
195874
- const { runGithubActionsAnalyze } = await import("./harness-github-actions-fjhvhgpj.js");
195875
+ const { runGithubActionsAnalyze } = await import("./harness-github-actions-6v4wydb8.js");
195875
195876
  const result = await runGithubActionsAnalyze(rootDir, {
195876
195877
  writeReport: (report2) => {
195877
195878
  const normalized = normalizeHarnessReport(report2);