@ai-dossier/cli 0.7.0 → 0.8.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 CHANGED
@@ -636,7 +636,7 @@ Exit 0 (safe) or 1 (unsafe)
636
636
  1. **Fail Secure**: Default to blocking on any verification failure
637
637
  2. **Exit Codes**: Machine-readable results for scripting
638
638
  3. **Clear Output**: Human-readable for manual use
639
- 4. **No Dependencies**: Uses only Node.js built-ins
639
+ 4. **Minimal Dependencies**: Core verification + commander CLI framework
640
640
  5. **Fast**: Verification in milliseconds
641
641
 
642
642
  ---
@@ -697,13 +697,31 @@ Exit 0 (safe) or 1 (unsafe)
697
697
  - ✅ Registry integration (publish, remove, install-skill)
698
698
  - ✅ Non-TTY stdin detection
699
699
 
700
- ### v0.5.0 (Current)
700
+ ### v0.5.0
701
701
  - ✅ Multi-registry support with parallel resolution
702
702
  - ✅ `dossier create` command with meta-dossier templates
703
703
  - ✅ `dossier export` and `dossier pull` commands
704
704
  - ✅ Agent discovery (`--agent` flag)
705
705
  - ✅ Enhanced auth: browser OAuth and env-based tokens
706
706
 
707
+ ### v0.6.0
708
+ - ✅ Unified dossier+skill creation template
709
+ - ✅ Pool-aware setup-issue-workflow dossiers
710
+ - ✅ `@ai-dossier/worktree-pool` package
711
+
712
+ ### v0.7.0
713
+ - ✅ Security hardening (execFileSync, Zod validation)
714
+ - ✅ Node 20+ requirement
715
+ - ✅ Coverage thresholds enforcement
716
+ - ✅ Documentation consistency fixes
717
+
718
+ ### v0.8.0 (Current)
719
+ - ✅ Zod validation on MCP prompt handlers
720
+ - ✅ Complete doc link audit and fix (30+ broken links)
721
+ - ✅ Remove all "coming soon" stubs
722
+ - ✅ Purge stale GitHub Packages / Node 18 references
723
+ - ✅ Improved getting-started learning path
724
+
707
725
  ### v1.0.0 (Stable)
708
726
  - ⏳ Complete signature verification
709
727
  - ⏳ Trust management UI
package/dist/cli.js CHANGED
@@ -12,6 +12,7 @@ const checksum_1 = require("./commands/checksum");
12
12
  const commands_1 = require("./commands/commands");
13
13
  const config_cmd_1 = require("./commands/config-cmd");
14
14
  const create_1 = require("./commands/create");
15
+ const doctor_1 = require("./commands/doctor");
15
16
  const export_1 = require("./commands/export");
16
17
  const format_1 = require("./commands/format");
17
18
  const from_file_1 = require("./commands/from-file");
@@ -89,6 +90,7 @@ Agent-friendly: Run \`ai-dossier --agent\` for machine-readable capabilities.`);
89
90
  (0, config_cmd_1.registerConfigCommand)(commander_1.program);
90
91
  (0, cache_1.registerCacheCommand)(commander_1.program);
91
92
  (0, history_1.registerHistoryCommand)(commander_1.program);
93
+ (0, doctor_1.registerDoctorCommand)(commander_1.program);
92
94
  // Hidden
93
95
  (0, prompt_hook_1.registerPromptHookCommand)(commander_1.program);
