codedeck 0.4.2 → 0.5.1

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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/cli/charts/stacked-bar.js +2 -1
  4. package/dist/cli/charts/stacked-bar.js.map +1 -1
  5. package/dist/cli/commands/doctor.js +10 -2
  6. package/dist/cli/commands/doctor.js.map +1 -1
  7. package/dist/cli/commands/open.js +182 -38
  8. package/dist/cli/commands/open.js.map +1 -1
  9. package/dist/cli/commands/profile.js +191 -0
  10. package/dist/cli/commands/profile.js.map +1 -0
  11. package/dist/cli/commands/run.js +36 -5
  12. package/dist/cli/commands/run.js.map +1 -1
  13. package/dist/cli/commands/setup.js +175 -23
  14. package/dist/cli/commands/setup.js.map +1 -1
  15. package/dist/cli/commands/web.js +22 -1
  16. package/dist/cli/commands/web.js.map +1 -1
  17. package/dist/cli/index.js +2 -0
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/usage/dashboard.js +12 -7
  20. package/dist/cli/usage/dashboard.js.map +1 -1
  21. package/dist/config/config.js +82 -2
  22. package/dist/config/config.js.map +1 -1
  23. package/dist/daemon/daemon.js +1 -0
  24. package/dist/daemon/daemon.js.map +1 -1
  25. package/dist/drivers/codex/parser.js +14 -10
  26. package/dist/drivers/codex/parser.js.map +1 -1
  27. package/dist/git/review.js +357 -0
  28. package/dist/git/review.js.map +1 -0
  29. package/dist/open/contract.js.map +1 -1
  30. package/dist/open/launchers/claude.js +8 -2
  31. package/dist/open/launchers/claude.js.map +1 -1
  32. package/dist/open/launchers/codex.js +236 -0
  33. package/dist/open/launchers/codex.js.map +1 -0
  34. package/dist/plugin/agents/auditor.md +2 -0
  35. package/dist/plugin/agents/general.md +10 -2
  36. package/dist/plugin/agents/orchestrator-edit.md +10 -2
  37. package/dist/plugin/agents/orchestrator-read.md +10 -2
  38. package/dist/plugin/agents/orchestrator.md +18 -3
  39. package/dist/plugin/prompts/_partials/dispatch.md +2 -0
  40. package/dist/plugin/prompts/_partials/reports-dispatch.md +5 -0
  41. package/dist/plugin/prompts/_partials/reports-general.md +5 -0
  42. package/dist/plugin/prompts/_partials/spec-gates.md +6 -0
  43. package/dist/plugin/prompts/_partials/worktree.md +1 -1
  44. package/dist/plugin/prompts/roles/general.md +1 -0
  45. package/dist/plugin/prompts/roles/orchestrator-edit.md +1 -0
  46. package/dist/plugin/prompts/roles/orchestrator-read.md +1 -0
  47. package/dist/plugin/prompts/roles/orchestrator.md +3 -1
  48. package/dist/web/canvas-page.js +79 -33
  49. package/dist/web/canvas-page.js.map +1 -1
  50. package/dist/web/review-page.js +664 -0
  51. package/dist/web/review-page.js.map +1 -0
  52. package/package.json +1 -1
