aspectcode 0.3.4 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +1 -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 +13 -16
- 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 +85 -102
- package/dist/optimize.js.map +1 -1
- package/dist/pipeline.d.ts +5 -4
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +45 -10
- 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 +55 -24
- 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 +3 -3
- package/dist/ui/theme.js +3 -3
- package/dist/ui/theme.js.map +1 -1
- 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 +49 -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 +44 -0
- package/node_modules/@aspectcode/evaluator/dist/runner.d.ts.map +1 -0
- package/node_modules/@aspectcode/evaluator/dist/runner.js +186 -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 +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 -3
package/dist/cli.d.ts
CHANGED
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEhD,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;AAItE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEhD,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;AAItE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,EAc9B,CAAC;AAIX,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,kBAAkB;AAClB,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAIrE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,IAAI,EAAE,cAAc,CAAC;IACrB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAID,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGjD"}
|
package/dist/cli.js
CHANGED
|
@@ -23,9 +23,8 @@ exports.FLAG_DEFS = [
|
|
|
23
23
|
{ name: 'no-color', type: 'boolean', description: 'Disable colored output', prop: 'noColor' },
|
|
24
24
|
{ name: 'provider', short: 'p', type: 'string', description: 'LLM provider: openai|anthropic' },
|
|
25
25
|
{ name: 'model', short: 'm', type: 'string', description: 'LLM model override' },
|
|
26
|
-
{ name: 'max-iterations', short: 'n', type: 'string', description: 'Max LLM agent iterations (default: 3)', prop: 'maxIterations' },
|
|
27
|
-
{ name: 'accept-threshold', type: 'string', description: 'Min eval score to accept (1–10, default: 8)', prop: 'acceptThreshold' },
|
|
28
26
|
{ name: 'temperature', type: 'string', description: 'Sampling temperature (0–2)' },
|
|
27
|
+
{ name: 'compact', type: 'boolean', description: 'Compact dashboard (no banner)' },
|
|
29
28
|
];
|
|
30
29
|
/** Exit codes. */
|
|
31
30
|
exports.ExitCode = {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA6FH,oCAGC;AAxED;;;GAGG;AACU,QAAA,SAAS,GAAuB;IAC3C,EAAE,IAAI,EAAE,MAAM,EAAc,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACxF,EAAE,IAAI,EAAE,SAAS,EAAW,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;IACvF,EAAE,IAAI,EAAE,SAAS,EAAW,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC3F,EAAE,IAAI,EAAE,OAAO,EAAa,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2BAA2B,EAAE;IACnG,EAAE,IAAI,EAAE,MAAM,EAAc,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,+BAA+B,EAAE;IACvG,EAAE,IAAI,EAAE,IAAI,EAA4B,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAClG,EAAE,IAAI,EAAE,SAAS,EAAuB,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtH,EAAE,IAAI,EAAE,MAAM,EAA0B,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,EAAE;IACvG,EAAE,IAAI,EAAE,UAAU,EAAsB,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE;IACjH,EAAE,IAAI,EAAE,UAAU,EAAU,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,gCAAgC,EAAE;IACxG,EAAE,IAAI,EAAE,OAAO,EAAa,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,oBAAoB,EAAE;IAC5F,EAAE,IAAI,EAAE,aAAa,EAAmB,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,4BAA4B,EAAE;IACpG,EAAE,IAAI,EAAE,SAAS,EAAwB,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,EAAE;CAChG,CAAC;AAqBX,kBAAkB;AACL,QAAA,QAAQ,GAAG;IACtB,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACA,CAAC;AAsBX,gEAAgE;AAEhE,mEAAmE;AACnE,SAAgB,YAAY,CAAC,GAAY;IACvC,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,2DAA2D;IAC3D,QAAQ,CAAC,EAAE;QACT,oEAAoE;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,2CAA2C;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,2DAA2D;QAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,gEAAgE;QAChE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUrE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAYhF"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCH,gCAUC;AAMD,gCAYC;AAlED,uCAAyB;AACzB,2CAA6B;AAEhB,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AA+BlD;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,wBAAgB,gBAAgB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAY,EAAE,MAAiC;IACxE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAgB,CAAC,CAAC;IACrD,IAAI,QAAQ,GAAqB,EAAE,CAAC;IACpC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAqB,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diff summary — lightweight line-level comparison for AGENTS.md.
|
|
3
|
+
*
|
|
4
|
+
* Zero dependencies. Used to show a compact change summary in the
|
|
5
|
+
* dashboard when AGENTS.md is regenerated during watch mode.
|
|
6
|
+
*/
|
|
7
|
+
import type { DiffSummary } from './ui/store';
|
|
8
|
+
/**
|
|
9
|
+
* Compare two strings and return a line-level diff summary.
|
|
10
|
+
*
|
|
11
|
+
* Uses a simple set-based approach: counts lines present in `newContent`
|
|
12
|
+
* but not `oldContent` (added) and vice-versa (removed).
|
|
13
|
+
* This is not a proper LCS diff but is fast and good enough
|
|
14
|
+
* for showing "+N lines, -M lines" in the dashboard.
|
|
15
|
+
*/
|
|
16
|
+
export declare function diffSummary(oldContent: string, newContent: string): DiffSummary;
|
|
17
|
+
//# sourceMappingURL=diffSummary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffSummary.d.ts","sourceRoot":"","sources":["../src/diffSummary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAkC/E"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Diff summary — lightweight line-level comparison for AGENTS.md.
|
|
4
|
+
*
|
|
5
|
+
* Zero dependencies. Used to show a compact change summary in the
|
|
6
|
+
* dashboard when AGENTS.md is regenerated during watch mode.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.diffSummary = diffSummary;
|
|
10
|
+
/**
|
|
11
|
+
* Compare two strings and return a line-level diff summary.
|
|
12
|
+
*
|
|
13
|
+
* Uses a simple set-based approach: counts lines present in `newContent`
|
|
14
|
+
* but not `oldContent` (added) and vice-versa (removed).
|
|
15
|
+
* This is not a proper LCS diff but is fast and good enough
|
|
16
|
+
* for showing "+N lines, -M lines" in the dashboard.
|
|
17
|
+
*/
|
|
18
|
+
function diffSummary(oldContent, newContent) {
|
|
19
|
+
if (oldContent === newContent) {
|
|
20
|
+
return { added: 0, removed: 0, changed: false };
|
|
21
|
+
}
|
|
22
|
+
const oldLines = oldContent.split('\n');
|
|
23
|
+
const newLines = newContent.split('\n');
|
|
24
|
+
// Build frequency maps
|
|
25
|
+
const oldFreq = new Map();
|
|
26
|
+
for (const line of oldLines) {
|
|
27
|
+
oldFreq.set(line, (oldFreq.get(line) ?? 0) + 1);
|
|
28
|
+
}
|
|
29
|
+
const newFreq = new Map();
|
|
30
|
+
for (const line of newLines) {
|
|
31
|
+
newFreq.set(line, (newFreq.get(line) ?? 0) + 1);
|
|
32
|
+
}
|
|
33
|
+
// Lines in new but not (or less frequent) in old → added
|
|
34
|
+
let added = 0;
|
|
35
|
+
for (const [line, count] of newFreq) {
|
|
36
|
+
const oldCount = oldFreq.get(line) ?? 0;
|
|
37
|
+
if (count > oldCount)
|
|
38
|
+
added += count - oldCount;
|
|
39
|
+
}
|
|
40
|
+
// Lines in old but not (or less frequent) in new → removed
|
|
41
|
+
let removed = 0;
|
|
42
|
+
for (const [line, count] of oldFreq) {
|
|
43
|
+
const newCount = newFreq.get(line) ?? 0;
|
|
44
|
+
if (count > newCount)
|
|
45
|
+
removed += count - newCount;
|
|
46
|
+
}
|
|
47
|
+
return { added, removed, changed: added > 0 || removed > 0 };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=diffSummary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffSummary.js","sourceRoot":"","sources":["../src/diffSummary.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,kCAkCC;AA1CD;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,UAAkB,EAAE,UAAkB;IAChE,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,uBAAuB;IACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,yDAAyD;IACzD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,QAAQ;YAAE,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC;IAClD,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,QAAQ;YAAE,OAAO,IAAI,KAAK,GAAG,QAAQ,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;AAC/D,CAAC"}
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAqBtC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAyClD;AA8HD,mDAAmD;AACnD,wBAAgB,GAAG,IAAI,IAAI,CAK1B"}
|
package/dist/main.js
CHANGED
|
@@ -47,6 +47,7 @@ const logger_1 = require("./logger");
|
|
|
47
47
|
const version_1 = require("./version");
|
|
48
48
|
const pipeline_1 = require("./pipeline");
|
|
49
49
|
const inkLogger_1 = require("./ui/inkLogger");
|
|
50
|
+
const store_1 = require("./ui/store");
|
|
50
51
|
// ── Build lookup tables from FLAG_DEFS ───────────────────────
|
|
51
52
|
/** Map --long-name → FlagDef */
|
|
52
53
|
const longMap = new Map(cli_1.FLAG_DEFS.map((d) => [`--${d.name}`, d]));
|
|
@@ -63,6 +64,7 @@ function parseArgs(argv) {
|
|
|
63
64
|
dryRun: false,
|
|
64
65
|
once: false,
|
|
65
66
|
noColor: false,
|
|
67
|
+
compact: false,
|
|
66
68
|
};
|
|
67
69
|
const args = argv.slice(2); // skip node + script
|
|
68
70
|
let i = 0;
|
|
@@ -103,13 +105,13 @@ function printHelp() {
|
|
|
103
105
|
optionLines.push(`${left}${' '.repeat(pad)}${def.description}`);
|
|
104
106
|
}
|
|
105
107
|
console.log(`
|
|
106
|
-
${logger_1.fmt.bold('aspectcode')} —
|
|
108
|
+
${logger_1.fmt.bold('aspectcode')} — generate AGENTS.md for your codebase
|
|
107
109
|
|
|
108
110
|
${logger_1.fmt.bold('USAGE')}
|
|
109
111
|
aspectcode [options]
|
|
110
112
|
|
|
111
113
|
Analyzes your codebase, builds a knowledge base, reads existing AI tool
|
|
112
|
-
instruction files for context,
|
|
114
|
+
instruction files for context, generates AGENTS.md via LLM (when API key
|
|
113
115
|
is available), and watches for changes.
|
|
114
116
|
|
|
115
117
|
${logger_1.fmt.bold('OPTIONS')}
|
|
@@ -121,15 +123,10 @@ ${logger_1.fmt.bold('EXAMPLES')}
|
|
|
121
123
|
aspectcode --once --kb ${logger_1.fmt.dim('# also write kb.md')}
|
|
122
124
|
aspectcode --once --dry-run ${logger_1.fmt.dim('# preview without writing')}
|
|
123
125
|
aspectcode --provider openai ${logger_1.fmt.dim('# force specific LLM provider')}
|
|
126
|
+
aspectcode --compact ${logger_1.fmt.dim('# minimal dashboard layout')}
|
|
124
127
|
`.trimStart());
|
|
125
128
|
}
|
|
126
129
|
// ── Number-parsing helpers ───────────────────────────────────
|
|
127
|
-
function parseIntFlag(value, min, max, fallback) {
|
|
128
|
-
if (typeof value !== 'string')
|
|
129
|
-
return fallback;
|
|
130
|
-
const n = parseInt(value, 10);
|
|
131
|
-
return Number.isFinite(n) && n >= min && n <= max ? n : fallback;
|
|
132
|
-
}
|
|
133
130
|
function parseFloatFlag(value, min, max) {
|
|
134
131
|
if (typeof value !== 'string')
|
|
135
132
|
return undefined;
|
|
@@ -154,12 +151,6 @@ async function main() {
|
|
|
154
151
|
(0, logger_1.disableColor)();
|
|
155
152
|
}
|
|
156
153
|
// Parse numeric string flags
|
|
157
|
-
if (typeof flags.maxIterations === 'string') {
|
|
158
|
-
flags.maxIterations = parseIntFlag(flags.maxIterations, 1, 20, 3);
|
|
159
|
-
}
|
|
160
|
-
if (typeof flags.acceptThreshold === 'string') {
|
|
161
|
-
flags.acceptThreshold = parseIntFlag(flags.acceptThreshold, 1, 10, 8);
|
|
162
|
-
}
|
|
163
154
|
if (typeof flags.temperature === 'string') {
|
|
164
155
|
flags.temperature = parseFloatFlag(flags.temperature, 0, 2);
|
|
165
156
|
}
|
|
@@ -172,12 +163,18 @@ async function main() {
|
|
|
172
163
|
let spin;
|
|
173
164
|
let unmount;
|
|
174
165
|
if (useDashboard) {
|
|
166
|
+
// Set compact mode before mounting dashboard
|
|
167
|
+
if (flags.compact) {
|
|
168
|
+
store_1.store.setCompact(true);
|
|
169
|
+
}
|
|
175
170
|
// ink-based dashboard mode
|
|
176
171
|
log = (0, inkLogger_1.createDashboardLogger)();
|
|
177
172
|
spin = (msg, phase) => (0, inkLogger_1.createDashboardSpinner)((phase ?? 'idle'), msg);
|
|
178
173
|
try {
|
|
179
|
-
// Clear
|
|
180
|
-
|
|
174
|
+
// Clear screen content but preserve scrollback (avoids Ink re-render desync
|
|
175
|
+
// that \x1bc causes — that sends a full terminal reset which confuses Ink's
|
|
176
|
+
// cursor tracking and causes the banner to be reprinted on every render).
|
|
177
|
+
process.stdout.write('\x1B[2J\x1B[H');
|
|
181
178
|
const { render } = await Promise.resolve().then(() => __importStar(require('ink')));
|
|
182
179
|
const React = await Promise.resolve().then(() => __importStar(require('react')));
|
|
183
180
|
const Dashboard = (await Promise.resolve().then(() => __importStar(require('./ui/Dashboard')))).default;
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/optimize.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* Optimize wrapper — tries LLM optimization, falls back to static content.
|
|
3
3
|
*
|
|
4
4
|
* - If an API key is available → run the optimization agent
|
|
5
|
-
* - If evaluator is enabled →
|
|
5
|
+
* - If evaluator is enabled → single-pass optimize then probe & diagnose
|
|
6
6
|
* - If no API key → warn and write static AGENTS.md content
|
|
7
7
|
*/
|
|
8
|
+
import type { ChatUsage } from '@aspectcode/optimizer';
|
|
8
9
|
import type { RunContext } from './cli';
|
|
9
10
|
import type { AspectCodeConfig } from './config';
|
|
10
11
|
/** Result of the optimization attempt. */
|
|
@@ -12,10 +13,12 @@ export interface OptimizeOutput {
|
|
|
12
13
|
content: string;
|
|
13
14
|
/** Per-iteration reasoning (empty when no API key / static fallback). */
|
|
14
15
|
reasoning: string[];
|
|
16
|
+
/** Token usage from the generation LLM call (undefined when static fallback). */
|
|
17
|
+
tokenUsage?: ChatUsage;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
|
-
* Try to
|
|
20
|
+
* Try to generate AGENTS.md content via LLM using static analysis as context.
|
|
18
21
|
* Falls back to static instruction content when no API key is available.
|
|
19
22
|
*/
|
|
20
|
-
export declare function tryOptimize(ctx: RunContext, kbContent: string, toolInstructions: Map<string, string>, config: AspectCodeConfig | undefined): Promise<OptimizeOutput>;
|
|
23
|
+
export declare function tryOptimize(ctx: RunContext, kbContent: string, toolInstructions: Map<string, string>, config: AspectCodeConfig | undefined, baseContent: string): Promise<OptimizeOutput>;
|
|
21
24
|
//# sourceMappingURL=optimize.d.ts.map
|
package/dist/optimize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../src/optimize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../src/optimize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAUtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAyOzB"}
|
package/dist/optimize.js
CHANGED
|
@@ -3,42 +3,9 @@
|
|
|
3
3
|
* Optimize wrapper — tries LLM optimization, falls back to static content.
|
|
4
4
|
*
|
|
5
5
|
* - If an API key is available → run the optimization agent
|
|
6
|
-
* - If evaluator is enabled →
|
|
6
|
+
* - If evaluator is enabled → single-pass optimize then probe & diagnose
|
|
7
7
|
* - If no API key → warn and write static AGENTS.md content
|
|
8
8
|
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
10
|
exports.tryOptimize = tryOptimize;
|
|
44
11
|
const optimizer_1 = require("@aspectcode/optimizer");
|
|
@@ -47,15 +14,15 @@ const emitters_1 = require("@aspectcode/emitters");
|
|
|
47
14
|
const logger_1 = require("./logger");
|
|
48
15
|
const store_1 = require("./ui/store");
|
|
49
16
|
/**
|
|
50
|
-
* Try to
|
|
17
|
+
* Try to generate AGENTS.md content via LLM using static analysis as context.
|
|
51
18
|
* Falls back to static instruction content when no API key is available.
|
|
52
19
|
*/
|
|
53
|
-
async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
20
|
+
async function tryOptimize(ctx, kbContent, toolInstructions, config, baseContent) {
|
|
54
21
|
const { flags, log, root } = ctx;
|
|
55
22
|
const optConfig = config?.optimize;
|
|
23
|
+
const evalConfig = config?.evaluate;
|
|
24
|
+
const evaluatorEnabled = evalConfig?.enabled !== false; // Default: true
|
|
56
25
|
// ── Resolve settings ──────────────────────────────────────
|
|
57
|
-
const maxIterations = flags.maxIterations ?? optConfig?.maxIterations ?? 3;
|
|
58
|
-
const acceptThreshold = flags.acceptThreshold ?? optConfig?.acceptThreshold ?? 8;
|
|
59
26
|
const temperature = flags.temperature ?? optConfig?.temperature;
|
|
60
27
|
const model = flags.model ?? optConfig?.model;
|
|
61
28
|
const providerName = flags.provider ?? optConfig?.provider;
|
|
@@ -93,24 +60,13 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
93
60
|
}
|
|
94
61
|
const providerLabel = model ? `${provider.name} (${model})` : provider.name;
|
|
95
62
|
store_1.store.addSetupNote(`API key: ${provider.name}`);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
// ── Build current instructions (read existing AGENTS.md or use static) ──
|
|
99
|
-
let currentInstructions;
|
|
100
|
-
try {
|
|
101
|
-
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
102
|
-
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
103
|
-
const agentsPath = path.join(root, 'AGENTS.md');
|
|
104
|
-
if (fs.existsSync(agentsPath)) {
|
|
105
|
-
currentInstructions = fs.readFileSync(agentsPath, 'utf-8');
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
currentInstructions = (0, emitters_1.generateCanonicalContentForMode)('safe', true);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch {
|
|
112
|
-
currentInstructions = (0, emitters_1.generateCanonicalContentForMode)('safe', true);
|
|
63
|
+
if (evaluatorEnabled) {
|
|
64
|
+
store_1.store.addSetupNote('evaluator on');
|
|
113
65
|
}
|
|
66
|
+
log.info(`Generating with ${logger_1.fmt.cyan(provider.name)}${model ? ` (${logger_1.fmt.cyan(model)})` : ''}…`);
|
|
67
|
+
store_1.store.setProvider(providerLabel);
|
|
68
|
+
// ── Use static content only as fallback (LLM error / cancellation) ─
|
|
69
|
+
const fallbackContent = baseContent;
|
|
114
70
|
// ── Build tool instructions context string ────────────────
|
|
115
71
|
let toolContext = '';
|
|
116
72
|
if (toolInstructions.size > 0) {
|
|
@@ -120,23 +76,25 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
120
76
|
}
|
|
121
77
|
toolContext = parts.join('\n\n');
|
|
122
78
|
}
|
|
123
|
-
// ──
|
|
124
|
-
|
|
125
|
-
|
|
79
|
+
// ── Progress callbacks for live dashboard updates ─────────
|
|
80
|
+
const onProgress = (step) => {
|
|
81
|
+
switch (step.kind) {
|
|
82
|
+
case 'generating':
|
|
83
|
+
store_1.store.setPhase('optimizing', 'generating AGENTS.md…');
|
|
84
|
+
break;
|
|
85
|
+
case 'done':
|
|
86
|
+
store_1.store.setPhase('optimizing', 'generation complete');
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
// ── Wrap logger for dashboard ─────────────────────────────
|
|
126
91
|
const optLog = flags.quiet ? undefined : {
|
|
127
|
-
info(msg) {
|
|
128
|
-
const m = iterationPattern.exec(msg);
|
|
129
|
-
if (m)
|
|
130
|
-
store_1.store.setPhase('optimizing', `iteration ${m[1]}/${m[2]}`);
|
|
131
|
-
log.info(msg);
|
|
132
|
-
},
|
|
92
|
+
info(msg) { log.info(msg); },
|
|
133
93
|
warn(msg) { log.warn(msg); },
|
|
134
94
|
error(msg) { log.error(msg); },
|
|
135
95
|
debug(msg) { log.debug(msg); },
|
|
136
96
|
};
|
|
137
97
|
// ── Harvest prompts for evaluator (if enabled) ────────────
|
|
138
|
-
const evalConfig = config?.evaluate;
|
|
139
|
-
const evaluatorEnabled = evalConfig?.enabled !== false; // Default: true
|
|
140
98
|
let harvestedPrompts = [];
|
|
141
99
|
if (evaluatorEnabled && (evalConfig?.harvestPrompts !== false)) {
|
|
142
100
|
try {
|
|
@@ -158,23 +116,21 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
158
116
|
log.debug(`Prompt harvesting failed (non-fatal): ${msg}`);
|
|
159
117
|
}
|
|
160
118
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
const result = await (0, optimizer_1.runOptimizeAgent)({
|
|
165
|
-
currentInstructions,
|
|
119
|
+
const result = await (0, optimizer_1.runGenerateAgent)({
|
|
120
|
+
currentInstructions: fallbackContent,
|
|
166
121
|
kb: kbContent,
|
|
167
122
|
toolInstructions: toolContext || undefined,
|
|
168
|
-
maxIterations,
|
|
169
123
|
provider,
|
|
170
124
|
log: optLog,
|
|
171
|
-
|
|
172
|
-
iterationDelayMs: 1000,
|
|
125
|
+
onProgress,
|
|
173
126
|
});
|
|
174
|
-
log.info(`Optimized in ${result.iterations} iteration${result.iterations === 1 ? '' : 's'}`);
|
|
175
127
|
for (const reason of result.reasoning) {
|
|
176
128
|
log.debug(` ${logger_1.fmt.dim(reason)}`);
|
|
177
129
|
}
|
|
130
|
+
// Surface token usage from generation call
|
|
131
|
+
if (result.usage) {
|
|
132
|
+
store_1.store.setTokenUsage(result.usage);
|
|
133
|
+
}
|
|
178
134
|
// ── Evaluate with probes (if enabled) ─────────────────────
|
|
179
135
|
let finalContent = result.optimizedInstructions;
|
|
180
136
|
if (evaluatorEnabled) {
|
|
@@ -183,39 +139,65 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
183
139
|
store_1.store.setEvalStatus({ phase: 'probing' });
|
|
184
140
|
log.info('Running probe-based evaluation…');
|
|
185
141
|
const maxProbes = evalConfig?.maxProbes ?? 10;
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
maxProbes,
|
|
191
|
-
},
|
|
192
|
-
agentsContent: finalContent,
|
|
193
|
-
provider,
|
|
194
|
-
log: optLog,
|
|
195
|
-
signal: undefined,
|
|
142
|
+
const probes = (0, evaluator_1.generateProbes)({
|
|
143
|
+
kb: kbContent,
|
|
144
|
+
harvestedPrompts: harvestedPrompts.length > 0 ? harvestedPrompts : undefined,
|
|
145
|
+
maxProbes,
|
|
196
146
|
});
|
|
147
|
+
// Per-probe progress callback for live dashboard
|
|
148
|
+
const onProbeProgress = (info) => {
|
|
149
|
+
if (info.phase === 'starting') {
|
|
150
|
+
store_1.store.setEvalStatus({
|
|
151
|
+
phase: 'probing',
|
|
152
|
+
probesPassed: undefined,
|
|
153
|
+
probesTotal: info.total,
|
|
154
|
+
});
|
|
155
|
+
store_1.store.setPhase('evaluating', `probe ${info.probeIndex + 1}/${info.total}: ${info.probeId}`);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// 'done' — accumulate pass count from results so far
|
|
159
|
+
store_1.store.setPhase('evaluating', `probe ${info.probeIndex + 1}/${info.total} ${info.passed ? '✔' : '✖'}`);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
const probeResults = await (0, evaluator_1.runProbes)(finalContent, probes, provider, undefined, // fileContents
|
|
163
|
+
optLog, undefined, // signal
|
|
164
|
+
onProbeProgress);
|
|
165
|
+
const failures = probeResults.filter((r) => !r.passed);
|
|
166
|
+
const passCount = probeResults.length - failures.length;
|
|
197
167
|
store_1.store.setEvalStatus({
|
|
198
168
|
phase: 'probing',
|
|
199
|
-
probesPassed:
|
|
200
|
-
probesTotal:
|
|
169
|
+
probesPassed: passCount,
|
|
170
|
+
probesTotal: probeResults.length,
|
|
201
171
|
});
|
|
202
|
-
log.info(`Probes: ${
|
|
203
|
-
(
|
|
204
|
-
//
|
|
205
|
-
if (
|
|
172
|
+
log.info(`Probes: ${passCount}/${probeResults.length} passed` +
|
|
173
|
+
(failures.length > 0 ? `, ${failures.length} failed` : ''));
|
|
174
|
+
// Diagnose and apply edits if there are failures
|
|
175
|
+
if (failures.length > 0) {
|
|
206
176
|
store_1.store.setEvalStatus({ phase: 'diagnosing' });
|
|
207
|
-
store_1.store.setPhase('evaluating', '
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
177
|
+
store_1.store.setPhase('evaluating', 'diagnosing failures');
|
|
178
|
+
const diagnosis = await (0, evaluator_1.diagnose)(failures, finalContent, provider, optLog);
|
|
179
|
+
if (diagnosis && diagnosis.edits.length > 0) {
|
|
180
|
+
store_1.store.setPhase('evaluating', 'applying fixes');
|
|
181
|
+
log.info(`Applying ${diagnosis.edits.length} diagnosis-driven edits…`);
|
|
182
|
+
const fixed = await (0, evaluator_1.applyDiagnosisEdits)(finalContent, diagnosis, provider, optLog);
|
|
183
|
+
finalContent = fixed.content;
|
|
184
|
+
log.info(`Diagnosis edits applied (${fixed.appliedEdits.length} changes)`);
|
|
185
|
+
}
|
|
186
|
+
store_1.store.setEvalStatus({
|
|
187
|
+
phase: 'done',
|
|
188
|
+
probesPassed: passCount,
|
|
189
|
+
probesTotal: probeResults.length,
|
|
190
|
+
diagnosisEdits: diagnosis?.edits.length ?? 0,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
store_1.store.setEvalStatus({
|
|
195
|
+
phase: 'done',
|
|
196
|
+
probesPassed: passCount,
|
|
197
|
+
probesTotal: probeResults.length,
|
|
198
|
+
diagnosisEdits: 0,
|
|
199
|
+
});
|
|
212
200
|
}
|
|
213
|
-
store_1.store.setEvalStatus({
|
|
214
|
-
phase: 'done',
|
|
215
|
-
probesPassed: evalResult.passCount,
|
|
216
|
-
probesTotal: evalResult.totalProbes,
|
|
217
|
-
diagnosisEdits: evalResult.diagnosis?.edits.length ?? 0,
|
|
218
|
-
});
|
|
219
201
|
}
|
|
220
202
|
catch (err) {
|
|
221
203
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -226,6 +208,7 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
226
208
|
return {
|
|
227
209
|
content: finalContent,
|
|
228
210
|
reasoning: result.reasoning,
|
|
211
|
+
tokenUsage: result.usage,
|
|
229
212
|
};
|
|
230
213
|
}
|
|
231
214
|
//# sourceMappingURL=optimize.js.map
|
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,10 +4,11 @@
|
|
|
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. Write static-template AGENTS.md for immediate feedback
|
|
8
|
+
* 5. If API key present → LLM generates AGENTS.md from KB → overwrite
|
|
9
|
+
* If no API key → keep static AGENTS.md + warn
|
|
10
|
+
* 6. If --kb flag → also write kb.md
|
|
11
|
+
* 7. If not --once → watch for changes and repeat
|
|
11
12
|
*/
|
|
12
13
|
import type { RunContext } from './cli';
|
|
13
14
|
import type { ExitCodeValue } from './cli';
|