codedeck 0.7.0 → 0.7.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 (121) hide show
  1. package/README.md +49 -34
  2. package/dist/cli/commands/claims.js +3 -2
  3. package/dist/cli/commands/claims.js.map +1 -1
  4. package/dist/cli/commands/doctor.js +8 -40
  5. package/dist/cli/commands/doctor.js.map +1 -1
  6. package/dist/cli/commands/logs.js +2 -2
  7. package/dist/cli/commands/logs.js.map +1 -1
  8. package/dist/cli/commands/open.js +8 -9
  9. package/dist/cli/commands/open.js.map +1 -1
  10. package/dist/cli/commands/ps.js +6 -6
  11. package/dist/cli/commands/ps.js.map +1 -1
  12. package/dist/cli/commands/review.js +36 -58
  13. package/dist/cli/commands/review.js.map +1 -1
  14. package/dist/cli/commands/run.js +27 -27
  15. package/dist/cli/commands/run.js.map +1 -1
  16. package/dist/cli/commands/setup.js +96 -314
  17. package/dist/cli/commands/setup.js.map +1 -1
  18. package/dist/cli/commands/show.js +2 -1
  19. package/dist/cli/commands/show.js.map +1 -1
  20. package/dist/cli/commands/ui.js +61 -0
  21. package/dist/cli/commands/ui.js.map +1 -0
  22. package/dist/cli/commands/usage.js +65 -42
  23. package/dist/cli/commands/usage.js.map +1 -1
  24. package/dist/cli/commands/wait.js +3 -2
  25. package/dist/cli/commands/wait.js.map +1 -1
  26. package/dist/cli/index.js +55 -39
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/web-launch.js +126 -0
  29. package/dist/cli/web-launch.js.map +1 -0
  30. package/dist/config/config.js +0 -70
  31. package/dist/config/config.js.map +1 -1
  32. package/dist/config/paths.js +1 -0
  33. package/dist/config/paths.js.map +1 -1
  34. package/dist/config/setup.js +248 -0
  35. package/dist/config/setup.js.map +1 -0
  36. package/dist/config/web-host.js +31 -0
  37. package/dist/config/web-host.js.map +1 -0
  38. package/dist/config/web-port.js +24 -0
  39. package/dist/config/web-port.js.map +1 -0
  40. package/dist/core/claude-transcript.js +87 -0
  41. package/dist/core/claude-transcript.js.map +1 -1
  42. package/dist/core/errors.js +17 -0
  43. package/dist/core/errors.js.map +1 -1
  44. package/dist/core/models.js +4 -1
  45. package/dist/core/models.js.map +1 -1
  46. package/dist/core/pricing.js +73 -50
  47. package/dist/core/pricing.js.map +1 -1
  48. package/dist/core/roles.js +6 -5
  49. package/dist/core/roles.js.map +1 -1
  50. package/dist/core/run-skills.js +114 -0
  51. package/dist/core/run-skills.js.map +1 -0
  52. package/dist/core/run-usage.js +4 -1
  53. package/dist/core/run-usage.js.map +1 -1
  54. package/dist/core/session.js +6 -16
  55. package/dist/core/session.js.map +1 -1
  56. package/dist/core/usage-query.js +41 -0
  57. package/dist/core/usage-query.js.map +1 -0
  58. package/dist/daemon/build-id.js +30 -0
  59. package/dist/daemon/build-id.js.map +1 -0
  60. package/dist/daemon/daemon.js +1116 -767
  61. package/dist/daemon/daemon.js.map +1 -1
  62. package/dist/daemon/instance-lock.js +48 -0
  63. package/dist/daemon/instance-lock.js.map +1 -0
  64. package/dist/daemon/web-supervisor.js +251 -0
  65. package/dist/daemon/web-supervisor.js.map +1 -0
  66. package/dist/drivers/claude/driver.js +1 -0
  67. package/dist/drivers/claude/driver.js.map +1 -1
  68. package/dist/drivers/codex/driver.js +14 -3
  69. package/dist/drivers/codex/driver.js.map +1 -1
  70. package/dist/drivers/codex/host-skills.js +57 -0
  71. package/dist/drivers/codex/host-skills.js.map +1 -0
  72. package/dist/drivers/opencode/driver.js +6 -2
  73. package/dist/drivers/opencode/driver.js.map +1 -1
  74. package/dist/drivers/session-runtime.js +2 -0
  75. package/dist/drivers/session-runtime.js.map +1 -1
  76. package/dist/drivers/terminal.js +15 -0
  77. package/dist/drivers/terminal.js.map +1 -1
  78. package/dist/git/diff.js +29 -4
  79. package/dist/git/diff.js.map +1 -1
  80. package/dist/open/contract.js.map +1 -1
  81. package/dist/open/pty.js +330 -5
  82. package/dist/open/pty.js.map +1 -1
  83. package/dist/plugin/agents/general.md +33 -6
  84. package/dist/plugin/hooks/pane-ticker.ts +102 -0
  85. package/dist/plugin/hooks/register.tsx +33 -8
  86. package/dist/plugin/mods/agents/pane.ts +259 -136
  87. package/dist/plugin/mods/agents/types.ts +19 -3
  88. package/dist/plugin/statusline.sh +22 -34
  89. package/dist/store/database.js +5 -1
  90. package/dist/store/database.js.map +1 -1
  91. package/dist/store/sessions.js +55 -12
  92. package/dist/store/sessions.js.map +1 -1
  93. package/dist/utils/process.js +2 -16
  94. package/dist/utils/process.js.map +1 -1
  95. package/dist/web/brand.js +59 -0
  96. package/dist/web/brand.js.map +1 -0
  97. package/dist/web/child.js +67 -0
  98. package/dist/web/child.js.map +1 -0
  99. package/dist/web/home-page.js +48 -0
  100. package/dist/web/home-page.js.map +1 -0
  101. package/dist/web/review-page.js +12 -5
  102. package/dist/web/review-page.js.map +1 -1
  103. package/dist/web/security.js +170 -0
  104. package/dist/web/security.js.map +1 -0
  105. package/dist/web/server.js +198 -0
  106. package/dist/web/server.js.map +1 -0
  107. package/dist/web/setup-icons.js +37 -0
  108. package/dist/web/setup-icons.js.map +1 -0
  109. package/dist/web/setup-page.js +1795 -0
  110. package/dist/web/setup-page.js.map +1 -0
  111. package/dist/web/setup-routes.js +475 -0
  112. package/dist/web/setup-routes.js.map +1 -0
  113. package/dist/web/usage-page.js +609 -0
  114. package/dist/web/usage-page.js.map +1 -0
  115. package/dist/web/usage-routes.js +88 -0
  116. package/dist/web/usage-routes.js.map +1 -0
  117. package/dist/web/web-token.js +56 -0
  118. package/dist/web/web-token.js.map +1 -0
  119. package/package.json +1 -1
  120. package/dist/plugin/prompts/_partials/commit.md +0 -145
  121. package/dist/plugin/prompts/_partials/pr-writer.md +0 -186
