koneck 2.29.0 → 2.30.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/dist/checkpoint.d.ts +20 -0
- package/dist/checkpoint.d.ts.map +1 -1
- package/dist/checkpoint.js +169 -10
- package/dist/checkpoint.js.map +1 -1
- package/dist/completion-notices.d.ts +8 -0
- package/dist/completion-notices.d.ts.map +1 -0
- package/dist/completion-notices.js +14 -0
- package/dist/completion-notices.js.map +1 -0
- package/dist/config-store.d.ts +2 -0
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +6 -2
- package/dist/config-store.js.map +1 -1
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -1
- package/dist/config.js.map +1 -1
- package/dist/engine.d.ts +9 -12
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +48 -26
- package/dist/engine.js.map +1 -1
- package/dist/git-diff.d.ts +16 -0
- package/dist/git-diff.d.ts.map +1 -0
- package/dist/git-diff.js +56 -0
- package/dist/git-diff.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -28
- package/dist/index.js.map +1 -1
- package/dist/ink-chat.d.ts +83 -1
- package/dist/ink-chat.d.ts.map +1 -1
- package/dist/ink-chat.js +772 -53
- package/dist/ink-chat.js.map +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +67 -9
- package/dist/permissions.js.map +1 -1
- package/dist/preflight.d.ts +24 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +87 -0
- package/dist/preflight.js.map +1 -0
- package/dist/refactor.d.ts +7 -3
- package/dist/refactor.d.ts.map +1 -1
- package/dist/refactor.js +122 -35
- package/dist/refactor.js.map +1 -1
- package/dist/run-limits.d.ts +9 -0
- package/dist/run-limits.d.ts.map +1 -0
- package/dist/run-limits.js +13 -0
- package/dist/run-limits.js.map +1 -0
- package/dist/session-bus.d.ts +14 -0
- package/dist/session-bus.d.ts.map +1 -1
- package/dist/session-bus.js +24 -3
- package/dist/session-bus.js.map +1 -1
- package/dist/session.d.ts +20 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +27 -7
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/worktree.d.ts +2 -0
- package/dist/worktree.d.ts.map +1 -1
- package/dist/worktree.js +68 -4
- package/dist/worktree.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,wFAAwF;AACxF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,KAAK,EAAE,SAAS,QAAQ,EAkCpC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE/C;AAcD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAM/C;AAED,2FAA2F;AAC3F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAUpF;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,wFAAwF;AACxF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,KAAK,EAAE,SAAS,QAAQ,EAkCpC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE/C;AAcD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAM/C;AAED,2FAA2F;AAC3F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAUpF;AA6FD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAqB1D;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,SAAS,EAAE,GAC1B,QAAQ,CAaV;AAMD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAUjE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvF;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAIjF;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEpD"}
|
package/dist/permissions.js
CHANGED
|
@@ -45,7 +45,7 @@ const READ_TOOLS = new Set([
|
|
|
45
45
|
/** Tools that change the working tree. */
|
|
46
46
|
const WRITE_TOOLS = new Set([
|
|
47
47
|
'write_file', 'apply_diff', 'search_replace', 'move_file', 'delete_file',
|
|
48
|
-
'git_commit', 'git_create_branch', 'git_checkout', 'git_stash',
|
|
48
|
+
'git_commit', 'git_create_branch', 'git_checkout', 'git_stash', 'native_refactor',
|
|
49
49
|
]);
|
|
50
50
|
export function toolRisk(name) {
|
|
51
51
|
if (READ_TOOLS.has(name))
|
|
@@ -122,15 +122,73 @@ const READ_ONLY_COMMANDS = new Set([
|
|
|
122
122
|
]);
|
|
123
123
|
/** Subcommands of tools that are safe only in part: `git log` yes, `git push` emphatically not. */
|
|
124
124
|
const READ_ONLY_SUBCOMMANDS = {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
// `branch`, `remote`, `tag`, and `config` each have innocent-looking write forms. They are
|
|
126
|
+
// handled below with an argument-aware grammar rather than trusted by name alone.
|
|
127
|
+
git: new Set(['status', 'log', 'diff', 'show', 'blame', 'describe', 'rev-parse', 'ls-files', 'shortlog']),
|
|
128
|
+
// `npm config set` writes global or project configuration; query forms are handled below.
|
|
129
|
+
npm: new Set(['ls', 'list', 'view', 'outdated', 'why', 'root', 'prefix']),
|
|
128
130
|
yarn: new Set(['list', 'why', 'info']),
|
|
129
131
|
pnpm: new Set(['list', 'why', 'root']),
|
|
130
132
|
cargo: new Set(['tree', 'metadata']),
|
|
131
133
|
docker: new Set(['ps', 'images', 'version', 'info']),
|
|
132
134
|
kubectl: new Set(['get', 'describe', 'version']),
|
|
133
135
|
};
|
|
136
|
+
const GIT_EXTERNAL_FILTER_FLAGS = new Set(['--ext-diff', '--textconv']);
|
|
137
|
+
const GIT_MUTATING_BRANCH_FLAGS = new Set(['-d', '-D', '-m', '-M', '--delete', '--move', '--set-upstream-to', '--edit-description']);
|
|
138
|
+
function hasOption(options, option) {
|
|
139
|
+
return options.some(value => value === option || value.startsWith(`${option}=`));
|
|
140
|
+
}
|
|
141
|
+
function isReadOnlyGit(words) {
|
|
142
|
+
const sub = (words[1] ?? '').toLowerCase();
|
|
143
|
+
const args = words.slice(2);
|
|
144
|
+
if (READ_ONLY_SUBCOMMANDS.git.has(sub)) {
|
|
145
|
+
// Git can execute configured external diff or text-conversion drivers. They are not an
|
|
146
|
+
// observation guarantee merely because the verb is `diff` or `show`.
|
|
147
|
+
return ![...GIT_EXTERNAL_FILTER_FLAGS].some(option => hasOption(args, option));
|
|
148
|
+
}
|
|
149
|
+
if (sub === 'branch') {
|
|
150
|
+
// Listing is safe; naming a branch creates it, while several flags delete/move/configure it.
|
|
151
|
+
return args.every(arg => arg.startsWith('-') && ![...GIT_MUTATING_BRANCH_FLAGS].some(option => hasOption([arg], option)));
|
|
152
|
+
}
|
|
153
|
+
if (sub === 'tag') {
|
|
154
|
+
// A bare `git tag` lists. Require --list for any optioned form; a positional tag name creates.
|
|
155
|
+
return args.length === 0 || args.every(arg => arg === '-l' || arg === '--list' || arg.startsWith('--list='));
|
|
156
|
+
}
|
|
157
|
+
if (sub === 'remote') {
|
|
158
|
+
return args.length === 0 || args.every(arg => arg === '-v');
|
|
159
|
+
}
|
|
160
|
+
if (sub === 'config') {
|
|
161
|
+
const query = args.some(arg => ['--get', '--get-all', '--get-regexp', '--list', '--get-urlmatch', '--show-origin', '--show-scope'].includes(arg));
|
|
162
|
+
// A single key with no value is Git's read form; two positional values would set it.
|
|
163
|
+
const values = args.filter(arg => !arg.startsWith('-'));
|
|
164
|
+
return query || values.length === 1;
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
function isReadOnlyNpmConfig(words) {
|
|
169
|
+
const operation = (words[2] ?? '').toLowerCase();
|
|
170
|
+
return operation === 'get' || operation === 'list';
|
|
171
|
+
}
|
|
172
|
+
/** Options that make otherwise observational Unix tools execute or write. */
|
|
173
|
+
function genericReadCommandIsSafe(head, words) {
|
|
174
|
+
const args = words.slice(1);
|
|
175
|
+
if (head === 'find') {
|
|
176
|
+
return !args.some(arg => [
|
|
177
|
+
'-delete', '-exec', '-execdir', '-ok', '-okdir', '-fprint', '-fprint0', '-fprintf', '-fls',
|
|
178
|
+
].includes(arg));
|
|
179
|
+
}
|
|
180
|
+
if (head === 'env') {
|
|
181
|
+
// `env NAME=value` only prints an environment, but `env NAME=value command` executes it.
|
|
182
|
+
return args.every(arg => arg.startsWith('-') ? arg !== '-S' && !arg.startsWith('--split-string') : arg.includes('='));
|
|
183
|
+
}
|
|
184
|
+
if (head === 'sort')
|
|
185
|
+
return !args.some(arg => arg === '-o' || arg.startsWith('--output'));
|
|
186
|
+
if (head === 'diff')
|
|
187
|
+
return !args.some(arg => arg === '-o' || arg.startsWith('--output'));
|
|
188
|
+
if (head === 'tree')
|
|
189
|
+
return !args.some(arg => arg === '-o' || arg.startsWith('--output'));
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
134
192
|
/**
|
|
135
193
|
* Whether a command only reads.
|
|
136
194
|
*
|
|
@@ -147,6 +205,10 @@ export function isReadOnlyCommand(command) {
|
|
|
147
205
|
// Redirection writes files even when the command itself would not.
|
|
148
206
|
if (words.some(w => w === '>' || w === '>>'))
|
|
149
207
|
return false;
|
|
208
|
+
if (head === 'git')
|
|
209
|
+
return isReadOnlyGit(words);
|
|
210
|
+
if (head === 'npm' && (words[1] ?? '').toLowerCase() === 'config')
|
|
211
|
+
return isReadOnlyNpmConfig(words);
|
|
150
212
|
const subcommands = READ_ONLY_SUBCOMMANDS[head];
|
|
151
213
|
if (subcommands) {
|
|
152
214
|
const sub = (words[1] ?? '').toLowerCase();
|
|
@@ -154,11 +216,7 @@ export function isReadOnlyCommand(command) {
|
|
|
154
216
|
}
|
|
155
217
|
if (!READ_ONLY_COMMANDS.has(head))
|
|
156
218
|
return false;
|
|
157
|
-
|
|
158
|
-
if (head === 'find' && words.some(w => w === '-delete' || w === '-exec' || w === '-execdir')) {
|
|
159
|
-
return false;
|
|
160
|
-
}
|
|
161
|
-
return true;
|
|
219
|
+
return genericReadCommandIsSafe(head, words);
|
|
162
220
|
}
|
|
163
221
|
/**
|
|
164
222
|
* What should happen to one tool call: run it, ask, or refuse.
|
package/dist/permissions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type QualityGateResult } from './quality-gate.js';
|
|
2
|
+
export interface PreflightResult {
|
|
3
|
+
git: boolean;
|
|
4
|
+
staged: number;
|
|
5
|
+
unstaged: number;
|
|
6
|
+
untracked: number;
|
|
7
|
+
whitespacePassed: boolean | null;
|
|
8
|
+
whitespaceOutput?: string;
|
|
9
|
+
quality: QualityGateResult;
|
|
10
|
+
}
|
|
11
|
+
/** A single source of truth for whether the deterministic shipping gate is satisfied. */
|
|
12
|
+
export declare function isPreflightReady(result: PreflightResult): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Deterministic evidence before a commit or review.
|
|
15
|
+
*
|
|
16
|
+
* This is intentionally not a "clean tree" test: a coding session is normally *meant* to have
|
|
17
|
+
* changes. It instead says what is present, catches malformed patches, and runs the project's
|
|
18
|
+
* own verification commands. A model review remains a complementary judgment, not a substitute.
|
|
19
|
+
*/
|
|
20
|
+
export declare function runPreflight(cwd: string): Promise<PreflightResult>;
|
|
21
|
+
/** The last lines contain the actionable compiler/test failure; cap them so a panel stays usable. */
|
|
22
|
+
export declare function diagnosticTail(output: string | undefined, maxLines?: number, maxChars?: number): string | undefined;
|
|
23
|
+
export declare function preflightReport(result: PreflightResult): string;
|
|
24
|
+
//# sourceMappingURL=preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3E,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAGjE;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAsCxE;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAK,EAAE,QAAQ,SAAQ,GAAG,MAAM,GAAG,SAAS,CAI9G;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAwB/D"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { execa } from 'execa';
|
|
2
|
+
import { runQualityGate } from './quality-gate.js';
|
|
3
|
+
import { redactSecrets } from './redact.js';
|
|
4
|
+
/** A single source of truth for whether the deterministic shipping gate is satisfied. */
|
|
5
|
+
export function isPreflightReady(result) {
|
|
6
|
+
return result.git && result.whitespacePassed === true &&
|
|
7
|
+
result.quality.checks.length > 0 && result.quality.passed;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Deterministic evidence before a commit or review.
|
|
11
|
+
*
|
|
12
|
+
* This is intentionally not a "clean tree" test: a coding session is normally *meant* to have
|
|
13
|
+
* changes. It instead says what is present, catches malformed patches, and runs the project's
|
|
14
|
+
* own verification commands. A model review remains a complementary judgment, not a substitute.
|
|
15
|
+
*/
|
|
16
|
+
export async function runPreflight(cwd) {
|
|
17
|
+
const quality = await runQualityGate(cwd, { report: false });
|
|
18
|
+
// Test suites and linters sometimes write coverage or generated fixtures. All Git evidence is
|
|
19
|
+
// gathered after they settle, otherwise one preflight can describe several different trees.
|
|
20
|
+
const [status, unstagedCheck, stagedCheck] = await Promise.all([
|
|
21
|
+
execa('git', ['status', '--porcelain'], { cwd, all: true, reject: false }),
|
|
22
|
+
execa('git', ['diff', '--check', '--no-ext-diff'], { cwd, all: true, reject: false }),
|
|
23
|
+
execa('git', ['diff', '--cached', '--check', '--no-ext-diff'], { cwd, all: true, reject: false }),
|
|
24
|
+
]);
|
|
25
|
+
const git = status.exitCode === 0;
|
|
26
|
+
const entries = git ? (status.all ?? '').split('\n').filter(Boolean) : [];
|
|
27
|
+
const staged = entries.filter(line => !line.startsWith('??') && line[0] && line[0] !== ' ').length;
|
|
28
|
+
const unstaged = entries.filter(line => !line.startsWith('??') && line[1] && line[1] !== ' ').length;
|
|
29
|
+
const untracked = entries.filter(line => line.startsWith('??')).length;
|
|
30
|
+
// `git diff --check` only sees tracked patches. Check each untracked path as a diff against
|
|
31
|
+
// /dev/null too, otherwise a new file with trailing whitespace can slip through a "ready"
|
|
32
|
+
// report. `--no-index` exits 1 merely because files differ; its output is the evidence here.
|
|
33
|
+
const untrackedFiles = git
|
|
34
|
+
? await execa('git', ['ls-files', '--others', '--exclude-standard', '-z'], { cwd, all: true, reject: false })
|
|
35
|
+
.then(r => r.exitCode === 0 ? r.stdout.split('\0').filter(Boolean) : [])
|
|
36
|
+
: [];
|
|
37
|
+
const untrackedChecks = await Promise.all(untrackedFiles.map(file => execa('git', ['diff', '--check', '--no-index', '/dev/null', file], { cwd, all: true, reject: false })));
|
|
38
|
+
const untrackedOutput = untrackedChecks.map(check => check.all ?? '').filter(Boolean).join('\n').trim();
|
|
39
|
+
return {
|
|
40
|
+
git,
|
|
41
|
+
staged,
|
|
42
|
+
unstaged,
|
|
43
|
+
untracked,
|
|
44
|
+
whitespacePassed: git ? unstagedCheck.exitCode === 0 && stagedCheck.exitCode === 0 && !untrackedOutput : null,
|
|
45
|
+
...((unstagedCheck.all || stagedCheck.all || untrackedOutput)
|
|
46
|
+
? { whitespaceOutput: redactSecrets([unstagedCheck.all, stagedCheck.all, untrackedOutput].filter(Boolean).join('\n').trim()) }
|
|
47
|
+
: {}),
|
|
48
|
+
quality,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** The last lines contain the actionable compiler/test failure; cap them so a panel stays usable. */
|
|
52
|
+
export function diagnosticTail(output, maxLines = 18, maxChars = 1_800) {
|
|
53
|
+
const text = redactSecrets(output ?? '').trim();
|
|
54
|
+
if (!text)
|
|
55
|
+
return undefined;
|
|
56
|
+
return text.split('\n').slice(-maxLines).join('\n').slice(-maxChars);
|
|
57
|
+
}
|
|
58
|
+
export function preflightReport(result) {
|
|
59
|
+
const lines = ['**Preflight**'];
|
|
60
|
+
if (!result.git) {
|
|
61
|
+
lines.push('', 'Git: not a repository — patch integrity could not be checked.');
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
lines.push('', `Working tree: ${result.staged} staged · ${result.unstaged} unstaged · ${result.untracked} untracked`);
|
|
65
|
+
lines.push(`Patch whitespace: ${result.whitespacePassed ? 'PASS' : 'FAIL'}`);
|
|
66
|
+
const whitespace = diagnosticTail(result.whitespaceOutput);
|
|
67
|
+
if (whitespace)
|
|
68
|
+
lines.push('```', whitespace, '```');
|
|
69
|
+
}
|
|
70
|
+
if (result.quality.checks.length === 0) {
|
|
71
|
+
lines.push('Quality: no lint or test command detected.');
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
for (const check of result.quality.checks) {
|
|
75
|
+
lines.push(`Quality — ${check.label}: ${check.passed ? 'PASS' : 'FAIL'} (${Math.round(check.durationMs)}ms)`);
|
|
76
|
+
const diagnostic = check.passed ? undefined : diagnosticTail(check.output);
|
|
77
|
+
if (diagnostic)
|
|
78
|
+
lines.push('```', diagnostic, '```');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const ready = isPreflightReady(result);
|
|
82
|
+
lines.push('', ready
|
|
83
|
+
? 'Ready for human review. Run `/review` for an evidence-based code review, then commit when satisfied.'
|
|
84
|
+
: 'Not ready to ship yet. Resolve failures above, then run `/preflight` again.');
|
|
85
|
+
return lines.join('\n');
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
package/dist/refactor.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { AgentConfig } from './types.js';
|
|
2
|
-
|
|
2
|
+
type RefactorOptions = {
|
|
3
|
+
announce?: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare function renameSymbol(symbolName: string, newName: string, cwd: string, options?: RefactorOptions): Promise<{
|
|
3
6
|
filesChanged: string[];
|
|
4
7
|
occurrences: number;
|
|
5
8
|
}>;
|
|
6
|
-
export declare function extractInterface(filePath: string, className: string, cwd: string): Promise<void>;
|
|
7
|
-
export declare function moveSymbol(symbolName: string, fromFile: string, toFile: string, cwd: string): Promise<void>;
|
|
9
|
+
export declare function extractInterface(filePath: string, className: string, cwd: string, options?: RefactorOptions): Promise<void>;
|
|
10
|
+
export declare function moveSymbol(symbolName: string, fromFile: string, toFile: string, cwd: string, options?: RefactorOptions): Promise<void>;
|
|
8
11
|
export declare function splitFile(filePath: string, cwd: string, config: AgentConfig): Promise<void>;
|
|
9
12
|
export declare function runRefactor(action: 'rename' | 'extract' | 'move' | 'split', args: string[], config: AgentConfig): Promise<void>;
|
|
13
|
+
export {};
|
|
10
14
|
//# sourceMappingURL=refactor.d.ts.map
|
package/dist/refactor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactor.d.ts","sourceRoot":"","sources":["../src/refactor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refactor.d.ts","sourceRoot":"","sources":["../src/refactor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,KAAK,eAAe,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAsC9C,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CA+B1D;AAID,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAuCf;AAID,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyGf;AAID,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjG;AAID,wBAAsB,WAAW,CAC/B,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,EAC/C,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
|
package/dist/refactor.js
CHANGED
|
@@ -1,11 +1,50 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
2
3
|
import chalk from 'chalk';
|
|
3
4
|
import { Project, SyntaxKind } from 'ts-morph';
|
|
4
5
|
import { runAgent } from './engine.js';
|
|
6
|
+
/** ESM relative specifier for a TypeScript source path, without awkward `./../` segments. */
|
|
7
|
+
function relativeModuleSpecifier(fromFile, toFile) {
|
|
8
|
+
const rel = path.relative(path.dirname(fromFile), toFile).replace(/\.ts$/, '.js');
|
|
9
|
+
return rel.startsWith('.') ? rel : `./${rel}`;
|
|
10
|
+
}
|
|
11
|
+
/** Native refactors are workspace operations; never let an escape or symlink edit a neighbor. */
|
|
12
|
+
async function workspacePath(cwd, target) {
|
|
13
|
+
const absolute = path.resolve(cwd, target);
|
|
14
|
+
const root = await fs.realpath(cwd).catch(() => path.resolve(cwd));
|
|
15
|
+
// Resolve the target when it exists; for a new destination, resolve its nearest existing parent
|
|
16
|
+
// and retain the missing tail. This catches `workspace/link -> /outside` before any write.
|
|
17
|
+
let probe = absolute;
|
|
18
|
+
const missingTail = [];
|
|
19
|
+
let resolved;
|
|
20
|
+
for (;;) {
|
|
21
|
+
try {
|
|
22
|
+
resolved = await fs.realpath(probe);
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
const parent = path.dirname(probe);
|
|
27
|
+
if (parent === probe) {
|
|
28
|
+
resolved = absolute;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
missingTail.unshift(path.basename(probe));
|
|
32
|
+
probe = parent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const effective = path.join(resolved, ...missingTail);
|
|
36
|
+
const relative = path.relative(root, effective);
|
|
37
|
+
if (relative.startsWith('..') || path.isAbsolute(relative)) {
|
|
38
|
+
throw new Error(`Refactor path must stay inside the workspace: ${target}`);
|
|
39
|
+
}
|
|
40
|
+
return absolute;
|
|
41
|
+
}
|
|
5
42
|
// ─── Rename Symbol ────────────────────────────────────────────────────────────
|
|
6
|
-
export async function renameSymbol(symbolName, newName, cwd) {
|
|
43
|
+
export async function renameSymbol(symbolName, newName, cwd, options = {}) {
|
|
7
44
|
const project = new Project({ tsConfigFilePath: path.join(cwd, 'tsconfig.json') });
|
|
8
|
-
|
|
45
|
+
// ts-morph's rename can update imports and references in files other than the source where the
|
|
46
|
+
// symbol was found. Measure the final project text rather than reporting only that first file.
|
|
47
|
+
const before = new Map(project.getSourceFiles().map(source => [source.getFilePath(), source.getFullText()]));
|
|
9
48
|
let occurrences = 0;
|
|
10
49
|
try {
|
|
11
50
|
for (const sourceFile of project.getSourceFiles()) {
|
|
@@ -16,22 +55,25 @@ export async function renameSymbol(symbolName, newName, cwd) {
|
|
|
16
55
|
occurrences += identifiers.length;
|
|
17
56
|
// rename all via the first node's rename (ts-morph propagates across project)
|
|
18
57
|
identifiers[0].rename(newName);
|
|
19
|
-
changedFiles.add(sourceFile.getFilePath());
|
|
20
58
|
}
|
|
21
59
|
await project.save();
|
|
22
60
|
}
|
|
23
61
|
catch (err) {
|
|
24
62
|
throw new Error(`renameSymbol failed: ${err.message}`);
|
|
25
63
|
}
|
|
26
|
-
const filesChanged =
|
|
27
|
-
|
|
28
|
-
|
|
64
|
+
const filesChanged = project.getSourceFiles()
|
|
65
|
+
.filter(source => source.getFullText() !== before.get(source.getFilePath()))
|
|
66
|
+
.map(source => source.getFilePath());
|
|
67
|
+
if (options.announce !== false) {
|
|
68
|
+
console.log(chalk.green('✔') +
|
|
69
|
+
` Renamed "${symbolName}" → "${newName}" in ${filesChanged.length} files (${occurrences} occurrences)`);
|
|
70
|
+
}
|
|
29
71
|
return { filesChanged, occurrences };
|
|
30
72
|
}
|
|
31
73
|
// ─── Extract Interface ────────────────────────────────────────────────────────
|
|
32
|
-
export async function extractInterface(filePath, className, cwd) {
|
|
74
|
+
export async function extractInterface(filePath, className, cwd, options = {}) {
|
|
33
75
|
const project = new Project({ tsConfigFilePath: path.join(cwd, 'tsconfig.json') });
|
|
34
|
-
const absPath =
|
|
76
|
+
const absPath = await workspacePath(cwd, filePath);
|
|
35
77
|
try {
|
|
36
78
|
const sourceFile = project.getSourceFileOrThrow(absPath);
|
|
37
79
|
const classDecl = sourceFile.getClassOrThrow(className);
|
|
@@ -45,85 +87,130 @@ export async function extractInterface(filePath, className, cwd) {
|
|
|
45
87
|
const interfaceContent = `export interface ${interfaceName} {\n${signatures.join('\n')}\n}\n`;
|
|
46
88
|
const dir = path.dirname(absPath);
|
|
47
89
|
const outPath = path.join(dir, `${interfaceName}.ts`);
|
|
48
|
-
const
|
|
49
|
-
|
|
90
|
+
const exists = await fs.access(outPath).then(() => true).catch(() => false);
|
|
91
|
+
if (exists) {
|
|
92
|
+
throw new Error(`Refusing to overwrite existing interface file ${path.relative(cwd, outPath)}`);
|
|
93
|
+
}
|
|
94
|
+
project.createSourceFile(outPath, interfaceContent, { overwrite: false });
|
|
50
95
|
// Add implements clause to the class
|
|
51
96
|
const relImport = `./${interfaceName}.js`;
|
|
52
97
|
sourceFile.addImportDeclaration({ namedImports: [interfaceName], moduleSpecifier: relImport });
|
|
53
98
|
classDecl.addImplements(interfaceName);
|
|
54
|
-
|
|
99
|
+
// Commit the generated interface and the class update together rather than leaving a new
|
|
100
|
+
// file behind if preparing the source change fails.
|
|
101
|
+
await project.save();
|
|
55
102
|
}
|
|
56
103
|
catch (err) {
|
|
57
104
|
throw new Error(`extractInterface failed: ${err.message}`);
|
|
58
105
|
}
|
|
59
106
|
const relOut = path.relative(cwd, path.join(path.dirname(absPath), `${className}Interface.ts`));
|
|
60
|
-
|
|
107
|
+
if (options.announce !== false)
|
|
108
|
+
console.log(chalk.green('✔') + ` Interface extracted: ${relOut}`);
|
|
61
109
|
}
|
|
62
110
|
// ─── Move Symbol ──────────────────────────────────────────────────────────────
|
|
63
|
-
export async function moveSymbol(symbolName, fromFile, toFile, cwd) {
|
|
111
|
+
export async function moveSymbol(symbolName, fromFile, toFile, cwd, options = {}) {
|
|
64
112
|
const project = new Project({ tsConfigFilePath: path.join(cwd, 'tsconfig.json') });
|
|
65
|
-
const absFrom =
|
|
66
|
-
const absTo =
|
|
113
|
+
const absFrom = await workspacePath(cwd, fromFile);
|
|
114
|
+
const absTo = await workspacePath(cwd, toFile);
|
|
115
|
+
if (path.resolve(absFrom) === path.resolve(absTo)) {
|
|
116
|
+
throw new Error('moveSymbol requires different source and destination files');
|
|
117
|
+
}
|
|
67
118
|
try {
|
|
68
119
|
const src = project.getSourceFileOrThrow(absFrom);
|
|
69
|
-
// Locate
|
|
120
|
+
// Locate a supported top-level declaration. Interfaces, types and enums are just as useful
|
|
121
|
+
// to move as runtime symbols; variables are moved one declaration at a time so siblings in
|
|
122
|
+
// `const a = 1, b = 2` are never discarded.
|
|
123
|
+
const variable = src.getVariableDeclaration(symbolName);
|
|
70
124
|
const decl = src.getFunction(symbolName) ??
|
|
71
125
|
src.getClass(symbolName) ??
|
|
72
|
-
src.
|
|
126
|
+
src.getInterface(symbolName) ??
|
|
127
|
+
src.getTypeAlias(symbolName) ??
|
|
128
|
+
src.getEnum(symbolName) ??
|
|
129
|
+
variable;
|
|
73
130
|
if (!decl)
|
|
74
131
|
throw new Error(`Symbol "${symbolName}" not found in ${fromFile}`);
|
|
132
|
+
const existingDestination = project.getSourceFile(absTo);
|
|
133
|
+
if (existingDestination && (existingDestination.getFunction(symbolName) ||
|
|
134
|
+
existingDestination.getClass(symbolName) ||
|
|
135
|
+
existingDestination.getInterface(symbolName) ||
|
|
136
|
+
existingDestination.getTypeAlias(symbolName) ||
|
|
137
|
+
existingDestination.getEnum(symbolName) ||
|
|
138
|
+
existingDestination.getVariableDeclaration(symbolName))) {
|
|
139
|
+
throw new Error(`Destination ${toFile} already declares "${symbolName}"`);
|
|
140
|
+
}
|
|
75
141
|
const declText = decl.getText();
|
|
76
|
-
const
|
|
142
|
+
const declarationKind = decl.getKind();
|
|
143
|
+
const isVariable = variable !== undefined;
|
|
144
|
+
const variableKind = variable?.getVariableStatementOrThrow().getDeclarationKind();
|
|
77
145
|
const exportedText = isVariable
|
|
78
|
-
? `export
|
|
146
|
+
? `export ${variableKind} ${declText};\n`
|
|
79
147
|
: declText.startsWith('export') ? `${declText}\n` : `export ${declText}\n`;
|
|
80
148
|
// Write to destination (create or append)
|
|
81
|
-
let dest =
|
|
149
|
+
let dest = existingDestination;
|
|
82
150
|
if (!dest) {
|
|
83
151
|
dest = project.createSourceFile(absTo, exportedText, { overwrite: false });
|
|
84
152
|
}
|
|
85
153
|
else {
|
|
86
154
|
dest.addStatements(exportedText);
|
|
87
155
|
}
|
|
88
|
-
await dest.save();
|
|
89
156
|
// Remove original, add re-export
|
|
90
|
-
|
|
91
|
-
|
|
157
|
+
// Every supported declaration has its own remove operation. In particular, removing the
|
|
158
|
+
// VariableDeclaration retains other declarations from the same variable statement.
|
|
159
|
+
decl.remove();
|
|
160
|
+
const relToFrom = relativeModuleSpecifier(absFrom, absTo);
|
|
161
|
+
// `export { symbol } from` preserves the public API but deliberately does not create a local
|
|
162
|
+
// binding. If sibling declarations in this source module still call or reference the symbol,
|
|
163
|
+
// import it back before saving or the move leaves the original file uncompilable.
|
|
164
|
+
const needsLocalBinding = src.getDescendantsOfKind(SyntaxKind.Identifier)
|
|
165
|
+
.some(identifier => identifier.getText() === symbolName);
|
|
166
|
+
if (needsLocalBinding) {
|
|
167
|
+
const typeOnly = declarationKind === SyntaxKind.InterfaceDeclaration || declarationKind === SyntaxKind.TypeAliasDeclaration;
|
|
168
|
+
src.addImportDeclaration({ isTypeOnly: typeOnly, namedImports: [symbolName], moduleSpecifier: relToFrom });
|
|
92
169
|
}
|
|
93
|
-
else {
|
|
94
|
-
(src.getFunction(symbolName) ?? src.getClass(symbolName))?.remove();
|
|
95
|
-
}
|
|
96
|
-
const relToFrom = `./${path.relative(path.dirname(absFrom), absTo).replace(/\.ts$/, '.js')}`;
|
|
97
170
|
src.addExportDeclaration({ namedExports: [symbolName], moduleSpecifier: relToFrom });
|
|
98
|
-
await src.save();
|
|
99
171
|
// Update other files importing from fromFile
|
|
100
|
-
const relFromBase = `./${path.basename(absFrom, '.ts')}.js`;
|
|
101
172
|
for (const sf of project.getSourceFiles()) {
|
|
102
173
|
if (sf.getFilePath() === absFrom || sf.getFilePath() === absTo)
|
|
103
174
|
continue;
|
|
104
175
|
for (const imp of sf.getImportDeclarations()) {
|
|
105
|
-
if (imp.
|
|
176
|
+
if (imp.getModuleSpecifierSourceFile()?.getFilePath() === absFrom) {
|
|
106
177
|
const named = imp.getNamedImports().find(n => n.getName() === symbolName);
|
|
107
178
|
if (!named)
|
|
108
179
|
continue;
|
|
180
|
+
// A local alias and a type-only import are part of the consumer's API contract. Moving
|
|
181
|
+
// a symbol must not turn `import type { Shape as S }` into a runtime `Shape` import.
|
|
182
|
+
const alias = named.getAliasNode()?.getText();
|
|
183
|
+
const isTypeOnly = imp.isTypeOnly() || named.isTypeOnly();
|
|
109
184
|
named.remove();
|
|
110
|
-
|
|
111
|
-
|
|
185
|
+
if (imp.getNamedImports().length === 0 && !imp.getDefaultImport() && !imp.getNamespaceImport()) {
|
|
186
|
+
imp.remove();
|
|
187
|
+
}
|
|
188
|
+
const relToSf = relativeModuleSpecifier(sf.getFilePath(), absTo);
|
|
189
|
+
sf.addImportDeclaration({
|
|
190
|
+
isTypeOnly,
|
|
191
|
+
namedImports: [{ name: symbolName, ...(alias ? { alias } : {}) }],
|
|
192
|
+
moduleSpecifier: relToSf,
|
|
193
|
+
});
|
|
112
194
|
}
|
|
113
195
|
}
|
|
114
|
-
await sf.save();
|
|
115
196
|
}
|
|
197
|
+
// The destination, compatibility re-export, and import rewrites form one refactor. Stage all
|
|
198
|
+
// edits in the project and save together instead of publishing a half-move on an intermediate
|
|
199
|
+
// filesystem error.
|
|
200
|
+
await project.save();
|
|
116
201
|
}
|
|
117
202
|
catch (err) {
|
|
118
203
|
throw new Error(`moveSymbol failed: ${err.message}`);
|
|
119
204
|
}
|
|
120
205
|
const relFrom = path.relative(cwd, absFrom);
|
|
121
206
|
const relTo = path.relative(cwd, absTo);
|
|
122
|
-
|
|
207
|
+
if (options.announce !== false) {
|
|
208
|
+
console.log(chalk.green('✔') + ` Moved "${symbolName}" from ${relFrom} → ${relTo}`);
|
|
209
|
+
}
|
|
123
210
|
}
|
|
124
211
|
// ─── Split File ───────────────────────────────────────────────────────────────
|
|
125
212
|
export async function splitFile(filePath, cwd, config) {
|
|
126
|
-
const absPath =
|
|
213
|
+
const absPath = await workspacePath(cwd, filePath);
|
|
127
214
|
const { createReadStream } = await import('node:fs');
|
|
128
215
|
const { createInterface } = await import('node:readline');
|
|
129
216
|
let lineCount = 0;
|
package/dist/refactor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactor.js","sourceRoot":"","sources":["../src/refactor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"refactor.js","sourceRoot":"","sources":["../src/refactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The optional turn budget for an agent run.
|
|
3
|
+
*
|
|
4
|
+
* A turn count is a deliberately blunt guard. Koneck also watches the failure modes that actually
|
|
5
|
+
* indicate a runaway (repeated calls, empty responses, timeouts and a silent stream), so an
|
|
6
|
+
* absent, zero, or negative value means "do not impose this additional cap".
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveMaxTurns(value: number | undefined): number | null;
|
|
9
|
+
//# sourceMappingURL=run-limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-limits.d.ts","sourceRoot":"","sources":["../src/run-limits.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGxE"}
|