@ai-dossier/cli 0.8.0 → 0.8.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.
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts +26 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +268 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +29 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +15 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/traces.d.ts +4 -0
- package/dist/commands/traces.d.ts.map +1 -0
- package/dist/commands/traces.js +194 -0
- package/dist/commands/traces.js.map +1 -0
- package/dist/help.js +1 -1
- package/dist/help.js.map +1 -1
- package/dist/hooks.d.ts +30 -2
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +108 -2
- package/dist/hooks.js.map +1 -1
- package/dist/oauth.d.ts +11 -0
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +25 -6
- package/dist/oauth.js.map +1 -1
- package/dist/registry-client.d.ts +47 -1
- package/dist/registry-client.d.ts.map +1 -1
- package/dist/registry-client.js +38 -0
- package/dist/registry-client.js.map +1 -1
- package/package.json +7 -6
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");
|
|
@@ -34,6 +35,7 @@ const run_1 = require("./commands/run");
|
|
|
34
35
|
const search_1 = require("./commands/search");
|
|
35
36
|
const sign_1 = require("./commands/sign");
|
|
36
37
|
const skill_export_1 = require("./commands/skill-export");
|
|
38
|
+
const traces_1 = require("./commands/traces");
|
|
37
39
|
const validate_1 = require("./commands/validate");
|
|
38
40
|
const verify_1 = require("./commands/verify");
|
|
39
41
|
const whoami_1 = require("./commands/whoami");
|
|
@@ -89,6 +91,8 @@ Agent-friendly: Run \`ai-dossier --agent\` for machine-readable capabilities.`);
|
|
|
89
91
|
(0, config_cmd_1.registerConfigCommand)(commander_1.program);
|
|
90
92
|
(0, cache_1.registerCacheCommand)(commander_1.program);
|
|
91
93
|
(0, history_1.registerHistoryCommand)(commander_1.program);
|
|
94
|
+
(0, doctor_1.registerDoctorCommand)(commander_1.program);
|
|
95
|
+
(0, traces_1.registerTracesCommand)(commander_1.program);
|
|
92
96
|
// Hidden
|
|
93
97
|
(0, prompt_hook_1.registerPromptHookCommand)(commander_1.program);
|
|
94
98
|
(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":";AAAA;;;GAGG;;AAEH,yCAAoC;AAEpC,eAAe;AACf,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,4CAAwD;AACxD,kDAA8D;AAC9D,kDAA8D;AAC9D,sDAA8D;AAC9D,8CAA0D;AAC1D,8CAA0D;AAC1D,8CAA0D;AAC1D,oDAA+D;AAC/D,wCAAoD;AACpD,gDAA4D;AAC5D,0CAAsD;AACtD,0CAAsD;AACtD,4DAAuE;AACvE,0CAAsD;AACtD,0CAAsD;AACtD,0CAAsD;AACtD,4CAAwD;AACxD,8CAA0D;AAC1D,wDAAmE;AACnE,gDAA4D;AAC5D,0CAAsD;AACtD,8CAA0D;AAC1D,wDAAmE;AACnE,wCAAoD;AACpD,8CAA0D;AAC1D,0CAAsD;AACtD,0DAAqE;AACrE,kDAA8D;AAC9D,8CAA0D;AAC1D,8CAA0D;AAC1D,iCAA2C;AAE3C,gBAAgB;AAChB,mBAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CACV,qJAAqJ,CACtJ;KACA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,MAAM,CAAC,SAAS,EAAE,iEAAiE,CAAC;KACpF,aAAa,CAAC,EAAE,UAAU,EAAE,wBAAiB,EAAE,CAAC;KAChD,WAAW,CACV,OAAO,EACP;;;;;;;;;8EAS0E,CAC3E,CAAC;AAEJ,8CAA8C;AAE9C,kBAAkB;AAClB,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,mCAAuB,EAAC,mBAAO,CAAC,CAAC;AAEjC,eAAe;AACf,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,wBAAkB,EAAC,mBAAO,CAAC,CAAC;AAC5B,IAAA,kCAAuB,EAAC,mBAAO,CAAC,CAAC;AACjC,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAE/B,WAAW;AACX,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,wBAAkB,EAAC,mBAAO,CAAC,CAAC;AAC5B,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,gCAAsB,EAAC,mBAAO,CAAC,CAAC;AAChC,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAE/B,SAAS;AACT,IAAA,2CAA2B,EAAC,mBAAO,CAAC,CAAC;AACrC,IAAA,yCAA0B,EAAC,mBAAO,CAAC,CAAC;AAEpC,WAAW;AACX,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,kCAAuB,EAAC,mBAAO,CAAC,CAAC;AACjC,IAAA,0BAAmB,EAAC,mBAAO,CAAC,CAAC;AAE7B,gBAAgB;AAChB,IAAA,4BAAoB,EAAC,mBAAO,CAAC,CAAC;AAC9B,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,8BAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,kCAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,mBAAO,CAAC,CAAC;AAC9B,IAAA,gCAAsB,EAAC,mBAAO,CAAC,CAAC;
|
|
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,
|
|
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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -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
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/commands/login.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../src/commands/traces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC,wDAAwD;AACxD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF5D"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerTracesCommand = registerTracesCommand;
|
|
4
|
+
const config_1 = require("../config");
|
|
5
|
+
const credentials_1 = require("../credentials");
|
|
6
|
+
const registry_client_1 = require("../registry-client");
|
|
7
|
+
/** Registers the `traces` command tree (list, show). */
|
|
8
|
+
function registerTracesCommand(program) {
|
|
9
|
+
const tracesCmd = program
|
|
10
|
+
.command('traces')
|
|
11
|
+
.description('Inspect execution traces in the registry');
|
|
12
|
+
tracesCmd
|
|
13
|
+
.command('list')
|
|
14
|
+
.description('List your execution traces (or org traces with --org)')
|
|
15
|
+
.option('--status <status>', 'Filter: running, success, failed, cancelled')
|
|
16
|
+
.option('--dossier <name>', 'Filter by dossier title')
|
|
17
|
+
.option('--from <date>', 'Only traces started at or after this ISO date')
|
|
18
|
+
.option('--to <date>', 'Only traces started at or before this ISO date')
|
|
19
|
+
.option('--org <name>', 'Show traces from anyone in this org (must be a member)')
|
|
20
|
+
.option('--limit <n>', 'Page size (max 200)', '50')
|
|
21
|
+
.option('--offset <n>', 'Pagination offset', '0')
|
|
22
|
+
.option('--registry <name>', 'Registry to query', 'public')
|
|
23
|
+
.option('--json', 'Output raw JSON')
|
|
24
|
+
.action(async (options) => {
|
|
25
|
+
const client = mustGetAuthedClient(options.registry);
|
|
26
|
+
let result;
|
|
27
|
+
try {
|
|
28
|
+
result = await client.listTraces({
|
|
29
|
+
status: options.status,
|
|
30
|
+
dossier: options.dossier,
|
|
31
|
+
from: options.from,
|
|
32
|
+
to: options.to,
|
|
33
|
+
org: options.org,
|
|
34
|
+
limit: options.limit ? Math.max(1, Number.parseInt(options.limit, 10)) : undefined,
|
|
35
|
+
offset: options.offset ? Math.max(0, Number.parseInt(options.offset, 10)) : undefined,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
handleRegistryError(err);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (options.json) {
|
|
43
|
+
console.log(JSON.stringify(result, null, 2));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (result.traces.length === 0) {
|
|
47
|
+
const where = options.org ? ` for org '${options.org}'` : '';
|
|
48
|
+
console.log(`\n No traces found${where}.\n`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
printTracesTable(result.traces);
|
|
52
|
+
const { total, offset, limit } = result.pagination;
|
|
53
|
+
const shown = Math.min(limit, result.traces.length);
|
|
54
|
+
console.log(`\n ${shown} of ${total} traces (offset ${offset}, limit ${limit})${result.pagination.next ? ' — more available' : ''}\n`);
|
|
55
|
+
});
|
|
56
|
+
tracesCmd
|
|
57
|
+
.command('show')
|
|
58
|
+
.description('Show a single execution trace with its steps')
|
|
59
|
+
.argument('<trace_id>', 'Trace UUID')
|
|
60
|
+
.option('--org <name>', "Read a teammate's trace via org membership")
|
|
61
|
+
.option('--registry <name>', 'Registry to query', 'public')
|
|
62
|
+
.option('--json', 'Output raw JSON')
|
|
63
|
+
.action(async (traceId, options) => {
|
|
64
|
+
const client = mustGetAuthedClient(options.registry);
|
|
65
|
+
let trace;
|
|
66
|
+
try {
|
|
67
|
+
trace = await client.getTrace(traceId, { org: options.org });
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
handleRegistryError(err);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (options.json) {
|
|
74
|
+
console.log(JSON.stringify(trace, null, 2));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
printTraceDetail(trace);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function mustGetAuthedClient(registryName) {
|
|
81
|
+
const name = registryName || 'public';
|
|
82
|
+
const creds = (0, credentials_1.loadCredentials)(name);
|
|
83
|
+
if (!creds) {
|
|
84
|
+
console.error(`\n❌ Not logged in to registry '${name}'. Run \`ai-dossier login\` first.\n`);
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
if ((0, credentials_1.isExpired)(creds)) {
|
|
88
|
+
console.error(`\n❌ Credentials for '${name}' have expired. Run \`ai-dossier login\` to refresh.\n`);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
const registry = (0, config_1.resolveRegistries)().find((r) => r.name === name);
|
|
92
|
+
if (!registry) {
|
|
93
|
+
console.error(`\n❌ Registry '${name}' not configured.\n`);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
return (0, registry_client_1.getClientForRegistry)(registry.url, creds.token);
|
|
97
|
+
}
|
|
98
|
+
function handleRegistryError(err) {
|
|
99
|
+
if (err instanceof registry_client_1.RegistryError) {
|
|
100
|
+
const codeStr = err.code ? ` [${err.code}]` : '';
|
|
101
|
+
console.error(`\n❌ ${err.message}${codeStr}\n`);
|
|
102
|
+
}
|
|
103
|
+
else if (err instanceof Error) {
|
|
104
|
+
console.error(`\n❌ ${err.message}\n`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.error('\n❌ Unknown error\n');
|
|
108
|
+
}
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
function printTracesTable(rows) {
|
|
112
|
+
// Compute column widths
|
|
113
|
+
const headers = ['STATUS', 'DOSSIER', 'STARTED', 'DURATION', 'TRACE_ID'];
|
|
114
|
+
const data = rows.map((t) => [
|
|
115
|
+
statusIcon(t.status),
|
|
116
|
+
`${t.dossier.title}@${t.dossier.version}`,
|
|
117
|
+
shortDate(t.started_at),
|
|
118
|
+
durationLabel(t.duration_ms),
|
|
119
|
+
t.trace_id.slice(0, 8),
|
|
120
|
+
]);
|
|
121
|
+
const widths = headers.map((h, i) => Math.max(h.length, ...data.map((row) => row[i].length)));
|
|
122
|
+
const fmt = (cells) => cells.map((c, i) => c.padEnd(widths[i])).join(' ');
|
|
123
|
+
console.log(`\n ${fmt(headers)}`);
|
|
124
|
+
console.log(` ${widths.map((w) => '-'.repeat(w)).join(' ')}`);
|
|
125
|
+
for (const row of data)
|
|
126
|
+
console.log(` ${fmt(row)}`);
|
|
127
|
+
}
|
|
128
|
+
function printTraceDetail(trace) {
|
|
129
|
+
const dossier = trace.dossier;
|
|
130
|
+
const agent = trace.agent;
|
|
131
|
+
const steps = Array.isArray(trace.steps) ? trace.steps : [];
|
|
132
|
+
console.log(`\n Trace ${trace.trace_id}`);
|
|
133
|
+
if (dossier)
|
|
134
|
+
console.log(` Dossier: ${dossier.title}@${dossier.version}`);
|
|
135
|
+
if (agent) {
|
|
136
|
+
const parts = [];
|
|
137
|
+
if (agent.name)
|
|
138
|
+
parts.push(agent.name);
|
|
139
|
+
if (agent.version)
|
|
140
|
+
parts.push(`v${agent.version}`);
|
|
141
|
+
if (agent.host)
|
|
142
|
+
parts.push(`(${agent.host})`);
|
|
143
|
+
console.log(` Agent: ${parts.join(' ')}`);
|
|
144
|
+
}
|
|
145
|
+
console.log(` Status: ${statusIcon(trace.status)} ${trace.status}`);
|
|
146
|
+
console.log(` Started: ${shortDate(trace.started_at)}`);
|
|
147
|
+
if (trace.completed_at)
|
|
148
|
+
console.log(` Completed: ${shortDate(trace.completed_at)}`);
|
|
149
|
+
if (trace.duration_ms != null)
|
|
150
|
+
console.log(` Duration: ${durationLabel(trace.duration_ms)}`);
|
|
151
|
+
if (steps.length > 0) {
|
|
152
|
+
console.log(`\n Steps (${steps.length}):`);
|
|
153
|
+
for (const step of steps) {
|
|
154
|
+
const ts = step.timestamp ? shortDate(step.timestamp) : '';
|
|
155
|
+
console.log(` ${ts} ${step.type ?? '?'} ${step.step_id ?? ''}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
console.log('');
|
|
159
|
+
}
|
|
160
|
+
function statusIcon(status) {
|
|
161
|
+
switch (status) {
|
|
162
|
+
case 'success':
|
|
163
|
+
return 'OK ';
|
|
164
|
+
case 'failed':
|
|
165
|
+
return 'FAIL ';
|
|
166
|
+
case 'running':
|
|
167
|
+
return '... ';
|
|
168
|
+
case 'cancelled':
|
|
169
|
+
return 'X ';
|
|
170
|
+
default:
|
|
171
|
+
return status.padEnd(5);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function shortDate(iso) {
|
|
175
|
+
if (!iso)
|
|
176
|
+
return '-';
|
|
177
|
+
// 2026-05-13T14:32:00Z → 2026-05-13 14:32
|
|
178
|
+
const d = new Date(iso);
|
|
179
|
+
if (Number.isNaN(d.getTime()))
|
|
180
|
+
return iso;
|
|
181
|
+
return d.toISOString().replace('T', ' ').slice(0, 16);
|
|
182
|
+
}
|
|
183
|
+
function durationLabel(ms) {
|
|
184
|
+
if (ms == null)
|
|
185
|
+
return '-';
|
|
186
|
+
if (ms < 1000)
|
|
187
|
+
return `${ms}ms`;
|
|
188
|
+
if (ms < 60_000)
|
|
189
|
+
return `${(ms / 1000).toFixed(1)}s`;
|
|
190
|
+
const min = Math.floor(ms / 60_000);
|
|
191
|
+
const sec = Math.floor((ms % 60_000) / 1000);
|
|
192
|
+
return `${min}m${sec}s`;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=traces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces.js","sourceRoot":"","sources":["../../src/commands/traces.ts"],"names":[],"mappings":"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"}
|
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":";AAAA;;;GAGG;;AAgBH,8CA4EC;AAxFD,MAAM,UAAU,GAAgD;IAC9D,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;IACtE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;IACnF;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;KACnF;IACD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;IAC/D,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;IAC5D,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.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
|
-
|
|
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
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA
|
|
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":";AAAA
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
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
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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(
|
|
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;;;;;;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,40 @@ interface DossierListItem {
|
|
|
52
52
|
category?: string | string[];
|
|
53
53
|
tags?: string[];
|
|
54
54
|
}
|
|
55
|
+
interface ListTracesOptions {
|
|
56
|
+
status?: string;
|
|
57
|
+
dossier?: string;
|
|
58
|
+
from?: string;
|
|
59
|
+
to?: string;
|
|
60
|
+
limit?: number;
|
|
61
|
+
offset?: number;
|
|
62
|
+
org?: string;
|
|
63
|
+
}
|
|
64
|
+
interface TraceListItem {
|
|
65
|
+
trace_id: string;
|
|
66
|
+
dossier: {
|
|
67
|
+
title: string;
|
|
68
|
+
version: string;
|
|
69
|
+
};
|
|
70
|
+
agent?: {
|
|
71
|
+
name?: string;
|
|
72
|
+
version?: string;
|
|
73
|
+
host?: string;
|
|
74
|
+
};
|
|
75
|
+
started_at: string;
|
|
76
|
+
completed_at: string | null;
|
|
77
|
+
status: 'running' | 'success' | 'failed' | 'cancelled';
|
|
78
|
+
duration_ms: number | null;
|
|
79
|
+
}
|
|
80
|
+
interface ListTracesResult {
|
|
81
|
+
traces: TraceListItem[];
|
|
82
|
+
pagination: {
|
|
83
|
+
total: number;
|
|
84
|
+
limit: number;
|
|
85
|
+
offset: number;
|
|
86
|
+
next: string | null;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
55
89
|
interface ListDossiersResult {
|
|
56
90
|
dossiers?: DossierListItem[];
|
|
57
91
|
data?: DossierListItem[];
|
|
@@ -111,6 +145,18 @@ declare class RegistryClient {
|
|
|
111
145
|
* Delete a dossier from the registry.
|
|
112
146
|
*/
|
|
113
147
|
removeDossier(name: string, version?: string | null): Promise<Record<string, unknown>>;
|
|
148
|
+
/**
|
|
149
|
+
* List execution traces. Defaults to the authenticated user's own traces;
|
|
150
|
+
* pass `org` to list traces from anyone in that org (requires membership).
|
|
151
|
+
*/
|
|
152
|
+
listTraces(options?: ListTracesOptions): Promise<ListTracesResult>;
|
|
153
|
+
/**
|
|
154
|
+
* Fetch a single execution trace by id (includes all its steps inline).
|
|
155
|
+
* Pass `org` to read a trace from another member of that org (requires membership).
|
|
156
|
+
*/
|
|
157
|
+
getTrace(traceId: string, options?: {
|
|
158
|
+
org?: string;
|
|
159
|
+
}): Promise<Record<string, unknown>>;
|
|
114
160
|
/**
|
|
115
161
|
* Get current user info.
|
|
116
162
|
*/
|
|
@@ -129,5 +175,5 @@ declare function getClientForRegistry(registryUrl: string, token?: string | null
|
|
|
129
175
|
*/
|
|
130
176
|
declare function parseNameVersion(name: string): [string, string | null];
|
|
131
177
|
export { RegistryClient, RegistryError, getClientForRegistry, parseNameVersion };
|
|
132
|
-
export type { DossierInfo, DossierListItem, ListDossiersResult, DossierContentResult, PublishResult, SearchResult, ListDossiersOptions, SearchOptions, };
|
|
178
|
+
export type { DossierInfo, DossierListItem, ListDossiersResult, DossierContentResult, PublishResult, SearchResult, ListDossiersOptions, SearchOptions, ListTracesOptions, ListTracesResult, TraceListItem, };
|
|
133
179
|
//# sourceMappingURL=registry-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../src/registry-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAM,aAAc,SAAQ,KAAK;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;CAM1F;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAgB;gBAEjB,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW;IAKxD;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;YACW,eAAe;IAsB7B;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAelF;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAYnF;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,GAAG,IAAW,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAkChC;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAavF;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,OAAO,CAAC,aAAa,CAAC;IAczB;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,GAAG,IAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAanC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAO/C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAQxF;AAED;;GAEG;AACH,iBAAS,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,GAAG,cAAc,CAE9F;AAED;;GAEG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAM/D;AAED,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;AAEjF,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../src/registry-client.ts"],"names":[],"mappings":"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"}
|
package/dist/registry-client.js
CHANGED
|
@@ -181,6 +181,44 @@ class RegistryClient {
|
|
|
181
181
|
});
|
|
182
182
|
return this._handleResponse(response);
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* List execution traces. Defaults to the authenticated user's own traces;
|
|
186
|
+
* pass `org` to list traces from anyone in that org (requires membership).
|
|
187
|
+
*/
|
|
188
|
+
async listTraces(options = {}) {
|
|
189
|
+
const params = {};
|
|
190
|
+
if (options.status)
|
|
191
|
+
params.status = options.status;
|
|
192
|
+
if (options.dossier)
|
|
193
|
+
params.dossier = options.dossier;
|
|
194
|
+
if (options.from)
|
|
195
|
+
params.from = options.from;
|
|
196
|
+
if (options.to)
|
|
197
|
+
params.to = options.to;
|
|
198
|
+
if (options.limit != null)
|
|
199
|
+
params.limit = options.limit;
|
|
200
|
+
if (options.offset != null)
|
|
201
|
+
params.offset = options.offset;
|
|
202
|
+
if (options.org)
|
|
203
|
+
params.org = options.org;
|
|
204
|
+
const response = await fetch(this._buildUrl('/traces', params), {
|
|
205
|
+
headers: this._buildHeaders(),
|
|
206
|
+
});
|
|
207
|
+
return this._handleResponse(response);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Fetch a single execution trace by id (includes all its steps inline).
|
|
211
|
+
* Pass `org` to read a trace from another member of that org (requires membership).
|
|
212
|
+
*/
|
|
213
|
+
async getTrace(traceId, options = {}) {
|
|
214
|
+
const params = {};
|
|
215
|
+
if (options.org)
|
|
216
|
+
params.org = options.org;
|
|
217
|
+
const response = await fetch(this._buildUrl(`/traces/${traceId}`, params), {
|
|
218
|
+
headers: this._buildHeaders(),
|
|
219
|
+
});
|
|
220
|
+
return this._handleResponse(response);
|
|
221
|
+
}
|
|
184
222
|
/**
|
|
185
223
|
* Get current user info.
|
|
186
224
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../src/registry-client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../src/registry-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-dossier/cli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
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
|
|
49
|
+
"@ai-dossier/core": "^1.3.2",
|
|
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
|
-
"
|
|
54
|
+
"@vitest/coverage-v8": "^4.0.9",
|
|
55
|
+
"typescript": "^5.9.3",
|
|
56
|
+
"vitest": "^4.0.9"
|
|
56
57
|
}
|
|
57
58
|
}
|