@moda-ai/cli 1.55.3 → 1.55.5

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.
@@ -3,7 +3,7 @@ import {
3
3
  initPrompts,
4
4
  runPromptSync,
5
5
  runSkillSync
6
- } from "./cli-73v8mqh1.js";
6
+ } from "./cli-dw1zrtvn.js";
7
7
  import"./cli-mm48br00.js";
8
8
  import {
9
9
  codingAgentDisplayName,
@@ -23,7 +23,7 @@ import {
23
23
  runHarnessCommand,
24
24
  startRemoteAnalyze,
25
25
  stripAnsi
26
- } from "./cli-9v0c1xe1.js";
26
+ } from "./cli-tzqez7mw.js";
27
27
  import {
28
28
  bundledSkillsDir,
29
29
  installIntegrationSkill,
@@ -35,22 +35,23 @@ import {
35
35
  } from "./cli-ssfq84k5.js";
36
36
  import {
37
37
  selectTenantAndCreateKey
38
- } from "./cli-jmsgv705.js";
38
+ } from "./cli-vxdtfys2.js";
39
39
  import {
40
40
  ConnectCodeError,
41
41
  connectWithCode,
42
42
  loadAuthSession,
43
43
  loadToken,
44
44
  login
45
- } from "./cli-t5v7mhvj.js";
45
+ } from "./cli-zbpetb7v.js";
46
46
  import {
47
47
  CliAuthError,
48
48
  CliInputError,
49
49
  VERSION,
50
50
  createCommandContext,
51
+ recordApiRequest,
51
52
  resolveIngestUrl,
52
53
  resolveModaBaseUrl
53
- } from "./cli-zp7a97sp.js";
54
+ } from "./cli-xtj2m4hs.js";
54
55
  import"./cli-0v6na3yp.js";
55
56
 
56
57
  // src/init/index.ts
@@ -639,6 +640,7 @@ function completeAI7Projection(value) {
639
640
  }
