@moda-ai/cli 1.55.15 → 1.55.17

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 (31) hide show
  1. package/dist/{agent-a2xwfeeh.js → agent-cha3kg9d.js} +9 -9
  2. package/dist/{cli-86q35fpq.js → cli-0e8bfvn7.js} +8 -8
  3. package/dist/{cli-3gwbg0xp.js → cli-1exddmc0.js} +2 -2
  4. package/dist/{cli-b3cxcxgn.js → cli-3ezzeqcy.js} +669 -37
  5. package/dist/{cli-kf3d6y8c.js → cli-5hq827jt.js} +8 -2
  6. package/dist/{cli-xy6zn80e.js → cli-5q1gyvxn.js} +5 -5
  7. package/dist/{cli-7fc44hhq.js → cli-a1mv0ypm.js} +5 -5
  8. package/dist/{cli-zdeywyn9.js → cli-av3dqgj5.js} +4 -4
  9. package/dist/cli-bb7133m7.js +144 -0
  10. package/dist/{cli-2ars875d.js → cli-c8p69n55.js} +2 -2
  11. package/dist/{cli-atx672xv.js → cli-eazeanvt.js} +1 -1
  12. package/dist/{cli-53mvsfgn.js → cli-kg0kz05e.js} +3 -3
  13. package/dist/{cli-6ca1sz0a.js → cli-qmjnh4z9.js} +1 -1
  14. package/dist/cli.js +299 -103
  15. package/dist/{doctor-e2xrbpmp.js → doctor-kg0yq1wf.js} +9 -9
  16. package/dist/{fix-v8xka487.js → fix-q8er8egx.js} +7 -7
  17. package/dist/{harness-github-actions-301nak95.js → harness-github-actions-ver6cprq.js} +6 -6
  18. package/dist/{harness-28wbzncq.js → harness-v9s0k9s7.js} +6 -6
  19. package/dist/{index-ccdpy9ma.js → index-7zqa7t5c.js} +11 -11
  20. package/dist/{production-intelligence-0wqcvvxk.js → production-intelligence-k36jsvqx.js} +13 -13
  21. package/dist/{profile-commands-f5kysjrv.js → profile-commands-88sdwzbg.js} +3 -3
  22. package/dist/prompt-source-mcp.js +6 -6
  23. package/dist/{prompts-jg0stjfb.js → prompts-2r756vtd.js} +7 -7
  24. package/dist/{provision-25bw5rd7.js → provision-n3r7yway.js} +4 -4
  25. package/dist/{registry-39xzetsc.js → registry-5v63ga01.js} +4 -4
  26. package/dist/{skills-gjesa81c.js → skills-fed17et3.js} +6 -6
  27. package/dist/{sync-7ts9psky.js → sync-r4tncne4.js} +8 -8
  28. package/package.json +1 -1
  29. package/skills/integration/index.json +2 -2
  30. package/skills/moda-cli/SKILL.md +20 -8
  31. package/dist/cli-438g4nwh.js +0 -465
@@ -3,17 +3,17 @@ import {
3
3
  promptsDiscoveredCheck,
4
4
  runDoctorCommand,
5
5
  runStatusCommand
6
- } from "./cli-xy6zn80e.js";
7
- import"./cli-6ca1sz0a.js";
8
- import"./cli-86q35fpq.js";
6
+ } from "./cli-5q1gyvxn.js";
7
+ import"./cli-qmjnh4z9.js";
8
+ import"./cli-0e8bfvn7.js";
9
9
  import"./cli-mm48br00.js";
10
- import"./cli-7fc44hhq.js";
10
+ import"./cli-a1mv0ypm.js";
11
11
  import"./cli-97fnztpy.js";
12
- import"./cli-kf3d6y8c.js";
13
- import"./cli-53mvsfgn.js";
14
- import"./cli-2ars875d.js";
15
- import"./cli-atx672xv.js";
16
- import"./cli-b3cxcxgn.js";
12
+ import"./cli-5hq827jt.js";
13
+ import"./cli-kg0kz05e.js";
14
+ import"./cli-c8p69n55.js";
15
+ import"./cli-eazeanvt.js";
16
+ import"./cli-3ezzeqcy.js";
17
17
  import"./cli-0v6na3yp.js";
18
18
  export {
19
19
  runStatusCommand,
@@ -2,18 +2,18 @@ import {
2
2
  DEFAULT_POLL_INTERVAL_MS,
3
3
  DEFAULT_WAIT_TIMEOUT_MS,
4
4
  fetchLatestRun
5
- } from "./cli-86q35fpq.js";
5
+ } from "./cli-0e8bfvn7.js";
6
6
  import"./cli-mm48br00.js";
