@ai-dossier/cli 0.3.0 → 0.4.2

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 (119) hide show
  1. package/README.md +56 -25
  2. package/bin/dossier-verify +6 -432
  3. package/dist/cli.js +82 -21
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/cache.d.ts.map +1 -1
  6. package/dist/commands/cache.js +5 -1
  7. package/dist/commands/cache.js.map +1 -1
  8. package/dist/commands/checksum.d.ts.map +1 -1
  9. package/dist/commands/checksum.js +6 -8
  10. package/dist/commands/checksum.js.map +1 -1
  11. package/dist/commands/commands.d.ts +3 -0
  12. package/dist/commands/commands.d.ts.map +1 -0
  13. package/dist/commands/commands.js +73 -0
  14. package/dist/commands/commands.js.map +1 -0
  15. package/dist/commands/config-cmd.d.ts.map +1 -1
  16. package/dist/commands/config-cmd.js +170 -7
  17. package/dist/commands/config-cmd.js.map +1 -1
  18. package/dist/commands/create.d.ts.map +1 -1
  19. package/dist/commands/create.js +25 -10
  20. package/dist/commands/create.js.map +1 -1
  21. package/dist/commands/export.d.ts.map +1 -1
  22. package/dist/commands/export.js +16 -6
  23. package/dist/commands/export.js.map +1 -1
  24. package/dist/commands/format.d.ts.map +1 -1
  25. package/dist/commands/format.js.map +1 -1
  26. package/dist/commands/from-file.d.ts.map +1 -1
  27. package/dist/commands/from-file.js +4 -3
  28. package/dist/commands/from-file.js.map +1 -1
  29. package/dist/commands/get.d.ts.map +1 -1
  30. package/dist/commands/get.js +19 -6
  31. package/dist/commands/get.js.map +1 -1
  32. package/dist/commands/info.d.ts.map +1 -1
  33. package/dist/commands/info.js +28 -58
  34. package/dist/commands/info.js.map +1 -1
  35. package/dist/commands/install-skill.d.ts.map +1 -1
  36. package/dist/commands/install-skill.js +98 -29
  37. package/dist/commands/install-skill.js.map +1 -1
  38. package/dist/commands/keys.js +1 -1
  39. package/dist/commands/keys.js.map +1 -1
  40. package/dist/commands/lint.d.ts.map +1 -1
  41. package/dist/commands/lint.js.map +1 -1
  42. package/dist/commands/list.d.ts.map +1 -1
  43. package/dist/commands/list.js +58 -41
  44. package/dist/commands/list.js.map +1 -1
  45. package/dist/commands/login.d.ts.map +1 -1
  46. package/dist/commands/login.js +32 -6
  47. package/dist/commands/login.js.map +1 -1
  48. package/dist/commands/logout.d.ts.map +1 -1
  49. package/dist/commands/logout.js +22 -5
  50. package/dist/commands/logout.js.map +1 -1
  51. package/dist/commands/prompt-hook.d.ts.map +1 -1
  52. package/dist/commands/prompt-hook.js +4 -13
  53. package/dist/commands/prompt-hook.js.map +1 -1
  54. package/dist/commands/publish.d.ts.map +1 -1
  55. package/dist/commands/publish.js +131 -51
  56. package/dist/commands/publish.js.map +1 -1
  57. package/dist/commands/pull.d.ts.map +1 -1
  58. package/dist/commands/pull.js +23 -8
  59. package/dist/commands/pull.js.map +1 -1
  60. package/dist/commands/remove.d.ts.map +1 -1
  61. package/dist/commands/remove.js +61 -11
  62. package/dist/commands/remove.js.map +1 -1
  63. package/dist/commands/reset-hooks.js +1 -1
  64. package/dist/commands/reset-hooks.js.map +1 -1
  65. package/dist/commands/run.d.ts.map +1 -1
  66. package/dist/commands/run.js +88 -73
  67. package/dist/commands/run.js.map +1 -1
  68. package/dist/commands/search.d.ts.map +1 -1
  69. package/dist/commands/search.js +30 -28
  70. package/dist/commands/search.js.map +1 -1
  71. package/dist/commands/sign.d.ts.map +1 -1
  72. package/dist/commands/sign.js +71 -45
  73. package/dist/commands/sign.js.map +1 -1
  74. package/dist/commands/skill-export.d.ts +3 -0
  75. package/dist/commands/skill-export.d.ts.map +1 -0
  76. package/dist/commands/skill-export.js +218 -0
  77. package/dist/commands/skill-export.js.map +1 -0
  78. package/dist/commands/validate.d.ts.map +1 -1
  79. package/dist/commands/validate.js +12 -33
  80. package/dist/commands/validate.js.map +1 -1
  81. package/dist/commands/verify.d.ts.map +1 -1
  82. package/dist/commands/verify.js +6 -8
  83. package/dist/commands/verify.js.map +1 -1
  84. package/dist/commands/whoami.d.ts.map +1 -1
  85. package/dist/commands/whoami.js +115 -12
  86. package/dist/commands/whoami.js.map +1 -1
  87. package/dist/config.d.ts +38 -1
  88. package/dist/config.d.ts.map +1 -1
  89. package/dist/config.js +128 -1
  90. package/dist/config.js.map +1 -1
  91. package/dist/credentials.d.ts +14 -8
  92. package/dist/credentials.d.ts.map +1 -1
  93. package/dist/credentials.js +119 -39
  94. package/dist/credentials.js.map +1 -1
  95. package/dist/help.d.ts +7 -0
  96. package/dist/help.d.ts.map +1 -0
  97. package/dist/help.js +86 -0
  98. package/dist/help.js.map +1 -0
  99. package/dist/helpers.d.ts +4 -18
  100. package/dist/helpers.d.ts.map +1 -1
  101. package/dist/helpers.js +35 -147
  102. package/dist/helpers.js.map +1 -1
  103. package/dist/multi-registry.d.ts +71 -0
  104. package/dist/multi-registry.d.ts.map +1 -0
  105. package/dist/multi-registry.js +136 -0
  106. package/dist/multi-registry.js.map +1 -0
  107. package/dist/oauth.d.ts +1 -0
  108. package/dist/oauth.d.ts.map +1 -1
  109. package/dist/oauth.js +1 -0
  110. package/dist/oauth.js.map +1 -1
  111. package/dist/registry-client.d.ts +64 -8
  112. package/dist/registry-client.d.ts.map +1 -1
  113. package/dist/registry-client.js +13 -0
  114. package/dist/registry-client.js.map +1 -1
  115. package/dist/verify-dossier.d.ts +28 -0
  116. package/dist/verify-dossier.d.ts.map +1 -0
  117. package/dist/verify-dossier.js +329 -0
  118. package/dist/verify-dossier.js.map +1 -0
  119. package/package.json +3 -3
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.registerPromptHookCommand = registerPromptHookCommand;
37
37
  const helpers_1 = require("../helpers");
