@moda-ai/cli 1.55.45 → 1.55.46

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 (42) hide show
  1. package/README.md +7 -8
  2. package/dist/{agent-5ax7fqhe.js → agent-aewgndk0.js} +16 -16
  3. package/dist/{cli-tztzrh6b.js → cli-4kf462jq.js} +3 -3
  4. package/dist/{cli-xcpwp0gb.js → cli-d6gfxx8t.js} +1 -1
  5. package/dist/{cli-t4xfvrry.js → cli-dxbd1xxs.js} +5 -5
  6. package/dist/{cli-wwbr5caw.js → cli-fqc02t6h.js} +12 -91
  7. package/dist/{cli-sejqvvhv.js → cli-h1z9yyqk.js} +1 -1
  8. package/dist/{cli-dmm9jm9m.js → cli-j08a1mam.js} +1 -1
  9. package/dist/{cli-8pcq2et6.js → cli-m4474bnj.js} +1 -1
  10. package/dist/{cli-xx0pjzkh.js → cli-s7d069g0.js} +5 -19
  11. package/dist/{cli-4m0rgkx4.js → cli-sqnw96gj.js} +2 -2
  12. package/dist/{cli-d4cdczhe.js → cli-x7rc3twr.js} +42 -42
  13. package/dist/{cli-5aa48ry5.js → cli-xctqdn42.js} +3 -3
  14. package/dist/cli.js +227 -630
  15. package/dist/{doctor-k4tdgvgv.js → doctor-fz5kq44d.js} +8 -8
  16. package/dist/{harness-avynbq4f.js → harness-cy0gpyhj.js} +10 -10
  17. package/dist/{harness-github-actions-gd6vyxb0.js → harness-github-actions-aac3tn96.js} +9 -9
  18. package/dist/{index-63k2a6gb.js → index-5eyq3ykt.js} +26 -26
  19. package/dist/{production-intelligence-0z6v6tpp.js → production-intelligence-8j8008d2.js} +4 -4
  20. package/dist/{profile-commands-mh3kfqkn.js → profile-commands-zbyn9xg2.js} +5 -5
  21. package/dist/{prompt-attribution-wvvnzw4m.js → prompt-attribution-g9gtv191.js} +9 -9
  22. package/dist/prompt-source-mcp.js +9 -9
  23. package/dist/{prompts-snnbyxmz.js → prompts-b6awryvv.js} +9 -13
  24. package/dist/{provision-t1dpzcjp.js → provision-xkhwz86g.js} +6 -6
  25. package/dist/{registry-8zkxefjs.js → registry-d7xdm4dw.js} +4 -4
  26. package/dist/{skills-d4215fa9.js → skills-zfenne8w.js} +6 -6
  27. package/dist/{sync-17f9yxb1.js → sync-5vd8gwte.js} +12 -12
  28. package/package.json +1 -1
  29. package/skills/integration/index.json +2 -2
  30. package/skills/moda-cli/SKILL.md +7 -10
  31. package/skills/moda-cli/references/commands.md +1 -2
  32. package/skills/moda-cli/references/dashboard-parity.md +2 -3
  33. package/skills/moda-cli/references/output-protocol.md +1 -1
  34. package/skills/moda-cli/references/production-intelligence.md +0 -4
  35. package/skills/moda-cli/references/prompts.md +1 -27
  36. package/skills/moda-cli/references/{replays-and-registry.md → registry.md} +15 -59
  37. package/dist/cli-4pc0a18x.js +0 -12
  38. package/dist/cli-8pksf2x7.js +0 -754
  39. package/dist/fix-nk5xffz8.js +0 -1440
  40. package/dist/prompts-ab-y7egdzg4.js +0 -64
  41. package/dist/prompts-propose-5nw25v9a.js +0 -256
  42. package/dist/{cli-e24fjyrb.js → cli-da3h2p6w.js} +28 -28
@@ -3,19 +3,19 @@ import {
3
3
  promptsDiscoveredCheck,
4
4
  runDoctorCommand,
5
5
  runStatusCommand
6
- } from "./cli-t4xfvrry.js";
7
- import"./cli-sejqvvhv.js";
8
- import"./cli-wwbr5caw.js";
6
+ } from "./cli-dxbd1xxs.js";
7
+ import"./cli-h1z9yyqk.js";
8
+ import"./cli-fqc02t6h.js";
9
9
  import"./cli-mm48br00.js";
10
10
  import"./cli-xq45etg1.js";
11
- import"./cli-8pcq2et6.js";
11
+ import"./cli-m4474bnj.js";
12
12
  import"./cli-e0kbye4s.js";