7
- import"./cli-7fc44hhq.js";
7
+ import"./cli-a1mv0ypm.js";
8
8
  import"./cli-97fnztpy.js";
9
- import"./cli-kf3d6y8c.js";
9
+ import"./cli-5hq827jt.js";
10
10
  import {
11
11
  assertFlags
12
- } from "./cli-53mvsfgn.js";
12
+ } from "./cli-kg0kz05e.js";
13
13
  import {
14
14
  callControlAPI
15
- } from "./cli-2ars875d.js";
16
- import"./cli-atx672xv.js";
15
+ } from "./cli-c8p69n55.js";
16
+ import"./cli-eazeanvt.js";
17
17
  import {
18
18
  CliInputError,
19
19
  EXIT_DEGRADED,
@@ -22,7 +22,7 @@ import {
22
22
  getModaPaths,
23
23
  resolveApiTenantId,
24
24
  validateConfig
25
- } from "./cli-b3cxcxgn.js";
25
+ } from "./cli-3ezzeqcy.js";
26
26
  import"./cli-0v6na3yp.js";
27
27
 
28
28
  // src/fix.ts
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  buildSourceSnapshot
3
- } from "./cli-7fc44hhq.js";
3
+ } from "./cli-a1mv0ypm.js";
4
4
  import"./cli-97fnztpy.js";
5
- import"./cli-kf3d6y8c.js";
6
- import"./cli-53mvsfgn.js";
7
- import"./cli-2ars875d.js";
8
- import"./cli-atx672xv.js";
5
+ import"./cli-5hq827jt.js";
6
+ import"./cli-kg0kz05e.js";
7
+ import"./cli-c8p69n55.js";
8
+ import"./cli-eazeanvt.js";
9
9
  import {
10
10
  recordApiRequest
11
- } from "./cli-b3cxcxgn.js";
11
+ } from "./cli-3ezzeqcy.js";
12
12
  import"./cli-0v6na3yp.js";
13
13
 
14
14
  // src/harness-github-actions.ts
@@ -42,13 +42,13 @@ import {
42
42
  writeHarnessAnalyzeResult,
43
43
  writeHarnessArtifacts,
44
44
  writeHumanProgress
45
- } from "./cli-7fc44hhq.js";
45
+ } from "./cli-a1mv0ypm.js";
46
46
  import"./cli-97fnztpy.js";
47
- import"./cli-kf3d6y8c.js";
48
- import"./cli-53mvsfgn.js";
49
- import"./cli-2ars875d.js";
50
- import"./cli-atx672xv.js";
51
- import"./cli-b3cxcxgn.js";
47
+ import"./cli-5hq827jt.js";
48
+ import"./cli-kg0kz05e.js";
49
+ import"./cli-c8p69n55.js";
50
+ import"./cli-eazeanvt.js";
51
+ import"./cli-3ezzeqcy.js";
52
52
  import"./cli-0v6na3yp.js";
53
53
  export {
54
54
  writeHumanProgress,
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  selectTenantAndCreateKey
3
- } from "./cli-3gwbg0xp.js";
3
+ } from "./cli-1exddmc0.js";
4
4
  import {
5
5
  buildDoctorReport
6
- } from "./cli-xy6zn80e.js";
6
+ } from "./cli-5q1gyvxn.js";
7
7
  import {
8
8
  ConnectCodeError,
9
9
  connectWithCode,
10
10
  loadAuthSession,
11
11
  loadToken,
12
12
  login
13
- } from "./cli-6ca1sz0a.js";
13
+ } from "./cli-qmjnh4z9.js";
14
14
  import {
15
15
  initPrompts,
16
16
  runPromptSync
17
- } from "./cli-86q35fpq.js";
17
+ } from "./cli-0e8bfvn7.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-7fc44hhq.js";
37
+ } from "./cli-a1mv0ypm.js";
38
38
  import {
39
39
  stripAnsi
40
40
  } from "./cli-97fnztpy.js";
@@ -45,13 +45,13 @@ import {
45
45
  } from "./cli-c5c6f0yw.js";