94
96
  (0, reset_hooks_1.registerResetHooksCommand)(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,26 @@
1
+ /**
2
+ * `ai-dossier doctor` — diagnostic command that checks the user's setup.
3
+ *
4
+ * Reports pass/fail/warning for:
5
+ * - Node.js version (>=20 required)
6
+ * - Package installation (@ai-dossier/cli, core, mcp-server)
7
+ * - MCP configuration (~/.claude/mcp.json has dossier entry)
8
+ * - Dossier files in the current project (*.ds.md)
9
+ * - Claude Code CLI availability
10
+ */
11
+ import type { Command } from 'commander';
12
+ export interface CheckResult {
13
+ name: string;
14
+ status: 'pass' | 'fail' | 'warn';
15
+ message: string;
16
+ detail?: string;
17
+ }
18
+ export declare function checkNodeVersion(): CheckResult;
19
+ export declare function checkPackageInstalled(packageName: string): CheckResult;
20
+ export declare function checkMcpConfig(): CheckResult;
21
+ export declare function checkDossierFiles(cwd: string): CheckResult;
22
+ export declare function checkClaudeCli(): CheckResult;
23
+ export declare function runAllChecks(cwd: string): CheckResult[];
24
+ export declare function formatResults(results: CheckResult[]): string;
25
+ export declare function registerDoctorCommand(program: Command): void;
26
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,gBAAgB,IAAI,WAAW,CAe9C;AAsCD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAgBtE;AAED,wBAAgB,cAAc,IAAI,WAAW,CAuC5C;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgB1D;AAyBD,wBAAgB,cAAc,IAAI,WAAW,CAgB5C;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAUvD;AAwBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CA6B5D;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB5D"}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ /**
3
+ * `ai-dossier doctor` — diagnostic command that checks the user's setup.
4
+ *
5
+ * Reports pass/fail/warning for:
6
+ * - Node.js version (>=20 required)
7
+ * - Package installation (@ai-dossier/cli, core, mcp-server)
8
+ * - MCP configuration (~/.claude/mcp.json has dossier entry)
9
+ * - Dossier files in the current project (*.ds.md)
10
+ * - Claude Code CLI availability
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.checkNodeVersion = checkNodeVersion;
17
+ exports.checkPackageInstalled = checkPackageInstalled;
18
+ exports.checkMcpConfig = checkMcpConfig;
19
+ exports.checkDossierFiles = checkDossierFiles;
20
+ exports.checkClaudeCli = checkClaudeCli;
21
+ exports.runAllChecks = runAllChecks;
22
+ exports.formatResults = formatResults;
23
+ exports.registerDoctorCommand = registerDoctorCommand;
24
+ const node_child_process_1 = require("node:child_process");
25
+ const node_fs_1 = __importDefault(require("node:fs"));
26
+ const node_path_1 = __importDefault(require("node:path"));
27
+ // ── Individual checks ────────────────────────────────────────────────────────
28
+ function checkNodeVersion() {
29
+ const [major] = process.versions.node.split('.').map(Number);
30
+ if (major >= 20) {
31
+ return {
32
+ name: 'Node.js version',
33
+ status: 'pass',
34
+ message: `v${process.versions.node} (>=20 required)`,
35
+ };
36
+ }
37
+ return {
38
+ name: 'Node.js version',
39
+ status: 'fail',
40
+ message: `v${process.versions.node} — Node.js >=20 is required`,
41
+ detail: 'Upgrade Node.js: https://nodejs.org/',
42
+ };
43
+ }
44
+ /**
45
+ * Check whether an npm package is resolvable from the CLI's own node_modules.
46
+ */
47
+ function isPackageInstalled(packageName) {
48
+ try {
49
+ require.resolve(packageName);
50
+ return true;
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ /**
57
+ * Try to read a package's version from its package.json.
58
+ */
59
+ function getPackageVersion(packageName) {
60
+ try {
61
+ const entryPath = require.resolve(packageName);
62
+ // Walk up to find the package.json
63
+ let dir = node_path_1.default.dirname(entryPath);
64
+ for (let i = 0; i < 10; i++) {
65
+ const pkgFile = node_path_1.default.join(dir, 'package.json');
66
+ if (node_fs_1.default.existsSync(pkgFile)) {
67
+ const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgFile, 'utf8'));
68
+ if (pkg.name === packageName) {
69
+ return pkg.version ?? null;
70
+ }
71
+ }
72
+ dir = node_path_1.default.dirname(dir);
73
+ }
74
+ }
75
+ catch {
76
+ // not installed
77
+ }
78
+ return null;
79
+ }
80
+ function checkPackageInstalled(packageName) {
81
+ const installed = isPackageInstalled(packageName);
82
+ const version = installed ? getPackageVersion(packageName) : null;
83
+ if (installed) {
84
+ return {
85
+ name: packageName,
86
+ status: 'pass',
87
+ message: version ? `v${version} installed` : 'installed',
88
+ };
89
+ }
90
+ return {
91
+ name: packageName,
92
+ status: 'fail',
93
+ message: 'not installed',
94
+ detail: `Install with: npm install -g ${packageName}`,
95
+ };
96
+ }
97
+ function checkMcpConfig() {
98
+ const mcpPath = node_path_1.default.join(process.env.HOME || process.env.USERPROFILE || '~', '.claude', 'mcp.json');
99
+ if (!node_fs_1.default.existsSync(mcpPath)) {
100
+ return {
101
+ name: 'MCP configuration',
102
+ status: 'warn',
103
+ message: `${mcpPath} not found`,
104
+ detail: 'Run: ai-dossier init',
105
+ };
106
+ }
107
+ try {
108
+ const config = JSON.parse(node_fs_1.default.readFileSync(mcpPath, 'utf8'));
109
+ if (config.mcpServers?.dossier) {
110
+ return {
111
+ name: 'MCP configuration',
112
+ status: 'pass',
113
+ message: 'dossier server configured in mcp.json',
114
+ };
115
+ }
116
+ return {
117
+ name: 'MCP configuration',
118
+ status: 'warn',
119
+ message: 'mcp.json exists but dossier server not configured',
120
+ detail: 'Run: ai-dossier init',
121
+ };
122
+ }
123
+ catch {
124
+ return {
125
+ name: 'MCP configuration',
126
+ status: 'warn',
127
+ message: 'mcp.json exists but could not be parsed',
128
+ detail: 'Check file for JSON syntax errors',
129
+ };
130
+ }
131
+ }
132
+ function checkDossierFiles(cwd) {
133
+ const files = findDsMdFiles(cwd);
134
+ if (files.length > 0) {
135
+ const noun = files.length === 1 ? 'dossier file' : 'dossier files';
136
+ return {
137
+ name: 'Dossier files',
138
+ status: 'pass',
139
+ message: `${files.length} ${noun} found in current project`,
140
+ };
141
+ }
142
+ return {
143
+ name: 'Dossier files',
144
+ status: 'warn',
145
+ message: 'no .ds.md files found in current directory',
146
+ detail: 'Create one with: ai-dossier create my-task',
147
+ };
148
+ }
149
+ /**
150
+ * Non-recursive search for .ds.md files in a directory (skips node_modules and dot-dirs).
151
+ */
152
+ function findDsMdFiles(dir, maxDepth = 3, currentDepth = 0) {
153
+ if (currentDepth > maxDepth)
154
+ return [];
155
+ const results = [];
156
+ try {
157
+ const entries = node_fs_1.default.readdirSync(dir, { withFileTypes: true });
158
+ for (const entry of entries) {
159
+ if (entry.name === 'node_modules' || entry.name.startsWith('.'))
160
+ continue;
161
+ const fullPath = node_path_1.default.join(dir, entry.name);
162
+ if (entry.isFile() && entry.name.endsWith('.ds.md')) {
163
+ results.push(fullPath);
164
+ }
165
+ else if (entry.isDirectory() && currentDepth < maxDepth) {
166
+ results.push(...findDsMdFiles(fullPath, maxDepth, currentDepth + 1));
167
+ }
168
+ }
169
+ }
170
+ catch {
171
+ // permission error or similar — skip silently
172
+ }
173
+ return results;
174
+ }
175
+ function checkClaudeCli() {
176
+ try {
177
+ (0, node_child_process_1.execFileSync)('which', ['claude'], { stdio: 'pipe' });
178
+ return {
179
+ name: 'Claude Code CLI',
180
+ status: 'pass',
181
+ message: 'claude command found on PATH',
182
+ };
183
+ }
184
+ catch {
185
+ return {
186
+ name: 'Claude Code CLI',
187
+ status: 'warn',
188
+ message: 'claude command not found on PATH',
189
+ detail: 'Install Claude Code: https://docs.anthropic.com/en/docs/claude-code',
190
+ };
191
+ }
192
+ }
193
+ // ── Main runner ──────────────────────────────────────────────────────────────
194
+ function runAllChecks(cwd) {
195
+ return [
196
+ checkNodeVersion(),
197
+ checkPackageInstalled('@ai-dossier/cli'),
198
+ checkPackageInstalled('@ai-dossier/core'),
199
+ checkPackageInstalled('@ai-dossier/mcp-server'),
200
+ checkMcpConfig(),
201
+ checkDossierFiles(cwd),
202
+ checkClaudeCli(),
203
+ ];
204
+ }
205
+ function statusIcon(status) {
206
+ switch (status) {
207
+ case 'pass':
208
+ return '\u2713'; // checkmark
209
+ case 'fail':
210
+ return '\u2717'; // cross
211
+ case 'warn':
212
+ return '!'; // exclamation
213
+ }
214
+ }
215
+ function statusLabel(status) {
216
+ switch (status) {
217
+ case 'pass':
218
+ return 'pass';
219
+ case 'fail':
220
+ return 'FAIL';
221
+ case 'warn':
222
+ return 'warn';
223
+ }
224
+ }
225
+ function formatResults(results) {
226
+ const lines = [];
227
+ lines.push('');
228
+ lines.push('ai-dossier doctor');
229
+ lines.push('');
230
+ for (const r of results) {
231
+ lines.push(` ${statusIcon(r.status)} [${statusLabel(r.status)}] ${r.name}: ${r.message}`);
232
+ if (r.detail) {
233
+ lines.push(` ${r.detail}`);
234
+ }
235
+ }
236
+ const passes = results.filter((r) => r.status === 'pass').length;
237
+ const fails = results.filter((r) => r.status === 'fail').length;
238
+ const warns = results.filter((r) => r.status === 'warn').length;
239
+ lines.push('');
240
+ lines.push(`${passes} passed, ${warns} warnings, ${fails} failed`);
241
+ if (fails > 0) {
242
+ lines.push('');
243
+ lines.push('Fix the failures above to ensure ai-dossier works correctly.');
244
+ }
245
+ lines.push('');
246
+ return lines.join('\n');
247
+ }
248
+ // ── Command registration ────────────────────────────────────────────────────
249
+ function registerDoctorCommand(program) {
250
+ program
251
+ .command('doctor')
252
+ .description('Check your environment for common ai-dossier setup issues')
253
+ .option('--json', 'Output results as JSON')
254
+ .action((options) => {
255
+ const results = runAllChecks(process.cwd());
256
+ if (options.json) {
257
+ console.log(JSON.stringify(results, null, 2));
258
+ }
259
+ else {
260
+ console.log(formatResults(results));
261
+ }
262
+ const hasFails = results.some((r) => r.status === 'fail');
263
+ if (hasFails) {
264
+ process.exit(1);
265
+ }
266
+ });
267
+ }
268
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsD1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF1D"}
@@ -44,8 +44,9 @@ const hooks = __importStar(require("../hooks"));
44
44
  function registerInitCommand(program) {
45
45
  program
46
46
  .command('init')
47
- .description('Initialize ~/.dossier/ directory and install Claude Code hook')
47
+ .description('Initialize ~/.dossier/ directory, install Claude Code hook and MCP server')
48
48
  .option('--skip-hooks', 'Skip installing the Claude Code hook')
49
+ .option('--skip-mcp', 'Skip configuring the MCP server for Claude Code')
49
50
  .action((options) => {
50
51
  const dossierDir = config.CONFIG_DIR;
51
52
  const cacheDir = node_path_1.default.join(dossierDir, 'cache');
@@ -92,7 +93,34 @@ function registerInitCommand(program) {
92
93
  console.log(' ✓ Claude Code discovery hook already installed');
93
94
  }
94
95
  }
96
+ if (options.skipMcp) {
97
+ console.log(' - Skipped MCP server configuration (--skip-mcp)');
98
+ }
99
+ else {
100
+ const result = hooks.installMcpServer();
101
+ if (result === 'installed') {
102
+ console.log(' ✓ Configured MCP server for Claude Code');
103
+ }
104
+ else if (result === 'already') {
105
+ console.log(' ✓ MCP server already configured');
106
+ }
107
+ else {
108
+ console.log(' ⚠ Could not configure MCP server automatically');
109
+ console.log(' Run manually: claude mcp add dossier -- npx @ai-dossier/mcp-server');
110
+ }
111
+ }
95
112
  console.log('\n✅ Dossier initialized successfully\n');
113
+ // What's next? summary
114
+ console.log("📋 What's next?\n");
115
+ console.log(' Try these commands:');
116
+ console.log(' $ ai-dossier search deploy Search for dossiers');
117
+ console.log(' $ ai-dossier list List local dossiers');
118
+ console.log(' $ ai-dossier create my-task Create a new dossier');
119
+ console.log('');
120
+ if (!options.skipMcp) {
121
+ console.log(' Claude Code can now discover and run dossiers automatically.');
122
+ console.log(' Start a Claude Code session and ask it to list available dossiers.\n');
123
+ }
96
124
  });
97
125
  }
