@moda-ai/cli 1.34.1 → 1.35.0
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/{cli-8q7jffnj.js → cli-0p6n391h.js} +89 -89
- package/dist/{cli-cagbc7wz.js → cli-7qkhy41j.js} +76 -76
- package/dist/{cli-0h32yvwq.js → cli-drabjmaj.js} +3 -3
- package/dist/{cli-4ycvzfdg.js → cli-scjxgaba.js} +2 -2
- package/dist/{cli-eggpzt87.js → cli-yz99t7n8.js} +1 -1
- package/dist/cli.js +217 -6
- package/dist/{harness-github-actions-xk7n788g.js → harness-github-actions-tk17mnge.js} +2 -2
- package/dist/{harness-1xj4f0qp.js → harness-heasma1f.js} +2 -2
- package/dist/{index-h6gg66n5.js → index-pf2hvadv.js} +5 -5
- package/dist/prompt-source-mcp.js +91 -91
- package/dist/{provision-c5sx3s32.js → provision-d242y9qd.js} +3 -3
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +47 -4
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectTenantAndCreateKey
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-scjxgaba.js";
|
|
4
4
|
import {
|
|
5
5
|
loadAuthSession
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-yz99t7n8.js";
|
|
7
7
|
import {
|
|
8
8
|
CliAuthError,
|
|
9
9
|
resolveIngestUrl,
|
|
10
10
|
resolveModaBaseUrl,
|
|
11
11
|
stringOption
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-drabjmaj.js";
|
|
13
13
|
|
|
14
14
|
// src/provision.ts
|
|
15
15
|
async function runProvision(context, options = {}) {
|
package/package.json
CHANGED
package/skills/moda-cli/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: moda-cli
|
|
3
|
-
version: 2.
|
|
4
|
-
description: Query Moda's AI agent trace analytics and manage code-first prompt versions from the terminal — semantic/keyword/hybrid message search, overview KPIs, topic clusters, message context, user frustration detections, tool failures, and moda prompts status/sync/promote. Use when the user asks about moda, modaflows, trace or conversation analytics, prompt management, user frustrations, agent observability, tool failure debugging, wants to find traces or tool calls about a topic, or wants to investigate how their AI agent is performing.
|
|
3
|
+
version: 2.6.0
|
|
4
|
+
description: Query Moda's AI agent trace analytics and manage code-first prompt versions from the terminal — semantic/keyword/hybrid message search, overview KPIs, topic clusters, message context, user frustration detections, tool failures, custom signals, false-positive review of detections, and moda prompts status/sync/promote. Use when the user asks about moda, modaflows, trace or conversation analytics, prompt management, user frustrations, agent observability, tool failure debugging, custom signals, marking a detection as a false positive, wants to find traces or tool calls about a topic, or wants to investigate how their AI agent is performing.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Moda CLI
|
|
@@ -58,9 +58,9 @@ Optional:
|
|
|
58
58
|
|
|
59
59
|
- `MODA_BASE_URL` defaults to `https://moda.dev`; override only for
|
|
60
60
|
self-hosted or staging.
|
|
61
|
-
- `MODA_SKILL_VERSION` — export to `2.
|
|
61
|
+
- `MODA_SKILL_VERSION` — export to `2.6.0` so search-adoption telemetry can
|
|
62
62
|
attribute usage to this skill version. Set it once per session:
|
|
63
|
-
`export MODA_SKILL_VERSION=2.
|
|
63
|
+
`export MODA_SKILL_VERSION=2.6.0`.
|
|
64
64
|
|
|
65
65
|
## Setup
|
|
66
66
|
|
|
@@ -748,6 +748,43 @@ Rules that keep the proof honest:
|
|
|
748
748
|
`moda fix <fix_id> --wait`) drives it; a fix left `GATING` will not finish
|
|
749
749
|
on its own.
|
|
750
750
|
|
|
751
|
+
### 9. Custom signals and false positives
|
|
752
|
+
|
|
753
|
+
**Custom signals** are tenant-defined behaviors (pass/fail criteria) judged on
|
|
754
|
+
every trace. Read them, then label hits so the signal learns:
|
|
755
|
+
|
|
756
|
+
```bash
|
|
757
|
+
moda signals # every signal: criteria, status, 7-day judged/matched
|
|
758
|
+
moda signal <signal_id> # one signal's summary
|
|
759
|
+
moda signal <signal_id> --detections --days-back=30 # recent hits (limit 1–20, --offset to page)
|
|
760
|
+
moda trace-signals <conversation_id> # signal hits on one trace
|
|
761
|
+
moda signal-label <signal_id> --conversation-id=<id> --label=does_not_fit \
|
|
762
|
+
--note="refund was approved" --msg-index=<anchor_msg_index>
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
`--label=does_not_fit` marks a hit a **false positive** and retracts the live
|
|
766
|
+
match; `--label=fits` confirms it. Pass the hit's `anchor_msg_index` (or
|
|
767
|
+
`--msg-dedup-token=<anchor_dedup_token>`) so the example points at the right
|
|
768
|
+
message, and always give a `--note` when rejecting. Labels are throttled to 10
|
|
769
|
+
per minute per API key and are never retried automatically.
|
|
770
|
+
|
|
771
|
+
**Problem detections** (the dashboard's thumbs on a trace) are reviewed with
|
|
772
|
+
`detection-review`. A `false_positive` drops the detection out of
|
|
773
|
+
`moda problem <id> --evidence` and is fed back to the problem reader; `clear`
|
|
774
|
+
undoes an earlier review.
|
|
775
|
+
|
|
776
|
+
```bash
|
|
777
|
+
moda detection-reviews <conversation_id> # problem detections on a trace + review state
|
|
778
|
+
moda detection-review <problem_id> --conversation-id=<id> \
|
|
779
|
+
--attribution-id=<uuid> --verdict=false_positive --note="retry was expected"
|
|
780
|
+
moda detection-review <problem_id> --conversation-id=<id> \
|
|
781
|
+
--attribution-id=<uuid> --verdict=clear # undo
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
`attribution_id` comes from `moda detection-reviews <conversation_id>` or
|
|
785
|
+
`moda problem <problem_id> --evidence`. Prefer `detection-review` over
|
|
786
|
+
`problem-feedback --action=flag_attribution` for a single wrong detection.
|
|
787
|
+
|
|
751
788
|
## Common workflow recipes
|
|
752
789
|
|
|
753
790
|
### Find where something happened (search → context)
|
|
@@ -918,6 +955,12 @@ npx: `npx -p @moda-ai/cli moda <command>`.
|
|
|
918
955
|
| `moda problems` | Rank cross-signal Problems by root cause (what to fix first) |
|
|
919
956
|
| `moda problem <problem_id>` | One Problem: dossier, or `--evidence`/`--reports`/`--traces`/`--feedback` pages (`--conversations` is a legacy alias of `--traces`) (`--limit` 1–50, `--cursor` verbatim keyset token) |
|
|
920
957
|
| `moda problem-feedback <problem_id>` | Write: `--action=mark_fixed\|dismiss\|flag_attribution\|rename`. `--reason` required for dismiss/flag_attribution; `--new-name` for rename; `--attribution-id` (UUID) required for flag_attribution |
|
|
958
|
+
| `moda detection-reviews <conversation_id>` | Problem detections on a trace with review state (`--attribution-id=UUID` narrows to one) |
|
|
959
|
+
| `moda detection-review <problem_id>` | Write: `--conversation-id`, `--attribution-id` (UUID), `--verdict=correct\|false_positive\|clear`, optional `--note` |
|
|
960
|
+
| `moda signals` | Custom signals: criteria, status, 7-day judged/matched stats |
|
|
961
|
+
| `moda signal <signal_id>` | One custom signal; `--detections` pages recent hits (`--days-back` 1–90, `--limit` 1–20, `--offset`) |
|
|
962
|
+
| `moda trace-signals <conversation_id>` | Custom signal hits on one trace |
|
|
963
|
+
| `moda signal-label <signal_id>` | Write: `--conversation-id`, `--label=fits\|does_not_fit` (false positive), optional `--note`, `--msg-index`/`--msg-dedup-token` |
|
|
921
964
|
| `moda step-scores <conversation_id>` | Graph-PRM step scores: per-segment curves, first bad step, rollup |
|
|
922
965
|
| `moda world-state <conversation_id>` | Agent memory: slots/threads/events; `--summary-only`; `--snapshot --msg-index=N` (state at a turn); `--replay --message-count=N` (state over time) |
|
|
923
966
|
| `moda failures` | Production failures worth fixing first |
|