@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.
- package/README.md +7 -8
- package/dist/{agent-5ax7fqhe.js → agent-aewgndk0.js} +16 -16
- package/dist/{cli-tztzrh6b.js → cli-4kf462jq.js} +3 -3
- package/dist/{cli-xcpwp0gb.js → cli-d6gfxx8t.js} +1 -1
- package/dist/{cli-t4xfvrry.js → cli-dxbd1xxs.js} +5 -5
- package/dist/{cli-wwbr5caw.js → cli-fqc02t6h.js} +12 -91
- package/dist/{cli-sejqvvhv.js → cli-h1z9yyqk.js} +1 -1
- package/dist/{cli-dmm9jm9m.js → cli-j08a1mam.js} +1 -1
- package/dist/{cli-8pcq2et6.js → cli-m4474bnj.js} +1 -1
- package/dist/{cli-xx0pjzkh.js → cli-s7d069g0.js} +5 -19
- package/dist/{cli-4m0rgkx4.js → cli-sqnw96gj.js} +2 -2
- package/dist/{cli-d4cdczhe.js → cli-x7rc3twr.js} +42 -42
- package/dist/{cli-5aa48ry5.js → cli-xctqdn42.js} +3 -3
- package/dist/cli.js +227 -630
- package/dist/{doctor-k4tdgvgv.js → doctor-fz5kq44d.js} +8 -8
- package/dist/{harness-avynbq4f.js → harness-cy0gpyhj.js} +10 -10
- package/dist/{harness-github-actions-gd6vyxb0.js → harness-github-actions-aac3tn96.js} +9 -9
- package/dist/{index-63k2a6gb.js → index-5eyq3ykt.js} +26 -26
- package/dist/{production-intelligence-0z6v6tpp.js → production-intelligence-8j8008d2.js} +4 -4
- package/dist/{profile-commands-mh3kfqkn.js → profile-commands-zbyn9xg2.js} +5 -5
- package/dist/{prompt-attribution-wvvnzw4m.js → prompt-attribution-g9gtv191.js} +9 -9
- package/dist/prompt-source-mcp.js +9 -9
- package/dist/{prompts-snnbyxmz.js → prompts-b6awryvv.js} +9 -13
- package/dist/{provision-t1dpzcjp.js → provision-xkhwz86g.js} +6 -6
- package/dist/{registry-8zkxefjs.js → registry-d7xdm4dw.js} +4 -4
- package/dist/{skills-d4215fa9.js → skills-zfenne8w.js} +6 -6
- package/dist/{sync-17f9yxb1.js → sync-5vd8gwte.js} +12 -12
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +7 -10
- package/skills/moda-cli/references/commands.md +1 -2
- package/skills/moda-cli/references/dashboard-parity.md +2 -3
- package/skills/moda-cli/references/output-protocol.md +1 -1
- package/skills/moda-cli/references/production-intelligence.md +0 -4
- package/skills/moda-cli/references/prompts.md +1 -27
- package/skills/moda-cli/references/{replays-and-registry.md → registry.md} +15 -59
- package/dist/cli-4pc0a18x.js +0 -12
- package/dist/cli-8pksf2x7.js +0 -754
- package/dist/fix-nk5xffz8.js +0 -1440
- package/dist/prompts-ab-y7egdzg4.js +0 -64
- package/dist/prompts-propose-5nw25v9a.js +0 -256
- 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-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
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-
|
|
11
|
+
import"./cli-m4474bnj.js";
|
|
12
12
|
import"./cli-e0kbye4s.js";
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
15
|
-
import"./cli-
|
|
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-
|
|
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-
|
|
4
|
-
import"./cli-xq45etg1.js";
|
|
3
|
+
} from "./cli-x7rc3twr.js";
|
|
5
4
|
import"./cli-97fnztpy.js";
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-8pcq2et6.js";
|
|
5
|
+
import"./cli-xq45etg1.js";
|
|
6
|
+
import"./cli-m4474bnj.js";
|
|
9
7
|
import"./cli-e0kbye4s.js";
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
8
|
+
import"./cli-4kf462jq.js";
|
|
9
|
+
import"./cli-j08a1mam.js";
|
|
12
10
|
import {
|
|
13
11
|
recordApiRequest
|
|
14
|
-
} from "./cli-
|
|
15
|
-
import"./cli-
|
|
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-
|
|
7
|
-
import"./cli-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
63
|
+
} from "./cli-m4474bnj.js";
|
|
66
64
|
import"./cli-e0kbye4s.js";
|
|
67
|
-
import"./cli-
|
|
68
|
-
import"./cli-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
13
|
+
} from "./cli-h1z9yyqk.js";
|
|
14
14
|
import {
|
|
15
15
|
ApiError
|
|
16
|
-
} from "./cli-
|
|
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-
|
|
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-
|
|
5
|
-
import"./cli-xq45etg1.js";
|
|
4
|
+
} from "./cli-x7rc3twr.js";
|
|
6
5
|
import"./cli-97fnztpy.js";
|
|
7
|
-
import"./cli-
|
|
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-
|
|
7
|
-
import"./cli-xq45etg1.js";
|
|
6
|
+
} from "./cli-x7rc3twr.js";
|
|
8
7
|
import"./cli-97fnztpy.js";
|
|
9
|
-
import"./cli-
|
|
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
|
-
|
|
7
|
+
parsePromptFile,
|
|
9
8
|
promptManifestWarnings,
|
|
10
|
-
readPromptLock,
|
|
11
9
|
runPromptSync,
|
|
12
10
|
runPromptsCommand,
|
|
13
11
|
writePromptSyncProgress
|
|
14
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-fqc02t6h.js";
|
|
15
13
|
import {
|
|
16
14
|
promptSourceHashPayload
|
|
17
15
|
} from "./cli-mm48br00.js";
|
|
18
|
-
import"./cli-
|
|
16
|
+
import"./cli-m4474bnj.js";
|
|
19
17
|
import"./cli-e0kbye4s.js";
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
22
|
-
import"./cli-
|
|
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
|
-
|
|
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-
|
|
4
|
-
import"./cli-
|
|
3
|
+
} from "./cli-xctqdn42.js";
|
|
4
|
+
import"./cli-d6gfxx8t.js";
|
|
5
5
|
import {
|
|
6
6
|
loadAuthSession
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-h1z9yyqk.js";
|
|
8
8
|
import {
|
|
9
9
|
stringOption
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-m4474bnj.js";
|
|
11
11
|
import"./cli-e0kbye4s.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveIngestUrl,
|
|
14
14
|
resolveModaBaseUrl
|
|
15
|
-
} from "./cli-
|
|
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-
|
|
3
|
+
} from "./cli-4kf462jq.js";
|
|
4
4
|
import {
|
|
5
5
|
callControlAPI
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-j08a1mam.js";
|
|
7
7
|
import {
|
|
8
8
|
explicitOutputMode,
|
|
9
9
|
resolveApiKey
|
|
10
|
-
} from "./cli-
|
|
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-
|
|
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-
|
|
10
|
+
import"./cli-m4474bnj.js";
|
|
11
11
|
import"./cli-e0kbye4s.js";
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
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-
|
|
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-
|
|
9
|
+
} from "./cli-fqc02t6h.js";
|
|
10
10
|
import"./cli-mm48br00.js";
|
|
11
11
|
import {
|
|
12
12
|
runHarnessCommand
|
|
13
|
-
} from "./cli-
|
|
14
|
-
import"./cli-xq45etg1.js";
|
|
13
|
+
} from "./cli-x7rc3twr.js";
|
|
15
14
|
import"./cli-97fnztpy.js";
|
|
16
|
-
import"./cli-
|
|
17
|
-
import"./cli-
|
|
18
|
-
import"./cli-8pcq2et6.js";
|
|
15
|
+
import"./cli-xq45etg1.js";
|
|
16
|
+
import"./cli-m4474bnj.js";
|
|
19
17
|
import"./cli-e0kbye4s.js";
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
22
|
-
import"./cli-
|
|
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
package/skills/moda-cli/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: moda-cli
|
|
3
|
-
version: 3.0.
|
|
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,
|
|
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,
|
|
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.
|
|
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
|
|
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
|
|
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/
|
|
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\|
|
|
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
|
|
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
|
-
|
|
|
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
|
|
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`).
|
|
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
|
|