@@ -0,0 +1,357 @@
1
+ import { execFile } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import fs from "node:fs";
4
+ import path from "node:path";
5
+ const execFileAsync = promisify(execFile);
6
+ export const REVIEW_MAX_FILES = 500;
7
+ export const REVIEW_MAX_FILE_BYTES = 200 * 1024;
8
+ export const REVIEW_PATCH_MAX_BYTES = 2 * 1024 * 1024;
9
+ const HUNK_RE = /^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(.*)$/;
10
+ function unquoteGitPath(raw) {
11
+ const t = raw.trim();
12
+ if (t.startsWith('"') && t.endsWith('"')) {
13
+ try {
14
+ return JSON.parse(t);
15
+ }
16
+ catch {
17
+ return t.slice(1, -1);
18
+ }
19
+ }
20
+ return t;
21
+ }
22
+ function stripPrefix(p) {
23
+ if (p === "/dev/null")
24
+ return p;
25
+ if (p.startsWith("a/") || p.startsWith("b/"))
26
+ return p.slice(2);
27
+ return p;
28
+ }
29
+ /** Split `diff --git a/x b/y` into its two raw paths (quote-aware). */
30
+ function splitDiffGitArgs(rest) {
31
+ // Walk two tokens manually so quoted paths with spaces survive; anything
32
+ // that does not yield exactly two tokens is not a file header we parse.
33
+ const tokens = [];
34
+ let i = 0;
35
+ while (i < rest.length && tokens.length < 2) {
36
+ while (i < rest.length && rest[i] === " ")
37
+ i++;
38
+ if (i >= rest.length)
39
+ break;
40
+ if (rest[i] === '"') {
41
+ let j = i + 1;
42
+ while (j < rest.length && rest[j] !== '"')
43
+ j += rest[j] === "\\" ? 2 : 1;
44
+ tokens.push(rest.slice(i, j + 1));
45
+ i = j + 1;
46
+ }
47
+ else {
48
+ let j = i;
49
+ while (j < rest.length && rest[j] !== " ")
50
+ j++;
51
+ tokens.push(rest.slice(i, j));
52
+ i = j;
53
+ }
54
+ }
55
+ if (tokens.length !== 2)
56
+ return null;
57
+ return [tokens[0], tokens[1]];
58
+ }
59
+ /**
60
+ * Parse a unified diff into per-file hunks with old/new line numbers.
61
+ * Pure: no git, no fs. Unknown preamble lines are skipped.
62
+ */
63
+ export function parseUnifiedDiff(patch) {
64
+ const files = [];
65
+ let cur = null;
66
+ let hunk = null;
67
+ let oldNo = 0;
68
+ let newNo = 0;
69
+ let oldName = null;
70
+ let newName = null;
71
+ const flushFile = () => {
72
+ if (cur) {
73
+ // Status refinement from ---/+++ when no name-status map is available.
74
+ if (oldName === "/dev/null" && newName !== "/dev/null")
75
+ cur.status = "added";
76
+ else if (newName === "/dev/null" && oldName !== "/dev/null")
77
+ cur.status = "deleted";
78
+ files.push(cur);
79
+ }
80
+ cur = null;
81
+ hunk = null;
82
+ oldName = null;
83
+ newName = null;
84
+ };
85
+ for (const raw of patch.split("\n")) {
86
+ const line = raw.endsWith("\r") ? raw.slice(0, -1) : raw;
87
+ if (line.startsWith("diff --git ")) {
88
+ flushFile();
89
+ const args = splitDiffGitArgs(line.slice("diff --git ".length));
90
+ const a = args ? stripPrefix(unquoteGitPath(args[0])) : "unknown";
91
+ const b = args ? stripPrefix(unquoteGitPath(args[1])) : "unknown";
92
+ cur = { path: b, oldPath: a, status: "modified", hunks: [], binary: false, tooLarge: false };
93
+ continue;
94
+ }
95
+ if (!cur)
96
+ continue;
97
+ if (line.startsWith("Binary files ")) {
98
+ cur.binary = true;
99
+ continue;
100
+ }
101
+ if (line.startsWith("--- ")) {
102
+ oldName = stripPrefix(unquoteGitPath(line.slice(4).split("\t")[0]));
103
+ continue;
104
+ }
105
+ if (line.startsWith("+++ ")) {
106
+ newName = stripPrefix(unquoteGitPath(line.slice(4).split("\t")[0]));
107
+ if (oldName !== null && newName !== null) {
108
+ if (oldName !== "/dev/null" && newName !== "/dev/null" && oldName !== newName) {
109
+ cur.oldPath = oldName;
110
+ cur.path = newName;
111
+ cur.status = "renamed";
112
+ }
113
+ else if (newName !== "/dev/null") {
114
+ cur.path = newName;
115
+ }
116
+ }
117
+ continue;
118
+ }
119
+ const hm = HUNK_RE.exec(line);
120
+ if (hm) {
121
+ const oldStart = Number(hm[1]);
122
+ const oldCount = hm[2] === undefined ? 1 : Number(hm[2]);
123
+ const newStart = Number(hm[3]);
124
+ const newCount = hm[4] === undefined ? 1 : Number(hm[4]);
125
+ hunk = { header: line, oldStart, oldCount, newStart, newCount, lines: [] };
126
+ cur.hunks.push(hunk);
127
+ oldNo = oldStart;
128
+ newNo = newStart;
129
+ continue;
130
+ }
131
+ if (!hunk)
132
+ continue;
133
+ if (line.startsWith("\\"))
134
+ continue; // ""
135
+ const marker = line[0];
136
+ const text = line.slice(1);
137
+ if (marker === " ") {
138
+ hunk.lines.push({ type: "context", oldNo, newNo, text });
139
+ oldNo++;
140
+ newNo++;
141
+ }
142
+ else if (marker === "+") {
143
+ hunk.lines.push({ type: "add", oldNo: null, newNo, text });
144
+ newNo++;
145
+ }
146
+ else if (marker === "-") {
147
+ hunk.lines.push({ type: "del", oldNo, newNo: null, text });
148
+ oldNo++;
149
+ }
150
+ // Anything else inside a hunk body is ignored (defensive, not a guess:
151
+ // malformed hunks simply yield fewer lines rather than wrong numbers).
152
+ }
153
+ flushFile();
154
+ return files;
155
+ }
156
+ const LANG_BY_EXT = {
157
+ ts: "ts",
158
+ tsx: "tsx",
159
+ js: "js",
160
+ jsx: "jsx",
161
+ mjs: "js",
162
+ cjs: "js",
163
+ mts: "ts",
164
+ cts: "ts",
165
+ py: "py",
166
+ go: "go",
167
+ rs: "rust",
168
+ java: "java",
169
+ rb: "ruby",
170
+ php: "php",
171
+ swift: "swift",
172
+ kt: "kotlin",
173
+ cs: "csharp",
174
+ c: "c",
175
+ h: "c",
176
+ cpp: "cpp",
177
+ hpp: "cpp",
178
+ css: "css",
179
+ scss: "scss",
180
+ html: "html",
181
+ xml: "xml",
182
+ json: "json",
183
+ yaml: "yaml",
184
+ yml: "yaml",
185
+ toml: "toml",
186
+ md: "md",
187
+ sh: "bash",
188
+ sql: "sql",
189
+ };
190
+ export function languageForPath(p) {
191
+ const base = p.split("/").pop() ?? p;
192
+ if (base === "Dockerfile" || base.startsWith("Dockerfile."))
193
+ return "dockerfile";
194
+ const dot = base.lastIndexOf(".");
195
+ if (dot < 0)
196
+ return "";
197
+ return LANG_BY_EXT[base.slice(dot + 1).toLowerCase()] ?? "";
198
+ }
199
+ /**
200
+ * One copyable block per line comment: `file:line` anchor, quoted code,
201
+ * free text. The line anchor uses the new-file number (what the reader
202
+ * sees in the working tree); deleted lines fall back to the old number
203
+ * and are marked with a `-` in the quote. A multi-line selection anchors
204
+ * as `file:start-end` with the selected lines quoted in order.
205
+ */
206
+ export function formatReviewComment(input) {
207
+ const lang = languageForPath(input.file);
208
+ const quoted = input.code
209
+ .replace(/\n$/, "")
210
+ .split("\n")
211
+ .map((l) => `> ${l}`)
212
+ .join("\n");
213
+ const span = input.endLine !== undefined && input.endLine !== input.line ? `${input.line}-${input.endLine}` : `${input.line}`;
214
+ const head = `\`${input.file}:${span}\``;
215
+ const fence = `\`\`\`${lang}`.replace(/\s+$/, "");
216
+ const mark = input.deleted ? "> - (deleted line)\n" : "";
217
+ const body = input.body.trim();
218
+ return `${head}\n${mark}> ${fence}\n${quoted}\n> \`\`\`\n${body}`;
219
+ }
220
+ async function sh(file, args, cwd) {
221
+ const { stdout } = await execFileAsync(file, args, { cwd, maxBuffer: 16 * 1024 * 1024 });
222
+ return stdout;
223
+ }
224
+ /** `git diff --name-status -z` → status map (new path → entry). */
225
+ async function readStatusMap(root, ref) {
226
+ const map = new Map();
227
+ let out;
228
+ try {
229
+ out = await sh("git", ["diff", "--name-status", "-z", ref, "--"], root);
230
+ }
231
+ catch {
232
+ return map;
233
+ }
234
+ const parts = out.split("\0").filter((p) => p.length > 0);
235
+ for (let i = 0; i < parts.length; i++) {
236
+ const code = parts[i];
237
+ if (code.startsWith("R")) {
238
+ const oldPath = parts[i + 1] ?? "";
239
+ const newPath = parts[i + 2] ?? "";
240
+ map.set(newPath, { status: "renamed", oldPath });
241
+ i += 2;
242
+ }
243
+ else {
244
+ const p = parts[i + 1] ?? "";
245
+ const status = code.startsWith("A") ? "added" : code.startsWith("D") ? "deleted" : "modified";
246
+ map.set(p, { status, oldPath: p });
247
+ i += 1;
248
+ }
249
+ }
250
+ return map;
251
+ }
252
+ function synthesizeUntracked(root, rel) {
253
+ const abs = path.join(root, rel);
254
+ let stat;
255
+ try {
256
+ stat = fs.statSync(abs);
257
+ }
258
+ catch {
259
+ return null;
260
+ }
261
+ if (!stat.isFile())
262
+ return null;
263
+ if (stat.size > REVIEW_MAX_FILE_BYTES) {
264
+ return { path: rel, oldPath: rel, status: "added", hunks: [], binary: false, tooLarge: true };
265
+ }
266
+ let content;
267
+ try {
268
+ content = fs.readFileSync(abs, "utf8");
269
+ }
270
+ catch {
271
+ return { path: rel, oldPath: rel, status: "added", hunks: [], binary: true, tooLarge: false };
272
+ }
273
+ if (content.includes("\0")) {
274
+ return { path: rel, oldPath: rel, status: "added", hunks: [], binary: true, tooLarge: false };
275
+ }
276
+ const items = content.replace(/\n$/, "").split("\n");
277
+ const lines = items.map((text, idx) => ({ type: "add", oldNo: null, newNo: idx + 1, text }));
278
+ return {
279
+ path: rel,
280
+ oldPath: rel,
281
+ status: "added",
282
+ hunks: [{ header: `@@ -0,0 +1,${lines.length} @@`, oldStart: 0, oldCount: 0, newStart: 1, newCount: lines.length, lines }],
283
+ binary: false,
284
+ tooLarge: false,
285
+ };
286
+ }
287
+ /**
288
+ * Local review source of truth: `git diff <ref>` (working tree vs ref,
289
+ * which already covers staged + unstaged) plus untracked files.
290
+ * Throws when cwd is not inside a git repo.
291
+ */
292
+ export async function getLocalReview(cwd, opts = {}) {
293
+ const ref = (opts.ref ?? "HEAD").trim() || "HEAD";
294
+ if (ref.startsWith("-") || ref.length > 128 || /[\0\n]/.test(ref)) {
295
+ throw new Error(`invalid ref: ${ref}`);
296
+ }
297
+ let root;
298
+ try {
299
+ root = (await sh("git", ["rev-parse", "--show-toplevel"], cwd)).trim();
300
+ }
301
+ catch {
302
+ throw new Error(`not a git repository: ${cwd}`);
303
+ }
304
+ let base = null;
305
+ try {
306
+ base = (await sh("git", ["rev-parse", "--verify", `${ref}^{commit}`], root)).trim();
307
+ }
308
+ catch {
309
+ base = null;
310
+ }
311
+ const fileArgs = opts.file ? ["--", opts.file] : ["--"];
312
+ let patch = "";
313
+ try {
314
+ // Forced prefixes: user-level diff.srcPrefix/dstPrefix/noprefix config
315
+ // must not leak into the parse (seen in the wild as c//w/ prefixes).
316
+ patch = await sh("git", ["-c", "diff.noprefix=false", "diff", "--no-color", "--no-ext-diff", "--unified=3", "--src-prefix=a/", "--dst-prefix=b/", ref, ...fileArgs], root);
317
+ }
318
+ catch {
319
+ patch = "";
320
+ }
321
+ if (patch.length > REVIEW_PATCH_MAX_BYTES) {
322
+ return { root, ref, base, files: [], truncated: true };
323
+ }
324
+ const statusMap = opts.file ? new Map() : await readStatusMap(root, ref);
325
+ let files = parseUnifiedDiff(patch);
326
+ for (const f of files) {
327
+ const entry = statusMap.get(f.path);
328
+ if (entry) {
329
+ f.status = entry.status;
330
+ f.oldPath = entry.oldPath;
331
+ }
332
+ }
333
+ if (!opts.file) {
334
+ try {
335
+ const out = await sh("git", ["ls-files", "--others", "--exclude-standard", "-z"], root);
336
+ const untracked = out.split("\0").filter(Boolean);
337
+ for (const rel of untracked) {
338
+ if (files.some((f) => f.path === rel))
339
+ continue;
340
+ const synth = synthesizeUntracked(root, rel);
341
+ if (synth)
342
+ files.push(synth);
343
+ }
344
+ }
345
+ catch {
346
+ // Untracked listing is best-effort; tracked diff above still stands.
347
+ }
348
+ }
349
+ files.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
350
+ let truncated = false;
351
+ if (files.length > REVIEW_MAX_FILES) {
352
+ files = files.slice(0, REVIEW_MAX_FILES);
353
+ truncated = true;
354
+ }
355
+ return { root, ref, base, files, truncated };
356
+ }
357
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/git/review.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/open/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/open/contract.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ import { detectBinary } from "../../drivers/helpers.js";
7
7
  import { getRegistry } from "../../drivers/registry.js";
