@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.
Files changed (32) hide show
  1. package/dist/agent-n0ch2j90.js +459 -0
  2. package/dist/cli-11fevr8y.js +811 -0
  3. package/dist/{cli-mx9r1689.js → cli-429zt7g4.js} +1 -65
  4. package/dist/cli-4qe6n8am.js +345 -0
  5. package/dist/cli-97fnztpy.js +140 -0
  6. package/dist/{cli-sjc132j8.js → cli-fq7kk77e.js} +18 -1733
  7. package/dist/cli-fwec3m42.js +946 -0
  8. package/dist/cli-g7ferymy.js +496 -0
  9. package/dist/cli-k5qqj2bp.js +70 -0
  10. package/dist/cli-m16taf4z.js +30 -0
  11. package/dist/{cli-4af3thx7.js → cli-m857n028.js} +195 -976
  12. package/dist/{cli-fhfdnvh4.js → cli-n9gexgma.js} +2 -2
  13. package/dist/{cli-tw8jj190.js → cli-t4jjhn3g.js} +5 -7
  14. package/dist/cli-tmqd1f0m.js +159 -0
  15. package/dist/cli.js +1410 -7193
  16. package/dist/doctor-spvy2zb3.js +23 -0
  17. package/dist/fix-ax6bbg37.js +1444 -0
  18. package/dist/{harness-github-actions-73a08nct.js → harness-github-actions-mtksqp3c.js} +7 -2
  19. package/dist/{harness-yshh2pgj.js → harness-jbqpbp6n.js} +7 -2
  20. package/dist/{index-f3k9jgrt.js → index-2d0q94sv.js} +35 -36
  21. package/dist/production-intelligence-1tf98n79.js +1802 -0
  22. package/dist/profile-commands-f6599bcx.js +481 -0
  23. package/dist/prompt-source-mcp.js +8 -3
  24. package/dist/prompts-y3xd9heh.js +40 -0
  25. package/dist/{provision-parsn3xg.js → provision-cjpsswa9.js} +7 -5
  26. package/dist/registry-1dvxsekd.js +1201 -0
  27. package/dist/skills-1k0hbkaf.js +19 -0
  28. package/dist/sync-by81xqk4.js +54 -0
  29. package/package.json +6 -7
  30. package/skills/integration/index.json +2 -2
  31. package/skills/moda-cli/SKILL.md +2 -2
  32. 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.9",
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
- "yaml": "^2.9.1",
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"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema_version": "moda.skill_index.v1",
3
- "bundled_at": "2026-10-15T02:17:23.557Z",
4
- "cli_version": "1.55.9",
3
+ "bundled_at": "2026-10-15T04:55:11.718Z",
4
+ "cli_version": "1.55.11",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",
@@ -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`, `moda false-positive <kind> <target>
1295
- --reason=TEXT`, or `moda fix dismiss <fix_id> --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
@@ -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