13
- import"./cli-tztzrh6b.js";
14
- import"./cli-dmm9jm9m.js";
15
- import"./cli-e24fjyrb.js";
16
- import"./cli-k4tqwah4.js";
13
+ import"./cli-4kf462jq.js";
14
+ import"./cli-j08a1mam.js";
15
+ import"./cli-da3h2p6w.js";
17
16
  import"./cli-9kfxkxmk.js";
18
17
  import"./cli-ns5fcnkz.js";
18
+ import"./cli-k4tqwah4.js";
19
19
  import"./cli-0v6na3yp.js";
20
20
  export {
21
21
  runStatusCommand,
@@ -40,21 +40,21 @@ import {
40
40
  writeHarnessAnalyzeResult,
41
41
  writeHarnessArtifacts,
42
42
  writeHumanProgress
43
- } from "./cli-d4cdczhe.js";
44
- import"./cli-xq45etg1.js";
43
+ } from "./cli-x7rc3twr.js";
45
44
  import"./cli-97fnztpy.js";
45
+ import"./cli-xq45etg1.js";
46
+ import"./cli-m4474bnj.js";
47
+ import"./cli-e0kbye4s.js";
48
+ import"./cli-4kf462jq.js";
49
+ import"./cli-j08a1mam.js";
50
+ import"./cli-da3h2p6w.js";
51
+ import"./cli-qpq84eee.js";
52
+ import"./cli-9kfxkxmk.js";
53
+ import"./cli-ns5fcnkz.js";
46
54
  import {
47
55
  HARNESS_ANALYZE_CONCERNS
48
56
  } from "./cli-cesds766.js";
49
- import"./cli-qpq84eee.js";
50
- import"./cli-8pcq2et6.js";
51
- import"./cli-e0kbye4s.js";
52
- import"./cli-tztzrh6b.js";
53
- import"./cli-dmm9jm9m.js";
54
- import"./cli-e24fjyrb.js";
55
57
  import"./cli-k4tqwah4.js";
56
- import"./cli-9kfxkxmk.js";
57
- import"./cli-ns5fcnkz.js";
58
58
  import"./cli-0v6na3yp.js";
59
59
  export {
60
60
  writeHumanProgress,
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  buildSourceSnapshot
3
- } from "./cli-d4cdczhe.js";
4
- import"./cli-xq45etg1.js";
3
+ } from "./cli-x7rc3twr.js";
5
4
  import"./cli-97fnztpy.js";
6
- import"./cli-cesds766.js";
7
- import"./cli-qpq84eee.js";
8
- import"./cli-8pcq2et6.js";
5
+ import"./cli-xq45etg1.js";
6
+ import"./cli-m4474bnj.js";
9
7
  import"./cli-e0kbye4s.js";
10
- import"./cli-tztzrh6b.js";
11
- import"./cli-dmm9jm9m.js";
8
+ import"./cli-4kf462jq.js";
9
+ import"./cli-j08a1mam.js";
12
10
  import {
13
11
  recordApiRequest
14
- } from "./cli-e24fjyrb.js";
15
- import"./cli-k4tqwah4.js";
12
+ } from "./cli-da3h2p6w.js";
13
+ import"./cli-qpq84eee.js";
16
14
  import"./cli-9kfxkxmk.js";
17
15
  import"./cli-ns5fcnkz.js";
16
+ import"./cli-cesds766.js";
17
+ import"./cli-k4tqwah4.js";
18
18
  import"./cli-0v6na3yp.js";
19
19
 
20
20
  // src/harness-github-actions.ts
