@moda-ai/cli 1.55.8 → 1.55.10
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 +1 -1
- package/dist/{cli-mx9r1689.js → cli-0qnghzg4.js} +1 -1
- package/dist/{cli-tw8jj190.js → cli-4f0p8erk.js} +1 -1
- package/dist/{cli-fhfdnvh4.js → cli-7s48d6ty.js} +2 -2
- package/dist/{cli-a0adscdx.js → cli-d3c95kks.js} +8 -8
- package/dist/{cli-j125g80g.js → cli-v27q5dvh.js} +785 -25
- package/dist/cli.js +45 -246
- package/dist/{harness-kpskdj9x.js → harness-0tnqw849.js} +2 -2
- package/dist/{harness-github-actions-t4m8q3wn.js → harness-github-actions-wpkr7jjr.js} +2 -2
- package/dist/{index-zdbe66yn.js → index-jqexf7kn.js} +13 -22
- package/dist/prompt-source-mcp.js +3 -3
- package/dist/{provision-parsn3xg.js → provision-5pkn25hh.js} +3 -3
- package/package.json +7 -7
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +4 -4
- package/hooks/moda-snapshot.sh +0 -41
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectTenantAndCreateKey
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-7s48d6ty.js";
|
|
4
4
|
import {
|
|
5
5
|
loadAuthSession
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-4f0p8erk.js";
|
|
7
7
|
import {
|
|
8
8
|
CliAuthError,
|
|
9
9
|
resolveIngestUrl,
|
|
10
10
|
resolveModaBaseUrl,
|
|
11
11
|
stringOption
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-0qnghzg4.js";
|
|
13
13
|
import"./cli-0v6na3yp.js";
|
|
14
14
|
|
|
15
15
|
// src/provision.ts
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moda-ai/cli",
|
|
3
|
-
"version": "1.55.
|
|
4
|
-
"description": "CLI for Moda
|
|
3
|
+
"version": "1.55.10",
|
|
4
|
+
"description": "CLI for Moda: production monitoring and evals for AI agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"cli": "./dist/cli.js",
|
|
@@ -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
|
],
|
|
@@ -43,11 +42,11 @@
|
|
|
43
42
|
},
|
|
44
43
|
"keywords": [
|
|
45
44
|
"moda",
|
|
45
|
+
"ai-agents",
|
|
46
|
+
"agent-monitoring",
|
|
47
|
+
"evals",
|
|
46
48
|
"llm",
|
|
47
|
-
"
|
|
48
|
-
"cli",
|
|
49
|
-
"analytics",
|
|
50
|
-
"ai-agents"
|
|
49
|
+
"cli"
|
|
51
50
|
],
|
|
52
51
|
"author": "Moda <hello@moda.dev>",
|
|
53
52
|
"license": "MIT",
|
|
@@ -69,6 +68,7 @@
|
|
|
69
68
|
"@moda/harness-bundle": "*",
|
|
70
69
|
"@moda/harness-snapshot": "*",
|
|
71
70
|
"@moda/integration-skills": "*",
|
|
71
|
+
"@moda/messaging": "*",
|
|
72
72
|
"@types/node": "^22.10.5",
|
|
73
73
|
"eslint": "^9.17.0",
|
|
74
74
|
"typescript": "^5.7.2",
|
package/skills/moda-cli/SKILL.md
CHANGED
|
@@ -1110,7 +1110,7 @@ What each flag does downstream:
|
|
|
1110
1110
|
|---|---|
|
|
1111
1111
|
| `problem` | Dismisses the problem: it leaves `moda problems` and the dashboard at once, and the reason is folded into the next reconcile. Cannot be undone from the CLI |
|
|
1112
1112
|
| `problem-detection` | Drops that evidence from the problem and teaches the problem reader (same as `detection-review --verdict=false_positive`) |
|
|
1113
|
-
| `custom-signal` | Saved as a `does_not_fit` label with the reason,
|
|
1113
|
+
| `custom-signal` | Saved as a `does_not_fit` label with the reason, a labelled counterexample for the signal, and the live match is retracted (same as `signal-label`). `--undo` removes the label |
|
|
1114
1114
|
| `quote`, `tool`, `laziness`, `hallucination` | Audit only: recorded for review, never fed back to the detectors |
|
|
1115
1115
|
|
|
1116
1116
|
Find targets with the read commands: `--family`, `--turn` and `--quote` verbatim
|
|
@@ -1122,7 +1122,7 @@ laziness traces from `moda laziness`; hallucination traces from
|
|
|
1122
1122
|
`moda problem <id> --evidence`.
|
|
1123
1123
|
|
|
1124
1124
|
**Custom signals** are tenant-defined behaviors (pass/fail criteria) judged on
|
|
1125
|
-
every trace. Read them, then label hits so
|
|
1125
|
+
every trace. Read them, then label hits so each signal has labelled examples:
|
|
1126
1126
|
|
|
1127
1127
|
```bash
|
|
1128
1128
|
moda signals # every signal: criteria, status, 7-day judged/matched
|
|
@@ -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
|