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
package/README.md
CHANGED
|
@@ -68,8 +68,13 @@ koneck --pr "fix the flaky tests" # task + open a PR when done
|
|
|
68
68
|
| `stats` | Show usage statistics |
|
|
69
69
|
| `watch [pattern]` | Watch files matching pattern and re-run on changes |
|
|
70
70
|
| `setup` | Interactive first-run configuration wizard |
|
|
71
|
+
| `auth [status\|login\|logout]` | Inspect, store, or clear Koneck-managed authentication. Logout keeps provider/model preferences and never changes environment variables. |
|
|
71
72
|
| `init` | Generate a KONECK.md for the current project |
|
|
72
73
|
| `completion [shell]` | Print shell completion script (bash/zsh/fish) |
|
|
74
|
+
| `refactor rename <old> <new>` | Rename a TypeScript symbol across the project using its AST. |
|
|
75
|
+
| `refactor extract <file> <Class>` | Extract a class’s public interface without overwriting an existing interface file. |
|
|
76
|
+
| `refactor move <symbol> <from> <to>` | Move a TypeScript declaration and update import sites. |
|
|
77
|
+
| `refactor split <file>` | Ask the active model to split a large file while preserving compatibility exports. |
|
|
73
78
|
| `--sessions` | List recent sessions |
|
|
74
79
|
| `--resume <id>` | Resume a previous session by ID |
|
|
75
80
|
|
|
@@ -78,6 +83,33 @@ koneck --pr "fix the flaky tests" # task + open a PR when done
|
|
|
78
83
|
KONECK verifies changed projects after a coding task by running the detected lint
|
|
79
84
|
and test commands. In chat, run `/quality` at any time to repeat that check.
|
|
80
85
|
|
|
86
|
+
### Interactive workflow
|
|
87
|
+
|
|
88
|
+
The interactive chat has a searchable command palette: type `/` on an empty
|
|
89
|
+
line, then filter, navigate with the arrows, and press Enter. The most useful
|
|
90
|
+
controls for an intentional coding loop are:
|
|
91
|
+
|
|
92
|
+
| Command | What it gives you |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `/goal <outcome>` | Keeps a session objective present across turns, resumes, and forks. |
|
|
95
|
+
| `/changes`, `/diff` | See staged, unstaged, and untracked work before asking for another change. `/diff` renders a bounded patch for new text files too. |
|
|
96
|
+
| `/preflight` | Runs detected quality gates and checks the actual resulting patch, including untracked files. |
|
|
97
|
+
| `/ship` | Runs the readiness gate and, only when it passes, begins an enforced read-only review of the workspace. It never commits for you. |
|
|
98
|
+
| `/review` or `/security-review` | Get evidence-backed, read-only review of the complete workspace diff. |
|
|
99
|
+
| `/checkpoint [name|list]` | Save a named Git restore point for tracked and non-ignored workspace files, including binary files; `list` inspects saved points. |
|
|
100
|
+
| `/revert list` | Inspect automatic edit checkpoints and named restore points. Use `/revert <id> --preview` to see the exact affected paths; named workspace restores require `/revert <id> --confirm` and create an exact undo snapshot first. |
|
|
101
|
+
| `/send <repo> <task>` / `/ask <repo> <question>` | Hand work or a question to another running KONECK session. |
|
|
102
|
+
| `/context`, `/doctor`, `/mcp` | Inspect the live model window, provider health, and available integrations. |
|
|
103
|
+
|
|
104
|
+
`/permissions on` keeps approval prompts for writes and commands; `/permissions off`
|
|
105
|
+
removes that session-level friction, except where workspace policy still requires approval.
|
|
106
|
+
|
|
107
|
+
Use `/logout` in chat (or `koneck auth logout`) to remove only the API key Koneck stored itself.
|
|
108
|
+
It preserves your provider/model preferences and never edits shell environment variables or vaults.
|
|
109
|
+
|
|
110
|
+
Native `refactor` commands operate on TypeScript ASTs and are best paired with
|
|
111
|
+
`/checkpoint` or a Git commit before broad changes, followed by `/preflight`.
|
|
112
|
+
|
|
81
113
|
Every top-level tool operation is also appended to `.koneck/audit/` as a
|
|
82
114
|
structured JSONL event with its timestamp, duration, outcome, and a redacted
|
|
83
115
|
action summary. File contents are never stored in the audit trail. Use
|
package/dist/checkpoint.d.ts
CHANGED
|
@@ -12,7 +12,13 @@ export interface Checkpoint {
|
|
|
12
12
|
label: string;
|
|
13
13
|
timestamp: string;
|
|
14
14
|
files: FileSnapshot[];
|
|
15
|
+
/** Git tree for an explicit whole-workspace restore point (tracked + non-ignored untracked). */
|
|
16
|
+
tree?: string;
|
|
15
17
|
}
|
|
18
|
+
/** Human-readable scope for checkpoint lists; a tree represents the entire workspace. */
|
|
19
|
+
export declare function checkpointScope(checkpoint: Pick<Checkpoint, 'files' | 'tree'>): string;
|
|
20
|
+
/** Creates a named whole-workspace restore point without modifying user files. */
|
|
21
|
+
export declare function createWorkspaceCheckpoint(cwd: string, label: string): Promise<Checkpoint | null>;
|
|
16
22
|
/** Workspace-relative paths a tool call is about to modify. */
|
|
17
23
|
export declare function filesTouchedBy(toolName: string, argsJson: string): string[];
|
|
18
24
|
/**
|
|
@@ -56,6 +62,20 @@ export interface RevertResult {
|
|
|
56
62
|
/** Checkpoint of the pre-revert state, so a revert can itself be undone. */
|
|
57
63
|
undoId: string | null;
|
|
58
64
|
}
|
|
65
|
+
export interface CheckpointPreview {
|
|
66
|
+
/** Files whose current state differs from what this restore point would put back. */
|
|
67
|
+
changes: string[];
|
|
68
|
+
/** Files intentionally not restorable, such as oversized file-tool snapshots. */
|
|
69
|
+
skipped: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Computes a restore's effect without touching user files or creating an undo checkpoint.
|
|
73
|
+
*
|
|
74
|
+
* A checkpoint title is not enough evidence to safely choose an undo point after several agent
|
|
75
|
+
* turns. This uses the same source of truth as `revertCheckpoint`, so preview and apply cannot
|
|
76
|
+
* drift into describing different files.
|
|
77
|
+
*/
|
|
78
|
+
export declare function previewCheckpoint(cwd: string, checkpoint: Checkpoint): Promise<CheckpointPreview>;
|
|
59
79
|
/**
|
|
60
80
|
* Restores every file in a checkpoint. The current state is captured first, so an unwanted
|
|
61
81
|
* revert can be reverted in turn.
|
package/dist/checkpoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,CAEtF;AAED,kFAAkF;AAClF,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAItG;AAqBD,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAW3E;AAgBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIrD;AAED,qFAAqF;AACrF,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFhE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE5B,GAAG,EAAE,MAAM,EAAmB,KAAK,EAAE,MAAM;IAExE,8FAA8F;IACxF,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhD,IAAI,IAAI,IAAI,MAAM,CAA4B;IAE9C,4FAA4F;IAC5F,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAE7B;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,4EAA4E;IACtE,MAAM,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAe3C;AAeD,uFAAuF;AACvF,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBtE;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,oBAAoB;AACpB,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAaxE;AASD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuBvG;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAqDjG"}
|
package/dist/checkpoint.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
|
+
import { createWriteStream } from 'fs';
|
|
2
3
|
import os from 'os';
|
|
3
4
|
import path from 'path';
|
|
5
|
+
import { spawn } from 'child_process';
|
|
6
|
+
import { pipeline } from 'stream/promises';
|
|
4
7
|
import { execa } from 'execa';
|
|
8
|
+
import { redactSecrets } from './redact.js';
|
|
5
9
|
/**
|
|
6
10
|
* File-level undo for agent edits.
|
|
7
11
|
*
|
|
@@ -17,6 +21,32 @@ import { execa } from 'execa';
|
|
|
17
21
|
const CHECKPOINT_DIR = path.join('.koneck', 'checkpoints');
|
|
18
22
|
const MAX_CHECKPOINTS = 20;
|
|
19
23
|
const MAX_SNAPSHOT_BYTES = 2 * 1024 * 1024; // skip files too large to hold in a snapshot
|
|
24
|
+
/** Human-readable scope for checkpoint lists; a tree represents the entire workspace. */
|
|
25
|
+
export function checkpointScope(checkpoint) {
|
|
26
|
+
return checkpoint.tree ? 'workspace snapshot' : `${checkpoint.files.length} file(s)`;
|
|
27
|
+
}
|
|
28
|
+
/** Creates a named whole-workspace restore point without modifying user files. */
|
|
29
|
+
export async function createWorkspaceCheckpoint(cwd, label) {
|
|
30
|
+
const tree = await snapshotTree(cwd);
|
|
31
|
+
if (!tree)
|
|
32
|
+
return null;
|
|
33
|
+
return persistWorkspaceCheckpoint(cwd, label, tree);
|
|
34
|
+
}
|
|
35
|
+
/** Persists an already-captured Git tree as an exact workspace restore point. */
|
|
36
|
+
async function persistWorkspaceCheckpoint(cwd, label, tree) {
|
|
37
|
+
const now = new Date();
|
|
38
|
+
const checkpoint = {
|
|
39
|
+
id: now.toISOString().replace(/[-:.TZ]/g, '').slice(0, 14) + '-' + Math.random().toString(36).slice(2, 6),
|
|
40
|
+
label: redactSecrets(label.trim()).slice(0, 120) || 'manual restore point',
|
|
41
|
+
timestamp: now.toISOString(),
|
|
42
|
+
files: [],
|
|
43
|
+
tree,
|
|
44
|
+
};
|
|
45
|
+
await fs.mkdir(checkpointDir(cwd), { recursive: true });
|
|
46
|
+
await fs.writeFile(path.join(checkpointDir(cwd), checkpoint.id + '.json'), JSON.stringify(checkpoint, null, 2), 'utf-8');
|
|
47
|
+
await pruneCheckpoints(cwd);
|
|
48
|
+
return checkpoint;
|
|
49
|
+
}
|
|
20
50
|
/** Tools whose effects on specific files can be captured before they run. */
|
|
21
51
|
const FILE_TOOLS = new Set(['write_file', 'search_replace', 'apply_diff', 'delete_file', 'move_file']);
|
|
22
52
|
/** Workspace-relative paths a tool call is about to modify. */
|
|
@@ -113,7 +143,7 @@ export class CheckpointRecorder {
|
|
|
113
143
|
const now = new Date();
|
|
114
144
|
const checkpoint = {
|
|
115
145
|
id: now.toISOString().replace(/[-:.TZ]/g, '').slice(0, 14) + '-' + Math.random().toString(36).slice(2, 6),
|
|
116
|
-
label: this.label.slice(0, 120),
|
|
146
|
+
label: redactSecrets(this.label).slice(0, 120),
|
|
117
147
|
timestamp: now.toISOString(),
|
|
118
148
|
files: [...this.files.values()],
|
|
119
149
|
};
|
|
@@ -138,9 +168,14 @@ export class CheckpointRecorder {
|
|
|
138
168
|
// recoverable here.
|
|
139
169
|
/** Captures the full working tree (including untracked files) as a git tree object. */
|
|
140
170
|
export async function snapshotTree(cwd) {
|
|
141
|
-
|
|
142
|
-
|
|
171
|
+
// A predictable file directly under /tmp can collide with another Koneck process and is an
|
|
172
|
+
// unnecessary symlink surface. mkdtemp creates a private, unique directory atomically; Git's
|
|
173
|
+
// index and short-lived index.lock then remain contained within it.
|
|
174
|
+
let indexDir;
|
|
143
175
|
try {
|
|
176
|
+
indexDir = await fs.mkdtemp(path.join(os.tmpdir(), 'koneck-index-'));
|
|
177
|
+
const indexFile = path.join(indexDir, 'index');
|
|
178
|
+
const env = { ...process.env, GIT_INDEX_FILE: indexFile };
|
|
144
179
|
// A missing repo makes this fail fast, which is the signal to skip command capture.
|
|
145
180
|
await execa('git', ['add', '-A'], { cwd, env, timeout: 30_000 });
|
|
146
181
|
const { stdout } = await execa('git', ['write-tree'], { cwd, env, timeout: 30_000 });
|
|
@@ -151,7 +186,8 @@ export async function snapshotTree(cwd) {
|
|
|
151
186
|
return null; // not a git repo, or git unavailable
|
|
152
187
|
}
|
|
153
188
|
finally {
|
|
154
|
-
|
|
189
|
+
if (indexDir)
|
|
190
|
+
await fs.rm(indexDir, { recursive: true, force: true }).catch(() => { });
|
|
155
191
|
}
|
|
156
192
|
}
|
|
157
193
|
/**
|
|
@@ -220,7 +256,7 @@ export async function listCheckpoints(cwd) {
|
|
|
220
256
|
const raw = await fs.readFile(path.join(dir, name), 'utf-8');
|
|
221
257
|
const parsed = JSON.parse(raw);
|
|
222
258
|
if (parsed.id && Array.isArray(parsed.files))
|
|
223
|
-
out.push(parsed);
|
|
259
|
+
out.push({ ...parsed, label: redactSecrets(parsed.label ?? '') });
|
|
224
260
|
}
|
|
225
261
|
catch { /* ignore an unreadable checkpoint rather than failing the listing */ }
|
|
226
262
|
}
|
|
@@ -232,16 +268,94 @@ async function pruneCheckpoints(cwd) {
|
|
|
232
268
|
await fs.rm(path.join(checkpointDir(cwd), stale.id + '.json'), { force: true }).catch(() => { });
|
|
233
269
|
}
|
|
234
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Computes a restore's effect without touching user files or creating an undo checkpoint.
|
|
273
|
+
*
|
|
274
|
+
* A checkpoint title is not enough evidence to safely choose an undo point after several agent
|
|
275
|
+
* turns. This uses the same source of truth as `revertCheckpoint`, so preview and apply cannot
|
|
276
|
+
* drift into describing different files.
|
|
277
|
+
*/
|
|
278
|
+
export async function previewCheckpoint(cwd, checkpoint) {
|
|
279
|
+
if (checkpoint.tree) {
|
|
280
|
+
const changed = await changedSinceTree(cwd, checkpoint.tree);
|
|
281
|
+
// Koneck bookkeeping is excluded from restore by design. It is not an uncertainty the user
|
|
282
|
+
// needs to resolve, and showing a fresh checkpoint JSON in every preview is pure noise in a
|
|
283
|
+
// repository whose ignore rules have not been initialized yet.
|
|
284
|
+
return { changes: changed.filter(rel => !isAgentState(rel)), skipped: [] };
|
|
285
|
+
}
|
|
286
|
+
const changes = [];
|
|
287
|
+
const skipped = [];
|
|
288
|
+
for (const file of checkpoint.files) {
|
|
289
|
+
if (file.skipped) {
|
|
290
|
+
skipped.push(file.path);
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
const abs = path.resolve(cwd, file.path);
|
|
294
|
+
if (!isInside(cwd, abs)) {
|
|
295
|
+
skipped.push(file.path);
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
const current = await fs.readFile(abs, 'utf-8');
|
|
300
|
+
if (!file.existed || current !== file.content)
|
|
301
|
+
changes.push(file.path);
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
if (file.existed)
|
|
305
|
+
changes.push(file.path);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return { changes, skipped };
|
|
309
|
+
}
|
|
235
310
|
/**
|
|
236
311
|
* Restores every file in a checkpoint. The current state is captured first, so an unwanted
|
|
237
312
|
* revert can be reverted in turn.
|
|
238
313
|
*/
|
|
239
314
|
export async function revertCheckpoint(cwd, checkpoint) {
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
315
|
+
const treePaths = checkpoint.tree ? await changedSinceTree(cwd, checkpoint.tree) : [];
|
|
316
|
+
const restorePaths = checkpoint.tree ? treePaths : checkpoint.files.map(file => file.path);
|
|
317
|
+
let undoId = null;
|
|
318
|
+
if (checkpoint.tree) {
|
|
319
|
+
// A workspace restore may include binary files. Its undo must be a Git tree too, rather than
|
|
320
|
+
// a text-only recorder that would silently lose those bytes.
|
|
321
|
+
const undoTree = await snapshotTree(cwd);
|
|
322
|
+
if (undoTree && undoTree !== checkpoint.tree) {
|
|
323
|
+
undoId = (await persistWorkspaceCheckpoint(cwd, 'before revert of ' + checkpoint.id, undoTree)).id;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
const undo = new CheckpointRecorder(cwd, 'before revert of ' + checkpoint.id);
|
|
328
|
+
for (const file of restorePaths)
|
|
329
|
+
await undo.capture(file);
|
|
330
|
+
undoId = (await undo.commit())?.id ?? null;
|
|
331
|
+
}
|
|
332
|
+
const result = { restored: [], deleted: [], skipped: [], undoId };
|
|
333
|
+
if (checkpoint.tree) {
|
|
334
|
+
for (const rel of treePaths) {
|
|
335
|
+
if (isAgentState(rel)) {
|
|
336
|
+
result.skipped.push(rel);
|
|
337
|
+
continue;
|
|
338
|
+
}
|
|
339
|
+
const abs = path.resolve(cwd, rel);
|
|
340
|
+
if (!isInside(cwd, abs)) {
|
|
341
|
+
result.skipped.push(rel);
|
|
342
|
+
continue;
|
|
343
|
+
}
|
|
344
|
+
const outcome = await restoreTreeBlob(cwd, checkpoint.tree, rel, abs);
|
|
345
|
+
if (outcome === 'restored') {
|
|
346
|
+
result.restored.push(rel);
|
|
347
|
+
}
|
|
348
|
+
else if (outcome === 'missing') {
|
|
349
|
+
await fs.rm(abs, { force: true }).catch(() => { });
|
|
350
|
+
result.deleted.push(rel);
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
// Never delete or truncate the current file when Git cannot provide a replacement.
|
|
354
|
+
result.skipped.push(rel);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return result;
|
|
358
|
+
}
|
|
245
359
|
for (const file of checkpoint.files) {
|
|
246
360
|
const abs = path.resolve(cwd, file.path);
|
|
247
361
|
if (!isInside(cwd, abs)) {
|
|
@@ -265,4 +379,49 @@ export async function revertCheckpoint(cwd, checkpoint) {
|
|
|
265
379
|
}
|
|
266
380
|
return result;
|
|
267
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Restores one blob without buffering it in memory. A named workspace snapshot intentionally has
|
|
384
|
+
* no lightweight-checkpoint byte ceiling: source maps, media fixtures, model assets and generated
|
|
385
|
+
* artifacts should restore exactly when the user explicitly saved a workspace restore point.
|
|
386
|
+
*/
|
|
387
|
+
async function restoreTreeBlob(cwd, tree, rel, destination) {
|
|
388
|
+
const spec = `${tree}:${rel}`;
|
|
389
|
+
try {
|
|
390
|
+
await execa('git', ['cat-file', '-e', spec], { cwd });
|
|
391
|
+
}
|
|
392
|
+
catch {
|
|
393
|
+
return 'missing';
|
|
394
|
+
}
|
|
395
|
+
await fs.mkdir(path.dirname(destination), { recursive: true });
|
|
396
|
+
const temporary = path.join(path.dirname(destination), `.${path.basename(destination)}.koneck-restore-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`);
|
|
397
|
+
try {
|
|
398
|
+
const child = spawn('git', ['cat-file', 'blob', spec], { cwd, stdio: ['ignore', 'pipe', 'ignore'] });
|
|
399
|
+
const closed = new Promise(resolve => child.once('close', resolve));
|
|
400
|
+
await pipeline(child.stdout, createWriteStream(temporary, { flags: 'wx' }));
|
|
401
|
+
const exitCode = await closed;
|
|
402
|
+
if (exitCode !== 0)
|
|
403
|
+
return 'failed';
|
|
404
|
+
await fs.rename(temporary, destination);
|
|
405
|
+
return 'restored';
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
return 'failed';
|
|
409
|
+
}
|
|
410
|
+
finally {
|
|
411
|
+
await fs.rm(temporary, { force: true }).catch(() => { });
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/** Paths whose current working-tree state differs from an explicit restore-point tree. */
|
|
415
|
+
async function changedSinceTree(cwd, tree) {
|
|
416
|
+
const current = await snapshotTree(cwd);
|
|
417
|
+
if (!current || current === tree)
|
|
418
|
+
return [];
|
|
419
|
+
try {
|
|
420
|
+
const { stdout } = await execa('git', ['diff-tree', '-r', '--name-only', '--no-commit-id', tree, current], { cwd });
|
|
421
|
+
return stdout.split('\n').map(line => line.trim()).filter(Boolean);
|
|
422
|
+
}
|
|
423
|
+
catch {
|
|
424
|
+
return [];
|
|
425
|
+
}
|
|
426
|
+
}
|
|
268
427
|
//# sourceMappingURL=checkpoint.js.map
|
package/dist/checkpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;GAWG;AAEH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3D,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,6CAA6C;AAqBzF,yFAAyF;AACzF,MAAM,UAAU,eAAe,CAAC,UAA8C;IAC5E,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC;AACvF,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAW,EAAE,KAAa;IACxE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,0BAA0B,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY;IAChF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,UAAU,GAAe;QAC7B,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACzG,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,sBAAsB;QAC1E,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;QAC5B,KAAK,EAAE,EAAE;QACT,IAAI;KACL,CAAC;IACF,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzH,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvG,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,QAAgB;IAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,CAAC;QAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IACpF,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAU,EAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAG,sDAAsD;IAClF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;WACjD,IAAI,KAAK,MAAM,IAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,qFAAqF;AACrF,MAAM,OAAO,kBAAkB;IAGA;IAA8B;IAF1C,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzD,YAA6B,GAAW,EAAmB,KAAa;QAA3C,QAAG,GAAH,GAAG,CAAQ;QAAmB,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE5E,8FAA8F;IAC9F,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,OAAO;QACrC,wFAAwF;QACxF,qFAAqF;QACrF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO;YAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,+EAA+E;YAC/E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9C,4FAA4F;IAC5F,GAAG,CAAC,OAAe,IAAa,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjE;;;OAGG;IACH,WAAW,CAAC,QAAsB;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAe;YAC7B,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACzG,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC9C,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAChC,CAAC;QACF,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1G,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,iFAAiF;AACjF,EAAE;AACF,uFAAuF;AACvF,4FAA4F;AAC5F,wFAAwF;AACxF,2FAA2F;AAC3F,2DAA2D;AAC3D,EAAE;AACF,uFAAuF;AACvF,4FAA4F;AAC5F,uFAAuF;AACvF,oBAAoB;AAEpB,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,2FAA2F;IAC3F,6FAA6F;IAC7F,oEAAoE;IACpE,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;QAC1D,oFAAoF;QACpF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAuB,qCAAqC;IAC1E,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ;YAAE,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAW,EACX,QAA4B,EAC5B,UAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAEtD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAC5B,KAAK,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,CAAC,EAClF,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CACzB,CAAC;QACF,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC;YAAE,SAAS,CAAG,mCAAmC;QAC3F,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC;YACH,qFAAqF;YACrF,sFAAsF;YACtF,iDAAiD;YACjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,EAAE;gBAClF,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB;gBACnD,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;aAC7C,CAAC,CAAC;YACH,qFAAqF;YACrF,gFAAgF;YAChF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAA+B,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,sFAAsF;gBACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kFAAkF;YAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QAAC,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC3D,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC;YAC7C,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;QAAC,MAAM,CAAC,CAAC,qEAAqE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAiBD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,UAAsB;IACzE,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7D,2FAA2F;QAC3F,4FAA4F;QAC5F,+DAA+D;QAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,UAAsB;IACxE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,6FAA6F;QAC7F,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,GAAG,CAAC,MAAM,0BAA0B,CAAC,GAAG,EAAE,mBAAmB,GAAG,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,KAAK,MAAM,IAAI,IAAI,YAAY;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAEhF,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,mFAAmF;gBACnF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACtE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,8EAA8E;YAC9E,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAC5B,GAAW,EACX,IAAY,EACZ,GAAW,EACX,WAAmB;IAEnB,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CACvH,CAAC;IACF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,MAAM,GAAG,IAAI,OAAO,CAAgB,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC9B,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACvD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACpH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An optional critique cannot erase the result of a completed coding turn.
|
|
3
|
+
*
|
|
4
|
+
* Keep the warning actionable, but redact it because provider errors occasionally echo request
|
|
5
|
+
* details and this text becomes part of a persisted session transcript.
|
|
6
|
+
*/
|
|
7
|
+
export declare function selfCritiqueSkippedNotice(error: unknown): string;
|
|
8
|
+
//# sourceMappingURL=completion-notices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-notices.d.ts","sourceRoot":"","sources":["../src/completion-notices.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKhE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { redactSecrets } from './redact.js';
|
|
2
|
+
/**
|
|
3
|
+
* An optional critique cannot erase the result of a completed coding turn.
|
|
4
|
+
*
|
|
5
|
+
* Keep the warning actionable, but redact it because provider errors occasionally echo request
|
|
6
|
+
* details and this text becomes part of a persisted session transcript.
|
|
7
|
+
*/
|
|
8
|
+
export function selfCritiqueSkippedNotice(error) {
|
|
9
|
+
const detail = redactSecrets(error instanceof Error ? error.message : String(error)).trim();
|
|
10
|
+
return 'Self-critique could not run; the completed task and its checkpoints were kept. ' +
|
|
11
|
+
'Run `/review` or `/quality` when the provider is available again.' +
|
|
12
|
+
(detail ? ` Detail: ${detail}` : '');
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=completion-notices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-notices.js","sourceRoot":"","sources":["../src/completion-notices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,OAAO,iFAAiF;QACtF,mEAAmE;QACnE,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/config-store.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,WAAW,QAAuC,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAQ,MAAM,CAAC;IACxB,KAAK,CAAC,EAAW,MAAM,CAAC;IACxB,OAAO,CAAC,EAAS,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAQ,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,WAAW,CAAC,EAAK,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAQ,MAAM,CAAC;IACxB,SAAS,CAAC,EAAO,OAAO,CAAC;IACzB,aAAa,CAAC,EAAG,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,MAAM,CAAC,EAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,oFAAoF;IACpF,SAAS,CAAC,EAAO,OAAO,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,WAAW,QAAuC,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAQ,MAAM,CAAC;IACxB,KAAK,CAAC,EAAW,MAAM,CAAC;IACxB,OAAO,CAAC,EAAS,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,WAAW,CAAC,EAAM,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAQ,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,WAAW,CAAC,EAAK,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAQ,MAAM,CAAC;IACxB,SAAS,CAAC,EAAO,OAAO,CAAC;IACzB,aAAa,CAAC,EAAG,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,MAAM,CAAC,EAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,oFAAoF;IACpF,SAAS,CAAC,EAAO,OAAO,CAAC;CAC1B;AA+BD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAM9D;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE;AAOD,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCvG;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/D;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9D;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,sFAAsF;IACtF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EA8B/C,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAY1F;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAInD"}
|
package/dist/config-store.js
CHANGED
|
@@ -6,7 +6,7 @@ import { normaliseEndpoint, withEndpoint, withModel } from './endpoints.js';
|
|
|
6
6
|
const CONFIG_DIR = path.join(os.homedir(), '.koneck');
|
|
7
7
|
const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
|
|
8
8
|
const ALLOWED_KEYS = [
|
|
9
|
-
'provider', 'model', 'baseURL', 'requireApproval', 'maxTurns', 'effort', 'personality', 'budget',
|
|
9
|
+
'provider', 'model', 'baseURL', 'requireApproval', 'useWorktree', 'maxTurns', 'effort', 'personality', 'budget',
|
|
10
10
|
'maxWidth', 'altScreen', 'contextTokens',
|
|
11
11
|
'agentConcurrency', 'endpoints', 'models', 'leanTools',
|
|
12
12
|
];
|
|
@@ -17,6 +17,8 @@ const KEY_DESCRIPTIONS = {
|
|
|
17
17
|
baseURL: 'Endpoint for the provider in use — saved against that provider, so each one ' +
|
|
18
18
|
'keeps its own address',
|
|
19
19
|
requireApproval: 'Require approval before tool calls (true/false)',
|
|
20
|
+
useWorktree: 'Run future top-level CLI tasks in an isolated Git worktree branch (true/false). ' +
|
|
21
|
+
'An active chat remains in its current workspace.',
|
|
20
22
|
maxTurns: 'Turn limit per task; unset or 0 means no limit (number)',
|
|
21
23
|
contextTokens: 'The model\'s context window, when you know it better than KONECK does. ' +
|
|
22
24
|
'Compaction happens at three quarters of this (number)',
|
|
@@ -80,7 +82,7 @@ export async function setConfigKey(key, value) {
|
|
|
80
82
|
return { ok: false, error: `Unknown key "${key}". Allowed: ${ALLOWED_KEYS.join(', ')}` };
|
|
81
83
|
}
|
|
82
84
|
const cfg = await loadKoneckConfig();
|
|
83
|
-
if (key === 'requireApproval') {
|
|
85
|
+
if (key === 'requireApproval' || key === 'useWorktree' || key === 'leanTools' || key === 'altScreen') {
|
|
84
86
|
cfg[key] = value === 'true' || value === '1' || value === 'yes';
|
|
85
87
|
}
|
|
86
88
|
else if (key === 'maxTurns' || key === 'budget') {
|
|
@@ -127,6 +129,8 @@ export const CONFIG_SCHEMA = [
|
|
|
127
129
|
type: { kind: 'choice', choices: ['default', 'friendly', 'minimal'] }, clearable: true },
|
|
128
130
|
{ key: 'requireApproval', label: 'Approve tool calls', description: KEY_DESCRIPTIONS['requireApproval'],
|
|
129
131
|
type: { kind: 'boolean' }, clearable: false },
|
|
132
|
+
{ key: 'useWorktree', label: 'Isolate CLI tasks', description: KEY_DESCRIPTIONS['useWorktree'],
|
|
133
|
+
type: { kind: 'boolean' }, clearable: false },
|
|
130
134
|
{ key: 'maxTurns', label: 'Turn limit', description: KEY_DESCRIPTIONS['maxTurns'],
|
|
131
135
|
// Clearable, because no limit is the default and the way back to it must be visible.
|
|
132
136
|
type: { kind: 'number', min: 0, max: 100_000 }, clearable: true },
|
package/dist/config-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,UAAU,GAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -19,6 +19,15 @@ export interface KoneckFileConfig {
|
|
|
19
19
|
export declare function globalConfigPath(): string;
|
|
20
20
|
export declare function loadGlobalConfig(): Promise<KoneckFileConfig>;
|
|
21
21
|
export declare function saveGlobalConfig(cfg: KoneckFileConfig): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Writes a configuration that may hold an API key. Explicit permissions are essential because a
|
|
24
|
+
* permissive umask (for example 0002 on a shared development machine) otherwise creates a
|
|
25
|
+
* group-readable credential file. The atomic replacement also avoids following a hostile
|
|
26
|
+
* symlink at the config path or leaving a partially-written credentials file after a crash.
|
|
27
|
+
*/
|
|
28
|
+
export declare function writePrivateConfigFile(file: string, cfg: KoneckFileConfig): Promise<void>;
|
|
29
|
+
/** Logout removes only a credential Koneck persisted; provider and workflow preferences remain. */
|
|
30
|
+
export declare function withoutStoredApiKey(cfg: KoneckFileConfig): KoneckFileConfig;
|
|
22
31
|
/**
|
|
23
32
|
* Nearest project config found by walking up from startDir. Unlike loadConfig this does not
|
|
24
33
|
* fall back to the global file, so callers can order project settings above global ones.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAOlE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/F;AAED,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAG3E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYnF;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmB5E"}
|
package/dist/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
|
+
import { randomUUID } from 'crypto';
|
|
2
3
|
import os from 'os';
|
|
3
4
|
import path from 'path';
|
|
4
5
|
const CONFIG_FILENAMES = ['.koneckrc', '.koneckrc.json', 'koneck.config.json'];
|
|
@@ -15,7 +16,33 @@ export async function loadGlobalConfig() {
|
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
export async function saveGlobalConfig(cfg) {
|
|
18
|
-
await
|
|
19
|
+
await writePrivateConfigFile(globalConfigPath(), cfg);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Writes a configuration that may hold an API key. Explicit permissions are essential because a
|
|
23
|
+
* permissive umask (for example 0002 on a shared development machine) otherwise creates a
|
|
24
|
+
* group-readable credential file. The atomic replacement also avoids following a hostile
|
|
25
|
+
* symlink at the config path or leaving a partially-written credentials file after a crash.
|
|
26
|
+
*/
|
|
27
|
+
export async function writePrivateConfigFile(file, cfg) {
|
|
28
|
+
const directory = path.dirname(file);
|
|
29
|
+
const temporaryFile = path.join(directory, `.${path.basename(file)}.${randomUUID()}.tmp`);
|
|
30
|
+
const contents = JSON.stringify(cfg, null, 2) + '\n';
|
|
31
|
+
try {
|
|
32
|
+
await fs.writeFile(temporaryFile, contents, { encoding: 'utf-8', mode: 0o600, flag: 'wx' });
|
|
33
|
+
await fs.chmod(temporaryFile, 0o600);
|
|
34
|
+
await fs.rename(temporaryFile, file);
|
|
35
|
+
await fs.chmod(file, 0o600);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
await fs.rm(temporaryFile, { force: true }).catch(() => undefined);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Logout removes only a credential Koneck persisted; provider and workflow preferences remain. */
|
|
43
|
+
export function withoutStoredApiKey(cfg) {
|
|
44
|
+
const { apiKey: _apiKey, ...preferences } = cfg;
|
|
45
|
+
return preferences;
|
|
19
46
|
}
|
|
20
47
|
/**
|
|
21
48
|
* Nearest project config found by walking up from startDir. Unlike loadConfig this does not
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAqBxB,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;AAE/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAqB;IAC1D,MAAM,EAAE,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|