@moda-ai/cli 1.55.9 → 1.55.11
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-n0ch2j90.js +459 -0
- package/dist/cli-11fevr8y.js +811 -0
- package/dist/{cli-mx9r1689.js → cli-429zt7g4.js} +1 -65
- package/dist/cli-4qe6n8am.js +345 -0
- package/dist/cli-97fnztpy.js +140 -0
- package/dist/{cli-sjc132j8.js → cli-fq7kk77e.js} +18 -1733
- package/dist/cli-fwec3m42.js +946 -0
- package/dist/cli-g7ferymy.js +496 -0
- package/dist/cli-k5qqj2bp.js +70 -0
- package/dist/cli-m16taf4z.js +30 -0
- package/dist/{cli-4af3thx7.js → cli-m857n028.js} +195 -976
- package/dist/{cli-fhfdnvh4.js → cli-n9gexgma.js} +2 -2
- package/dist/{cli-tw8jj190.js → cli-t4jjhn3g.js} +5 -7
- package/dist/cli-tmqd1f0m.js +159 -0
- package/dist/cli.js +1410 -7193
- package/dist/doctor-spvy2zb3.js +23 -0
- package/dist/fix-ax6bbg37.js +1444 -0
- package/dist/{harness-github-actions-73a08nct.js → harness-github-actions-mtksqp3c.js} +7 -2
- package/dist/{harness-yshh2pgj.js → harness-jbqpbp6n.js} +7 -2
- package/dist/{index-f3k9jgrt.js → index-2d0q94sv.js} +35 -36
- package/dist/production-intelligence-1tf98n79.js +1802 -0
- package/dist/profile-commands-f6599bcx.js +481 -0
- package/dist/prompt-source-mcp.js +8 -3
- package/dist/prompts-y3xd9heh.js +40 -0
- package/dist/{provision-parsn3xg.js → provision-cjpsswa9.js} +7 -5
- package/dist/registry-1dvxsekd.js +1201 -0
- package/dist/skills-1k0hbkaf.js +19 -0
- package/dist/sync-by81xqk4.js +54 -0
- package/package.json +6 -7
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +2 -2
- package/hooks/moda-snapshot.sh +0 -41
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseScopeInt,
|
|
3
|
+
pullSkills,
|
|
4
|
+
runSkillSync,
|
|
5
|
+
runSkillsCommand
|
|
6
|
+
} from "./cli-fwec3m42.js";
|
|
7
|
+
import"./cli-k5qqj2bp.js";
|
|
8
|
+
import"./cli-g7ferymy.js";
|
|
9
|
+
import"./cli-tmqd1f0m.js";
|
|
10
|
+
import"./cli-m16taf4z.js";
|
|
11
|
+
import"./cli-429zt7g4.js";
|
|
12
|
+
import"./cli-ssfq84k5.js";
|
|
13
|
+
import"./cli-0v6na3yp.js";
|
|
14
|
+
export {
|
|
15
|
+
runSkillsCommand,
|
|
16
|
+
runSkillSync,
|
|
17
|
+
pullSkills,
|
|
18
|
+
parseScopeInt
|
|
19
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runPromptsCommand
|
|
3
|
+
} from "./cli-fq7kk77e.js";
|
|
4
|
+
import"./cli-mm48br00.js";
|
|
5
|
+
import {
|
|
6
|
+
runHarnessCommand
|
|
7
|
+
} from "./cli-m857n028.js";
|
|
8
|
+
import"./cli-97fnztpy.js";
|
|
9
|
+
import {
|
|
10
|
+
runSkillsCommand
|
|
11
|
+
} from "./cli-fwec3m42.js";
|
|
12
|
+
import"./cli-k5qqj2bp.js";
|
|
13
|
+
import"./cli-g7ferymy.js";
|
|
14
|
+
import"./cli-tmqd1f0m.js";
|
|
15
|
+
import"./cli-m16taf4z.js";
|
|
16
|
+
import {
|
|
17
|
+
CliInputError
|
|
18
|
+
} from "./cli-429zt7g4.js";
|
|
19
|
+
import"./cli-ssfq84k5.js";
|
|
20
|
+
import"./cli-0v6na3yp.js";
|
|
21
|
+
|
|
22
|
+
// src/sync.ts
|
|
23
|
+
async function runSyncCommand(context) {
|
|
24
|
+
const resource = context.positionals[0] ?? "harness";
|
|
25
|
+
const rest = context.positionals.slice(1);
|
|
26
|
+
if (resource === "harness") {
|
|
27
|
+
return runHarnessCommand({
|
|
28
|
+
...context,
|
|
29
|
+
command: "harness",
|
|
30
|
+
positional: "sync",
|
|
31
|
+
positionals: ["sync", ...rest]
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (resource === "prompts") {
|
|
35
|
+
await runPromptsCommand(["sync", ...rest], context.flags, {
|
|
36
|
+
profile: context.profile,
|
|
37
|
+
env: context.env
|
|
38
|
+
});
|
|
39
|
+
return { exitCode: 0 };
|
|
40
|
+
}
|
|
41
|
+
if (resource === "skills") {
|
|
42
|
+
const exitCode = await runSkillsCommand({
|
|
43
|
+
...context,
|
|
44
|
+
command: "skills",
|
|
45
|
+
positional: "pull",
|
|
46
|
+
positionals: ["pull", ...rest]
|
|
47
|
+
});
|
|
48
|
+
return { exitCode };
|
|
49
|
+
}
|
|
50
|
+
throw new CliInputError(`Unknown sync resource '${resource}'.`, "Usage: moda sync [harness|prompts|skills] [--dry-run] [--profile=NAME]");
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
runSyncCommand
|
|
54
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moda-ai/cli",
|
|
3
|
-
"version": "1.55.
|
|
3
|
+
"version": "1.55.11",
|
|
4
4
|
"description": "CLI for Moda: production monitoring and evals for AI agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"dist/**/*.js",
|
|
20
20
|
"dist/**/*.d.ts",
|
|
21
21
|
"!dist/__tests__",
|
|
22
|
-
"hooks/**",
|
|
23
22
|
"skills/**",
|
|
24
23
|
"README.md"
|
|
25
24
|
],
|
|
@@ -57,11 +56,8 @@
|
|
|
57
56
|
},
|
|
58
57
|
"dependencies": {
|
|
59
58
|
"@inquirer/prompts": "^8.4.1",
|
|
60
|
-
"fast-glob": "^3.3.3",
|
|
61
59
|
"open": "^11.0.0",
|
|
62
|
-
"
|
|
63
|
-
"zod": "^3.25.76",
|
|
64
|
-
"@modelcontextprotocol/sdk": "^1.30.0"
|
|
60
|
+
"zod": "^3.25.76"
|
|
65
61
|
},
|
|
66
62
|
"devDependencies": {
|
|
67
63
|
"@moda/database": "*",
|
|
@@ -70,10 +66,13 @@
|
|
|
70
66
|
"@moda/harness-snapshot": "*",
|
|
71
67
|
"@moda/integration-skills": "*",
|
|
72
68
|
"@moda/messaging": "*",
|
|
69
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
73
70
|
"@types/node": "^22.10.5",
|
|
74
71
|
"eslint": "^9.17.0",
|
|
72
|
+
"fast-glob": "^3.3.3",
|
|
75
73
|
"typescript": "^5.7.2",
|
|
76
|
-
"vitest": "^4.0.14"
|
|
74
|
+
"vitest": "^4.0.14",
|
|
75
|
+
"yaml": "^2.9.1"
|
|
77
76
|
},
|
|
78
77
|
"engines": {
|
|
79
78
|
"node": ">=18.0.0"
|
package/skills/moda-cli/SKILL.md
CHANGED
|
@@ -1291,8 +1291,8 @@ moda feedback "trace is a refund request, not this problem" \
|
|
|
1291
1291
|
you saw.
|
|
1292
1292
|
- Feedback does not change the problem itself. To act on a misroute directly,
|
|
1293
1293
|
use `moda problem-feedback <problem_id> --action=flag_attribution
|
|
1294
|
-
--attribution-id=<uuid> --reason=TEXT
|
|
1295
|
-
--reason=TEXT
|
|
1294
|
+
--attribution-id=<uuid> --reason=TEXT` or `moda false-positive <kind> <target>
|
|
1295
|
+
--reason=TEXT`.
|
|
1296
1296
|
- Never include secrets or full transcripts in the note.
|
|
1297
1297
|
|
|
1298
1298
|
## Validation — how to know it worked
|
package/hooks/moda-snapshot.sh
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Moda shadow workspace hook for coding agents.
|
|
3
|
-
# Triggered by Claude Code, Codex, and Cursor lifecycle/tool matchers.
|
|
4
|
-
#
|
|
5
|
-
# Claude Code passes hook context as a JSON object on stdin (per the Claude
|
|
6
|
-
# Code hooks reference): session_id, tool_use_id, prompt, hook_event_name,
|
|
7
|
-
# etc. We forward that stdin straight through to `moda workspace snapshot
|
|
8
|
-
# --hook-stdin`, which parses it server-side so the CLI sees the same
|
|
9
|
-
# correlation keys (session_id, tool_use_id, prompt_sha) the ingest worker
|
|
10
|
-
# will later join on. The previous version read $CLAUDE_SESSION_ID and
|
|
11
|
-
# $CLAUDE_PROMPT_HASH env vars, but Claude never sets those — so session_id
|
|
12
|
-
# and prompt-level joins were unrecoverable. Reading stdin fixes that.
|
|
13
|
-
#
|
|
14
|
-
# Runs `moda workspace snapshot` in the background so the hook never blocks
|
|
15
|
-
# Claude; redirects all output to /dev/null so user-visible output stays
|
|
16
|
-
# clean; always exits 0 so a transient failure can't break the user session.
|
|
17
|
-
|
|
18
|
-
set +e
|
|
19
|
-
case "${1:-}" in
|
|
20
|
-
claude|claude_code|codex|cursor)
|
|
21
|
-
PROVIDER="$1"
|
|
22
|
-
EVENT="${2:-UserPromptSubmit}"
|
|
23
|
-
;;
|
|
24
|
-
*)
|
|
25
|
-
PROVIDER="claude_code"
|
|
26
|
-
EVENT="${1:-UserPromptSubmit}"
|
|
27
|
-
;;
|
|
28
|
-
esac
|
|
29
|
-
MODA_SNAPSHOT_BIN="${MODA_BIN:-moda}"
|
|
30
|
-
|
|
31
|
-
# Buffer the hook JSON once so the background subshell sees it after this
|
|
32
|
-
# script's stdin is closed by Claude.
|
|
33
|
-
PAYLOAD="$(cat)"
|
|
34
|
-
|
|
35
|
-
(
|
|
36
|
-
printf '%s' "$PAYLOAD" \
|
|
37
|
-
| "$MODA_SNAPSHOT_BIN" workspace snapshot --provider "$PROVIDER" --event "$EVENT" --json --hook-stdin \
|
|
38
|
-
> /dev/null 2>&1
|
|
39
|
-
) &
|
|
40
|
-
|
|
41
|
-
exit 0
|