aspectcode 0.3.5 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/cli.d.ts +10 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +0 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/diffSummary.d.ts +17 -0
- package/dist/diffSummary.d.ts.map +1 -0
- package/dist/diffSummary.js +49 -0
- package/dist/diffSummary.js.map +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +16 -19
- package/dist/main.js.map +1 -1
- package/dist/optimize.d.ts +6 -3
- package/dist/optimize.d.ts.map +1 -1
- package/dist/optimize.js +91 -108
- package/dist/optimize.js.map +1 -1
- package/dist/pipeline.d.ts +14 -8
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +113 -34
- package/dist/pipeline.js.map +1 -1
- package/dist/summary.d.ts +15 -0
- package/dist/summary.d.ts.map +1 -0
- package/dist/summary.js +51 -0
- package/dist/summary.js.map +1 -0
- package/dist/ui/Dashboard.d.ts +15 -7
- package/dist/ui/Dashboard.d.ts.map +1 -1
- package/dist/ui/Dashboard.js +59 -29
- package/dist/ui/Dashboard.js.map +1 -1
- package/dist/ui/store.d.ts +33 -0
- package/dist/ui/store.d.ts.map +1 -1
- package/dist/ui/store.js +24 -1
- package/dist/ui/store.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +1 -0
- package/dist/ui/theme.js.map +1 -1
- package/node_modules/@aspectcode/emitters/dist/index.d.ts +1 -1
- package/node_modules/@aspectcode/emitters/dist/index.d.ts.map +1 -1
- package/node_modules/@aspectcode/emitters/dist/index.js +2 -1
- package/node_modules/@aspectcode/emitters/dist/index.js.map +1 -1
- package/node_modules/@aspectcode/emitters/dist/instructions/content.d.ts +11 -0
- package/node_modules/@aspectcode/emitters/dist/instructions/content.d.ts.map +1 -1
- package/node_modules/@aspectcode/emitters/dist/instructions/content.js +213 -1
- package/node_modules/@aspectcode/emitters/dist/instructions/content.js.map +1 -1
- package/node_modules/@aspectcode/emitters/package.json +1 -1
- package/node_modules/@aspectcode/evaluator/dist/index.d.ts +1 -0
- package/node_modules/@aspectcode/evaluator/dist/index.d.ts.map +1 -1
- package/node_modules/@aspectcode/evaluator/dist/index.js.map +1 -1
- package/node_modules/@aspectcode/evaluator/dist/probes.d.ts +21 -3
- package/node_modules/@aspectcode/evaluator/dist/probes.d.ts.map +1 -1
- package/node_modules/@aspectcode/evaluator/dist/probes.js +91 -17
- package/node_modules/@aspectcode/evaluator/dist/probes.js.map +1 -1
- package/node_modules/@aspectcode/evaluator/dist/runner.d.ts +11 -1
- package/node_modules/@aspectcode/evaluator/dist/runner.d.ts.map +1 -1
- package/node_modules/@aspectcode/evaluator/dist/runner.js +5 -2
- package/node_modules/@aspectcode/evaluator/dist/runner.js.map +1 -1
- package/node_modules/@aspectcode/evaluator/package.json +2 -2
- package/node_modules/@aspectcode/optimizer/dist/agent.d.ts +12 -13
- package/node_modules/@aspectcode/optimizer/dist/agent.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/agent.js +52 -110
- package/node_modules/@aspectcode/optimizer/dist/agent.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/index.d.ts +3 -3
- package/node_modules/@aspectcode/optimizer/dist/index.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/index.js +3 -5
- package/node_modules/@aspectcode/optimizer/dist/index.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts +8 -21
- package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/prompts.js +36 -94
- package/node_modules/@aspectcode/optimizer/dist/prompts.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.js +10 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/openai.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/openai.js +10 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/openai.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/types.d.ts +33 -24
- package/node_modules/@aspectcode/optimizer/dist/types.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/types.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/package.json +2 -2
- package/package.json +4 -4
package/dist/optimize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimize.js","sourceRoot":"","sources":["../src/optimize.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"optimize.js","sourceRoot":"","sources":["../src/optimize.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline.d.ts
CHANGED
|
@@ -4,20 +4,26 @@
|
|
|
4
4
|
* 1. Discover files → tree-sitter analysis
|
|
5
5
|
* 2. Build KB in memory (architecture + map + context)
|
|
6
6
|
* 3. Scan & read other AI tool instruction files as context
|
|
7
|
-
* 4.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 6. If
|
|
7
|
+
* 4. Build KB-custom content from analysis
|
|
8
|
+
* 5. If generate=true → LLM generates AGENTS.md (or static fallback)
|
|
9
|
+
* If generate=false → write KB-custom content only (skip LLM)
|
|
10
|
+
* 6. If --kb flag → also write kb.md
|
|
11
|
+
* 7. If not --once → watch for changes and repeat (always generate)
|
|
11
12
|
*/
|
|
12
|
-
import type { RunContext } from './cli';
|
|
13
|
+
import type { RunContext, RunMode } from './cli';
|
|
13
14
|
import type { ExitCodeValue } from './cli';
|
|
14
|
-
import type { OwnershipMode } from './writer';
|
|
15
15
|
/**
|
|
16
|
-
* Resolve AGENTS.md ownership mode.
|
|
16
|
+
* Resolve AGENTS.md ownership mode and whether to generate on this run.
|
|
17
17
|
*
|
|
18
18
|
* Called from main() BEFORE the ink dashboard is mounted, because
|
|
19
19
|
* the interactive prompt uses raw stdin which conflicts with ink's useInput.
|
|
20
|
+
*
|
|
21
|
+
* When AGENTS.md already has section markers → section + generate (auto).
|
|
22
|
+
* Otherwise (no file, or file without markers) → 3-option prompt:
|
|
23
|
+
* 1. Full control — generate now
|
|
24
|
+
* 2. Full control — skip generation (use KB-custom only)
|
|
25
|
+
* 3. Section control (preserve your content)
|
|
20
26
|
*/
|
|
21
|
-
export declare function
|
|
27
|
+
export declare function resolveRunMode(root: string): Promise<RunMode>;
|
|
22
28
|
export declare function runPipeline(ctx: RunContext): Promise<ExitCodeValue>;
|
|
23
29
|
//# sourceMappingURL=pipeline.d.ts.map
|
package/dist/pipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAqL3C;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuCnE;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAwHzE"}
|
package/dist/pipeline.js
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
* 1. Discover files → tree-sitter analysis
|
|
6
6
|
* 2. Build KB in memory (architecture + map + context)
|
|
7
7
|
* 3. Scan & read other AI tool instruction files as context
|
|
8
|
-
* 4.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* 6. If
|
|
8
|
+
* 4. Build KB-custom content from analysis
|
|
9
|
+
* 5. If generate=true → LLM generates AGENTS.md (or static fallback)
|
|
10
|
+
* If generate=false → write KB-custom content only (skip LLM)
|
|
11
|
+
* 6. If --kb flag → also write kb.md
|
|
12
|
+
* 7. If not --once → watch for changes and repeat (always generate)
|
|
12
13
|
*/
|
|
13
14
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
15
|
if (k2 === undefined) k2 = k;
|
|
@@ -44,8 +45,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
44
45
|
};
|
|
45
46
|
})();
|
|
46
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.
|
|
48
|
+
exports.resolveRunMode = resolveRunMode;
|
|
48
49
|
exports.runPipeline = runPipeline;
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
49
51
|
const path = __importStar(require("path"));
|
|
50
52
|
const core_1 = require("@aspectcode/core");
|
|
51
53
|
const emitters_1 = require("@aspectcode/emitters");
|
|
@@ -60,6 +62,8 @@ const optimize_1 = require("./optimize");
|
|
|
60
62
|
const complaintProcessor_1 = require("./complaintProcessor");
|
|
61
63
|
const prompts_1 = require("./ui/prompts");
|
|
62
64
|
const store_1 = require("./ui/store");
|
|
65
|
+
const summary_1 = require("./summary");
|
|
66
|
+
const diffSummary_1 = require("./diffSummary");
|
|
63
67
|
// ── Watch constants ──────────────────────────────────────────
|
|
64
68
|
const DEBOUNCE_MS = 2000;
|
|
65
69
|
const IGNORED_SEGMENTS = [
|
|
@@ -83,6 +87,11 @@ async function runOnce(ctx, ownership) {
|
|
|
83
87
|
store_1.store.resetRun();
|
|
84
88
|
store_1.store.setRunStartMs(startMs);
|
|
85
89
|
store_1.store.addSetupNote(config ? 'config loaded' : 'no config');
|
|
90
|
+
// ── First-run detection ───────────────────────────────────
|
|
91
|
+
const agentsPath = path.join(root, 'AGENTS.md');
|
|
92
|
+
if (!fs.existsSync(agentsPath)) {
|
|
93
|
+
store_1.store.setFirstRun(true);
|
|
94
|
+
}
|
|
86
95
|
// ── 1. Discover & read files ──────────────────────────────
|
|
87
96
|
store_1.store.setPhase('discovering');
|
|
88
97
|
const workspace = await (0, workspace_1.loadWorkspaceFiles)(root, config, log, { quiet: flags.quiet, spin: ctx.spin });
|
|
@@ -107,25 +116,74 @@ async function runOnce(ctx, ownership) {
|
|
|
107
116
|
store_1.store.addSetupNote(`context: ${toolNames}`);
|
|
108
117
|
log.debug(`Read ${toolInstructions.size} AI tool instruction file(s) as context`);
|
|
109
118
|
}
|
|
110
|
-
// ── 5.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
// ── 5. Build base content from KB ──────────────────────────
|
|
120
|
+
const baseContent = kbContent.length > 0
|
|
121
|
+
? (0, emitters_1.generateKbCustomContent)(kbContent, 'safe')
|
|
122
|
+
: (0, emitters_1.generateCanonicalContentForMode)('safe', false);
|
|
123
|
+
// ── 6. Generate or skip ────────────────────────────────────
|
|
124
|
+
// When ctx.generate is true: write base template immediately for
|
|
125
|
+
// early feedback, then run LLM (or static fallback), then overwrite.
|
|
126
|
+
// When ctx.generate is false: write KB-custom content only.
|
|
127
|
+
if (ctx.generate) {
|
|
128
|
+
// Write base immediately so user sees output before LLM finishes
|
|
129
|
+
if (!flags.dryRun) {
|
|
130
|
+
await (0, writer_1.writeAgentsMd)(host, root, baseContent, ownership);
|
|
131
|
+
store_1.store.addOutput('AGENTS.md written (base)');
|
|
132
|
+
log.debug('Base AGENTS.md written from static analysis');
|
|
133
|
+
}
|
|
134
|
+
store_1.store.setPhase('optimizing');
|
|
135
|
+
const optimizeResult = await (0, optimize_1.tryOptimize)(ctx, kbContent, toolInstructions, config, baseContent);
|
|
136
|
+
// ── Write LLM-generated AGENTS.md ─────────────────────
|
|
137
|
+
store_1.store.setPhase('writing');
|
|
138
|
+
if (flags.dryRun) {
|
|
139
|
+
log.info(logger_1.fmt.bold('Dry run — proposed AGENTS.md:'));
|
|
140
|
+
log.blank();
|
|
141
|
+
log.info(optimizeResult.content);
|
|
142
|
+
log.blank();
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// Compute diff before overwriting (for watch-mode change summary)
|
|
146
|
+
let previousContent;
|
|
147
|
+
try {
|
|
148
|
+
if (fs.existsSync(agentsPath)) {
|
|
149
|
+
previousContent = fs.readFileSync(agentsPath, 'utf-8');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch { /* ignore read errors */ }
|
|
153
|
+
await (0, writer_1.writeAgentsMd)(host, root, optimizeResult.content, ownership);
|
|
154
|
+
const modeLabel = ownership === 'section' ? ' (section)' : '';
|
|
155
|
+
const verb = optimizeResult.reasoning.length > 0 ? 'generated' : 'written';
|
|
156
|
+
store_1.store.addOutput(`AGENTS.md ${verb}${modeLabel}`);
|
|
157
|
+
log.success(`AGENTS.md ${verb}${modeLabel}`);
|
|
158
|
+
// Diff summary (skip on first write when previous was just the base template)
|
|
159
|
+
if (previousContent !== undefined && previousContent !== baseContent) {
|
|
160
|
+
const diff = (0, diffSummary_1.diffSummary)(previousContent, optimizeResult.content);
|
|
161
|
+
store_1.store.setDiffSummary(diff);
|
|
162
|
+
}
|
|
163
|
+
// Content summary for the dashboard
|
|
164
|
+
const summary = (0, summary_1.summarizeContent)(optimizeResult.content);
|
|
165
|
+
store_1.store.setSummary(summary);
|
|
166
|
+
}
|
|
120
167
|
}
|
|
121
168
|
else {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
169
|
+
// Skip LLM — write KB-custom content only
|
|
170
|
+
store_1.store.setPhase('writing');
|
|
171
|
+
if (flags.dryRun) {
|
|
172
|
+
log.info(logger_1.fmt.bold('Dry run — proposed AGENTS.md (KB-custom):'));
|
|
173
|
+
log.blank();
|
|
174
|
+
log.info(baseContent);
|
|
175
|
+
log.blank();
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
await (0, writer_1.writeAgentsMd)(host, root, baseContent, ownership);
|
|
179
|
+
store_1.store.addOutput('AGENTS.md written (KB-custom)');
|
|
180
|
+
log.success('AGENTS.md written from static analysis');
|
|
181
|
+
const summary = (0, summary_1.summarizeContent)(baseContent);
|
|
182
|
+
store_1.store.setSummary(summary);
|
|
183
|
+
}
|
|
184
|
+
store_1.store.addSetupNote('generation skipped');
|
|
127
185
|
}
|
|
128
|
-
// ──
|
|
186
|
+
// ── 8. Optionally write kb.md ─────────────────────────────
|
|
129
187
|
if (flags.kb && !flags.dryRun) {
|
|
130
188
|
await (0, writer_1.writeKbMd)(host, root, kbContent);
|
|
131
189
|
store_1.store.addOutput('kb.md written');
|
|
@@ -139,32 +197,51 @@ async function runOnce(ctx, ownership) {
|
|
|
139
197
|
}
|
|
140
198
|
// ── Pipeline entry point ─────────────────────────────────────
|
|
141
199
|
/**
|
|
142
|
-
* Resolve AGENTS.md ownership mode.
|
|
200
|
+
* Resolve AGENTS.md ownership mode and whether to generate on this run.
|
|
143
201
|
*
|
|
144
202
|
* Called from main() BEFORE the ink dashboard is mounted, because
|
|
145
203
|
* the interactive prompt uses raw stdin which conflicts with ink's useInput.
|
|
204
|
+
*
|
|
205
|
+
* When AGENTS.md already has section markers → section + generate (auto).
|
|
206
|
+
* Otherwise (no file, or file without markers) → 3-option prompt:
|
|
207
|
+
* 1. Full control — generate now
|
|
208
|
+
* 2. Full control — skip generation (use KB-custom only)
|
|
209
|
+
* 3. Section control (preserve your content)
|
|
146
210
|
*/
|
|
147
|
-
async function
|
|
211
|
+
async function resolveRunMode(root) {
|
|
148
212
|
const config = (0, config_1.loadConfig)(root);
|
|
149
|
-
|
|
150
|
-
|
|
213
|
+
// Config-driven ownership skips prompt but still generates
|
|
214
|
+
if (config?.ownership) {
|
|
215
|
+
return { ownership: config.ownership, generate: true };
|
|
216
|
+
}
|
|
151
217
|
try {
|
|
152
|
-
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
153
218
|
const agentsPath = path.join(root, 'AGENTS.md');
|
|
154
219
|
if (fs.existsSync(agentsPath)) {
|
|
155
220
|
const existing = fs.readFileSync(agentsPath, 'utf-8');
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return ownership;
|
|
221
|
+
// Auto-detect section markers → continue in section mode
|
|
222
|
+
if ((0, writer_1.hasMarkers)(existing)) {
|
|
223
|
+
return { ownership: 'section', generate: true };
|
|
224
|
+
}
|
|
225
|
+
// Existing file without markers → full control, skip generation
|
|
226
|
+
return { ownership: 'full', generate: false };
|
|
162
227
|
}
|
|
163
228
|
}
|
|
164
229
|
catch {
|
|
165
|
-
//
|
|
230
|
+
// Read error — fall through to prompt
|
|
231
|
+
}
|
|
232
|
+
// No AGENTS.md → show 2-option prompt (default: full + generate)
|
|
233
|
+
try {
|
|
234
|
+
const idx = await (0, prompts_1.selectPrompt)('How should AspectCode manage AGENTS.md?', [
|
|
235
|
+
'Full control (replace entire file)',
|
|
236
|
+
'Section control (preserve your content)',
|
|
237
|
+
], 0);
|
|
238
|
+
const ownership = idx === 1 ? 'section' : 'full';
|
|
239
|
+
return { ownership, generate: true };
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
// Non-interactive → default to full + generate
|
|
243
|
+
return { ownership: 'full', generate: true };
|
|
166
244
|
}
|
|
167
|
-
return 'full';
|
|
168
245
|
}
|
|
169
246
|
async function runPipeline(ctx) {
|
|
170
247
|
const { root, flags, log, ownership } = ctx;
|
|
@@ -172,6 +249,8 @@ async function runPipeline(ctx) {
|
|
|
172
249
|
log.blank();
|
|
173
250
|
// ── Initial run ──────────────────────────────────────────
|
|
174
251
|
const result = await runOnce(ctx, ownership);
|
|
252
|
+
// After first run, always generate on subsequent watch-triggered runs
|
|
253
|
+
ctx.generate = true;
|
|
175
254
|
if (result.code !== cli_1.ExitCode.OK)
|
|
176
255
|
return result.code;
|
|
177
256
|
// Keep track of latest KB for complaint processing
|
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content summary — parses generated AGENTS.md to extract key statistics.
|
|
3
|
+
*
|
|
4
|
+
* Used by the dashboard to show a quick value summary after generation,
|
|
5
|
+
* so users see *what* was produced, not just "file written".
|
|
6
|
+
*/
|
|
7
|
+
import type { ContentSummary } from './ui/store';
|
|
8
|
+
/**
|
|
9
|
+
* Parse generated AGENTS.md content and extract summary statistics.
|
|
10
|
+
*
|
|
11
|
+
* Counts: sections (H2 headers), rules (numbered or bulleted list items),
|
|
12
|
+
* and file paths mentioned in backticks.
|
|
13
|
+
*/
|
|
14
|
+
export declare function summarizeContent(content: string): ContentSummary;
|
|
15
|
+
//# sourceMappingURL=summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAmChE"}
|
package/dist/summary.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Content summary — parses generated AGENTS.md to extract key statistics.
|
|
4
|
+
*
|
|
5
|
+
* Used by the dashboard to show a quick value summary after generation,
|
|
6
|
+
* so users see *what* was produced, not just "file written".
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.summarizeContent = summarizeContent;
|
|
10
|
+
/** Regex to match backtick-wrapped file paths (e.g. `src/api/router.ts`). */
|
|
11
|
+
const FILE_PATH_RE = /`([a-zA-Z0-9_./-]+\.[a-zA-Z0-9]+)`/g;
|
|
12
|
+
/**
|
|
13
|
+
* Parse generated AGENTS.md content and extract summary statistics.
|
|
14
|
+
*
|
|
15
|
+
* Counts: sections (H2 headers), rules (numbered or bulleted list items),
|
|
16
|
+
* and file paths mentioned in backticks.
|
|
17
|
+
*/
|
|
18
|
+
function summarizeContent(content) {
|
|
19
|
+
const lines = content.split('\n');
|
|
20
|
+
// Count H2 sections
|
|
21
|
+
let sections = 0;
|
|
22
|
+
for (const line of lines) {
|
|
23
|
+
if (/^##\s+/.test(line))
|
|
24
|
+
sections++;
|
|
25
|
+
}
|
|
26
|
+
// Count rules (numbered items like "1. ..." or bullets like "- ...")
|
|
27
|
+
let rules = 0;
|
|
28
|
+
for (const line of lines) {
|
|
29
|
+
const trimmed = line.trim();
|
|
30
|
+
if (/^\d+\.\s+\*\*/.test(trimmed) || /^[-*]\s+\*\*/.test(trimmed)) {
|
|
31
|
+
rules++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Extract unique file paths from backtick-wrapped references
|
|
35
|
+
const filePaths = [];
|
|
36
|
+
const seen = new Set();
|
|
37
|
+
for (const line of lines) {
|
|
38
|
+
let match;
|
|
39
|
+
FILE_PATH_RE.lastIndex = 0;
|
|
40
|
+
while ((match = FILE_PATH_RE.exec(line)) !== null) {
|
|
41
|
+
const p = match[1];
|
|
42
|
+
// Filter to things that look like real file paths (have a directory separator)
|
|
43
|
+
if (p.includes('/') && !seen.has(p)) {
|
|
44
|
+
seen.add(p);
|
|
45
|
+
filePaths.push(p);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return { sections, rules, filePaths };
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,4CAmCC;AA5CD,6EAA6E;AAC7E,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAE3D;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,oBAAoB;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,qEAAqE;IACrE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAA6B,CAAC;QAClC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,+EAA+E;YAC/E,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACZ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC"}
|
package/dist/ui/Dashboard.d.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dashboard — condensed ink-based CLI dashboard.
|
|
3
3
|
*
|
|
4
|
-
* Layout:
|
|
5
|
-
* Banner
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* Layout (full mode):
|
|
5
|
+
* Banner (hidden in compact mode)
|
|
6
|
+
* First-run message (only on first run, early phases)
|
|
7
|
+
* Input bar (watching/done only)
|
|
8
|
+
* Setup notes (compact single line)
|
|
9
|
+
* Status line (spinner/icon + phase + stats)
|
|
10
|
+
* Eval progress (harvest → probes → diagnosis)
|
|
11
|
+
* Token usage (after LLM generation)
|
|
12
|
+
* Summary card (after writing — sections, rules, paths)
|
|
13
|
+
* Diff summary (watch-mode: +N lines, -M lines)
|
|
14
|
+
* [Detail] (change trigger, warning, reasoning)
|
|
15
|
+
* Applied changes (after refinement)
|
|
16
|
+
*
|
|
17
|
+
* Layout (compact mode):
|
|
18
|
+
* Same but no banner, no reasoning, setup only if warning.
|
|
11
19
|
*/
|
|
12
20
|
import React from 'react';
|
|
13
21
|
declare const Dashboard: React.FC;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../src/ui/Dashboard.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../src/ui/Dashboard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAkHnD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAkMtB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
package/dist/ui/Dashboard.js
CHANGED
|
@@ -2,13 +2,21 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Dashboard — condensed ink-based CLI dashboard.
|
|
4
4
|
*
|
|
5
|
-
* Layout:
|
|
6
|
-
* Banner
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
5
|
+
* Layout (full mode):
|
|
6
|
+
* Banner (hidden in compact mode)
|
|
7
|
+
* First-run message (only on first run, early phases)
|
|
8
|
+
* Input bar (watching/done only)
|
|
9
|
+
* Setup notes (compact single line)
|
|
10
|
+
* Status line (spinner/icon + phase + stats)
|
|
11
|
+
* Eval progress (harvest → probes → diagnosis)
|
|
12
|
+
* Token usage (after LLM generation)
|
|
13
|
+
* Summary card (after writing — sections, rules, paths)
|
|
14
|
+
* Diff summary (watch-mode: +N lines, -M lines)
|
|
15
|
+
* [Detail] (change trigger, warning, reasoning)
|
|
16
|
+
* Applied changes (after refinement)
|
|
17
|
+
*
|
|
18
|
+
* Layout (compact mode):
|
|
19
|
+
* Same but no banner, no reasoning, setup only if warning.
|
|
12
20
|
*/
|
|
13
21
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
22
|
if (k2 === undefined) k2 = k;
|
|
@@ -85,7 +93,7 @@ const PHASE_TEXT = {
|
|
|
85
93
|
discovering: 'Discovering files…',
|
|
86
94
|
analyzing: 'Analyzing…',
|
|
87
95
|
'building-kb': 'Building knowledge base…',
|
|
88
|
-
optimizing: '
|
|
96
|
+
optimizing: 'Generating…',
|
|
89
97
|
evaluating: 'Evaluating…',
|
|
90
98
|
writing: 'Writing…',
|
|
91
99
|
watching: 'Watching',
|
|
@@ -95,7 +103,7 @@ const PHASE_TEXT = {
|
|
|
95
103
|
const WORKING = new Set([
|
|
96
104
|
'idle', 'discovering', 'analyzing', 'building-kb', 'optimizing', 'evaluating', 'writing',
|
|
97
105
|
]);
|
|
98
|
-
// ──
|
|
106
|
+
// ── Helpers ──────────────────────────────────────────────────
|
|
99
107
|
function statsText(s, liveElapsed) {
|
|
100
108
|
const parts = [];
|
|
101
109
|
if (s.fileCount > 0)
|
|
@@ -109,13 +117,11 @@ function statsText(s, liveElapsed) {
|
|
|
109
117
|
parts.push(elapsed);
|
|
110
118
|
return parts.length > 0 ? parts.join(' · ') : '';
|
|
111
119
|
}
|
|
112
|
-
// ── Setup notes line ─────────────────────────────────────────
|
|
113
120
|
function setupLine(notes) {
|
|
114
121
|
if (notes.length === 0)
|
|
115
122
|
return '';
|
|
116
123
|
return notes.join(' · ');
|
|
117
124
|
}
|
|
118
|
-
// ── Eval status text ─────────────────────────────────────────
|
|
119
125
|
function evalText(phase, s) {
|
|
120
126
|
switch (phase) {
|
|
121
127
|
case 'idle': return null;
|
|
@@ -140,9 +146,15 @@ function evalText(phase, s) {
|
|
|
140
146
|
return 'Evaluation complete';
|
|
141
147
|
}
|
|
142
148
|
}
|
|
149
|
+
/** Format a token count with k suffix for readability. */
|
|
150
|
+
function fmtTokens(n) {
|
|
151
|
+
return n >= 1000 ? `${(n / 1000).toFixed(1)}k` : String(n);
|
|
152
|
+
}
|
|
143
153
|
// ── Component ────────────────────────────────────────────────
|
|
144
154
|
/** Phases where the complaint input and hints are shown. */
|
|
145
155
|
const INPUT_VISIBLE = new Set(['watching', 'done']);
|
|
156
|
+
/** Phases where the first-run message should be visible. */
|
|
157
|
+
const FIRST_RUN_VISIBLE = new Set(['idle', 'discovering', 'analyzing']);
|
|
146
158
|
const Dashboard = () => {
|
|
147
159
|
const [s, setS] = (0, react_1.useState)({ ...store_1.store.state });
|
|
148
160
|
(0, react_1.useEffect)(() => {
|
|
@@ -178,6 +190,7 @@ const Dashboard = () => {
|
|
|
178
190
|
store_1.store.setComplaintInput(store_1.store.state.complaintInput + input);
|
|
179
191
|
}
|
|
180
192
|
});
|
|
193
|
+
const compact = s.compact;
|
|
181
194
|
const working = WORKING.has(s.phase);
|
|
182
195
|
const spinner = useSpinner(working || s.processingComplaint);
|
|
183
196
|
const liveElapsed = useElapsedTimer(s.runStartMs, s.elapsed, working);
|
|
@@ -188,35 +201,52 @@ const Dashboard = () => {
|
|
|
188
201
|
const evalDone = s.evalStatus.phase === 'done';
|
|
189
202
|
const evalActive = s.evalStatus.phase !== 'idle';
|
|
190
203
|
const allPassed = s.evalStatus.probesPassed === s.evalStatus.probesTotal;
|
|
204
|
+
const hasProbes = (s.evalStatus.probesTotal ?? 0) > 0;
|
|
205
|
+
const isDone = s.phase === 'done' || s.phase === 'watching';
|
|
206
|
+
// Collapse reasoning to a single short line; hide the trivial "generation complete" message
|
|
207
|
+
const TRIVIAL_RE = /single.pass generation|generation complete/i;
|
|
208
|
+
const meaningful = s.reasoning.filter((r) => !TRIVIAL_RE.test(r));
|
|
209
|
+
const raw = meaningful.join(' · ');
|
|
210
|
+
const reasoningLine = raw.length > 80 ? raw.slice(0, 77) + '…' : raw;
|
|
191
211
|
return (react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
|
|
192
|
-
react_1.default.createElement(ink_1.Box, { marginBottom:
|
|
193
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary, bold: true }, (0, theme_1.getBannerText)())),
|
|
194
|
-
|
|
212
|
+
!compact && (react_1.default.createElement(ink_1.Box, { marginBottom: 0 },
|
|
213
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary, bold: true }, (0, theme_1.getBannerText)()))),
|
|
214
|
+
s.isFirstRun && FIRST_RUN_VISIBLE.has(s.phase) && (react_1.default.createElement(ink_1.Box, { marginBottom: 0 },
|
|
215
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ' Analyzing your codebase to generate AGENTS.md — the coding\n guidelines AI assistants follow in this project.'))),
|
|
216
|
+
INPUT_VISIBLE.has(s.phase) && !s.processingComplaint && (react_1.default.createElement(ink_1.Box, { marginTop: 0 },
|
|
217
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, ' > '),
|
|
218
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.white }, s.complaintInput),
|
|
219
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primaryDim }, '|'))),
|
|
220
|
+
s.complaintQueue.length > 0 && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primaryDim }, ` ${s.complaintQueue.length} pending`)),
|
|
221
|
+
setup !== '' && !(compact && !s.warning) && (react_1.default.createElement(ink_1.Box, { marginTop: 1 },
|
|
222
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ${setup}`))),
|
|
195
223
|
react_1.default.createElement(ink_1.Box, null,
|
|
196
|
-
s.processingComplaint && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, ` ${spinner}
|
|
224
|
+
s.processingComplaint && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, ` ${spinner} Refining…`)),
|
|
197
225
|
!s.processingComplaint && working && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, ` ${spinner} ${PHASE_TEXT[s.phase]}${detail}`)),
|
|
198
|
-
!s.processingComplaint && s.phase === 'watching' && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.green }, '
|
|
226
|
+
!s.processingComplaint && s.phase === 'watching' && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.green }, ' * Watching')),
|
|
199
227
|
!s.processingComplaint && s.phase === 'done' && s.outputs.length > 0 && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.green }, ` ✔ ${s.outputs.join(', ')}`)),
|
|
200
228
|
!s.processingComplaint && s.phase === 'done' && s.outputs.length === 0 && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.green }, ' ✔ Done')),
|
|
201
229
|
!s.processingComplaint && s.phase === 'error' && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.red }, ' ✖ Error')),
|
|
202
230
|
stats !== '' && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ${stats}`))),
|
|
203
|
-
evalActive && evalLabel && (react_1.default.createElement(ink_1.Text, { color: evalDone && allPassed ? theme_1.COLORS.green : evalDone ? theme_1.COLORS.yellow : theme_1.COLORS.primaryDim }, `
|
|
231
|
+
evalActive && evalLabel && !(evalDone && !hasProbes) && (react_1.default.createElement(ink_1.Text, { color: evalDone && allPassed ? theme_1.COLORS.green : evalDone ? theme_1.COLORS.yellow : theme_1.COLORS.primaryDim }, ` ${evalLabel}`)),
|
|
232
|
+
s.tokenUsage && isDone && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ${fmtTokens(s.tokenUsage.inputTokens)} in · ${fmtTokens(s.tokenUsage.outputTokens)} out`)),
|
|
233
|
+
s.summary && isDone && (react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
|
|
234
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ├ ${s.summary.sections} sections · ${s.summary.rules} rules` +
|
|
235
|
+
(s.summary.filePaths.length > 0 ? ` · ${s.summary.filePaths.length} file-specific guidelines` : '')),
|
|
236
|
+
s.summary.filePaths.length > 0 && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` └ covers: ${s.summary.filePaths.slice(0, 3).join(', ')}` +
|
|
237
|
+
(s.summary.filePaths.length > 3 ? `, +${s.summary.filePaths.length - 3} more` : ''))))),
|
|
238
|
+
s.diffSummary && s.diffSummary.changed && isDone && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ↳ AGENTS.md: ` +
|
|
239
|
+
(s.diffSummary.added > 0 ? `+${s.diffSummary.added} lines` : '') +
|
|
240
|
+
(s.diffSummary.added > 0 && s.diffSummary.removed > 0 ? ', ' : '') +
|
|
241
|
+
(s.diffSummary.removed > 0 ? `-${s.diffSummary.removed} lines` : ''))),
|
|
242
|
+
s.diffSummary && !s.diffSummary.changed && isDone && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ' ↳ AGENTS.md: no changes')),
|
|
204
243
|
s.lastChange !== '' && working && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ↳ ${s.lastChange}`)),
|
|
205
244
|
s.warning !== '' && (react_1.default.createElement(ink_1.Box, { marginTop: 0 },
|
|
206
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.yellow }, `
|
|
245
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.yellow }, ` ! ${s.warning}`))),
|
|
207
246
|
s.complaintChanges.length > 0 && (react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginTop: 1 },
|
|
208
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, '
|
|
247
|
+
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, ' Changes applied:'),
|
|
209
248
|
s.complaintChanges.map((c, i) => (react_1.default.createElement(ink_1.Text, { key: i, color: theme_1.COLORS.primaryDim }, ` → ${c}`))))),
|
|
210
|
-
|
|
211
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primaryDim }, ' Optimization details:'),
|
|
212
|
-
s.reasoning.map((r, i) => (react_1.default.createElement(ink_1.Text, { key: i, color: theme_1.COLORS.gray }, ` ${r}`))))),
|
|
213
|
-
INPUT_VISIBLE.has(s.phase) && !s.processingComplaint && (react_1.default.createElement(ink_1.Box, { marginTop: 1 },
|
|
214
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primary }, ' ❯ '),
|
|
215
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.white }, s.complaintInput),
|
|
216
|
-
react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primaryDim }, '▌'))),
|
|
217
|
-
s.complaintQueue.length > 0 && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.primaryDim }, ` ${s.complaintQueue.length} complaint${s.complaintQueue.length === 1 ? '' : 's'} queued`)),
|
|
218
|
-
s.phase === 'watching' && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray, dimColor: true }, ' Type a complaint above, or Ctrl+C to stop')),
|
|
219
|
-
s.phase === 'done' && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray, dimColor: true }, ' Type a complaint above to refine AGENTS.md'))));
|
|
249
|
+
!compact && reasoningLine !== '' && isDone && (react_1.default.createElement(ink_1.Text, { color: theme_1.COLORS.gray }, ` ℹ ${reasoningLine}`))));
|
|
220
250
|
};
|
|
221
251
|
exports.default = Dashboard;
|
|
222
252
|
//# sourceMappingURL=Dashboard.js.map
|