@moda-ai/cli 1.55.103 → 1.55.105

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 (29) hide show
  1. package/README.md +37 -0
  2. package/dist/{agent-dvhx6dz3.js → agent-8z1k639g.js} +5 -5
  3. package/dist/{change-impact-4scrta7c.js → change-impact-tda0d76m.js} +3 -3
  4. package/dist/{cli-e8ww71k4.js → cli-25yzb3wd.js} +3 -3
  5. package/dist/{cli-4k0y9y4a.js → cli-2qcedyw0.js} +5 -5
  6. package/dist/{cli-snj8g6rt.js → cli-37z2f5wa.js} +1 -1
  7. package/dist/{cli-b4brc3gj.js → cli-82fxwm0m.js} +11 -11
  8. package/dist/{cli-9kxz65fe.js → cli-ap7wfbnk.js} +1 -1
  9. package/dist/{cli-wcmkph3q.js → cli-ev54s4wy.js} +4 -4
  10. package/dist/{cli-dxajrq9h.js → cli-n9ng8mym.js} +2 -0
  11. package/dist/{cli-n6z38nff.js → cli-n9wt2k8t.js} +1 -1
  12. package/dist/{cli-2hm3cqtc.js → cli-pae8jxe9.js} +2 -2
  13. package/dist/cli.js +17 -17
  14. package/dist/{doctor-mbm5wxw2.js → doctor-knvvpcjg.js} +4 -4
  15. package/dist/{harness-td0f3779.js → harness-d92py0t2.js} +3 -3
  16. package/dist/{harness-github-actions-hq6r3w6z.js → harness-github-actions-1x0bfww6.js} +3 -3
  17. package/dist/{index-dcqnkad1.js → index-2z6m9gq4.js} +3 -3
  18. package/dist/{index-5wa3b41q.js → index-8v6zbm1m.js} +4 -4
  19. package/dist/{index-z2m8etrp.js → index-dmhrtv9c.js} +6 -6
  20. package/dist/{production-intelligence-3fdpsxce.js → production-intelligence-8w7an97c.js} +2 -2
  21. package/dist/{profile-commands-tav5q639.js → profile-commands-zgq8dja0.js} +1 -1
  22. package/dist/{prompt-attribution-4eh3w1w6.js → prompt-attribution-sftw2s9g.js} +3 -3
  23. package/dist/prompt-source-mcp.js +3 -3
  24. package/dist/{prompts-z3xxty7p.js → prompts-mtptqs7c.js} +3 -3
  25. package/dist/{registry-shb36rde.js → registry-w50mdzsb.js} +2 -2
  26. package/dist/{skills-37204yqj.js → skills-0kkps03j.js} +3 -3
  27. package/dist/{sync-hb9yk2dt.js → sync-q5n028df.js} +5 -5
  28. package/package.json +1 -1
  29. package/skills/integration/index.json +2 -2
package/README.md CHANGED
@@ -512,3 +512,40 @@ with migration guidance. Read problem evidence with `moda problems get <id>
512
512
  --evidence`, make changes in your project, and use `moda prompts status`,
513
513
  `moda prompts diff`, and `moda prompts sync --dry-run` to review prompt versions.
514
514
  The retired names stay out of help and the manifest.
515
+
516
+ ### Server warnings for legacy installations
517
+
518
+ Current buffered API requests send `x-moda-cli-version`; their output is unchanged.
519
+ The Data API can prepend an upgrade line to an existing `warnings` array for an
520
+ unversioned request whose authenticated tenant/key has recently reported an old
521
+ CLI. The line describes an observed install on the key, not the current request.
522
+
523
+ This uses two nullable fields on the existing API-key row, not ClickHouse reads.
524
+ There is no historical backfill: the first new legacy telemetry submission warms
525
+ that key; subsequent reads can show the line, with up to 60 seconds of auth-cache
526
+ delay on other instances. Observations expire after seven days. Current telemetry
527
+ never clears evidence of another old install on the same key. Missing, invalid,
528
+ future or expired observations are unknown and produce no hint. Platform keys
529
+ are excluded. Version-header requests and `x-moda-cli-update-check: 0` suppress
530
+ it. Existing telemetry/update opt-outs are unchanged; old binaries cannot transmit
531
+ new opt-out headers, so a prior observation expires normally if telemetry stops.
532
+ No API keys or tenant content appear in the line or its failure logs.
533
+
534
+ Frozen 1.34.1 forwards this warning through JSON and agent warnings for
535
+ `frustrations`, `emotions`, `search`, `hallucinations`, `problem-impact`,
536
+ `conversations` and `context`. **Overview is best-effort:** its frozen wrapper
537
+ nests the warning under `rawOverview`, does not promote it to envelope warnings,
538
+ and can lose it under the 200 KB agent data limit. Response metrics, useful data
539
+ and status codes are never changed to force delivery.
540
+
541
+ The offline boundary regression asserts that limitation as well as the seven
542
+ positive cases. Build source `aff167ef1f` separately without modifying it, then run:
543
+
544
+ ```bash
545
+ python3 scripts/verify-legacy-upgrade-warning.py \
546
+ --frozen-cli /path/to/frozen/apps/moda-cli/dist/cli.js \
547
+ --current-cli "$PWD/dist/cli.js"
548
+ ```
549
+
550
+ Both builds use temporary local profiles, a loopback-only transport guard and
551
+ telemetry disabled. No customer key, production request or paid evaluation is needed.
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  buildDoctorReport
3
- } from "./cli-e8ww71k4.js";
3
+ } from "./cli-25yzb3wd.js";
4
4
  import"./cli-qwnkv4jy.js";
