@moda-ai/cli 1.55.8 → 1.55.10
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/README.md +1 -1
- package/dist/{cli-mx9r1689.js → cli-0qnghzg4.js} +1 -1
- package/dist/{cli-tw8jj190.js → cli-4f0p8erk.js} +1 -1
- package/dist/{cli-fhfdnvh4.js → cli-7s48d6ty.js} +2 -2
- package/dist/{cli-a0adscdx.js → cli-d3c95kks.js} +8 -8
- package/dist/{cli-j125g80g.js → cli-v27q5dvh.js} +785 -25
- package/dist/cli.js +45 -246
- package/dist/{harness-kpskdj9x.js → harness-0tnqw849.js} +2 -2
- package/dist/{harness-github-actions-t4m8q3wn.js → harness-github-actions-wpkr7jjr.js} +2 -2
- package/dist/{index-zdbe66yn.js → index-jqexf7kn.js} +13 -22
- package/dist/prompt-source-mcp.js +3 -3
- package/dist/{provision-parsn3xg.js → provision-5pkn25hh.js} +3 -3
- package/package.json +7 -7
- package/skills/integration/index.json +2 -2
- package/skills/moda-cli/SKILL.md +4 -4
- package/hooks/moda-snapshot.sh +0 -41
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# moda-cli
|
|
2
2
|
|
|
3
|
-
CLI for [Moda](https://moda.dev)
|
|
3
|
+
CLI for [Moda](https://moda.dev): production monitoring and evals for AI agents.
|
|
4
4
|
|
|
5
5
|
Query your trace analytics from the terminal. A trace is the full record of one agent run: every message, tool call, and step that shares one `conversation_id` (the trace ID).
|
|
6
6
|
|
|
@@ -1935,4 +1935,4 @@ function createCommandContext(input, options = {}) {
|
|
|
1935
1935
|
};
|
|
1936
1936
|
}
|
|
1937
1937
|
|
|
1938
|
-
export { PROD_BASE_URL, DEFAULT_INGEST_URL, getModaPaths, getModaDir, isLoopbackBaseUrl,
|
|
1938
|
+
export { PROD_BASE_URL, DEFAULT_INGEST_URL, getModaPaths, getModaDir, isLoopbackBaseUrl, 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, recordApiRequest, getApiRequestCount, resetApiRequestCount, 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, agentMaxOutputBytes, parseBooleanFlagValue, stringOption, createCommandContext };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
authFetch,
|
|
3
3
|
getCachedLoginContext
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-4f0p8erk.js";
|
|
5
5
|
import {
|
|
6
6
|
CliAccessError,
|
|
7
7
|
CliInputError,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
resolveTenantIdFromActiveProfile,
|
|
17
17
|
saveCliConfig,
|
|
18
18
|
writeSecretJsonFile
|
|
19
|
-
} from "./cli-
|
|
19
|
+
} from "./cli-0qnghzg4.js";
|
|
20
20
|
|
|
21
21
|
// src/init/tenant.ts
|
|
22
22
|
import { randomUUID } from "node:crypto";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
safePromptEvidencePath,
|
|
22
22
|
scanHarness,
|
|
23
23
|
setPlatformTenantOverride
|
|
24
|
-
} from "./cli-
|
|
24
|
+
} from "./cli-v27q5dvh.js";
|
|
25
25
|
import {
|
|
26
26
|
SKILL_SOURCE_HARNESS,
|
|
27
27
|
SKILL_SOURCE_INTEGRATION_BUNDLED,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
isAuthSessionValid,
|
|
36
36
|
loadAuthSession
|
|
37
|
-
} from "./cli-
|
|
37
|
+
} from "./cli-4f0p8erk.js";
|
|
38
38
|
import {
|
|
39
39
|
CliInputError,
|
|
40
40
|
EXIT_ERROR,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
resolveTenantId,
|
|
55
55
|
secretFilePathFromRef,
|
|
56
56
|
validateConfig
|
|
57
|
-
} from "./cli-
|
|
57
|
+
} from "./cli-0qnghzg4.js";
|
|
58
58
|
import {
|
|
59
59
|
__commonJS,
|
|
60
60
|
__require,
|
|
@@ -6752,7 +6752,7 @@ async function runPromptSyncExclusive(flags, profileOptions, options) {
|
|
|
6752
6752
|
const analyzedDefinitions = new Map;
|
|
6753
6753
|
if (flags["no-analyze"] !== "true") {
|
|
6754
6754
|
options.onProgress?.("Analyzing prompt sources before sync.");
|
|
6755
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
6755
|
+
const { analyzeHarnessPrompts } = await import("./harness-0tnqw849.js");
|
|
6756
6756
|
const result = await analyzeHarnessPrompts({
|
|
6757
6757
|
rootDir: process.cwd(),
|
|
6758
6758
|
existing: established.flatMap((prompt) => prompt.sourceDefinition ? [prompt.sourceDefinition.source] : []),
|
|
@@ -7082,7 +7082,7 @@ async function migratePromptManifest(options = {}) {
|
|
|
7082
7082
|
let addedSources = [];
|
|
7083
7083
|
let pendingSources = [];
|
|
7084
7084
|
if (options.discover) {
|
|
7085
|
-
const { analyzeHarnessPrompts } = await import("./harness-
|
|
7085
|
+
const { analyzeHarnessPrompts } = await import("./harness-0tnqw849.js");
|
|
7086
7086
|
const result = await analyzeHarnessPrompts({
|
|
7087
7087
|
rootDir: root,
|
|
7088
7088
|
existing: manifest.sources,
|
|
@@ -8444,7 +8444,7 @@ async function runSkillRegistryCommand(sub, positionals, flags, context) {
|
|
|
8444
8444
|
|
|
8445
8445
|
// src/doctor.ts
|
|
8446
8446
|
import { createHash as createHash3 } from "node:crypto";
|
|
8447
|
-
import { existsSync as existsSync5, readFileSync as readFileSync4
|
|
8447
|
+
import { existsSync as existsSync5, readFileSync as readFileSync4 } from "node:fs";
|
|
8448
8448
|
import { join as join4 } from "node:path";
|
|
8449
8449
|
async function runDoctorCommand(context) {
|
|
8450
8450
|
const report = await buildDoctorReport(context, {
|
|
@@ -8483,7 +8483,7 @@ async function runStatusCommand(context) {
|
|
|
8483
8483
|
harness: checkStatus(report.checks, "harness_manifest_current"),
|
|
8484
8484
|
harnessSync: checkStatus(report.checks, "harness_sync_state_present"),
|
|
8485
8485
|
harnessReport: "skipped",
|
|
8486
|
-
shadowSpark:
|
|
8486
|
+
shadowSpark: "skipped",
|
|
8487
8487
|
prompts: checkStatus(report.checks, "prompts_discovered"),
|
|
8488
8488
|
skills: checkStatus(report.checks, "skills_discovered"),
|
|
8489
8489
|
topBrokenCheck: topBroken ? {
|
|
@@ -9102,7 +9102,7 @@ function recentDataFlowCheck(overview) {
|
|
|
9102
9102
|
{ label: "last_event_at", value: lastEventAt ?? "none" }
|
|
9103
9103
|
],
|
|
9104
9104
|
remediation: hasData ? undefined : "No recent Moda data was visible in the overview window.",
|
|
9105
|
-
nextCommand: hasData ? undefined : "moda
|
|
9105
|
+
nextCommand: hasData ? undefined : "moda init"
|
|
9106
9106
|
};
|
|
9107
9107
|
}
|
|
9108
9108
|
function numberAt(value, path) {
|