@moda-ai/cli 1.45.0 → 1.45.1

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.
@@ -25,7 +25,7 @@ import {
25
25
  resolveTenantId,
26
26
  shouldInventoryFile,
27
27
  stringOption
28
- } from "./cli-8c60k2p4.js";
28
+ } from "./cli-bvnw7585.js";
29
29
  import {
30
30
  __commonJS,
31
31
  __require,
@@ -184813,7 +184813,7 @@ async function runHarnessCommand(context) {
184813
184813
  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.");
184814
184814
  }
184815
184815
  if (context.flags["github-actions"] === "true") {
184816
- const { runGithubActionsAnalyze } = await import("./harness-github-actions-pg0azf3h.js");
184816
+ const { runGithubActionsAnalyze } = await import("./harness-github-actions-ky4ym5n3.js");
184817
184817
  const result = await runGithubActionsAnalyze(rootDir, {
184818
184818
  writeReport: (report2) => {
184819
184819
  const normalized = normalizeHarnessReport(report2);
@@ -1075,6 +1075,9 @@ function explicitModeFromFlags(flags) {
1075
1075
  return "human";
1076
1076
  return;
1077
1077
  }
1078
+ function explicitOutputMode(flags, env = process.env) {
1079
+ return explicitModeFromFlags(flags) ?? outputModeFromEnv(env);
1080
+ }
1078
1081
  function outputModeFromFlags(flags) {
1079
1082
  return explicitModeFromFlags(flags) ?? "human";
1080
1083
  }
@@ -1713,4 +1716,4 @@ function createCommandContext(input, options = {}) {
1713
1716
  };
1714
1717
  }
1715
1718
 
1716
- export { PROD_BASE_URL, DEFAULT_INGEST_URL, getModaPaths, getModaDir, isLoopbackBaseUrl, assertValidProfileName, describeBaseUrlSource, loadProfileConfig, saveProfileConfig, getActiveProfile, setActiveProfile, upsertProfile, clearStoredApiKeyCredentials, secretFilePathFromRef, resolveSecretReference, resolveApiKeyFromActiveProfile, resolveTenantIdFromActiveProfile, ensureSecretFilePermissions, writeSecretJsonFile, CliInputError, CliAccessError, CliInputRequiredError, CliAuthError, CliCancellationError, isNetworkLikeError, isApiLikeError, VERSION, MODA_BASE_URL, loadCliConfig, saveCliConfig, resolveApiKey, embeddedTenantIdFromApiKey, resolveIngestUrl2 as resolveIngestUrl, resolveTenantId, resolveApiTenantId, resolveModaBaseUrl, validateConfig, MAX_SCANNED_FILE_BYTES, DEFAULT_MAX_INVENTORY_FILES, DEFAULT_MAX_INVENTORY_TEXT_BYTES, MAX_RECORDED_SKIPS, SKIPPED_DIRS, isSkippedDir, isSkippedPathPrefix, isEvalLikePath, shouldInventoryFile, isTextFile, isSecretishPath, SECRET_KEYS, redactDeep, redactString, packSnapshot, EXIT_OK, EXIT_ERROR, EXIT_DEGRADED, EXIT_AUTH_REQUIRED, EXIT_INPUT_REQUIRED, EXIT_CANCELLED, AGENT_ERROR_CODES, wasOutputCancelled, safeWriteStdout, safeWriteStderr, resolveOutputMode, createCliOutput, agentEnvelopeFits, stringOption, createCommandContext };
1719
+ export { PROD_BASE_URL, DEFAULT_INGEST_URL, getModaPaths, getModaDir, isLoopbackBaseUrl, assertValidProfileName, describeBaseUrlSource, loadProfileConfig, saveProfileConfig, getActiveProfile, setActiveProfile, upsertProfile, clearStoredApiKeyCredentials, secretFilePathFromRef, resolveSecretReference, resolveApiKeyFromActiveProfile, resolveTenantIdFromActiveProfile, ensureSecretFilePermissions, writeSecretJsonFile, CliInputError, CliAccessError, CliInputRequiredError, CliAuthError, CliCancellationError, isNetworkLikeError, isApiLikeError, VERSION, MODA_BASE_URL, loadCliConfig, saveCliConfig, resolveApiKey, embeddedTenantIdFromApiKey, resolveIngestUrl2 as resolveIngestUrl, resolveTenantId, resolveApiTenantId, resolveModaBaseUrl, validateConfig, MAX_SCANNED_FILE_BYTES, DEFAULT_MAX_INVENTORY_FILES, DEFAULT_MAX_INVENTORY_TEXT_BYTES, MAX_RECORDED_SKIPS, SKIPPED_DIRS, isSkippedDir, isSkippedPathPrefix, isEvalLikePath, shouldInventoryFile, isTextFile, isSecretishPath, SECRET_KEYS, redactDeep, redactString, packSnapshot, EXIT_OK, EXIT_ERROR, EXIT_DEGRADED, EXIT_AUTH_REQUIRED, EXIT_INPUT_REQUIRED, EXIT_CANCELLED, AGENT_ERROR_CODES, wasOutputCancelled, safeWriteStdout, safeWriteStderr, explicitOutputMode, resolveOutputMode, createCliOutput, agentEnvelopeFits, stringOption, createCommandContext };
@@ -7,7 +7,7 @@ import {
7
7
  saveProfileConfig,
8
8
  secretFilePathFromRef,
9
9
  writeSecretJsonFile
10
- } from "./cli-8c60k2p4.js";
10
+ } from "./cli-bvnw7585.js";
11
11
  import {
12
12
  __require
13
13
  } from "./cli-0v6na3yp.js";
@@ -13,7 +13,7 @@ import {
13
13
  resolvePromptSource,
14
14
  safePromptEvidencePath,
15
15
  scanHarness
16
- } from "./cli-5tsqk3jt.js";
16
+ } from "./cli-3xh2w7hb.js";
17
17
  import {
18
18
  SKILL_SOURCE_HARNESS,
19
19
  SKILL_SOURCE_INTEGRATION_BUNDLED,
@@ -26,7 +26,7 @@ import {
26
26
  import {
27
27
  isAuthSessionValid,
28
28
  loadAuthSession
29
- } from "./cli-rycpwqzm.js";
29
+ } from "./cli-dy2aavbe.js";
30
30
  import {
31
31
  CliInputError,
32
32
  EXIT_ERROR,
@@ -45,7 +45,7 @@ import {
45
45
  resolveTenantId,
46
46
  secretFilePathFromRef,
47
47
  validateConfig
48
- } from "./cli-8c60k2p4.js";
48
+ } from "./cli-bvnw7585.js";
49
49
  import {
50
50
  __commonJS,
51
51
  __require,
@@ -6711,7 +6711,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
6711
6711
  const analyzedDefinitions = new Map;
6712
6712
  if (flags["no-analyze"] !== "true") {
6713
6713
  options.onProgress?.("Analyzing prompt sources before sync.");
6714
- const { analyzeHarnessPrompts } = await import("./harness-sqngqjrd.js");
6714
+ const { analyzeHarnessPrompts } = await import("./harness-9qpbj2qj.js");
6715
6715
  const result = await analyzeHarnessPrompts({
6716
6716
  rootDir: process.cwd(),
6717
6717
  existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  authFetch,
3
3
  getCachedLoginContext
4
- } from "./cli-rycpwqzm.js";
4
+ } from "./cli-dy2aavbe.js";
5
5
  import {
6
6
  CliAccessError,
7
7
  CliInputError,
@@ -15,7 +15,7 @@ import {
15
15
  resolveTenantIdFromActiveProfile,
16
16
  saveCliConfig,
17
17
  writeSecretJsonFile
18
- } from "./cli-8c60k2p4.js";
18
+ } from "./cli-bvnw7585.js";
19
19
 
20
20
  // src/init/tenant.ts
21
21
  import { randomUUID } from "node:crypto";
package/dist/cli.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  runPromptsCommand,
9
9
  runSkillsCommand,
10
10
  runStatusCommand
11
- } from "./cli-j2rdgd3p.js";
11
+ } from "./cli-nnwegmzh.js";
12
12
  import {
13
13
  ApiError,
14
14
  HARNESS_REPORT_APPROVAL_PATH,
@@ -37,7 +37,7 @@ import {
37
37
  terminalStyles,
38
38
  unknownSignalsSubcommandError,
39
39
  validateHarnessReport
40
- } from "./cli-5tsqk3jt.js";
40
+ } from "./cli-3xh2w7hb.js";
41
41
  import"./cli-ssfq84k5.js";
42
42
  import {
43
43
  authFetch,
@@ -46,7 +46,7 @@ import {
46
46
  loadAuthSession,
47
47
  login,
48
48
  revokeCliSessionToken
49
- } from "./cli-rycpwqzm.js";
49
+ } from "./cli-dy2aavbe.js";
50
50
  import {
51
51
  AGENT_ERROR_CODES,
52
52
  CliAccessError,
@@ -72,6 +72,7 @@ import {
72
72
  describeBaseUrlSource,
73
73
  embeddedTenantIdFromApiKey,
74
74
  ensureSecretFilePermissions,
75
+ explicitOutputMode,
75
76
  getActiveProfile,
76
77
  getModaDir,
77
78
  getModaPaths,
@@ -95,7 +96,7 @@ import {
95
96
  validateConfig,
96
97
  wasOutputCancelled,
97
98
  writeSecretJsonFile
98
- } from "./cli-8c60k2p4.js";
99
+ } from "./cli-bvnw7585.js";
99
100
  import {
100
101
  __require
101
102
  } from "./cli-0v6na3yp.js";
@@ -2725,13 +2726,15 @@ async function runRegistryCommand(context) {
2725
2726
  }
2726
2727
  return readRegistry(context, `/harness-registry/coverage${days ? `?days=${days}` : ""}`);
2727
2728
  }
2728
- case "prompt":
2729
- if (context.outputMode === "human")
2729
+ case "prompt": {
2730
+ const mode = explicitOutputMode(context.flags, context.env);
2731
+ if (mode && mode !== "human")
2732
+ context.output.writeData({ prompt: REGISTRY_AGENT_BRIEF });
2733
+ else if (!context.quiet)
2730
2734
  process.stdout.write(`${REGISTRY_AGENT_BRIEF}
2731
2735
  `);
2732
- else
2733
- context.output.writeData({ prompt: REGISTRY_AGENT_BRIEF });
2734
2736
  return { exitCode: 0 };
2737
+ }
2735
2738
  default:
2736
2739
  throw new CliInputError(`Unknown registry command '${subcommand}'.`, "Usage: moda registry template|validate|push|status|coverage|log|show|prompt [--file=.moda/registry.json] [--dry-run] [--live]");
2737
2740
  }
@@ -8354,7 +8357,8 @@ async function runTailCommand(params, context) {
8354
8357
  message_count: messageCount,
8355
8358
  environment: conversation.environment ?? null,
8356
8359
  cluster_name: conversation.cluster_name ?? null,
8357
- summary: conversation.summary ?? null
8360
+ summary: conversation.summary ?? null,
8361
+ latest_task: conversation.latest_task ?? null
8358
8362
  });
8359
8363
  }
