@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # moda-cli
2
2
 
3
- CLI for [Moda](https://moda.dev) -- AI agent analytics and observability.
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, 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, 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 };
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 };
@@ -8,7 +8,7 @@ import {
8
8
  saveProfileConfig,
9
9
  secretFilePathFromRef,
10
10
  writeSecretJsonFile
11
- } from "./cli-mx9r1689.js";
11
+ } from "./cli-0qnghzg4.js";
12
12
  import {
13
13
  __require
14
14
  } from "./cli-0v6na3yp.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  authFetch,
3
3
  getCachedLoginContext
4
- } from "./cli-tw8jj190.js";
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-mx9r1689.js";
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-j125g80g.js";
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-tw8jj190.js";
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-mx9r1689.js";
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-kpskdj9x.js");
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-kpskdj9x.js");
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, statSync as statSync2 } from "node:fs";
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: checkStatus(report.checks, "shadow_spark_workspace_health"),
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 hooks install --agent=all"
9105
+ nextCommand: hasData ? undefined : "moda init"
9106
9106
  };
9107
9107
  }
9108
9108
  function numberAt(value, path) {