@moda-ai/cli 1.55.5 → 1.55.7

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
@@ -349,6 +349,24 @@ switches agents when the model hands off. The format is in the bundled
349
349
  `moda-cli` skill. The analyzer's citation graph (the dashboard Harness map)
350
350
  still comes from `moda harness analyze`, the GitHub App, or an approved report.
351
351
 
352
+ ## Register a Replay Environment harness
353
+
354
+ `moda harness register` bundles the git repository a harness lives in for
355
+ Replay Environments, prints what is included and excluded (secrets, env var
356
+ values, and installs never leave the machine), and uploads it.
357
+
358
+ ```bash
359
+ moda harness register --dry-run # collect and report; uploads nothing
360
+ moda harness register support-agent \
361
+ --model-base-url-env=OPENAI_BASE_URL --entry -- node dist/server.js
362
+ moda harness registration list
363
+ moda harness registration status <id>
364
+ ```
365
+
366
+ The collection policy, flags, statuses, and checklist are documented in
367
+ [Register a harness for Replay Environments](https://docs.moda.dev/harness/registration)
368
+ (`docs/harness/registration.mdx`).
369
+
352
370
  ## Anchors and message windows
353
371
 
354
372
  Rows returned by `moda frustrations` and `moda tool-failure-detail` carry
@@ -21,7 +21,7 @@ import {
21
21
  safePromptEvidencePath,
22
22
  scanHarness,
23
23
  setPlatformTenantOverride
24
- } from "./cli-tzqez7mw.js";
24
+ } from "./cli-y4tb9611.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-zbpetb7v.js";
37
+ } from "./cli-tw8jj190.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-xtj2m4hs.js";
57
+ } from "./cli-mx9r1689.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-sqkgk49d.js");
6755
+ const { analyzeHarnessPrompts } = await import("./harness-8j5v4wbg.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-sqkgk49d.js");
7085
+ const { analyzeHarnessPrompts } = await import("./harness-8j5v4wbg.js");
7086
7086
  const result = await analyzeHarnessPrompts({
7087
7087
  rootDir: root,
7088
7088
  existing: manifest.sources,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  authFetch,
3
3
  getCachedLoginContext
4
- } from "./cli-zbpetb7v.js";
4
+ } from "./cli-tw8jj190.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-xtj2m4hs.js";
19
+ } from "./cli-mx9r1689.js";
20
20
 
21
21
  // src/init/tenant.ts
22
22
  import { randomUUID } from "node:crypto";
@@ -1547,7 +1547,7 @@ function formatValidationMessage(error) {
1547
1547
  const message = typeof record.message === "string" ? record.message : "is invalid";
1548
1548
  return `${path}: ${message}`;
1549
1549
  });
1550
- return `Validation error — ${parts.join("; ")}`;
1550
+ return `Validation error — ${[...new Set(parts)].join("; ")}`;
1551
1551
  }
1552
1552
  function errorToAgentError(error) {
1553
1553
  if (error instanceof CliInputRequiredError) {
@@ -8,7 +8,7 @@ import {
8
8
  saveProfileConfig,
9
9
  secretFilePathFromRef,
10
10
  writeSecretJsonFile
11
- } from "./cli-xtj2m4hs.js";
11
+ } from "./cli-mx9r1689.js";
12
12
  import {
13
13
  __require
14
14
  } from "./cli-0v6na3yp.js";