@moda-ai/cli 1.55.25 → 1.55.27
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-t7dxmpdq.js → agent-vp9prdma.js} +8 -8
- package/dist/{cli-qycsmxev.js → cli-0pkc8jhg.js} +3 -3
- package/dist/{cli-mebf5vtr.js → cli-4h0ave0f.js} +5 -5
- package/dist/{cli-m0045npe.js → cli-6et4z504.js} +10 -8
- package/dist/{cli-9hc5bg2r.js → cli-ccjfwzqx.js} +1 -1
- package/dist/{cli-0wr3483h.js → cli-hmjdgxrn.js} +1 -1
- package/dist/{cli-9btx12wp.js → cli-pg5qfmqc.js} +1 -1
- package/dist/{cli-m805msp6.js → cli-q9nsvqqg.js} +14 -14
- package/dist/{cli-7xc585hc.js → cli-qwgct6x7.js} +7 -6
- package/dist/{cli-dve50x7p.js → cli-r5pp7qny.js} +140 -455
- package/dist/{cli-qvg26twp.js → cli-v8q7sd7g.js} +38 -13
- package/dist/cli-vdkwkkp5.js +567 -0
- package/dist/{cli-dn91fb56.js → cli-wzds257x.js} +92 -49
- package/dist/cli.js +986 -362
- package/dist/{doctor-q21mr5ya.js → doctor-wmre3mr7.js} +8 -8
- package/dist/{fix-0qdtdz5h.js → fix-75s9s0d6.js} +45 -47
- package/dist/{harness-vzy7n7ea.js → harness-a7tb9a23.js} +5 -5
- package/dist/{harness-github-actions-atc5bbkj.js → harness-github-actions-6v4wydb8.js} +5 -5
- package/dist/{index-4b1ybz51.js → index-91bpc8g8.js} +15 -14
- package/dist/{production-intelligence-c8e0xw3n.js → production-intelligence-7nqddd4f.js} +88 -28
- package/dist/{profile-commands-6e2dgv72.js → profile-commands-49yn02yg.js} +5 -4
- package/dist/prompt-source-mcp.js +5 -5
- package/dist/{prompts-3h5jcjrw.js → prompts-17wyrst6.js} +6 -6
- package/dist/{provision-q86phh4a.js → provision-bc3h68e1.js} +5 -5
- package/dist/{registry-s2vdsfw8.js → registry-fpzhjznj.js} +3 -3
- package/dist/{skills-vq3njc8a.js → skills-ccdbqghj.js} +5 -5
- package/dist/{sync-hq9dpqpr.js → sync-hkxce5zh.js} +7 -7
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +4 -1
- package/skills/moda-cli/references/dashboard-parity.md +1 -1
- package/skills/moda-cli/references/output-protocol.md +35 -10
- package/skills/moda-cli/references/search-and-traces.md +20 -2
- package/dist/cli-bb7133m7.js +0 -144
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildDoctorReport
|
|
3
|
-
} from "./cli-
|
|
4
|
-
import"./cli-
|
|
5
|
-
import"./cli-
|
|
3
|
+
} from "./cli-4h0ave0f.js";
|
|
4
|
+
import"./cli-hmjdgxrn.js";
|
|
5
|
+
import"./cli-q9nsvqqg.js";
|
|
6
6
|
import"./cli-mm48br00.js";
|
|
7
7
|
import {
|
|
8
8
|
HARNESS_REPORT_APPROVAL_PATH,
|
|
@@ -14,18 +14,18 @@ import {
|
|
|
14
14
|
readHarnessSyncState,
|
|
15
15
|
summarizeHarness,
|
|
16
16
|
validateHarnessReport
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-qwgct6x7.js";
|
|
18
18
|
import"./cli-97fnztpy.js";
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
19
|
+
import"./cli-v8q7sd7g.js";
|
|
20
|
+
import"./cli-wzds257x.js";
|
|
21
|
+
import"./cli-pg5qfmqc.js";
|
|
22
22
|
import {
|
|
23
23
|
CliInputError,
|
|
24
24
|
resolveApiKey,
|
|
25
25
|
resolveIngestUrl,
|
|
26
26
|
resolveModaBaseUrl,
|
|
27
27
|
resolveTenantId
|
|
28
|
-
} from "./cli-
|
|
28
|
+
} from "./cli-r5pp7qny.js";
|
|
29
29
|
import"./cli-0v6na3yp.js";
|
|
30
30
|
|
|
31
31
|
// src/agent.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fetchApiKeyProbe
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-ccjfwzqx.js";
|
|
4
4
|
import {
|
|
5
5
|
authFetch,
|
|
6
6
|
getCachedLoginContext
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-hmjdgxrn.js";
|
|
8
8
|
import {
|
|
9
9
|
CliAccessError,
|
|
10
10
|
CliInputError,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
resolveTenantIdFromActiveProfile,
|
|
19
19
|
saveCliConfig,
|
|
20
20
|
writeSecretJsonFile
|
|
21
|
-
} from "./cli-
|
|
21
|
+
} from "./cli-r5pp7qny.js";
|
|
22
22
|
|
|
23
23
|
// src/init/tenant.ts
|
|
24
24
|
import { randomUUID } from "node:crypto";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isAuthSessionValid,
|
|
3
3
|
loadAuthSession
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-hmjdgxrn.js";
|
|
5
5
|
import {
|
|
6
6
|
inspectPromptManifest
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-q9nsvqqg.js";
|
|
8
8
|
import {
|
|
9
9
|
readHarnessSyncState,
|
|
10
10
|
renderDoctorHuman,
|
|
11
11
|
renderStatusHuman,
|
|
12
12
|
scanHarness
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-qwgct6x7.js";
|
|
14
14
|
import {
|
|
15
15
|
callDataAPI
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-pg5qfmqc.js";
|
|
17
17
|
import {
|
|
18
18
|
ensureSecretFilePermissions,
|
|
19
19
|
getActiveProfile,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
resolveSecretReference,
|
|
28
28
|
resolveTenantId,
|
|
29
29
|
secretFilePathFromRef
|
|
30
|
-
} from "./cli-
|
|
30
|
+
} from "./cli-r5pp7qny.js";
|
|
31
31
|
|
|
32
32
|
// src/doctor.ts
|
|
33
33
|
import { createHash } from "node:crypto";
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCommandContext
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-v8q7sd7g.js";
|
|
4
4
|
import {
|
|
5
5
|
assertFlags,
|
|
6
|
-
assertPositionals
|
|
7
|
-
|
|
6
|
+
assertPositionals,
|
|
7
|
+
writeDryRun
|
|
8
|
+
} from "./cli-wzds257x.js";
|
|
8
9
|
import {
|
|
9
10
|
callControlAPI
|
|
10
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-pg5qfmqc.js";
|
|
11
12
|
import {
|
|
12
13
|
CliInputError,
|
|
13
14
|
recordApiRequest,
|
|
14
15
|
resolveApiKey,
|
|
15
16
|
resolveIngestUrl,
|
|
16
|
-
resolveTenantId
|
|
17
|
-
|
|
17
|
+
resolveTenantId,
|
|
18
|
+
shellArg
|
|
19
|
+
} from "./cli-r5pp7qny.js";
|
|
18
20
|
import {
|
|
19
21
|
SKILL_SOURCE_HARNESS,
|
|
20
22
|
SKILL_SOURCE_INTEGRATION_BUNDLED,
|
|
@@ -671,7 +673,7 @@ async function runSkillsCommand(input) {
|
|
|
671
673
|
"accepted: true",
|
|
672
674
|
result.generation_run_id && `generation_run_id: ${result.generation_run_id}`,
|
|
673
675
|
result.message && `message: ${result.message}`,
|
|
674
|
-
result.generation_run_id && `follow progress: moda skills status ${result.generation_run_id}`
|
|
676
|
+
result.generation_run_id && `follow progress: moda skills status ${shellArg(result.generation_run_id)}`
|
|
675
677
|
].filter(Boolean).join(`
|
|
676
678
|
`));
|
|
677
679
|
} else {
|
|
@@ -972,7 +974,7 @@ async function runSkillRegistryCommand(sub, positionals, flags, context) {
|
|
|
972
974
|
}
|
|
973
975
|
const surfacePolicy = live ? "include" : "local_only";
|
|
974
976
|
if (context.dryRun) {
|
|
975
|
-
context
|
|
977
|
+
writeDryRun(context, { plane: "control", method: "PATCH", path: `/skills/${encodeURIComponent(idOrKey)}/surface-policy`, body: { surfacePolicy } });
|
|
976
978
|
return 0;
|
|
977
979
|
}
|
|
978
980
|
context.output.writeData(await callControlAPI(`/skills/${encodeURIComponent(idOrKey)}/surface-policy`, { method: "PATCH", body: JSON.stringify({ surfacePolicy }) }, profileOptions, { retries: 0 }));
|
|
@@ -12,27 +12,28 @@ import {
|
|
|
12
12
|
require_typescript,
|
|
13
13
|
resolvePromptSource,
|
|
14
14
|
safePromptEvidencePath
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-qwgct6x7.js";
|
|
16
16
|
import {
|
|
17
17
|
createCommandContext
|
|
18
|
-
} from "./cli-
|
|
18
|
+
} from "./cli-v8q7sd7g.js";
|
|
19
19
|
import {
|
|
20
20
|
UUID_RE,
|
|
21
21
|
assertFlags,
|
|
22
22
|
assertPositionals
|
|
23
|
-
} from "./cli-
|
|
23
|
+
} from "./cli-wzds257x.js";
|
|
24
24
|
import {
|
|
25
25
|
callControlAPI,
|
|
26
26
|
callDataAPI
|
|
27
|
-
} from "./cli-
|
|
27
|
+
} from "./cli-pg5qfmqc.js";
|
|
28
28
|
import {
|
|
29
29
|
CliInputError,
|
|
30
30
|
EXIT_ERROR,
|
|
31
31
|
EXIT_OK,
|
|
32
32
|
resolveApiTenantId,
|
|
33
33
|
setPlatformTenantOverride,
|
|
34
|
+
shellArg,
|
|
34
35
|
validateConfig
|
|
35
|
-
} from "./cli-
|
|
36
|
+
} from "./cli-r5pp7qny.js";
|
|
36
37
|
import {
|
|
37
38
|
__commonJS,
|
|
38
39
|
__require,
|
|
@@ -6020,12 +6021,11 @@ function assertAllowedModel(raw, flags, flagName) {
|
|
|
6020
6021
|
throw new CliInputError(`${flagName}=${model} is not in the replay model allowlist, so nothing was sent.`, `Allowed: ${REPLAY_MODEL_ALLOWLIST.join(", ")}. Pass --allow-any-model to use another OpenRouter slug.`);
|
|
6021
6022
|
}
|
|
6022
6023
|
function rerunWithYes(command, positionals, flags) {
|
|
6023
|
-
const
|
|
6024
|
-
const parts = ["moda", ...command.split(" "), ...positionals.map(quote)];
|
|
6024
|
+
const parts = ["moda", ...command.split(" "), ...positionals.map(shellArg)];
|
|
6025
6025
|
for (const [key, value] of Object.entries(flags)) {
|
|
6026
6026
|
if (key === "yes")
|
|
6027
6027
|
continue;
|
|
6028
|
-
parts.push(value === "true" ? `--${key}` : `--${key}=${
|
|
6028
|
+
parts.push(value === "true" ? `--${key}` : `--${key}=${shellArg(value)}`);
|
|
6029
6029
|
}
|
|
6030
6030
|
parts.push("--yes");
|
|
6031
6031
|
return parts.join(" ");
|
|
@@ -6469,7 +6469,7 @@ function printHuman(result, outPath, gate) {
|
|
|
6469
6469
|
}
|
|
6470
6470
|
w("");
|
|
6471
6471
|
if (!gate.promoted) {
|
|
6472
|
-
w(` moda prompts promote ${result.promptKey} --label=prod --version=${result.versionId}`);
|
|
6472
|
+
w(` moda prompts promote ${shellArg(result.promptKey)} --label=prod --version=${result.versionId ? shellArg(result.versionId) : "<version_id>"}`);
|
|
6473
6473
|
}
|
|
6474
6474
|
return;
|
|
6475
6475
|
}
|
|
@@ -6484,13 +6484,13 @@ function printHuman(result, outPath, gate) {
|
|
|
6484
6484
|
w(" (too few failures to reserve a holdout — gate on a fresh --auto-generate set)");
|
|
6485
6485
|
}
|
|
6486
6486
|
if (outPath) {
|
|
6487
|
-
w(` moda prompts ab --baseline-key=${result.promptKey} --candidate=${outPath} --auto-generate`);
|
|
6487
|
+
w(` moda prompts ab --baseline-key=${shellArg(result.promptKey)} --candidate=${shellArg(outPath)} --auto-generate`);
|
|
6488
6488
|
} else {
|
|
6489
6489
|
w(` # re-run with --out=<path.prompt.md> to materialize the candidate, then:`);
|
|
6490
|
-
w(` moda prompts ab --baseline-key=${result.promptKey} --candidate=<path.prompt.md> --auto-generate`);
|
|
6490
|
+
w(` moda prompts ab --baseline-key=${shellArg(result.promptKey)} --candidate=<path.prompt.md> --auto-generate`);
|
|
6491
6491
|
}
|
|
6492
6492
|
w(` # or: moda prompts propose ... --gate --promote-on-win (auto-A/B, promote on a strict win)`);
|
|
6493
|
-
w(` moda prompts promote ${result.promptKey} --label=prod --version=${result.versionId}`);
|
|
6493
|
+
w(` moda prompts promote ${shellArg(result.promptKey)} --label=prod --version=${result.versionId ? shellArg(result.versionId) : "<version_id>"}`);
|
|
6494
6494
|
}
|
|
6495
6495
|
function parsePositiveInt2(raw, fallback, max, flagName) {
|
|
6496
6496
|
if (raw === undefined)
|
|
@@ -6916,7 +6916,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
6916
6916
|
const analyzedDefinitions = new Map;
|
|
6917
6917
|
if (flags["no-analyze"] !== "true") {
|
|
6918
6918
|
options.onProgress?.("Analyzing prompt sources before sync.");
|
|
6919
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
6919
|
+
const { analyzeHarnessPrompts } = await import("./harness-a7tb9a23.js");
|
|
6920
6920
|
const result = await analyzeHarnessPrompts({
|
|
6921
6921
|
rootDir: process.cwd(),
|
|
6922
6922
|
existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
|
|
@@ -7246,7 +7246,7 @@ async function migratePromptManifest(options = {}) {
|
|
|
7246
7246
|
let addedSources = [];
|
|
7247
7247
|
let pendingSources = [];
|
|
7248
7248
|
if (options.discover) {
|
|
7249
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
7249
|
+
const { analyzeHarnessPrompts } = await import("./harness-a7tb9a23.js");
|
|
7250
7250
|
const result = await analyzeHarnessPrompts({
|
|
7251
7251
|
rootDir: root,
|
|
7252
7252
|
existing: manifest.sources,
|
|
@@ -4,16 +4,16 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
createCommandContext,
|
|
6
6
|
stringOption
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-v8q7sd7g.js";
|
|
8
8
|
import {
|
|
9
9
|
assertFlags,
|
|
10
10
|
assertPositionals,
|
|
11
11
|
requireTenant
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-wzds257x.js";
|
|
13
13
|
import {
|
|
14
14
|
ApiError,
|
|
15
15
|
callControlAPI
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-pg5qfmqc.js";
|
|
17
17
|
import {
|
|
18
18
|
CliInputError,
|
|
19
19
|
CliInputRequiredError,
|
|
@@ -38,8 +38,9 @@ import {
|
|
|
38
38
|
resolveIngestUrl,
|
|
39
39
|
resolveModaBaseUrl,
|
|
40
40
|
resolveTenantId,
|
|
41
|
+
shellArg,
|
|
41
42
|
shouldInventoryFile
|
|
42
|
-
} from "./cli-
|
|
43
|
+
} from "./cli-r5pp7qny.js";
|
|
43
44
|
import {
|
|
44
45
|
__commonJS,
|
|
45
46
|
__require,
|
|
@@ -191084,7 +191085,7 @@ function renderRegistrationStatus(registration) {
|
|
|
191084
191085
|
if (optional > 0)
|
|
191085
191086
|
lines.push(` (${registration.checklistIncomplete ? "at least " : ""}${optional} optional confirmation(s))`);
|
|
191086
191087
|
if (registration.checklistIncomplete) {
|
|
191087
|
-
lines.push(` Some checklist items could not be loaded; run \`moda harness registration status ${registration.id}\` again.`);
|
|
191088
|
+
lines.push(` Some checklist items could not be loaded; run \`moda harness registration status ${shellArg(registration.id)}\` again.`);
|
|
191088
191089
|
}
|
|
191089
191090
|
lines.push(` Dashboard ${registration.dashboardUrl}`);
|
|
191090
191091
|
return lines.join(`
|
|
@@ -195871,7 +195872,7 @@ async function runHarnessCommand(context) {
|
|
|
195871
195872
|
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.");
|
|
195872
195873
|
}
|
|
195873
195874
|
if (context.flags["github-actions"] === "true") {
|
|
195874
|
-
const { runGithubActionsAnalyze } = await import("./harness-github-actions-
|
|
195875
|
+
const { runGithubActionsAnalyze } = await import("./harness-github-actions-6v4wydb8.js");
|
|
195875
195876
|
const result = await runGithubActionsAnalyze(rootDir, {
|
|
195876
195877
|
writeReport: (report2) => {
|
|
195877
195878
|
const normalized = normalizeHarnessReport(report2);
|