planfs-cli 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +58 -0
  2. package/dist/cli.d.ts +1 -1
  3. package/dist/cli.js +6 -515
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/ai.d.ts +5 -1
  6. package/dist/commands/ai.js +93 -0
  7. package/dist/commands/ai.js.map +1 -1
  8. package/dist/commands/archive.d.ts +2 -0
  9. package/dist/commands/archive.js +10 -3
  10. package/dist/commands/archive.js.map +1 -1
  11. package/dist/commands/create.js +10 -2
  12. package/dist/commands/create.js.map +1 -1
  13. package/dist/commands/doctor.d.ts +4 -0
  14. package/dist/commands/doctor.js +43 -0
  15. package/dist/commands/doctor.js.map +1 -0
  16. package/dist/commands/filter.d.ts +10 -0
  17. package/dist/commands/filter.js +33 -0
  18. package/dist/commands/filter.js.map +1 -0
  19. package/dist/commands/format.d.ts +9 -0
  20. package/dist/commands/format.js +98 -0
  21. package/dist/commands/format.js.map +1 -0
  22. package/dist/commands/history.d.ts +1 -0
  23. package/dist/commands/history.js +22 -0
  24. package/dist/commands/history.js.map +1 -0
  25. package/dist/commands/inspect.d.ts +9 -0
  26. package/dist/commands/inspect.js +153 -0
  27. package/dist/commands/inspect.js.map +1 -0
  28. package/dist/commands/migrate.d.ts +4 -0
  29. package/dist/commands/migrate.js +24 -0
  30. package/dist/commands/migrate.js.map +1 -0
  31. package/dist/commands/show.d.ts +2 -0
  32. package/dist/commands/show.js +27 -1
  33. package/dist/commands/show.js.map +1 -1
  34. package/dist/commands/update.d.ts +7 -0
  35. package/dist/commands/update.js +51 -0
  36. package/dist/commands/update.js.map +1 -0
  37. package/dist/commands/validate.d.ts +7 -0
  38. package/dist/commands/validate.js +75 -28
  39. package/dist/commands/validate.js.map +1 -1
  40. package/dist/entity-commands.d.ts +5 -0
  41. package/dist/entity-commands.js +230 -0
  42. package/dist/entity-commands.js.map +1 -0
  43. package/dist/planning-commands.d.ts +5 -0
  44. package/dist/planning-commands.js +259 -0
  45. package/dist/planning-commands.js.map +1 -0
  46. package/dist/workflow-commands.d.ts +5 -0
  47. package/dist/workflow-commands.js +222 -0
  48. package/dist/workflow-commands.js.map +1 -0
  49. package/package.json +3 -2
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * AI-oriented CLI workflows.
3
3
  */
4
- export type AiAction = 'summary' | 'update-task' | 'bulk-update-tasks' | 'initialize';
4
+ import type { SemanticPlanningContext } from 'planfs-core';
5
+ export type AiAction = 'summary' | 'context' | 'update-task' | 'bulk-update-tasks' | 'initialize';
5
6
  export type AiSummarySection = 'open' | 'ready' | 'blocked' | 'review' | 'stale' | 'recent';