640
641
  async function fetchAuditWithApiKey(id, apiKey, baseUrl) {
641
642
  const url = `${baseUrl}/api/v1/data/audit/${encodeURIComponent(id)}?kind=conversation&include_bodies=1`;
643
+ recordApiRequest();
642
644
  const response = await fetch(url, {
643
645
  method: "GET",
644
646
  headers: { "x-api-key": apiKey },
@@ -650,6 +652,7 @@ async function fetchAuditWithApiKey(id, apiKey, baseUrl) {
650
652
  }
651
653
  const audit = JSON.parse(body);
652
654
  if (isAI7Audit(audit) && isRecord2(audit)) {
655
+ recordApiRequest();
653
656
  const contextResponse = await fetch(`${baseUrl}/api/v1/data/conversations/${encodeURIComponent(id)}/context?window=20`, {
654
657
  headers: { "x-api-key": apiKey },
655
658
  signal: AbortSignal.timeout(1e4)
@@ -5,8 +5,8 @@ import {
5
5
  inspectCodeSelectors,
6
6
  inspectPythonSelectors,
7
7
  safePromptEvidencePath
8
- } from "./cli-9v0c1xe1.js";
9
- import"./cli-zp7a97sp.js";
8
+ } from "./cli-tzqez7mw.js";
9
+ import"./cli-xtj2m4hs.js";
10
10
  import {
11
11
  __commonJS,
12
12
  __toESM
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  selectTenantAndCreateKey
3
- } from "./cli-jmsgv705.js";
3
+ } from "./cli-vxdtfys2.js";
4
4
  import {
5
5
  loadAuthSession
6
- } from "./cli-t5v7mhvj.js";
6
+ } from "./cli-zbpetb7v.js";
7
7
  import {
8
8
  CliAuthError,
9
9
  resolveIngestUrl,
10
10
  resolveModaBaseUrl,
11
11
  stringOption
12
- } from "./cli-zp7a97sp.js";
12
+ } from "./cli-xtj2m4hs.js";
13
13
  import"./cli-0v6na3yp.js";
14
14
 
15
15
  // src/provision.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.55.3",
3
+ "version": "1.55.5",
4
4
  "description": "CLI for Moda - AI agent analytics and observability",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema_version": "moda.skill_index.v1",
3
- "bundled_at": "2026-10-13T07:13:30.060Z",
4
- "cli_version": "1.55.3",
3
+ "bundled_at": "2026-10-14T05:39:19.721Z",
4
+ "cli_version": "1.55.5",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: moda-cli
3
- version: 2.8.0
3
+ version: 2.9.0
4
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
 
@@ -1362,17 +1362,17 @@ npx: `npx -p @moda-ai/cli moda <command>`.
1362
1362
  | `moda clusters` | Browse topic cluster hierarchy; `--search="q"` finds clusters by meaning, `--node-id=ID` resolves a deep link |
1363
1363
  | `moda cluster-traces <node_id>` | Traces in a cluster (legacy alias: `moda cluster-conversations`) |
1364
1364
  | `moda traces` | List/filter traces by structured fields (legacy alias: `moda conversations`) |
1365
- | `moda context <conversation_id>` | Windowed message context (max 5 per side) |
1365
+ | `moda context <conversation_id>` | Windowed message context (max 5 per side); `--msg-index=N` (alias `--message-index`) anchors the window |
1366
1366
  | `moda frustrations` | User frustration detections with evidence (the frustration family of `emotions`, legacy field names) |
1367
1367
  | `moda emotions` | Multi-family emotion detections: frustration, disapproval, sadness, confusion, anxiety, trust, positive (`--family=F`, `--user-id`, `--conversation-id`, limit 1–20) |
1368
1368
  | `moda hallucinations` | Grounding detections: contradicted/verified outputs, rule breakdown (`--kind=contradicted\|verified`, `--conversation-id=ID`) |
1369
1369
  | `moda tool-failures` | Tool failure overview |
1370
1370
  | `moda tool-failure-detail <tool_name>` | Per-tool failure breakdown + examples |
1371
- | `moda problems` | Rank cross-signal Problems by root cause (what to fix first) |
1371
+ | `moda problems` | Rank cross-signal Problems by root cause (what to fix first); takes only `--days-back`/`--limit`. Filter by family with `moda problems remainder --family=F` or `moda problem <problem_id> --traces --family=F` |
1372
1372
  | `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) |
1373
1373
  | `moda problem-feedback <problem_id>` | Write: `--action=mark_fixed\|dismiss\|flag_attribution\|rename`. `--reason` required for flag_attribution, optional for dismiss; `--new-name` for rename; `--attribution-id` (UUID) required for flag_attribution |
1374
1374
  | `moda false-positive <kind> <target>` | Write: kinds `problem\|problem-detection\|quote\|tool\|laziness\|hallucination\|custom-signal`; `--reason` optional; problem-detection needs `--conversation-id` + `--attribution-id`; quote needs `--family`, `--turn`, `--quote`; tool needs `--tool` plus `--tool-use-id` or `--msg-index`; custom-signal needs `--conversation-id`; `--undo` removes a mark (not for problem) |
1375
- | `moda false-positives [conversation_id]` | Current false-positive marks: all (`--kind`, `--all` to include removed, `--limit`) or one trace with its problem detection reviews |
1375
+ | `moda false-positives [conversation_id]` | Current false-positive marks: all (`--kind=quote\|tool\|laziness\|hallucination\|custom-signal`, `--all` to include removed, `--limit`) or one trace with its problem detection reviews. Problem dismissals are read with `moda problem <problem_id> --feedback`, detection reviews with `moda detection-reviews <conversation_id>` |
1376
1376
  | `moda laziness` | Laziness detections per trace (`--days-back`, `--limit` 1-50, `--conversation-id`, `--family`) |
1377
1377
  | `moda problem-linear <problem_id>` | The Problem's linked Linear issue (key, state, URL) or `link: null`; needs Linear connected (Integrations → Linear) |
1378
1378
  | `moda problem-linear-file <problem_id>` | Write: file the Problem as a Linear issue (`--team-id`, `--title`, `--priority=0-4`), or link an existing one with `--issue=ENG-123\|URL` (exclusive with the others). Idempotent per Problem |
@@ -1391,7 +1391,7 @@ npx: `npx -p @moda-ai/cli moda <command>`.
1391
1391
  | `moda prompts sync` | Upload changed prompt versions and update lockfile |
1392
1392
  | `moda prompts promote <key>` | Move a remote prompt label |
1393
1393
  | `moda registry template\|validate\|push\|status\|coverage\|log\|show\|prompt` | Register prompts, skills, tools, and agent wiring from one agent-written manifest (`--file`, `--dry-run`, `--live`, `--message`, `--days`); every push is a commit in the Registry history; no repo scan |
1394
- | `moda users` / `moda user <id>` | End users with health/activity; one user's profile |
1394
+ | `moda users` / `moda user <id>` | End users with health/activity (`--page-size=N`, alias `--limit=N`; `--page=N`); one user's profile |
1395
1395
  | `moda problem-reopen <pid>` | Reopen a Problem marked fixed |
1396
1396
  | `moda signals <create\|update\|activate\|pause\|delete\|examples\|refine\|revise\|proposals\|accept\|reject\|search\|preview>` | Manage custom signals (writes take `--dry-run`; LLM-backed ones are rate-limited per key) |
1397
1397
  | `moda prompts list\|show\|proposals\|usage\|replay-runs\|decide` | Read the prompt registry; merge/reject proposals |
@@ -1401,8 +1401,13 @@ npx: `npx -p @moda-ai/cli moda <command>`.
1401
1401
  `moda search` flags: `--mode=keyword|semantic|hybrid` (default `hybrid`),
1402
1402
  `--user-id`, `--time-range=<range>`, `--limit=N` (1–100, default 20).
1403
1403
 
1404
- Common flags across most commands: `--days-back=N` (1–90), `--limit=N`,
1405
- `--offset=N`, `--time-range=<range>`.
1404
+ There is no flag set common to every command: each command rejects a flag it
1405
+ does not take, and the error lists the flags it does. For the time window see
1406
+ [Time-window flags by command](#time-window-flags-by-command) (`--days-back`
1407
+ on most detection commands, `--time-range` on `traces`/`search`/`clusters`,
1408
+ `--window` on `users`/`user`); `--limit`/`--offset` exist only on paged list
1409
+ commands (`moda <command> --help` shows them). Boolean flags take `true`/`false`
1410
+ and also `1`/`0`, `yes`/`no`, `on`/`off`.
1406
1411
  `frustrations` and `tool-failure-detail` additionally accept
1407
1412
  `--include-window` (attach a `window` slice per row) and `--window=N` (1–5,
1408
1413
  default `1`; half-width, so `--window=1` ⇒ 3 messages).