46
46
  import {
47
47
  runSkillSync
48
- } from "./cli-zdeywyn9.js";
48
+ } from "./cli-av3dqgj5.js";
49
49
  import {
50
50
  createCommandContext
51
- } from "./cli-kf3d6y8c.js";
52
- import"./cli-53mvsfgn.js";
53
- import"./cli-2ars875d.js";
54
- import"./cli-atx672xv.js";
51
+ } from "./cli-5hq827jt.js";
52
+ import"./cli-kg0kz05e.js";
53
+ import"./cli-c8p69n55.js";
54
+ import"./cli-eazeanvt.js";
55
55
  import {
56
56
  CliAuthError,
57
57
  CliInputError,
@@ -59,7 +59,7 @@ import {
59
59
  recordApiRequest,
60
60
  resolveIngestUrl,
61
61
  resolveModaBaseUrl
62
- } from "./cli-b3cxcxgn.js";
62
+ } from "./cli-3ezzeqcy.js";
63
63
  import {
64
64
  detectAgents,
65
65
  installRules
@@ -1,13 +1,6 @@
1
1
  import {
2
- INTELLIGENCE_SCHEMA_VERSION,
3
- asNumber,
4
- asRecord,
5
- asString,
6
- contextTarget,
7
- frustrationAnchorIndex,
8
- frustrationsFromEmotions,
9
- shellWord
10
- } from "./cli-438g4nwh.js";
2
+ INTELLIGENCE_SCHEMA_VERSION
3
+ } from "./cli-bb7133m7.js";
11
4
  import {
12
5
  renderMarkdownForTerminal,
13
6
  shouldColorTerminalOutput,
@@ -17,20 +10,27 @@ import {
17
10
  import {
18
11
  callControlAPI,
19
12
  callDataAPI
20
- } from "./cli-2ars875d.js";
13
+ } from "./cli-c8p69n55.js";
21
14
  import {
22
15
  apiKeyHeaders
23
- } from "./cli-atx672xv.js";
16
+ } from "./cli-eazeanvt.js";
24
17
  import {
25
18
  CliAuthError,
26
19
  CliInputError,
27
20
  EXIT_DEGRADED,
28
21
  EXIT_OK,
22
+ asNumber,
23
+ asRecord,
24
+ asString,
25
+ contextTarget,
26
+ frustrationAnchorIndex,
27
+ frustrationsFromEmotions,
29
28
  recordApiRequest,
30
29
  resolveApiKey,
31
30
  resolveModaBaseUrl,
32
- safeWriteStderr
33
- } from "./cli-b3cxcxgn.js";
31
+ safeWriteStderr,
32
+ shellWord
33
+ } from "./cli-3ezzeqcy.js";
34
34
  import"./cli-0v6na3yp.js";
35
35
 
36
36
  // src/production-intelligence.ts
@@ -5,10 +5,10 @@ import {
5
5
  loadAuthSession,
6
6
  login,
7
7
  revokeCliSessionToken
8
- } from "./cli-6ca1sz0a.js";
8
+ } from "./cli-qmjnh4z9.js";
9
9
  import {
10
10
  apiKeyHeaders
11
- } from "./cli-atx672xv.js";
11
+ } from "./cli-eazeanvt.js";
12
12
  import {
13
13
  CliInputError,
14
14
  DEFAULT_INGEST_URL,
@@ -34,7 +34,7 @@ import {
34
34
  secretFilePathFromRef,
35
35
  setActiveProfile,
36
36
  upsertProfile
37
- } from "./cli-b3cxcxgn.js";
37
+ } from "./cli-3ezzeqcy.js";
38
38
  import"./cli-0v6na3yp.js";
39
39
 
40
40
  // src/api-key-auth.ts
@@ -5,13 +5,13 @@ import {
5
5
  inspectCodeSelectors,
6
6
  inspectPythonSelectors,
7
7
  safePromptEvidencePath
8
- } from "./cli-7fc44hhq.js";
8
+ } from "./cli-a1mv0ypm.js";
9
9
  import"./cli-97fnztpy.js";
10
- import"./cli-kf3d6y8c.js";
11
- import"./cli-53mvsfgn.js";
12
- import"./cli-2ars875d.js";
13
- import"./cli-atx672xv.js";
14
- import"./cli-b3cxcxgn.js";
10
+ import"./cli-5hq827jt.js";
11
+ import"./cli-kg0kz05e.js";
12
+ import"./cli-c8p69n55.js";
13
+ import"./cli-eazeanvt.js";
14
+ import"./cli-3ezzeqcy.js";
15
15
  import {
16
16
  __commonJS,
17
17
  __toESM
@@ -11,17 +11,17 @@ import {
11
11
  runPromptSync,
12
12
  runPromptsCommand,
13
13
  writePromptSyncProgress
14
- } from "./cli-86q35fpq.js";
14
+ } from "./cli-0e8bfvn7.js";
15
15
  import {
16
16
  promptSourceHashPayload
17
17
  } from "./cli-mm48br00.js";
