@rengler33/prov 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +314 -0
  2. package/dist/cli.d.ts +26 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +381 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/agent.d.ts +107 -0
  7. package/dist/commands/agent.d.ts.map +1 -0
  8. package/dist/commands/agent.js +197 -0
  9. package/dist/commands/agent.js.map +1 -0
  10. package/dist/commands/agent.test.d.ts +5 -0
  11. package/dist/commands/agent.test.d.ts.map +1 -0
  12. package/dist/commands/agent.test.js +199 -0
  13. package/dist/commands/agent.test.js.map +1 -0
  14. package/dist/commands/constraint.d.ts +100 -0
  15. package/dist/commands/constraint.d.ts.map +1 -0
  16. package/dist/commands/constraint.js +763 -0
  17. package/dist/commands/constraint.js.map +1 -0
  18. package/dist/commands/constraint.test.d.ts +9 -0
  19. package/dist/commands/constraint.test.d.ts.map +1 -0
  20. package/dist/commands/constraint.test.js +470 -0
  21. package/dist/commands/constraint.test.js.map +1 -0
  22. package/dist/commands/graph.d.ts +99 -0
  23. package/dist/commands/graph.d.ts.map +1 -0
  24. package/dist/commands/graph.js +552 -0
  25. package/dist/commands/graph.js.map +1 -0
  26. package/dist/commands/graph.test.d.ts +2 -0
  27. package/dist/commands/graph.test.d.ts.map +1 -0
  28. package/dist/commands/graph.test.js +258 -0
  29. package/dist/commands/graph.test.js.map +1 -0
  30. package/dist/commands/impact.d.ts +83 -0
  31. package/dist/commands/impact.d.ts.map +1 -0
  32. package/dist/commands/impact.js +319 -0
  33. package/dist/commands/impact.js.map +1 -0
  34. package/dist/commands/impact.test.d.ts +2 -0
  35. package/dist/commands/impact.test.d.ts.map +1 -0
  36. package/dist/commands/impact.test.js +234 -0
  37. package/dist/commands/impact.test.js.map +1 -0
  38. package/dist/commands/init.d.ts +45 -0
  39. package/dist/commands/init.d.ts.map +1 -0
  40. package/dist/commands/init.js +94 -0
  41. package/dist/commands/init.js.map +1 -0
  42. package/dist/commands/init.test.d.ts +7 -0
  43. package/dist/commands/init.test.d.ts.map +1 -0
  44. package/dist/commands/init.test.js +174 -0
  45. package/dist/commands/init.test.js.map +1 -0
  46. package/dist/commands/integration.test.d.ts +10 -0
  47. package/dist/commands/integration.test.d.ts.map +1 -0
  48. package/dist/commands/integration.test.js +456 -0
  49. package/dist/commands/integration.test.js.map +1 -0
  50. package/dist/commands/mcp.d.ts +21 -0
  51. package/dist/commands/mcp.d.ts.map +1 -0
  52. package/dist/commands/mcp.js +616 -0
  53. package/dist/commands/mcp.js.map +1 -0
  54. package/dist/commands/mcp.test.d.ts +7 -0
  55. package/dist/commands/mcp.test.d.ts.map +1 -0
  56. package/dist/commands/mcp.test.js +132 -0
  57. package/dist/commands/mcp.test.js.map +1 -0
  58. package/dist/commands/plan.d.ts +218 -0
  59. package/dist/commands/plan.d.ts.map +1 -0
  60. package/dist/commands/plan.js +1307 -0
  61. package/dist/commands/plan.js.map +1 -0
  62. package/dist/commands/plan.test.d.ts +9 -0
  63. package/dist/commands/plan.test.d.ts.map +1 -0
  64. package/dist/commands/plan.test.js +569 -0
  65. package/dist/commands/plan.test.js.map +1 -0
  66. package/dist/commands/spec.d.ts +94 -0
  67. package/dist/commands/spec.d.ts.map +1 -0
  68. package/dist/commands/spec.js +635 -0
  69. package/dist/commands/spec.js.map +1 -0
  70. package/dist/commands/spec.test.d.ts +9 -0
  71. package/dist/commands/spec.test.d.ts.map +1 -0
  72. package/dist/commands/spec.test.js +407 -0
  73. package/dist/commands/spec.test.js.map +1 -0
  74. package/dist/commands/trace.d.ts +157 -0
  75. package/dist/commands/trace.d.ts.map +1 -0
  76. package/dist/commands/trace.js +847 -0
  77. package/dist/commands/trace.js.map +1 -0
  78. package/dist/commands/trace.test.d.ts +9 -0
  79. package/dist/commands/trace.test.d.ts.map +1 -0
  80. package/dist/commands/trace.test.js +524 -0
  81. package/dist/commands/trace.test.js.map +1 -0
  82. package/dist/graph.d.ts +204 -0
  83. package/dist/graph.d.ts.map +1 -0
  84. package/dist/graph.js +496 -0
  85. package/dist/graph.js.map +1 -0
  86. package/dist/graph.test.d.ts +2 -0
  87. package/dist/graph.test.d.ts.map +1 -0
  88. package/dist/graph.test.js +382 -0
  89. package/dist/graph.test.js.map +1 -0
  90. package/dist/hash.d.ts +72 -0
  91. package/dist/hash.d.ts.map +1 -0
  92. package/dist/hash.js +137 -0
  93. package/dist/hash.js.map +1 -0
  94. package/dist/hash.test.d.ts +2 -0
  95. package/dist/hash.test.d.ts.map +1 -0
  96. package/dist/hash.test.js +227 -0
  97. package/dist/hash.test.js.map +1 -0
  98. package/dist/index.d.ts +18 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +64 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/index.test.d.ts +2 -0
  103. package/dist/index.test.d.ts.map +1 -0
  104. package/dist/index.test.js +11 -0
  105. package/dist/index.test.js.map +1 -0
  106. package/dist/output.d.ts +84 -0
  107. package/dist/output.d.ts.map +1 -0
  108. package/dist/output.js +175 -0
  109. package/dist/output.js.map +1 -0
  110. package/dist/output.test.d.ts +7 -0
  111. package/dist/output.test.d.ts.map +1 -0
  112. package/dist/output.test.js +146 -0
  113. package/dist/output.test.js.map +1 -0
  114. package/dist/staleness.d.ts +162 -0
  115. package/dist/staleness.d.ts.map +1 -0
  116. package/dist/staleness.js +309 -0
  117. package/dist/staleness.js.map +1 -0
  118. package/dist/staleness.test.d.ts +2 -0
  119. package/dist/staleness.test.d.ts.map +1 -0
  120. package/dist/staleness.test.js +448 -0
  121. package/dist/staleness.test.js.map +1 -0
  122. package/dist/storage.d.ts +267 -0
  123. package/dist/storage.d.ts.map +1 -0
  124. package/dist/storage.js +623 -0
  125. package/dist/storage.js.map +1 -0
  126. package/dist/storage.test.d.ts +5 -0
  127. package/dist/storage.test.d.ts.map +1 -0
  128. package/dist/storage.test.js +434 -0
  129. package/dist/storage.test.js.map +1 -0
  130. package/dist/types.d.ts +270 -0
  131. package/dist/types.d.ts.map +1 -0
  132. package/dist/types.js +12 -0
  133. package/dist/types.js.map +1 -0
  134. package/dist/types.test.d.ts +2 -0
  135. package/dist/types.test.d.ts.map +1 -0
  136. package/dist/types.test.js +232 -0
  137. package/dist/types.test.js.map +1 -0
  138. package/dist/watcher.d.ts +139 -0
  139. package/dist/watcher.d.ts.map +1 -0
  140. package/dist/watcher.js +406 -0
  141. package/dist/watcher.js.map +1 -0
  142. package/dist/watcher.test.d.ts +5 -0
  143. package/dist/watcher.test.d.ts.map +1 -0
  144. package/dist/watcher.test.js +327 -0
  145. package/dist/watcher.test.js.map +1 -0
  146. package/package.json +53 -0
