@prism-d1/cli 1.0.58 → 1.0.60
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/assets/metric-hooks/README.md +21 -12
- package/dist/assets/metric-hooks/prepare-commit-msg +16 -162
- package/dist/src/commands/bootstrapper/install-git-hooks.js +11 -27
- package/dist/src/commands/bootstrapper/install-git-hooks.js.map +1 -1
- package/dist/src/commands/git/claude-session-context.d.ts +7 -0
- package/dist/src/commands/git/claude-session-context.d.ts.map +1 -0
- package/dist/src/commands/git/claude-session-context.js +58 -0
- package/dist/src/commands/git/claude-session-context.js.map +1 -0
- package/dist/src/commands/git/commit-trailers.d.ts +14 -0
- package/dist/src/commands/git/commit-trailers.d.ts.map +1 -0
- package/dist/src/commands/git/commit-trailers.js +217 -0
- package/dist/src/commands/git/commit-trailers.js.map +1 -0
- package/dist/src/commands/parse-code-tool/kiro-cli.d.ts +24 -0
- package/dist/src/commands/parse-code-tool/kiro-cli.d.ts.map +1 -1
- package/dist/src/commands/parse-code-tool/kiro-cli.js +75 -65
- package/dist/src/commands/parse-code-tool/kiro-cli.js.map +1 -1
- package/dist/src/commands/parse-code-tool/kiro-ide.d.ts +6 -0
- package/dist/src/commands/parse-code-tool/kiro-ide.d.ts.map +1 -1
- package/dist/src/commands/parse-code-tool/kiro-ide.js +164 -103
- package/dist/src/commands/parse-code-tool/kiro-ide.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +62 -24
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { readdir, readFile } from 'node:fs/promises';
|
|
3
|
-
import { basename, extname, join } from 'node:path';
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
3
|
+
import { basename, dirname, extname, join } from 'node:path';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
const CHARS_PER_TOKEN = 4;
|
|
6
6
|
const MIN_REASONABLE_TIMESTAMP_MS = 1_000_000_000_000;
|
|
@@ -212,119 +212,180 @@ async function parseSessionFile(filePath, project, sessionProjectMap, targetProj
|
|
|
212
212
|
const outputTokens = Math.ceil((outputChars / CHARS_PER_TOKEN) * projectFraction);
|
|
213
213
|
return { model: modelId, inputTokens, outputTokens, costUSD: calculateCost(modelId, inputTokens, outputTokens), timestamp: ts, project: resolvedProject };
|
|
214
214
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
215
|
+
// ---------------------------------------------------------------------------
|
|
216
|
+
// Per-file parse cache (keyed by mtime)
|
|
217
|
+
//
|
|
218
|
+
// Parsing every Kiro session file on every invocation is the dominant cost,
|
|
219
|
+
// especially on hosts where all sessions live under one hash workspace. Since
|
|
220
|
+
// the commit hook re-runs on every commit, we cache each file's parsed result
|
|
221
|
+
// keyed by its mtime and only re-parse files that changed. Lifetime totals are
|
|
222
|
+
// preserved (we still sum every current file), so the snapshot-delta math in
|
|
223
|
+
// `git commit-trailers` stays correct.
|
|
224
|
+
//
|
|
225
|
+
// The cache is scoped per target project (the resolved project + token split
|
|
226
|
+
// depend on the target), so we key the cache file by target project name.
|
|
227
|
+
// `null` results are cached too, to avoid re-parsing files that yield no usage.
|
|
228
|
+
// Bump CACHE_VERSION whenever parsing/costing logic changes to force a rebuild.
|
|
229
|
+
// ---------------------------------------------------------------------------
|
|
230
|
+
const CACHE_VERSION = 1;
|
|
231
|
+
function cachePath(targetProject) {
|
|
232
|
+
const key = (targetProject && targetProject.length ? targetProject : '__all__').replace(/[^a-zA-Z0-9_.-]/g, '_');
|
|
233
|
+
return join(homedir(), '.prism', 'tokentracker', 'kiro-ide-cache', `${key}.json`);
|
|
234
|
+
}
|
|
235
|
+
function loadCache(targetProject) {
|
|
236
|
+
try {
|
|
237
|
+
const data = JSON.parse(readFileSync(cachePath(targetProject), 'utf-8'));
|
|
238
|
+
if (data && data.version === CACHE_VERSION && data.entries && typeof data.entries === 'object')
|
|
239
|
+
return data;
|
|
240
|
+
}
|
|
241
|
+
catch { /* missing/corrupt/stale-version cache → rebuild */ }
|
|
242
|
+
return { version: CACHE_VERSION, entries: {} };
|
|
243
|
+
}
|
|
244
|
+
function saveCache(targetProject, cache) {
|
|
245
|
+
try {
|
|
246
|
+
const p = cachePath(targetProject);
|
|
247
|
+
mkdirSync(dirname(p), { recursive: true });
|
|
248
|
+
writeFileSync(p, JSON.stringify(cache));
|
|
249
|
+
}
|
|
250
|
+
catch { /* non-fatal — cache is an optimization only */ }
|
|
251
|
+
}
|
|
252
|
+
const EMPTY_OUTPUT = { overview: { cost: 0, calls: 0, sessions: 0 }, models: [], projects: [] };
|
|
253
|
+
/**
|
|
254
|
+
* Parse Kiro IDE session files into codeburn-compatible token usage.
|
|
255
|
+
* Returns a zero-usage object when the Kiro agent dir is not present.
|
|
256
|
+
*/
|
|
257
|
+
export async function collectKiroIde(targetProject, period = 'all') {
|
|
258
|
+
const agentDir = getKiroAgentDir();
|
|
259
|
+
const wsStorageDir = getKiroWorkspaceStorageDir();
|
|
260
|
+
// Build chatSessionId -> project name map from workspace-sessions
|
|
261
|
+
const sessionProjectMap = new Map();
|
|
262
|
+
try {
|
|
263
|
+
const wsSessionsDir = join(agentDir, 'workspace-sessions');
|
|
264
|
+
const wsDirs = await readdir(wsSessionsDir).catch(() => []);
|
|
265
|
+
for (const dir of wsDirs) {
|
|
266
|
+
let decoded = '';
|
|
267
|
+
try {
|
|
268
|
+
decoded = Buffer.from(dir.replace(/_/g, '='), 'base64').toString('utf-8');
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
continue;
|
|
253
272
|
}
|
|
273
|
+
if (!decoded)
|
|
274
|
+
continue;
|
|
275
|
+
const projectName = basename(decoded);
|
|
276
|
+
if (!projectName || projectName === basename(homedir()))
|
|
277
|
+
continue; // skip bare home dir
|
|
278
|
+
try {
|
|
279
|
+
const sessionsJson = await readFile(join(wsSessionsDir, dir, 'sessions.json'), 'utf-8');
|
|
280
|
+
const sessions = JSON.parse(sessionsJson);
|
|
281
|
+
if (Array.isArray(sessions))
|
|
282
|
+
for (const s of sessions) {
|
|
283
|
+
if (s.sessionId)
|
|
284
|
+
sessionProjectMap.set(s.sessionId, projectName);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
catch { }
|
|
254
288
|
}
|
|
255
|
-
|
|
256
|
-
|
|
289
|
+
}
|
|
290
|
+
catch { }
|
|
291
|
+
let workspaceDirs;
|
|
292
|
+
try {
|
|
293
|
+
const entries = await readdir(agentDir, { withFileTypes: true });
|
|
294
|
+
workspaceDirs = entries.filter(e => e.isDirectory() && e.name.length === 32).map(e => e.name);
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
return EMPTY_OUTPUT;
|
|
298
|
+
}
|
|
299
|
+
const calls = [];
|
|
300
|
+
// Collect candidate session files (with their workspace project) first, then
|
|
301
|
+
// resolve each through the mtime cache — only changed/new files are parsed.
|
|
302
|
+
const candidates = [];
|
|
303
|
+
for (const wsHash of workspaceDirs) {
|
|
304
|
+
const wsPath = join(agentDir, wsHash);
|
|
305
|
+
const project = await readWorkspaceProject(join(wsStorageDir, wsHash));
|
|
306
|
+
if (targetProject && project !== targetProject && !/^[0-9a-f]{32}$/.test(project))
|
|
307
|
+
continue;
|
|
308
|
+
let entries;
|
|
257
309
|
try {
|
|
258
|
-
|
|
259
|
-
workspaceDirs = entries.filter(e => e.isDirectory() && e.name.length === 32).map(e => e.name);
|
|
310
|
+
entries = await readdir(wsPath, { withFileTypes: true });
|
|
260
311
|
}
|
|
261
312
|
catch {
|
|
262
|
-
|
|
263
|
-
process.exit(1);
|
|
313
|
+
continue;
|
|
264
314
|
}
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
const wsPath = join(agentDir, wsHash);
|
|
268
|
-
const project = await readWorkspaceProject(join(wsStorageDir, wsHash));
|
|
269
|
-
if (opts.project && project !== opts.project && !/^[0-9a-f]{32}$/.test(project))
|
|
315
|
+
for (const entry of entries) {
|
|
316
|
+
if (entry.name.startsWith('.'))
|
|
270
317
|
continue;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
}
|
|
275
|
-
catch {
|
|
318
|
+
const entryPath = join(wsPath, entry.name);
|
|
319
|
+
if (entry.isFile() && (entry.name.endsWith('.chat') || extname(entry.name) === '')) {
|
|
320
|
+
candidates.push({ filePath: entryPath, project });
|
|
276
321
|
continue;
|
|
277
322
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
if (
|
|
283
|
-
const call = await parseSessionFile(entryPath, project, sessionProjectMap, opts.project);
|
|
284
|
-
if (call) {
|
|
285
|
-
if (!opts.project || call.project === opts.project)
|
|
286
|
-
calls.push(call);
|
|
287
|
-
}
|
|
288
|
-
continue;
|
|
289
|
-
}
|
|
290
|
-
if (!entry.isDirectory())
|
|
323
|
+
if (!entry.isDirectory())
|
|
324
|
+
continue;
|
|
325
|
+
const children = await readdir(entryPath, { withFileTypes: true }).catch(() => []);
|
|
326
|
+
for (const child of children) {
|
|
327
|
+
if (child.name.startsWith('.') || !child.isFile() || extname(child.name) !== '')
|
|
291
328
|
continue;
|
|
292
|
-
|
|
293
|
-
for (const child of children) {
|
|
294
|
-
if (child.name.startsWith('.') || !child.isFile() || extname(child.name) !== '')
|
|
295
|
-
continue;
|
|
296
|
-
const call = await parseSessionFile(join(entryPath, child.name), project, sessionProjectMap, opts.project);
|
|
297
|
-
if (call) {
|
|
298
|
-
if (!opts.project || call.project === opts.project)
|
|
299
|
-
calls.push(call);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
329
|
+
candidates.push({ filePath: join(entryPath, child.name), project });
|
|
302
330
|
}
|
|
303
331
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
let
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
totalCost += c.costUSD;
|
|
332
|
+
}
|
|
333
|
+
// Process candidates through the mtime cache. Unchanged files reuse their
|
|
334
|
+
// cached parse result; changed/new files are re-parsed. Deleted files simply
|
|
335
|
+
// don't appear in `candidates`, so they fall out of the rebuilt cache.
|
|
336
|
+
const prevCache = loadCache(targetProject);
|
|
337
|
+
const nextEntries = {};
|
|
338
|
+
for (const { filePath, project } of candidates) {
|
|
339
|
+
let mtimeMs;
|
|
340
|
+
try {
|
|
341
|
+
mtimeMs = (await stat(filePath)).mtimeMs;
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
continue;
|
|
318
345
|
}
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
346
|
+
const cached = prevCache.entries[filePath];
|
|
347
|
+
const call = (cached && cached.mtimeMs === mtimeMs)
|
|
348
|
+
? cached.call
|
|
349
|
+
: await parseSessionFile(filePath, project, sessionProjectMap, targetProject);
|
|
350
|
+
nextEntries[filePath] = { mtimeMs, call };
|
|
351
|
+
if (call && (!targetProject || call.project === targetProject))
|
|
352
|
+
calls.push(call);
|
|
353
|
+
}
|
|
354
|
+
saveCache(targetProject, { version: CACHE_VERSION, entries: nextEntries });
|
|
355
|
+
// Period filter
|
|
356
|
+
const now = Date.now();
|
|
357
|
+
const cutoffs = { today: 86400000, week: 604800000, '30days': 2592000000, all: Infinity };
|
|
358
|
+
const cutoff = now - (cutoffs[period] ?? Infinity);
|
|
359
|
+
const filtered = calls.filter(c => new Date(c.timestamp).getTime() >= cutoff);
|
|
360
|
+
// Aggregate into codeburn-compatible format
|
|
361
|
+
const byModel = new Map();
|
|
362
|
+
let totalCost = 0;
|
|
363
|
+
for (const c of filtered) {
|
|
364
|
+
const m = byModel.get(c.model) ?? { inputTokens: 0, outputTokens: 0 };
|
|
365
|
+
m.inputTokens += c.inputTokens;
|
|
366
|
+
m.outputTokens += c.outputTokens;
|
|
367
|
+
byModel.set(c.model, m);
|
|
368
|
+
totalCost += c.costUSD;
|
|
369
|
+
}
|
|
370
|
+
return {
|
|
371
|
+
overview: { cost: Math.round(totalCost * 100) / 100, calls: filtered.length, sessions: new Set(filtered.map(c => c.timestamp.slice(0, 10))).size },
|
|
372
|
+
models: [...byModel.entries()].map(([name, t]) => ({ name, inputTokens: t.inputTokens, outputTokens: t.outputTokens })),
|
|
373
|
+
projects: [...new Set(filtered.map(c => c.project))].map(p => ({
|
|
374
|
+
name: p,
|
|
375
|
+
cost: Math.round(filtered.filter(c => c.project === p).reduce((s, c) => s + c.costUSD, 0) * 100) / 100,
|
|
376
|
+
calls: filtered.filter(c => c.project === p).length,
|
|
377
|
+
})),
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
export default {
|
|
381
|
+
description: 'Parse Kiro IDE session files and output token usage (codeburn-compatible JSON)',
|
|
382
|
+
options: [
|
|
383
|
+
{ flags: '--project <name>', description: 'Filter by project name (basename of workspace folder)' },
|
|
384
|
+
{ flags: '--period <period>', description: 'Period: today, week, 30days, all', default: 'all' },
|
|
385
|
+
{ flags: '--format <fmt>', description: 'Output format: json, summary', default: 'json' },
|
|
386
|
+
],
|
|
387
|
+
async action(opts) {
|
|
388
|
+
const output = await collectKiroIde(opts.project, opts.period);
|
|
328
389
|
if (opts.format === 'summary') {
|
|
329
390
|
console.log(`Kiro IDE Token Usage (${opts.period})`);
|
|
330
391
|
console.log(` Calls: ${output.overview.calls}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro-ide.js","sourceRoot":"","sources":["../../../../src/commands/parse-code-tool/kiro-ide.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiro-ide.js","sourceRoot":"","sources":["../../../../src/commands/parse-code-tool/kiro-ide.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Each command file must export a default object:
|
|
10
10
|
* { description: string, options?: [{flags, description, default?}], action: (options) => void }
|
|
11
|
+
*
|
|
12
|
+
* Performance: when invoked as `prism-cli <category> <command>`, only that one
|
|
13
|
+
* module is imported (lazy fast path). This keeps latency-sensitive callers
|
|
14
|
+
* such as the prepare-commit-msg git hook from eagerly loading the entire
|
|
15
|
+
* command tree (including heavy assessment/CDK modules). All other invocations
|
|
16
|
+
* (--help, --version, bare category, unknown commands) register everything.
|
|
11
17
|
*/
|
|
12
18
|
export declare function registerCommands(program: any): Promise<void>;
|
|
13
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AA0DA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,GAAG,iBAMlD"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,44 +1,82 @@
|
|
|
1
|
-
import { readdirSync, statSync } from 'node:fs';
|
|
1
|
+
import { readdirSync, statSync, existsSync } from 'node:fs';
|
|
2
2
|
import { resolve, dirname, basename } from 'node:path';
|
|
3
3
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
4
4
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
const commandsDir = resolve(__dirname, 'commands');
|
|
6
|
+
function attach(program, category, command, def) {
|
|
7
|
+
// Reuse an existing category command if it was already created
|
|
8
|
+
let categoryCmd = program.commands.find((c) => c.name() === category);
|
|
9
|
+
if (!categoryCmd)
|
|
10
|
+
categoryCmd = program.command(category).description(`${category} commands`);
|
|
11
|
+
const sub = categoryCmd.command(command).description(def.description || command);
|
|
12
|
+
if (def.options) {
|
|
13
|
+
for (const opt of def.options)
|
|
14
|
+
sub.option(opt.flags, opt.description, opt.default);
|
|
15
|
+
}
|
|
16
|
+
sub.action((opts) => def.action(opts));
|
|
17
|
+
}
|
|
6
18
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* commands/
|
|
11
|
-
* <category>/ → becomes `prism-cli <category>`
|
|
12
|
-
* <command>.js → becomes `prism-cli <category> <command>`
|
|
13
|
-
*
|
|
14
|
-
* Each command file must export a default object:
|
|
15
|
-
* { description: string, options?: [{flags, description, default?}], action: (options) => void }
|
|
19
|
+
* Fast path: import and register ONLY the `<category> <command>` module being
|
|
20
|
+
* invoked. Returns false if the module can't be found (so we can fall back).
|
|
21
|
+
* Supports both compiled `.js` (published) and `.ts` (tsx dev) layouts.
|
|
16
22
|
*/
|
|
17
|
-
|
|
23
|
+
async function registerOne(program, category, command) {
|
|
24
|
+
const categoryDir = resolve(commandsDir, category);
|
|
25
|
+
if (!existsSync(categoryDir) || !statSync(categoryDir).isDirectory())
|
|
26
|
+
return false;
|
|
27
|
+
let file = '';
|
|
28
|
+
for (const candidate of [`${command}.js`, `${command}.ts`]) {
|
|
29
|
+
const p = resolve(categoryDir, candidate);
|
|
30
|
+
if (existsSync(p)) {
|
|
31
|
+
file = p;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!file)
|
|
36
|
+
return false;
|
|
37
|
+
const mod = await import(pathToFileURL(file).href);
|
|
38
|
+
attach(program, category, command, mod.default || mod);
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
/** Full registration — imports every command module. Used for --help and unmatched invocations. */
|
|
42
|
+
async function registerAll(program) {
|
|
18
43
|
const categories = readdirSync(commandsDir).filter((entry) => {
|
|
19
44
|
return statSync(resolve(commandsDir, entry)).isDirectory();
|
|
20
45
|
});
|
|
21
46
|
for (const category of categories) {
|
|
22
47
|
const categoryDir = resolve(commandsDir, category);
|
|
23
|
-
const categoryCmd = program
|
|
24
|
-
.command(category)
|
|
25
|
-
.description(`${category} commands`);
|
|
26
48
|
const files = readdirSync(categoryDir).filter((f) => f.endsWith('.js') && !f.endsWith('.d.ts'));
|
|
27
49
|
for (const file of files) {
|
|
28
50
|
const commandName = basename(file, '.js');
|
|
29
51
|
const modulePath = pathToFileURL(resolve(categoryDir, file)).href;
|
|
30
52
|
const mod = await import(modulePath);
|
|
31
|
-
|
|
32
|
-
const sub = categoryCmd
|
|
33
|
-
.command(commandName)
|
|
34
|
-
.description(def.description || commandName);
|
|
35
|
-
if (def.options) {
|
|
36
|
-
for (const opt of def.options) {
|
|
37
|
-
sub.option(opt.flags, opt.description, opt.default);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
sub.action((opts) => def.action(opts));
|
|
53
|
+
attach(program, category, commandName, mod.default || mod);
|
|
41
54
|
}
|
|
42
55
|
}
|
|
43
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Auto-discovers and registers commands from the filesystem.
|
|
59
|
+
*
|
|
60
|
+
* Structure:
|
|
61
|
+
* commands/
|
|
62
|
+
* <category>/ → becomes `prism-cli <category>`
|
|
63
|
+
* <command>.js → becomes `prism-cli <category> <command>`
|
|
64
|
+
*
|
|
65
|
+
* Each command file must export a default object:
|
|
66
|
+
* { description: string, options?: [{flags, description, default?}], action: (options) => void }
|
|
67
|
+
*
|
|
68
|
+
* Performance: when invoked as `prism-cli <category> <command>`, only that one
|
|
69
|
+
* module is imported (lazy fast path). This keeps latency-sensitive callers
|
|
70
|
+
* such as the prepare-commit-msg git hook from eagerly loading the entire
|
|
71
|
+
* command tree (including heavy assessment/CDK modules). All other invocations
|
|
72
|
+
* (--help, --version, bare category, unknown commands) register everything.
|
|
73
|
+
*/
|
|
74
|
+
export async function registerCommands(program) {
|
|
75
|
+
const [category, command] = process.argv.slice(2);
|
|
76
|
+
if (category && command && !category.startsWith('-') && !command.startsWith('-')) {
|
|
77
|
+
if (await registerOne(program, category, command))
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
await registerAll(program);
|
|
81
|
+
}
|
|
44
82
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|