18
- import"./cli-7fc44hhq.js";
18
+ import"./cli-a1mv0ypm.js";
19
19
  import"./cli-97fnztpy.js";
20
- import"./cli-kf3d6y8c.js";
21
- import"./cli-53mvsfgn.js";
22
- import"./cli-2ars875d.js";
23
- import"./cli-atx672xv.js";
24
- import"./cli-b3cxcxgn.js";
20
+ import"./cli-5hq827jt.js";
21
+ import"./cli-kg0kz05e.js";
22
+ import"./cli-c8p69n55.js";
23
+ import"./cli-eazeanvt.js";
24
+ import"./cli-3ezzeqcy.js";
25
25
  import"./cli-0v6na3yp.js";
26
26
  export {
27
27
  writePromptSyncProgress,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  selectTenantAndCreateKey
3
- } from "./cli-3gwbg0xp.js";
3
+ } from "./cli-1exddmc0.js";
4
4
  import {
5
5
  loadAuthSession
6
- } from "./cli-6ca1sz0a.js";
6
+ } from "./cli-qmjnh4z9.js";
7
7
  import {
8
8
  stringOption
9
- } from "./cli-kf3d6y8c.js";
9
+ } from "./cli-5hq827jt.js";
10
10
  import {
11
11
  CliAuthError,
12
12
  resolveIngestUrl,
13
13
  resolveModaBaseUrl
14
- } from "./cli-b3cxcxgn.js";
14
+ } from "./cli-3ezzeqcy.js";
15
15
  import"./cli-0v6na3yp.js";
16
16
 
17
17
  // src/provision.ts
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  assertFlags
3
- } from "./cli-53mvsfgn.js";
3
+ } from "./cli-kg0kz05e.js";
4
4
  import {
5
5
  callControlAPI
6
- } from "./cli-2ars875d.js";
7
- import"./cli-atx672xv.js";
6
+ } from "./cli-c8p69n55.js";
7
+ import"./cli-eazeanvt.js";
8
8
  import {
9
9
  CliInputError,
10
10
  explicitOutputMode,
11
11
  resolveApiKey
12
- } from "./cli-b3cxcxgn.js";
12
+ } from "./cli-3ezzeqcy.js";
13
13
  import"./cli-0v6na3yp.js";
14
14
 
15
15
  // src/registry.ts
@@ -3,12 +3,12 @@ import {
3
3
  pullSkills,
4
4
  runSkillSync,
5
5
  runSkillsCommand
6
- } from "./cli-zdeywyn9.js";
7
- import"./cli-kf3d6y8c.js";
8
- import"./cli-53mvsfgn.js";
9
- import"./cli-2ars875d.js";
10
- import"./cli-atx672xv.js";
11
- import"./cli-b3cxcxgn.js";
6
+ } from "./cli-av3dqgj5.js";
7
+ import"./cli-5hq827jt.js";
8
+ import"./cli-kg0kz05e.js";
9
+ import"./cli-c8p69n55.js";
10
+ import"./cli-eazeanvt.js";
11
+ import"./cli-3ezzeqcy.js";
12
12
  import"./cli-ssfq84k5.js";
13
13
  import"./cli-0v6na3yp.js";
14
14
  export {
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  runPromptsCommand
3
- } from "./cli-86q35fpq.js";
3
+ } from "./cli-0e8bfvn7.js";
4
4
  import"./cli-mm48br00.js";
5
5
  import {
6
6
  runHarnessCommand
7
- } from "./cli-7fc44hhq.js";
7
+ } from "./cli-a1mv0ypm.js";
8
8
  import"./cli-97fnztpy.js";
9
9
  import {
10
10
  runSkillsCommand
11
- } from "./cli-zdeywyn9.js";
12
- import"./cli-kf3d6y8c.js";
13
- import"./cli-53mvsfgn.js";
14
- import"./cli-2ars875d.js";
15
- import"./cli-atx672xv.js";
11
+ } from "./cli-av3dqgj5.js";
12
+ import"./cli-5hq827jt.js";
13
+ import"./cli-kg0kz05e.js";
14
+ import"./cli-c8p69n55.js";
15
+ import"./cli-eazeanvt.js";
16
16
  import {
17
17
  CliInputError
18
- } from "./cli-b3cxcxgn.js";
18
+ } from "./cli-3ezzeqcy.js";
19
19
  import"./cli-ssfq84k5.js";