98
126
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,kDAsDC;AA5DD,sDAAyB;AACzB,0DAA6B;AAE7B,kDAAoC;AACpC,gDAAkC;AAElC,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAC9D,MAAM,CAAC,CAAC,OAAgC,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAElE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAE3C,IAAI,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,iBAAiB,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,iBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,iBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,iBAAiB,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,iBAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,eAAe,iBAAiB,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,iBAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8D3D"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4E3D"}
@@ -15,7 +15,12 @@ For non-interactive environments (CI/CD), use environment variables instead:
15
15
  DOSSIER_REGISTRY_URL Registry URL (creates virtual "env" registry)
16
16
  `)
17
17
  .action(async (options) => {
18
- if (!process.stdin.isTTY) {
18
+ // Non-interactive sessions can't complete the OAuth copy/paste flow.
19
+ // Surface the env-var alternative early — before opening a browser or
20
+ // printing the auth URL — to keep CI logs clean. Smoke tests bypass
21
+ // this with DOSSIER_LOGIN_ALLOW_NONINTERACTIVE=1 to exercise the full
22
+ // login path with piped stdin.
23
+ if (!process.stdin.isTTY && !process.env.DOSSIER_LOGIN_ALLOW_NONINTERACTIVE) {
19
24
  console.error('\n❌ Non-interactive session detected. Cannot run OAuth flow.');
20
25
  console.error(' Set the DOSSIER_REGISTRY_TOKEN environment variable instead:\n');
21
26
  console.error(' export DOSSIER_REGISTRY_TOKEN=<your-token>\n');
@@ -54,6 +59,15 @@ For non-interactive environments (CI/CD), use environment variables instead:
54
59
  console.error(`\n❌ Login failed: ${err.message}\n`);
55
60
  process.exit(1);
56
61
  }
62
+ // Force exit on the success path. stdin is already unref'd by prompt()
63
+ // (PR #386), but when stdio is fully piped (CI smoke tests, scripted
64
+ // callers) stdout/stderr remain referenced and keep the event loop
65
+ // alive. Unref'ing them is unreliable because Node may re-ref on
66
+ // pending kernel writes; an explicit exit is the most robust signal
67
+ // that this command has completed all its synchronous work.
68
+ // Placed outside the try block so the catch can't intercept it —
69
+ // anything async added on the success path MUST be awaited inside try.
70
+ process.exit(0);
57
71
  });
58
72
  }
59
73
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;AAKA,oDA8DC;AAlED,sCAAqE;AACrE,gDAAiD;AACjD,oCAAwC;AAExC,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,kGAAkG,CACnG;SACA,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,WAAW,CACV,OAAO,EACP;;;;CAIL,CACI;SACA,MAAM,CAAC,KAAK,EAAE,OAA8B,EAAE,EAAE;QAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAA,0BAAiB,GAAE,CAAC;YAC1C,IAAI,YAAoB,CAAC;YACzB,IAAI,WAAmB,CAAC;YAExB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpD,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;gBACxB,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAC;YAE/C,IAAA,6BAAe,EACb;gBACE,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,EACD,YAAY,CACb,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,qBAAsB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;AAKA,oDA4EC;AAhFD,sCAAqE;AACrE,gDAAiD;AACjD,oCAAwC;AAExC,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,kGAAkG,CACnG;SACA,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,WAAW,CACV,OAAO,EACP;;;;CAIL,CACI;SACA,MAAM,CAAC,KAAK,EAAE,OAA8B,EAAE,EAAE;QAC/C,qEAAqE;QACrE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAA,0BAAiB,GAAE,CAAC;YAC1C,IAAI,YAAoB,CAAC;YACzB,IAAI,WAAmB,CAAC;YAExB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpD,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;gBACxB,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAC;YAE/C,IAAA,6BAAe,EACb;gBACE,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,EACD,YAAY,CACb,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,qBAAsB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,4DAA4D;QAC5D,iEAAiE;QACjE,uEAAuE;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/help.js CHANGED
@@ -14,7 +14,7 @@ const CATEGORIES = [
14
14
  },
15
15
  { name: 'Skills', commands: ['install-skill', 'skill-export'] },
16
16
  { name: 'Security', commands: ['sign', 'checksum', 'keys'] },
17
- { name: 'Auth & Config', commands: ['login', 'logout', 'whoami', 'config', 'cache'] },
17
+ { name: 'Auth & Config', commands: ['login', 'logout', 'whoami', 'config', 'cache', 'doctor'] },
18
18
  ];
19
19
  function formatHelpGrouped(cmd, helper) {
20
20
  const termWidth = helper.padWidth(cmd, helper);
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -169,7 +169,7 @@ function detectLlm(llmOption, silent = false) {
169
169
  }
170
170
  // Auto-detect LLM
171
171
  try {
172
- (0, node_child_process_1.execSync)('command -v claude', { stdio: 'pipe' });
172
+ (0, node_child_process_1.execFileSync)('which', ['claude'], { stdio: 'pipe' });
173
173
  if (!silent)
174
174
  console.log(' Detected: Claude Code');
175
175
  return 'claude-code';
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/hooks.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Claude Code hook integration for Dossier CLI.
3
- * Manages the UserPromptSubmit hook that triggers automatic dossier discovery.
3
+ * Manages the UserPromptSubmit hook that triggers automatic dossier discovery,
4
+ * and MCP server configuration for Claude Code.
4
5
  */
5
6
  export interface DossierEntry {
6
7
  name: string;
@@ -34,5 +35,32 @@ declare function getCachedDossierList(): DossierEntry[] | null;
34
35
  * Write dossier list to cache file.
35
36
  */
36
37
  declare function saveDossierListCache(dossiers: DossierEntry[]): void;
37
- export { DOSSIER_HOOK_ID, DOSSIER_HOOK_COMMAND, DOSSIER_HOOK_PATTERN, CLAUDE_SETTINGS_FILE, DOSSIER_LIST_CACHE_FILE, CACHE_TTL_MS, installClaudeHook, removeClaudeHook, matchesHookPattern, getCachedDossierList, saveDossierListCache, };
38
+ declare const CLAUDE_MCP_CONFIG_FILE: string;
39
+ declare const MCP_SERVER_NAME = "dossier";
40
+ declare const MCP_SERVER_PACKAGE = "@ai-dossier/mcp-server";
41
+ /**
42
+ * Check whether the `claude` CLI is available on PATH.
43
+ */
44
+ declare function isClaudeCliAvailable(): boolean;
45
+ /**
46
+ * Check if the dossier MCP server is already configured.
47
+ * Checks both `claude mcp list` output (if CLI available) and the JSON config file.
48
+ */
49
+ declare function isMcpServerConfigured(): boolean;
50
+ /**
51
+ * Configure the dossier MCP server for Claude Code.
52
+ *
53
+ * Strategy:
54
+ * 1. If `claude` CLI is on PATH, use `claude mcp add` (canonical approach)
55
+ * 2. Otherwise, fall back to writing ~/.claude/mcp.json directly
56
+ *
57
+ * Returns 'installed' | 'already' | 'error'
58
+ */
59
+ declare function installMcpServer(): 'installed' | 'already' | 'error';
60
+ /**
61
+ * Write the MCP server config directly to ~/.claude/mcp.json.
62
+ * Merges safely with existing config.
63
+ */
64
+ declare function installMcpServerViaJson(): 'installed' | 'already';
65
+ export { DOSSIER_HOOK_ID, DOSSIER_HOOK_COMMAND, DOSSIER_HOOK_PATTERN, CLAUDE_SETTINGS_FILE, CLAUDE_MCP_CONFIG_FILE, MCP_SERVER_NAME, MCP_SERVER_PACKAGE, DOSSIER_LIST_CACHE_FILE, CACHE_TTL_MS, installClaudeHook, removeClaudeHook, matchesHookPattern, getCachedDossierList, saveDossierListCache, isClaudeCliAvailable, isMcpServerConfigured, installMcpServer, installMcpServerViaJson, };
38
66
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAkBD,QAAA,MAAM,eAAe,2BAA2B,CAAC;AACjD,QAAA,MAAM,oBAAoB,wBAAwB,CAAC;AAEnD,QAAA,MAAM,oBAAoB,QAC0H,CAAC;AAErJ,QAAA,MAAM,oBAAoB,QAAsD,CAAC;AACjF,QAAA,MAAM,uBAAuB,QAAmD,CAAC;AACjF,QAAA,MAAM,YAAY,SAAU,CAAC;AAE7B;;;GAGG;AACH,iBAAS,iBAAiB,IAAI,OAAO,CAoDpC;AAED;;;GAGG;AACH,iBAAS,gBAAgB,IAAI,OAAO,CAkCnC;AAED;;GAEG;AACH,iBAAS,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnD;AAOD;;GAEG;AACH,iBAAS,oBAAoB,IAAI,YAAY,EAAE,GAAG,IAAI,CAerD;AAED;;GAEG;AACH,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAO5D;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAkBD,QAAA,MAAM,eAAe,2BAA2B,CAAC;AACjD,QAAA,MAAM,oBAAoB,wBAAwB,CAAC;AAEnD,QAAA,MAAM,oBAAoB,QAC0H,CAAC;AAErJ,QAAA,MAAM,oBAAoB,QAAsD,CAAC;AACjF,QAAA,MAAM,uBAAuB,QAAmD,CAAC;AACjF,QAAA,MAAM,YAAY,SAAU,CAAC;AAE7B;;;GAGG;AACH,iBAAS,iBAAiB,IAAI,OAAO,CAoDpC;AAED;;;GAGG;AACH,iBAAS,gBAAgB,IAAI,OAAO,CAkCnC;AAED;;GAEG;AACH,iBAAS,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnD;AAOD;;GAEG;AACH,iBAAS,oBAAoB,IAAI,YAAY,EAAE,GAAG,IAAI,CAerD;AAED;;GAEG;AACH,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAO5D;AAID,QAAA,MAAM,sBAAsB,QAAiD,CAAC;AAC9E,QAAA,MAAM,eAAe,YAAY,CAAC;AAClC,QAAA,MAAM,kBAAkB,2BAA2B,CAAC;AAapD;;GAEG;AACH,iBAAS,oBAAoB,IAAI,OAAO,CAOvC;AAED;;;GAGG;AACH,iBAAS,qBAAqB,IAAI,OAAO,CAcxC;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,IAAI,WAAW,GAAG,SAAS,GAAG,OAAO,CAyB7D;AAED;;;GAGG;AACH,iBAAS,uBAAuB,IAAI,WAAW,GAAG,SAAS,CA+B1D;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GACxB,CAAC"}
package/dist/hooks.js CHANGED
@@ -1,18 +1,24 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Claude Code hook integration for Dossier CLI.
4
- * Manages the UserPromptSubmit hook that triggers automatic dossier discovery.
4
+ * Manages the UserPromptSubmit hook that triggers automatic dossier discovery,
5
+ * and MCP server configuration for Claude Code.
5
6
  */
6
7
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
9
  };
9
10
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.CACHE_TTL_MS = exports.DOSSIER_LIST_CACHE_FILE = exports.CLAUDE_SETTINGS_FILE = exports.DOSSIER_HOOK_PATTERN = exports.DOSSIER_HOOK_COMMAND = exports.DOSSIER_HOOK_ID = void 0;
11
+ exports.CACHE_TTL_MS = exports.DOSSIER_LIST_CACHE_FILE = exports.MCP_SERVER_PACKAGE = exports.MCP_SERVER_NAME = exports.CLAUDE_MCP_CONFIG_FILE = exports.CLAUDE_SETTINGS_FILE = exports.DOSSIER_HOOK_PATTERN = exports.DOSSIER_HOOK_COMMAND = exports.DOSSIER_HOOK_ID = void 0;
11
12
  exports.installClaudeHook = installClaudeHook;
12
13
  exports.removeClaudeHook = removeClaudeHook;
13
14
  exports.matchesHookPattern = matchesHookPattern;
14
15
  exports.getCachedDossierList = getCachedDossierList;
15
16
  exports.saveDossierListCache = saveDossierListCache;
17
+ exports.isClaudeCliAvailable = isClaudeCliAvailable;
18
+ exports.isMcpServerConfigured = isMcpServerConfigured;
19
+ exports.installMcpServer = installMcpServer;
20
+ exports.installMcpServerViaJson = installMcpServerViaJson;
21
+ const node_child_process_1 = require("node:child_process");
16
22
  const node_fs_1 = __importDefault(require("node:fs"));
17
23
  const node_os_1 = __importDefault(require("node:os"));
18
24
  const node_path_1 = __importDefault(require("node:path"));
@@ -152,4 +158,104 @@ function saveDossierListCache(dossiers) {
152
158
  // Best-effort caching — ignore write errors
153
159
  }
154
160
  }
161
+ // ─── MCP Server Configuration ───────────────────────────────────────────────
162
+ const CLAUDE_MCP_CONFIG_FILE = node_path_1.default.join(node_os_1.default.homedir(), '.claude', 'mcp.json');
163
+ exports.CLAUDE_MCP_CONFIG_FILE = CLAUDE_MCP_CONFIG_FILE;
164
+ const MCP_SERVER_NAME = 'dossier';
165
+ exports.MCP_SERVER_NAME = MCP_SERVER_NAME;
166
+ const MCP_SERVER_PACKAGE = '@ai-dossier/mcp-server';
167
+ exports.MCP_SERVER_PACKAGE = MCP_SERVER_PACKAGE;
168
+ /**
169
+ * Check whether the `claude` CLI is available on PATH.
170
+ */
171
+ function isClaudeCliAvailable() {
172
+ try {
173
+ (0, node_child_process_1.execFileSync)('which', ['claude'], { stdio: 'pipe' });
174
+ return true;
175
+ }
176
+ catch {
177
+ return false;
178
+ }
179
+ }
180
+ /**
181
+ * Check if the dossier MCP server is already configured.
182
+ * Checks both `claude mcp list` output (if CLI available) and the JSON config file.
183
+ */
184
+ function isMcpServerConfigured() {
185
+ // Check JSON config file
186
+ if (node_fs_1.default.existsSync(CLAUDE_MCP_CONFIG_FILE)) {
187
+ try {
188
+ const config = JSON.parse(node_fs_1.default.readFileSync(CLAUDE_MCP_CONFIG_FILE, 'utf8'));
189
+ if (config.mcpServers?.[MCP_SERVER_NAME]) {
190
+ return true;
191
+ }
192
+ }
193
+ catch {
194
+ // Corrupted file — continue to check other methods
195
+ }
196
+ }
197
+ return false;
198
+ }
199
+ /**
200
+ * Configure the dossier MCP server for Claude Code.
201
+ *
202
+ * Strategy:
203
+ * 1. If `claude` CLI is on PATH, use `claude mcp add` (canonical approach)
204
+ * 2. Otherwise, fall back to writing ~/.claude/mcp.json directly
205
+ *
206
+ * Returns 'installed' | 'already' | 'error'
207
+ */
208
+ function installMcpServer() {
209
+ if (isMcpServerConfigured()) {
210
+ return 'already';
211
+ }
212
+ // Try claude CLI first
213
+ if (isClaudeCliAvailable()) {
214
+ try {
215
+ (0, node_child_process_1.execFileSync)('claude', ['mcp', 'add', MCP_SERVER_NAME, '--scope', 'user', '--', 'npx', MCP_SERVER_PACKAGE], { stdio: 'pipe' });
216
+ return 'installed';
217
+ }
218
+ catch {
219
+ // CLI approach failed — fall back to JSON config
220
+ }
221
+ }
222
+ // Fall back to writing JSON config
223
+ try {
224
+ return installMcpServerViaJson();
225
+ }
226
+ catch {
227
+ return 'error';
228
+ }
229
+ }
230
+ /**
231
+ * Write the MCP server config directly to ~/.claude/mcp.json.
232
+ * Merges safely with existing config.
233
+ */
234
+ function installMcpServerViaJson() {
235
+ let config = {};
236
+ const claudeDir = node_path_1.default.dirname(CLAUDE_MCP_CONFIG_FILE);
237
+ if (!node_fs_1.default.existsSync(claudeDir)) {
238
+ node_fs_1.default.mkdirSync(claudeDir, { recursive: true, mode: 0o700 });
239
+ }
240
+ if (node_fs_1.default.existsSync(CLAUDE_MCP_CONFIG_FILE)) {
241
+ try {
242
+ config = JSON.parse(node_fs_1.default.readFileSync(CLAUDE_MCP_CONFIG_FILE, 'utf8'));
243
+ }
244
+ catch {
245
+ config = {};
246
+ }
247
+ }
248
+ if (!config.mcpServers) {
249
+ config.mcpServers = {};
250
+ }
251
+ if (config.mcpServers[MCP_SERVER_NAME]) {
252
+ return 'already';
253
+ }
254
+ config.mcpServers[MCP_SERVER_NAME] = {
255
+ command: 'npx',
256
+ args: [MCP_SERVER_PACKAGE],
257
+ };
258
+ node_fs_1.default.writeFileSync(CLAUDE_MCP_CONFIG_FILE, JSON.stringify(config, null, 2), 'utf8');
259
+ return 'installed';
260
+ }
155
261
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAyTD,8CAAiB;AACjB,4CAAgB;AAChB,gDAAkB;AAClB,oDAAoB;AACpB,oDAAoB;AACpB,oDAAoB;AACpB,sDAAqB;AACrB,4CAAgB;AAChB,0DAAuB;AA/TzB,2DAAkD;AAClD,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAC7B,qCAAsC;AAuBtC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAmR/C,0CAAe;AAlRjB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAmRjD,oDAAoB;AAjRtB,MAAM,oBAAoB,GACxB,kJAAkJ,CAAC;AAiRnJ,oDAAoB;AA/QtB,MAAM,oBAAoB,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAgR/E,oDAAoB;AA/QtB,MAAM,uBAAuB,GAAG,mBAAI,CAAC,IAAI,CAAC,mBAAU,EAAE,yBAAyB,CAAC,CAAC;AAmR/E,0DAAuB;AAlRzB,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,YAAY;AAmRxC,oCAAY;AAjRd;;;GAGG;AACH,SAAS,iBAAiB;IACxB,IAAI,QAAQ,GAAmB,EAAE,CAAC;IAElC,qCAAqC;IACrC,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,iBAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,yBAAyB;IACzB,IAAI,iBAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAE9C,gFAAgF;IAChF,MAAM,WAAW,GAAG,CAAC,CAAkB,EAAW,EAAE;QAClD,IAAI,CAAC,CAAC,EAAE,KAAK,eAAe,IAAI,CAAC,CAAC,OAAO,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAChF,uDAAuD;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,oBAAoB,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oBAAoB;QAC7B,EAAE,EAAE,eAAe;KACpB,CAAC,CAAC;IAEH,iBAAE,CAAC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,CAAkB,EAAW,EAAE;QAClD,IAAI,CAAC,CAAC,EAAE,KAAK,eAAe,IAAI,CAAC,CAAC,OAAO,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAChF,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,oBAAoB,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAExE,IAAI,aAAa,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAE,CAAC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,MAAc;IACxC,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAOD;;GAEG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAc,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;QACrF,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAwB;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,GAAc,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC5D,iBAAE,CAAC,aAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,MAAM,sBAAsB,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AA6H5E,wDAAsB;AA5HxB,MAAM,eAAe,GAAG,SAAS,CAAC;AA6HhC,0CAAe;AA5HjB,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AA6HlD,gDAAkB;AAhHpB;;GAEG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB;IAC5B,yBAAyB;IACzB,IAAI,iBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAc,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB;IACvB,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB;IACvB,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAA,iCAAY,EACV,QAAQ,EACR,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACnF,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC;QACH,OAAO,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB;IAC9B,IAAI,MAAM,GAAc,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,iBAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,iBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG;QACnC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,kBAAkB,CAAC;KAC3B,CAAC;IAEF,iBAAE,CAAC,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/dist/oauth.d.ts CHANGED
@@ -13,6 +13,17 @@ export interface OAuthResult {
13
13
  declare class OAuthError extends Error {
14
14
  constructor(message: string);
15
15
  }
16
+ /**
17
+ * Exact prompt string the user sees when login is awaiting the OAuth code.
18
+ * Exported so smoke tests can wait for it on stderr without duplicating the
19
+ * literal — keeps the test from silently breaking if the copy is reworded.
20
+ */
21
+ export declare const LOGIN_CODE_PROMPT = "Enter the code from your browser: ";
22
+ /**
23
+ * Prompt the user for input via the given readable stream (default: process.stdin).
24
+ * Exported for tests; production callers omit `input` and get process.stdin.
25
+ */
26
+ export declare function prompt(question: string, input?: NodeJS.ReadableStream): Promise<string>;
16
27
  /**
17
28
  * Run the OAuth flow using copy/paste method.
18
29
  * Opens a browser for GitHub authentication. The registry displays a code
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AASD,cAAM,UAAW,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAI5B;AAuDD;;;;GAIG;AACH,iBAAe,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA+CrE;AAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AASD,cAAM,UAAW,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,uCAAuC,CAAC;AAyCtE;;;GAGG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAM,CAAC,cAA8B,GAC3C,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;GAIG;AACH,iBAAe,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDrE;AAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
package/dist/oauth.js CHANGED
@@ -8,7 +8,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.OAuthError = void 0;
11
+ exports.OAuthError = exports.LOGIN_CODE_PROMPT = void 0;
12
+ exports.prompt = prompt;
12
13
  exports.runOAuthFlow = runOAuthFlow;
13
14
  const node_child_process_1 = require("node:child_process");
14
15
  const node_readline_1 = __importDefault(require("node:readline"));
@@ -19,6 +20,12 @@ class OAuthError extends Error {
19
20
  }
20
21
  }
21
22
  exports.OAuthError = OAuthError;
23
+ /**
24
+ * Exact prompt string the user sees when login is awaiting the OAuth code.
25
+ * Exported so smoke tests can wait for it on stderr without duplicating the
26
+ * literal — keeps the test from silently breaking if the copy is reworded.
27
+ */
28
+ exports.LOGIN_CODE_PROMPT = 'Enter the code from your browser: ';
22
29
  /**
23
30
  * Decode a base64url-encoded string, adding padding if needed.
24
31
  */
@@ -51,21 +58,30 @@ function openBrowser(url) {
51
58
  cmd = 'xdg-open';
52
59
  args = [url];
53
60
  }
54
- (0, node_child_process_1.execFile)(cmd, args, (_err) => {
61
+ const child = (0, node_child_process_1.execFile)(cmd, args, (_err) => {
55
62
  // Browser failed to open — URL is already printed for the user
56
63
  });
64
+ // Don't keep the parent alive while the browser process lingers.
65
+ child.unref();
57
66
  }
58
67
  /**
59
- * Prompt the user for input via stdin.
68
+ * Prompt the user for input via the given readable stream (default: process.stdin).
69
+ * Exported for tests; production callers omit `input` and get process.stdin.
60
70
  */
61
- function prompt(question) {
71
+ function prompt(question, input = process.stdin) {
62
72
  const rl = node_readline_1.default.createInterface({
63
- input: process.stdin,
73
+ input,
64
74
  output: process.stderr,
65
75
  });
66
76
  return new Promise((resolve) => {
67
77
  rl.question(question, (answer) => {
68
78
  rl.close();
79
+ // Without this, readline's reference on stdin keeps the event loop alive
80
+ // and the CLI hangs after a successful login instead of exiting.
81
+ // Only applies to process.stdin; other streams manage their own refs.
82
+ if (input === process.stdin) {
83
+ process.stdin.unref();
84
+ }
69
85
  resolve(answer);
70
86
  });
71
87
  });
@@ -80,8 +96,11 @@ async function runOAuthFlow(registryUrl) {
80
96
  console.log(`\n🔐 Opening browser for GitHub authentication...`);
81
97
  console.log(` If it doesn't open automatically, visit:\n ${authUrl}\n`);
