@ai-dossier/cli 0.4.2 → 0.5.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.
Files changed (79) hide show
  1. package/README.md +434 -0
  2. package/dist/cli.js +5 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/checksum.d.ts.map +1 -1
  5. package/dist/commands/checksum.js +1 -2
  6. package/dist/commands/checksum.js.map +1 -1
  7. package/dist/commands/config-cmd.d.ts.map +1 -1
  8. package/dist/commands/config-cmd.js +206 -209
  9. package/dist/commands/config-cmd.js.map +1 -1
  10. package/dist/commands/create.d.ts.map +1 -1
  11. package/dist/commands/create.js +4 -6
  12. package/dist/commands/create.js.map +1 -1
  13. package/dist/commands/export.d.ts +1 -0
  14. package/dist/commands/export.d.ts.map +1 -1
  15. package/dist/commands/export.js +21 -6
  16. package/dist/commands/export.js.map +1 -1
  17. package/dist/commands/get.d.ts.map +1 -1
  18. package/dist/commands/get.js +8 -8
  19. package/dist/commands/get.js.map +1 -1
  20. package/dist/commands/history.d.ts +6 -0
  21. package/dist/commands/history.d.ts.map +1 -0
  22. package/dist/commands/history.js +80 -0
  23. package/dist/commands/history.js.map +1 -0
  24. package/dist/commands/info.d.ts.map +1 -1
  25. package/dist/commands/info.js +3 -5
  26. package/dist/commands/info.js.map +1 -1
  27. package/dist/commands/list.d.ts +1 -0
  28. package/dist/commands/list.d.ts.map +1 -1
  29. package/dist/commands/list.js +155 -145
  30. package/dist/commands/list.js.map +1 -1
  31. package/dist/commands/publish.d.ts.map +1 -1
  32. package/dist/commands/publish.js +12 -59
  33. package/dist/commands/publish.js.map +1 -1
  34. package/dist/commands/pull.d.ts +1 -0
  35. package/dist/commands/pull.d.ts.map +1 -1
  36. package/dist/commands/pull.js +27 -15
  37. package/dist/commands/pull.js.map +1 -1
  38. package/dist/commands/remove.d.ts.map +1 -1
  39. package/dist/commands/remove.js +11 -50
  40. package/dist/commands/remove.js.map +1 -1
  41. package/dist/commands/run.d.ts.map +1 -1
  42. package/dist/commands/run.js +132 -17
  43. package/dist/commands/run.js.map +1 -1
  44. package/dist/commands/search.d.ts +1 -0
  45. package/dist/commands/search.d.ts.map +1 -1
  46. package/dist/commands/search.js +30 -40
  47. package/dist/commands/search.js.map +1 -1
  48. package/dist/commands/skill-export.d.ts.map +1 -1
  49. package/dist/commands/skill-export.js +11 -50
  50. package/dist/commands/skill-export.js.map +1 -1
  51. package/dist/config.d.ts +11 -9
  52. package/dist/config.d.ts.map +1 -1
  53. package/dist/config.js +13 -10
  54. package/dist/config.js.map +1 -1
  55. package/dist/credentials.d.ts +9 -1
  56. package/dist/credentials.d.ts.map +1 -1
  57. package/dist/credentials.js +19 -12
  58. package/dist/credentials.js.map +1 -1
  59. package/dist/helpers.d.ts +57 -0
  60. package/dist/helpers.d.ts.map +1 -1
  61. package/dist/helpers.js +117 -2
  62. package/dist/helpers.js.map +1 -1
  63. package/dist/multi-registry.d.ts +6 -4
  64. package/dist/multi-registry.d.ts.map +1 -1
  65. package/dist/multi-registry.js +38 -22
  66. package/dist/multi-registry.js.map +1 -1
  67. package/dist/registry-client.d.ts +1 -10
  68. package/dist/registry-client.d.ts.map +1 -1
  69. package/dist/registry-client.js +1 -17
  70. package/dist/registry-client.js.map +1 -1
  71. package/dist/run-log.d.ts +37 -0
  72. package/dist/run-log.d.ts.map +1 -0
  73. package/dist/run-log.js +78 -0
  74. package/dist/run-log.js.map +1 -0
  75. package/dist/write-auth.d.ts +24 -0
  76. package/dist/write-auth.d.ts.map +1 -0
  77. package/dist/write-auth.js +85 -0
  78. package/dist/write-auth.js.map +1 -0
  79. package/package.json +1 -1