package/dist/cli.js ADDED
@@ -0,0 +1,381 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * prov CLI entry point
4
+ *
5
+ * A provenance-first planning CLI for AI agent workflows.
6
+ * This CLI serves two audiences: human developers managing specs
7
+ * and AI agents creating/executing plans.
8
+ *
9
+ * @see spec:cli-interface:v1
10
+ * @see dec:cli-framework (Commander.js)
11
+ */
12
+ import { Command, Option } from 'commander';
13
+ import { VERSION } from './index.js';
14
+ import { resolveFormat, output, error } from './output.js';
15
+ import { runInit } from './commands/init.js';
16
+ import { runSpecAdd, runSpecList, runSpecValidate } from './commands/spec.js';
17
+ import { runConstraintAdd, runConstraintList, runConstraintCheck } from './commands/constraint.js';
18
+ import { runPlanCreate, runPlanShow, runPlanValidate, runPlanNext, runPlanRemaining, runPlanProgress, } from './commands/plan.js';
19
+ import { runTraceAdd, runTraceShow, runTraceWhy, runTraceScan } from './commands/trace.js';
20
+ import { runGraphShow, runGraphExport, runGraphOrphans } from './commands/graph.js';
21
+ import { runImpact, runStale } from './commands/impact.js';
22
+ import { runAgentContext } from './commands/agent.js';
23
+ import { runMcpServe } from './commands/mcp.js';
24
+ /**
25
+ * Create the format option shared by all commands.
26
+ */
27
+ function createFormatOption() {
28
+ return new Option('-f, --format <format>', 'Output format')
29
+ .choices(['table', 'yaml', 'json'])
30
+ .default(undefined, 'table (TTY) or yaml (pipe)');
31
+ }
32
+ /**
33
+ * Create the main CLI program.
34
+ */
35
+ function createProgram() {
36
+ const program = new Command();
37
+ program
38
+ .name('prov')
39
+ .description('Provenance-first planning CLI for AI agent workflows')
40
+ .version(VERSION, '-v, --version', 'Output the version number')
41
+ .option('--verbose', 'Enable verbose output')
42
+ .option('-q, --quiet', 'Suppress non-essential output')
43
+ .option('-C, --dir <directory>', 'Run as if prov was started in <directory>')
44
+ .addOption(createFormatOption());
45
+ // Add command groups
46
+ program.addCommand(createInitCommand());
47
+ program.addCommand(createSpecCommand());
48
+ program.addCommand(createConstraintCommand());
49
+ program.addCommand(createPlanCommand());
50
+ program.addCommand(createTraceCommand());
51
+ program.addCommand(createGraphCommand());
52
+ program.addCommand(createAgentCommand());
53
+ program.addCommand(createMcpCommand());
54
+ program.addCommand(createImpactCommand());
55
+ program.addCommand(createStaleCommand());
56
+ return program;
57
+ }
58
+ // ============================================================================
59
+ // Init Command
60
+ // ============================================================================
61
+ function createInitCommand() {
62
+ return new Command('init')
63
+ .description('Initialize provenance tracking in a directory')
64
+ .option('--force', 'Reinitialize even if already initialized')
65
+ .action((options, cmd) => {
66
+ const globalOpts = cmd.optsWithGlobals();
67
+ runInit(globalOpts, options);
68
+ });
69
+ }
70
+ // ============================================================================
71
+ // Spec Commands
72
+ // ============================================================================
73
+ function createSpecCommand() {
74
+ const spec = new Command('spec')
75
+ .description('Manage specifications');
76
+ spec
77
+ .command('add <file>')
78
+ .description('Add a specification to tracking')
79
+ .action((file, _options, cmd) => {
80
+ const globalOpts = cmd.optsWithGlobals();
81
+ runSpecAdd(globalOpts, file, {});
82
+ });
83
+ spec
84
+ .command('list')
85
+ .description('List tracked specifications')
86
+ .option('-s, --status <status>', 'Filter by status')
87
+ .addOption(createFormatOption())
88
+ .action((options, cmd) => {
89
+ const globalOpts = cmd.optsWithGlobals();
90
+ runSpecList(globalOpts, { status: options.status });
91
+ });
92
+ spec
93
+ .command('validate')
94
+ .description('Validate specification consistency')
95
+ .option('--fix', 'Attempt to fix validation errors')
96
+ .action((options, cmd) => {
97
+ const globalOpts = cmd.optsWithGlobals();
98
+ runSpecValidate(globalOpts, { fix: options.fix });
99
+ });
100
+ spec
101
+ .command('diff <id1> <id2>')
102
+ .description('Show differences between spec versions')
103
+ .action((id1, id2, _options, cmd) => {
104
+ const globalOpts = cmd.optsWithGlobals();
105
+ notImplemented('spec diff', globalOpts, { id1, id2 });
106
+ });
107
+ return spec;
108
+ }
109
+ // ============================================================================
110
+ // Constraint Commands
111
+ // ============================================================================
112
+ function createConstraintCommand() {
113
+ const constraint = new Command('constraint')
114
+ .description('Manage constraints');
115
+ constraint
116
+ .command('add <file>')
117
+ .description('Add a constraint file to tracking')
118
+ .action((file, _options, cmd) => {
119
+ const globalOpts = cmd.optsWithGlobals();
120
+ runConstraintAdd(globalOpts, file, {});
121
+ });
122
+ constraint
123
+ .command('list')
124
+ .description('List tracked constraints')
125
+ .option('-s, --status <status>', 'Filter by status')
126
+ .addOption(createFormatOption())
127
+ .action((options, cmd) => {
128
+ const globalOpts = cmd.optsWithGlobals();
129
+ runConstraintList(globalOpts, { status: options.status });
130
+ });
131
+ constraint
132
+ .command('check [id]')
133
+ .description('Run constraint verification')
134
+ .option('--fix', 'Attempt automatic remediation')
135
+ .action((id, options, cmd) => {
136
+ const globalOpts = cmd.optsWithGlobals();
137
+ runConstraintCheck(globalOpts, id, { fix: options.fix }).catch((err) => {
138
+ error(err.message);
139
+ process.exit(1);
140
+ });
141
+ });
142
+ return constraint;
143
+ }
144
+ // ============================================================================
145
+ // Plan Commands
146
+ // ============================================================================
147
+ function createPlanCommand() {
148
+ const plan = new Command('plan')
149
+ .description('Manage implementation plans');
150
+ plan
151
+ .command('create')
152
+ .description('Create a new plan from specs and constraints')
153
+ .requiredOption('--from <specs...>', 'Spec IDs to derive from')
154
+ .option('--with <constraints...>', 'Constraint IDs to apply')
155
+ .option('-o, --output <file>', 'Output file path')
156
+ .option('-i, --interactive', 'Use interactive mode')
157
+ .action((options, cmd) => {
158
+ const globalOpts = cmd.optsWithGlobals();
159
+ runPlanCreate(globalOpts, options);
160
+ });
161
+ plan
162
+ .command('show <id>')
163
+ .description('Display plan details')
164
+ .addOption(createFormatOption())
165
+ .action((id, options, cmd) => {
166
+ const globalOpts = cmd.optsWithGlobals();
167
+ runPlanShow(globalOpts, id, options);
168
+ });
169
+ plan
170
+ .command('validate')
171
+ .description('Validate plan completeness')
172
+ .action((_options, cmd) => {
173
+ const globalOpts = cmd.optsWithGlobals();
174
+ runPlanValidate(globalOpts, {});
175
+ });
176
+ plan
177
+ .command('remaining <id>')
178
+ .description('Show unimplemented plan steps')
179
+ .addOption(createFormatOption())
180
+ .action((id, options, cmd) => {
181
+ const globalOpts = cmd.optsWithGlobals();
182
+ runPlanRemaining(globalOpts, id, options);
183
+ });
184
+ plan
185
+ .command('next <id>')
186
+ .description('Show the next step to implement')
187
+ .addOption(createFormatOption())
188
+ .action((id, options, cmd) => {
189
+ const globalOpts = cmd.optsWithGlobals();
190
+ runPlanNext(globalOpts, id, options);
191
+ });
192
+ plan
193
+ .command('progress <id>')
194
+ .description('Show plan implementation progress')
195
+ .addOption(createFormatOption())
196
+ .action((id, options, cmd) => {
197
+ const globalOpts = cmd.optsWithGlobals();
198
+ runPlanProgress(globalOpts, id, options);
199
+ });
200
+ return plan;
201
+ }
202
+ // ============================================================================
203
+ // Trace Commands
204
+ // ============================================================================
205
+ function createTraceCommand() {
206
+ const trace = new Command('trace')
207
+ .description('Manage artifact traces');
208
+ trace
209
+ .command('add <path>')
210
+ .description('Link an artifact to a plan step')
211
+ .requiredOption('--to <step-id>', 'Step ID to trace to')
212
+ .option('--auto-hash', 'Recompute hash on each query')
213
+ .action((path, options, cmd) => {
214
+ const globalOpts = cmd.optsWithGlobals();
215
+ runTraceAdd(globalOpts, path, options);
216
+ });
217
+ trace
218
+ .command('show <path>')
219
+ .description('Show provenance for an artifact')
220
+ .addOption(createFormatOption())
221
+ .action((path, options, cmd) => {
222
+ const globalOpts = cmd.optsWithGlobals();
223
+ runTraceShow(globalOpts, path, options);
224
+ });
225
+ trace
226
+ .command('why <req-id>')
227
+ .description('Show implementations of a requirement')
228
+ .addOption(createFormatOption())
229
+ .action((reqId, options, cmd) => {
230
+ const globalOpts = cmd.optsWithGlobals();
231
+ runTraceWhy(globalOpts, reqId, options);
232
+ });
233
+ trace
234
+ .command('scan')
235
+ .description('Scan source files for inline trace markers')
236
+ .option('--dirs <directories...>', 'Directories to scan (default: project root)')
237
+ .addOption(createFormatOption())
238
+ .action((options, cmd) => {
239
+ const globalOpts = cmd.optsWithGlobals();
240
+ runTraceScan(globalOpts, options);
241
+ });
242
+ return trace;
243
+ }
244
+ // ============================================================================
245
+ // Graph Commands
246
+ // ============================================================================
247
+ function createGraphCommand() {
248
+ const graph = new Command('graph')
249
+ .description('Visualize and export the intent graph');
250
+ graph
251
+ .command('show')
252
+ .description('Display ASCII graph in terminal')
253
+ .option('--depth <n>', 'Maximum depth to display', parseInt)
254
+ .action((options, cmd) => {
255
+ const globalOpts = cmd.optsWithGlobals();
256
+ runGraphShow(globalOpts, options);
257
+ });
258
+ graph
259
+ .command('export')
260
+ .description('Export graph for external tools')
261
+ .addOption(new Option('--format <format>', 'Export format')
262
+ .choices(['dot', 'json', 'mermaid'])
263
+ .default('dot'))
264
+ .option('-o, --output <file>', 'Output file (stdout if not specified)')
265
+ .action((options, cmd) => {
266
+ const globalOpts = cmd.optsWithGlobals();
267
+ runGraphExport(globalOpts, options);
268
+ });
269
+ graph
270
+ .command('orphans')
271
+ .description('Find untraced code')
272
+ .option('--scan <dirs...>', 'Directories to scan')
273
+ .addOption(createFormatOption())
274
+ .action((options, cmd) => {
275
+ const globalOpts = cmd.optsWithGlobals();
276
+ runGraphOrphans(globalOpts, options);
277
+ });
278
+ return graph;
279
+ }
280
+ // ============================================================================
281
+ // Agent Commands
282
+ // ============================================================================
283
+ function createAgentCommand() {
284
+ const agent = new Command('agent')
285
+ .description('AI agent support commands');
286
+ agent
287
+ .command('context')
288
+ .description('Output context for AI agents')
289
+ .option('--scope <spec-ids...>', 'Limit context to specific specs')
290
+ .addOption(createFormatOption())
291
+ .action((options, cmd) => {
292
+ const globalOpts = cmd.optsWithGlobals();
293
+ runAgentContext(globalOpts, options);
294
+ });
295
+ return agent;
296
+ }
297
+ // ============================================================================
298
+ // MCP Commands
299
+ // ============================================================================
300
+ function createMcpCommand() {
301
+ const mcp = new Command('mcp')
302
+ .description('Model Context Protocol server');
303
+ mcp
304
+ .command('serve')
305
+ .description('Start MCP server for AI agent integration')
306
+ .action(() => {
307
+ runMcpServe().catch((err) => {
308
+ error(err.message);
309
+ process.exit(1);
310
+ });
311
+ });
312
+ return mcp;
313
+ }
314
+ // ============================================================================
315
+ // Impact Command
316
+ // ============================================================================
317
+ function createImpactCommand() {
318
+ return new Command('impact')
319
+ .description('Analyze impact of spec/constraint changes')
320
+ .argument('<spec-id>', 'Spec or constraint ID to analyze')
321
+ .option('--changed', 'Auto-detect modified specs')
322
+ .addOption(createFormatOption())
323
+ .action((specId, options, cmd) => {
324
+ const globalOpts = cmd.optsWithGlobals();
325
+ runImpact(globalOpts, specId, options);
326
+ });
327
+ }
328
+ // ============================================================================
329
+ // Stale Command
330
+ // ============================================================================
331
+ function createStaleCommand() {
332
+ return new Command('stale')
333
+ .description('Find stale artifacts needing regeneration')
334
+ .addOption(createFormatOption())
335
+ .action((options, cmd) => {
336
+ const globalOpts = cmd.optsWithGlobals();
337
+ runStale(globalOpts, options);
338
+ });
339
+ }
340
+ // ============================================================================
341
+ // Helper Functions
342
+ // ============================================================================
343
+ /**
344
+ * Placeholder for unimplemented commands.
345
+ * Will be replaced as commands are implemented in subsequent phases.
346
+ */
347
+ function notImplemented(command, globalOpts, options) {
348
+ const fmt = resolveFormat({ format: globalOpts.format });
349
+ if (fmt === 'json') {
350
+ output({
351
+ error: 'not_implemented',
352
+ command,
353
+ message: `Command '${command}' is not yet implemented`,
354
+ options: options ?? {},
355
+ }, { format: 'json' });
356
+ }
357
+ else if (fmt === 'yaml') {
358
+ output({
359
+ error: 'not_implemented',
360
+ command,
361
+ message: `Command '${command}' is not yet implemented`,
362
+ options: options ?? {},
363
+ }, { format: 'yaml' });
364
+ }
365
+ else {
366
+ error(`Command '${command}' is not yet implemented`);
367
+ if (globalOpts.verbose === true && options !== undefined) {
368
+ process.stderr.write(`Options: ${JSON.stringify(options, null, 2)}\n`);
369
+ }
370
+ }
371
+ process.exit(1);
372
+ }
373
+ // ============================================================================
374
+ // Main Entry Point
375
+ // ============================================================================
376
+ const program = createProgram();
377
+ program.parseAsync(process.argv).catch((err) => {
378
+ error(err.message);
379
+ process.exit(1);
380
+ });
381
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * prov agent commands implementation.
3
+ *
4
+ * Commands for AI agent support:
5
+ * - agent context: Output structured context for AI agents
6
+ *
7
+ * @see req:agent:context-retrieval
8
+ */
9
+ import { type GlobalOptions } from '../cli.js';
10
+ /**
11
+ * Options for agent context command.
12
+ */
13
+ export interface AgentContextOptions {
14
+ scope?: string[];
15
+ format?: string;
16
+ }
17
+ /**
18
+ * Requirement summary for agent context.
19
+ */
20
+ export interface RequirementSummary {
21
+ id: string;
22
+ description: string;
23
+ acceptance: string[];
24
+ }
25
+ /**
26
+ * Spec summary for agent context.
27
+ */
28
+ export interface SpecSummary {
29
+ id: string;
30
+ title: string;
31
+ status: string;
32
+ intent: string;
33
+ requirements: RequirementSummary[];
34
+ hash?: string;
35
+ }
36
+ /**
37
+ * Invariant summary for agent context.
38
+ */
39
+ export interface InvariantSummary {
40
+ id: string;
41
+ rule: string;
42
+ verification: string;
43
+ blocking: boolean;
44
+ }
45
+ /**
46
+ * Constraint summary for agent context.
47
+ */
48
+ export interface ConstraintSummary {
49
+ id: string;
50
+ title: string;
51
+ status: string;
52
+ description: string;
53
+ invariants: InvariantSummary[];
54
+ hash?: string;
55
+ }
56
+ /**
57
+ * Step summary for agent context.
58
+ */
59
+ export interface StepSummary {
60
+ id: string;
61
+ number: number;
62
+ action: string;
63
+ description?: string;
64
+ status: string;
65
+ tracesTo: string[];
66
+ }
67
+ /**
68
+ * Plan summary for agent context.
69
+ */
70
+ export interface PlanSummary {
71
+ id: string;
72
+ title: string;
73
+ status: string;
74
+ sources: string[];
75
+ totalSteps: number;
76
+ completedSteps: number;
77
+ remainingSteps: StepSummary[];
78
+ hash?: string;
79
+ }
80
+ /**
81
+ * Result of agent context command.
82
+ */
83
+ export interface AgentContextResult {
84
+ success: boolean;
85
+ context?: {
86
+ specs: SpecSummary[];
87
+ constraints: ConstraintSummary[];
88
+ plans: PlanSummary[];
89
+ remainingWork: {
90
+ totalSteps: number;
91
+ completedSteps: number;
92
+ pendingSteps: number;
93
+ nextStep?: StepSummary;
94
+ };
95
+ };
96
+ error?: string;
97
+ }
98
+ /**
99
+ * Execute the agent context command.
100
+ *
101
+ * Outputs structured context for AI agent consumption, including specs,
102
+ * constraints, current plan state, and remaining work items.
103
+ *
104
+ * @see req:agent:context-retrieval
105
+ */
106
+ export declare function runAgentContext(globalOpts: GlobalOptions, options: AgentContextOptions): void;
107
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAgB/C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACjC,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,aAAa,EAAE;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;SACxB,CAAC;KACH,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CA6MN"}