@ai-dossier/cli 0.46.0 → 0.47.0
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 +32 -1
- package/dist/cache-resolver.d.ts +14 -0
- package/dist/cache-resolver.d.ts.map +1 -1
- package/dist/cache-resolver.js +27 -0
- package/dist/cache-resolver.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/evidence.d.ts +8 -0
- package/dist/commands/evidence.d.ts.map +1 -0
- package/dist/commands/evidence.js +290 -0
- package/dist/commands/evidence.js.map +1 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +19 -0
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +50 -1
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +17 -1
- package/dist/commands/pull.js.map +1 -1
- package/dist/helpers.d.ts +6 -0
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +12 -0
- package/dist/helpers.js.map +1 -1
- package/dist/multi-registry.d.ts +17 -2
- package/dist/multi-registry.d.ts.map +1 -1
- package/dist/multi-registry.js +30 -0
- package/dist/multi-registry.js.map +1 -1
- package/dist/registry-client.d.ts +22 -2
- package/dist/registry-client.d.ts.map +1 -1
- package/dist/registry-client.js +50 -18
- package/dist/registry-client.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -247,7 +247,7 @@ ai-dossier pull org/dossier-a org/dossier-b
|
|
|
247
247
|
ai-dossier pull org/my-dossier --force
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
-
Pulled dossiers are cached locally with checksum verification. Subsequent `pull` calls skip the download if the version is already cached (use `--force` to override). See [Cache and Version Resolution](#cache-and-version-resolution) for how versionless names are resolved and how to control freshness.
|
|
250
|
+
Pulled dossiers are cached locally with checksum verification. Subsequent `pull` calls skip the download if the version is already cached (use `--force` to override). See [Cache and Version Resolution](#cache-and-version-resolution) for how versionless names are resolved and how to control freshness. When the dossier carries an evidence sidecar, `pull` also fetches it and caches it alongside the content (`+evidence` in the success line) — a missing sidecar is not an error.
|
|
251
251
|
|
|
252
252
|
### Export
|
|
253
253
|
|
|
@@ -264,6 +264,36 @@ ai-dossier export org/my-dossier -o ./local-copy.ds.md
|
|
|
264
264
|
ai-dossier export org/my-dossier --stdout
|
|
265
265
|
```
|
|
266
266
|
|
|
267
|
+
When the dossier carries an evidence sidecar, `export` also writes it next to the output file (`<output minus .ds.md>.evidence.json`); `--stdout` never fetches it.
|
|
268
|
+
|
|
269
|
+
### Evidence
|
|
270
|
+
|
|
271
|
+
An evidence sidecar (`<name>.evidence.json`) records, per rule or section of a dossier, the rationale for why it reads the way it does and pointers to the agent session(s) where that decision was made. It travels alongside a dossier through `publish`/`pull`/`export` but is never loaded by `ai-dossier run` — evidence is for a human or a future author reviewing the dossier, not for an agent executing it.
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Create a fresh sidecar for a dossier
|
|
275
|
+
ai-dossier evidence init my-dossier.ds.md
|
|
276
|
+
|
|
277
|
+
# Append an entry (session id from AI_DOSSIER_SESSION_ID if --session is omitted)
|
|
278
|
+
ai-dossier evidence add my-dossier.ds.md \
|
|
279
|
+
--anchor "Guiding Principle" --rationale "Autonomous runs must never block on a reply" \
|
|
280
|
+
--session abc-123
|
|
281
|
+
|
|
282
|
+
# Refresh version/checksum after re-signing the dossier
|
|
283
|
+
ai-dossier evidence sync my-dossier.ds.md
|
|
284
|
+
|
|
285
|
+
# Attach the sidecar on publish (auto-attaches a sibling .evidence.json by default)
|
|
286
|
+
ai-dossier publish my-dossier.ds.md --yes
|
|
287
|
+
|
|
288
|
+
# Fetch and read a published dossier's evidence
|
|
289
|
+
ai-dossier evidence show org/my-dossier
|
|
290
|
+
|
|
291
|
+
# Validate a sidecar file against the schema
|
|
292
|
+
ai-dossier evidence validate my-dossier.evidence.json
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Override the sidecar path with `--evidence <path>`, or skip attaching one (even if a sibling exists) with `--no-evidence`.
|
|
296
|
+
|
|
267
297
|
---
|
|
268
298
|
|
|
269
299
|
## Skills
|
|
@@ -2009,6 +2039,7 @@ Exit 0 (safe) or 1 (unsafe)
|
|
|
2009
2039
|
- ✅ `install-skill` / `skill-export` (Claude Code skill bridge)
|
|
2010
2040
|
- ✅ Execution tracing with verified checksum + signer metadata
|
|
2011
2041
|
- ✅ TTL-based version resolution for the content cache
|
|
2042
|
+
- ✅ Evidence sidecar (`.evidence.json`) — `evidence init/add/sync/validate/show`, wired through publish/pull/export
|
|
2012
2043
|
|
|
2013
2044
|
### v1.0.0 (Stable)
|
|
2014
2045
|
- ⏳ Stable, frozen CLI surface and exit-code contract
|
package/dist/cache-resolver.d.ts
CHANGED
|
@@ -63,6 +63,10 @@ export declare function clearResolutions(): void;
|
|
|
63
63
|
* run/create/install-skill/pull so layout changes happen in one place.
|
|
64
64
|
*/
|
|
65
65
|
export declare function cachedContentPath(dossierName: string, version: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Path to a cached dossier's evidence sidecar (without checking existence).
|
|
68
|
+
*/
|
|
69
|
+
export declare function cachedEvidencePath(dossierName: string, version: string): string;
|
|
66
70
|
/**
|
|
67
71
|
* Return cached dossier content as a string, or null if not cached.
|
|
68
72
|
* Single source of truth for the `existsSync(contentFile) ? read : miss`
|
|
@@ -83,6 +87,16 @@ export declare function readCachedContent(dossierName: string, version: string):
|
|
|
83
87
|
export declare function writeCachedContent(dossierName: string, version: string, content: string, sourceRegistry: string | undefined, opts?: {
|
|
84
88
|
throwOnError?: boolean;
|
|
85
89
|
}): void;
|
|
90
|
+
/**
|
|
91
|
+
* Write a dossier's evidence sidecar to the cache, mirroring {@link writeCachedContent}'s
|
|
92
|
+
* error handling. No registry-tracking (`.meta.json`) side effects — evidence is a sidecar
|
|
93
|
+
* to the content cache, not a cache entry of its own.
|
|
94
|
+
*
|
|
95
|
+
* Best-effort by default (errors swallowed). Pass `throwOnError: true` to surface failures.
|
|
96
|
+
*/
|
|
97
|
+
export declare function writeCachedEvidence(dossierName: string, version: string, evidence: string, opts?: {
|
|
98
|
+
throwOnError?: boolean;
|
|
99
|
+
}): void;
|
|
86
100
|
/**
|
|
87
101
|
* Parse a `--max-age <seconds>` CLI option into a number, or return undefined
|
|
88
102
|
* when unset. Throws when the value is provided but not a valid number.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-resolver.d.ts","sourceRoot":"","sources":["../src/cache-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,SAAS,QAA+C,CAAC;AACtE,eAAO,MAAM,cAAc,QAAsC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgCD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA4BnF;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CActE;AASD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,eAAe,CAAC,CAwF1B;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC,CA2BnF;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,IAAI,CAsBN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO7E"}
|
|
1
|
+
{"version":3,"file":"cache-resolver.d.ts","sourceRoot":"","sources":["../src/cache-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,SAAS,QAA+C,CAAC;AACtE,eAAO,MAAM,cAAc,QAAsC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgCD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA4BnF;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CActE;AASD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,eAAe,CAAC,CAwF1B;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC,CA2BnF;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,IAAI,CAsBN;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,IAAI,CASN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO7E"}
|
package/dist/cache-resolver.js
CHANGED
|
@@ -24,8 +24,10 @@ exports.resolveCachedVersion = resolveCachedVersion;
|
|
|
24
24
|
exports.listResolutions = listResolutions;
|
|
25
25
|
exports.clearResolutions = clearResolutions;
|
|
26
26
|
exports.cachedContentPath = cachedContentPath;
|
|
27
|
+
exports.cachedEvidencePath = cachedEvidencePath;
|
|
27
28
|
exports.readCachedContent = readCachedContent;
|
|
28
29
|
exports.writeCachedContent = writeCachedContent;
|
|
30
|
+
exports.writeCachedEvidence = writeCachedEvidence;
|
|
29
31
|
exports.parseMaxAgeOption = parseMaxAgeOption;
|
|
30
32
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
31
33
|
const node_os_1 = __importDefault(require("node:os"));
|
|
@@ -247,6 +249,12 @@ function clearResolutions() {
|
|
|
247
249
|
function cachedContentPath(dossierName, version) {
|
|
248
250
|
return node_path_1.default.join((0, helpers_1.safeDossierPath)(exports.CACHE_DIR, dossierName), `${version}.ds.md`);
|
|
249
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Path to a cached dossier's evidence sidecar (without checking existence).
|
|
254
|
+
*/
|
|
255
|
+
function cachedEvidencePath(dossierName, version) {
|
|
256
|
+
return node_path_1.default.join((0, helpers_1.safeDossierPath)(exports.CACHE_DIR, dossierName), `${version}.evidence.json`);
|
|
257
|
+
}
|
|
250
258
|
/**
|
|
251
259
|
* Return cached dossier content as a string, or null if not cached.
|
|
252
260
|
* Single source of truth for the `existsSync(contentFile) ? read : miss`
|
|
@@ -291,6 +299,25 @@ function writeCachedContent(dossierName, version, content, sourceRegistry, opts
|
|
|
291
299
|
// best-effort: swallow (matches prior create.ts / install-skill.ts behaviour)
|
|
292
300
|
}
|
|
293
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Write a dossier's evidence sidecar to the cache, mirroring {@link writeCachedContent}'s
|
|
304
|
+
* error handling. No registry-tracking (`.meta.json`) side effects — evidence is a sidecar
|
|
305
|
+
* to the content cache, not a cache entry of its own.
|
|
306
|
+
*
|
|
307
|
+
* Best-effort by default (errors swallowed). Pass `throwOnError: true` to surface failures.
|
|
308
|
+
*/
|
|
309
|
+
function writeCachedEvidence(dossierName, version, evidence, opts = {}) {
|
|
310
|
+
const dir = (0, helpers_1.safeDossierPath)(exports.CACHE_DIR, dossierName);
|
|
311
|
+
try {
|
|
312
|
+
node_fs_1.default.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
313
|
+
node_fs_1.default.writeFileSync(node_path_1.default.join(dir, `${version}.evidence.json`), evidence, 'utf8');
|
|
314
|
+
}
|
|
315
|
+
catch (err) {
|
|
316
|
+
if (opts.throwOnError)
|
|
317
|
+
throw err;
|
|
318
|
+
// best-effort: swallow (matches writeCachedContent's default behaviour)
|
|
319
|
+
}
|
|
320
|
+
}
|
|
294
321
|
/**
|
|
295
322
|
* Parse a `--max-age <seconds>` CLI option into a number, or return undefined
|
|
296
323
|
* when unset. Throws when the value is provided but not a valid number.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-resolver.js","sourceRoot":"","sources":["../src/cache-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;AAoEH,0CA4BC;AAGD,kDAcC;AAqBD,oDA2FC;AAGD,0CA2BC;AAGD,4CAIC;AAOD,8CAEC;AAOD,8CAQC;AAaD,gDA4BC;AAOD,8CAOC;
|
|
1
|
+
{"version":3,"file":"cache-resolver.js","sourceRoot":"","sources":["../src/cache-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -15,6 +15,7 @@ const commands_1 = require("./commands/commands");
|
|
|
15
15
|
const config_cmd_1 = require("./commands/config-cmd");
|
|
16
16
|
const create_1 = require("./commands/create");
|
|
17
17
|
const doctor_1 = require("./commands/doctor");
|
|
18
|
+
const evidence_1 = require("./commands/evidence");
|
|
18
19
|
const export_1 = require("./commands/export");
|
|
19
20
|
const format_1 = require("./commands/format");
|
|
20
21
|
const from_file_1 = require("./commands/from-file");
|
|
@@ -82,6 +83,7 @@ Agent-friendly: Run \`ai-dossier --agent\` for machine-readable capabilities.`);
|
|
|
82
83
|
(0, pull_1.registerPullCommand)(commander_1.program);
|
|
83
84
|
(0, export_1.registerExportCommand)(commander_1.program);
|
|
84
85
|
(0, publish_1.registerPublishCommand)(commander_1.program);
|
|
86
|
+
(0, evidence_1.registerEvidenceCommand)(commander_1.program);
|
|
85
87
|
(0, remove_1.registerRemoveCommand)(commander_1.program);
|
|
86
88
|
// Skills
|
|
87
89
|
(0, install_skill_1.registerInstallSkillCommand)(commander_1.program);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ai-dossier evidence` — author, attach, fetch and display a dossier's `.evidence.json`
|
|
3
|
+
* sidecar (RFC-0001 authoring evidence, #733/#734/#735). Never loaded by `ai-dossier run`.
|
|
4
|
+
*/
|
|
5
|
+
import { type Command } from 'commander';
|
|
6
|
+
/** Registers the `evidence` command tree (show, init, add, sync, validate). */
|
|
7
|
+
export declare function registerEvidenceCommand(program: Command): void;
|
|
8
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/commands/evidence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AA8TjD,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAU9D"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `ai-dossier evidence` — author, attach, fetch and display a dossier's `.evidence.json`
|
|
4
|
+
* sidecar (RFC-0001 authoring evidence, #733/#734/#735). Never loaded by `ai-dossier run`.
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.registerEvidenceCommand = registerEvidenceCommand;
|
|
11
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
12
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
13
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
14
|
+
const core_1 = require("@ai-dossier/core");
|
|
15
|
+
const commander_1 = require("commander");
|
|
16
|
+
const credentials_1 = require("../credentials");
|
|
17
|
+
const helpers_1 = require("../helpers");
|
|
18
|
+
const multi_registry_1 = require("../multi-registry");
|
|
19
|
+
const registry_client_1 = require("../registry-client");
|
|
20
|
+
/** Providers `evidence add` accepts — mirrors the schema's `evidence[].provider` enum. */
|
|
21
|
+
const EVIDENCE_PROVIDERS = [
|
|
22
|
+
'claude-code',
|
|
23
|
+
'codex',
|
|
24
|
+
'opencode',
|
|
25
|
+
'gemini-cli',
|
|
26
|
+
'other',
|
|
27
|
+
];
|
|
28
|
+
/** Namespace resolution identical to `publish` — explicit flag, else credentials. */
|
|
29
|
+
function resolveNamespace(explicit) {
|
|
30
|
+
if (explicit)
|
|
31
|
+
return explicit;
|
|
32
|
+
const credentials = (0, credentials_1.loadCredentials)();
|
|
33
|
+
if (credentials) {
|
|
34
|
+
return credentials.orgs.length > 0 ? credentials.orgs[0] : credentials.username;
|
|
35
|
+
}
|
|
36
|
+
console.error('\n❌ --namespace required (not logged in)\n');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
/** Read + parse a dossier file, exiting on failure. */
|
|
40
|
+
function readDossier(file) {
|
|
41
|
+
if (!node_fs_1.default.existsSync(file)) {
|
|
42
|
+
console.error(`\n❌ File not found: ${file}\n`);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
return (0, core_1.parseDossierContent)(node_fs_1.default.readFileSync(file, 'utf8'));
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
console.error(`\n❌ ${err.message}\n`);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Build a fresh evidence record for a dossier file, per `init`'s rules. */
|
|
54
|
+
function buildFreshRecord(dossierFile, namespace) {
|
|
55
|
+
const { frontmatter } = readDossier(dossierFile);
|
|
56
|
+
if (!frontmatter.checksum?.hash) {
|
|
57
|
+
console.error("\n❌ Dossier has no checksum; run 'ai-dossier checksum <file> --update' or sign it first\n");
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
const ns = resolveNamespace(namespace);
|
|
61
|
+
const name = frontmatter.name || frontmatter.title || node_path_1.default.basename(dossierFile, '.ds.md');
|
|
62
|
+
const fullPath = `${ns}/${name}`;
|
|
63
|
+
return (0, core_1.createEvidenceRecord)({
|
|
64
|
+
dossier: fullPath,
|
|
65
|
+
version: frontmatter.version,
|
|
66
|
+
checksumHash: frontmatter.checksum.hash,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/** Refresh `record.version` and `record.checksum.hash` from the dossier's current frontmatter. */
|
|
70
|
+
function refreshFromFrontmatter(record, dossierFile) {
|
|
71
|
+
const { frontmatter } = readDossier(dossierFile);
|
|
72
|
+
if (!frontmatter.checksum?.hash) {
|
|
73
|
+
console.error("\n❌ Dossier has no checksum; run 'ai-dossier checksum <file> --update' or sign it first\n");
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
...record,
|
|
78
|
+
version: frontmatter.version,
|
|
79
|
+
checksum: { algorithm: 'sha256', hash: frontmatter.checksum.hash },
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/** Parse `--extra k=v` pairs into an object, exiting on a malformed entry. */
|
|
83
|
+
function parseExtra(pairs) {
|
|
84
|
+
if (!pairs || pairs.length === 0)
|
|
85
|
+
return undefined;
|
|
86
|
+
const extra = {};
|
|
87
|
+
for (const pair of pairs) {
|
|
88
|
+
const idx = pair.indexOf('=');
|
|
89
|
+
if (idx <= 0) {
|
|
90
|
+
console.error(`\n❌ Invalid --extra '${pair}' — expected k=v\n`);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
extra[pair.slice(0, idx)] = pair.slice(idx + 1);
|
|
94
|
+
}
|
|
95
|
+
return extra;
|
|
96
|
+
}
|
|
97
|
+
/** Read + parse an existing sidecar file, exiting with a clean message on a corrupt one. */
|
|
98
|
+
function loadSidecar(sidecarPath) {
|
|
99
|
+
try {
|
|
100
|
+
return (0, core_1.parseEvidence)(node_fs_1.default.readFileSync(sidecarPath, 'utf8'));
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
console.error(`\n❌ Evidence file is corrupt: ${sidecarPath}\n ${err.message}\n`);
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Write a sidecar record atomically — write to a per-process temp file, then rename. */
|
|
108
|
+
function writeSidecarAtomic(sidecarPath, record) {
|
|
109
|
+
const tmpPath = `${sidecarPath}.tmp.${process.pid}`;
|
|
110
|
+
node_fs_1.default.writeFileSync(tmpPath, `${JSON.stringify(record, null, 2)}\n`, 'utf8');
|
|
111
|
+
node_fs_1.default.renameSync(tmpPath, sidecarPath);
|
|
112
|
+
}
|
|
113
|
+
/** `evidence show` — fetch and render evidence from the registry. */
|
|
114
|
+
function registerShowSubcommand(cmd) {
|
|
115
|
+
cmd
|
|
116
|
+
.command('show')
|
|
117
|
+
.description("Show a dossier's evidence sidecar from the registry")
|
|
118
|
+
.argument('<name>', 'Dossier name (use name@version for a specific version)')
|
|
119
|
+
.option('--json', 'Output the raw evidence record as JSON')
|
|
120
|
+
.action(async (name, options) => {
|
|
121
|
+
const [dossierName, version] = (0, registry_client_1.parseNameVersion)(name);
|
|
122
|
+
const { result, errors } = await (0, multi_registry_1.multiRegistryGetEvidence)(dossierName, version || null);
|
|
123
|
+
if (!result) {
|
|
124
|
+
console.error(`❌ No evidence for ${name}`);
|
|
125
|
+
(0, helpers_1.printRegistryErrors)(errors);
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
let record;
|
|
129
|
+
try {
|
|
130
|
+
record = (0, core_1.parseEvidence)(result.evidence);
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
console.error(`\n❌ Stored evidence record is corrupt: ${err.message}\n`);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
if (options.json) {
|
|
137
|
+
console.log(JSON.stringify(record, null, 2));
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
console.log(`Evidence for ${record.dossier}@${record.version} (sha256:${record.checksum.hash})`);
|
|
141
|
+
for (const entry of record.entries) {
|
|
142
|
+
console.log(`• ${entry.anchor}`);
|
|
143
|
+
console.log(` ${entry.rationale}`);
|
|
144
|
+
for (const ref of entry.evidence) {
|
|
145
|
+
let line = ` refs: ${ref.provider}:${ref.session}`;
|
|
146
|
+
if (ref.event)
|
|
147
|
+
line += `#${ref.event}`;
|
|
148
|
+
if (ref.host)
|
|
149
|
+
line += ` @${ref.host}`;
|
|
150
|
+
if (ref.extra) {
|
|
151
|
+
for (const [key, value] of Object.entries(ref.extra)) {
|
|
152
|
+
line += ` ${key}=${value}`;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
console.log(line);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/** `evidence init` — create a fresh sidecar next to a dossier file. */
|
|
161
|
+
function registerInitSubcommand(cmd) {
|
|
162
|
+
cmd
|
|
163
|
+
.command('init')
|
|
164
|
+
.description('Create a fresh evidence sidecar for a dossier file')
|
|
165
|
+
.argument('<file>', 'Dossier file (.ds.md)')
|
|
166
|
+
.option('--namespace <namespace>', 'Override namespace (e.g., imboard-ai/skills)')
|
|
167
|
+
.option('-o, --output <path>', 'Output path (defaults to a sibling .evidence.json)')
|
|
168
|
+
.option('--force', 'Overwrite an existing sidecar')
|
|
169
|
+
.action((file, options) => {
|
|
170
|
+
const outputPath = options.output ? node_path_1.default.resolve(options.output) : (0, helpers_1.siblingEvidencePath)(file);
|
|
171
|
+
if (node_fs_1.default.existsSync(outputPath) && !options.force) {
|
|
172
|
+
console.error(`\n❌ Evidence file already exists: ${outputPath} (use --force to overwrite)\n`);
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
const record = buildFreshRecord(file, options.namespace);
|
|
176
|
+
writeSidecarAtomic(outputPath, record);
|
|
177
|
+
console.log(`✅ Evidence sidecar created: ${outputPath}`);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
/** `evidence add` — append an entry, creating the sidecar via `init` logic if absent. */
|
|
181
|
+
function registerAddSubcommand(cmd) {
|
|
182
|
+
cmd
|
|
183
|
+
.command('add')
|
|
184
|
+
.description('Append an evidence entry to a dossier’s sidecar')
|
|
185
|
+
.argument('<file>', 'Dossier file (.ds.md)')
|
|
186
|
+
.requiredOption('--anchor <text>', 'Rule/heading in the dossier body this entry documents')
|
|
187
|
+
.requiredOption('--rationale <text>', 'Why the rule/section reads the way it does')
|
|
188
|
+
.option('--session <id>', 'Provider-native session id (defaults to AI_DOSSIER_SESSION_ID)')
|
|
189
|
+
.addOption(new commander_1.Option('--provider <provider>', 'Agent provider')
|
|
190
|
+
.choices(EVIDENCE_PROVIDERS)
|
|
191
|
+
.default('claude-code'))
|
|
192
|
+
.option('--event <id>', 'Provider-native per-message/tool-call id')
|
|
193
|
+
.option('--host <name>', 'Machine the session ran on (defaults to os.hostname())')
|
|
194
|
+
.option('--extra <k=v...>', 'Tool-specific locator ids, repeatable')
|
|
195
|
+
.option('--namespace <namespace>', 'Override namespace when creating a fresh sidecar')
|
|
196
|
+
.action((file, options) => {
|
|
197
|
+
const sidecarPath = (0, helpers_1.siblingEvidencePath)(file);
|
|
198
|
+
let record = node_fs_1.default.existsSync(sidecarPath)
|
|
199
|
+
? loadSidecar(sidecarPath)
|
|
200
|
+
: buildFreshRecord(file, options.namespace);
|
|
201
|
+
const session = options.session || process.env.AI_DOSSIER_SESSION_ID;
|
|
202
|
+
if (!session) {
|
|
203
|
+
console.error('\n❌ --session required (or set AI_DOSSIER_SESSION_ID)\n');
|
|
204
|
+
process.exit(1);
|
|
205
|
+
}
|
|
206
|
+
const extra = parseExtra(options.extra);
|
|
207
|
+
const ref = {
|
|
208
|
+
provider: options.provider,
|
|
209
|
+
session,
|
|
210
|
+
...(options.event ? { event: options.event } : {}),
|
|
211
|
+
host: options.host || node_os_1.default.hostname(),
|
|
212
|
+
...(extra ? { extra } : {}),
|
|
213
|
+
};
|
|
214
|
+
record = {
|
|
215
|
+
...record,
|
|
216
|
+
entries: [
|
|
217
|
+
...record.entries,
|
|
218
|
+
{
|
|
219
|
+
anchor: options.anchor,
|
|
220
|
+
rationale: options.rationale,
|
|
221
|
+
created_at: new Date().toISOString(),
|
|
222
|
+
evidence: [ref],
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
};
|
|
226
|
+
record = refreshFromFrontmatter(record, file);
|
|
227
|
+
const errors = (0, core_1.validateEvidence)(record);
|
|
228
|
+
if (errors.length > 0) {
|
|
229
|
+
console.error('\n❌ Invalid evidence record:');
|
|
230
|
+
for (const error of errors) {
|
|
231
|
+
console.error(` - ${error}`);
|
|
232
|
+
}
|
|
233
|
+
console.error('');
|
|
234
|
+
process.exit(1);
|
|
235
|
+
}
|
|
236
|
+
writeSidecarAtomic(sidecarPath, record);
|
|
237
|
+
console.log(`✅ Evidence entry added (${record.entries.length} entries)`);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
/** `evidence sync` — refresh version/checksum from the dossier's current frontmatter. */
|
|
241
|
+
function registerSyncSubcommand(cmd) {
|
|
242
|
+
cmd
|
|
243
|
+
.command('sync')
|
|
244
|
+
.description("Refresh a sidecar's version/checksum from the dossier's current frontmatter")
|
|
245
|
+
.argument('<file>', 'Dossier file (.ds.md)')
|
|
246
|
+
.action((file) => {
|
|
247
|
+
const sidecarPath = (0, helpers_1.siblingEvidencePath)(file);
|
|
248
|
+
if (!node_fs_1.default.existsSync(sidecarPath)) {
|
|
249
|
+
console.error(`\n❌ Evidence file not found: ${sidecarPath}\n`);
|
|
250
|
+
process.exit(1);
|
|
251
|
+
}
|
|
252
|
+
let record = loadSidecar(sidecarPath);
|
|
253
|
+
record = refreshFromFrontmatter(record, file);
|
|
254
|
+
writeSidecarAtomic(sidecarPath, record);
|
|
255
|
+
console.log(`✅ Evidence synced: version=${record.version} hash=${record.checksum.hash}`);
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/** `evidence validate` — deterministic schema validation of a sidecar file. */
|
|
259
|
+
function registerValidateSubcommand(cmd) {
|
|
260
|
+
cmd
|
|
261
|
+
.command('validate')
|
|
262
|
+
.description('Validate an evidence sidecar file against the schema')
|
|
263
|
+
.argument('<file>', 'Evidence sidecar file (.evidence.json)')
|
|
264
|
+
.action((file) => {
|
|
265
|
+
if (!node_fs_1.default.existsSync(file)) {
|
|
266
|
+
console.error(`\n❌ File not found: ${file}\n`);
|
|
267
|
+
process.exit(1);
|
|
268
|
+
}
|
|
269
|
+
try {
|
|
270
|
+
(0, core_1.parseEvidence)(node_fs_1.default.readFileSync(file, 'utf8'));
|
|
271
|
+
}
|
|
272
|
+
catch (err) {
|
|
273
|
+
console.error(`❌ ${err.message}`);
|
|
274
|
+
process.exit(1);
|
|
275
|
+
}
|
|
276
|
+
console.log('✅ valid');
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/** Registers the `evidence` command tree (show, init, add, sync, validate). */
|
|
280
|
+
function registerEvidenceCommand(program) {
|
|
281
|
+
const evidenceCmd = program
|
|
282
|
+
.command('evidence')
|
|
283
|
+
.description("Author, attach, fetch and display a dossier's evidence sidecar");
|
|
284
|
+
registerShowSubcommand(evidenceCmd);
|
|
285
|
+
registerInitSubcommand(evidenceCmd);
|
|
286
|
+
registerAddSubcommand(evidenceCmd);
|
|
287
|
+
registerSyncSubcommand(evidenceCmd);
|
|
288
|
+
registerValidateSubcommand(evidenceCmd);
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/commands/evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6F5D"}
|
package/dist/commands/export.js
CHANGED
|
@@ -69,11 +69,30 @@ function registerExportCommand(program) {
|
|
|
69
69
|
process.exit(1);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
+
let evidencePath = null;
|
|
73
|
+
try {
|
|
74
|
+
const { result: evidenceResult, errors: evidenceErrors } = await (0, multi_registry_1.multiRegistryGetEvidence)(dossierName, version || null);
|
|
75
|
+
if (evidenceResult) {
|
|
76
|
+
const target = (0, helpers_1.siblingEvidencePath)(outputPath);
|
|
77
|
+
node_fs_1.default.writeFileSync(target, evidenceResult.evidence, 'utf8');
|
|
78
|
+
evidencePath = target;
|
|
79
|
+
}
|
|
80
|
+
else if (process.env.DOSSIER_DEBUG && evidenceErrors.length > 0) {
|
|
81
|
+
process.stderr.write(`[export] evidence fetch failed for '${dossierName}':\n`);
|
|
82
|
+
(0, helpers_1.printRegistryErrors)(evidenceErrors);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// Evidence is optional — a 404 or any other error never fails the export.
|
|
87
|
+
}
|
|
72
88
|
console.log(`\n✅ Exported: ${outputPath}`);
|
|
73
89
|
console.log(` Source: ${dossierName}${version ? `@${version}` : ''}`);
|
|
74
90
|
if (digest) {
|
|
75
91
|
console.log(` Digest: ${digest}`);
|
|
76
92
|
}
|
|
93
|
+
if (evidencePath) {
|
|
94
|
+
console.log(` Evidence: ${evidencePath}`);
|
|
95
|
+
}
|
|
77
96
|
console.log('');
|
|
78
97
|
});
|
|
79
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsDzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkO7D"}
|