@moda-ai/cli 1.33.0 → 1.34.1
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 +38 -1
- package/dist/{cli-drabjmaj.js → cli-0h32yvwq.js} +3 -3
- package/dist/{cli-scjxgaba.js → cli-4ycvzfdg.js} +2 -2
- package/dist/{cli-0yv5y2p3.js → cli-8q7jffnj.js} +500 -193
- package/dist/{cli-brwrysxz.js → cli-cagbc7wz.js} +260 -112
- package/dist/{cli-yz99t7n8.js → cli-eggpzt87.js} +1 -1
- package/dist/cli.js +6 -6
- package/dist/{harness-5s22pv38.js → harness-1xj4f0qp.js} +2 -2
- package/dist/{harness-github-actions-zrsd11wv.js → harness-github-actions-xk7n788g.js} +2 -2
- package/dist/{index-3j1xnhxs.js → index-h6gg66n5.js} +5 -5
- package/dist/prompt-source-mcp.js +109 -96
- package/dist/{provision-d242y9qd.js → provision-c5sx3s32.js} +3 -3
- package/package.json +1 -1
- package/skills/integration/index.json +2 -2
package/README.md
CHANGED
|
@@ -166,7 +166,10 @@ A plain `--dry-run` uses deterministic discovery. Add `--analyst=claude`,
|
|
|
166
166
|
`--analyst=codex`, `--analyst=cursor`, or `--analyst=auto` to preview agent-assisted
|
|
167
167
|
discovery without saving the manifest, lockfile, or registry versions. Agent
|
|
168
168
|
investigations have no fixed wall-clock timeout and consume the installed
|
|
169
|
-
agent's usage; interrupt the command to cancel.
|
|
169
|
+
agent's usage; interrupt the command to cancel. Sync prints scan and verification
|
|
170
|
+
progress to stderr, including periodic analyst heartbeats while waiting. JSON
|
|
171
|
+
results on stdout remain unchanged; `--quiet` suppresses progress and
|
|
172
|
+
`--agent --stream` delivers progress as structured events.
|
|
170
173
|
|
|
171
174
|
`--watch` starts with analysis and then watches mapped definitions; re-run sync
|
|
172
175
|
to discover new sources that do not affect an existing mapping. You can also
|
|
@@ -175,6 +178,40 @@ with `prompts init --from-harness=<report>`. Discovery reports partial coverage:
|
|
|
175
178
|
finding a prompt fragment does not prove that every composition or model call
|
|
176
179
|
has been covered.
|
|
177
180
|
|
|
181
|
+
Prompt discovery keeps semantic role separate from mechanical extraction kind.
|
|
182
|
+
Independent review can classify a source as an authored definition, builder,
|
|
183
|
+
prompt transport, runtime context, non-prompt, or uncertain even when the
|
|
184
|
+
resolver stored it as text, messages, template, or builder. Usage is tracked
|
|
185
|
+
separately as active, conditional, display-only, or unknown, with an endpoint
|
|
186
|
+
verification flag. Automatic code/configuration registration requires an authored
|
|
187
|
+
definition or builder with independently reviewed active or conditional model use
|
|
188
|
+
and a local consumer citation. Custom framework hooks can qualify without a
|
|
189
|
+
recognized SDK binding. Consumer relationships are semantic reviewer judgments,
|
|
190
|
+
not deterministic dataflow proofs; locally valid citations alone do not establish
|
|
191
|
+
model use. The separate `endpointVerified` flag reports SDK provenance. Display-only sources stay visible as related; sources
|
|
192
|
+
with unknown use remain pending. Helpers that forward prompt configuration or carry
|
|
193
|
+
runtime context are retained as related discovery candidates and diagnostics,
|
|
194
|
+
but are not synced as prompt sources. Builder provenance remains the source
|
|
195
|
+
mapping and dependency evidence, so discovery does not claim complete
|
|
196
|
+
whole-codebase classification.
|
|
197
|
+
|
|
198
|
+
The reviewer receives the complete parser-selected definition and can inspect
|
|
199
|
+
surrounding relationships. Its definition citations, source hash, and source
|
|
200
|
+
stability are checked locally. Malformed review JSON gets one format-only repair
|
|
201
|
+
attempt; a repair that changes an already stated role or decision stays pending.
|
|
202
|
+
|
|
203
|
+
Before uploading, sync checks statically resolvable JavaScript/TypeScript lookups
|
|
204
|
+
into the repository's `.moda/prompts.lock.json`. A missing key stops the upload
|
|
205
|
+
and reports its source location. Preserve a stable runtime key by assigning it
|
|
206
|
+
to the intended source mapping, or update the lookup to the selected mapping key.
|
|
207
|
+
Dynamic lookups and other languages are not exhaustively checked; attribution
|
|
208
|
+
coverage remains partial. A real sync with candidates but no eligible sources
|
|
209
|
+
exits nonzero after printing discovery diagnostics; dry runs remain previews.
|
|
210
|
+
|
|
211
|
+
Configured mappings remain authoritative. To clean up sources previously
|
|
212
|
+
registered in error, remove their entries from `.moda/prompts.yml` and sync with
|
|
213
|
+
`--allow-untrack`. This removes local tracking, not historical registry versions.
|
|
214
|
+
|
|
178
215
|
You can also configure `.moda/prompts.yml` directly:
|
|
179
216
|
|
|
180
217
|
```yaml
|
|
@@ -648,7 +648,7 @@ function validateConfig() {
|
|
|
648
648
|
}
|
|
649
649
|
}
|
|
650
650
|
|
|
651
|
-
//
|
|
651
|
+
// ../../../ModaObservability-prompt-sync/packages/harness-snapshot/src/policy.ts
|
|
652
652
|
var MAX_SCANNED_FILE_BYTES = 512 * 1024;
|
|
653
653
|
var DEFAULT_MAX_INVENTORY_FILES = 12000;
|
|
654
654
|
var DEFAULT_MAX_INVENTORY_TEXT_BYTES = 48 * 1024 * 1024;
|
|
@@ -790,7 +790,7 @@ function isSecretishPath(path) {
|
|
|
790
790
|
return name === ".env" || name.startsWith(".env.") || name.includes("secret") || name.includes("private-key") || name.endsWith(".pem");
|
|
791
791
|
}
|
|
792
792
|
|
|
793
|
-
//
|
|
793
|
+
// ../../../ModaObservability-prompt-sync/packages/harness-snapshot/src/redact.ts
|
|
794
794
|
var REDACTED = "[REDACTED]";
|
|
795
795
|
var MAX_DEPTH = 256;
|
|
796
796
|
var SECRET_KEYS = new Set([
|
|
@@ -887,7 +887,7 @@ function redactSnapshotText(text) {
|
|
|
887
887
|
return { text: parts.join(""), redactionCount };
|
|
888
888
|
}
|
|
889
889
|
|
|
890
|
-
//
|
|
890
|
+
// ../../../ModaObservability-prompt-sync/packages/harness-snapshot/src/pack.ts
|
|
891
891
|
function utf8ByteLength(value) {
|
|
892
892
|
let bytes = 0;
|
|
893
893
|
for (let index = 0;index < value.length; index += 1) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
authFetch,
|
|
3
3
|
getCachedLoginContext
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-eggpzt87.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-0h32yvwq.js";
|
|
19
19
|
|
|
20
20
|
// src/init/tenant.ts
|
|
21
21
|
import { randomUUID } from "node:crypto";
|