aspectcode 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +2 -0
- package/dist/main.js.map +1 -1
- package/dist/optimize.d.ts +1 -0
- package/dist/optimize.d.ts.map +1 -1
- package/dist/optimize.js +81 -2
- package/dist/optimize.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +4 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/ui/Dashboard.d.ts +5 -2
- package/dist/ui/Dashboard.d.ts.map +1 -1
- package/dist/ui/Dashboard.js +77 -17
- package/dist/ui/Dashboard.js.map +1 -1
- package/dist/ui/store.d.ts +20 -1
- package/dist/ui/store.d.ts.map +1 -1
- package/dist/ui/store.js +16 -0
- package/dist/ui/store.js.map +1 -1
- package/dist/ui/theme.d.ts +3 -3
- package/dist/ui/theme.js +3 -3
- package/dist/ui/theme.js.map +1 -1
- package/node_modules/@aspectcode/core/package.json +0 -3
- package/node_modules/@aspectcode/emitters/package.json +1 -4
- package/node_modules/@aspectcode/evaluator/dist/diagnosis.d.ts +33 -0
- package/node_modules/@aspectcode/evaluator/dist/diagnosis.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/diagnosis.js +172 -0
- package/node_modules/@aspectcode/evaluator/dist/diagnosis.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/aider.d.ts +23 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/aider.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/aider.js +125 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/aider.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/claudeCode.d.ts +17 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/claudeCode.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/claudeCode.js +223 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/claudeCode.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/cline.d.ts +17 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/cline.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/cline.js +179 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/cline.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/common.d.ts +39 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/common.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/common.js +170 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/common.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/export.d.ts +23 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/export.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/export.js +98 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/export.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/index.d.ts +29 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/index.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/index.js +94 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/index.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/vscodeDb.d.ts +37 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/vscodeDb.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/vscodeDb.js +473 -0
- package/node_modules/@aspectcode/evaluator/dist/harvest/vscodeDb.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/index.d.ts +48 -0
- package/node_modules/@aspectcode/evaluator/dist/index.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/index.js +75 -0
- package/node_modules/@aspectcode/evaluator/dist/index.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/probes.d.ts +38 -0
- package/node_modules/@aspectcode/evaluator/dist/probes.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/probes.js +229 -0
- package/node_modules/@aspectcode/evaluator/dist/probes.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/runner.d.ts +34 -0
- package/node_modules/@aspectcode/evaluator/dist/runner.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/runner.js +183 -0
- package/node_modules/@aspectcode/evaluator/dist/runner.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/types.d.ts +176 -0
- package/node_modules/@aspectcode/evaluator/dist/types.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/types.js +9 -0
- package/node_modules/@aspectcode/evaluator/dist/types.js.map +1 -0
- package/node_modules/@aspectcode/evaluator/package.json +41 -0
- package/node_modules/@aspectcode/optimizer/dist/agent.d.ts +10 -7
- package/node_modules/@aspectcode/optimizer/dist/agent.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/agent.js +13 -9
- package/node_modules/@aspectcode/optimizer/dist/agent.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/prompts.js +26 -15
- package/node_modules/@aspectcode/optimizer/dist/prompts.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/types.d.ts +6 -0
- 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 +1 -4
- package/package.json +6 -3
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @aspectcode/evaluator — core types.
|
|
3
|
+
*
|
|
4
|
+
* Types for probe-based evaluation, prompt harvesting, and
|
|
5
|
+
* evidence-based diagnosis of AGENTS.md quality.
|
|
6
|
+
*/
|
|
7
|
+
import type { LlmProvider, OptLogger } from '@aspectcode/optimizer';
|
|
8
|
+
export type { LlmProvider, OptLogger } from '@aspectcode/optimizer';
|
|
9
|
+
/**
|
|
10
|
+
* A single micro-test that evaluates whether AGENTS.md guides
|
|
11
|
+
* the AI correctly for a specific scenario scoped to the codebase.
|
|
12
|
+
*/
|
|
13
|
+
export interface Probe {
|
|
14
|
+
/** Unique identifier (e.g. "hub-auth-middleware-naming"). */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Human-readable description of what this probe tests. */
|
|
17
|
+
description: string;
|
|
18
|
+
/** Category for grouping (e.g. "hub-safety", "naming", "architecture"). */
|
|
19
|
+
category: ProbeCategory;
|
|
20
|
+
/**
|
|
21
|
+
* Workspace-relative paths of files relevant to this probe.
|
|
22
|
+
* These are included as context when running the probe.
|
|
23
|
+
*/
|
|
24
|
+
contextFiles: string[];
|
|
25
|
+
/** The task/question posed to the AI in this probe. */
|
|
26
|
+
task: string;
|
|
27
|
+
/**
|
|
28
|
+
* Specific behaviours the AI's response should exhibit.
|
|
29
|
+
* Used by the evaluator to score the response.
|
|
30
|
+
*/
|
|
31
|
+
expectedBehaviors: string[];
|
|
32
|
+
}
|
|
33
|
+
/** Probe categories for grouping and prioritization. */
|
|
34
|
+
export type ProbeCategory = 'hub-safety' | 'naming' | 'architecture' | 'entry-point' | 'integration' | 'convention' | 'dependency' | 'harvested';
|
|
35
|
+
/** Result of running a single probe against the current AGENTS.md. */
|
|
36
|
+
export interface ProbeResult {
|
|
37
|
+
/** The probe that was run. */
|
|
38
|
+
probeId: string;
|
|
39
|
+
/** Whether all expected behaviours were exhibited. */
|
|
40
|
+
passed: boolean;
|
|
41
|
+
/** The AI's simulated response to the probe task. */
|
|
42
|
+
response: string;
|
|
43
|
+
/**
|
|
44
|
+
* Specific shortcomings identified by the evaluator.
|
|
45
|
+
* Empty if `passed` is true.
|
|
46
|
+
*/
|
|
47
|
+
shortcomings: string[];
|
|
48
|
+
/** Per-behaviour pass/fail breakdown. */
|
|
49
|
+
behaviorResults: BehaviorResult[];
|
|
50
|
+
}
|
|
51
|
+
/** Pass/fail for a single expected behaviour within a probe. */
|
|
52
|
+
export interface BehaviorResult {
|
|
53
|
+
/** The expected behaviour description. */
|
|
54
|
+
behavior: string;
|
|
55
|
+
/** Whether the response exhibited this behaviour. */
|
|
56
|
+
passed: boolean;
|
|
57
|
+
/** Brief explanation of why it passed or failed. */
|
|
58
|
+
explanation: string;
|
|
59
|
+
}
|
|
60
|
+
/** Diagnosis of AGENTS.md shortcomings based on failed probes. */
|
|
61
|
+
export interface Diagnosis {
|
|
62
|
+
/** Specific edits proposed for AGENTS.md. */
|
|
63
|
+
edits: AgentsEdit[];
|
|
64
|
+
/** High-level summary of what's wrong. */
|
|
65
|
+
summary: string;
|
|
66
|
+
/** Number of probe failures this diagnosis addresses. */
|
|
67
|
+
failureCount: number;
|
|
68
|
+
}
|
|
69
|
+
/** A specific proposed edit to AGENTS.md. */
|
|
70
|
+
export interface AgentsEdit {
|
|
71
|
+
/** What section/area of AGENTS.md to modify. */
|
|
72
|
+
section: string;
|
|
73
|
+
/** The type of edit. */
|
|
74
|
+
action: 'add' | 'modify' | 'strengthen' | 'remove';
|
|
75
|
+
/** The proposed rule or content change. */
|
|
76
|
+
content: string;
|
|
77
|
+
/** Which probe failures motivated this edit. */
|
|
78
|
+
motivatedBy: string[];
|
|
79
|
+
}
|
|
80
|
+
/** A conversation turn harvested from an AI tool's history. */
|
|
81
|
+
export interface HarvestedPrompt {
|
|
82
|
+
/** Which tool this came from. */
|
|
83
|
+
source: PromptSource;
|
|
84
|
+
/** When this conversation happened (ISO-8601, if available). */
|
|
85
|
+
timestamp?: string;
|
|
86
|
+
/** The user's prompt/question. */
|
|
87
|
+
userPrompt: string;
|
|
88
|
+
/** The AI's response. */
|
|
89
|
+
assistantResponse: string;
|
|
90
|
+
/** Workspace-relative file paths referenced in the conversation. */
|
|
91
|
+
filesReferenced: string[];
|
|
92
|
+
}
|
|
93
|
+
/** Supported prompt history sources. */
|
|
94
|
+
export type PromptSource = 'aider' | 'claude-code' | 'cline' | 'copilot-chat' | 'cursor' | 'windsurf' | 'export';
|
|
95
|
+
/** Options for probe generation. */
|
|
96
|
+
export interface ProbeGeneratorOptions {
|
|
97
|
+
/** Full KB content for deriving probes. */
|
|
98
|
+
kb: string;
|
|
99
|
+
/**
|
|
100
|
+
* Line-level KB diff (undefined on first run).
|
|
101
|
+
* When provided, probes focus on changed areas.
|
|
102
|
+
*/
|
|
103
|
+
kbDiff?: string;
|
|
104
|
+
/** Harvested prompts to generate additional probes from. */
|
|
105
|
+
harvestedPrompts?: HarvestedPrompt[];
|
|
106
|
+
/** Maximum number of probes to generate. Default: 10. */
|
|
107
|
+
maxProbes?: number;
|
|
108
|
+
/** File contents map (workspace-relative path → content). */
|
|
109
|
+
fileContents?: ReadonlyMap<string, string>;
|
|
110
|
+
}
|
|
111
|
+
/** Options for running probes. */
|
|
112
|
+
export interface ProbeRunnerOptions {
|
|
113
|
+
/** Current AGENTS.md content (used as system prompt for probes). */
|
|
114
|
+
agentsContent: string;
|
|
115
|
+
/** Probes to run. */
|
|
116
|
+
probes: Probe[];
|
|
117
|
+
/** LLM provider for simulating AI responses. */
|
|
118
|
+
provider: LlmProvider;
|
|
119
|
+
/** File contents map for including context files. */
|
|
120
|
+
fileContents?: ReadonlyMap<string, string>;
|
|
121
|
+
/** Optional logger. */
|
|
122
|
+
log?: OptLogger;
|
|
123
|
+
/** AbortSignal for cooperative cancellation. */
|
|
124
|
+
signal?: AbortSignal;
|
|
125
|
+
}
|
|
126
|
+
/** Options for evaluating probe responses. */
|
|
127
|
+
export interface ProbeEvaluatorOptions {
|
|
128
|
+
/** Probe results to evaluate. */
|
|
129
|
+
results: ProbeResult[];
|
|
130
|
+
/** LLM provider for evaluation. */
|
|
131
|
+
provider: LlmProvider;
|
|
132
|
+
/** Optional logger. */
|
|
133
|
+
log?: OptLogger;
|
|
134
|
+
/** AbortSignal for cooperative cancellation. */
|
|
135
|
+
signal?: AbortSignal;
|
|
136
|
+
}
|
|
137
|
+
/** Options for diagnosing AGENTS.md issues from probe failures. */
|
|
138
|
+
export interface DiagnosisOptions {
|
|
139
|
+
/** Failed probe results. */
|
|
140
|
+
failures: ProbeResult[];
|
|
141
|
+
/** Current AGENTS.md content. */
|
|
142
|
+
agentsContent: string;
|
|
143
|
+
/** LLM provider for diagnosis. */
|
|
144
|
+
provider: LlmProvider;
|
|
145
|
+
/** Optional logger. */
|
|
146
|
+
log?: OptLogger;
|
|
147
|
+
/** AbortSignal for cooperative cancellation. */
|
|
148
|
+
signal?: AbortSignal;
|
|
149
|
+
}
|
|
150
|
+
/** Options for prompt harvesting. */
|
|
151
|
+
export interface HarvestOptions {
|
|
152
|
+
/** Workspace root directory. */
|
|
153
|
+
root: string;
|
|
154
|
+
/** Which sources to harvest from. Defaults to all available. */
|
|
155
|
+
sources?: PromptSource[];
|
|
156
|
+
/** Maximum prompts to harvest per source. Default: 50. */
|
|
157
|
+
maxPerSource?: number;
|
|
158
|
+
/** Only harvest prompts newer than this date. */
|
|
159
|
+
since?: Date;
|
|
160
|
+
/** Optional logger. */
|
|
161
|
+
log?: OptLogger;
|
|
162
|
+
}
|
|
163
|
+
/** Full result of the evaluation pipeline. */
|
|
164
|
+
export interface EvaluationResult {
|
|
165
|
+
/** All probe results (passed + failed). */
|
|
166
|
+
probeResults: ProbeResult[];
|
|
167
|
+
/** Diagnosis based on failures (undefined if all probes passed). */
|
|
168
|
+
diagnosis?: Diagnosis;
|
|
169
|
+
/** Number of probes that passed. */
|
|
170
|
+
passCount: number;
|
|
171
|
+
/** Number of probes that failed. */
|
|
172
|
+
failCount: number;
|
|
173
|
+
/** Total probes run. */
|
|
174
|
+
totalProbes: number;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @aspectcode/evaluator — core types.
|
|
4
|
+
*
|
|
5
|
+
* Types for probe-based evaluation, prompt harvesting, and
|
|
6
|
+
* evidence-based diagnosis of AGENTS.md quality.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aspectcode/evaluator",
|
|
3
|
+
"version": "0.3.4",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "Evidence-based evaluation for Aspect Code",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=18"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/asashepard/aspectcode.git",
|
|
18
|
+
"directory": "packages/evaluator"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"typecheck": "tsc --noEmit",
|
|
23
|
+
"prepublishOnly": "npm run build",
|
|
24
|
+
"test": "mocha --require ts-node/register test/**/*.test.ts"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@aspectcode/core": "0.3.1",
|
|
28
|
+
"@aspectcode/optimizer": "0.3.4"
|
|
29
|
+
},
|
|
30
|
+
"optionalDependencies": {
|
|
31
|
+
"better-sqlite3": "^11.0.0"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/better-sqlite3": "^7.6.0",
|
|
35
|
+
"@types/mocha": "^10.0.0",
|
|
36
|
+
"@types/node": "^22.0.0",
|
|
37
|
+
"mocha": "^10.4.0",
|
|
38
|
+
"ts-node": "^10.9.2",
|
|
39
|
+
"typescript": "^5.5.4"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Optimization agent —
|
|
2
|
+
* Optimization agent — generates optimized AGENTS.md instructions.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* 1.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Two modes:
|
|
5
|
+
* 1. **Single-pass** (default): One LLM call produces the optimized instructions.
|
|
6
|
+
* The evaluator package (@aspectcode/evaluator) handles quality assessment
|
|
7
|
+
* externally via probe-based testing.
|
|
8
|
+
* 2. **Legacy iterative**: Retained for backward compatibility. Uses self-eval
|
|
9
|
+
* scoring to iterate. Set `maxIterations > 1` to enable.
|
|
10
|
+
*
|
|
11
|
+
* The recommended workflow is single-pass + evaluator:
|
|
12
|
+
* optimize (1 call) → probe-test → diagnose → apply edits
|
|
10
13
|
*/
|
|
11
14
|
import type { OptimizeOptions, OptimizeResult, ComplaintOptions, ComplaintResult } from './types';
|
|
12
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAe,eAAe,EAAE,cAAc,EAAc,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkB3H;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA6HxF;AAID;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA0C3F"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Optimization agent —
|
|
3
|
+
* Optimization agent — generates optimized AGENTS.md instructions.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* 1.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Two modes:
|
|
6
|
+
* 1. **Single-pass** (default): One LLM call produces the optimized instructions.
|
|
7
|
+
* The evaluator package (@aspectcode/evaluator) handles quality assessment
|
|
8
|
+
* externally via probe-based testing.
|
|
9
|
+
* 2. **Legacy iterative**: Retained for backward compatibility. Uses self-eval
|
|
10
|
+
* scoring to iterate. Set `maxIterations > 1` to enable.
|
|
11
|
+
*
|
|
12
|
+
* The recommended workflow is single-pass + evaluator:
|
|
13
|
+
* optimize (1 call) → probe-test → diagnose → apply edits
|
|
11
14
|
*/
|
|
12
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
16
|
exports.runOptimizeAgent = runOptimizeAgent;
|
|
@@ -25,12 +28,13 @@ function sleep(ms) {
|
|
|
25
28
|
* @returns The best optimized instructions found within maxIterations.
|
|
26
29
|
*/
|
|
27
30
|
async function runOptimizeAgent(options) {
|
|
28
|
-
const { currentInstructions, kb, kbDiff, toolInstructions, maxIterations, provider, log, acceptThreshold = DEFAULT_ACCEPT_THRESHOLD, signal, iterationDelayMs = 0, kbCharBudget, } = options;
|
|
31
|
+
const { currentInstructions, kb, kbDiff, toolInstructions, maxIterations, provider, log, acceptThreshold = DEFAULT_ACCEPT_THRESHOLD, signal, iterationDelayMs = 0, kbCharBudget, evaluatorFeedback, } = options;
|
|
29
32
|
const systemPrompt = (0, prompts_1.buildSystemPrompt)(kb, kbCharBudget, toolInstructions);
|
|
30
33
|
const reasoning = [];
|
|
31
34
|
let bestCandidate = currentInstructions;
|
|
32
35
|
let bestScore = 0;
|
|
33
|
-
|
|
36
|
+
// Seed with evaluator feedback when available (probe-based evidence)
|
|
37
|
+
let priorFeedback = evaluatorFeedback;
|
|
34
38
|
for (let i = 0; i < maxIterations; i++) {
|
|
35
39
|
// ── Check cancellation ───────────────────────────────
|
|
36
40
|
if (signal?.aborted) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,GAAE,MAA+B,GAAG,MAAM,CAe1F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,GAAE,MAA+B,GAAG,MAAM,CAe1F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCtG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAmCR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,qBAAqB,EAAE,MAAM,EAC7B,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CA2BR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAiBA;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,MAAM,EAC3B,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,CAgCR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACxD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAiBA"}
|
|
@@ -46,16 +46,19 @@ Your job is to improve AGENTS.md instructions — the guidelines that AI coding
|
|
|
46
46
|
assistants follow when working in a codebase. You optimize these instructions
|
|
47
47
|
so they are maximally useful, precise, and aligned with the actual codebase.
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
Below is the project's internal knowledge base. Use it as YOUR private
|
|
50
|
+
reference to understand the codebase — but NEVER reference it in the output.
|
|
51
|
+
The AI assistant reading AGENTS.md will NOT have access to the knowledge base,
|
|
52
|
+
Map section, symbol index, or any other external document. All codebase-specific
|
|
53
|
+
guidance (file paths, naming conventions, key modules, architectural patterns)
|
|
54
|
+
must be written directly as self-contained rules inside AGENTS.md.
|
|
55
|
+
|
|
56
|
+
Forbidden in output:
|
|
57
|
+
- References to "the Map", "the KB", "the knowledge base", "the Context section"
|
|
58
|
+
- Phrases like "see kb.md", "consult the symbol index", "as shown in the Architecture section"
|
|
59
|
+
- Any instruction that assumes access to a document besides AGENTS.md itself
|
|
60
|
+
|
|
61
|
+
## Knowledge Base (private reference — do not mention in output)
|
|
59
62
|
${trimmedKb}`;
|
|
60
63
|
if (toolInstructions) {
|
|
61
64
|
prompt += `
|
|
@@ -79,12 +82,15 @@ ${toolInstructions}`;
|
|
|
79
82
|
*/
|
|
80
83
|
function buildOptimizePrompt(currentInstructions, kbDiff, priorFeedback) {
|
|
81
84
|
let prompt = `Optimize the following AGENTS.md instructions. Make them more specific,
|
|
82
|
-
actionable, and
|
|
85
|
+
actionable, and self-contained.
|
|
83
86
|
|
|
84
87
|
## Rules
|
|
85
88
|
- Keep the same overall structure (sections, headers) unless restructuring improves clarity.
|
|
86
89
|
- Remove generic advice that any developer already knows.
|
|
87
|
-
-
|
|
90
|
+
- Inline project-specific guidance (file paths, naming conventions, key modules, architectural
|
|
91
|
+
patterns) directly as rules. Derive these from the knowledge base in the system prompt,
|
|
92
|
+
but NEVER reference the knowledge base, Map, or any external document in the output.
|
|
93
|
+
- AGENTS.md must be fully self-contained — the AI reading it will have no other reference.
|
|
88
94
|
- Be concise — every line should earn its place.
|
|
89
95
|
- Output ONLY the optimized instruction content (no explanations or markdown fences).
|
|
90
96
|
|
|
@@ -116,11 +122,13 @@ function buildEvalPrompt(candidateInstructions, kb, kbCharBudget) {
|
|
|
116
122
|
return `You are evaluating AI coding assistant instructions (AGENTS.md) for quality.
|
|
117
123
|
|
|
118
124
|
Score the following candidate instructions on a scale of 1–10 based on:
|
|
119
|
-
1. **Specificity** — Are rules grounded in the actual codebase, not generic?
|
|
125
|
+
1. **Specificity** — Are rules grounded in the actual codebase (real file paths, real patterns), not generic?
|
|
120
126
|
2. **Actionability** — Can an AI assistant follow each rule unambiguously?
|
|
121
127
|
3. **Completeness** — Are key architectural patterns and conventions covered?
|
|
122
128
|
4. **Conciseness** — Is every line valuable, with no filler?
|
|
123
|
-
5. **
|
|
129
|
+
5. **Self-contained** — Are ALL rules fully inline? The AI reading AGENTS.md will NOT have
|
|
130
|
+
access to any external document. Penalize any reference to "the Map", "the KB",
|
|
131
|
+
"the knowledge base", "kb.md", "the symbol index", or similar external documents.
|
|
124
132
|
|
|
125
133
|
Respond in EXACTLY this format (no other text):
|
|
126
134
|
SCORE: <number 1-10>
|
|
@@ -130,7 +138,7 @@ SUGGESTIONS:
|
|
|
130
138
|
- <specific improvement 2>
|
|
131
139
|
- <specific improvement 3>
|
|
132
140
|
|
|
133
|
-
## Knowledge Base (
|
|
141
|
+
## Knowledge Base (private reference — do not expect in output)
|
|
134
142
|
${trimmedKb}
|
|
135
143
|
|
|
136
144
|
## Candidate Instructions
|
|
@@ -177,6 +185,9 @@ ${currentInstructions}
|
|
|
177
185
|
- Address EVERY complaint. For each one, add or modify a specific, actionable rule.
|
|
178
186
|
- Do NOT remove existing rules unless they directly contradict a fix.
|
|
179
187
|
- Keep instructions concise — each new rule should be one or two lines.
|
|
188
|
+
- AGENTS.md must be fully self-contained. Never add rules that reference external
|
|
189
|
+
documents like the knowledge base, Map section, KB, or symbol index. The AI
|
|
190
|
+
reading AGENTS.md will not have access to any other file.
|
|
180
191
|
- Output the FULL updated instructions (not just the diff).
|
|
181
192
|
|
|
182
193
|
Respond in EXACTLY this format:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AASH,gCAeC;AAMD,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,12 @@ export interface OptimizeOptions {
|
|
|
61
61
|
iterationDelayMs?: number;
|
|
62
62
|
/** Character budget for KB content in prompts. Default: 60000. */
|
|
63
63
|
kbCharBudget?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Feedback from the evaluator package (probe test results).
|
|
66
|
+
* When provided, this replaces or supplements the self-eval loop.
|
|
67
|
+
* Formatted as a human-readable summary of probe failures and diagnosis.
|
|
68
|
+
*/
|
|
69
|
+
evaluatorFeedback?: string;
|
|
64
70
|
}
|
|
65
71
|
/** Self-evaluation result from one iteration. */
|
|
66
72
|
export interface EvalResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,qEAAqE;IACrE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAED,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,sDAAsD;AACtD,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAE5B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IAEX,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAC;IAEtB,2BAA2B;IAC3B,QAAQ,EAAE,WAAW,CAAC;IAEtB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,SAAS,CAAC;IAEhB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gDAAgD;IAChD,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA+GH,+DAA+D;AAE/D,4DAA4D;AAC/C,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;CACtB,CAAC;AAuCX,qDAAqD;AACxC,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAE/C,sDAAsD;AACzC,QAAA,aAAa,GAAG,WAAW,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aspectcode/optimizer",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "LLM-powered instruction optimizer for Aspect Code",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
"engines": {
|
|
13
13
|
"node": ">=18"
|
|
14
14
|
},
|
|
15
|
-
"publishConfig": {
|
|
16
|
-
"access": "public"
|
|
17
|
-
},
|
|
18
15
|
"repository": {
|
|
19
16
|
"type": "git",
|
|
20
17
|
"url": "https://github.com/asashepard/aspectcode.git",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aspectcode",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "CLI for Aspect Code — generate knowledge-base artifacts from the command line",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -38,18 +38,21 @@
|
|
|
38
38
|
"prepublishOnly": "npm run build",
|
|
39
39
|
"prepack": "node scripts/prepack.mjs",
|
|
40
40
|
"postpack": "node scripts/postpack.mjs",
|
|
41
|
+
"check:bundled": "node scripts/check-bundled-deps.mjs",
|
|
41
42
|
"test": "mocha --require ts-node/register 'test/**/*.test.ts'"
|
|
42
43
|
},
|
|
43
44
|
"bundledDependencies": [
|
|
44
45
|
"@aspectcode/core",
|
|
45
46
|
"@aspectcode/emitters",
|
|
47
|
+
"@aspectcode/evaluator",
|
|
46
48
|
"@aspectcode/optimizer"
|
|
47
49
|
],
|
|
48
50
|
"dependencies": {
|
|
49
51
|
"@anthropic-ai/sdk": "^0.39.0",
|
|
50
52
|
"@aspectcode/core": "0.3.1",
|
|
51
|
-
"@aspectcode/emitters": "0.3.
|
|
52
|
-
"@aspectcode/
|
|
53
|
+
"@aspectcode/emitters": "0.3.4",
|
|
54
|
+
"@aspectcode/evaluator": "0.3.4",
|
|
55
|
+
"@aspectcode/optimizer": "0.3.4",
|
|
53
56
|
"chokidar": "^4.0.3",
|
|
54
57
|
"dotenv": "^16.4.0",
|
|
55
58
|
"ink": "3.2.0",
|