@moda-ai/cli 1.55.12 → 1.55.14

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.
@@ -12,7 +12,7 @@ import {
12
12
  require_typescript,
13
13
  resolvePromptSource,
14
14
  safePromptEvidencePath
15
- } from "./cli-m0fa54ny.js";
15
+ } from "./cli-k9nae6t9.js";
16
16
  import {
17
17
  createCommandContext
18
18
  } from "./cli-4x9w6ey7.js";
@@ -6731,7 +6731,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
6731
6731
  const analyzedDefinitions = new Map;
6732
6732
  if (flags["no-analyze"] !== "true") {
6733
6733
  options.onProgress?.("Analyzing prompt sources before sync.");
6734
- const { analyzeHarnessPrompts } = await import("./harness-9psndqtm.js");
6734
+ const { analyzeHarnessPrompts } = await import("./harness-vm0xd80p.js");
6735
6735
  const result = await analyzeHarnessPrompts({
6736
6736
  rootDir: process.cwd(),
6737
6737
  existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
@@ -7061,7 +7061,7 @@ async function migratePromptManifest(options = {}) {
7061
7061
  let addedSources = [];
7062
7062
  let pendingSources = [];
7063
7063
  if (options.discover) {
7064
- const { analyzeHarnessPrompts } = await import("./harness-9psndqtm.js");
7064
+ const { analyzeHarnessPrompts } = await import("./harness-vm0xd80p.js");
7065
7065
  const result = await analyzeHarnessPrompts({
7066
7066
  rootDir: root,
7067
7067
  existing: manifest.sources,
@@ -4,13 +4,13 @@ import {
4
4
  } from "./cli-ssqb8bfw.js";
5
5
  import {
6
6
  inspectPromptManifest
7
- } from "./cli-90hb4ng0.js";
7
+ } from "./cli-ndn5m6wn.js";
8
8
  import {
9
9
  readHarnessSyncState,
10
10
  renderDoctorHuman,
11
11
  renderStatusHuman,
12
12
  scanHarness
13
- } from "./cli-m0fa54ny.js";
13
+ } from "./cli-k9nae6t9.js";
14
14
  import {
15
15
  callDataAPI
16
16
  } from "./cli-ryd7nzke.js";
package/dist/cli.js CHANGED
@@ -2081,31 +2081,31 @@ function exitCodesForCommand(command) {
2081
2081
  import { fileURLToPath } from "url";
2082
2082
  import { realpathSync } from "fs";
2083
2083
  async function runPromptsCommand(...args) {
2084
- return (await import("./prompts-mzazn8ce.js")).runPromptsCommand(...args);
2084
+ return (await import("./prompts-kw5kzm39.js")).runPromptsCommand(...args);
2085
2085
  }
2086
2086
  async function runSkillsCommand(...args) {
2087
2087
  return (await import("./skills-sagxq9sc.js")).runSkillsCommand(...args);
2088
2088
  }
2089
2089
  async function runFixCommand(...args) {
2090
- return (await import("./fix-bt5zn07e.js")).runFixCommand(...args);
2090
+ return (await import("./fix-91sr76gw.js")).runFixCommand(...args);
2091
2091
  }
2092
2092
  async function runFixesCommand(...args) {
2093
- return (await import("./fix-bt5zn07e.js")).runFixesCommand(...args);
2093
+ return (await import("./fix-91sr76gw.js")).runFixesCommand(...args);
2094
2094
  }
2095
2095
  async function runHarnessCommand(...args) {
2096
- return (await import("./harness-9psndqtm.js")).runHarnessCommand(...args);
2096
+ return (await import("./harness-vm0xd80p.js")).runHarnessCommand(...args);
2097
2097
  }
2098
2098
  async function runSyncCommand(...args) {
2099
- return (await import("./sync-gkwexz68.js")).runSyncCommand(...args);
2099
+ return (await import("./sync-xv04wnth.js")).runSyncCommand(...args);
2100
2100
  }
2101
2101
  async function runRegistryCommand(...args) {
2102
2102
  return (await import("./registry-mbz65bjy.js")).runRegistryCommand(...args);
2103
2103
  }
2104
2104
  async function runDoctorCommand(...args) {
2105
- return (await import("./doctor-8yb6r66e.js")).runDoctorCommand(...args);
2105
+ return (await import("./doctor-grvx6xx0.js")).runDoctorCommand(...args);
2106
2106
  }
2107
2107
  async function runStatusCommand(...args) {
2108
- return (await import("./doctor-8yb6r66e.js")).runStatusCommand(...args);
2108
+ return (await import("./doctor-grvx6xx0.js")).runStatusCommand(...args);
2109
2109
  }
2110
2110
  async function runAuthCommand(...args) {
2111
2111
  return (await import("./profile-commands-2g5bjzj2.js")).runAuthCommand(...args);
@@ -2117,7 +2117,7 @@ async function runProfilesCommand(...args) {
2117
2117
  return (await import("./profile-commands-2g5bjzj2.js")).runProfilesCommand(...args);
2118
2118
  }
2119
2119
  async function runAgentCommand(...args) {
2120
- return (await import("./agent-rd9deae9.js")).runAgentCommand(...args);
2120
+ return (await import("./agent-y47qgmf1.js")).runAgentCommand(...args);
2121
2121
  }
2122
2122
  async function runProductionCommand(...args) {
2123
2123
  return (await import("./production-intelligence-mg3qp2dg.js")).runProductionCommand(...args);
@@ -3288,6 +3288,25 @@ function searchDegradeWarning(reason, requestedMode, coverage) {
3288
3288
  return `${lead} the requested ${requestedMode} ranking did not run, and ${notComparable}. Use --mode=keyword with exact identifiers.`;
3289
3289
  }
3290
3290
  }
3291
+ function searchOutcomeWarnings(record, requestedFlag, query2) {
3292
+ const warnings = [];
3293
+ const requested = asString(record.requested_mode) ?? requestedFlag ?? "hybrid";
3294
+ const actual = asString(record.search_mode);
3295
+ const degradeReason = asString(record.degrade_reason);
3296
+ const degraded = record.degraded === true || actual !== undefined && actual !== requested;
3297
+ if (degradeReason && degradeReason !== "none") {
3298
+ warnings.push(searchDegradeWarning(degradeReason, requested, record.coverage));
3299
+ } else if (degraded && actual) {
3300
+ warnings.push(`Search ran in ${actual} mode instead of the requested ${requested} mode.`);
3301
+ }
3302
+ if (asString(record.zero_result_reason) === "no_keyword_match") {
3303
+ const match = asRecord(asRecord(record.coverage)?.keyword_match);
3304
+ const minTerms = asNumber(match?.min_terms) ?? undefined;
3305
+ const dropped = asNumber(match?.dropped_non_matching) ?? 0;
3306
+ warnings.push(`No message in this window contains "${query2}"` + (minTerms !== undefined ? ` or at least ${minTerms} of its significant terms` : "") + ` (case-insensitive substring match${degraded ? `, served as keyword because the ${requested} ranking did not run` : ""}).` + (dropped > 0 ? ` ${dropped} index neighbour(s) that only shared a word were not returned.` : "") + " Retry with a shorter exact phrase or identifier, widen --time-range, add --include-tool-io for tool calls/results, or rephrase.");
3307
+ }
3308
+ return warnings;
3309
+ }
3291
3310
  function searchCoverageWarnings(coverage, timeRange) {
3292
3311
  const record = asRecord(coverage);
3293
3312
  if (!record)
@@ -3893,14 +3912,7 @@ async function runCommand(command, positional, flags, positionals = positional ?
3893
3912
  const data = await callDataAPI(`/search?${query2.toString()}`);
3894
3913
  recordSearchTelemetry(context, data);
3895
3914
  const searchRecord = asRecord(data) ?? {};
3896
- const degradeReason = asString(searchRecord.degrade_reason);
3897
- const actualMode = asString(searchRecord.search_mode);
3898
- const warnings = [];
3899
- if (degradeReason && degradeReason !== "none") {
3900
- warnings.push(searchDegradeWarning(degradeReason, params.mode ?? "hybrid", searchRecord.coverage));
3901
- } else if (params.mode && actualMode && actualMode !== params.mode && params.mode !== "hybrid") {
3902
- warnings.push(`Search ran in ${actualMode} mode instead of the requested ${params.mode} mode.`);
3903
- }
3915
+ const warnings = searchOutcomeWarnings(searchRecord, params.mode, params.q);
3904
3916
  warnings.push(...searchCoverageWarnings(searchRecord.coverage, params.time_range ?? "all"));
3905
3917
  const results = Array.isArray(searchRecord.results) ? searchRecord.results : [];
3906
3918
  if (results.length > 0 && (params.offset ?? 0) > 0) {
@@ -4761,7 +4773,7 @@ var commandRegistry = createCommandRegistry([
4761
4773
  resetApiRequestCountBeforeRun: true,
4762
4774
  telemetry: "result",
4763
4775
  handler: async (context) => {
4764
- const { runInit } = await import("./index-qjaprhrv.js");
4776
+ const { runInit } = await import("./index-f6cydfxg.js");
4765
4777
  if (context.outputMode === "agent-stream") {
4766
4778
  context.output.writeEvent({
4767
4779
  event: "started",
@@ -6052,6 +6064,7 @@ if (isMain) {
6052
6064
  export {
6053
6065
  telemetryCommandName,
6054
6066
  stripLoneSurrogates,
6067
+ searchOutcomeWarnings,
6055
6068
  searchDegradeWarning,
6056
6069
  searchCoverageWarnings,
6057
6070
  runCommand,
@@ -3,11 +3,11 @@ import {
3
3
  promptsDiscoveredCheck,
4
4
  runDoctorCommand,
5
5
  runStatusCommand
6
- } from "./cli-34zdvcpg.js";
6
+ } from "./cli-weqp7xc1.js";
7
7
  import"./cli-ssqb8bfw.js";
8
- import"./cli-90hb4ng0.js";
8
+ import"./cli-ndn5m6wn.js";
9
9
  import"./cli-mm48br00.js";
10
- import"./cli-m0fa54ny.js";
10
+ import"./cli-k9nae6t9.js";
11
11
  import"./cli-97fnztpy.js";
12
12
  import"./cli-4x9w6ey7.js";
13
13
  import"./cli-k7vwt56h.js";
@@ -2,9 +2,9 @@ import {
2
2
  DEFAULT_POLL_INTERVAL_MS,
3
3
  DEFAULT_WAIT_TIMEOUT_MS,
4
4
  fetchLatestRun
5
- } from "./cli-90hb4ng0.js";
5
+ } from "./cli-ndn5m6wn.js";
6
6
  import"./cli-mm48br00.js";
7
- import"./cli-m0fa54ny.js";
7
+ import"./cli-k9nae6t9.js";
8
8
  import"./cli-97fnztpy.js";
9
9
  import"./cli-4x9w6ey7.js";
10
10
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSourceSnapshot
3
- } from "./cli-m0fa54ny.js";
3
+ } from "./cli-k9nae6t9.js";
4
4
  import"./cli-97fnztpy.js";
5
5
  import"./cli-4x9w6ey7.js";
6
6
  import"./cli-k7vwt56h.js";
@@ -42,7 +42,7 @@ import {
42
42
  writeHarnessAnalyzeResult,
43
43
  writeHarnessArtifacts,
44
44
  writeHumanProgress
45
- } from "./cli-m0fa54ny.js";
45
+ } from "./cli-k9nae6t9.js";
46
46
  import"./cli-97fnztpy.js";
47
47
  import"./cli-4x9w6ey7.js";
48
48
  import"./cli-k7vwt56h.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./cli-bfmn3bsk.js";
4
4
  import {
5
5
  buildDoctorReport
6
- } from "./cli-34zdvcpg.js";
6
+ } from "./cli-weqp7xc1.js";
7
7
  import {
8
8
  ConnectCodeError,
9
9
  connectWithCode,
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  initPrompts,
16
16
  runPromptSync
17
- } from "./cli-90hb4ng0.js";
17
+ } from "./cli-ndn5m6wn.js";
18
18
  import"./cli-mm48br00.js";
19
19
  import {
20
20
  canonicalText,
@@ -34,7 +34,7 @@ import {
34
34
  runCodingAgent,
35
35
  runHarnessCommand,
36
36
  startRemoteAnalyze
37
- } from "./cli-m0fa54ny.js";
37
+ } from "./cli-k9nae6t9.js";
38
38
  import {
39
39
  stripAnsi
40
40
  } from "./cli-97fnztpy.js";
@@ -5,7 +5,7 @@ import {
5
5
  inspectCodeSelectors,
6
6
  inspectPythonSelectors,
7
7
  safePromptEvidencePath
8
- } from "./cli-m0fa54ny.js";
8
+ } from "./cli-k9nae6t9.js";
9
9
  import"./cli-97fnztpy.js";
10
10
  import"./cli-4x9w6ey7.js";
11
11
  import"./cli-k7vwt56h.js";
@@ -11,11 +11,11 @@ import {
11
11
  runPromptSync,
12
12
  runPromptsCommand,
13
13
  writePromptSyncProgress
14
- } from "./cli-90hb4ng0.js";
14
+ } from "./cli-ndn5m6wn.js";
15
15
  import {
16
16
  promptSourceHashPayload
17
17
  } from "./cli-mm48br00.js";
18
- import"./cli-m0fa54ny.js";
18
+ import"./cli-k9nae6t9.js";
19
19
  import"./cli-97fnztpy.js";
20
20
  import"./cli-4x9w6ey7.js";
21
21
  import"./cli-k7vwt56h.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runPromptsCommand
3
- } from "./cli-90hb4ng0.js";
3
+ } from "./cli-ndn5m6wn.js";
4
4
  import"./cli-mm48br00.js";
5
5
  import {
6
6
  runHarnessCommand
7
- } from "./cli-m0fa54ny.js";
7
+ } from "./cli-k9nae6t9.js";
8
8
  import"./cli-97fnztpy.js";
9
9
  import {
10
10
  runSkillsCommand
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.55.12",
3
+ "version": "1.55.14",
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-15T05:06:16.495Z",
4
- "cli_version": "1.55.12",
3
+ "bundled_at": "2026-10-15T05:33:12.335Z",
4
+ "cli_version": "1.55.14",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",