@@ -1,17 +1,7 @@
1
- import {
2
- buildDoctorReport
3
- } from "./cli-t4xfvrry.js";
4
1
  import {
5
2
  selectTenantAndCreateKey
6
- } from "./cli-5aa48ry5.js";
7
- import"./cli-xcpwp0gb.js";
8
- import {
9
- ConnectCodeError,
10
- connectWithCode,
11
- loadAuthSession,
12
- loadToken,
13
- login
14
- } from "./cli-sejqvvhv.js";
3
+ } from "./cli-xctqdn42.js";
4
+ import"./cli-d6gfxx8t.js";
15
5
  import {
16
6
  bundledSkillsDir,
17
7
  installIntegrationSkill,
@@ -20,7 +10,7 @@ import {
20
10
  import {
21
11
  agentsMdProblem,
22
12
  runSkillSync
23
- } from "./cli-xx0pjzkh.js";
13
+ } from "./cli-s7d069g0.js";
24
14
  import"./cli-qm5b1vck.js";
25
15
  import {
26
16
  detectAgents
@@ -29,10 +19,20 @@ import {
29
19
  installRules,
30
20
  summarizeInstall
31
21
  } from "./cli-hcwdz9sd.js";
22
+ import {
23
+ buildDoctorReport
24
+ } from "./cli-dxbd1xxs.js";
25
+ import {
26
+ ConnectCodeError,
27
+ connectWithCode,
28
+ loadAuthSession,
29
+ loadToken,
30
+ login
31
+ } from "./cli-h1z9yyqk.js";
32
32
  import {
33
33
  initPrompts,
34
34
  runPromptSync
35
- } from "./cli-wwbr5caw.js";
35
+ } from "./cli-fqc02t6h.js";
36
36
  import"./cli-mm48br00.js";
37
37
  import {
38
38
  codingAgentDisplayName,
@@ -46,7 +46,10 @@ import {
46
46
  runCodingAgent,
47
47
  runHarnessCommand,
48
48
  startRemoteAnalyze
49
- } from "./cli-d4cdczhe.js";
49
+ } from "./cli-x7rc3twr.js";
50
+ import {
51
+ stripAnsi
52
+ } from "./cli-97fnztpy.js";
50
53
  import {
51
54
  canonicalText,
52
55
  renderInitBanner,
@@ -55,30 +58,27 @@ import {
55
58
  renderInitSetupPlan,
56
59
  renderInitStep
57
60
  } from "./cli-xq45etg1.js";
58
- import {
59
- stripAnsi
60
- } from "./cli-97fnztpy.js";
61
- import"./cli-cesds766.js";
62
- import"./cli-qpq84eee.js";
63
61
  import {
64
62
  createCommandContext
65
- } from "./cli-8pcq2et6.js";
63
+ } from "./cli-m4474bnj.js";
66
64
  import"./cli-e0kbye4s.js";
67
- import"./cli-tztzrh6b.js";
68
- import"./cli-dmm9jm9m.js";
65
+ import"./cli-4kf462jq.js";
66
+ import"./cli-j08a1mam.js";
69
67
  import {
70
68
  VERSION,
71
69
  recordApiRequest,
72
70
  resolveIngestUrl,
73
71
  resolveModaBaseUrl,
74
72
  shellArg
75
- } from "./cli-e24fjyrb.js";
73
+ } from "./cli-da3h2p6w.js";
74
+ import"./cli-qpq84eee.js";
75
+ import"./cli-9kfxkxmk.js";
76
+ import"./cli-ns5fcnkz.js";
77
+ import"./cli-cesds766.js";
76
78
  import {
77
79
  CliAuthError,
78
80
  CliInputError
79
81
  } from "./cli-k4tqwah4.js";
80
- import"./cli-9kfxkxmk.js";
81
- import"./cli-ns5fcnkz.js";
82
82
  import"./cli-0v6na3yp.js";
83
83
 
84
84
  // src/init/index.ts
@@ -10,7 +10,7 @@ import {
10
10
  overviewTrendsQuery,
11
11
  renderTrendsHuman,
12
12
  trendsSummaryText
13
- } from "./cli-4m0rgkx4.js";
13
+ } from "./cli-sqnw96gj.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-dmm9jm9m.js";
24
+ } from "./cli-j08a1mam.js";
25
25
  import {
26
26
  EXIT_DEGRADED,
27
27
  EXIT_OK,
@@ -31,13 +31,13 @@ import {
31
31
  resolveModaBaseUrl,
32
32
  safeWriteStderr,
33
33
  shellArg
34
- } from "./cli-e24fjyrb.js";
34
+ } from "./cli-da3h2p6w.js";
35
+ import"./cli-ns5fcnkz.js";
35
36
  import {
36
37
  CliAuthError,
37
38
  CliInputError,
38
39
  apiErrorStatus
39
40
  } from "./cli-k4tqwah4.js";
40
- import"./cli-ns5fcnkz.js";
41
41
  import"./cli-0v6na3yp.js";
42
42
 
43
43
  // src/production-intelligence.ts
@@ -2,7 +2,7 @@ import {
2
2
  probeApiKey,
3
3
  redactApiKey,
4
4
  resolveApiKeyCredential
5
- } from "./cli-xcpwp0gb.js";
5
+ } from "./cli-d6gfxx8t.js";
6
6
  import {
7
7
  authFetch,
8
8
  clearAuthSession,
@@ -10,10 +10,10 @@ import {
10
10
  loadAuthSession,
11
11
  login,
12
12
  revokeCliSessionToken
13
- } from "./cli-sejqvvhv.js";
13
+ } from "./cli-h1z9yyqk.js";
14
14
  import {
15
15
  ApiError
16
- } from "./cli-dmm9jm9m.js";
16
+ } from "./cli-j08a1mam.js";
17
17
  import {
18
18
  DEFAULT_INGEST_URL,
19
19
  EXIT_AUTH_REQUIRED,
@@ -44,11 +44,11 @@ import {
44
44
  setActiveProfile,
45
45
  shellArg,
46
46
  upsertProfile
47
- } from "./cli-e24fjyrb.js";
47
+ } from "./cli-da3h2p6w.js";
48
+ import"./cli-ns5fcnkz.js";
48
49
  import {
49
50
  CliInputError
50
51
  } from "./cli-k4tqwah4.js";
