@moda-ai/cli 1.55.23 → 1.55.24
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/dist/{agent-f8a1kejk.js → agent-b4tdzy9q.js} +8 -8
- package/dist/{cli-9g8vz4sv.js → cli-0wr3483h.js} +1 -1
- package/dist/{cli-4f6jkrnm.js → cli-7xc585hc.js} +5 -5
- package/dist/{cli-wkmdw40s.js → cli-9btx12wp.js} +1 -1
- package/dist/{cli-4yarp5s1.js → cli-9hc5bg2r.js} +1 -1
- package/dist/{cli-cv3jt1ms.js → cli-dn91fb56.js} +10 -10
- package/dist/{cli-t3a6eknn.js → cli-dve50x7p.js} +233 -28
- package/dist/{cli-2cggp8ww.js → cli-qvg26twp.js} +5 -4
- package/dist/{cli-d2zews6c.js → cli-qycsmxev.js} +3 -3
- package/dist/{cli-54zhv6cx.js → cli-rt26sbz7.js} +14 -14
- package/dist/{cli-z3g07t65.js → cli-vg88mg20.js} +5 -5
- package/dist/{cli-s6tw1fje.js → cli-y2ty9vtv.js} +7 -7
- package/dist/cli.js +1287 -333
- package/dist/{doctor-snb87jvy.js → doctor-3r19ry92.js} +8 -8
- package/dist/{fix-fr48gr0w.js → fix-exvxzvtz.js} +6 -6
- package/dist/{harness-github-actions-cfkx9ty9.js → harness-github-actions-atc5bbkj.js} +5 -5
- package/dist/{harness-m63b6s0k.js → harness-vzy7n7ea.js} +5 -5
- package/dist/{index-nsaph4as.js → index-e1pf1qz2.js} +17 -17
- package/dist/{production-intelligence-fwjh572m.js → production-intelligence-c8e0xw3n.js} +11 -11
- package/dist/{profile-commands-548ts402.js → profile-commands-6e2dgv72.js} +3 -3
- package/dist/prompt-source-mcp.js +5 -5
- package/dist/{prompts-p66y7wep.js → prompts-cvzt994j.js} +6 -6
- package/dist/{provision-r9fhrvpw.js → provision-q86phh4a.js} +5 -5
- package/dist/{registry-n7dsdxmg.js → registry-s2vdsfw8.js} +3 -3
- package/dist/{skills-c17gg69y.js → skills-tadh1jss.js} +5 -5
- package/dist/{sync-bne90xvj.js → sync-g8wtecz1.js} +7 -7
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +31 -29
- package/skills/moda-cli/references/commands.md +22 -22
- package/skills/moda-cli/references/dashboard-parity.md +4 -4
- package/skills/moda-cli/references/detections.md +10 -10
- package/skills/moda-cli/references/feedback.md +2 -2
- package/skills/moda-cli/references/output-protocol.md +2 -2
- package/skills/moda-cli/references/production-intelligence.md +10 -10
- package/skills/moda-cli/references/recipes.md +14 -14
- package/skills/moda-cli/references/search-and-traces.md +32 -32
- package/skills/moda-cli/references/signals-and-false-positives.md +29 -29
- package/skills/moda-cli/references/troubleshooting.md +4 -4
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCommandContext
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-qvg26twp.js";
|
|
4
4
|
import {
|
|
5
5
|
assertFlags,
|
|
6
6
|
assertPositionals
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-dn91fb56.js";
|
|
8
8
|
import {
|
|
9
9
|
callControlAPI
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-9btx12wp.js";
|
|
11
11
|
import {
|
|
12
12
|
CliInputError,
|
|
13
13
|
recordApiRequest,
|
|
14
14
|
resolveApiKey,
|
|
15
15
|
resolveIngestUrl,
|
|
16
16
|
resolveTenantId
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-dve50x7p.js";
|
|
18
18
|
import {
|
|
19
19
|
SKILL_SOURCE_HARNESS,
|
|
20
20
|
SKILL_SOURCE_INTEGRATION_BUNDLED,
|
|
@@ -56,16 +56,16 @@ function renderFixesBlock() {
|
|
|
56
56
|
"The `moda` CLI needs `MODA_API_KEY` (or `npx -y -p @moda-ai/cli moda ...` when",
|
|
57
57
|
"not installed); `moda <command> --help` lists its flags.",
|
|
58
58
|
"",
|
|
59
|
-
'- Find where something happened in production: `moda search "<words>"`, then',
|
|
60
|
-
" `moda
|
|
59
|
+
'- Find where something happened in production: `moda traces search "<words>"`, then',
|
|
60
|
+
" `moda traces get <conversation_id> --msg-index=<message_index>` to read the turn.",
|
|
61
61
|
"- Find what to fix: `moda investigate` ranks tool failures, user frustrations,",
|
|
62
62
|
" and top Problems with evidence; `moda problems` ranks cross-signal Problems",
|
|
63
63
|
" by root cause; `moda failures` lists tool failures only.",
|
|
64
|
-
"- Read the evidence before editing: `moda
|
|
65
|
-
" `moda
|
|
66
|
-
" `moda
|
|
67
|
-
" `moda
|
|
68
|
-
" `moda
|
|
64
|
+
"- Read the evidence before editing: `moda problems get <problem_id>` (dossier),",
|
|
65
|
+
" `moda problems get <problem_id> --evidence` (attribution rationales and anchors),",
|
|
66
|
+
" `moda problems get <problem_id> --traces` (affected traces),",
|
|
67
|
+
" `moda detections tools <tool_name>` (failing calls in context), and",
|
|
68
|
+
" `moda traces get <conversation_id>` (the messages around a turn; `--all` for",
|
|
69
69
|
" the whole trace).",
|
|
70
70
|
"- Propose the change in the code, prompt, tool definition, or skill that",
|
|
71
71
|
" causes the issue, and cite the Moda problem or trace ids it is based on",
|
|
@@ -74,7 +74,7 @@ function renderFixesBlock() {
|
|
|
74
74
|
" `sources:` mappings for prompts defined in code); after `moda prompts sync`,",
|
|
75
75
|
" pass `prompt: lock.prompts['<key>']` to createThinkTelemetry/createAI7Telemetry.",
|
|
76
76
|
"- After the fix ships, record it with",
|
|
77
|
-
" `moda
|
|
77
|
+
" `moda problems feedback <problem_id> --action=mark_fixed`; if the issue",
|
|
78
78
|
" is detected again, the Problem comes back.",
|
|
79
79
|
FIXES_BLOCK_END
|
|
80
80
|
].join(`
|
|
@@ -111,7 +111,7 @@ function upsertManagedBlock(existing, block) {
|
|
|
111
111
|
const problem = begins === 1 && ends === 1 ? `its ${FIXES_BLOCK_END} marker comes before its ${FIXES_BLOCK_BEGIN} marker` : `it has ${begins} ${FIXES_BLOCK_BEGIN} and ${ends} ${FIXES_BLOCK_END} marker(s) instead of one of each`;
|
|
112
112
|
return {
|
|
113
113
|
ok: false,
|
|
114
|
-
reason: `The Moda block in ${AGENTS_MD_FILENAME} was not updated because ${problem}. ` + "The file was left unchanged so no text is lost. Keep exactly one begin marker followed by one end marker " + "(or delete the stray markers), then rerun `moda skills
|
|
114
|
+
reason: `The Moda block in ${AGENTS_MD_FILENAME} was not updated because ${problem}. ` + "The file was left unchanged so no text is lost. Keep exactly one begin marker followed by one end marker " + "(or delete the stray markers), then rerun `moda skills push`."
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
function writeFileIfChanged(filePath, content) {
|
|
@@ -757,7 +757,7 @@ async function runSkillsCommand(input) {
|
|
|
757
757
|
return runSkillsInstall(context, positionals.slice(1));
|
|
758
758
|
}
|
|
759
759
|
if (sub !== "pull") {
|
|
760
|
-
throw new CliInputError(sub ? `Unknown skills subcommand '${sub}'` : "A skills subcommand is required", "Usage: moda skills gen [--source=all|sdk] [--max-sessions=N (default 200)] [--lookback-hours=N (default 720)] [--max-traces=N] [--improvement-rounds=1-3] [--start-at=ISO] [--end-at=ISO] [--replay] [--replay-set-id=ID] [--reprocess-segments] [--force-reprocess] [--wait] | moda skills status [run-id] | moda skills proposals list [--status=ready_for_pr] | moda skills proposal apply <proposal-id> | moda skills pull [--status=approved|proposed|all] | moda skills
|
|
760
|
+
throw new CliInputError(sub ? `Unknown skills subcommand '${sub}'` : "A skills subcommand is required", "Usage: moda skills gen [--source=all|sdk] [--max-sessions=N (default 200)] [--lookback-hours=N (default 720)] [--max-traces=N] [--improvement-rounds=1-3] [--start-at=ISO] [--end-at=ISO] [--replay] [--replay-set-id=ID] [--reprocess-segments] [--force-reprocess] [--wait] | moda skills status [run-id] | moda skills proposals list [--status=ready_for_pr] | moda skills proposal apply <proposal-id> | moda skills pull [--status=approved|proposed|all] | moda skills push [--dry-run] | moda skills install [--list] <id...>");
|
|
761
761
|
}
|
|
762
762
|
const status = (flags.status ?? "approved").toLowerCase();
|
|
763
763
|
if (!VALID_STATUSES.has(status)) {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isAuthSessionValid,
|
|
3
3
|
loadAuthSession
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-0wr3483h.js";
|
|
5
5
|
import {
|
|
6
6
|
inspectPromptManifest
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-y2ty9vtv.js";
|
|
8
8
|
import {
|
|
9
9
|
readHarnessSyncState,
|
|
10
10
|
renderDoctorHuman,
|
|
11
11
|
renderStatusHuman,
|
|
12
12
|
scanHarness
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-7xc585hc.js";
|
|
14
14
|
import {
|
|
15
15
|
callDataAPI
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-9btx12wp.js";
|
|
17
17
|
import {
|
|
18
18
|
ensureSecretFilePermissions,
|
|
19
19
|
getActiveProfile,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
resolveSecretReference,
|
|
28
28
|
resolveTenantId,
|
|
29
29
|
secretFilePathFromRef
|
|
30
|
-
} from "./cli-
|
|
30
|
+
} from "./cli-dve50x7p.js";
|
|
31
31
|
|
|
32
32
|
// src/doctor.ts
|
|
33
33
|
import { createHash } from "node:crypto";
|
|
@@ -12,18 +12,18 @@ import {
|
|
|
12
12
|
require_typescript,
|
|
13
13
|
resolvePromptSource,
|
|
14
14
|
safePromptEvidencePath
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-7xc585hc.js";
|
|
16
16
|
import {
|
|
17
17
|
createCommandContext
|
|
18
|
-
} from "./cli-
|
|
18
|
+
} from "./cli-qvg26twp.js";
|
|
19
19
|
import {
|
|
20
20
|
assertFlags,
|
|
21
21
|
assertPositionals
|
|
22
|
-
} from "./cli-
|
|
22
|
+
} from "./cli-dn91fb56.js";
|
|
23
23
|
import {
|
|
24
24
|
callControlAPI,
|
|
25
25
|
callDataAPI
|
|
26
|
-
} from "./cli-
|
|
26
|
+
} from "./cli-9btx12wp.js";
|
|
27
27
|
import {
|
|
28
28
|
CliInputError,
|
|
29
29
|
EXIT_ERROR,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
resolveApiTenantId,
|
|
32
32
|
setPlatformTenantOverride,
|
|
33
33
|
validateConfig
|
|
34
|
-
} from "./cli-
|
|
34
|
+
} from "./cli-dve50x7p.js";
|
|
35
35
|
import {
|
|
36
36
|
__commonJS,
|
|
37
37
|
__require,
|
|
@@ -6729,7 +6729,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
6729
6729
|
const analyzedDefinitions = new Map;
|
|
6730
6730
|
if (flags["no-analyze"] !== "true") {
|
|
6731
6731
|
options.onProgress?.("Analyzing prompt sources before sync.");
|
|
6732
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
6732
|
+
const { analyzeHarnessPrompts } = await import("./harness-vzy7n7ea.js");
|
|
6733
6733
|
const result = await analyzeHarnessPrompts({
|
|
6734
6734
|
rootDir: process.cwd(),
|
|
6735
6735
|
existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
|
|
@@ -7059,7 +7059,7 @@ async function migratePromptManifest(options = {}) {
|
|
|
7059
7059
|
let addedSources = [];
|
|
7060
7060
|
let pendingSources = [];
|
|
7061
7061
|
if (options.discover) {
|
|
7062
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
7062
|
+
const { analyzeHarnessPrompts } = await import("./harness-vzy7n7ea.js");
|
|
7063
7063
|
const result = await analyzeHarnessPrompts({
|
|
7064
7064
|
rootDir: root,
|
|
7065
7065
|
existing: manifest.sources,
|