82
98
  openBrowser(authUrl);
83
- const code = (await prompt('Enter the code from your browser: ')).trim();
99
+ const code = (await prompt(exports.LOGIN_CODE_PROMPT)).trim();
84
100
  if (!code) {
101
+ if (!process.stdin.isTTY) {
102
+ throw new OAuthError('No code provided. Non-interactive session detected — set DOSSIER_REGISTRY_TOKEN instead.');
103
+ }
85
104
  throw new OAuthError('No code provided');
86
105
  }
87
106
  // The code is a base64url-encoded JWT
package/dist/oauth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAsIkB,oCAAY;AApIjC,2DAA8C;AAC9C,kEAAqC;AAiBrC,MAAM,UAAW,SAAQ,KAAK;IAC5B,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AA6GQ,gCAAU;AA3GnB;;GAEG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,oDAAoD;IACpD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxD,cAAc;IACd,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,GAAW,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,GAAG,GAAG,MAAM,CAAC;QACb,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,GAAG,GAAG,KAAK,CAAC;QACZ,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,UAAU,CAAC;QACjB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAA,6BAAQ,EAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,+DAA+D;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,QAAgB;IAC9B,MAAM,EAAE,GAAG,uBAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,WAAmB;IAC7C,MAAM,OAAO,GAAG,GAAG,WAAW,aAAa,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,mDAAmD,OAAO,IAAI,CAAC,CAAC;IAE5E,WAAW,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAAC,wBAAyB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAmB,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAAC,kBAAmB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO;QACL,KAAK;QACL,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;QAC5B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;KAC3E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HTTP client for the Dossier Registry API.
3
- * Uses Node.js built-in fetch (Node 18+).
3
+ * Uses Node.js built-in fetch (Node 20+).
4
4
  */