8360
8364
  };
@@ -8661,6 +8665,8 @@ async function searchFallbackToTraces(params) {
8661
8665
  match_grain: "trace",
8662
8666
  conversation_id: row.conversation_id,
8663
8667
  summary: row.summary ?? null,
8668
+ matched_task: row.matched_task ?? null,
8669
+ latest_task: row.latest_task ?? null,
8664
8670
  message_count: row.message_count ?? null,
8665
8671
  first_timestamp: row.first_timestamp ?? null,
8666
8672
  last_timestamp: row.last_timestamp ?? null
@@ -10015,7 +10021,7 @@ var commandRegistry = createCommandRegistry([
10015
10021
  resetApiRequestCountBeforeRun: true,
10016
10022
  telemetry: "result",
10017
10023
  handler: async (context) => {
10018
- const { runInit } = await import("./index-nepr7cw7.js");
10024
+ const { runInit } = await import("./index-bcn5chmf.js");
10019
10025
  if (context.outputMode === "agent-stream") {
10020
10026
  context.output.writeEvent({
10021
10027
  event: "started",
@@ -10056,7 +10062,7 @@ var commandRegistry = createCommandRegistry([
10056
10062
  resetApiRequestCountBeforeRun: true,
10057
10063
  telemetry: "result-and-error",
10058
10064
  handler: async (context) => {
10059
- const { runProvision } = await import("./provision-02wqtkvm.js");
10065
+ const { runProvision } = await import("./provision-mqw8s0jb.js");
10060
10066
  return runProvision(context, {
10061
10067
  resumeCommand: buildResumeCommand("provision", context.rawFlags)
10062
10068
  });
@@ -10421,7 +10427,8 @@ var commandRegistry = createCommandRegistry([
10421
10427
  {
10422
10428
  name: "prompt",
10423
10429
  description: "Print the brief to hand your coding agent so it inventories and registers your harness",
10424
- usage: "moda registry prompt",
10430
+ usage: "moda registry prompt [--json | --agent]",
10431
+ flags: [{ name: "--json | --agent", description: "Return the brief inside JSON / the agent envelope. Without them it prints raw text, even when piped." }],
10425
10432
  examples: ["moda registry prompt | pbcopy", 'claude "$(moda registry prompt)"']
10426
10433
  }
10427
10434
  ],
@@ -42,8 +42,8 @@ import {
42
42
  writeHarnessAnalyzeResult,
43
43
  writeHarnessArtifacts,
44
44
  writeHumanProgress
45
- } from "./cli-5tsqk3jt.js";
46
- import"./cli-8c60k2p4.js";
45
+ } from "./cli-3xh2w7hb.js";
46
+ import"./cli-bvnw7585.js";
47
47
  import"./cli-0v6na3yp.js";
48
48
  export {
49
49
  writeHumanProgress,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildSourceSnapshot
3
- } from "./cli-5tsqk3jt.js";
4
- import"./cli-8c60k2p4.js";
3
+ } from "./cli-3xh2w7hb.js";
4
+ import"./cli-bvnw7585.js";
5
5
  import"./cli-0v6na3yp.js";
6
6
 
7
7
  // src/harness-github-actions.ts
@@ -3,7 +3,7 @@ import {
3
3
  initPrompts,
4
4
  runPromptSync,
5
5
  runSkillSync
6
- } from "./cli-j2rdgd3p.js";
6
+ } from "./cli-nnwegmzh.js";
7
7
  import {
8
8
  codingAgentDisplayName,
9
9
  describeCodingAgentEvent,
@@ -22,7 +22,7 @@ import {
22
22
  runHarnessCommand,
23
23
  startRemoteAnalyze,
24
24
  stripAnsi
25
- } from "./cli-5tsqk3jt.js";
25
+ } from "./cli-3xh2w7hb.js";
26
26
  import {
27
27
  bundledSkillsDir,
28
28
  installIntegrationSkill,
@@ -34,14 +34,14 @@ import {
34
34
  } from "./cli-ssfq84k5.js";
35
35
  import {
36
36
  selectTenantAndCreateKey
37
- } from "./cli-j2fapt3g.js";
37
+ } from "./cli-phgzghwq.js";
38
38
  import {
39
39
  ConnectCodeError,
40
40
  connectWithCode,
41
41
  loadAuthSession,
42
42
  loadToken,
43
43
  login
44
- } from "./cli-rycpwqzm.js";
44
+ } from "./cli-dy2aavbe.js";
45
45
  import {
46
46
  CliAuthError,
47
47
  CliInputError,
@@ -49,7 +49,7 @@ import {
49
49
  createCommandContext,
50
50
  resolveIngestUrl,
51
51
  resolveModaBaseUrl
52
- } from "./cli-8c60k2p4.js";
52
+ } from "./cli-bvnw7585.js";
53
53
  import"./cli-0v6na3yp.js";
54
54
 
55
55
  // src/init/index.ts
@@ -5,8 +5,8 @@ import {
5
5
  inspectCodeSelectors,
6
6
  inspectPythonSelectors,
7
7
  safePromptEvidencePath
8
- } from "./cli-5tsqk3jt.js";
9
- import"./cli-8c60k2p4.js";
8
+ } from "./cli-3xh2w7hb.js";
9
+ import"./cli-bvnw7585.js";
10
10
  import {
11
11
  __commonJS,
12
12
  __toESM
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  selectTenantAndCreateKey
3
- } from "./cli-j2fapt3g.js";
3
+ } from "./cli-phgzghwq.js";
4
4
  import {
5
5
  loadAuthSession
6
- } from "./cli-rycpwqzm.js";
6
+ } from "./cli-dy2aavbe.js";
7
7
  import {
8
8
  CliAuthError,
9
9
  resolveIngestUrl,
10
10
  resolveModaBaseUrl,
11
11
  stringOption
12
- } from "./cli-8c60k2p4.js";
12
+ } from "./cli-bvnw7585.js";
13
13
  import"./cli-0v6na3yp.js";
14
14
 
15
15
  // src/provision.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.45.0",
3
+ "version": "1.45.1",
4
4
  "description": "CLI for Moda - AI agent analytics and observability",
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-09T19:33:51.744Z",
4
- "cli_version": "1.45.0",
3
+ "bundled_at": "2026-10-09T20:46:23.241Z",
4
+ "cli_version": "1.45.1",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",