aspectcode 0.3.1 → 0.3.3
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/bin/aspectcode.js +3 -0
- package/dist/cli.d.ts +7 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/complaintProcessor.d.ts +16 -0
- package/dist/complaintProcessor.d.ts.map +1 -0
- package/dist/complaintProcessor.js +134 -0
- package/dist/complaintProcessor.js.map +1 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +37 -2
- package/dist/main.js.map +1 -1
- package/dist/optimize.d.ts +7 -1
- package/dist/optimize.d.ts.map +1 -1
- package/dist/optimize.js +26 -5
- package/dist/optimize.js.map +1 -1
- package/dist/pipeline.d.ts +8 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +89 -18
- package/dist/pipeline.js.map +1 -1
- package/dist/ui/Dashboard.d.ts +12 -0
- package/dist/ui/Dashboard.d.ts.map +1 -0
- package/dist/ui/Dashboard.js +162 -0
- package/dist/ui/Dashboard.js.map +1 -0
- package/dist/ui/inkLogger.d.ts +20 -0
- package/dist/ui/inkLogger.d.ts.map +1 -0
- package/dist/ui/inkLogger.js +42 -0
- package/dist/ui/inkLogger.js.map +1 -0
- package/dist/ui/prompts.d.ts +19 -0
- package/dist/ui/prompts.d.ts.map +1 -0
- package/dist/ui/prompts.js +125 -0
- package/dist/ui/prompts.js.map +1 -0
- package/dist/ui/store.d.ts +60 -0
- package/dist/ui/store.d.ts.map +1 -0
- package/dist/ui/store.js +104 -0
- package/dist/ui/store.js.map +1 -0
- package/dist/ui/theme.d.ts +27 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +41 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/workspace.d.ts +2 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +3 -2
- package/dist/workspace.js.map +1 -1
- package/dist/writer.d.ts +18 -4
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js +49 -5
- package/dist/writer.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/agent.d.ts +9 -1
- package/node_modules/@aspectcode/optimizer/dist/agent.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/agent.js +38 -0
- 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 +4 -1
- package/node_modules/@aspectcode/optimizer/dist/index.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts +12 -0
- package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/prompts.js +55 -0
- package/node_modules/@aspectcode/optimizer/dist/prompts.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.js +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/openai.js +1 -1
- package/node_modules/@aspectcode/optimizer/dist/providers/openai.js.map +1 -1
- package/node_modules/@aspectcode/optimizer/dist/types.d.ts +24 -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 -1
- package/package.json +6 -3
package/bin/aspectcode.js
CHANGED
package/dist/cli.d.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Ultra-simple: one command (`aspectcode`), minimal flags, auto-everything.
|
|
5
5
|
*/
|
|
6
|
-
import type { Logger } from './logger';
|
|
6
|
+
import type { Logger, Spinner } from './logger';
|
|
7
|
+
/** Factory to create a spinner — allows dashboard to intercept. */
|
|
8
|
+
export type SpinnerFactory = (msg: string, phase?: string) => Spinner;
|
|
7
9
|
export type FlagType = 'boolean' | 'string';
|
|
8
10
|
export interface FlagDef {
|
|
9
11
|
/** Long flag name (without --). */
|
|
@@ -56,6 +58,10 @@ export interface RunContext {
|
|
|
56
58
|
flags: CliFlags;
|
|
57
59
|
/** Logger respecting --verbose / --quiet. */
|
|
58
60
|
log: Logger;
|
|
61
|
+
/** Spinner factory (dashboard-aware or plain). */
|
|
62
|
+
spin: SpinnerFactory;
|
|
63
|
+
/** Pre-resolved AGENTS.md ownership mode. */
|
|
64
|
+
ownership: 'full' | 'section';
|
|
59
65
|
}
|
|
60
66
|
/** Convert a kebab-case flag name to its CliFlags property key. */
|
|
61
67
|
export declare function flagPropName(def: FlagDef): string;
|
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,MAAM,UAAU,CAAC;
|
|
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,EAe9B,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,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;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.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;;;AA+FH,oCAGC;AA1ED;;;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,gBAAgB,EAAI,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,uCAAuC,EAAE,IAAI,EAAE,eAAe,EAAE;IACtI,EAAE,IAAI,EAAE,kBAAkB,EAAc,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,6CAA6C,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC9I,EAAE,IAAI,EAAE,aAAa,EAAmB,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,4BAA4B,EAAE;CAC5F,CAAC;AAsBX,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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complaint processor — takes queued user complaints, calls the
|
|
3
|
+
* complaint agent to update AGENTS.md, and reports changes via the store.
|
|
4
|
+
*/
|
|
5
|
+
import type { RunContext } from './cli';
|
|
6
|
+
import type { OwnershipMode } from './writer';
|
|
7
|
+
/**
|
|
8
|
+
* Drain the complaint queue and apply each batch of complaints to AGENTS.md.
|
|
9
|
+
*
|
|
10
|
+
* Reads the current AGENTS.md, sends complaints + KB context to the LLM,
|
|
11
|
+
* writes the updated file, and surfaces changes in the dashboard.
|
|
12
|
+
*
|
|
13
|
+
* @returns true if at least one complaint was processed, false otherwise.
|
|
14
|
+
*/
|
|
15
|
+
export declare function processComplaints(ctx: RunContext, ownership: OwnershipMode, kbContent: string): Promise<boolean>;
|
|
16
|
+
//# sourceMappingURL=complaintProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complaintProcessor.d.ts","sourceRoot":"","sources":["../src/complaintProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAmFlB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Complaint processor — takes queued user complaints, calls the
|
|
4
|
+
* complaint agent to update AGENTS.md, and reports changes via the store.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.processComplaints = processComplaints;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const optimizer_1 = require("@aspectcode/optimizer");
|
|
44
|
+
const emitters_1 = require("@aspectcode/emitters");
|
|
45
|
+
const config_1 = require("./config");
|
|
46
|
+
const writer_1 = require("./writer");
|
|
47
|
+
const store_1 = require("./ui/store");
|
|
48
|
+
/**
|
|
49
|
+
* Drain the complaint queue and apply each batch of complaints to AGENTS.md.
|
|
50
|
+
*
|
|
51
|
+
* Reads the current AGENTS.md, sends complaints + KB context to the LLM,
|
|
52
|
+
* writes the updated file, and surfaces changes in the dashboard.
|
|
53
|
+
*
|
|
54
|
+
* @returns true if at least one complaint was processed, false otherwise.
|
|
55
|
+
*/
|
|
56
|
+
async function processComplaints(ctx, ownership, kbContent) {
|
|
57
|
+
const { root, flags, log } = ctx;
|
|
58
|
+
// ── Collect all queued complaints ─────────────────────────
|
|
59
|
+
const complaints = [];
|
|
60
|
+
let next;
|
|
61
|
+
while ((next = store_1.store.shiftComplaint()) !== undefined) {
|
|
62
|
+
complaints.push(next);
|
|
63
|
+
}
|
|
64
|
+
if (complaints.length === 0)
|
|
65
|
+
return false;
|
|
66
|
+
// ── Resolve LLM provider ─────────────────────────────────
|
|
67
|
+
const config = (0, config_1.loadConfig)(root);
|
|
68
|
+
const optConfig = config?.optimize;
|
|
69
|
+
const model = flags.model ?? optConfig?.model;
|
|
70
|
+
const providerName = flags.provider ?? optConfig?.provider;
|
|
71
|
+
const maxTokens = optConfig?.maxTokens;
|
|
72
|
+
const temperature = flags.temperature ?? optConfig?.temperature;
|
|
73
|
+
let env;
|
|
74
|
+
try {
|
|
75
|
+
env = (0, optimizer_1.loadEnvFile)(root);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
env = {};
|
|
79
|
+
}
|
|
80
|
+
if (providerName && !env['LLM_PROVIDER']) {
|
|
81
|
+
env['LLM_PROVIDER'] = providerName;
|
|
82
|
+
}
|
|
83
|
+
const providerOptions = {};
|
|
84
|
+
if (model)
|
|
85
|
+
providerOptions.model = model;
|
|
86
|
+
if (temperature !== undefined)
|
|
87
|
+
providerOptions.temperature = temperature;
|
|
88
|
+
if (maxTokens !== undefined)
|
|
89
|
+
providerOptions.maxTokens = maxTokens;
|
|
90
|
+
let provider;
|
|
91
|
+
try {
|
|
92
|
+
provider = (0, optimizer_1.resolveProvider)(env, providerOptions);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
store_1.store.setWarning('No API key — cannot process complaints.');
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
// ── Read current AGENTS.md ────────────────────────────────
|
|
99
|
+
let currentInstructions;
|
|
100
|
+
try {
|
|
101
|
+
const agentsPath = path.join(root, 'AGENTS.md');
|
|
102
|
+
currentInstructions = fs.readFileSync(agentsPath, 'utf-8');
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
store_1.store.setWarning('AGENTS.md not found — run the pipeline first.');
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
// ── Run complaint agent ───────────────────────────────────
|
|
109
|
+
store_1.store.setProcessingComplaint(true);
|
|
110
|
+
store_1.store.clearComplaintChanges();
|
|
111
|
+
log.info(`Processing ${complaints.length} complaint${complaints.length === 1 ? '' : 's'}…`);
|
|
112
|
+
const result = await (0, optimizer_1.runComplaintAgent)({
|
|
113
|
+
currentInstructions,
|
|
114
|
+
kb: kbContent,
|
|
115
|
+
complaints,
|
|
116
|
+
provider,
|
|
117
|
+
log: flags.quiet ? undefined : {
|
|
118
|
+
info: (msg) => log.info(msg),
|
|
119
|
+
warn: (msg) => log.warn(msg),
|
|
120
|
+
error: (msg) => log.error(msg),
|
|
121
|
+
debug: (msg) => log.debug(msg),
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
// ── Write updated AGENTS.md ───────────────────────────────
|
|
125
|
+
if (!flags.dryRun) {
|
|
126
|
+
const host = (0, emitters_1.createNodeEmitterHost)();
|
|
127
|
+
await (0, writer_1.writeAgentsMd)(host, root, result.optimizedInstructions, ownership);
|
|
128
|
+
log.success('AGENTS.md updated from complaints');
|
|
129
|
+
}
|
|
130
|
+
store_1.store.setComplaintChanges(result.changes);
|
|
131
|
+
store_1.store.setProcessingComplaint(false);
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=complaintProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complaintProcessor.js","sourceRoot":"","sources":["../src/complaintProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export declare const CONFIG_FILE_NAME = "aspectcode.json";
|
|
|
9
9
|
export interface AspectCodeConfig {
|
|
10
10
|
/** Extra directories to exclude from analysis. */
|
|
11
11
|
exclude?: string[];
|
|
12
|
+
/** AGENTS.md ownership: 'full' overwrites the file, 'section' uses markers. */
|
|
13
|
+
ownership?: 'full' | 'section';
|
|
12
14
|
/** Optimization settings. */
|
|
13
15
|
optimize?: {
|
|
14
16
|
provider?: string;
|
|
@@ -24,4 +26,9 @@ export interface AspectCodeConfig {
|
|
|
24
26
|
* Never auto-creates. Throws on parse errors.
|
|
25
27
|
*/
|
|
26
28
|
export declare function loadConfig(root: string): AspectCodeConfig | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Save a partial config update to `aspectcode.json`.
|
|
31
|
+
* Merges with any existing config. Creates the file if it doesn't exist.
|
|
32
|
+
*/
|
|
33
|
+
export declare function saveConfig(root: string, update: Partial<AspectCodeConfig>): void;
|
|
27
34
|
//# sourceMappingURL=config.d.ts.map
|
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,6BAA6B;IAC7B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUrE"}
|
|
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,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,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
CHANGED
|
@@ -41,6 +41,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
exports.CONFIG_FILE_NAME = void 0;
|
|
43
43
|
exports.loadConfig = loadConfig;
|
|
44
|
+
exports.saveConfig = saveConfig;
|
|
44
45
|
const fs = __importStar(require("fs"));
|
|
45
46
|
const path = __importStar(require("path"));
|
|
46
47
|
exports.CONFIG_FILE_NAME = 'aspectcode.json';
|
|
@@ -60,4 +61,22 @@ function loadConfig(root) {
|
|
|
60
61
|
throw new Error(`Failed to parse ${exports.CONFIG_FILE_NAME}: invalid JSON`);
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Save a partial config update to `aspectcode.json`.
|
|
66
|
+
* Merges with any existing config. Creates the file if it doesn't exist.
|
|
67
|
+
*/
|
|
68
|
+
function saveConfig(root, update) {
|
|
69
|
+
const configPath = path.join(root, exports.CONFIG_FILE_NAME);
|
|
70
|
+
let existing = {};
|
|
71
|
+
if (fs.existsSync(configPath)) {
|
|
72
|
+
try {
|
|
73
|
+
existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// Overwrite malformed config
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const merged = { ...existing, ...update };
|
|
80
|
+
fs.writeFileSync(configPath, JSON.stringify(merged, null, 2) + '\n');
|
|
81
|
+
}
|
|
63
82
|
//# sourceMappingURL=config.js.map
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BH,gCAUC;AAMD,gCAYC;AAxDD,uCAAyB;AACzB,2CAA6B;AAEhB,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AAqBlD;;;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"}
|
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;AAoBtC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAwClD;AA+HD,mDAAmD;AACnD,wBAAgB,GAAG,IAAI,IAAI,CAK1B"}
|
package/dist/main.js
CHANGED
|
@@ -46,6 +46,7 @@ const cli_1 = require("./cli");
|
|
|
46
46
|
const logger_1 = require("./logger");
|
|
47
47
|
const version_1 = require("./version");
|
|
48
48
|
const pipeline_1 = require("./pipeline");
|
|
49
|
+
const inkLogger_1 = require("./ui/inkLogger");
|
|
49
50
|
// ── Build lookup tables from FLAG_DEFS ───────────────────────
|
|
50
51
|
/** Map --long-name → FlagDef */
|
|
51
52
|
const longMap = new Map(cli_1.FLAG_DEFS.map((d) => [`--${d.name}`, d]));
|
|
@@ -162,9 +163,43 @@ async function main() {
|
|
|
162
163
|
if (typeof flags.temperature === 'string') {
|
|
163
164
|
flags.temperature = parseFloatFlag(flags.temperature, 0, 2);
|
|
164
165
|
}
|
|
165
|
-
const log = (0, logger_1.createLogger)({ verbose: flags.verbose, quiet: flags.quiet });
|
|
166
166
|
const root = path.resolve(flags.root ?? process.cwd());
|
|
167
|
-
|
|
167
|
+
// Resolve ownership BEFORE mounting the ink dashboard.
|
|
168
|
+
// selectPrompt uses raw stdin which conflicts with ink's useInput.
|
|
169
|
+
const ownership = await (0, pipeline_1.resolveOwnership)(root);
|
|
170
|
+
const useDashboard = !flags.quiet && !flags.noColor && process.stdout.isTTY === true;
|
|
171
|
+
let log;
|
|
172
|
+
let spin;
|
|
173
|
+
let unmount;
|
|
174
|
+
if (useDashboard) {
|
|
175
|
+
// ink-based dashboard mode
|
|
176
|
+
log = (0, inkLogger_1.createDashboardLogger)();
|
|
177
|
+
spin = (msg, phase) => (0, inkLogger_1.createDashboardSpinner)((phase ?? 'idle'), msg);
|
|
178
|
+
try {
|
|
179
|
+
const { render } = await Promise.resolve().then(() => __importStar(require('ink')));
|
|
180
|
+
const React = await Promise.resolve().then(() => __importStar(require('react')));
|
|
181
|
+
const Dashboard = (await Promise.resolve().then(() => __importStar(require('./ui/Dashboard')))).default;
|
|
182
|
+
const instance = render(React.createElement(Dashboard));
|
|
183
|
+
unmount = () => instance.unmount();
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
// If ink rendering fails, fall back gracefully
|
|
187
|
+
log = (0, logger_1.createLogger)({ verbose: flags.verbose, quiet: flags.quiet });
|
|
188
|
+
spin = (msg) => (0, logger_1.createSpinner)(msg, { quiet: flags.quiet });
|
|
189
|
+
unmount = undefined;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
log = (0, logger_1.createLogger)({ verbose: flags.verbose, quiet: flags.quiet });
|
|
194
|
+
spin = (msg) => (0, logger_1.createSpinner)(msg, { quiet: flags.quiet });
|
|
195
|
+
}
|
|
196
|
+
try {
|
|
197
|
+
process.exitCode = await (0, pipeline_1.runPipeline)({ root, flags, log, spin, ownership });
|
|
198
|
+
}
|
|
199
|
+
finally {
|
|
200
|
+
if (unmount)
|
|
201
|
+
unmount();
|
|
202
|
+
}
|
|
168
203
|
}
|
|
169
204
|
/** Entry point — called from bin/aspectcode.js. */
|
|
170
205
|
function run() {
|
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
|
@@ -6,9 +6,15 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { RunContext } from './cli';
|
|
8
8
|
import type { AspectCodeConfig } from './config';
|
|
9
|
+
/** Result of the optimization attempt. */
|
|
10
|
+
export interface OptimizeOutput {
|
|
11
|
+
content: string;
|
|
12
|
+
/** Per-iteration reasoning (empty when no API key / static fallback). */
|
|
13
|
+
reasoning: string[];
|
|
14
|
+
}
|
|
9
15
|
/**
|
|
10
16
|
* Try to optimize AGENTS.md content via LLM.
|
|
11
17
|
* Falls back to static instruction content when no API key is available.
|
|
12
18
|
*/
|
|
13
|
-
export declare function tryOptimize(ctx: RunContext, kbContent: string, toolInstructions: Map<string, string>, config: AspectCodeConfig | undefined): Promise<
|
|
19
|
+
export declare function tryOptimize(ctx: RunContext, kbContent: string, toolInstructions: Map<string, string>, config: AspectCodeConfig | undefined): Promise<OptimizeOutput>;
|
|
14
20
|
//# 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;;;;;GAKG;AASH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../src/optimize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,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;CACrB;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,GACnC,OAAO,CAAC,cAAc,CAAC,CA4GzB"}
|
package/dist/optimize.js
CHANGED
|
@@ -43,6 +43,7 @@ exports.tryOptimize = tryOptimize;
|
|
|
43
43
|
const optimizer_1 = require("@aspectcode/optimizer");
|
|
44
44
|
const emitters_1 = require("@aspectcode/emitters");
|
|
45
45
|
const logger_1 = require("./logger");
|
|
46
|
+
const store_1 = require("./ui/store");
|
|
46
47
|
/**
|
|
47
48
|
* Try to optimize AGENTS.md content via LLM.
|
|
48
49
|
* Falls back to static instruction content when no API key is available.
|
|
@@ -81,11 +82,14 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
81
82
|
}
|
|
82
83
|
catch {
|
|
83
84
|
// No API key available — fall back to static content
|
|
84
|
-
log.warn('No LLM API key found.
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
log.warn('No LLM API key found. Set OPENAI_API_KEY or ANTHROPIC_API_KEY in .env for optimization.');
|
|
86
|
+
return {
|
|
87
|
+
content: (0, emitters_1.generateCanonicalContentForMode)('safe', kbContent.length > 0),
|
|
88
|
+
reasoning: [],
|
|
89
|
+
};
|
|
87
90
|
}
|
|
88
91
|
log.info(`Optimizing with ${logger_1.fmt.cyan(provider.name)}${model ? ` (${logger_1.fmt.cyan(model)})` : ''}…`);
|
|
92
|
+
store_1.store.setProvider(model ? `${provider.name} (${model})` : provider.name);
|
|
89
93
|
// ── Build current instructions (read existing AGENTS.md or use static) ──
|
|
90
94
|
let currentInstructions;
|
|
91
95
|
try {
|
|
@@ -112,13 +116,26 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
112
116
|
toolContext = parts.join('\n\n');
|
|
113
117
|
}
|
|
114
118
|
// ── Run optimization agent ────────────────────────────────
|
|
119
|
+
// Wrap the logger to capture iteration progress for the dashboard
|
|
120
|
+
const iterationPattern = /^Optimize iteration (\d+)\/(\d+)/;
|
|
121
|
+
const optLog = flags.quiet ? undefined : {
|
|
122
|
+
info(msg) {
|
|
123
|
+
const m = iterationPattern.exec(msg);
|
|
124
|
+
if (m)
|
|
125
|
+
store_1.store.setPhase('optimizing', `iteration ${m[1]}/${m[2]}`);
|
|
126
|
+
log.info(msg);
|
|
127
|
+
},
|
|
128
|
+
warn(msg) { log.warn(msg); },
|
|
129
|
+
error(msg) { log.error(msg); },
|
|
130
|
+
debug(msg) { log.debug(msg); },
|
|
131
|
+
};
|
|
115
132
|
const result = await (0, optimizer_1.runOptimizeAgent)({
|
|
116
133
|
currentInstructions,
|
|
117
134
|
kb: kbContent,
|
|
118
135
|
toolInstructions: toolContext || undefined,
|
|
119
136
|
maxIterations,
|
|
120
137
|
provider,
|
|
121
|
-
log:
|
|
138
|
+
log: optLog,
|
|
122
139
|
acceptThreshold,
|
|
123
140
|
iterationDelayMs: 1000,
|
|
124
141
|
});
|
|
@@ -126,6 +143,10 @@ async function tryOptimize(ctx, kbContent, toolInstructions, config) {
|
|
|
126
143
|
for (const reason of result.reasoning) {
|
|
127
144
|
log.debug(` ${logger_1.fmt.dim(reason)}`);
|
|
128
145
|
}
|
|
129
|
-
|
|
146
|
+
store_1.store.setReasoning(result.reasoning);
|
|
147
|
+
return {
|
|
148
|
+
content: result.optimizedInstructions,
|
|
149
|
+
reasoning: result.reasoning,
|
|
150
|
+
};
|
|
130
151
|
}
|
|
131
152
|
//# 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;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"optimize.js","sourceRoot":"","sources":["../src/optimize.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline.d.ts
CHANGED
|
@@ -11,5 +11,13 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { RunContext } from './cli';
|
|
13
13
|
import type { ExitCodeValue } from './cli';
|
|
14
|
+
import type { OwnershipMode } from './writer';
|
|
15
|
+
/**
|
|
16
|
+
* Resolve AGENTS.md ownership mode.
|
|
17
|
+
*
|
|
18
|
+
* Called from main() BEFORE the ink dashboard is mounted, because
|
|
19
|
+
* the interactive prompt uses raw stdin which conflicts with ink's useInput.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveOwnership(root: string): Promise<OwnershipMode>;
|
|
14
22
|
export declare function runPipeline(ctx: RunContext): Promise<ExitCodeValue>;
|
|
15
23
|
//# 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;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAO3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA8G9C;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAwB3E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAqHzE"}
|