51
- import"./cli-ns5fcnkz.js";
52
52
  import"./cli-0v6na3yp.js";
53
53
 
54
54
  // src/profile-commands.ts
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  inventoryFiles,
3
3
  safePromptEvidencePath
4
- } from "./cli-d4cdczhe.js";
5
- import"./cli-xq45etg1.js";
4
+ } from "./cli-x7rc3twr.js";
6
5
  import"./cli-97fnztpy.js";
7
- import"./cli-cesds766.js";
6
+ import"./cli-xq45etg1.js";
7
+ import"./cli-m4474bnj.js";
8
+ import"./cli-e0kbye4s.js";
9
+ import"./cli-4kf462jq.js";
10
+ import"./cli-j08a1mam.js";
11
+ import"./cli-da3h2p6w.js";
8
12
  import {
9
13
  require_typescript
10
14
  } from "./cli-qpq84eee.js";
11
- import"./cli-8pcq2et6.js";
12
- import"./cli-e0kbye4s.js";
13
- import"./cli-tztzrh6b.js";
14
- import"./cli-dmm9jm9m.js";
15
- import"./cli-e24fjyrb.js";
16
- import"./cli-k4tqwah4.js";
17
15
  import"./cli-9kfxkxmk.js";
18
16
  import"./cli-ns5fcnkz.js";
17
+ import"./cli-cesds766.js";
18
+ import"./cli-k4tqwah4.js";
19
19
  import {
20
20
  __toESM
21
21
  } from "./cli-0v6na3yp.js";
@@ -3,22 +3,22 @@ import {
3
3
  checkPromptMapping,
4
4
  discoverHarnessPromptSources,
5
5
  safePromptEvidencePath
6
- } from "./cli-d4cdczhe.js";
7
- import"./cli-xq45etg1.js";
6
+ } from "./cli-x7rc3twr.js";
8
7
  import"./cli-97fnztpy.js";
9
- import"./cli-cesds766.js";
8
+ import"./cli-xq45etg1.js";
9
+ import"./cli-m4474bnj.js";
10
+ import"./cli-e0kbye4s.js";
11
+ import"./cli-4kf462jq.js";
12
+ import"./cli-j08a1mam.js";
13
+ import"./cli-da3h2p6w.js";
10
14
  import {
11
15
  inspectCodeSelectors,
12
16
  inspectPythonSelectors
13
17
  } from "./cli-qpq84eee.js";
14
- import"./cli-8pcq2et6.js";
15
- import"./cli-e0kbye4s.js";
16
- import"./cli-tztzrh6b.js";
17
- import"./cli-dmm9jm9m.js";
18
- import"./cli-e24fjyrb.js";
19
- import"./cli-k4tqwah4.js";
20
18
  import"./cli-9kfxkxmk.js";
21
19
  import"./cli-ns5fcnkz.js";
20
+ import"./cli-cesds766.js";
21
+ import"./cli-k4tqwah4.js";
22
22
  import {
23
23
  __commonJS,
24
24
  __toESM
@@ -1,41 +1,37 @@
1
1
  import {
2
- assertReplayablePrompt,
3
2
  discoverPrompts,
4
3
  importHarnessPromptSources,
5
4
  initPrompts,
6
5
  inspectPromptManifest,
7
6
  migratePromptManifest,
8
- parsePromptFileForAb,
7
+ parsePromptFile,
9
8
  promptManifestWarnings,
10
- readPromptLock,
11
9
  runPromptSync,
12
10
  runPromptsCommand,
13
11
  writePromptSyncProgress
14
- } from "./cli-wwbr5caw.js";
12
+ } from "./cli-fqc02t6h.js";
15
13
  import {
16
14
  promptSourceHashPayload
17
15
  } from "./cli-mm48br00.js";
18
- import"./cli-8pcq2et6.js";
16
+ import"./cli-m4474bnj.js";
19
17
  import"./cli-e0kbye4s.js";
