@moda-ai/cli 1.45.0 → 1.45.2
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-5tsqk3jt.js → cli-3xh2w7hb.js} +2 -2
- package/dist/{cli-8c60k2p4.js → cli-bvnw7585.js} +4 -1
- package/dist/{cli-rycpwqzm.js → cli-dy2aavbe.js} +1 -1
- package/dist/{cli-j2rdgd3p.js → cli-nnwegmzh.js} +4 -4
- package/dist/{cli-j2fapt3g.js → cli-phgzghwq.js} +2 -2
- package/dist/cli.js +24 -14
- package/dist/{harness-sqngqjrd.js → harness-9qpbj2qj.js} +2 -2
- package/dist/{harness-github-actions-pg0azf3h.js → harness-github-actions-ky4ym5n3.js} +2 -2
- package/dist/{index-nepr7cw7.js → index-bcn5chmf.js} +5 -5
- package/dist/prompt-source-mcp.js +2 -2
- package/dist/{provision-02wqtkvm.js → provision-mqw8s0jb.js} +3 -3
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
resolveTenantId,
|
|
26
26
|
shouldInventoryFile,
|
|
27
27
|
stringOption
|
|
28
|
-
} from "./cli-
|
|
28
|
+
} from "./cli-bvnw7585.js";
|
|
29
29
|
import {
|
|
30
30
|
__commonJS,
|
|
31
31
|
__require,
|
|
@@ -184813,7 +184813,7 @@ async function runHarnessCommand(context) {
|
|
|
184813
184813
|
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.");
|
|
184814
184814
|
}
|
|
184815
184815
|
if (context.flags["github-actions"] === "true") {
|
|
184816
|
-
const { runGithubActionsAnalyze } = await import("./harness-github-actions-
|
|
184816
|
+
const { runGithubActionsAnalyze } = await import("./harness-github-actions-ky4ym5n3.js");
|
|
184817
184817
|
const result = await runGithubActionsAnalyze(rootDir, {
|
|
184818
184818
|
writeReport: (report2) => {
|
|
184819
184819
|
const normalized = normalizeHarnessReport(report2);
|
|
@@ -1075,6 +1075,9 @@ function explicitModeFromFlags(flags) {
|
|
|
1075
1075
|
return "human";
|
|
1076
1076
|
return;
|
|
1077
1077
|
}
|
|
1078
|
+
function explicitOutputMode(flags, env = process.env) {
|
|
1079
|
+
return explicitModeFromFlags(flags) ?? outputModeFromEnv(env);
|
|
1080
|
+
}
|
|
1078
1081
|
function outputModeFromFlags(flags) {
|
|
1079
1082
|
return explicitModeFromFlags(flags) ?? "human";
|
|
1080
1083
|
}
|
|
@@ -1713,4 +1716,4 @@ function createCommandContext(input, options = {}) {
|
|
|
1713
1716
|
};
|
|
1714
1717
|
}
|
|
1715
1718
|
|
|
1716
|
-
export { PROD_BASE_URL, DEFAULT_INGEST_URL, getModaPaths, getModaDir, isLoopbackBaseUrl, assertValidProfileName, describeBaseUrlSource, loadProfileConfig, saveProfileConfig, getActiveProfile, setActiveProfile, upsertProfile, clearStoredApiKeyCredentials, secretFilePathFromRef, resolveSecretReference, resolveApiKeyFromActiveProfile, resolveTenantIdFromActiveProfile, ensureSecretFilePermissions, writeSecretJsonFile, CliInputError, CliAccessError, CliInputRequiredError, CliAuthError, CliCancellationError, isNetworkLikeError, isApiLikeError, VERSION, MODA_BASE_URL, loadCliConfig, saveCliConfig, resolveApiKey, embeddedTenantIdFromApiKey, resolveIngestUrl2 as resolveIngestUrl, resolveTenantId, resolveApiTenantId, resolveModaBaseUrl, validateConfig, MAX_SCANNED_FILE_BYTES, DEFAULT_MAX_INVENTORY_FILES, DEFAULT_MAX_INVENTORY_TEXT_BYTES, MAX_RECORDED_SKIPS, SKIPPED_DIRS, isSkippedDir, isSkippedPathPrefix, isEvalLikePath, shouldInventoryFile, isTextFile, isSecretishPath, SECRET_KEYS, redactDeep, redactString, packSnapshot, EXIT_OK, EXIT_ERROR, EXIT_DEGRADED, EXIT_AUTH_REQUIRED, EXIT_INPUT_REQUIRED, EXIT_CANCELLED, AGENT_ERROR_CODES, wasOutputCancelled, safeWriteStdout, safeWriteStderr, resolveOutputMode, createCliOutput, agentEnvelopeFits, stringOption, createCommandContext };
|
|
1719
|
+
export { PROD_BASE_URL, DEFAULT_INGEST_URL, getModaPaths, getModaDir, isLoopbackBaseUrl, assertValidProfileName, describeBaseUrlSource, loadProfileConfig, saveProfileConfig, getActiveProfile, setActiveProfile, upsertProfile, clearStoredApiKeyCredentials, secretFilePathFromRef, resolveSecretReference, resolveApiKeyFromActiveProfile, resolveTenantIdFromActiveProfile, ensureSecretFilePermissions, writeSecretJsonFile, CliInputError, CliAccessError, CliInputRequiredError, CliAuthError, CliCancellationError, isNetworkLikeError, isApiLikeError, VERSION, MODA_BASE_URL, loadCliConfig, saveCliConfig, resolveApiKey, embeddedTenantIdFromApiKey, resolveIngestUrl2 as resolveIngestUrl, resolveTenantId, resolveApiTenantId, resolveModaBaseUrl, validateConfig, MAX_SCANNED_FILE_BYTES, DEFAULT_MAX_INVENTORY_FILES, DEFAULT_MAX_INVENTORY_TEXT_BYTES, MAX_RECORDED_SKIPS, SKIPPED_DIRS, isSkippedDir, isSkippedPathPrefix, isEvalLikePath, shouldInventoryFile, isTextFile, isSecretishPath, SECRET_KEYS, redactDeep, redactString, packSnapshot, EXIT_OK, EXIT_ERROR, EXIT_DEGRADED, EXIT_AUTH_REQUIRED, EXIT_INPUT_REQUIRED, EXIT_CANCELLED, AGENT_ERROR_CODES, wasOutputCancelled, safeWriteStdout, safeWriteStderr, explicitOutputMode, resolveOutputMode, createCliOutput, agentEnvelopeFits, stringOption, createCommandContext };
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
resolvePromptSource,
|
|
14
14
|
safePromptEvidencePath,
|
|
15
15
|
scanHarness
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-3xh2w7hb.js";
|
|
17
17
|
import {
|
|
18
18
|
SKILL_SOURCE_HARNESS,
|
|
19
19
|
SKILL_SOURCE_INTEGRATION_BUNDLED,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
import {
|
|
27
27
|
isAuthSessionValid,
|
|
28
28
|
loadAuthSession
|
|
29
|
-
} from "./cli-
|
|
29
|
+
} from "./cli-dy2aavbe.js";
|
|
30
30
|
import {
|
|
31
31
|
CliInputError,
|
|
32
32
|
EXIT_ERROR,
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
resolveTenantId,
|
|
46
46
|
secretFilePathFromRef,
|
|
47
47
|
validateConfig
|
|
48
|
-
} from "./cli-
|
|
48
|
+
} from "./cli-bvnw7585.js";
|
|
49
49
|
import {
|
|
50
50
|
__commonJS,
|
|
51
51
|
__require,
|
|
@@ -6711,7 +6711,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
6711
6711
|
const analyzedDefinitions = new Map;
|
|
6712
6712
|
if (flags["no-analyze"] !== "true") {
|
|
6713
6713
|
options.onProgress?.("Analyzing prompt sources before sync.");
|
|
6714
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
6714
|
+
const { analyzeHarnessPrompts } = await import("./harness-9qpbj2qj.js");
|
|
6715
6715
|
const result = await analyzeHarnessPrompts({
|
|
6716
6716
|
rootDir: process.cwd(),
|
|
6717
6717
|
existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
authFetch,
|
|
3
3
|
getCachedLoginContext
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-dy2aavbe.js";
|
|
5
5
|
import {
|
|
6
6
|
CliAccessError,
|
|
7
7
|
CliInputError,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
resolveTenantIdFromActiveProfile,
|
|
16
16
|
saveCliConfig,
|
|
17
17
|
writeSecretJsonFile
|
|
18
|
-
} from "./cli-
|
|
18
|
+
} from "./cli-bvnw7585.js";
|
|
19
19
|
|
|
20
20
|
// src/init/tenant.ts
|
|
21
21
|
import { randomUUID } from "node:crypto";
|
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
runPromptsCommand,
|
|
9
9
|
runSkillsCommand,
|
|
10
10
|
runStatusCommand
|
|
11
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-nnwegmzh.js";
|
|
12
12
|
import {
|
|
13
13
|
ApiError,
|
|
14
14
|
HARNESS_REPORT_APPROVAL_PATH,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
terminalStyles,
|
|
38
38
|
unknownSignalsSubcommandError,
|
|
39
39
|
validateHarnessReport
|
|
40
|
-
} from "./cli-
|
|
40
|
+
} from "./cli-3xh2w7hb.js";
|
|
41
41
|
import"./cli-ssfq84k5.js";
|
|
42
42
|
import {
|
|
43
43
|
authFetch,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
loadAuthSession,
|
|
47
47
|
login,
|
|
48
48
|
revokeCliSessionToken
|
|
49
|
-
} from "./cli-
|
|
49
|
+
} from "./cli-dy2aavbe.js";
|
|
50
50
|
import {
|
|
51
51
|
AGENT_ERROR_CODES,
|
|
52
52
|
CliAccessError,
|
|
@@ -72,6 +72,7 @@ import {
|
|
|
72
72
|
describeBaseUrlSource,
|
|
73
73
|
embeddedTenantIdFromApiKey,
|
|
74
74
|
ensureSecretFilePermissions,
|
|
75
|
+
explicitOutputMode,
|
|
75
76
|
getActiveProfile,
|
|
76
77
|
getModaDir,
|
|
77
78
|
getModaPaths,
|
|
@@ -95,7 +96,7 @@ import {
|
|
|
95
96
|
validateConfig,
|
|
96
97
|
wasOutputCancelled,
|
|
97
98
|
writeSecretJsonFile
|
|
98
|
-
} from "./cli-
|
|
99
|
+
} from "./cli-bvnw7585.js";
|
|
99
100
|
import {
|
|
100
101
|
__require
|
|
101
102
|
} from "./cli-0v6na3yp.js";
|
|
@@ -2417,8 +2418,11 @@ agent and prompt handled each LLM call.
|
|
|
2417
2418
|
|
|
2418
2419
|
## Part 0: setup
|
|
2419
2420
|
|
|
2420
|
-
1. Run \`moda --
|
|
2421
|
-
\`
|
|
2421
|
+
1. Run \`moda registry --help\` and confirm it lists all of \`push\`,
|
|
2422
|
+
\`status\`, \`coverage\`, \`log\`, \`show\`, and \`prompt\` (the full set
|
|
2423
|
+
first shipped in 1.45.0). If any is missing or the command fails, run
|
|
2424
|
+
\`npm install -g @moda-ai/cli@latest\` and check again. If they're still
|
|
2425
|
+
missing, stop and tell me which ones; nothing below works without them.
|
|
2422
2426
|
2. Auth: \`MODA_API_KEY\` must be set, or run \`moda auth login --api-key=<key>\`.
|
|
2423
2427
|
Ask me for the key if neither is available. Check with \`moda doctor\`.
|
|
2424
2428
|
3. Run \`moda registry template\` to see a complete example manifest, and
|
|
@@ -2725,13 +2729,15 @@ async function runRegistryCommand(context) {
|
|
|
2725
2729
|
}
|
|
2726
2730
|
return readRegistry(context, `/harness-registry/coverage${days ? `?days=${days}` : ""}`);
|
|
2727
2731
|
}
|
|
2728
|
-
case "prompt":
|
|
2729
|
-
|
|
2732
|
+
case "prompt": {
|
|
2733
|
+
const mode = explicitOutputMode(context.flags, context.env);
|
|
2734
|
+
if (mode && mode !== "human")
|
|
2735
|
+
context.output.writeData({ prompt: REGISTRY_AGENT_BRIEF });
|
|
2736
|
+
else if (!context.quiet)
|
|
2730
2737
|
process.stdout.write(`${REGISTRY_AGENT_BRIEF}
|
|
2731
2738
|
`);
|
|
2732
|
-
else
|
|
2733
|
-
context.output.writeData({ prompt: REGISTRY_AGENT_BRIEF });
|
|
2734
2739
|
return { exitCode: 0 };
|
|
2740
|
+
}
|
|
2735
2741
|
default:
|
|
2736
2742
|
throw new CliInputError(`Unknown registry command '${subcommand}'.`, "Usage: moda registry template|validate|push|status|coverage|log|show|prompt [--file=.moda/registry.json] [--dry-run] [--live]");
|
|
2737
2743
|
}
|
|
@@ -8354,7 +8360,8 @@ async function runTailCommand(params, context) {
|
|
|
8354
8360
|
message_count: messageCount,
|
|
8355
8361
|
environment: conversation.environment ?? null,
|
|
8356
8362
|
cluster_name: conversation.cluster_name ?? null,
|
|
8357
|
-
summary: conversation.summary ?? null
|
|
8363
|
+
summary: conversation.summary ?? null,
|
|
8364
|
+
latest_task: conversation.latest_task ?? null
|
|
8358
8365
|
});
|
|
8359
8366
|
}
|
|
8360
8367
|
};
|
|
@@ -8661,6 +8668,8 @@ async function searchFallbackToTraces(params) {
|
|
|
8661
8668
|
match_grain: "trace",
|
|
8662
8669
|
conversation_id: row.conversation_id,
|
|
8663
8670
|
summary: row.summary ?? null,
|
|
8671
|
+
matched_task: row.matched_task ?? null,
|
|
8672
|
+
latest_task: row.latest_task ?? null,
|
|
8664
8673
|
message_count: row.message_count ?? null,
|
|
8665
8674
|
first_timestamp: row.first_timestamp ?? null,
|
|
8666
8675
|
last_timestamp: row.last_timestamp ?? null
|
|
@@ -10015,7 +10024,7 @@ var commandRegistry = createCommandRegistry([
|
|
|
10015
10024
|
resetApiRequestCountBeforeRun: true,
|
|
10016
10025
|
telemetry: "result",
|
|
10017
10026
|
handler: async (context) => {
|
|
10018
|
-
const { runInit } = await import("./index-
|
|
10027
|
+
const { runInit } = await import("./index-bcn5chmf.js");
|
|
10019
10028
|
if (context.outputMode === "agent-stream") {
|
|
10020
10029
|
context.output.writeEvent({
|
|
10021
10030
|
event: "started",
|
|
@@ -10056,7 +10065,7 @@ var commandRegistry = createCommandRegistry([
|
|
|
10056
10065
|
resetApiRequestCountBeforeRun: true,
|
|
10057
10066
|
telemetry: "result-and-error",
|
|
10058
10067
|
handler: async (context) => {
|
|
10059
|
-
const { runProvision } = await import("./provision-
|
|
10068
|
+
const { runProvision } = await import("./provision-mqw8s0jb.js");
|
|
10060
10069
|
return runProvision(context, {
|
|
10061
10070
|
resumeCommand: buildResumeCommand("provision", context.rawFlags)
|
|
10062
10071
|
});
|
|
@@ -10421,7 +10430,8 @@ var commandRegistry = createCommandRegistry([
|
|
|
10421
10430
|
{
|
|
10422
10431
|
name: "prompt",
|
|
10423
10432
|
description: "Print the brief to hand your coding agent so it inventories and registers your harness",
|
|
10424
|
-
usage: "moda registry prompt",
|
|
10433
|
+
usage: "moda registry prompt [--json | --agent]",
|
|
10434
|
+
flags: [{ name: "--json | --agent", description: "Return the brief inside JSON / the agent envelope. Without them it prints raw text, even when piped." }],
|
|
10425
10435
|
examples: ["moda registry prompt | pbcopy", 'claude "$(moda registry prompt)"']
|
|
10426
10436
|
}
|
|
10427
10437
|
],
|
|
@@ -42,8 +42,8 @@ import {
|
|
|
42
42
|
writeHarnessAnalyzeResult,
|
|
43
43
|
writeHarnessArtifacts,
|
|
44
44
|
writeHumanProgress
|
|
45
|
-
} from "./cli-
|
|
46
|
-
import"./cli-
|
|
45
|
+
} from "./cli-3xh2w7hb.js";
|
|
46
|
+
import"./cli-bvnw7585.js";
|
|
47
47
|
import"./cli-0v6na3yp.js";
|
|
48
48
|
export {
|
|
49
49
|
writeHumanProgress,
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
initPrompts,
|
|
4
4
|
runPromptSync,
|
|
5
5
|
runSkillSync
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-nnwegmzh.js";
|
|
7
7
|
import {
|
|
8
8
|
codingAgentDisplayName,
|
|
9
9
|
describeCodingAgentEvent,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
runHarnessCommand,
|
|
23
23
|
startRemoteAnalyze,
|
|
24
24
|
stripAnsi
|
|
25
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-3xh2w7hb.js";
|
|
26
26
|
import {
|
|
27
27
|
bundledSkillsDir,
|
|
28
28
|
installIntegrationSkill,
|
|
@@ -34,14 +34,14 @@ import {
|
|
|
34
34
|
} from "./cli-ssfq84k5.js";
|
|
35
35
|
import {
|
|
36
36
|
selectTenantAndCreateKey
|
|
37
|
-
} from "./cli-
|
|
37
|
+
} from "./cli-phgzghwq.js";
|
|
38
38
|
import {
|
|
39
39
|
ConnectCodeError,
|
|
40
40
|
connectWithCode,
|
|
41
41
|
loadAuthSession,
|
|
42
42
|
loadToken,
|
|
43
43
|
login
|
|
44
|
-
} from "./cli-
|
|
44
|
+
} from "./cli-dy2aavbe.js";
|
|
45
45
|
import {
|
|
46
46
|
CliAuthError,
|
|
47
47
|
CliInputError,
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
createCommandContext,
|
|
50
50
|
resolveIngestUrl,
|
|
51
51
|
resolveModaBaseUrl
|
|
52
|
-
} from "./cli-
|
|
52
|
+
} from "./cli-bvnw7585.js";
|
|
53
53
|
import"./cli-0v6na3yp.js";
|
|
54
54
|
|
|
55
55
|
// src/init/index.ts
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectTenantAndCreateKey
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-phgzghwq.js";
|
|
4
4
|
import {
|
|
5
5
|
loadAuthSession
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-dy2aavbe.js";
|
|
7
7
|
import {
|
|
8
8
|
CliAuthError,
|
|
9
9
|
resolveIngestUrl,
|
|
10
10
|
resolveModaBaseUrl,
|
|
11
11
|
stringOption
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-bvnw7585.js";
|
|
13
13
|
import"./cli-0v6na3yp.js";
|
|
14
14
|
|
|
15
15
|
// src/provision.ts
|
package/package.json
CHANGED