20
20
  import"./cli-0v6na3yp.js";
21
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.55.15",
3
+ "version": "1.55.17",
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-15T06:17:15.907Z",
4
- "cli_version": "1.55.15",
3
+ "bundled_at": "2026-10-15T07:05:16.026Z",
4
+ "cli_version": "1.55.17",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",
@@ -408,11 +408,16 @@ Treat an answer as degraded if **any** of these hold:
408
408
 
409
409
  ### Large outputs and unknown flags
410
410
 
411
- - **Byte limit.** In `--agent` mode, envelopes over 200 KB
412
- (`MODA_AGENT_MAX_OUTPUT_BYTES`) are bounded *without* cutting any text or
413
- breaking their shape: the complete output (the same JSON `--json` prints) is
414
- written to a local file, and whole trailing list items are dropped from
415
- `data`. `truncation.data.full_output_path` (also an `artifacts[]` entry of
411
+ - **Byte limit.** In `--agent` mode, envelopes over 24,000 bytes
412
+ (`MODA_AGENT_MAX_OUTPUT_BYTES`; kept under the 30,000-character tool output
413
+ limit) are bounded *without* cutting any text or breaking their shape: the
414
+ complete output (the same JSON `--json` prints) is written to a local file,
415
+ duplicate `content_blocks` are removed first, and then whole trailing list
416
+ items are dropped from `data`. When rows are dropped, the list's
417
+ `pagination` says what you got (`returned`, `limit`, `next_offset`; a
418
+ `next_cursor` that would skip rows becomes `null`) and `next_commands` has
419
+ the exact command for the rest (e.g. `moda frustrations --offset=3
420
+ --limit=7`). `truncation.data.full_output_path` (also an `artifacts[]` entry of
416
421
  kind `full_output`) is that file; read it in line ranges or with `jq`.
417
422
  These files are pruned after 24 hours (`MODA_AGENT_OUTPUT_RETENTION_HOURS`).
418
423
  `truncation.data` also says what was dropped (`dropped_items`,
@@ -737,11 +742,15 @@ Moda captured every LLM/tool call for a trace.
737
742
  ```bash
738
743
  moda frustrations # last 7 days
739
744
  moda frustrations --days-back=14 --limit=20
740
- moda frustrations --include-window --window=1 --limit=5
745
+ moda frustrations --include-window --window=1 --limit=5 # agent output omits windows unless asked
741
746
  moda emotions --family=frustration --user-id=<id> # one end user
742
747
  moda emotions --conversation-id=<id> # every family, one trace
743
748
  ```
744
749
 
750
+ In agent output, `frustrations` and `emotions` rows leave out the embedded
751
+ conversation window (most of each row) unless you pass `--include-window`;
752
+ each row keeps `anchor` and a `context_command` to read the turns around it.
753
+
745
754
  `--user-id` and `--conversation-id` work on `emotions` and `frustrations`, and
746
755
  scope *every* figure: summary, breakdown, list and total. `--limit` is 1–20 on
747
756
  both, and on `hallucinations` and `tool-failure-detail`. Page with `--offset`.
@@ -1086,7 +1095,8 @@ Problem, or before hand-editing prompt/skill files in a repo that talks to Moda.
1086
1095
  moda investigate # rank tool failures, frustrations,
1087
1096
  # and top Problems with evidence
1088
1097
  moda problems # cross-signal Problems by root cause
1089
- moda problem <problem_id> # the dossier: what, where, how often
1098
+ moda problem <problem_id> # compact dossier: what, where, how often
1099
+ moda problem <problem_id> --full # every dossier block (large)
1090
1100
  moda problem <problem_id> --evidence # attribution rationales and anchors
1091
1101
  moda problem <problem_id> --traces # affected traces with anchors
1092
1102
  moda tool-failure-detail <tool_name> # failing calls with surrounding turns
@@ -1443,4 +1453,6 @@ commands (`moda <command> --help` shows them). Boolean flags take `true`/`false`
1443
1453
  and also `1`/`0`, `yes`/`no`, `on`/`off`.
1444
1454
  `frustrations` and `tool-failure-detail` additionally accept
1445
1455
  `--include-window` (attach a `window` slice per row) and `--window=N` (1–5,
1446
- default `1`; half-width, so `--window=1` ⇒ 3 messages).
1456
+ default `1`; half-width, so `--window=1` ⇒ 3 messages). `emotions` accepts
1457
+ `--include-window` to keep each detection's `conversation_context` in agent
1458
+ output. `problem <id>` accepts `--full` for the whole dossier in agent output.