@@ -4,14 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerPublishCommand = registerPublishCommand;
7
- const node_crypto_1 = __importDefault(require("node:crypto"));
8
7
  const node_fs_1 = __importDefault(require("node:fs"));
9
8
  const node_path_1 = __importDefault(require("node:path"));
10
9
  const node_readline_1 = __importDefault(require("node:readline"));
11
10
  const core_1 = require("@ai-dossier/core");
12
- const config_1 = require("../config");
13
- const credentials_1 = require("../credentials");
14
11
  const registry_client_1 = require("../registry-client");
12
+ const write_auth_1 = require("../write-auth");
15
13
  function registerPublishCommand(program) {
16
14
  program
17
15
  .command('publish')
@@ -23,33 +21,11 @@ function registerPublishCommand(program) {
23
21
  .option('--registry <name>', 'Target registry to publish to')
24
22
  .option('--json', 'Output as JSON')
25
23
  .action(async (file, options) => {
26
- let targetRegistry;
27
- try {
28
- targetRegistry = (0, config_1.resolveWriteRegistry)(options.registry);
29
- }
30
- catch (err) {
31
- console.error(`\nāŒ ${err.message}\n`);
32
- process.exit(1);
33
- }
34
- const credentials = (0, credentials_1.loadCredentials)(targetRegistry.name);
35
- if (!credentials) {
36
- if (options.json) {
37
- console.log(JSON.stringify({ published: false, error: 'Not logged in', code: 'not_logged_in' }, null, 2));
38
- }
39
- else {
40
- console.error(`\nāŒ Not logged in to registry '${targetRegistry.name}'. Run \`dossier login --registry ${targetRegistry.name}\` first.\n`);
41
- }
42
- process.exit(1);
43
- }
44
- if ((0, credentials_1.isExpired)(credentials)) {
45
- if (options.json) {
46
- console.log(JSON.stringify({ published: false, error: 'Credentials expired', code: 'expired' }, null, 2));
47
- }
48
- else {
49
- console.error('\nāŒ Credentials expired. Run `dossier login` to re-authenticate.\n');
50
- }
51
- process.exit(1);
52
- }
24
+ const { targetRegistry, credentials } = (0, write_auth_1.requireWriteAuth)({
25
+ registryFlag: options.registry,
26
+ json: options.json,
27
+ jsonResultKey: 'published',
28
+ });
53
29
  const dossierFile = node_path_1.default.resolve(file);
54
30
  if (!node_fs_1.default.existsSync(dossierFile)) {
55
31
  console.error(`\nāŒ File not found: ${dossierFile}\n`);
@@ -78,7 +54,7 @@ function registerPublishCommand(program) {
78
54
  }
79
55
  const existingHash = frontmatter.checksum?.hash;
80
56
  if (existingHash) {
81
- const actualHash = node_crypto_1.default.createHash('sha256').update(body, 'utf8').digest('hex');
57
+ const actualHash = (0, core_1.sha256Hex)(body);
82
58
  if (existingHash !== actualHash) {
83
59
  console.error('\nāŒ Checksum mismatch - content has been modified without updating checksum');
84
60
  console.error(` Expected: ${existingHash}`);
@@ -188,34 +164,11 @@ function registerPublishCommand(program) {
188
164
  }
189
165
  }
190
166
  catch (err) {
191
- const e = err;
192
- if (options.json) {
193
- console.log(JSON.stringify({
194
- published: false,
195
- error: e.message,
196
- code: e.code || 'publish_failed',
197
- }, null, 2));
198
- }
199
- else if (e.statusCode === 401) {
200
- console.error('\nāŒ Session expired. Run `dossier login` to re-authenticate.\n');
201
- }
202
- else if (e.statusCode === 403) {
203
- console.error(`\nāŒ Permission denied: ${e.message}\n`);
204
- }
205
- else if (e.statusCode === 409) {
206
- console.error(`\nāŒ Version conflict: ${registryPath} — ${e.message}\n`);
207
- }
208
- else {
209
- console.error(`\nāŒ Publish failed: ${e.message}`);
210
- if (e.statusCode) {
211
- console.error(` Status: ${e.statusCode}`);
212
- }
213
- if (e.code) {
214
- console.error(` Code: ${e.code}`);
215
- }
216
- console.error('');
217
- }
218
- process.exit(1);
167
+ (0, write_auth_1.handleRegistryWriteError)(err, {
168
+ json: options.json,
169
+ jsonResultKey: 'published',
170
+ actionLabel: 'Publish',
171
+ });
219
172
  }
220
173
  });
221
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { Command } from 'commander';
2
+ /** Registers the `pull` command — downloads dossiers from the registry to local cache. */
2
3
  export declare function registerPullCommand(program: Command): void;
3
4
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF1D"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqG1D"}
@@ -4,13 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerPullCommand = registerPullCommand;
7
- const node_crypto_1 = __importDefault(require("node:crypto"));
8
7
  const node_fs_1 = __importDefault(require("node:fs"));
9
8
  const node_os_1 = __importDefault(require("node:os"));
10
9
  const node_path_1 = __importDefault(require("node:path"));
10
+ const core_1 = require("@ai-dossier/core");
11
11
  const helpers_1 = require("../helpers");
12
12
  const multi_registry_1 = require("../multi-registry");
13
13
  const registry_client_1 = require("../registry-client");
14
+ /** Registers the `pull` command — downloads dossiers from the registry to local cache. */
14
15
  function registerPullCommand(program) {
15
16
  program
16
17
  .command('pull')
@@ -19,6 +20,7 @@ function registerPullCommand(program) {
19
20
  .option('--force', 'Re-download even if already cached')
20
21
  .action(async (names, options) => {
21
22
  const cacheDir = node_path_1.default.join(node_os_1.default.homedir(), '.dossier', 'cache');
23
+ let failures = 0;
22
24
  for (const nameArg of names) {
23
25
  let [dossierName, version] = (0, registry_client_1.parseNameVersion)(nameArg);
24
26
  try {
@@ -26,9 +28,8 @@ function registerPullCommand(program) {
26
28
  const { result: meta, errors: metaErrors } = await (0, multi_registry_1.multiRegistryGetDossier)(dossierName);
27
29
  if (!meta) {
28
30
  console.error(`āŒ ${nameArg}: not found in any registry`);
29
- for (const e of metaErrors) {
30
- console.error(` ${e.registry}: ${e.error}`);
31
- }
31
+ (0, helpers_1.printRegistryErrors)(metaErrors);
32
+ failures++;
32
33
  continue;
33
34
  }
34
35
  version = meta.version || 'latest';
@@ -44,27 +45,34 @@ function registerPullCommand(program) {
44
45
  const { result, errors: contentErrors } = await (0, multi_registry_1.multiRegistryGetContent)(dossierName, version);
45
46
  if (!result) {
46
47
  console.error(`āŒ ${nameArg}: not found in any registry`);
47
- for (const e of contentErrors) {
48
- console.error(` ${e.registry}: ${e.error}`);
49
- }
48
+ (0, helpers_1.printRegistryErrors)(contentErrors);
49
+ failures++;
50
50
  continue;
51
51
  }
52
52
  const content = result.content;
53
53
  const digest = result.digest;
54
54
  if (digest) {
55
- const actual = node_crypto_1.default.createHash('sha256').update(content, 'utf8').digest('hex');
55
+ const actual = (0, core_1.sha256Hex)(content);
56
56
  if (actual !== digest) {
57
57
  console.error(`āŒ ${dossierName}@${version}: checksum mismatch after download`);
58
+ failures++;
58
59
  continue;
59
60
  }
60
61
  }
61
- node_fs_1.default.mkdirSync(dossierDir, { recursive: true, mode: 0o700 });
62
- node_fs_1.default.writeFileSync(contentFile, content, 'utf8');
63
- node_fs_1.default.writeFileSync(metaFile, JSON.stringify({
64
- cached_at: new Date().toISOString(),
65
- version,
66
- source_registry: result._registry,
67
- }, null, 2), 'utf8');
62
+ try {
63
+ node_fs_1.default.mkdirSync(dossierDir, { recursive: true, mode: 0o700 });
64
+ node_fs_1.default.writeFileSync(contentFile, content, 'utf8');
65
+ node_fs_1.default.writeFileSync(metaFile, JSON.stringify({
66
+ cached_at: new Date().toISOString(),
67
+ version,
68
+ source_registry: result._registry,
69
+ }, null, 2), 'utf8');
70
+ }
71
+ catch (writeErr) {
72
+ console.error(`āŒ ${dossierName}@${version}: failed to write cache files to '${dossierDir}': ${writeErr.message}`);
73
+ failures++;
74
+ continue;
75
+ }
68
76
  const status = options.force ? 'updated' : 'downloaded';
69
77
  console.log(`āœ… ${dossierName}@${version} (${status}) [${result._registry}]`);
70
78
  console.log(` ${contentFile}`);
@@ -77,8 +85,12 @@ function registerPullCommand(program) {
77
85
  else {
78
86
  console.error(`āŒ ${nameArg}: ${e.message}`);
79
87
  }
88
+ failures++;
80
89
  }
81
90
  }
91
+ if (failures === names.length) {
92
+ process.exit(1);
93
+ }
82
94
  });
83
95
  }
84
96
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsI5D"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF5D"}
@@ -5,9 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerRemoveCommand = registerRemoveCommand;
7
7
  const node_readline_1 = __importDefault(require("node:readline"));
8
- const config_1 = require("../config");
9
- const credentials_1 = require("../credentials");
10
8
  const registry_client_1 = require("../registry-client");
9
+ const write_auth_1 = require("../write-auth");
11
10
  function registerRemoveCommand(program) {
12
11
  program
13
12
  .command('remove')
@@ -17,33 +16,11 @@ function registerRemoveCommand(program) {
17
16
  .option('--registry <name>', 'Target registry to remove from')
18
17
  .option('--json', 'Output as JSON')
19
18
  .action(async (name, options) => {
20
- let targetRegistry;
21
- try {
22
- targetRegistry = (0, config_1.resolveWriteRegistry)(options.registry);
23
- }
24
- catch (err) {
25
- console.error(`\nāŒ ${err.message}\n`);
26
- process.exit(1);
27
- }
28
- const credentials = (0, credentials_1.loadCredentials)(targetRegistry.name);
29
- if (!credentials) {
30
- if (options.json) {
31
- console.log(JSON.stringify({ removed: false, error: 'Not logged in', code: 'not_logged_in' }, null, 2));
32
- }
33
- else {
34
- console.error(`\nāŒ Not logged in to registry '${targetRegistry.name}'. Run \`dossier login --registry ${targetRegistry.name}\` first.\n`);
35
- }
36
- process.exit(1);
37
- }
38
- if ((0, credentials_1.isExpired)(credentials)) {
39
- if (options.json) {
40
- console.log(JSON.stringify({ removed: false, error: 'Credentials expired', code: 'expired' }, null, 2));
41
- }
42
- else {
43
- console.error('\nāŒ Credentials expired. Run `dossier login` to re-authenticate.\n');
44
- }
45
- process.exit(1);
46
- }
19
+ const { targetRegistry, credentials } = (0, write_auth_1.requireWriteAuth)({
20
+ registryFlag: options.registry,
21
+ json: options.json,
22
+ jsonResultKey: 'removed',
23
+ });
47
24
  const [dossierName, version] = (0, registry_client_1.parseNameVersion)(name);
48
25
  const target = version ? `${dossierName}@${version}` : dossierName;
49
26
  if (!options.yes) {
@@ -88,27 +65,11 @@ function registerRemoveCommand(program) {
88
65
  }
89
66
  }
90
67
  catch (err) {
91
- const e = err;
92
- if (options.json) {
93
- console.log(JSON.stringify({
94
- removed: false,
95
- error: e.message,
96
- code: e.code || 'remove_failed',
97
- }, null, 2));
98
- }
99
- else if (e.statusCode === 401) {
100
- console.error('\nāŒ Session expired. Run `dossier login` to re-authenticate.\n');
101
- }
102
- else if (e.statusCode === 403) {
103
- console.error(`\nāŒ Permission denied: ${e.message}\n`);
104
- }
105
- else if (e.statusCode === 404) {
106
- console.error(`\nāŒ Not found: ${target}\n`);
107
- }
108
- else {
109
- console.error(`\nāŒ Remove failed: ${e.message}\n`);
110
- }
111
- process.exit(1);
68
+ (0, write_auth_1.handleRegistryWriteError)(err, {
69
+ json: options.json,
70
+ jsonResultKey: 'removed',
71
+ actionLabel: 'Remove',
72
+ });
112
73
  }
113
74
  });
114
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmSzD"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsZzD"}
@@ -46,6 +46,21 @@ const config = __importStar(require("../config"));
46
46
  const helpers_1 = require("../helpers");
47
47
  const multi_registry_1 = require("../multi-registry");
48
48
  const registry_client_1 = require("../registry-client");
49
+ const run_log_1 = require("../run-log");
50
+ /**
51
+ * Check if a newer version exists in the registry.
52
+ * Returns the latest version string, or null if no update / error / timeout.
53
+ */
54
+ async function checkForUpdate(dossierName, cachedVersion) {
55
+ const timeout = new Promise((resolve) => setTimeout(() => resolve(null), 3000));
56
+ const check = (0, multi_registry_1.multiRegistryGetDossier)(dossierName).then(({ result }) => {
57
+ if (result?.version && result.version !== cachedVersion) {
58
+ return result.version;
59
+ }
60
+ return null;
61
+ });
62
+ return Promise.race([check, timeout]);
63
+ }
49
64
  function registerRunCommand(program) {
50
65
  program
51
66
  .command('run')
@@ -68,6 +83,14 @@ function registerRunCommand(program) {
68
83
  const log = isNested
69
84
  ? (...args) => console.error(...args)
70
85
  : (...args) => console.log(...args);
86
+ const runContext = {
87
+ dossierArg: file,
88
+ resolvedVersion: 'unknown',
89
+ source: 'local',
90
+ registry: undefined,
91
+ updateAvailable: undefined,
92
+ };
93
+ let updateCheckPromise = null;
71
94
  // If not a URL or local file, treat as a registry name
72
95
  if (!isUrl && !isLocalFile) {
73
96
  const [dossierName, version] = (0, registry_client_1.parseNameVersion)(file);
@@ -88,6 +111,41 @@ function registerRunCommand(program) {
88
111
  if (!options.pull) {
89
112
  resolvedFile = contentFile;
90
113
  cached = true;
114
+ runContext.source = 'cache';
115
+ runContext.resolvedVersion = ver;
116
+ // Check meta for previously-detected update
117
+ const metaPath = node_path_1.default.join(dossierCacheDir, mf);
118
+ try {
119
+ const meta = JSON.parse(node_fs_1.default.readFileSync(metaPath, 'utf8'));
120
+ if (meta.latest_known_version && meta.latest_known_version !== ver) {
121
+ runContext.updateAvailable = meta.latest_known_version;
122
+ }
123
+ const checkedAt = meta.latest_checked_at
124
+ ? new Date(meta.latest_checked_at).getTime()
125
+ : 0;
126
+ const oneHourAgo = Date.now() - 3600000;
127
+ if (checkedAt < oneHourAgo) {
128
+ updateCheckPromise = checkForUpdate(dossierName, ver)
129
+ .then((latestVer) => {
130
+ try {
131
+ meta.latest_known_version = latestVer || ver;
132
+ meta.latest_checked_at = new Date().toISOString();
133
+ node_fs_1.default.writeFileSync(metaPath, JSON.stringify(meta, null, 2), 'utf8');
134
+ }
135
+ catch {
136
+ /* ignore meta write errors */
137
+ }
138
+ if (latestVer)
139
+ runContext.updateAvailable = latestVer;
140
+ return latestVer;
141
+ })
142
+ .catch(() => null);
143
+ }
144
+ }
145
+ catch {
146
+ // Meta read failed — start a fresh check
147
+ updateCheckPromise = checkForUpdate(dossierName, ver).catch(() => null);
148
+ }
91
149
  log(`šŸ“¦ Using cached: ${dossierName}@${ver}\n`);
92
150
  break;
93
151
  }
@@ -101,24 +159,14 @@ function registerRunCommand(program) {
101
159
  if (!resolvedVersion) {
102
160
  const { result: meta, errors: metaErrors } = await (0, multi_registry_1.multiRegistryGetDossier)(dossierName);
103
161
  if (!meta) {
104
- console.error(`\nāŒ Not found: ${file}`);
105
- console.error(' Not a local file and not found in any registry');
106
- for (const e of metaErrors) {
107
- console.error(` ${e.registry}: ${e.error}`);
108
- }
109
- console.error('');
162
+ (0, helpers_1.printRegistryNotFoundError)(file, metaErrors);
110
163
  process.exit(1);
111
164
  }
112
165
  resolvedVersion = meta.version || 'latest';
113
166
  }
114
167
  const { result, errors: contentErrors } = await (0, multi_registry_1.multiRegistryGetContent)(dossierName, resolvedVersion);
115
168
  if (!result) {
116
- console.error(`\nāŒ Not found: ${file}`);
117
- console.error(' Not a local file and not found in any registry');
118
- for (const e of contentErrors) {
119
- console.error(` ${e.registry}: ${e.error}`);
120
- }
121
- console.error('');
169
+ (0, helpers_1.printRegistryNotFoundError)(file, contentErrors);
122
170
  process.exit(1);
123
171
  }
124
172
  if (!options.fresh) {
@@ -132,12 +180,18 @@ function registerRunCommand(program) {
132
180
  source_registry: result._registry,
133
181
  }, null, 2), 'utf8');
134
182
  resolvedFile = contentFile;
183
+ runContext.source = 'registry';
184
+ runContext.resolvedVersion = resolvedVersion || 'unknown';
185
+ runContext.registry = result._registry;
135
186
  log(`šŸ“„ Fetched: ${dossierName}@${resolvedVersion}\n`);
136
187
  }
137
188
  else {
138
189
  const tmpFile = node_path_1.default.join(node_os_1.default.tmpdir(), `dossier-${Date.now()}.ds.md`);
139
190
  node_fs_1.default.writeFileSync(tmpFile, result.content, 'utf8');
140
191
  resolvedFile = tmpFile;
192
+ runContext.source = 'registry';
193
+ runContext.resolvedVersion = resolvedVersion || 'unknown';
194
+ runContext.registry = result._registry;
141
195
  log(`šŸ“„ Fetched: ${dossierName}@${resolvedVersion} (not cached)\n`);
142
196
  }
143
197
  }
@@ -156,6 +210,7 @@ function registerRunCommand(program) {
156
210
  }
157
211
  // If resolvedFile is still a URL, download it first
158
212
  if (resolvedFile.startsWith('http://') || resolvedFile.startsWith('https://')) {
213
+ runContext.source = 'url';
159
214
  try {
160
215
  resolvedFile = (0, helpers_1.downloadUrlToTempFile)(resolvedFile);
161
216
  }
@@ -210,20 +265,76 @@ function registerRunCommand(program) {
210
265
  }
211
266
  // Nested session detection
212
267
  if (process.env.CLAUDE_CODE === '1' || process.env.CLAUDECODE === '1') {
268
+ // Wait for update check before showing warning
269
+ if (updateCheckPromise) {
270
+ await updateCheckPromise.catch(() => null);
271
+ }
272
+ if (runContext.updateAvailable) {
273
+ console.error(`\nāš ļø Update available: ${file}@${runContext.updateAvailable} (cached: ${runContext.resolvedVersion})`);
274
+ console.error(' Run with --pull to update\n');
275
+ }
213
276
  console.error('ā„¹ļø Running inside Claude Code — outputting dossier content\n');
277
+ const llmOption = options.llm || config.getConfig('defaultLlm') || 'auto';
278
+ (0, run_log_1.appendRunLog)({
279
+ timestamp: new Date().toISOString(),
280
+ dossier: file,
281
+ resolved_version: runContext.resolvedVersion,
282
+ source: runContext.source,
283
+ registry: runContext.registry,
284
+ verification: 'nested-skip',
285
+ llm: llmOption,
286
+ user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
287
+ cwd: process.cwd(),
288
+ nested: true,
289
+ update_available: runContext.updateAvailable,
290
+ });
214
291
  process.stdout.write(dossierContent);
215
292
  node_fs_1.default.unlinkSync(secureTmpFile);
216
293
  node_fs_1.default.rmdirSync(secureTmpDir);
217
294
  process.exit(0);
218
295
  }
296
+ // Wait for update check before verification
297
+ if (updateCheckPromise) {
298
+ await updateCheckPromise.catch(() => null);
299
+ }
300
+ if (runContext.updateAvailable) {
301
+ console.log(`\nāš ļø Update available: ${file}@${runContext.updateAvailable} (cached: ${runContext.resolvedVersion})`);
302
+ console.log(' Run with --pull to update\n');
303
+ }
219
304
  const result = await (0, helpers_1.runVerification)(resolvedFile, options);
305
+ const llmOption = options.llm || config.getConfig('defaultLlm') || 'auto';
220
306
  if (!result.passed) {
221
307
  console.log('āŒ Verification failed - cannot execute\n');
308
+ (0, run_log_1.appendRunLog)({
309
+ timestamp: new Date().toISOString(),
310
+ dossier: file,
311
+ resolved_version: runContext.resolvedVersion,
312
+ source: runContext.source,
313
+ registry: runContext.registry,
314
+ verification: 'failed',
315
+ llm: llmOption,
316
+ user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
317
+ cwd: process.cwd(),
318
+ nested: false,
319
+ update_available: runContext.updateAvailable,
320
+ });
222
321
  node_fs_1.default.unlinkSync(secureTmpFile);
223
322
  node_fs_1.default.rmdirSync(secureTmpDir);
224
323
  process.exit(1);
225
324
  }
226
- const llmOption = options.llm || config.getConfig('defaultLlm') || 'auto';
325
+ (0, run_log_1.appendRunLog)({
326
+ timestamp: new Date().toISOString(),
327
+ dossier: file,
328
+ resolved_version: runContext.resolvedVersion,
329
+ source: runContext.source,
330
+ registry: runContext.registry,
331
+ verification: options.skipAllChecks ? 'skipped' : 'passed',
332
+ llm: llmOption,
333
+ user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
334
+ cwd: process.cwd(),
335
+ nested: false,
336
+ update_available: runContext.updateAvailable,
337
+ });
227
338
  console.log('šŸ“ Audit Log:');
228
339
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
229
340
  console.log(` Timestamp: ${new Date().toISOString()}`);
@@ -249,14 +360,18 @@ function registerRunCommand(program) {
249
360
  try {
250
361
  node_fs_1.default.unlinkSync(secureTmpFile);
251
362
  }
252
- catch {
253
- /* already cleaned */
363
+ catch (err) {
364
+ if (err.code !== 'ENOENT') {
365
+ process.stderr.write(`Warning: failed to clean up secure temp file: ${String(err.message || err)}\n`);
366
+ }
254
367
  }
255
368
  try {
256
369
  node_fs_1.default.rmdirSync(secureTmpDir);
257
370
  }
258
- catch {
259
- /* already cleaned */
371
+ catch (err) {
372
+ if (err.code !== 'ENOENT') {
373
+ process.stderr.write(`Warning: failed to clean up secure temp dir: ${String(err.message || err)}\n`);
374
+ }
260
375
  }
261
376
  };
262
377
  console.log('šŸ¤– Executing Dossier...\n');