6
7
  export interface AiOptions {
7
8
  id?: string;
@@ -23,5 +24,8 @@ export interface AiOptions {
23
24
  command?: string;
24
25
  only?: AiSummarySection;
25
26
  compact?: boolean;
27
+ nlp?: boolean;
28
+ language?: string;
26
29
  }
27
30
  export declare function aiCommand(rootPath: string, action: AiAction, options?: AiOptions): Promise<number>;
31
+ export declare function renderSemanticPlanningContext(context: SemanticPlanningContext): string;
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.aiCommand = aiCommand;
40
+ exports.renderSemanticPlanningContext = renderSemanticPlanningContext;
40
41
  const fs_1 = require("fs");
41
42
  const path = __importStar(require("path"));
42
43
  const planfs_core_1 = require("planfs-core");
@@ -48,6 +49,8 @@ async function aiCommand(rootPath, action, options = {}) {
48
49
  switch (action) {
49
50
  case 'summary':
50
51
  return await summary(rootPath, options);
52
+ case 'context':
53
+ return await context(rootPath, options);
51
54
  case 'update-task':
52
55
  return await updateTask(rootPath, options);
53
56
  case 'bulk-update-tasks':
@@ -61,6 +64,24 @@ async function aiCommand(rootPath, action, options = {}) {
61
64
  return 1;
62
65
  }
63
66
  }
67
+ async function context(rootPath, options) {
68
+ if (!options.id) {
69
+ console.error('Error: --id is required when building semantic planning context');
70
+ return 1;
71
+ }
72
+ const repository = await (0, planfs_core_1.loadRepository)(rootPath);
73
+ const output = await (0, planfs_core_1.buildSemanticPlanningContext)(repository, options.id, {
74
+ analysis: options.nlp === true,
75
+ language: options.language ?? 'en'
76
+ });
77
+ if (options.format === 'text') {
78
+ console.log(renderSemanticPlanningContext(output));
79
+ }
80
+ else {
81
+ console.log(JSON.stringify(output, null, options.compact ? undefined : 2));
82
+ }
83
+ return 0;
84
+ }
64
85
  async function summary(rootPath, options) {
65
86
  const repository = await (0, planfs_core_1.loadRepository)(rootPath);
66
87
  const output = (0, planfs_core_1.buildPlanningSummary)(repository, {
@@ -287,6 +308,14 @@ ${command} ai summary
287
308
 
288
309
  Use the returned IDs and file paths for targeted follow-up reads instead of scanning all of \`.planfs\`.
289
310
 
311
+ For one relevant entity, retrieve its shared human/AI semantic context with:
312
+
313
+ \`\`\`sh
314
+ ${command} ai context --id TASK-061
315
+ \`\`\`
316
+
317
+ The context includes intent, recognized sections, criteria, readiness, and resolved authoritative relationships. Add \`--nlp\` only when local advisory prose signals are useful.
318
+
290
319
  Use \`${command} ai summary --only ready --compact\` when only one low-overhead planning section is needed.
291
320
 
292
321
  Preview metadata updates before writing. Use \`update-task\` for one task:
@@ -352,4 +381,68 @@ function renderSummaryText(summary, only) {
352
381
  }
353
382
  return header.join('\n');
354
383
  }
384
+ function renderSemanticPlanningContext(context) {
385
+ const lines = [
386
+ `${context.entity.id}: ${context.entity.title} [${context.entity.status}]`,
387
+ `${context.entity.type}${context.entity.archived ? ' · archived' : ''} · ${context.entity.filePath}`,
388
+ '',
389
+ 'Intent',
390
+ context.intent.text || '(none)'
391
+ ];
392
+ if (context.readiness) {
393
+ lines.push('', 'Readiness', `${context.readiness.status}: ${context.readiness.reasons.join('; ')}`);
394
+ }
395
+ lines.push('', 'Authoritative relationships');
396
+ lines.push(`- Epic: ${renderContextReference(context.relationships.epic)}`);
397
+ lines.push(`- Milestone: ${renderContextReference(context.relationships.milestone)}`);
398
+ lines.push(`- Depends on: ${context.relationships.dependsOn.length > 0
399
+ ? context.relationships.dependsOn.map(renderContextReference).join(', ')
400
+ : '(none)'}`);
401
+ if (context.relationships.supersedes) {
402
+ lines.push(`- Supersedes: ${renderContextReference(context.relationships.supersedes)}`);
403
+ }
404
+ if (context.relationships.supersededBy) {
405
+ lines.push(`- Superseded by: ${renderContextReference(context.relationships.supersededBy)}`);
406
+ }
407
+ renderContextSections(lines, 'Context', context.sections.context ?? []);
408
+ renderContextSections(lines, 'Outcomes', context.sections.outcomes ?? []);
409
+ renderContextSections(lines, 'Scope', context.sections.scope ?? []);
410
+ lines.push('', `Acceptance criteria (${context.acceptanceCriteria.length})`);
411
+ lines.push(...(context.acceptanceCriteria.length > 0
412
+ ? context.acceptanceCriteria.map(criterion => {
413
+ const marker = criterion.checked === true ? '[x]' : criterion.checked === false ? '[ ]' : '[-]';
414
+ return `- ${marker} ${criterion.text}`;
415
+ })
416
+ : ['- (none)']));
417
+ renderContextSections(lines, 'Decision', context.sections.decision ?? []);
418
+ renderContextSections(lines, 'Consequences', context.sections.consequences ?? []);
419
+ renderContextSections(lines, 'Decisions', context.sections.decisions ?? []);
420
+ renderContextSections(lines, 'Risks', context.sections.risks ?? []);
421
+ renderContextSections(lines, 'Non-goals', context.sections.nonGoals ?? []);
422
+ renderContextSections(lines, 'Open questions', context.sections.questions ?? []);
423
+ renderContextSections(lines, 'Findings', context.sections.findings ?? []);
424
+ if (context.references.length > 0) {
425
+ lines.push('', 'References');
426
+ for (const reference of context.references) {
427
+ lines.push(`- ${reference.label ? `${reference.label}: ` : ''}${reference.target}`);
428
+ }
429
+ }
430
+ lines.push('', `Diagnostics: ${context.diagnostics.length}`);
431
+ lines.push(`Advisory analysis: ${context.advisory.enabled ? 'enabled' : 'disabled'}`);
432
+ return lines.join('\n');
433
+ }
434
+ function renderContextReference(reference) {
435
+ if (!reference)
436
+ return '(none)';
437
+ if (!reference.entity)
438
+ return `${reference.id} (unresolved)`;
439
+ return `${reference.entity.id} — ${reference.entity.title} [${reference.entity.status}]`;
440
+ }
441
+ function renderContextSections(lines, title, sections) {
442
+ if (sections.length === 0)
443
+ return;
444
+ lines.push('', title);
445
+ for (const section of sections)
446
+ lines.push(section.text || '(empty)');
447
+ }
355
448
  //# sourceMappingURL=ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDH,8BAuBC;AAxED,2BAAoC;AACpC,2CAA6B;AAC7B,6CAQqB;AAmCrB,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAC7D,MAAM,aAAa,GAAG,kCAAkC,CAAC;AACzD,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAEpC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,MAAgB,EAChB,UAAqB,EAAE;IAEvB,IAAI,CAAC;QACH,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1C,KAAK,aAAa;gBAChB,OAAO,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7C,KAAK,mBAAmB;gBACtB,OAAO,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,KAAK,YAAY;gBACf,OAAO,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,OAAkB;IACzD,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAc,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAA,kCAAoB,EAAC,UAAU,EAAE;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC;QAClE,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAkB;IAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAc,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAA,kCAAoB,EAAC;QACjC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;QACpD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAkB,EAAC,QAAQ,EAAE,UAAU,EAAE;QAC5D,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB;KAC3F,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;SACnD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAAkB;IACnE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAc,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAA,kCAAoB,EAAC;QACjC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAe,EAAC,QAAQ,EAAE,UAAU,EAAE;QACzD,OAAO;QACP,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;SACJ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,MAAM,QAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrG,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,QAAQ,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3I,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAkB;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,sBAAsB,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAoB;QAC9B,QAAQ;QACR,OAAO,EAAE,QAAQ,KAAK,SAAS;QAC/B,OAAO,EAAE,QAAQ,KAAK,WAAW;QACjC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,aAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/H,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,gDAAgD,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,KAAoC;IAC3D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAA6B,CAAC;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAoC;IAEpC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAkC,CAAC;IAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,KAAoC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,MAAM;SACV,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAoC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,UAAU,CAAC,KAAoC;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA4B,EAAE,KAAa;IACvE,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QAC9B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IACvI,CAAC;IAED,OAAO,GAAG,OAAO,OAAO,KAAK,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;IAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,OAAO,GAAG,eAAe;;;;;;EAMzB,OAAO;;;;;QAKD,OAAO;;;;;EAKb,OAAO;;;;;;;;EAQP,OAAO;;;;;;EAMP,OAAO;;EAEP,aAAa,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgD,EAAE,IAAuB;IACpG,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAC1B,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM;QAChD,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAgD,EAChD,OAAyB;IAEzB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC;QACtC,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC;QACvC,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,WAAW,CAAC;QAC3C,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACjF,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,mBAAmB,CAAC;QACjD,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,CAAC,qBAAqB,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAgD,EAChD,IAAuB;IAEvB,MAAM,MAAM,GAAG;QACb,4BAA4B,OAAO,CAAC,WAAW,GAAG;QAClD,UAAU,OAAO,CAAC,MAAM,CAAC,KAAK,YAAY,OAAO,CAAC,MAAM,CAAC,SAAS,aAAa,OAAO,CAAC,MAAM,CAAC,UAAU,eAAe,OAAO,CAAC,MAAM,CAAC,YAAY,aAAa,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;KAC3L,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI;QACnB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAU,CAAC;QACvD,CAAC,CAAE;YACD,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;YAC5B,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;YAChC,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACtE,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;SAC7B,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACtL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface ArchiveOptions {
8
8
  dryRun?: boolean;
9
9
  expectedUpdatedAt?: string;
10
10
  yes?: boolean;
11
+ disposition?: 'completed' | 'cancelled' | 'duplicate' | 'deferred' | 'superseded';
12
+ note?: string;
11
13
  format?: 'text' | 'json';
12
14
  }
13
15
  export declare function archiveCommand(rootPath: string, action: ArchiveAction, options?: ArchiveOptions): Promise<number>;
@@ -71,7 +71,9 @@ async function listArchive(rootPath, options) {
71
71
  console.log(`\nARCHIVE (${archived.length} items)\n`);
72
72
  for (const entity of archived) {
73
73
  console.log(`${entity.id} ${entity.title}`);
74
- console.log(` ${entity.type} | archived ${entity.archive?.archivedAt ?? 'unknown'}`);
74
+ console.log(` ${entity.type} | ${entity.archive?.disposition ?? 'legacy archive'} | archived ${entity.archive?.archivedAt ?? 'unknown'}`);
75
+ if (entity.archive?.note)
76
+ console.log(` Note: ${entity.archive.note}`);
75
77
  }
76
78
  return 0;
77
79
  }
@@ -90,6 +92,8 @@ async function archiveItem(rootPath, options) {
90
92
  }
91
93
  const preview = previewArchiveEntities(rootPath, entity, {
92
94
  includeChildren: options.includeChildren,
95
+ disposition: options.disposition,
96
+ note: options.note,
93
97
  now: new Date(),
94
98
  childTasks: Array.from(repository.tasks.values()).filter(task => task.epic === entity.id)
95
99
  });
@@ -98,7 +102,8 @@ async function archiveItem(rootPath, options) {
98
102
  return 0;
99
103
  }
100
104
  const result = await (0, planfs_core_1.archiveEntity)(rootPath, options.id, {
101
- includeChildren: options.includeChildren
105
+ includeChildren: options.includeChildren,
106
+ disposition: options.disposition, note: options.note
102
107
  });
103
108
  printArchiveResult(result.archived, false, options.format);
104
109
  return 0;
@@ -134,7 +139,9 @@ function previewArchiveEntities(rootPath, entity, options) {
134
139
  const archived = toArchive.map(current => {
135
140
  const archive = {
136
141
  archivedAt,
137
- originalPath: path.relative(rootPath, current.filePath)
142
+ originalPath: path.relative(rootPath, current.filePath),
143
+ ...(options.disposition ? { disposition: options.disposition } : {}),
144
+ ...(options.note ? { note: options.note } : {})
138
145
  };
139
146
  return {
140
147
  ...current,
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ exports.createCommand = createCommand;
8
8
  const planfs_core_1 = require("planfs-core");
9
9
  async function createCommand(rootPath, entityType, options) {
10
10
  try {
11
- if (!['task', 'epic', 'milestone'].includes(entityType)) {
11
+ if (!['task', 'epic', 'milestone', 'decision'].includes(entityType)) {
12
12
  console.error(`Error: creating ${entityType} entities is not supported yet`);
13
13
  return 1;
14
14
  }
@@ -58,7 +58,7 @@ async function createCommand(rootPath, entityType, options) {
58
58
  }
59
59
  entity = epic;
60
60
  }
61
- else {
61
+ else if (entityType === 'milestone') {
62
62
  if (!options.targetDate) {
63
63
  console.error('Error: --target-date is required when creating milestones');
64
64
  return 1;
@@ -77,6 +77,14 @@ async function createCommand(rootPath, entityType, options) {
77
77
  }
78
78
  entity = milestone;
79
79
  }
80
+ else {
81
+ const decision = (0, planfs_core_1.createDecisionTemplate)((0, planfs_core_1.getNextDecisionId)(repository, options.title), options.title);
82
+ if (options.status)
83
+ decision.status = options.status;
84
+ if (options.description)
85
+ decision.body = options.description;
86
+ entity = decision;
87
+ }
80
88
  const preview = (0, planfs_core_1.generateEntityContent)(entity);
81
89
  validateCreatePreview(repository, entity);
82
90
  if (!options.dryRun) {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface DoctorOptions {
2
+ format?: 'text' | 'json';
3
+ }
4
+ export declare function doctorCommand(rootPath: string, options?: DoctorOptions): Promise<number>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.doctorCommand = doctorCommand;
4
+ const planfs_core_1 = require("planfs-core");
5
+ async function doctorCommand(rootPath, options = {}) {
6
+ try {
7
+ const repository = await (0, planfs_core_1.loadRepository)(rootPath);
8
+ const issues = [];
9
+ for (const task of repository.archivedTasks?.values() ?? []) {
10
+ if (task.status !== 'done')
11
+ issues.push({ category: 'archived-open-task', severity: 'actionable', id: task.id, message: 'Archived task is unfinished.' });
12
+ }
13
+ for (const epic of repository.archivedEpics?.values() ?? []) {
14
+ if (epic.status === 'active')
15
+ issues.push({ category: 'archived-active-epic', severity: 'actionable', id: epic.id, message: 'Archived epic is still active.' });
16
+ }
17
+ for (const entity of (0, planfs_core_1.getAllEntities)(repository)) {
18
+ if (entity.type === 'task' && entity.status === 'review')
19
+ issues.push({ category: 'stale-review', severity: 'actionable', id: entity.id, message: 'Task remains in review.' });
20
+ }
21
+ for (const diagnostic of (0, planfs_core_1.validateRepositoryState)(repository).errors.filter(item => item.severity === 'warning')) {
22
+ issues.push({ category: diagnostic.message.startsWith('Unknown') ? 'historical-reference' : 'validation-warning', severity: diagnostic.message.startsWith('Unknown') ? 'historical' : 'actionable', id: diagnostic.id, message: diagnostic.message });
23
+ }
24
+ const summary = issues.reduce((counts, issue) => ({ ...counts, [issue.category]: (counts[issue.category] ?? 0) + 1 }), {});
25
+ if (options.format === 'json') {
26
+ console.log(JSON.stringify({ issues, summary }, null, 2));
27
+ }
28
+ else if (issues.length === 0) {
29
+ console.log('Plan health: no actionable issues.');
30
+ }
31
+ else {
32
+ console.log(`Plan health: ${issues.filter(issue => issue.severity === 'actionable').length} actionable issue(s), ${issues.filter(issue => issue.severity === 'historical').length} historical reference(s).`);
33
+ for (const issue of issues)
34
+ console.log(` ${issue.severity === 'actionable' ? '!' : 'i'}${issue.id ? ` [${issue.id}]` : ''} ${issue.category}: ${issue.message}`);
35
+ }
36
+ return issues.some(issue => issue.severity === 'actionable') ? 1 : 0;
37
+ }
38
+ catch (error) {
39
+ console.error(`Plan health failed: ${error instanceof Error ? error.message : String(error)}`);
40
+ return 1;
41
+ }
42
+ }
43
+ //# 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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"}
@@ -0,0 +1,10 @@
1
+ export type FilterAction = 'list' | 'show' | 'save' | 'delete';
2
+ export interface FilterOptions {
3
+ id?: string;
4
+ name?: string;
5
+ description?: string;
6
+ criteria?: string;
7
+ dryRun?: boolean;
8
+ format?: 'text' | 'json';
9
+ }
10
+ export declare function filterCommand(rootPath: string, action: FilterAction, options: FilterOptions): Promise<number>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterCommand = filterCommand;
4
+ const planfs_core_1 = require("planfs-core");
5
+ async function filterCommand(rootPath, action, options) {
6
+ try {
7
+ const filters = await (0, planfs_core_1.loadSavedFilters)(rootPath);
8
+ if (action === 'list')
9
+ return output(filters, options);
10
+ if (!options.id)
11
+ throw new Error('--id is required');
12
+ const existing = filters.find(filter => filter.id === options.id);
13
+ if (action === 'show')
14
+ return output(existing ?? (() => { throw new Error(`Filter not found: ${options.id}`); })(), options);
15
+ if (action === 'delete') {
16
+ if (options.dryRun)
17
+ return output({ id: options.id, dryRun: true }, options);
18
+ await (0, planfs_core_1.deleteSavedFilter)(rootPath, options.id);
19
+ return output({ id: options.id, deleted: true }, options);
20
+ }
21
+ const criteria = options.criteria ? JSON.parse(options.criteria) : existing?.criteria ?? {};
22
+ const filter = { id: options.id, name: options.name ?? existing?.name ?? options.id, description: options.description ?? existing?.description, criteria };
23
+ if (!options.dryRun)
24
+ await (0, planfs_core_1.saveSavedFilter)(rootPath, filter);
25
+ return output({ ...filter, dryRun: Boolean(options.dryRun) }, options);
26
+ }
27
+ catch (error) {
28
+ console.error(`Filter command failed: ${error instanceof Error ? error.message : String(error)}`);
29
+ return 1;
30
+ }
31
+ }
32
+ function output(value, options) { console.log(options.format === 'json' ? JSON.stringify(value, null, 2) : JSON.stringify(value, null, 2)); return 0; }
33
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/commands/filter.ts"],"names":[],"mappings":";;AAMA,sCAaC;AAnBD,6CAAmF;AAM5E,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,MAAoB,EAAE,OAAsB;IAChG,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAgB,EAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7H,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM,IAAA,+BAAiB,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAAC,OAAO,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QACpN,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAgB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACxK,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM,IAAA,6BAAe,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AAClI,CAAC;AACD,SAAS,MAAM,CAAC,KAAc,EAAE,OAAsB,IAAY,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface FormatOptions {
2
+ ids?: string[];
3
+ all?: boolean;
4
+ check?: boolean;
5
+ apply?: boolean;
6
+ expectedFingerprint?: string[];
7
+ format?: 'text' | 'json';
8
+ }
9
+ export declare function formatCommand(rootPath: string, options?: FormatOptions): Promise<number>;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatCommand = formatCommand;
4
+ const planfs_core_1 = require("planfs-core");
5
+ async function formatCommand(rootPath, options = {}) {
6
+ try {
7
+ if (options.check && options.apply) {
8
+ throw new Error('Choose either --check or --apply, not both');
9
+ }
10
+ const ids = await selectedEntityIds(rootPath, options);
11
+ const mode = options.apply ? 'apply' : options.check ? 'check' : 'preview';
12
+ const result = options.apply
13
+ ? await (0, planfs_core_1.applySemanticFormats)(rootPath, ids, parseExpectedFingerprints(ids, options.expectedFingerprint ?? []))
14
+ : await (0, planfs_core_1.previewSemanticFormats)(rootPath, ids);
15
+ if (options.format === 'json') {
16
+ console.log(JSON.stringify({ mode, ...result }, null, 2));
17
+ }
18
+ else {
19
+ printFormatResult(mode, result);
20
+ }
21
+ return mode === 'check' && (result.changedEntityIds.length > 0 || result.blockedEntityIds.length > 0) ? 1 : 0;
22
+ }
23
+ catch (error) {
24
+ console.error(`Format failed: ${error instanceof Error ? error.message : String(error)}`);
25
+ return 1;
26
+ }
27
+ }
28
+ async function selectedEntityIds(rootPath, options) {
29
+ const explicit = normalizeIds(options.ids ?? []);
30
+ if (options.all && explicit.length > 0) {
31
+ throw new Error('Use explicit entity IDs or --all, not both');
32
+ }
33
+ if (options.all) {
34
+ const repository = await (0, planfs_core_1.loadRepository)(rootPath);
35
+ return (0, planfs_core_1.getAllEntities)(repository).map(entity => entity.id).sort();
36
+ }
37
+ if (explicit.length === 0) {
38
+ throw new Error('Provide one or more entity IDs, or use --all for the active repository');
39
+ }
40
+ return explicit;
41
+ }
42
+ function normalizeIds(values) {
43
+ return [...new Set(values.flatMap(value => value.split(','))
44
+ .map(value => value.trim())
45
+ .filter(Boolean))].sort();
46
+ }
47
+ function parseExpectedFingerprints(entityIds, values) {
48
+ const result = {};
49
+ for (const raw of values) {
50
+ const separator = raw.indexOf('=');
51
+ if (separator < 0) {
52
+ if (entityIds.length !== 1) {
53
+ throw new Error('Batch apply fingerprints must use ENTITY-ID=sha256:...');
54
+ }
55
+ const onlyId = entityIds[0];
56
+ if (onlyId)
57
+ result[onlyId] = raw;
58
+ continue;
59
+ }
60
+ const id = raw.slice(0, separator).trim();
61
+ const value = raw.slice(separator + 1).trim();
62
+ if (!entityIds.includes(id))
63
+ throw new Error(`Unexpected format fingerprint for ${id}`);
64
+ if (!value)
65
+ throw new Error(`Missing format fingerprint value for ${id}`);
66
+ result[id] = value;
67
+ }
68
+ return result;
69
+ }
70
+ function printFormatResult(mode, result) {
71
+ console.log(`\nSemantic format ${mode}`);
72
+ console.log('='.repeat(60));
73
+ for (const preview of result.previews) {
74
+ const label = preview.blocked ? 'BLOCKED' : preview.changed ? 'CHANGES' : 'CLEAN';
75
+ console.log(`\n${label} ${preview.entityId} — ${preview.filePath}`);
76
+ for (const issue of preview.issues) {
77
+ console.log(` ${issue.severity.toUpperCase()} ${issue.code}: ${issue.message}`);
78
+ }
79
+ if (preview.diff)
80
+ console.log(preview.diff);
81
+ if (preview.changed && mode !== 'apply') {
82
+ console.log(` Preview fingerprint: ${preview.entityId}=${preview.sourceFingerprint}`);
83
+ }
84
+ }
85
+ if (mode === 'apply') {
86
+ console.log(`\nApplied ${result.appliedEntityIds?.length ?? 0} file(s).`);
87
+ }
88
+ else if (result.changedEntityIds.length === 0) {
89
+ console.log('\nNo semantic formatting changes needed.');
90
+ }
91
+ else if (mode === 'preview') {
92
+ console.log('\nNo files were written. Re-run with --apply and every preview fingerprint to apply exactly these snapshots.');
93
+ }
94
+ else {
95
+ console.log(`\n${result.changedEntityIds.length} file(s) require semantic formatting.`);
96
+ }
97
+ }
98
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/commands/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function historyCommand(rootPath: string, id: string, format?: 'text' | 'json'): Promise<number>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.historyCommand = historyCommand;
4
+ const planfs_core_1 = require("planfs-core");
5
+ async function historyCommand(rootPath, id, format = 'text') {
6
+ try {
7
+ const entries = await (0, planfs_core_1.getEntityHistory)(rootPath, id);
8
+ if (format === 'json')
9
+ console.log(JSON.stringify(entries, null, 2));
10
+ else if (!entries.length)
11
+ console.log(`No committed history for ${id}.`);
12
+ else
13
+ for (const entry of entries)
14
+ console.log(`${entry.hash.slice(0, 12)} ${entry.timestamp} ${entry.author} — ${entry.subject}`);
15
+ return 0;
16
+ }
17
+ catch (error) {
18
+ console.error(`History failed: ${error instanceof Error ? error.message : String(error)}`);
19
+ return 1;
20
+ }
21
+ }
22
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;AACA,wCAGC;AAJD,6CAA+C;AACxC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,EAAU,EAAE,SAA0B,MAAM;IACjG,IAAI,CAAC;QAAC,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAgB,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAAC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;;YAAM,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAC1V,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACzH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** Semantic entity inspection command. */
2
+ import type { SemanticInspectionView } from 'planfs-core';
3
+ export interface InspectOptions {
4
+ format?: 'pretty' | 'json';
5
+ view?: SemanticInspectionView;
6
+ nlp?: boolean;
7
+ language?: string;
8
+ }
9
+ export declare function inspectCommand(rootPath: string, entityId: string, options?: InspectOptions): Promise<number>;