5
- import"./cli-4k0y9y4a.js";
5
+ import"./cli-2qcedyw0.js";
6
6
  import"./cli-mm48br00.js";
7
7
  import"./cli-764m5azg.js";
8
8
  import {
@@ -17,9 +17,9 @@ import {
17
17
  validateHarnessReport
18
18
  } from "./cli-krm4w2v9.js";
19
19
  import"./cli-13zdcv4w.js";
20
- import"./cli-snj8g6rt.js";
20
+ import"./cli-37z2f5wa.js";
21
21
  import"./cli-e0kbye4s.js";
22
- import"./cli-dxajrq9h.js";
22
+ import"./cli-n9ng8mym.js";
23
23
  import {
24
24
  resolveApiKey,
25
25
  resolveIngestUrl,
@@ -96,7 +96,7 @@ async function buildAgentContext(context) {
96
96
  const graph = readHarnessGraphIfPresent(context.cwd);
97
97
  const reportState = readHarnessReportState(context.cwd);
98
98
  const syncState = readHarnessSyncState(context.cwd);
99
- const harness = graph ? await import("./harness-td0f3779.js") : undefined;
99
+ const harness = graph ? await import("./harness-d92py0t2.js") : undefined;
100
100
  const topFindings = doctor.checks.filter((check) => check.status === "fail" || check.status === "warning").slice(0, 12).map(checkToFinding);
101
101
  const evidenceRefs = [
102
102
  ...doctor.checks.map(checkToEvidenceRef),
@@ -11,16 +11,16 @@ import {
11
11
  resolvedSymbol,
12
12
  returnExpressions,
13
13
  valueDeclaration
14
- } from "./cli-b4brc3gj.js";
14
+ } from "./cli-82fxwm0m.js";
15
15
  import"./cli-k0vxtzxb.js";
16
16
  import"./cli-97fnztpy.js";
17
17
  import {
18
18
  detectBoundRuntimeClasses
19
19
  } from "./cli-krm4w2v9.js";
20
20
  import"./cli-13zdcv4w.js";
21
- import"./cli-snj8g6rt.js";
21
+ import"./cli-37z2f5wa.js";
22
22
  import"./cli-e0kbye4s.js";
23
- import"./cli-dxajrq9h.js";
23
+ import"./cli-n9ng8mym.js";
24
24
  import"./cli-1nd4339b.js";
25
25
  import"./cli-k4tqwah4.js";
26
26
  import {
@@ -4,7 +4,7 @@ import {
4
4
  } from "./cli-qwnkv4jy.js";
5
5
  import {
6
6
  inspectPromptManifest
7
- } from "./cli-4k0y9y4a.js";
7
+ } from "./cli-2qcedyw0.js";
8
8
  import {
9
9
  readHarnessSyncState,
10
10
  renderDoctorHuman,
@@ -12,7 +12,7 @@ import {
12
12
  } from "./cli-k0vxtzxb.js";
13
13
  import {
14
14
  callDataAPI
15
- } from "./cli-dxajrq9h.js";
15
+ } from "./cli-n9ng8mym.js";
16
16
  import {
17
17
  describeModaBaseUrl,
18
18
  ensureSecretFilePermissions,
@@ -395,7 +395,7 @@ async function harnessCurrentCheck(cwd, manifestPath, manifestExists, tenantId)
395
395
  };
396
396
  }
397
397
  try {
398
- const { scanHarness } = await import("./harness-td0f3779.js");
398
+ const { scanHarness } = await import("./harness-d92py0t2.js");
399
399
  const current = scanHarness({
400
400
  rootDir: cwd,
401
401
  scannerVersion: "doctor",
@@ -11,10 +11,10 @@ import {
11
11
  import {
12
12
  assertFlags,
13
13
  assertPositionals
14
- } from "./cli-snj8g6rt.js";
14
+ } from "./cli-37z2f5wa.js";
15
15
  import {
16
16
  callControlAPI
17
- } from "./cli-dxajrq9h.js";
17
+ } from "./cli-n9ng8mym.js";
18
18
  import {
19
19
  CliInputError
20
20
  } from "./cli-k4tqwah4.js";
@@ -270,7 +270,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
270
270
  const analyzedDefinitions = new Map;
271
271
  if (flags["no-analyze"] !== "true") {
272
272
  options.onProgress?.("Analyzing prompt sources before sync.");
273
- const { analyzeHarnessPrompts } = await import("./harness-td0f3779.js");
273
+ const { analyzeHarnessPrompts } = await import("./harness-d92py0t2.js");
274
274
  const result = await analyzeHarnessPrompts({
275
275
  rootDir: process.cwd(),
276
276
  existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
@@ -298,7 +298,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
298
298
  const mergedSources = mergePromptSources(manifest.sources, extraSources);
299
299
  const manifestUpdate = stableJson(mergedSources) === stableJson(mergePromptSources(manifest.sources, [])) ? undefined : $stringify({ version: 2, prompt_paths: manifest.promptPaths, sources: mergedSources });
300
300
  const prompts = await discoverPrompts(extraSources);
301
- const { checkPromptAttribution } = await import("./prompt-attribution-4eh3w1w6.js");
301
+ const { checkPromptAttribution } = await import("./prompt-attribution-sftw2s9g.js");
302
302
  const attribution = checkPromptAttribution(process.cwd(), prompts.map((prompt) => prompt.key));
303
303
  const brokenAttribution = attribution.references.filter((reference) => reference.status === "missing");
304
304
  if (brokenAttribution.length) {
@@ -604,7 +604,7 @@ async function migratePromptManifest(options = {}) {
604
604
  let addedSources = [];
605
605
  let pendingSources = [];
606
606
  if (options.discover) {
607
- const { analyzeHarnessPrompts } = await import("./harness-td0f3779.js");
607
+ const { analyzeHarnessPrompts } = await import("./harness-d92py0t2.js");
608
608
  const result = await analyzeHarnessPrompts({
609
609
  rootDir: root,
610
610
  existing: manifest.sources,
@@ -2,7 +2,7 @@ import {
2
2
  ApiError,
3
3
  callControlAPI,
4
4
  callDataAPI
5
- } from "./cli-dxajrq9h.js";
5
+ } from "./cli-n9ng8mym.js";
6
6
  import {
7
7
  continuationCommand,
8
8
  embeddedTenantIdFromApiKey,
@@ -44,11 +44,11 @@ import {
44
44
  assertFlags,
45
45
  assertPositionals,
46
46
  requireTenant
47
- } from "./cli-snj8g6rt.js";
47
+ } from "./cli-37z2f5wa.js";
48
48
  import {
49
49
  ApiError,
50
50
  callControlAPI
51
- } from "./cli-dxajrq9h.js";
51
+ } from "./cli-n9ng8mym.js";
52
52
  import {
53
53
  EXIT_DEGRADED,
54
54
  embeddedTenantIdFromApiKey,
@@ -21010,7 +21010,7 @@ async function runHarnessCommand(context) {
21010
21010
  throw new CliInputError(`'moda harness ${subcommand}' has no dry-run mode, so nothing was sent.`, `Remove --dry-run to run it for real. Harness commands with a real dry-run: ${[...HARNESS_DRY_RUN_SUBCOMMANDS].join(", ")}.`);
21011
21011
  }
21012
21012
  if (subcommand === "skeleton" || subcommand === "skeleton-diff") {
21013
- const { runSkeletonCommand } = await import("./cli-wcmkph3q.js");
21013
+ const { runSkeletonCommand } = await import("./cli-ev54s4wy.js");
21014
21014
  return runSkeletonCommand(context);
21015
21015
  }
21016
21016
  if (subcommand === "register")
@@ -21022,7 +21022,7 @@ async function runHarnessCommand(context) {
21022
21022
  assertPositionals("harness impact", context.positionals, 1, "moda harness impact --from=<commit> --to=<commit>");
21023
21023
  if (!context.flags.from)
21024
21024
  throw new CliInputError("harness impact requires --from=<old-commit>.");
21025
- const { localChangeImpact, readRecordedImpactCalls } = await import("./change-impact-4scrta7c.js");
21025
+ const { localChangeImpact, readRecordedImpactCalls } = await import("./change-impact-tda0d76m.js");
21026
21026
  const result = localChangeImpact({
21027
21027
  checkout: resolve10(context.cwd, context.flags.path ?? "."),
21028
21028
  from: context.flags.from,
@@ -21294,7 +21294,7 @@ async function runHarnessCommand(context) {
21294
21294
  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.");
21295
21295
  }
21296
21296
  if (context.flags["github-actions"] === "true") {
21297
- const { runGithubActionsAnalyze } = await import("./harness-github-actions-hq6r3w6z.js");
21297
+ const { runGithubActionsAnalyze } = await import("./harness-github-actions-1x0bfww6.js");
21298
21298
  const result = await runGithubActionsAnalyze(rootDir, {
21299
21299
  writeReport: (report2) => {
21300
21300
  const normalized = normalizeHarnessReport(report2);
@@ -21445,8 +21445,8 @@ async function runHarnessCommand(context) {
21445
21445
  }
21446
21446
  const { artifacts, unknowns, canonicalAgentIdentities } = deterministicGraphItems(rootDir, promote === "all" ? undefined : promote);
21447
21447
  tagComponentStatus({ runtimeAgents: [], artifacts }, rootDir);
21448
- const { extractHarnessWithContext: extractHarnessWithContext2 } = await import("./index-dcqnkad1.js");
21449
- const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-5wa3b41q.js");
21448
+ const { extractHarnessWithContext: extractHarnessWithContext2 } = await import("./index-2z6m9gq4.js");
21449
+ const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-8v6zbm1m.js");
21450
21450
  let components = { runtimeAgents: [], artifacts: [], warnings: [] };
21451
21451
  if (promote === "all" || promote === "topology" || promote === "tools") {
21452
21452
  const { result, ctx } = extractHarnessWithContext2(rootDir);
@@ -21518,8 +21518,8 @@ async function runHarnessCommand(context) {
21518
21518
  }
21519
21519
  case "extract": {
21520
21520
  writeHumanProgress(context, "Harness extract: tracing model call sites (no LLM, no network)...");
21521
- const { extractHarnessWithContext: extractHarnessWithContext2, serializeExtractResult } = await import("./index-dcqnkad1.js");
21522
- const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-5wa3b41q.js");
21521
+ const { extractHarnessWithContext: extractHarnessWithContext2, serializeExtractResult } = await import("./index-2z6m9gq4.js");
21522
+ const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-8v6zbm1m.js");
21523
21523
  const { result, ctx } = extractHarnessWithContext2(rootDir, { fresh: true });
21524
21524
  const items = deterministicGraphItems(rootDir);
21525
21525
  const artifacts = items.artifacts;
@@ -22426,8 +22426,8 @@ var CONCERN_PROMOTED_ARTIFACT_TYPES = {
22426
22426
  evals: new Set(["model_config", "eval"])
22427
22427
  };
22428
22428
  async function deterministicFloorGraph(rootDir, options = {}) {
22429
- const { extractHarnessWithContext: extractHarnessWithContext2 } = await import("./index-dcqnkad1.js");
22430
- const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-5wa3b41q.js");
22429
+ const { extractHarnessWithContext: extractHarnessWithContext2 } = await import("./index-2z6m9gq4.js");
22430
+ const { enumerateHarnessComponents, mergeEnumeratedComponents } = await import("./index-8v6zbm1m.js");
22431
22431
  const { result, ctx } = extractHarnessWithContext2(rootDir);
22432
22432
  const items = deterministicGraphItems(rootDir);
22433
22433
  const components = mergeEnumeratedComponents(items.artifacts, enumerateHarnessComponents(result, ctx));
@@ -3,7 +3,7 @@ import {
3
3
  } from "./cli-e0kbye4s.js";
4
4
  import {
5
5
  callDataAPI
6
- } from "./cli-dxajrq9h.js";
6
+ } from "./cli-n9ng8mym.js";
7
7
  import {
8
8
  shellArg
9
9
  } from "./cli-1nd4339b.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  enumerateToolCatalog,
3
3
  enumerateWorkflows
4
- } from "./cli-n6z38nff.js";
4
+ } from "./cli-n9wt2k8t.js";
5
5
  import {
6
6
  require_out
7
7
  } from "./cli-764m5azg.js";
@@ -34,7 +34,7 @@ import {
34
34
  unwrap,
35
35
  valueDeclaration,
36
36
  visit
37
- } from "./cli-b4brc3gj.js";
37
+ } from "./cli-82fxwm0m.js";
38
38
  import"./cli-k0vxtzxb.js";
39
39
  import"./cli-97fnztpy.js";
40
40
  import {
@@ -42,9 +42,9 @@ import {
42
42
  isTestWorkerConfig
43
43
  } from "./cli-krm4w2v9.js";
44
44
  import"./cli-13zdcv4w.js";
45
- import"./cli-snj8g6rt.js";
45
+ import"./cli-37z2f5wa.js";
46
46
  import"./cli-e0kbye4s.js";
47
- import"./cli-dxajrq9h.js";
47
+ import"./cli-n9ng8mym.js";
48
48
  import {
49
49
  EXIT_DEGRADED,
50
50
  VERSION
@@ -1,4 +1,5 @@
1
1
  import {
2
+ VERSION,
2
3
  apiKeyHeaders,
3
4
  recordApiRequest,
4
5
  resolveApiKey,
@@ -134,6 +135,7 @@ async function callModaAPI(url, options, profileOptions = {}, requestOptions = {
134
135
  headers: {
135
136
  ...apiKeyHeaders(resolveApiKey(profileOptions) ?? "", profileOptions, url),
136
137
  "Content-Type": "application/json",
138
+ "x-moda-cli-version": VERSION,
137
139
  ...options.headers ?? {},
138
140
  ...connectionClose ? { Connection: "close" } : {}
139
141
  },
@@ -21,7 +21,7 @@ import {
21
21
  valueDeclaration,
22
22
  visit,
23
23
  workspacePackages
24
- } from "./cli-b4brc3gj.js";
24
+ } from "./cli-82fxwm0m.js";
25
25
  import {
26
26
  require_typescript
27
27
  } from "./cli-r0pkdy83.js";
@@ -18,10 +18,10 @@ import {
18
18
  assertFlags,
19
19
  assertPositionals,
20
20
  writeDryRun
21
- } from "./cli-snj8g6rt.js";
21
+ } from "./cli-37z2f5wa.js";
22
22
  import {
23
23
  callControlAPI
24
- } from "./cli-dxajrq9h.js";
24
+ } from "./cli-n9ng8mym.js";
25
25
  import {
26
26
  recordApiRequest,
27
27
  resolveApiKey,
package/dist/cli.js CHANGED
@@ -26,7 +26,7 @@ import {
26
26
  withSummaryCompare,
27
27
  withToolFailureAnchors,
28
28
  withoutDetectionWindows
29
- } from "./cli-9kxz65fe.js";
29
+ } from "./cli-ap7wfbnk.js";
30
30
  import {
31
31
  createCommandContext
32
32
  } from "./cli-13zdcv4w.js";
@@ -78,7 +78,7 @@ import {
78
78
  unknownSignalsSubcommandError,
79
79
  usageLine,
80
80
  writeDryRun
81
- } from "./cli-snj8g6rt.js";
81
+ } from "./cli-37z2f5wa.js";
82
82
  import {
83
83
  envOptOutSet,
84
84
  envSwitchedOff,
@@ -89,7 +89,7 @@ import {
89
89
  import {
90
90
  ApiError,
91
91
  callDataAPI
92
- } from "./cli-dxajrq9h.js";
92
+ } from "./cli-n9ng8mym.js";
93
93
  import {
94
94
  AGENT_ERROR_CODES,
95
95
  EXIT_AUTH_REQUIRED,
@@ -2029,7 +2029,7 @@ var SKILLS_SUBCOMMAND_HELP = [
2029
2029
  },
2030
2030
  {
2031
2031
  name: "push",
2032
- description: "Upload locally authored .claude/skills/**/SKILL.md files to Moda (legacy name: sync; download is pull)",
2032
+ description: "Upload locally authored .claude/skills/**/SKILL.md files to Moda (legacy name: sync)",
2033
2033
  usage: "moda skills push [--dry-run]",
2034
2034
  flags: [{ name: "--dry-run", description: "Server-side preview; nothing is saved." }],
2035
2035
  examples: ["moda skills push --dry-run", "moda skills push"]
@@ -3088,40 +3088,40 @@ function leafManifestFields(leaf, commands) {
3088
3088
  import { fileURLToPath } from "url";
3089
3089
  import { realpathSync } from "fs";
3090
3090
  async function runPromptsCommand(...args) {
3091
- return (await import("./prompts-z3xxty7p.js")).runPromptsCommand(...args);
3091
+ return (await import("./prompts-mtptqs7c.js")).runPromptsCommand(...args);
3092
3092
  }
3093
3093
  async function runSkillsCommand(...args) {
3094
- return (await import("./skills-37204yqj.js")).runSkillsCommand(...args);
3094
+ return (await import("./skills-0kkps03j.js")).runSkillsCommand(...args);
3095
3095
  }
3096
3096
  async function runHarnessCommand(...args) {
3097
- return (await import("./harness-td0f3779.js")).runHarnessCommand(...args);
3097
+ return (await import("./harness-d92py0t2.js")).runHarnessCommand(...args);
3098
3098
  }
3099
3099
  async function runSyncCommand(...args) {
3100
- return (await import("./sync-hb9yk2dt.js")).runSyncCommand(...args);
3100
+ return (await import("./sync-q5n028df.js")).runSyncCommand(...args);
3101
3101
  }
3102
3102
  async function runRegistryCommand(...args) {
3103
- return (await import("./registry-shb36rde.js")).runRegistryCommand(...args);
3103
+ return (await import("./registry-w50mdzsb.js")).runRegistryCommand(...args);
3104
3104
  }
3105
3105
  async function runDoctorCommand(...args) {
3106
- return (await import("./doctor-mbm5wxw2.js")).runDoctorCommand(...args);
3106
+ return (await import("./doctor-knvvpcjg.js")).runDoctorCommand(...args);
3107
3107
  }
3108
3108
  async function runStatusCommand(...args) {
3109
- return (await import("./doctor-mbm5wxw2.js")).runStatusCommand(...args);
3109
+ return (await import("./doctor-knvvpcjg.js")).runStatusCommand(...args);
3110
3110
  }
3111
3111
  async function runAuthCommand(...args) {
3112
- return (await import("./profile-commands-tav5q639.js")).runAuthCommand(...args);
3112
+ return (await import("./profile-commands-zgq8dja0.js")).runAuthCommand(...args);
3113
3113
  }
3114
3114
  async function runConfigCommand(...args) {
3115
- return (await import("./profile-commands-tav5q639.js")).runConfigCommand(...args);
3115
+ return (await import("./profile-commands-zgq8dja0.js")).runConfigCommand(...args);
3116
3116
  }
3117
3117
  async function runProfilesCommand(...args) {
3118
- return (await import("./profile-commands-tav5q639.js")).runProfilesCommand(...args);
3118
+ return (await import("./profile-commands-zgq8dja0.js")).runProfilesCommand(...args);
3119
3119
  }
3120
3120
  async function runAgentCommand(...args) {
3121
- return (await import("./agent-dvhx6dz3.js")).runAgentCommand(...args);
3121
+ return (await import("./agent-8z1k639g.js")).runAgentCommand(...args);
3122
3122
  }
3123
3123
  async function runProductionCommand(...args) {
3124
- return (await import("./production-intelligence-3fdpsxce.js")).runProductionCommand(...args);
3124
+ return (await import("./production-intelligence-8w7an97c.js")).runProductionCommand(...args);
3125
3125
  }
3126
3126
  function parseArgs(argv) {
3127
3127
  const args = argv.slice(2);
@@ -6885,7 +6885,7 @@ var commandRegistry = createCommandRegistry([
6885
6885
  resetApiRequestCountBeforeRun: true,
6886
6886
  telemetry: "result-and-error",
6887
6887
  handler: async (context) => {
6888
- const { runInit } = await import("./index-z2m8etrp.js");
6888
+ const { runInit } = await import("./index-dmhrtv9c.js");
6889
6889
  if (context.outputMode === "agent-stream") {
6890
6890
  context.output.writeEvent({
6891
6891
  event: "started",
@@ -3,16 +3,16 @@ import {
3
3
  promptsDiscoveredCheck,
4
4
  runDoctorCommand,
5
5
  runStatusCommand
6
- } from "./cli-e8ww71k4.js";
6
+ } from "./cli-25yzb3wd.js";
7
7
  import"./cli-qwnkv4jy.js";
8
- import"./cli-4k0y9y4a.js";
8
+ import"./cli-2qcedyw0.js";
9
9
  import"./cli-mm48br00.js";
10
10
  import"./cli-764m5azg.js";
11
11
  import"./cli-k0vxtzxb.js";
12
12
  import"./cli-13zdcv4w.js";
13
- import"./cli-snj8g6rt.js";
13
+ import"./cli-37z2f5wa.js";
14
14
  import"./cli-e0kbye4s.js";
15
- import"./cli-dxajrq9h.js";
15
+ import"./cli-n9ng8mym.js";
16
16
  import"./cli-1nd4339b.js";
17
17
  import"./cli-k4tqwah4.js";
18
18
  import"./cli-9kfxkxmk.js";
@@ -48,16 +48,16 @@ import {
48
48
  writeHarnessAnalyzeResult,
49
49
  writeHarnessArtifacts,
50
50
  writeHumanProgress
51
- } from "./cli-b4brc3gj.js";
51
+ } from "./cli-82fxwm0m.js";
52
52
  import"./cli-k0vxtzxb.js";
53
53
  import"./cli-97fnztpy.js";
54
54
  import {
55
55
  HARNESS_ANALYZE_CONCERNS
56
56
  } from "./cli-krm4w2v9.js";
57
57
  import"./cli-13zdcv4w.js";
58
- import"./cli-snj8g6rt.js";
58
+ import"./cli-37z2f5wa.js";
59
59
  import"./cli-e0kbye4s.js";
60
- import"./cli-dxajrq9h.js";
60
+ import"./cli-n9ng8mym.js";
61
61
  import"./cli-1nd4339b.js";
62
62
  import"./cli-k4tqwah4.js";
63
63
  import"./cli-r0pkdy83.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  buildSourceSnapshot
3
- } from "./cli-b4brc3gj.js";
3
+ } from "./cli-82fxwm0m.js";
4
4
  import"./cli-k0vxtzxb.js";
5
5
  import"./cli-97fnztpy.js";
6
6
  import"./cli-krm4w2v9.js";
7
7
  import"./cli-13zdcv4w.js";
8
- import"./cli-snj8g6rt.js";
8
+ import"./cli-37z2f5wa.js";
9
9
  import"./cli-e0kbye4s.js";
10
- import"./cli-dxajrq9h.js";
10
+ import"./cli-n9ng8mym.js";
11
11
  import {
12
12
  recordApiRequest
13
13
  } from "./cli-1nd4339b.js";
@@ -20,14 +20,14 @@ import {
20
20
  serializeExtractResult,
21
21
  toolNamesOf,
22
22
  valueChildren
23
- } from "./cli-b4brc3gj.js";
23
+ } from "./cli-82fxwm0m.js";
24
24
  import"./cli-k0vxtzxb.js";
25
25
  import"./cli-97fnztpy.js";
26
26
  import"./cli-krm4w2v9.js";
27
27
  import"./cli-13zdcv4w.js";
28
- import"./cli-snj8g6rt.js";
28
+ import"./cli-37z2f5wa.js";
29
29
  import"./cli-e0kbye4s.js";
30
- import"./cli-dxajrq9h.js";
30
+ import"./cli-n9ng8mym.js";
31
31
  import"./cli-1nd4339b.js";
32
32
  import"./cli-k4tqwah4.js";
33
33
  import"./cli-r0pkdy83.js";
@@ -3,18 +3,18 @@ import {
3
3
  enumerateToolCatalog,
4
4
  enumerateWorkflows,
5
5
  mergeEnumeratedComponents
6
- } from "./cli-n6z38nff.js";
6
+ } from "./cli-n9wt2k8t.js";
7
7
  import {
8
8
  createAgentScopeResolver,
9
9
  enumerateAgents
10
- } from "./cli-b4brc3gj.js";
10
+ } from "./cli-82fxwm0m.js";
11
11
  import"./cli-k0vxtzxb.js";
12
12
  import"./cli-97fnztpy.js";
13
13
  import"./cli-krm4w2v9.js";
14
14
  import"./cli-13zdcv4w.js";
15
- import"./cli-snj8g6rt.js";
15
+ import"./cli-37z2f5wa.js";
16
16
  import"./cli-e0kbye4s.js";
17
- import"./cli-dxajrq9h.js";
17
+ import"./cli-n9ng8mym.js";
18
18
  import"./cli-1nd4339b.js";
19
19
  import"./cli-k4tqwah4.js";
20
20
  import"./cli-r0pkdy83.js";
@@ -4,11 +4,11 @@ import {
4
4
  import {
5
5
  agentsMdProblem,
6
6
  runSkillSync
7
- } from "./cli-2hm3cqtc.js";
7
+ } from "./cli-pae8jxe9.js";
8
8
  import"./cli-998n4kz9.js";
9
9
  import {
10
10
  buildDoctorReport
11
- } from "./cli-e8ww71k4.js";
11
+ } from "./cli-25yzb3wd.js";
12
12
  import {
13
13
  ConnectCodeError,
14
14
  connectWithCode,
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  initPrompts,
21
21
  runPromptSync
22
- } from "./cli-4k0y9y4a.js";
22
+ } from "./cli-2qcedyw0.js";
23
23
  import {
24
24
  bundledSkillsDir,
25
25
  installIntegrationSkill,
@@ -47,7 +47,7 @@ import {
47
47
  runCodingAgent,
48
48
  runHarnessCommand,
49
49
  startRemoteAnalyze
50
- } from "./cli-b4brc3gj.js";
50
+ } from "./cli-82fxwm0m.js";
51
51
  import {
52
52
  canonicalText,
53
53
  renderInitBanner,
@@ -63,9 +63,9 @@ import"./cli-krm4w2v9.js";
63
63
  import {
64
64
  createCommandContext
65
65
  } from "./cli-13zdcv4w.js";
66
- import"./cli-snj8g6rt.js";
66
+ import"./cli-37z2f5wa.js";
67
67
  import"./cli-e0kbye4s.js";
68
- import"./cli-dxajrq9h.js";
68
+ import"./cli-n9ng8mym.js";
69
69
  import {
70
70
  VERSION,
71
71
  recordApiRequest,
@@ -10,7 +10,7 @@ import {
10
10
  overviewTrendsQuery,
11
11
  renderTrendsHuman,
12
12
  trendsSummaryText
13
- } from "./cli-9kxz65fe.js";
13
+ } from "./cli-ap7wfbnk.js";
14
14
  import {
15
15
  renderMarkdownForTerminal,
16
16
  shouldColorTerminalOutput,
@@ -21,7 +21,7 @@ import"./cli-e0kbye4s.js";
21
21
  import {
22
22
  callControlAPI,
23
23
  callDataAPI
24
- } from "./cli-dxajrq9h.js";
24
+ } from "./cli-n9ng8mym.js";
25
25
  import {
26
26
  EXIT_DEGRADED,
27
27
  EXIT_OK,
@@ -13,7 +13,7 @@ import {
13
13
  } from "./cli-qwnkv4jy.js";
14
14
  import {
15
15
  ApiError
16
- } from "./cli-dxajrq9h.js";
16
+ } from "./cli-n9ng8mym.js";
17
17
  import {
18
18
  DEFAULT_INGEST_URL,
19
19
  EXIT_AUTH_REQUIRED,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  inventoryFiles,
3
3
  safePromptEvidencePath
4
- } from "./cli-b4brc3gj.js";
4
+ } from "./cli-82fxwm0m.js";
5
5
  import"./cli-k0vxtzxb.js";
6
6
  import"./cli-97fnztpy.js";
7
7
  import"./cli-krm4w2v9.js";
8
8
  import"./cli-13zdcv4w.js";
9
- import"./cli-snj8g6rt.js";
9
+ import"./cli-37z2f5wa.js";
10
10
  import"./cli-e0kbye4s.js";
11
- import"./cli-dxajrq9h.js";
11
+ import"./cli-n9ng8mym.js";
12
12
  import"./cli-1nd4339b.js";
13
13
  import"./cli-k4tqwah4.js";
14
14
  import {
@@ -3,14 +3,14 @@ import {
3
3
  checkPromptMapping,
4
4
  discoverHarnessPromptSources,
5
5
  safePromptEvidencePath
6
- } from "./cli-b4brc3gj.js";
6
+ } from "./cli-82fxwm0m.js";
7
7
  import"./cli-k0vxtzxb.js";
8
8
  import"./cli-97fnztpy.js";
9
9
  import"./cli-krm4w2v9.js";
10
10
  import"./cli-13zdcv4w.js";
11
- import"./cli-snj8g6rt.js";
11
+ import"./cli-37z2f5wa.js";
12
12
  import"./cli-e0kbye4s.js";
13
- import"./cli-dxajrq9h.js";
13
+ import"./cli-n9ng8mym.js";
14
14
  import"./cli-1nd4339b.js";
15
15
  import"./cli-k4tqwah4.js";
16
16
  import {
@@ -9,15 +9,15 @@ import {
9
9
  runPromptSync,
10
10
  runPromptsCommand,
11
11
  writePromptSyncProgress
12
- } from "./cli-4k0y9y4a.js";
12
+ } from "./cli-2qcedyw0.js";
13
13
  import {
14
14
  promptSourceHashPayload
15
15
  } from "./cli-mm48br00.js";
16
16
  import"./cli-764m5azg.js";
17
17
  import"./cli-13zdcv4w.js";
18
- import"./cli-snj8g6rt.js";
18
+ import"./cli-37z2f5wa.js";
19
19
  import"./cli-e0kbye4s.js";
20
- import"./cli-dxajrq9h.js";
20
+ import"./cli-n9ng8mym.js";
21
21
  import"./cli-1nd4339b.js";
22
22
  import"./cli-k4tqwah4.js";
23
23
  import"./cli-9kfxkxmk.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  assertFlags
3
- } from "./cli-snj8g6rt.js";
3
+ } from "./cli-37z2f5wa.js";
4
4
  import {
5
5
  callControlAPI
6
- } from "./cli-dxajrq9h.js";
6
+ } from "./cli-n9ng8mym.js";
7
7
  import {
8
8
  explicitOutputMode,
9
9
  resolveApiKey
@@ -3,14 +3,14 @@ import {
3
3
  pullSkills,
4
4
  runSkillSync,
5
5
  runSkillsCommand
6
- } from "./cli-2hm3cqtc.js";
6
+ } from "./cli-pae8jxe9.js";
7
7
  import"./cli-qm5b1vck.js";
8
8
  import"./cli-rjav0vj1.js";
9
9
  import"./cli-hcwdz9sd.js";
10
10
  import"./cli-13zdcv4w.js";
11
- import"./cli-snj8g6rt.js";
11
+ import"./cli-37z2f5wa.js";
12
12
  import"./cli-e0kbye4s.js";
13
- import"./cli-dxajrq9h.js";
13
+ import"./cli-n9ng8mym.js";
14
14
  import"./cli-1nd4339b.js";
15
15
  import"./cli-k4tqwah4.js";
16
16
  import"./cli-0semcakc.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runSkillsCommand
3
- } from "./cli-2hm3cqtc.js";
3
+ } from "./cli-pae8jxe9.js";
4
4
  import {
5
5
  runPromptsCommand
6
- } from "./cli-4k0y9y4a.js";
6
+ } from "./cli-2qcedyw0.js";
7
7
  import"./cli-qm5b1vck.js";
8
8
  import"./cli-rjav0vj1.js";
9
9
  import"./cli-hcwdz9sd.js";
@@ -11,14 +11,14 @@ import"./cli-mm48br00.js";
11
11
  import"./cli-764m5azg.js";
12
12
  import {
13
13
  runHarnessCommand
14
- } from "./cli-b4brc3gj.js";
14
+ } from "./cli-82fxwm0m.js";
15
15
  import"./cli-k0vxtzxb.js";
16
16
  import"./cli-97fnztpy.js";
17
17
  import"./cli-krm4w2v9.js";
18
18
  import"./cli-13zdcv4w.js";
19
- import"./cli-snj8g6rt.js";
19
+ import"./cli-37z2f5wa.js";
20
20
  import"./cli-e0kbye4s.js";
21
- import"./cli-dxajrq9h.js";
21
+ import"./cli-n9ng8mym.js";
22
22
  import"./cli-1nd4339b.js";
23
23
  import {
24
24
  CliInputError
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.55.103",
3
+ "version": "1.55.105",
4
4
  "description": "CLI for Moda: production monitoring and evals for AI agents.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema_version": "moda.skill_index.v1",
3
- "bundled_at": "2026-10-29T01:09:35.429Z",
4
- "cli_version": "1.55.103",
3
+ "bundled_at": "2026-10-29T01:33:53.317Z",
4
+ "cli_version": "1.55.105",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",