20
- import"./cli-tztzrh6b.js";
21
- import"./cli-dmm9jm9m.js";
22
- import"./cli-e24fjyrb.js";
23
- import"./cli-k4tqwah4.js";
18
+ import"./cli-4kf462jq.js";
19
+ import"./cli-j08a1mam.js";
20
+ import"./cli-da3h2p6w.js";
24
21
  import"./cli-9kfxkxmk.js";
25
22
  import"./cli-ns5fcnkz.js";
23
+ import"./cli-k4tqwah4.js";
26
24
  import"./cli-0v6na3yp.js";
27
25
  export {
28
26
  writePromptSyncProgress,
29
27
  runPromptsCommand,
30
28
  runPromptSync,
31
- readPromptLock,
32
29
  promptSourceHashPayload,
33
30
  promptManifestWarnings,
34
- parsePromptFileForAb,
31
+ parsePromptFile,
35
32
  migratePromptManifest,
36
33
  inspectPromptManifest,
37
34
  initPrompts,
38
35
  importHarnessPromptSources,
39
- discoverPrompts,
40
- assertReplayablePrompt
36
+ discoverPrompts
41
37
  };
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  selectTenantAndCreateKey
3
- } from "./cli-5aa48ry5.js";
4
- import"./cli-xcpwp0gb.js";
3
+ } from "./cli-xctqdn42.js";
4
+ import"./cli-d6gfxx8t.js";
5
5
  import {
6
6
  loadAuthSession
7
- } from "./cli-sejqvvhv.js";
7
+ } from "./cli-h1z9yyqk.js";
8
8
  import {
9
9
  stringOption
10
- } from "./cli-8pcq2et6.js";
10
+ } from "./cli-m4474bnj.js";
11
11
  import"./cli-e0kbye4s.js";
12
12
  import {
13
13
  resolveIngestUrl,
14
14
  resolveModaBaseUrl
15
- } from "./cli-e24fjyrb.js";
15
+ } from "./cli-da3h2p6w.js";
16
+ import"./cli-ns5fcnkz.js";
16
17
  import {
17
18
  CliAuthError
18
19
  } from "./cli-k4tqwah4.js";
19
- import"./cli-ns5fcnkz.js";
20
20
  import"./cli-0v6na3yp.js";
21
21
 
22
22
  // src/provision.ts
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  assertFlags
3
- } from "./cli-tztzrh6b.js";
3
+ } from "./cli-4kf462jq.js";
4
4
  import {
5
5
  callControlAPI
6
- } from "./cli-dmm9jm9m.js";
6
+ } from "./cli-j08a1mam.js";
7
7
  import {
8
8
  explicitOutputMode,
9
9
  resolveApiKey
10
- } from "./cli-e24fjyrb.js";
10
+ } from "./cli-da3h2p6w.js";
11
+ import"./cli-ns5fcnkz.js";
11
12
  import {
12
13
  CliInputError
13
14
  } from "./cli-k4tqwah4.js";
14
- import"./cli-ns5fcnkz.js";
15
15
  import"./cli-0v6na3yp.js";
16
16
 
17
17
  // src/registry.ts
@@ -3,17 +3,17 @@ import {
3
3
  pullSkills,
4
4
  runSkillSync,
5
5
  runSkillsCommand
6
- } from "./cli-xx0pjzkh.js";
6
+ } from "./cli-s7d069g0.js";
7
7
  import"./cli-qm5b1vck.js";
8
8
  import"./cli-rjav0vj1.js";
9
9
  import"./cli-hcwdz9sd.js";
10
- import"./cli-8pcq2et6.js";
10
+ import"./cli-m4474bnj.js";
11
11
  import"./cli-e0kbye4s.js";
12
- import"./cli-tztzrh6b.js";
13
- import"./cli-dmm9jm9m.js";
14
- import"./cli-e24fjyrb.js";
15
- import"./cli-k4tqwah4.js";
12
+ import"./cli-4kf462jq.js";
13
+ import"./cli-j08a1mam.js";
14
+ import"./cli-da3h2p6w.js";
16
15
  import"./cli-ns5fcnkz.js";
16
+ import"./cli-k4tqwah4.js";
17
17
  import"./cli-0v6na3yp.js";
18
18
  export {
19
19
  runSkillsCommand,
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  runSkillsCommand
3
- } from "./cli-xx0pjzkh.js";
3
+ } from "./cli-s7d069g0.js";
4
4
  import"./cli-qm5b1vck.js";
5
5
  import"./cli-rjav0vj1.js";
6
6
  import"./cli-hcwdz9sd.js";
7
7
  import {
8
8
  runPromptsCommand
9
- } from "./cli-wwbr5caw.js";
9
+ } from "./cli-fqc02t6h.js";
10
10
  import"./cli-mm48br00.js";
