@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.
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  selectTenantAndCreateKey
3
- } from "./cli-fhfdnvh4.js";
3
+ } from "./cli-7s48d6ty.js";
4
4
  import {
5
5
  loadAuthSession
6
- } from "./cli-tw8jj190.js";
6
+ } from "./cli-4f0p8erk.js";
7
7
  import {
8
8
  CliAuthError,
9
9
  resolveIngestUrl,
10
10
  resolveModaBaseUrl,
11
11
  stringOption
12
- } from "./cli-mx9r1689.js";
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.8",
4
- "description": "CLI for Moda - AI agent analytics and observability",
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
- "observability",
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",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema_version": "moda.skill_index.v1",
3
- "bundled_at": "2026-10-14T16:47:16.312Z",
4
- "cli_version": "1.55.8",
3
+ "bundled_at": "2026-10-15T04:43:16.280Z",
4
+ "cli_version": "1.55.10",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",
@@ -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, so the signal learns from it and the live match is retracted (same as `signal-label`). `--undo` removes the label |
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 the signal learns:
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`, `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