@moda-ai/cli 1.55.37 → 1.55.38
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/{agent-4pyeecf7.js → agent-9r58v0bc.js} +8 -8
- package/dist/{cli-s72pph9c.js → cli-3n040fp2.js} +1 -1
- package/dist/{cli-wh83c3ss.js → cli-93926afn.js} +4 -4
- package/dist/{cli-ef9eagsc.js → cli-9g5kzsg6.js} +1 -1
- package/dist/{cli-4d92a450.js → cli-b7nyw498.js} +1 -1
- package/dist/{cli-npkb08xt.js → cli-dmnayt2r.js} +8 -8
- package/dist/{cli-nqgyz74b.js → cli-n311b8g0.js} +1 -1
- package/dist/{cli-xkcy9wns.js → cli-nh23q6ay.js} +5 -5
- package/dist/{cli-wg6e2a1g.js → cli-rcjhfts4.js} +7 -6
- package/dist/{cli-gjzr7jq5.js → cli-sk1p71wr.js} +1 -1
- package/dist/{cli-x605txan.js → cli-skvvwp2q.js} +5 -5
- package/dist/{cli-w3ckvma5.js → cli-tdcx8yz9.js} +3 -3
- package/dist/{cli-cdx6yd7m.js → cli-xheg54qc.js} +63 -7
- package/dist/{cli-nzx7rqjs.js → cli-xk630wjq.js} +1 -1
- package/dist/{cli-cr44672e.js → cli-xtyszvq1.js} +5 -5
- package/dist/cli.js +162 -34
- package/dist/{doctor-w8z3wj1e.js → doctor-xq5bjvpq.js} +7 -7
- package/dist/{fix-667fyx00.js → fix-kvszavm1.js} +4 -4
- package/dist/{harness-github-actions-7s41s1vg.js → harness-github-actions-drbkcb8d.js} +5 -5
- package/dist/{harness-fb0083ap.js → harness-qatnwxrz.js} +5 -5
- package/dist/{index-4w5szrnw.js → index-y5jnz2t2.js} +11 -11
- package/dist/{production-intelligence-v2wq2aqv.js → production-intelligence-j55vaw6t.js} +61 -4
- package/dist/{profile-commands-3hw4trwk.js → profile-commands-skdxe17v.js} +3 -3
- package/dist/{prompt-attribution-g7md8hzc.js → prompt-attribution-zq38actx.js} +5 -5
- package/dist/prompt-source-mcp.js +5 -5
- package/dist/{prompts-ab-59r52mxw.js → prompts-ab-yd2dawe3.js} +7 -7
- package/dist/{prompts-90v9eg2k.js → prompts-cwqn8a57.js} +5 -5
- package/dist/{prompts-propose-cbenbk8w.js → prompts-propose-11dj9ked.js} +7 -7
- package/dist/{provision-8c4s6vgg.js → provision-ghca9d54.js} +5 -5
- package/dist/{registry-qvjyvbk8.js → registry-76sngjw6.js} +3 -3
- package/dist/{skills-z7w5x7jj.js → skills-btn9r48v.js} +5 -5
- package/dist/{sync-r32tgpar.js → sync-ye7nxeen.js} +7 -7
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +3 -1
- package/skills/moda-cli/references/commands.md +1 -0
- package/skills/moda-cli/references/dashboard-parity.md +3 -0
- package/skills/moda-cli/references/detections.md +53 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildDoctorReport
|
|
3
|
-
} from "./cli-
|
|
4
|
-
import"./cli-
|
|
5
|
-
import"./cli-
|
|
3
|
+
} from "./cli-xtyszvq1.js";
|
|
4
|
+
import"./cli-sk1p71wr.js";
|
|
5
|
+
import"./cli-dmnayt2r.js";
|
|
6
6
|
import"./cli-mm48br00.js";
|
|
7
7
|
import {
|
|
8
8
|
readHarnessSyncState
|
|
@@ -15,15 +15,15 @@ import {
|
|
|
15
15
|
readHarnessReport,
|
|
16
16
|
validateHarnessReport
|
|
17
17
|
} from "./cli-cesds766.js";
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
18
|
+
import"./cli-b7nyw498.js";
|
|
19
|
+
import"./cli-xheg54qc.js";
|
|
20
|
+
import"./cli-3n040fp2.js";
|
|
21
21
|
import {
|
|
22
22
|
resolveApiKey,
|
|
23
23
|
resolveIngestUrl,
|
|
24
24
|
resolveModaBaseUrl,
|
|
25
25
|
resolveTenantId
|
|
26
|
-
} from "./cli-
|
|
26
|
+
} from "./cli-rcjhfts4.js";
|
|
27
27
|
import {
|
|
28
28
|
CliInputError
|
|
29
29
|
} from "./cli-k4tqwah4.js";
|
|
@@ -94,7 +94,7 @@ async function buildAgentContext(context) {
|
|
|
94
94
|
const graph = readHarnessGraphIfPresent(context.cwd);
|
|
95
95
|
const reportState = readHarnessReportState(context.cwd);
|
|
96
96
|
const syncState = readHarnessSyncState(context.cwd);
|
|
97
|
-
const harness = graph ? await import("./harness-
|
|
97
|
+
const harness = graph ? await import("./harness-qatnwxrz.js") : undefined;
|
|
98
98
|
const topFindings = doctor.checks.filter((check) => check.status === "fail" || check.status === "warning").slice(0, 12).map(checkToFinding);
|
|
99
99
|
const evidenceRefs = [
|
|
100
100
|
...doctor.checks.map(checkToEvidenceRef),
|
|
@@ -13,22 +13,22 @@ import {
|
|
|
13
13
|
} from "./cli-hcwdz9sd.js";
|
|
14
14
|
import {
|
|
15
15
|
createCommandContext
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-b7nyw498.js";
|
|
17
17
|
import {
|
|
18
18
|
assertFlags,
|
|
19
19
|
assertPositionals,
|
|
20
20
|
writeDryRun
|
|
21
|
-
} from "./cli-
|
|
21
|
+
} from "./cli-xheg54qc.js";
|
|
22
22
|
import {
|
|
23
23
|
callControlAPI
|
|
24
|
-
} from "./cli-
|
|
24
|
+
} from "./cli-3n040fp2.js";
|
|
25
25
|
import {
|
|
26
26
|
recordApiRequest,
|
|
27
27
|
resolveApiKey,
|
|
28
28
|
resolveIngestUrl,
|
|
29
29
|
resolveTenantId,
|
|
30
30
|
shellArg
|
|
31
|
-
} from "./cli-
|
|
31
|
+
} from "./cli-rcjhfts4.js";
|
|
32
32
|
import {
|
|
33
33
|
CliInputError
|
|
34
34
|
} from "./cli-k4tqwah4.js";
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./cli-mm48br00.js";
|
|
5
5
|
import {
|
|
6
6
|
createCommandContext
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-b7nyw498.js";
|
|
8
8
|
import {
|
|
9
9
|
assertFlags,
|
|
10
10
|
assertPositionals
|
|
11
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-xheg54qc.js";
|
|
12
12
|
import {
|
|
13
13
|
callControlAPI
|
|
14
|
-
} from "./cli-
|
|
14
|
+
} from "./cli-3n040fp2.js";
|
|
15
15
|
import {
|
|
16
16
|
CliInputError
|
|
17
17
|
} from "./cli-k4tqwah4.js";
|
|
@@ -5725,9 +5725,9 @@ async function runPromptsCommand(input, legacyFlags, legacyProfileOptions) {
|
|
|
5725
5725
|
await promotePrompt(positionals, flags, profileOptions, context);
|
|
5726
5726
|
break;
|
|
5727
5727
|
case "ab":
|
|
5728
|
-
return (await import("./prompts-ab-
|
|
5728
|
+
return (await import("./prompts-ab-yd2dawe3.js")).runPromptAb(flags, profileOptions, context);
|
|
5729
5729
|
case "propose":
|
|
5730
|
-
await (await import("./prompts-propose-
|
|
5730
|
+
await (await import("./prompts-propose-11dj9ked.js")).runPromptPropose(positionals, flags, profileOptions, context);
|
|
5731
5731
|
break;
|
|
5732
5732
|
case "list":
|
|
5733
5733
|
case "show":
|
|
@@ -5830,7 +5830,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
5830
5830
|
const analyzedDefinitions = new Map;
|
|
5831
5831
|
if (flags["no-analyze"] !== "true") {
|
|
5832
5832
|
options.onProgress?.("Analyzing prompt sources before sync.");
|
|
5833
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
5833
|
+
const { analyzeHarnessPrompts } = await import("./harness-qatnwxrz.js");
|
|
5834
5834
|
const result = await analyzeHarnessPrompts({
|
|
5835
5835
|
rootDir: process.cwd(),
|
|
5836
5836
|
existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
|
|
@@ -5858,7 +5858,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
5858
5858
|
const mergedSources = mergePromptSources(manifest.sources, extraSources);
|
|
5859
5859
|
const manifestUpdate = stableJson(mergedSources) === stableJson(mergePromptSources(manifest.sources, [])) ? undefined : $stringify({ version: 2, prompt_paths: manifest.promptPaths, sources: mergedSources });
|
|
5860
5860
|
const prompts = await discoverPrompts(extraSources);
|
|
5861
|
-
const { checkPromptAttribution } = await import("./prompt-attribution-
|
|
5861
|
+
const { checkPromptAttribution } = await import("./prompt-attribution-zq38actx.js");
|
|
5862
5862
|
const attribution = checkPromptAttribution(process.cwd(), prompts.map((prompt) => prompt.key));
|
|
5863
5863
|
const brokenAttribution = attribution.references.filter((reference) => reference.status === "missing");
|
|
5864
5864
|
if (brokenAttribution.length) {
|
|
@@ -6164,7 +6164,7 @@ async function migratePromptManifest(options = {}) {
|
|
|
6164
6164
|
let addedSources = [];
|
|
6165
6165
|
let pendingSources = [];
|
|
6166
6166
|
if (options.discover) {
|
|
6167
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
6167
|
+
const { analyzeHarnessPrompts } = await import("./harness-qatnwxrz.js");
|
|
6168
6168
|
const result = await analyzeHarnessPrompts({
|
|
6169
6169
|
rootDir: root,
|
|
6170
6170
|
existing: manifest.sources,
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
parsePromptFileForAb,
|
|
5
5
|
readPromptLock,
|
|
6
6
|
runPromptSync
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-dmnayt2r.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_POLL_INTERVAL_MS,
|
|
10
10
|
DEFAULT_WAIT_TIMEOUT_MS,
|
|
11
11
|
fetchLatestRun
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-xk630wjq.js";
|
|
13
13
|
import {
|
|
14
14
|
UUID_RE
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-xheg54qc.js";
|
|
16
16
|
import {
|
|
17
17
|
callControlAPI,
|
|
18
18
|
callDataAPI
|
|
19
|
-
} from "./cli-
|
|
19
|
+
} from "./cli-3n040fp2.js";
|
|
20
20
|
import {
|
|
21
21
|
EXIT_ERROR,
|
|
22
22
|
EXIT_OK,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
setPlatformTenantOverride,
|
|
25
25
|
shellArg,
|
|
26
26
|
validateConfig
|
|
27
|
-
} from "./cli-
|
|
27
|
+
} from "./cli-rcjhfts4.js";
|
|
28
28
|
import {
|
|
29
29
|
CliInputError
|
|
30
30
|
} from "./cli-k4tqwah4.js";
|
|
@@ -1922,16 +1922,17 @@ function continuationCommand(invocation, overrides) {
|
|
|
1922
1922
|
var PAGED_LIST_BY_COMMAND = {
|
|
1923
1923
|
"tool-failure-detail": "examples",
|
|
1924
1924
|
"tool-catalog": "tools",
|
|
1925
|
-
emotions: "detections",
|
|
1926
|
-
frustrations: "frustrations",
|
|
1925
|
+
emotions: ["detections", "traces"],
|
|
1926
|
+
frustrations: ["frustrations", "traces"],
|
|
1927
1927
|
laziness: "conversations",
|
|
1928
1928
|
"problems remainder": "groups",
|
|
1929
1929
|
"problem remainder": "groups"
|
|
1930
1930
|
};
|
|
1931
|
-
function
|
|
1931
|
+
function pagedListsFor(invocation) {
|
|
1932
1932
|
const { command, positionals } = invocation.routedAs ?? invocation;
|
|
1933
1933
|
const subcommand = positionals[0];
|
|
1934
|
-
|
|
1934
|
+
const paged = (subcommand !== undefined ? PAGED_LIST_BY_COMMAND[`${command} ${subcommand}`] : undefined) ?? PAGED_LIST_BY_COMMAND[command];
|
|
1935
|
+
return paged === undefined ? [] : typeof paged === "string" ? [paged] : paged;
|
|
1935
1936
|
}
|
|
1936
1937
|
var MAX_PAGE_OFFSET = 1e4;
|
|
1937
1938
|
function rewritePagination(list, isTopLevel, invocation) {
|
|
@@ -1946,8 +1947,8 @@ function rewritePagination(list, isTopLevel, invocation) {
|
|
|
1946
1947
|
const listKey = list.path.split(".").pop() ?? list.path;
|
|
1947
1948
|
const arrayKeys = Object.keys(parent).filter((key) => Array.isArray(parent[key]));
|
|
1948
1949
|
if (arrayKeys.length > 1) {
|
|
1949
|
-
const paged = invocation ?
|
|
1950
|
-
if (paged
|
|
1950
|
+
const paged = invocation ? pagedListsFor(invocation) : [];
|
|
1951
|
+
if (!paged.includes(listKey))
|
|
1951
1952
|
return;
|
|
1952
1953
|
}
|
|
1953
1954
|
if (typeof pagination.returned === "number" ? pagination.returned !== originalLength : typeof pagination.limit === "number" && originalLength > pagination.limit) {
|
|
@@ -44,16 +44,16 @@ import {
|
|
|
44
44
|
import {
|
|
45
45
|
createCommandContext,
|
|
46
46
|
stringOption
|
|
47
|
-
} from "./cli-
|
|
47
|
+
} from "./cli-b7nyw498.js";
|
|
48
48
|
import {
|
|
49
49
|
assertFlags,
|
|
50
50
|
assertPositionals,
|
|
51
51
|
requireTenant
|
|
52
|
-
} from "./cli-
|
|
52
|
+
} from "./cli-xheg54qc.js";
|
|
53
53
|
import {
|
|
54
54
|
ApiError,
|
|
55
55
|
callControlAPI
|
|
56
|
-
} from "./cli-
|
|
56
|
+
} from "./cli-3n040fp2.js";
|
|
57
57
|
import {
|
|
58
58
|
embeddedTenantIdFromApiKey,
|
|
59
59
|
getActiveProfile,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
resolveModaBaseUrl,
|
|
64
64
|
resolveTenantId,
|
|
65
65
|
shellArg
|
|
66
|
-
} from "./cli-
|
|
66
|
+
} from "./cli-rcjhfts4.js";
|
|
67
67
|
import {
|
|
68
68
|
CliInputError,
|
|
69
69
|
CliInputRequiredError
|
|
@@ -14048,7 +14048,7 @@ async function runHarnessCommand(context) {
|
|
|
14048
14048
|
throw new CliInputError("Focused remote prompt analysis is not supported yet.", "Use local --analyst=claude|codex|cursor|local-scan, or drop --concern for a full remote report.");
|
|
14049
14049
|
}
|
|
14050
14050
|
if (context.flags["github-actions"] === "true") {
|
|
14051
|
-
const { runGithubActionsAnalyze } = await import("./harness-github-actions-
|
|
14051
|
+
const { runGithubActionsAnalyze } = await import("./harness-github-actions-drbkcb8d.js");
|
|
14052
14052
|
const result = await runGithubActionsAnalyze(rootDir, {
|
|
14053
14053
|
writeReport: (report2) => {
|
|
14054
14054
|
const normalized = normalizeHarnessReport(report2);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fetchApiKeyProbe
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-9g5kzsg6.js";
|
|
4
4
|
import {
|
|
5
5
|
authFetch,
|
|
6
6
|
getCachedLoginContext
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-sk1p71wr.js";
|
|
8
8
|
import {
|
|
9
9
|
embeddedTenantIdFromApiKey,
|
|
10
10
|
getModaDir,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
resolveTenantIdFromActiveProfile,
|
|
16
16
|
saveCliConfig,
|
|
17
17
|
writeSecretJsonFile
|
|
18
|
-
} from "./cli-
|
|
18
|
+
} from "./cli-rcjhfts4.js";
|
|
19
19
|
import {
|
|
20
20
|
CliAccessError,
|
|
21
21
|
CliInputError,
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ApiError,
|
|
3
3
|
callControlAPI,
|
|
4
4
|
callDataAPI
|
|
5
|
-
} from "./cli-
|
|
5
|
+
} from "./cli-3n040fp2.js";
|
|
6
6
|
import {
|
|
7
7
|
continuationCommand,
|
|
8
8
|
embeddedTenantIdFromApiKey,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
resolveApiTenantId,
|
|
12
12
|
setPlatformTenantOverride,
|
|
13
13
|
shellArg
|
|
14
|
-
} from "./cli-
|
|
14
|
+
} from "./cli-rcjhfts4.js";
|
|
15
15
|
import {
|
|
16
16
|
CliAccessError,
|
|
17
17
|
CliInputError
|
|
@@ -89,6 +89,48 @@ var ContextSchema = z.object({
|
|
|
89
89
|
max_messages: z.number().int().min(1).max(5000).optional().describe("With --all: maximum messages to read (default 500)"),
|
|
90
90
|
ids_from: z.string().min(1).optional().describe("Read several targets (<id> or <id>@<msg_index>), one per line, from a file or - for stdin (batch mode, up to 25)")
|
|
91
91
|
});
|
|
92
|
+
var EMOTION_SIGNALS = [
|
|
93
|
+
"exasperation",
|
|
94
|
+
"anger",
|
|
95
|
+
"profanity",
|
|
96
|
+
"insult",
|
|
97
|
+
"sarcasm",
|
|
98
|
+
"escalation_request",
|
|
99
|
+
"disapprove",
|
|
100
|
+
"disappointment",
|
|
101
|
+
"resignation",
|
|
102
|
+
"self_blame",
|
|
103
|
+
"personal_distress",
|
|
104
|
+
"confusion",
|
|
105
|
+
"urgency",
|
|
106
|
+
"distrust",
|
|
107
|
+
"gratitude",
|
|
108
|
+
"satisfaction",
|
|
109
|
+
"delight"
|
|
110
|
+
];
|
|
111
|
+
var EMOTION_ELICITORS = ["bot", "external", "self", "ambiguous"];
|
|
112
|
+
var EMOTION_TRAJECTORIES = ["none", "building", "peak", "resolved", "sustained"];
|
|
113
|
+
var EMOTION_TRACE_SORTS = ["score", "risk_score", "detected_at", "message_count"];
|
|
114
|
+
var HALLUCINATION_SOURCES = ["rule", "classifier", "gpu", "judge", "human"];
|
|
115
|
+
var HALLUCINATION_TRACE_SORTS = ["contradicted_count", "verified_count", "last_detected_at"];
|
|
116
|
+
var LAZINESS_TRACE_SORTS = ["detections_count", "strong_count", "last_detected_at"];
|
|
117
|
+
var SORT_ORDERS = ["asc", "desc"];
|
|
118
|
+
var emotionSignalsFlag = () => z.string().trim().min(1).refine((value) => value.split(",").every((signal) => EMOTION_SIGNALS.includes(signal.trim())), { message: `must be one or more of ${EMOTION_SIGNALS.join(", ")}, comma-separated` }).optional().describe(`Only traces expressing any of these signals, comma-separated (${EMOTION_SIGNALS.join(", ")}); needs --group-by=trace`);
|
|
119
|
+
var emotionTraceFilters = {
|
|
120
|
+
group_by: z.enum(["detection", "trace"]).optional().describe("detection (default): one row per trace and family. trace: one row per trace, totals count traces as the dashboard does"),
|
|
121
|
+
search: z.string().trim().min(1).max(200).optional().describe("Trace ID or primary-cause substring; needs --group-by=trace"),
|
|
122
|
+
status: z.enum(["all", "detected"]).optional().describe("all: any detected family. detected: a negative-family detection; needs --group-by=trace"),
|
|
123
|
+
elicitor: z.enum(EMOTION_ELICITORS).optional().describe("Who elicited the emotion; needs --group-by=trace"),
|
|
124
|
+
trajectory: z.enum(EMOTION_TRAJECTORIES).optional().describe("How the emotion moved over the trace; needs --group-by=trace"),
|
|
125
|
+
signal: emotionSignalsFlag(),
|
|
126
|
+
sort: z.enum(EMOTION_TRACE_SORTS).optional().describe("Trace order (default score); needs --group-by=trace"),
|
|
127
|
+
order: z.enum(SORT_ORDERS).optional().describe("Sort direction (default desc); needs --group-by=trace")
|
|
128
|
+
};
|
|
129
|
+
var TRACE_GRAIN_FLAGS = {
|
|
130
|
+
emotions: ["search", "status", "elicitor", "trajectory", "signal", "sort", "order"],
|
|
131
|
+
frustrations: ["search", "status", "elicitor", "trajectory", "signal", "sort", "order"],
|
|
132
|
+
hallucinations: ["search", "status", "rule", "source", "sort", "order"]
|
|
133
|
+
};
|
|
92
134
|
var FrustrationsSchema = z.object({
|
|
93
135
|
days_back: daysBackFlag(7),
|
|
94
136
|
limit: z.number().int().min(1).max(20).default(10).optional().describe("Maximum detections to return"),
|
|
@@ -96,7 +138,8 @@ var FrustrationsSchema = z.object({
|
|
|
96
138
|
include_window: boolFlag().describe("Attach the surrounding messages to each detection (agent output omits them by default)"),
|
|
97
139
|
window: z.number().int().min(1).max(5).default(1).optional().describe("Messages on each side with --include-window"),
|
|
98
140
|
user_id: z.string().min(1).max(256).optional().describe("Scope everything to one end user"),
|
|
99
|
-
conversation_id: z.string().min(1).max(256).optional().describe("Scope everything to one trace ID")
|
|
141
|
+
conversation_id: z.string().min(1).max(256).optional().describe("Scope everything to one trace ID"),
|
|
142
|
+
...emotionTraceFilters
|
|
100
143
|
});
|
|
101
144
|
var ToolFailuresSchema = z.object({
|
|
102
145
|
days_back: daysBackFlag(7)
|
|
@@ -260,14 +303,22 @@ var EmotionsSchema = z.object({
|
|
|
260
303
|
family: z.enum(EMOTION_FAMILIES).optional().describe("Only this family in the detections list (summary covers all)"),
|
|
261
304
|
user_id: z.string().min(1).max(256).optional().describe("Scope everything to one end user"),
|
|
262
305
|
conversation_id: z.string().min(1).max(256).optional().describe("Scope everything to one trace ID"),
|
|
263
|
-
include_window: boolFlag().describe("Keep each detection's conversation context (agent output omits it by default)")
|
|
306
|
+
include_window: boolFlag().describe("Keep each detection's conversation context (agent output omits it by default)"),
|
|
307
|
+
...emotionTraceFilters
|
|
264
308
|
});
|
|
265
309
|
var HallucinationsSchema = z.object({
|
|
266
310
|
days_back: daysBackFlag(7),
|
|
267
311
|
limit: z.number().int().min(1).max(20).default(10).optional().describe("Maximum detections to return"),
|
|
268
312
|
offset: z.number().int().min(0).max(1e4).optional().describe("Number of detections to skip"),
|
|
269
313
|
conversation_id: z.string().max(200).optional().describe("Scope summary and list to one trace ID"),
|
|
270
|
-
kind: z.enum(["contradicted", "verified"]).optional().describe("Only this kind in the detections list")
|
|
314
|
+
kind: z.enum(["contradicted", "verified"]).optional().describe("Only this kind in the detections list"),
|
|
315
|
+
group_by: z.enum(["message", "trace"]).optional().describe("message (default): one row per scored message. trace: one row per trace, totals count traces as the dashboard does"),
|
|
316
|
+
search: z.string().trim().min(1).max(200).optional().describe("Trace ID substring; needs --group-by=trace"),
|
|
317
|
+
status: z.enum(["contradicted", "all"]).optional().describe("contradicted (default): traces with a contradiction. all: also verified-only traces; needs --group-by=trace"),
|
|
318
|
+
rule: z.string().trim().min(1).max(200).optional().describe("One rule_id from summary.rule_breakdown; scopes the summary too; needs --group-by=trace"),
|
|
319
|
+
source: z.enum(HALLUCINATION_SOURCES).optional().describe("Only detections from this source; needs --group-by=trace"),
|
|
320
|
+
sort: z.enum(HALLUCINATION_TRACE_SORTS).optional().describe("Trace order (default contradicted_count); needs --group-by=trace"),
|
|
321
|
+
order: z.enum(SORT_ORDERS).optional().describe("Sort direction (default desc); needs --group-by=trace")
|
|
271
322
|
});
|
|
272
323
|
var LAZINESS_FAMILIES = [
|
|
273
324
|
"omission_comment",
|
|
@@ -295,7 +346,12 @@ var LazinessSchema = z.object({
|
|
|
295
346
|
limit: z.number().int().min(1).max(50).default(10).optional().describe("Maximum detections to return"),
|
|
296
347
|
offset: z.number().int().min(0).max(1e4).optional().describe("Number of detections to skip"),
|
|
297
348
|
conversation_id: z.string().max(200).optional().describe("One trace's detections"),
|
|
298
|
-
family: z.enum(LAZINESS_FAMILIES).optional().describe("Only this laziness family")
|
|
349
|
+
family: z.enum(LAZINESS_FAMILIES).optional().describe("Only this laziness family"),
|
|
350
|
+
group_by: z.enum(["trace"]).optional().describe("Accepted for symmetry: laziness rows are always one per trace"),
|
|
351
|
+
search: z.string().trim().min(1).max(200).optional().describe("Trace ID substring"),
|
|
352
|
+
status: z.enum(["all", "strong"]).optional().describe("all (default), or strong: traces with a high-confidence detection"),
|
|
353
|
+
sort: z.enum(LAZINESS_TRACE_SORTS).optional().describe("Trace order (default detections_count)"),
|
|
354
|
+
order: z.enum(SORT_ORDERS).optional().describe("Sort direction (default desc)")
|
|
299
355
|
});
|
|
300
356
|
var StepScoresSchema = z.object({
|
|
301
357
|
conversation_id: z.string().min(1).describe("Trace ID")
|
|
@@ -1359,4 +1415,4 @@ function unknownSignalsSubcommandError(sub, args = []) {
|
|
|
1359
1415
|
${SIGNAL_USAGE}`);
|
|
1360
1416
|
}
|
|
1361
1417
|
|
|
1362
|
-
export { ProblemsRemainderSchema, UUID_RE, ProblemImpactSchema, PROBLEM_FEEDBACK_ACTIONS, ProblemFeedbackSchema, ProblemLinearFileSchema, SignalLabelSchema, DETECTION_VERDICTS, DetectionReviewSchema, FALSE_POSITIVE_KINDS, FalsePositiveSchema, EMOTION_FAMILIES, LAZINESS_FAMILIES, StepScoresSchema, AuditSchema, FEEDBACK_USAGE, isFeedbackRefFlag, buildFeedbackRequest, writeDryRun, COMMAND_FLAG_SPECS, flagSpecFor, kebabFlag, schemaShape, describeField, specFlagKeys, specFlagNames, describeSpecFlags, closestMatches, usageLine, renderFlagHelp, subcommandHelpFlags, manifestFlagFields, requireTenant, assertFlags, assertPositionals, runUsersCommand, runUserCommand, runProblemReopenCommand, runSignalsManagementCommand, SIGNALS_MANAGEMENT_SUBCOMMANDS, unknownSignalsSubcommandError };
|
|
1418
|
+
export { TRACE_GRAIN_FLAGS, ProblemsRemainderSchema, UUID_RE, ProblemImpactSchema, PROBLEM_FEEDBACK_ACTIONS, ProblemFeedbackSchema, ProblemLinearFileSchema, SignalLabelSchema, DETECTION_VERDICTS, DetectionReviewSchema, FALSE_POSITIVE_KINDS, FalsePositiveSchema, EMOTION_FAMILIES, LAZINESS_FAMILIES, StepScoresSchema, AuditSchema, FEEDBACK_USAGE, isFeedbackRefFlag, buildFeedbackRequest, writeDryRun, COMMAND_FLAG_SPECS, flagSpecFor, kebabFlag, schemaShape, describeField, specFlagKeys, specFlagNames, describeSpecFlags, closestMatches, usageLine, renderFlagHelp, subcommandHelpFlags, manifestFlagFields, requireTenant, assertFlags, assertPositionals, runUsersCommand, runUserCommand, runProblemReopenCommand, runSignalsManagementCommand, SIGNALS_MANAGEMENT_SUBCOMMANDS, unknownSignalsSubcommandError };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isAuthSessionValid,
|
|
3
3
|
loadAuthSession
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-sk1p71wr.js";
|
|
5
5
|
import {
|
|
6
6
|
inspectPromptManifest
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-dmnayt2r.js";
|
|
8
8
|
import {
|
|
9
9
|
readHarnessSyncState,
|
|
10
10
|
renderDoctorHuman,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./cli-xq45etg1.js";
|
|
13
13
|
import {
|
|
14
14
|
callDataAPI
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-3n040fp2.js";
|
|
16
16
|
import {
|
|
17
17
|
ensureSecretFilePermissions,
|
|
18
18
|
getActiveProfile,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
resolveSecretReference,
|
|
27
27
|
resolveTenantId,
|
|
28
28
|
secretFilePathFromRef
|
|
29
|
-
} from "./cli-
|
|
29
|
+
} from "./cli-rcjhfts4.js";
|
|
30
30
|
import {
|
|
31
31
|
__require
|
|
32
32
|
} from "./cli-0v6na3yp.js";
|
|
@@ -376,7 +376,7 @@ async function harnessCurrentCheck(cwd, manifestPath, manifestExists, tenantId)
|
|
|
376
376
|
};
|
|
377
377
|
}
|
|
378
378
|
try {
|
|
379
|
-
const { scanHarness } = await import("./harness-
|
|
379
|
+
const { scanHarness } = await import("./harness-qatnwxrz.js");
|
|
380
380
|
const current = scanHarness({
|
|
381
381
|
rootDir: cwd,
|
|
382
382
|
scannerVersion: "doctor",
|