5
5
  declare class RegistryError extends Error {
6
6
  statusCode: number | null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * HTTP client for the Dossier Registry API.
4
- * Uses Node.js built-in fetch (Node 18+).
4
+ * Uses Node.js built-in fetch (Node 20+).
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.RegistryError = exports.RegistryClient = void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-dossier/cli",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "description": "Command-line tool for creating, verifying, and executing dossiers",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -15,7 +15,8 @@
15
15
  "build": "tsc",
16
16
  "test": "vitest run",
17
17
  "test:watch": "vitest",
18
- "test:coverage": "vitest run --coverage"
18
+ "test:coverage": "vitest run --coverage",
19
+ "test:smoke": "node test/smoke/login.smoke.mjs ./bin/ai-dossier"
19
20
  },
20
21
  "keywords": [
21
22
  "dossier",
@@ -45,13 +46,13 @@
45
46
  "registry": "https://registry.npmjs.org"
46
47
  },
47
48
  "dependencies": {
48
- "@ai-dossier/core": "^1.2.0",
49
+ "@ai-dossier/core": "^1.3.1",
49
50
  "commander": "^12.1.0"
50
51
  },
51
52
  "devDependencies": {
52
- "typescript": "^5.9.3",
53
53
  "@types/node": "^24.10.0",
54
- "vitest": "^4.0.9",
55
- "@vitest/coverage-v8": "^4.0.9"
54
+ "@vitest/coverage-v8": "^4.0.9",
55
+ "typescript": "^5.9.3",
56
+ "vitest": "^4.0.9"
56
57
  }
57
58
  }