package/dist/git/diff.js CHANGED
@@ -55,11 +55,30 @@ export async function getDiff(options) {
55
55
  diff = "No diff available";
56
56
  }
57
57
  }
58
+ const untrackedFilesArgs = [
59
+ "ls-files",
60
+ "--others",
61
+ "--exclude-standard",
62
+ "--full-name",
63
+ "-z",
64
+ ":/",
65
+ ];
66
+ let untrackedFiles = "";
67
+ if (base) {
68
+ try {
69
+ const { stdout } = await execFileAsync("git", untrackedFilesArgs, { cwd });
70
+ untrackedFiles = stdout;
71
+ }
72
+ catch { }
73
+ }
74
+ const untrackedPaths = untrackedFiles.split("\0").filter(Boolean);
58
75
  try {
59
76
  if (base) {
60
77
  const { stdout } = await execFileAsync("git", ["diff", "--stat", `${base}...HEAD`], { cwd });
61
78
  const { stdout: wdStat } = await execFileAsync("git", ["diff", "--stat"], { cwd });
62
- stat = [stdout, wdStat].filter(Boolean).join("\n");
79
+ const { stdout: stagedStat } = await execFileAsync("git", ["diff", "--cached", "--stat"], { cwd });
80
+ const untrackedStat = untrackedPaths.map((file) => `${file} | untracked`).join("\n");
81
+ stat = [stdout, wdStat, stagedStat, untrackedStat].filter(Boolean).join("\n");
63
82
  }
64
83
  else {
65
84
  const { stdout } = await execFileAsync("git", ["diff", "--stat", "HEAD"], { cwd });
@@ -71,9 +90,15 @@ export async function getDiff(options) {
71
90
  }
72
91
  try {
73
92
  if (base) {
74
- const { stdout } = await execFileAsync("git", ["diff", "--name-only", `${base}...HEAD`], { cwd });
75
- const { stdout: wd } = await execFileAsync("git", ["diff", "--name-only"], { cwd });
76
- const all = new Set([...stdout.split("\n").filter(Boolean), ...wd.split("\n").filter(Boolean)]);
93
+ const { stdout } = await execFileAsync("git", ["diff", "--name-only", "-z", `${base}...HEAD`], { cwd });
94
+ const { stdout: wd } = await execFileAsync("git", ["diff", "--name-only", "-z"], { cwd });
95
+ const { stdout: staged } = await execFileAsync("git", ["diff", "--cached", "--name-only", "-z"], { cwd });
96
+ const all = new Set([
97
+ ...stdout.split("\0").filter(Boolean),
98
+ ...wd.split("\0").filter(Boolean),
99
+ ...staged.split("\0").filter(Boolean),
100
+ ...untrackedPaths,
101
+ ]);
77
102
  files = [...all];
78
103
  }
79
104
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/git/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/git/diff.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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"}
package/dist/open/pty.js CHANGED
@@ -30,6 +30,268 @@ const NAME_SUFFIX = ".name";
30
30
  const INTERRUPT_KEY = 0x03;
31
31
  const FALLBACK_ROWS = 24;
32
32
  const FALLBACK_COLUMNS = 80;
33
+ const QUIET_MS = 300;
34
+ const BRACKETED_PASTE_START = "\u001b[200~";
35
+ const BRACKETED_PASTE_END = "\u001b[201~";
36
+ const KITTY_ESC = "\u001b[27u";
37
+ const SGR_MOUSE_START = "\u001b[<";
38
+ const SGR_MOUSE_REPORT = /^\u001b\[<[0-9]+;[0-9]+;[0-9]+[Mm]$/;
39
+ // Matching terminal replies needs ESC and BEL in the pattern.
40
+ const TERMINAL_REPLY = /^(?:(?:\u001bP[^\u001b]*\u001b\\)|(?:\u001b\][^\u001b\u0007]*(?:\u0007|\u001b\\))|(?:\u001b\[[?>][0-?]*[ -/]*(?:c|\$y|u|R|n)))+$/; // NOSONAR
41
+ /**
42
+ * Claude Code shares its input line between user keys and `/rename`. The name
43
+ * can arrive while someone is typing, turning "Bora tamb" into
44
+ * "Bora tamb/rename XPto xyz" and submitting both as one prompt. Hold the
45
+ * rename until the input is clean and the user has been quiet for 300 ms.
46
+ * Tracing is on by default under `sessionsDir()`. Set `CODEDECK_PTY_DEBUG` to
47
+ * an absolute path to choose another file, or to `off` or `0` to disable it.
48
+ */
49
+ export function createInputGate(options) {
50
+ const schedule = options.setTimeout ?? globalThis.setTimeout;
51
+ const cancel = options.clearTimeout ?? globalThis.clearTimeout;
52
+ const now = options.now ?? Date.now;
53
+ const record = options.trace
54
+ ? (event) => {
55
+ try {
56
+ options.trace?.(event);
57
+ }
58
+ catch { }
59
+ }
60
+ : undefined;
61
+ let dirty = false;
62
+ let pending;
63
+ let used = false;
64
+ let disposed = false;
65
+ let inPaste = false;
66
+ let escapeCandidate = "";
67
+ let sgrMouseCandidate = false;
68
+ let dirtyBeforeEscape = false;
69
+ let previousByteBeforeEscape;
70
+ let guardNextEnter = false;
71
+ let previousInputWasKittyEsc = false;
72
+ let previousByte;
73
+ let lastActivity = now();
74
+ let timer;
75
+ const state = () => ({
76
+ dirty,
77
+ guard: guardNextEnter,
78
+ pending: pending !== undefined,
79
+ used,
80
+ });
81
+ const recordState = (kind, extra = {}) => {
82
+ if (!record)
83
+ return;
84
+ record({ kind, ...state(), ...extra });
85
+ };
86
+ const recordInput = (chunk, ignored) => {
87
+ if (!record)
88
+ return;
89
+ record({ kind: "input", chunk: chunk.toString("hex"), ignored, ...state() });
90
+ };
91
+ const clearTimer = () => {
92
+ if (timer !== undefined)
93
+ cancel(timer);
94
+ timer = undefined;
95
+ };
96
+ const tryInject = () => {
97
+ timer = undefined;
98
+ if (used) {
99
+ recordState("hold", { reason: "used" });
100
+ return;
101
+ }
102
+ if (pending === undefined) {
103
+ recordState("hold", { reason: "no-pending" });
104
+ return;
105
+ }
106
+ if (dirty) {
107
+ recordState("hold", { reason: "dirty" });
108
+ return;
109
+ }
110
+ used = true;
111
+ const keystrokes = pending;
112
+ pending = undefined;
113
+ options.inject(keystrokes);
114
+ recordState("inject");
115
+ };
116
+ const scheduleQuiet = () => {
117
+ clearTimer();
118
+ const remaining = Math.max(0, QUIET_MS - (now() - lastActivity));
119
+ if (remaining === 0)
120
+ tryInject();
121
+ else
122
+ timer = schedule(tryInject, remaining);
123
+ };
124
+ const markDirty = () => {
125
+ dirty = true;
126
+ };
127
+ const isSubmit = (byte, previousByte, inPaste) => byte === 0x0d && !inPaste && previousByte !== 0x5c && previousByte !== 0x1b;
128
+ const observeEnter = () => {
129
+ dirty = guardNextEnter;
130
+ guardNextEnter = false;
131
+ };
132
+ const isSgrMousePrefix = (candidate) => {
133
+ if (!candidate.startsWith(SGR_MOUSE_START))
134
+ return false;
135
+ const body = candidate.slice(SGR_MOUSE_START.length);
136
+ if (SGR_MOUSE_REPORT.test(candidate))
137
+ return true;
138
+ if (!/^[0-9;]*$/.test(body))
139
+ return false;
140
+ const fields = body.split(";");
141
+ return fields.length <= 3 && fields.slice(0, -1).every(Boolean);
142
+ };
143
+ const flushUnknownEscape = (byte, chunkState) => {
144
+ // Unrecognised escape sequences can edit earlier text, so guard the next Enter.
145
+ if (escapeCandidate !== "\u001b\r")
146
+ guardNextEnter = true;
147
+ previousInputWasKittyEsc = false;
148
+ const candidate = Buffer.from(escapeCandidate);
149
+ const retryEscape = byte === 0x1b;
150
+ const flush = retryEscape ? candidate.subarray(0, -1) : candidate;
151
+ for (const candidateByte of flush) {
152
+ if (isSubmit(candidateByte, previousByte, inPaste))
153
+ observeEnter();
154
+ else
155
+ markDirty();
156
+ previousByte = candidateByte;
157
+ }
158
+ escapeCandidate = retryEscape ? String.fromCharCode(byte) : "";
159
+ sgrMouseCandidate = false;
160
+ if (retryEscape) {
161
+ dirtyBeforeEscape = dirty;
162
+ previousByteBeforeEscape = previousByte;
163
+ chunkState.escapeStartedInChunk = true;
164
+ }
165
+ };
166
+ const observeByte = (byte, chunkState) => {
167
+ const char = String.fromCharCode(byte);
168
+ if (escapeCandidate !== "") {
169
+ escapeCandidate += char;
170
+ const isStart = BRACKETED_PASTE_START.startsWith(escapeCandidate);
171
+ const isEnd = BRACKETED_PASTE_END.startsWith(escapeCandidate);
172
+ const isKittyEsc = KITTY_ESC.startsWith(escapeCandidate);
173
+ if (escapeCandidate === "\u001b[I" || escapeCandidate === "\u001b[O") {
174
+ if (chunkState.escapeStartedInChunk) {
175
+ escapeCandidate = "";
176
+ dirty = dirtyBeforeEscape;
177
+ previousByte = previousByteBeforeEscape;
178
+ return false;
179
+ }
180
+ flushUnknownEscape(byte, chunkState);
181
+ previousByte = byte;
182
+ return true;
183
+ }
184
+ else if (escapeCandidate === BRACKETED_PASTE_START) {
185
+ inPaste = true;
186
+ escapeCandidate = "";
187
+ previousInputWasKittyEsc = false;
188
+ markDirty();
189
+ return true;
190
+ }
191
+ else if (escapeCandidate === BRACKETED_PASTE_END) {
192
+ inPaste = false;
193
+ escapeCandidate = "";
194
+ previousInputWasKittyEsc = false;
195
+ markDirty();
196
+ return true;
197
+ }
198
+ else if (escapeCandidate === KITTY_ESC) {
199
+ escapeCandidate = "";
200
+ if (previousInputWasKittyEsc)
201
+ guardNextEnter = true;
202
+ previousInputWasKittyEsc = !previousInputWasKittyEsc;
203
+ markDirty();
204
+ return true;
205
+ }
206
+ else if (escapeCandidate === SGR_MOUSE_START && !inPaste) {
207
+ sgrMouseCandidate = true;
208
+ }
209
+ else if (sgrMouseCandidate) {
210
+ if (SGR_MOUSE_REPORT.test(escapeCandidate)) {
211
+ escapeCandidate = "";
212
+ sgrMouseCandidate = false;
213
+ dirty = dirtyBeforeEscape;
214
+ previousByte = previousByteBeforeEscape;
215
+ return false;
216
+ }
217
+ if (isSgrMousePrefix(escapeCandidate)) {
218
+ previousByte = byte;
219
+ return false;
220
+ }
221
+ flushUnknownEscape(byte, chunkState);
222
+ previousByte = byte;
223
+ return true;
224
+ }
225
+ else if (!isStart && !isEnd && !isKittyEsc) {
226
+ flushUnknownEscape(byte, chunkState);
227
+ previousByte = byte;
228
+ return true;
229
+ }
230
+ previousByte = byte;
231
+ return false;
232
+ }
233
+ if (byte === 0x1b) {
234
+ dirtyBeforeEscape = dirty;
235
+ previousByteBeforeEscape = previousByte;
236
+ escapeCandidate = char;
237
+ chunkState.escapeStartedInChunk = true;
238
+ markDirty();
239
+ previousByte = byte;
240
+ return false;
241
+ }
242
+ if (isSubmit(byte, previousByte, inPaste)) {
243
+ previousInputWasKittyEsc = false;
244
+ observeEnter();
245
+ }
246
+ else {
247
+ previousInputWasKittyEsc = false;
248
+ markDirty();
249
+ if (byte < 0x20 && byte !== 0x08 && byte !== 0x09 && byte !== 0x0a && byte !== 0x0d) {
250
+ // An unknown control may drive a suggestion menu, so treat it like an unknown escape.
251
+ guardNextEnter = true;
252
+ }
253
+ }
254
+ previousByte = byte;
255
+ return true;
256
+ };
257
+ return {
258
+ observe(chunk) {
259
+ if (disposed)
260
+ return;
261
+ if (chunk.equals(Buffer.from("\u001b[I")) || chunk.equals(Buffer.from("\u001b[O"))) {
262
+ recordInput(chunk, "focus");
263
+ return;
264
+ }
265
+ if (TERMINAL_REPLY.test(chunk.toString("latin1"))) {
266
+ recordInput(chunk, "reply");
267
+ return;
268
+ }
269
+ const observedAt = now();
270
+ const chunkState = { escapeStartedInChunk: false };
271
+ let hasActivity = false;
272
+ for (const byte of chunk)
273
+ hasActivity = observeByte(byte, chunkState) || hasActivity;
274
+ if (hasActivity)
275
+ lastActivity = observedAt;
276
+ recordInput(chunk, null);
277
+ scheduleQuiet();
278
+ },
279
+ offer(keystrokes) {
280
+ if (disposed || used || pending !== undefined) {
281
+ recordState("offer", { accepted: false });
282
+ return;
283
+ }
284
+ pending = keystrokes;
285
+ recordState("offer", { accepted: true });
286
+ scheduleQuiet();
287
+ },
288
+ dispose() {
289
+ disposed = true;
290
+ pending = undefined;
291
+ clearTimer();
292
+ },
293
+ };
294
+ }
33
295
  export function ptyShimPath(pluginDir) {
34
296
  return path.join(pluginDir, SHIM_FILE);
35
297
  }
@@ -175,12 +437,29 @@ export function watchNameSidecar(sessionFile, onName) {
175
437
  };
176
438
  }
177
439
  export function startPtySession(options) {
440
+ const startedAt = process.hrtime.bigint();
441
+ const traceSetting = options.debugFile ?? process.env.CODEDECK_PTY_DEBUG;
442
+ const sessions = sessionsDir();
443
+ const traceEnabled = traceSetting !== "off" && traceSetting !== "0";
444
+ const debugFile = traceSetting === undefined || traceSetting === ""
445
+ ? path.join(sessions, `pty-trace-${process.pid}-${Date.now().toString(36)}.ndjson`)
446
+ : traceSetting;
447
+ let traceFd;
448
+ const closeTrace = () => {
449
+ if (traceFd === undefined)
450
+ return;
451
+ try {
452
+ fs.closeSync(traceFd);
453
+ }
454
+ catch { }
455
+ traceFd = undefined;
456
+ };
178
457
  const spawnChild = options.spawnChild ?? nodeSpawn;
179
458
  const stdin = options.stdin ?? process.stdin;
180
459
  const stdout = options.stdout ?? process.stdout;
181
460
  // In the private directory rather than the shared one: a peer that can
182
461
  // connect to this socket can resize the session's terminal.
183
- const control = path.join(sessionsDir(), `codedeck-pty-${process.pid}-${Date.now().toString(36)}.sock`);
462
+ const control = path.join(sessions, `codedeck-pty-${process.pid}-${Date.now().toString(36)}.sock`);
184
463
  // A terminal that reports 0 is a terminal whose size nobody set: passing the
185
464
  // zero down would leave the inner pty exactly as unusable as script leaves it.
186
465
  const rows = stdout.rows || FALLBACK_ROWS;
@@ -200,6 +479,32 @@ export function startPtySession(options) {
200
479
  detached: false,
201
480
  stdio: ["pipe", "pipe", "pipe"],
202
481
  });
482
+ if (traceEnabled && debugFile && path.isAbsolute(debugFile)) {
483
+ try {
484
+ prunePtyTraces(sessions);
485
+ traceFd = fs.openSync(debugFile, fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_APPEND | fs.constants.O_NONBLOCK, 0o600);
486
+ if (!fs.fstatSync(traceFd).isFile())
487
+ closeTrace();
488
+ else
489
+ fs.fchmodSync(traceFd, 0o600);
490
+ }
491
+ catch {
492
+ closeTrace();
493
+ }
494
+ }
495
+ const trace = traceFd === undefined
496
+ ? undefined
497
+ : (event) => {
498
+ if (traceFd === undefined)
499
+ return;
500
+ try {
501
+ const t = Number((process.hrtime.bigint() - startedAt) / 1000000n);
502
+ fs.writeSync(traceFd, `${JSON.stringify({ ...event, t })}\n`);
503
+ }
504
+ catch {
505
+ closeTrace();
506
+ }
507
+ };
203
508
  // Raw mode makes the parent a transparent wire: Ctrl+C stops being a signal
204
509
  // here and becomes the byte the inner pty's line discipline interprets,
205
510
  // exactly as it would in a terminal talking to Claude Code directly.
@@ -217,7 +522,12 @@ export function startPtySession(options) {
217
522
  return;
218
523
  child.stdin.write(chunk);
219
524
  };
525
+ const inject = (keystrokes) => {
526
+ write(keystrokes);
527
+ };
528
+ const gate = createInputGate({ inject, trace });
220
529
  const forward = (chunk) => {
530
+ gate.observe(chunk);
221
531
  if (options.onInterrupt && chunk.includes(INTERRUPT_KEY))
222
532
  options.onInterrupt();
223
533
  write(chunk);
@@ -251,19 +561,18 @@ export function startPtySession(options) {
251
561
  });
252
562
  };
253
563
  connect();
254
- const inject = (keystrokes) => {
255
- write(keystrokes);
256
- };
257
564
  const keystrokesForName = options.launch.keystrokesForName;
258
565
  const stopWatching = keystrokesForName
259
566
  ? watchNameSidecar(options.launch.sessionFile, (name) => {
567
+ trace?.({ kind: "sidecar", name });
260
568
  const keystrokes = keystrokesForName(name);
261
569
  if (keystrokes)
262
- inject(keystrokes);
570
+ gate.offer(keystrokes);
263
571
  })
264
572
  : () => { };
265
573
  const dispose = () => {
266
574
  connecting = false;
575
+ gate.dispose();
267
576
  stopWatching();
268
577
  stdout.off("resize", sendResize);
269
578
  stdin.off("data", forward);
@@ -271,6 +580,7 @@ export function startPtySession(options) {
271
580
  stdin.setRawMode(wasRaw);
272
581
  stdin.pause();
273
582
  connection?.destroy();
583
+ closeTrace();
274
584
  try {
275
585
  fs.rmSync(control, { force: true });
276
586
  }
@@ -278,4 +588,19 @@ export function startPtySession(options) {
278
588
  };
279
589
  return { child, inject, dispose };
280
590
  }
591
+ function prunePtyTraces(directory) {
592
+ try {
593
+ const traces = fs.readdirSync(directory, { withFileTypes: true })
594
+ .filter((file) => file.isFile() && /^pty-trace-.*\.ndjson$/.test(file.name))
595
+ .map((file) => ({
596
+ tracePath: path.join(directory, file.name),
597
+ mtimeMs: fs.statSync(path.join(directory, file.name)).mtimeMs,
598
+ }))
599
+ .sort((a, b) => b.mtimeMs - a.mtimeMs)
600
+ .slice(9);
601
+ for (const { tracePath } of traces)
602
+ fs.rmSync(tracePath, { force: true });
603
+ }
604
+ catch { }
605
+ }
281
606
  //# sourceMappingURL=pty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/open/pty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/open/pty.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ description: Do CodeDeck work directly in the current workspace, with evidence.
26
26
 
27
27
  - Once the task is clear in a `codedeck run` worker, rename your session with `codedeck rename "$CODEDECK_SESSION_ID" <short-task-slug>`.
28
28
 
29
- <!-- Source: ~/.claude/skills/commit/SKILL.md (vendored full text). Adaptations: (1) the create-branch skill reference is a one-line main/master rule below, the skill itself is not vendored; (2) any sentry-skills:commit reference points to the Commits section in this prompt; (3) Co-Authored-By names the harness that did the work, not Claude. -->
29
+ <!-- Generated from skills/commit/SKILL.md by scripts/copy-plugin.mjs. Edit the skill, not the agent file. -->
30
30
 
31
31
  ## Commits
32
32
 
@@ -172,7 +172,7 @@ Reason: Caused performance regression in production.
172
172
 
173
173
  - [Sentry Commit Messages](https://develop.sentry.dev/engineering-practices/commit-messages/)
174
174
 
175
- <!-- Source: ~/.claude/skills/pr-writer/SKILL.md (vendored full text). Adaptations: (1) the create-branch skill reference is a one-line main/master rule, the skill itself is not vendored; (2) the sentry-skills:commit reference below points to the Commits section in this prompt; (3) Co-Authored-By names the harness that did the work, not Claude. -->
175
+ <!-- Generated from skills/pr-writer/SKILL.md by scripts/copy-plugin.mjs. Edit the skill, not the agent file. -->
176
176
 
177
177
  ## Pull requests
178
178
 
@@ -251,6 +251,7 @@ Use this structure for PR descriptions (ignoring any repository PR templates):
251
251
  - Links to relevant issues or tickets
252
252
  - Context that isn't obvious from the code
253
253
  - Notes on specific areas that need careful review
254
+ - Visual evidence when it passes the gate in Visual Evidence below
254
255
 
255
256
  ### Step 4: Create the PR
256
257
 
@@ -321,6 +322,36 @@ Reference issues in the PR body:
321
322
  | `Refs GH-1234` | Links without closing |
322
323
  | `Refs LINEAR-ABC-123` | Links Linear issue |
323
324
 
325
+ ## Visual Evidence
326
+
327
+ Default to none. Add a visual only when a reviewer would otherwise have to check out the branch to see the change, or when the text needs a paragraph to describe what one picture shows. One visual per PR is the norm; never add one to fill space.
328
+
329
+ | Change | Evidence |
330
+ |--------|----------|
331
+ | UI layout or styling | Screenshot, before/after when it changes existing UI |
332
+ | Interaction or animation | GIF, 15s or less |
333
+ | CLI/TUI output | Fenced text block with the real output, not a screenshot |
334
+ | New flow across 3+ components, or a changed state machine | Mermaid diagram |
335
+ | Refactor, config, deps, internal bug fix, tests | None |
336
+
337
+ Rules:
338
+ - Capture from the running app (Playwright for web, `ffmpeg` to turn a recording into a GIF). Never mock, edit or stage a screenshot.
339
+ - A Mermaid diagram shows the mechanism the PR adds or changes, not the whole system. GitHub renders ` ```mermaid ` blocks natively.
340
+ - Put each visual under the sentence it supports, with a one-line caption.
341
+
342
+ Hosting images: `gh` cannot upload attachments, so push them to an orphan `pr-assets` branch and link them. Never commit them to the PR branch.
343
+
344
+ ```bash
345
+ B=$(git branch --show-current)
346
+ git fetch -q origin pr-assets:pr-assets 2>/dev/null || git branch pr-assets "$(git commit-tree "$(git mktree </dev/null)" -m 'chore: Start PR assets')"
347
+ d=$(mktemp -d); git worktree add -q "$d" pr-assets
348
+ mkdir -p "$d/$B"; cp shot.png "$d/$B/"
349
+ git -C "$d" add -A && git -C "$d" commit -qm "chore: Add PR assets for $B" && git -C "$d" push -q origin pr-assets
350
+ git worktree remove "$d"
351
+ ```
352
+
353
+ Link as `![caption](https://github.com/OWNER/REPO/blob/pr-assets/BRANCH/shot.png?raw=true)`. This form also renders on private repos. For a video that must stay a video, leave the file path in your report and say the user has to drag it into the PR on GitHub.
354
+
324
355
  ## Guidelines
325
356
 
326
357
  - **One PR per feature/fix** - Don't bundle unrelated changes
@@ -338,14 +369,10 @@ gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER -f body="$(cat <<'EOF'
338
369
  Updated description here
339
370
  EOF
340
371
  )"
341
- ```
342
372
 
343
- ```bash
344
373
  # Update PR title
345
374
  gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER -f title='new: Title here'
346
- ```
347
375
 
348
- ```bash
349
376
  # Update both
350
377
  gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER \
351
378
  -f title='new: Title' \