38
38
  const hooks = __importStar(require("../hooks"));
39
- const registry_client_1 = require("../registry-client");
39
+ const multi_registry_1 = require("../multi-registry");
40
40
  function registerPromptHookCommand(program) {
41
41
  program
42
42
  .command('prompt-hook', { hidden: true })
@@ -60,19 +60,10 @@ function registerPromptHookCommand(program) {
60
60
  }
61
61
  let dossiers = hooks.getCachedDossierList();
62
62
  if (!dossiers) {
63
- const client = (0, registry_client_1.getClient)();
64
63
  dossiers = [];
65
- let page = 1;
66
- const perPage = 100;
67
- while (true) {
68
- const result = (await client.listDossiers({ page, perPage }));
69
- const items = result.dossiers || result.data || [];
70
- for (const d of items) {
71
- dossiers.push({ name: d.name, title: d.title || d.name });
72
- }
73
- if (items.length < perPage)
74
- break;
75
- page++;
64
+ const result = await (0, multi_registry_1.multiRegistryList)({ page: 1, perPage: 100 });
65
+ for (const d of result.dossiers) {
66
+ dossiers.push({ name: d.name, title: d.title || d.name });
76
67
  }
77
68
  hooks.saveDossierListCache(dossiers);
78
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-hook.js","sourceRoot":"","sources":["../../src/commands/prompt-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-hook.js","sourceRoot":"","sources":["../../src/commands/prompt-hook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8I7D"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsQ7D"}
@@ -8,6 +8,8 @@ const node_crypto_1 = __importDefault(require("node:crypto"));
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
10
  const node_readline_1 = __importDefault(require("node:readline"));
11
+ const core_1 = require("@ai-dossier/core");
12
+ const config_1 = require("../config");
11
13
  const credentials_1 = require("../credentials");
12
14
  const registry_client_1 = require("../registry-client");
13
15
  function registerPublishCommand(program) {
@@ -17,14 +19,35 @@ function registerPublishCommand(program) {
17
19
  .argument('<file>', 'Dossier file to publish')
18
20
  .option('--changelog <message>', 'Changelog message for this version')
19
21
  .option('-y, --yes', 'Skip confirmation prompt')
22
+ .option('--namespace <namespace>', 'Override namespace (e.g., imboard-ai/skills)')
23
+ .option('--registry <name>', 'Target registry to publish to')
24
+ .option('--json', 'Output as JSON')
20
25
  .action(async (file, options) => {
21
- const credentials = (0, credentials_1.loadCredentials)();
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);
22
35
  if (!credentials) {
23
- console.error('\n❌ Not logged in. Run `dossier login` first.\n');
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
+ }
24
42
  process.exit(1);
25
43
  }
26
44
  if ((0, credentials_1.isExpired)(credentials)) {
27
- console.error('\n❌ Credentials expired. Run `dossier login` to re-authenticate.\n');
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
+ }
28
51
  process.exit(1);
29
52
  }
30
53
  const dossierFile = node_path_1.default.resolve(file);
@@ -33,43 +56,18 @@ function registerPublishCommand(program) {
33
56
  process.exit(1);
34
57
  }
35
58
  const content = node_fs_1.default.readFileSync(dossierFile, 'utf8');
36
- const jsonMatch = content.match(/^---dossier\s*\n([\s\S]*?)\n---\n?([\s\S]*)$/);
37
- if (!jsonMatch) {
38
- console.error('\n❌ Invalid dossier format: missing ---dossier frontmatter\n');
39
- process.exit(1);
40
- }
41
59
  let frontmatter;
60
+ let body;
42
61
  try {
43
- frontmatter = JSON.parse(jsonMatch[1]);
62
+ const parsed = (0, core_1.parseDossierContent)(content);
63
+ frontmatter = parsed.frontmatter;
64
+ body = parsed.body;
44
65
  }
45
66
  catch (err) {
46
- console.error(`\n❌ Invalid JSON in frontmatter: ${err.message}\n`);
67
+ console.error(`\n❌ ${err.message}\n`);
47
68
  process.exit(1);
48
69
  }
49
- const body = jsonMatch[2];
50
- const errors = [];
51
- const required = ['title', 'version'];
52
- for (const field of required) {
53
- if (!frontmatter[field]) {
54
- errors.push(`Missing required field: ${field}`);
55
- }
56
- }
57
- const validRiskLevels = ['low', 'medium', 'high', 'critical'];
58
- if (frontmatter.risk_level && !validRiskLevels.includes(frontmatter.risk_level)) {
59
- errors.push(`Invalid risk_level: ${frontmatter.risk_level}`);
60
- }
61
- const validStatuses = [
62
- 'draft',
63
- 'stable',
64
- 'deprecated',
65
- 'Draft',
66
- 'Stable',
67
- 'Deprecated',
68
- 'Experimental',
69
- ];
70
- if (frontmatter.status && !validStatuses.includes(frontmatter.status)) {
71
- errors.push(`Invalid status: ${frontmatter.status}`);
72
- }
70
+ const errors = (0, core_1.validateFrontmatter)(frontmatter);
73
71
  if (errors.length > 0) {
74
72
  console.error('\n❌ Validation errors:');
75
73
  for (const err of errors) {
@@ -89,18 +87,67 @@ function registerPublishCommand(program) {
89
87
  process.exit(1);
90
88
  }
91
89
  }
92
- const namespace = credentials.orgs.length > 0 ? credentials.orgs[0] : credentials.username;
90
+ const namespace = options.namespace ||
91
+ (credentials.orgs.length > 0 ? credentials.orgs[0] : credentials.username);
93
92
  const name = frontmatter.name || frontmatter.title || node_path_1.default.basename(dossierFile, '.ds.md');
94
93
  const version = frontmatter.version || 'unknown';
94
+ const fullPath = `${namespace}/${name}`;
95
+ const registryPath = `${fullPath}@${version}`;
96
+ // Pre-publish existence check — version-specific via registry API
97
+ const client = (0, registry_client_1.getClientForRegistry)(targetRegistry.url, credentials.token);
98
+ let existingVersion = null;
99
+ let versionExists = false;
100
+ try {
101
+ const existing = await client.getDossier(fullPath, version);
102
+ if (existing && existing.version === version) {
103
+ versionExists = true;
104
+ }
105
+ }
106
+ catch {
107
+ // 404 = version doesn't exist (expected), other errors = warn but don't block
108
+ }
109
+ if (versionExists) {
110
+ if (options.json) {
111
+ console.log(JSON.stringify({
112
+ published: false,
113
+ error: `${registryPath} already exists`,
114
+ code: 'version_exists',
115
+ name: fullPath,
116
+ version,
117
+ }, null, 2));
118
+ }
119
+ else {
120
+ console.error(`\n❌ Version collision: ${registryPath} already exists.`);
121
+ console.error(' Bump the version in your dossier and try again.\n');
122
+ }
123
+ process.exit(1);
124
+ return;
125
+ }
126
+ // Check if dossier exists at any version (for overwrite warning)
127
+ try {
128
+ const existing = await client.getDossier(fullPath);
129
+ if (existing) {
130
+ existingVersion = existing.version || null;
131
+ }
132
+ }
133
+ catch {
134
+ // Ignore — dossier doesn't exist or check failed
135
+ }
95
136
  if (!options.yes) {
137
+ if (!process.stdin.isTTY) {
138
+ console.error('\n❌ Non-interactive session detected. Use -y/--yes to skip confirmation.\n');
139
+ process.exit(1);
140
+ }
96
141
  console.log('\n📦 Publishing dossier:\n');
142
+ console.log(` Registry: ${targetRegistry.name} (${targetRegistry.url})`);
143
+ console.log(` Path: ${registryPath}`);
97
144
  console.log(` File: ${node_path_1.default.basename(dossierFile)}`);
98
- console.log(` Name: ${name}`);
99
- console.log(` Version: ${version}`);
100
- console.log(` Namespace: ${namespace}`);
101
145
  if (options.changelog) {
102
146
  console.log(` Changelog: ${options.changelog}`);
103
147
  }
148
+ if (existingVersion) {
149
+ console.log(`\n ⚠️ ${fullPath} already exists (latest: v${existingVersion}). Publishing will add v${version}.`);
150
+ }
104
151
  console.log('');
105
152
  const rl = node_readline_1.default.createInterface({ input: process.stdin, output: process.stderr });
106
153
  const answer = await new Promise((resolve) => {
@@ -113,27 +160,60 @@ function registerPublishCommand(program) {
113
160
  }
114
161
  }
115
162
  try {
116
- const client = (0, registry_client_1.getClient)(credentials.token);
117
- const result = (await client.publishDossier(namespace, content, options.changelog || null));
118
- const fullName = result.name || `${namespace}/${name}`;
119
- console.log(`\n✅ Published ${fullName}@${version}`);
120
- if (result.content_url) {
121
- console.log(` URL: ${result.content_url}`);
163
+ const result = await client.publishDossier(namespace, content, options.changelog || null);
164
+ const verifyCommand = `dossier info ${fullPath}@${version}`;
165
+ const cdnDelaySeconds = 30;
166
+ if (options.json) {
167
+ console.log(JSON.stringify({
168
+ published: true,
169
+ name: result.name || fullPath,
170
+ version,
171
+ registry: targetRegistry.name,
172
+ content_url: result.content_url || null,
173
+ verification: {
174
+ verify_command: verifyCommand,
175
+ cdn_delay_seconds: cdnDelaySeconds,
176
+ },
177
+ }, null, 2));
178
+ }
179
+ else {
180
+ console.log(`\n✅ Published ${registryPath} [${targetRegistry.name}]`);
181
+ if (existingVersion) {
182
+ console.log(` Updated from v${existingVersion}`);
183
+ }
184
+ if (result.content_url) {
185
+ console.log(` URL: ${result.content_url}`);
186
+ }
187
+ console.log(`\n ⏳ CDN propagation may take up to ${cdnDelaySeconds}s. Verify with:\n $ ${verifyCommand}\n`);
122
188
  }
123
- console.log('');
124
189
  }
125
190
  catch (err) {
126
- if (err.statusCode === 401) {
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) {
127
200
  console.error('\n❌ Session expired. Run `dossier login` to re-authenticate.\n');
128
201
  }
129
- else if (err.statusCode === 403) {
130
- console.error(`\n❌ Permission denied: ${err.message}\n`);
202
+ else if (e.statusCode === 403) {
203
+ console.error(`\n❌ Permission denied: ${e.message}\n`);
131
204
  }
132
- else if (err.statusCode === 409) {
133
- console.error(`\n❌ Version conflict: ${err.message}\n`);
205
+ else if (e.statusCode === 409) {
206
+ console.error(`\n❌ Version conflict: ${registryPath} — ${e.message}\n`);
134
207
  }
135
208
  else {
136
- console.error(`\n❌ Publish failed: ${err.message}\n`);
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('');
137
217
  }
138
218
  process.exit(1);
139
219
  }
@@ -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 +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;AAIzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqE1D"}
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"}
@@ -9,21 +9,28 @@ const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_os_1 = __importDefault(require("node:os"));
10
10
  const node_path_1 = __importDefault(require("node:path"));
11
11
  const helpers_1 = require("../helpers");
12
+ const multi_registry_1 = require("../multi-registry");
12
13
  const registry_client_1 = require("../registry-client");
13
14
  function registerPullCommand(program) {
14
15
  program
15
16
  .command('pull')
16
- .description('Download a dossier from the registry to local cache')
17
+ .description('Download a dossier from the registry to local cache. Searches all configured registries.')
17
18
  .argument('<name...>', 'Dossier name(s) (use name@version for a specific version)')
18
19
  .option('--force', 'Re-download even if already cached')
19
20
  .action(async (names, options) => {
20
21
  const cacheDir = node_path_1.default.join(node_os_1.default.homedir(), '.dossier', 'cache');
21
- const client = (0, registry_client_1.getClient)();
22
22
  for (const nameArg of names) {
23
23
  let [dossierName, version] = (0, registry_client_1.parseNameVersion)(nameArg);
24
24
  try {
25
25
  if (!version) {
26
- const meta = (await client.getDossier(dossierName));
26
+ const { result: meta, errors: metaErrors } = await (0, multi_registry_1.multiRegistryGetDossier)(dossierName);
27
+ if (!meta) {
28
+ console.error(`❌ ${nameArg}: not found in any registry`);
29
+ for (const e of metaErrors) {
30
+ console.error(` ${e.registry}: ${e.error}`);
31
+ }
32
+ continue;
33
+ }
27
34
  version = meta.version || 'latest';
28
35
  }
29
36
  const dossierDir = (0, helpers_1.safeDossierPath)(cacheDir, dossierName);
@@ -34,7 +41,14 @@ function registerPullCommand(program) {
34
41
  console.log(` ${contentFile}`);
35
42
  continue;
36
43
  }
37
- const result = await client.getDossierContent(dossierName, version);
44
+ const { result, errors: contentErrors } = await (0, multi_registry_1.multiRegistryGetContent)(dossierName, version);
45
+ if (!result) {
46
+ console.error(`❌ ${nameArg}: not found in any registry`);
47
+ for (const e of contentErrors) {
48
+ console.error(` ${e.registry}: ${e.error}`);
49
+ }
50
+ continue;
51
+ }
38
52
  const content = result.content;
39
53
  const digest = result.digest;
40
54
  if (digest) {
@@ -49,18 +63,19 @@ function registerPullCommand(program) {
49
63
  node_fs_1.default.writeFileSync(metaFile, JSON.stringify({
50
64
  cached_at: new Date().toISOString(),
51
65
  version,
52
- source_registry_url: client.baseUrl.replace(/\/api\/v1$/, ''),
66
+ source_registry: result._registry,
53
67
  }, null, 2), 'utf8');
54
68
  const status = options.force ? 'updated' : 'downloaded';
55
- console.log(`✅ ${dossierName}@${version} (${status})`);
69
+ console.log(`✅ ${dossierName}@${version} (${status}) [${result._registry}]`);
56
70
  console.log(` ${contentFile}`);
57
71
  }
58
72
  catch (err) {
59
- if (err.statusCode === 404) {
73
+ const e = err;
74
+ if (e.statusCode === 404) {
60
75
  console.error(`❌ ${nameArg}: not found in registry`);
61
76
  }
62
77
  else {
63
- console.error(`❌ ${nameArg}: ${err.message}`);
78
+ console.error(`❌ ${nameArg}: ${e.message}`);
64
79
  }
65
80
  }
66
81
  }
@@ -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;AAIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwD5D"}
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"}
@@ -5,6 +5,7 @@ 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");
8
9
  const credentials_1 = require("../credentials");
9
10
  const registry_client_1 = require("../registry-client");
10
11
  function registerRemoveCommand(program) {
@@ -13,23 +14,48 @@ function registerRemoveCommand(program) {
13
14
  .description('Remove a dossier from the registry')
14
15
  .argument('<name>', 'Dossier name (use name@version to remove a specific version)')
15
16
  .option('-y, --yes', 'Skip confirmation prompt')
17
+ .option('--registry <name>', 'Target registry to remove from')
18
+ .option('--json', 'Output as JSON')
16
19
  .action(async (name, options) => {
17
- const credentials = (0, credentials_1.loadCredentials)();
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);
18
29
  if (!credentials) {
19
- console.error('\n❌ Not logged in. Run `dossier login` first.\n');
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
+ }
20
36
  process.exit(1);
21
37
  }
22
38
  if ((0, credentials_1.isExpired)(credentials)) {
23
- console.error('\n❌ Credentials expired. Run `dossier login` to re-authenticate.\n');
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
+ }
24
45
  process.exit(1);
25
46
  }
26
47
  const [dossierName, version] = (0, registry_client_1.parseNameVersion)(name);
27
48
  const target = version ? `${dossierName}@${version}` : dossierName;
28
49
  if (!options.yes) {
50
+ if (!process.stdin.isTTY) {
51
+ console.error('\n❌ Non-interactive session detected. Use -y/--yes to skip confirmation.\n');
52
+ process.exit(1);
53
+ }
29
54
  const msg = version
30
55
  ? `Are you sure you want to remove version '${version}' of '${dossierName}'?`
31
56
  : `Are you sure you want to remove '${dossierName}' and ALL its versions?`;
32
- console.log(`\n⚠️ ${msg}\n`);
57
+ console.log(`\n⚠️ ${msg}`);
58
+ console.log(` Registry: ${targetRegistry.name}\n`);
33
59
  const rl = node_readline_1.default.createInterface({ input: process.stdin, output: process.stderr });
34
60
  const answer = await new Promise((resolve) => {
35
61
  rl.question('Confirm removal? (y/N) ', resolve);
@@ -41,22 +67,46 @@ function registerRemoveCommand(program) {
41
67
  }
42
68
  }
43
69
  try {
44
- const client = (0, registry_client_1.getClient)(credentials.token);
70
+ const client = (0, registry_client_1.getClientForRegistry)(targetRegistry.url, credentials.token);
45
71
  await client.removeDossier(dossierName, version || null);
46
- console.log(`\n✅ Removed: ${target}\n`);
72
+ const verifyCommand = `dossier info ${target}`;
73
+ const cdnDelaySeconds = 30;
74
+ if (options.json) {
75
+ console.log(JSON.stringify({
76
+ removed: true,
77
+ name: target,
78
+ registry: targetRegistry.name,
79
+ verification: {
80
+ verify_command: verifyCommand,
81
+ cdn_delay_seconds: cdnDelaySeconds,
82
+ },
83
+ }, null, 2));
84
+ }
85
+ else {
86
+ console.log(`\n✅ Removed: ${target} [${targetRegistry.name}]`);
87
+ console.log(`\n ⏳ CDN propagation may take up to ${cdnDelaySeconds}s. Verify with:\n $ ${verifyCommand}\n`);
88
+ }
47
89
  }
48
90
  catch (err) {
49
- if (err.statusCode === 401) {
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) {
50
100
  console.error('\n❌ Session expired. Run `dossier login` to re-authenticate.\n');
51
101
  }
52
- else if (err.statusCode === 403) {
53
- console.error(`\n❌ Permission denied: ${err.message}\n`);
102
+ else if (e.statusCode === 403) {
103
+ console.error(`\n❌ Permission denied: ${e.message}\n`);
54
104
  }
55
- else if (err.statusCode === 404) {
105
+ else if (e.statusCode === 404) {
56
106
  console.error(`\n❌ Not found: ${target}\n`);
57
107
  }
58
108
  else {
59
- console.error(`\n❌ Remove failed: ${err.message}\n`);
109
+ console.error(`\n❌ Remove failed: ${e.message}\n`);
60
110
  }
61
111
  process.exit(1);
62
112
  }
@@ -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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"}
@@ -37,7 +37,7 @@ exports.registerResetHooksCommand = registerResetHooksCommand;
37
37
  const hooks = __importStar(require("../hooks"));
38
38
  function registerResetHooksCommand(program) {
39
39
  program
40
- .command('reset-hooks')
40
+ .command('reset-hooks', { hidden: true })
41
41
  .description('Remove the Claude Code discovery hook')
42
42
  .action(() => {
43
43
  const removed = hooks.removeClaudeHook();
@@ -1 +1 @@
1
- {"version":3,"file":"reset-hooks.js","sourceRoot":"","sources":["../../src/commands/reset-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,8DAYC;AAdD,gDAAkC;AAElC,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"reset-hooks.js","sourceRoot":"","sources":["../../src/commands/reset-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,8DAYC;AAdD,gDAAkC;AAElC,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACxC,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2PzD"}
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"}