8
8
  import { autocompactArgs } from "../../core/autocompact.js";
9
9
  import { getCachedOrDiscoverModels } from "../../core/models.js";
10
+ import { parseEffort } from "../../core/driver.js";
10
11
  import { catalogWarning, judgeModelIn, readUltra } from "../contract.js";
11
12
  import { composeOrchestratorProse } from "../orchestrator-prose.js";
12
13
  import { errorDetails, sanitizeEnv, shellQuote, spinnerTips, SPINNER_VERBS, } from "../runtime.js";
13
14
  export const DEFAULT_MODEL = "claude-opus-4-8";
14
- export const DEFAULT_EFFORT = "xhigh";
15
15
  const PLUGIN_NAME = "codedeck";
16
16
  const THEME_REF = `custom:${PLUGIN_NAME}:codedeck-ultra`;
17
17
  /**
@@ -86,11 +86,17 @@ export function buildOpenArgs(role, flags, pluginDir, passthrough, cwd, mode = D
86
86
  ? `${PLUGIN_NAME}:${role}`
87
87
  : `${PLUGIN_NAME}:orchestrator${mode.tools === "dispatch" ? "" : `-${mode.tools}`}`;
88
88
  const autocompact = flags.autocompact ?? (config.autocompact === undefined ? false : undefined);
89
+ // No fallback here: the caller always resolves --effort, the role binding
90
+ // or fails loud before reaching the launcher.
91
+ if (flags.effort === undefined) {
92
+ throw new Error(`No effort configured for role "${role}". Run setup to choose one or pass --effort.`);
93
+ }
94
+ const effort = parseEffort(flags.effort);
89
95
  const args = [
90
96
  "--model",
91
97
  flags.model ?? DEFAULT_MODEL,
92
98
  "--effort",
93
- flags.effort ?? DEFAULT_EFFORT,
99
+ effort,
94
100
  // Remote Control is interactive-only. It requires a subscribed Claude
95
101
  // account and a prior workspace-trust dialog.
96
102
  ...(flags.remoteControl !== false ? ["--remote-control"] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/open/launchers/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/open/launchers/claude.ts"],"names":[],"mappings":"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"}