11
11
  import {
12
12
  runHarnessCommand
13
- } from "./cli-d4cdczhe.js";
14
- import"./cli-xq45etg1.js";
13
+ } from "./cli-x7rc3twr.js";
15
14
  import"./cli-97fnztpy.js";
16
- import"./cli-cesds766.js";
17
- import"./cli-qpq84eee.js";
18
- import"./cli-8pcq2et6.js";
15
+ import"./cli-xq45etg1.js";
16
+ import"./cli-m4474bnj.js";
19
17
  import"./cli-e0kbye4s.js";
20
- import"./cli-tztzrh6b.js";
21
- import"./cli-dmm9jm9m.js";
22
- import"./cli-e24fjyrb.js";
18
+ import"./cli-4kf462jq.js";
19
+ import"./cli-j08a1mam.js";
20
+ import"./cli-da3h2p6w.js";
21
+ import"./cli-qpq84eee.js";
22
+ import"./cli-9kfxkxmk.js";
23
+ import"./cli-ns5fcnkz.js";
24
+ import"./cli-cesds766.js";
23
25
  import {
24
26
  CliInputError
25
27
  } from "./cli-k4tqwah4.js";
26
- import"./cli-9kfxkxmk.js";
27
- import"./cli-ns5fcnkz.js";
28
28
  import"./cli-0v6na3yp.js";
29
29
 
30
30
  // src/sync.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.55.45",
3
+ "version": "1.55.46",
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-20T02:21:32.859Z",
4
- "cli_version": "1.55.45",
3
+ "bundled_at": "2026-10-20T02:52:17.279Z",
4
+ "cli_version": "1.55.46",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: moda-cli
3
- version: 3.0.10
4
- description: Investigate a production AI agent with the Moda CLI (`moda`) - find where something happened in real traces (traces search, then traces get), check agent health, rank what to fix (investigate, problems), and dig into tool failures, user frustration, and hallucinations. Also prompt registry sync/promote, replays, custom signals, and false-positive marking. Use when the user mentions Moda, production traces or conversations of their agent, agent failures, or asks what to fix.
3
+ version: 3.0.11
4
+ description: Investigate a production AI agent with the Moda CLI (`moda`) - find where something happened in real traces (traces search, then traces get), check agent health, rank what to fix (investigate, problems), and dig into tool failures, user frustration, and hallucinations. Also prompt registry sync/promote, harness registry push, custom signals, and false-positive marking. Use when the user mentions Moda, production traces or conversations of their agent, agent failures, or asks what to fix.
5
5
  ---
6
6
 
7
7
  # Moda CLI
@@ -81,7 +81,7 @@ Details: `references/output-protocol.md`.
81
81
  | A synthesized answer | `moda ask "<question>"` only when the user asks: each call is a paid agent run (up to about 200k tokens) | Exit 3 means degraded |
82
82
  | A detection is wrong | `moda review <kind> <target> --reason="..."` | `references/signals-and-false-positives.md` |
83
83
  | Moda data looks wrong or missing | `moda feedback "<what and why>" --conversation-id=<id>` | |
84
- | Prompts, replays, registry push | Only on explicit request | `references/prompts.md`, `references/replays-and-registry.md` |
84
+ | Prompts, registry push | Only on explicit request | `references/prompts.md`, `references/registry.md` |
85
85
 
86
86
  Time windows differ by command: `--days-back=N` (1-90) on overview,
87
87
  investigate, problems, and detection commands (`detections list
@@ -97,10 +97,7 @@ names the closest values. `moda <noun> <verb> --help` shows which.
97
97
  2. `moda problems get <problem_id> --evidence` and open two or three anchors with
98
98
  `moda traces get <id> --msg-index=<n>` before deciding on a cause.
99
99
  3. Make the change in code; cite the problem id and trace ids in the commit or PR.
100
- 4. Test a prompt change on the Problem's failing traces (a paid replay, so ask
101
- first; prompt changes only today):
102
- `moda prompts ab --problem=<problem_id> --baseline=<prompt_key> --candidate=<edited file>`.
103
- 5. After it ships, and only if the user agrees:
100
+ 4. After it ships, and only if the user agrees:
104
101
  `moda problems feedback <problem_id> --action=mark_fixed`.
105
102
  More: `references/production-intelligence.md`.
106
103
 
@@ -109,9 +106,9 @@ More: `references/production-intelligence.md`.
109
106
  - Read evidence before acting on a summary; quote trace ids and message
110
107
  indexes when you report.
111
108
  - Never run writes (`problems feedback`, `review`,
112
- `signals create|update|...`, `prompts sync|promote|ab`, `registry push`)
109
+ `signals create|update|...`, `prompts sync|promote`, `registry push`)
113
110
  unless the user asked. Preview with `--dry-run` (every write except
114
- `prompts promote|ab|propose` takes it): it validates and applies nothing.
111
+ `prompts promote` takes it): it validates and applies nothing.
115
112
  Most writes print the exact request and a `next_commands` entry that runs
116
113
  it for real (see `references/output-protocol.md`).
117
114
  - An empty result in a window means "nothing in that window". Widen the window
@@ -156,6 +153,6 @@ Read only what the task needs:
156
153
  - `references/detections.md`: frustrations, emotions, tool failures, anchors and windows
157
154
  - `references/production-intelligence.md`: overview, investigate, ask, Problems and the fix loop
158
155
  - `references/signals-and-false-positives.md`: custom signals and false-positive marks
159
- - `references/prompts.md`, `references/replays-and-registry.md`: prompt registry, replays, registry push
156
+ - `references/prompts.md`, `references/registry.md`: prompt registry, registry push
160
157
  - `references/dashboard-parity.md`, `references/recipes.md`, `references/feedback.md`
161
158
  - `references/troubleshooting.md`, `references/commands.md` (command index; `--help` is authoritative)
@@ -62,8 +62,7 @@ Loaded on demand from the moda-cli skill. This table can lag the CLI: `moda <com
62
62
  | `--cohort=<ref>` | Scope `problems list`, `traces list`, `detections list` (emotion/frustration/hallucination per trace, laziness, custom_signal hits), `detections tools` and `clusters` to one cohort (`builtin:<key>` or a saved id from `moda cohorts list`). The summary names the cohort; a warning means the server did not confirm the scope |
63
63
  | `moda problems reopen <pid>` | Reopen a Problem marked fixed |
64
64
  | `moda signals <create\|update\|activate\|pause\|delete\|examples\|refine\|revise\|proposals\|accept\|reject\|search\|preview>` | Manage custom signals (writes take `--dry-run`; LLM-backed ones are rate-limited per key) |
65
- | `moda prompts list\|show\|proposals\|usage\|replay-runs\|decide` | Read the prompt registry; merge/reject proposals |
66
- | `moda replays sets\|runs\|run\|playouts\|playout` | Replay results: run history, per-seed verdicts, playout transcripts with tool provenance (read-only) |
65
+ | `moda prompts list\|show\|proposals\|usage\|decide` | Read the prompt registry; merge/reject proposals |
67
66
  | `moda skills list\|show\|policy` / `moda harness list\|show\|versions\|diff` | Skill library and synced harnesses |
68
67
 
69
68
  `moda traces search` flags: `--mode=keyword|semantic|hybrid` (default `hybrid`),
@@ -5,7 +5,7 @@ Loaded on demand from the moda-cli skill.
5
5
  ### 10. Everything the dashboard does, from the CLI
6
6
 
7
7
  Every command below needs only an API key, and the tenant comes from the key.
8
- Writes listed here accept `--dry-run`: it validates the call, prints the exact request (method, endpoint, body) and sends nothing, and its `next_commands` entry is the command that sends it for real (`mutability: write`, `requires_approval: true`). That covers `problems feedback|reopen|link`, `review`, `feedback`, `cohorts create|update` and the `signals` writes. `prompts promote|ab|propose` refuse `--dry-run` before sending anything, so run them only when you mean it.
8
+ Writes listed here accept `--dry-run`: it validates the call, prints the exact request (method, endpoint, body) and sends nothing, and its `next_commands` entry is the command that sends it for real (`mutability: write`, `requires_approval: true`). That covers `problems feedback|reopen|link`, `review`, `feedback`, `cohorts create|update` and the `signals` writes. `prompts promote` refuses `--dry-run` before sending anything, so run it only when you mean it.
9
9
 
10
10
  | Dashboard | CLI |
11
11
  |---|---|
@@ -29,8 +29,7 @@ Writes listed here accept `--dry-run`: it validates the call, prints the exact r
29
29
  | Custom signals: edit, lifecycle | `moda signals update <id> …`, `moda signals activate\|pause\|delete <id>` (delete: drafts only; archiving is dashboard-only) |
30
30
  | Custom signals: review & tune | `moda signals examples <id> add\|update\|remove --conversation-id=…`, `refine <id> --request="…"`, `revise <id> --conversation-ids=…`, `proposals <id>`, `accept\|reject <id> <proposal_id>` |
31
31
  | Custom signals: find matches | `moda signals search <id>`, `search-status <id> <search_id>`, `search-stop <id> <search_id>`, `preview --file=detector.json` |
32
- | Replays: run detail, playout transcripts | `moda replays runs <set_id>`, `run <set_id> <run_id>`, `playouts <set_id> <run_id> [--case --arm --seed --transcript]`, `playout <set_id> <run_id> <playout_id>` |
33
- | Prompts registry | `moda prompts list [--label --search]`, `show <key>`, `proposals <key>`, `usage <key>`, `replay-runs <key>`, `decide <key> <proposal_id> --action=merge\|reject\|reopen` |
32
+ | Prompts registry | `moda prompts list [--label --search]`, `show <key>`, `proposals <key>`, `usage <key>`, `decide <key> <proposal_id> --action=merge\|reject\|reopen` |
34
33
  | Skills library | `moda skills list`, `show <key>`, `policy <key> --live\|--local` |
35
34
  | Harness pages | `moda harness list`, `show <id>`, `versions <id>`, `diff <id> --from=… --to=…` |
36
35
 
@@ -220,7 +220,7 @@ Treat an answer as degraded if **any** of these hold:
220
220
  instead of ignoring it. Free text joins every word: `moda traces search
221
221
  refund not processed` searches "refund not processed" (same for `ask` and
222
222
  `feedback`).
223
- - **Writes take `--dry-run`** (`prompts promote|ab|propose` excepted).
223
+ - **Writes take `--dry-run`** (`prompts promote` excepted).
224
224
  - `problems feedback|reopen|link`, `review`, `feedback`, `signals` writes
225
225
  and `skills policy` validate fully, send nothing, and return
226
226
  `data.planned` (method, endpoint, body) plus a `next_commands` entry
@@ -141,9 +141,5 @@ Rules that keep the fix grounded:
141
141
  not on the Problem's title alone.
142
142
  - Cite the Moda problem id and the trace ids you relied on in the PR
143
143
  description, so a reviewer can open the same evidence.
144
- - To test a prompt change against real traffic before shipping it, A/B it with
145
- `moda prompts ab --baseline=<path> --candidate=<path> --problem=<problem_id>`
146
- (replays the Problem's failing traces from their evidence anchors) or
147
- `--traces=<ids>` (see section 7).
148
144
  - Mark the Problem fixed only after the change ships. If the issue is detected
149
145
  again, the Problem comes back; `moda problems reopen` reopens it by hand.
@@ -61,33 +61,7 @@ sources: # prompts defined in code or config, mapped in pla
61
61
  To attribute runtime calls, stamp the lock entry `{ key, promptId, versionId }`
62
62
  on telemetry. With Cloudflare Think / AI SDK 7, pass
63
63
  `prompt: lock.prompts['<key>']` to `createThinkTelemetry` (`moda-ai/think`) or
64
- `createAI7Telemetry` (`moda-ai/ai7`). A `moda fix` that lands `UNROUTED` with
65
- "top share 0%" means the evidence carries no prompt version: wire this up,
66
- then check `moda prompts status`.
67
-
68
- `prompts ab` and `prompts propose --gate` run paid replays. Before sending
69
- anything they compute planned playouts (cases × seeds × 2 arms) and print it
70
- (`plannedPlayouts`). Above 200, or when an existing set's case count can't be
71
- read, they fail (exit 1) with the number and the exact command to re-run with `--yes`.
72
- Only add `--yes` when the user has agreed to that spend. Limits: `--cases`
73
- default 5, max 100; `--seeds` default 3, max 10; `--traces` at most 100
74
- (`--traces=conv_id@412` replays that trace from msg_index 412, with the
75
- earlier turns as history, and writes its case from the messages around 412);
76
- `--problem=<problem_id>` picks a Problem's affected traces, each anchored at
77
- its earliest evidence msg_index, up to
78
- `--max-cases` (default 10, max 100), and prints them (`problemCases`);
79
- `--model` / `--assistant-model` must be one of `openai/gpt-5.6-luna`,
80
- `openai/gpt-4o-mini`, `openai/gpt-4o`, `anthropic/claude-sonnet-4-5`,
81
- `anthropic/claude-haiku-4-5`, `google/gemini-2.5-flash`,
82
- `google/gemini-2.5-pro` unless you pass `--allow-any-model`.
83
-
84
- `prompts ab --traces=<ids>` builds one case per trace from Moda's distilled
85
- scenario and success criteria for that trace. A trace Moda cannot distill
86
- falls back to its opening user message (for `id@N`, the user message leading
87
- into N) with three generic criteria (which long
88
- traces pass easily); the run warns and lists it under `caseSources.fallback`.
89
- `prompts ab` never makes its replay set the tenant's primary set unless you
90
- pass `--promote`.
64
+ `createAI7Telemetry` (`moda-ai/ai7`).
91
65
 
92
66
  Runtime code should render synced prompts through the SDK:
93
67