codekin 0.6.0 → 0.6.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 (34) hide show
  1. package/README.md +7 -4
  2. package/dist/assets/index-BNU7FIQx.css +1 -0
  3. package/dist/assets/index-k7mgzd5O.js +182 -0
  4. package/dist/index.html +2 -2
  5. package/package.json +1 -1
  6. package/server/dist/docs-routes.js +12 -5
  7. package/server/dist/docs-routes.js.map +1 -1
  8. package/server/dist/native-permissions.js +1 -1
  9. package/server/dist/native-permissions.js.map +1 -1
  10. package/server/dist/opencode-process.d.ts +16 -0
  11. package/server/dist/opencode-process.js +164 -7
  12. package/server/dist/opencode-process.js.map +1 -1
  13. package/server/dist/orchestrator-reports.js +9 -4
  14. package/server/dist/orchestrator-reports.js.map +1 -1
  15. package/server/dist/prompt-router.js +4 -0
  16. package/server/dist/prompt-router.js.map +1 -1
  17. package/server/dist/session-lifecycle.js +52 -9
  18. package/server/dist/session-lifecycle.js.map +1 -1
  19. package/server/dist/session-manager.js +26 -5
  20. package/server/dist/session-manager.js.map +1 -1
  21. package/server/dist/session-persistence.js +3 -0
  22. package/server/dist/session-persistence.js.map +1 -1
  23. package/server/dist/session-restart-scheduler.d.ts +9 -2
  24. package/server/dist/session-restart-scheduler.js +14 -2
  25. package/server/dist/session-restart-scheduler.js.map +1 -1
  26. package/server/dist/session-routes.js +2 -2
  27. package/server/dist/session-routes.js.map +1 -1
  28. package/server/dist/tsconfig.tsbuildinfo +1 -1
  29. package/server/dist/types.d.ts +10 -0
  30. package/server/dist/ws-server.js +44 -13
  31. package/server/dist/ws-server.js.map +1 -1
  32. package/server/workflows/pr-review.md +27 -0
  33. package/dist/assets/index-BvKzbtKg.css +0 -1
  34. package/dist/assets/index-D59Xr9pK.js +0 -182
package/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
6
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
7
  <title>Codekin</title>
8
- <script type="module" crossorigin src="/assets/index-D59Xr9pK.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BvKzbtKg.css">
8
+ <script type="module" crossorigin src="/assets/index-k7mgzd5O.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BNU7FIQx.css">
10
10
  </head>
11
11
  <body class="bg-neutral-12 text-neutral-2">
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codekin",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "license": "MIT",
5
5
  "licenseNotes": "dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.",
6
6
  "author": "multiplier-labs",
@@ -96,7 +96,7 @@ export function createDocsRouter(verifyToken, extractToken) {
96
96
  if (!allowedRoots.some(root => realRepo.startsWith(root + '/') || realRepo === root)) {
97
97
  return res.status(403).json({ error: 'Access denied' });
98
98
  }
99
- const mdFiles = findMarkdownFiles(repoPath, 3);
99
+ const mdFiles = findMarkdownFiles(realRepo, 3);
100
100
  const pinnedSet = new Set(PINNED_FILES.map(f => f.toLowerCase()));
101
101
  const pinned = [];
102
102
  const rest = [];
@@ -143,10 +143,17 @@ export function createDocsRouter(verifyToken, extractToken) {
143
143
  if (extname(filePath).toLowerCase() !== '.md') {
144
144
  return res.status(400).json({ error: 'Only .md files are supported' });
145
145
  }
146
- // Path traversal guard
147
- const resolved = resolve(repoPath, filePath);
148
- const repoResolved = resolve(repoPath);
149
- if (!resolved.startsWith(repoResolved + '/') && resolved !== repoResolved) {
146
+ // Path traversal guard — dereference symlinks to prevent escape
147
+ let resolved;
148
+ let realRepo;
149
+ try {
150
+ resolved = realpathSync(resolve(repoPath, filePath));
151
+ realRepo = realpathSync(resolve(repoPath));
152
+ }
153
+ catch {
154
+ return res.status(404).json({ error: 'File not found' });
155
+ }
156
+ if (!resolved.startsWith(realRepo + '/') && resolved !== realRepo) {
150
157
  return res.status(404).json({ error: 'File not found' });
151
158
  }
152
159
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"docs-routes.js","sourceRoot":"","sources":["../docs-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-routes.js","sourceRoot":"","sources":["../docs-routes.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const writeLocks = new Map();
15
15
  /** Acquire a per-repo write lock. All sessions share one Node process. */
16
16
  function withLock(repoDir, fn) {
17
17
  const prev = writeLocks.get(repoDir) ?? Promise.resolve();
18
- const next = prev.then(fn, fn);
18
+ const next = prev.catch(() => { }).then(fn);
19
19
  writeLocks.set(repoDir, next);
20
20
  // Clean up the reference once done so we don't leak memory
21
21
  void next.then(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"native-permissions.js","sourceRoot":"","sources":["../native-permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-permissions.js","sourceRoot":"","sources":["../native-permissions.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,20 @@ export declare class OpenCodeProcess extends EventEmitter<ClaudeProcessEvents> i
64
64
  private tasks;
65
65
  private turnComplete;
66
66
  private taskSeq;
67
+ /** Whether we've received streaming delta events this turn (to avoid double-emitting text). */
68
+ private receivedDeltas;
69
+ /** Whether we've already emitted text via message.part.updated (to avoid re-emitting from message.updated). */
70
+ private emittedPartText;
71
+ /** Last user input text — used to detect and strip user echo from assistant deltas. */
72
+ private lastUserInput;
73
+ /** Buffer for initial text deltas — held until we can check for user echo prefix. */
74
+ private deltaBuffer;
75
+ /** Whether the delta buffer has been flushed (user echo check complete). */
76
+ private deltaBufferFlushed;
77
+ /** Accumulated reasoning delta text for emitting thinking summaries during streaming. */
78
+ private reasoningBuffer;
79
+ /** Whether we've already emitted a thinking summary from reasoning deltas. */
80
+ private emittedReasoningSummary;
67
81
  constructor(workingDir: string, opts?: Partial<OpenCodeProcessOptions>);
68
82
  /** Connect to the OpenCode server, create a session, and subscribe to SSE events. */
69
83
  start(): void;
@@ -77,6 +91,8 @@ export declare class OpenCodeProcess extends EventEmitter<ClaudeProcessEvents> i
77
91
  * cross-session leakage on the shared SSE stream.
78
92
  */
79
93
  private isOwnSession;
94
+ /** Flush any buffered text deltas that haven't been emitted yet (e.g. turn ended before buffer threshold). */
95
+ private flushDeltaBuffer;
80
96
  /** Map an OpenCode SSE event to CodingProcess events. */
81
97
  private handleSSEEvent;
82
98
  /** Reply to an OpenCode permission request via HTTP. */
@@ -18,6 +18,8 @@
18
18
  import { EventEmitter } from 'events';
19
19
  import { spawn } from 'child_process';
20
20
  import { randomUUID } from 'crypto';
21
+ import { readFileSync, existsSync } from 'fs';
22
+ import { extname } from 'path';
21
23
  import { OPENCODE_CAPABILITIES } from './coding-process.js';
22
24
  import { summarizeToolInput } from './tool-labels.js';
23
25
  const serverState = {
@@ -52,13 +54,19 @@ async function startOpenCodeServer(workingDir) {
52
54
  // Pick a port in the ephemeral range
53
55
  serverState.port = 14096 + Math.floor(Math.random() * 1000);
54
56
  serverState.password = randomUUID();
57
+ // Strip API keys and GIT_* vars (except GIT_EDITOR) — same filtering as
58
+ // claude-process.ts. GIT_INDEX_FILE=.git/index breaks worktrees where
59
+ // .git is a file, and stale API keys override OpenCode's own auth.
60
+ const API_KEY_VARS = new Set(['ANTHROPIC_API_KEY', 'CLAUDE_CODE_API_KEY', 'AUTH_TOKEN', 'AUTH_TOKEN_FILE']);
55
61
  const env = {
56
- ...Object.fromEntries(Object.entries(process.env).filter((entry) => entry[1] != null)),
62
+ ...Object.fromEntries(Object.entries(process.env).filter((entry) => entry[1] != null &&
63
+ !API_KEY_VARS.has(entry[0]) &&
64
+ (!entry[0].startsWith('GIT_') || entry[0] === 'GIT_EDITOR'))),
57
65
  OPENCODE_SERVER_PASSWORD: serverState.password,
58
66
  };
59
67
  const proc = spawn('opencode', ['serve', '--port', String(serverState.port)], {
60
68
  cwd: workingDir,
61
- stdio: ['pipe', 'pipe', 'pipe'],
69
+ stdio: 'ignore', // prevents buffer deadlock — pipes were never drained
62
70
  env,
63
71
  });
64
72
  serverState.process = proc;
@@ -154,6 +162,20 @@ export class OpenCodeProcess extends EventEmitter {
154
162
  tasks = new Map();
155
163
  turnComplete = false;
156
164
  taskSeq = 0;
165
+ /** Whether we've received streaming delta events this turn (to avoid double-emitting text). */
166
+ receivedDeltas = false;
167
+ /** Whether we've already emitted text via message.part.updated (to avoid re-emitting from message.updated). */
168
+ emittedPartText = false;
169
+ /** Last user input text — used to detect and strip user echo from assistant deltas. */
170
+ lastUserInput = '';
171
+ /** Buffer for initial text deltas — held until we can check for user echo prefix. */
172
+ deltaBuffer = '';
173
+ /** Whether the delta buffer has been flushed (user echo check complete). */
174
+ deltaBufferFlushed = false;
175
+ /** Accumulated reasoning delta text for emitting thinking summaries during streaming. */
176
+ reasoningBuffer = '';
177
+ /** Whether we've already emitted a thinking summary from reasoning deltas. */
178
+ emittedReasoningSummary = false;
157
179
  constructor(workingDir, opts) {
158
180
  super();
159
181
  this.workingDir = workingDir;
@@ -324,6 +346,21 @@ export class OpenCodeProcess extends EventEmitter {
324
346
  return true;
325
347
  return sessionID === this.opencodeSessionId;
326
348
  }
349
+ /** Flush any buffered text deltas that haven't been emitted yet (e.g. turn ended before buffer threshold). */
350
+ flushDeltaBuffer() {
351
+ if (!this.deltaBufferFlushed && this.deltaBuffer) {
352
+ this.deltaBufferFlushed = true;
353
+ if (this.lastUserInput && this.deltaBuffer.startsWith(this.lastUserInput)) {
354
+ const remainder = this.deltaBuffer.slice(this.lastUserInput.length);
355
+ if (remainder)
356
+ this.emit('text', remainder);
357
+ }
358
+ else {
359
+ this.emit('text', this.deltaBuffer);
360
+ }
361
+ this.deltaBuffer = '';
362
+ }
363
+ }
327
364
  /** Map an OpenCode SSE event to CodingProcess events. */
328
365
  handleSSEEvent(event) {
329
366
  const { type, properties } = event;
@@ -335,7 +372,43 @@ export class OpenCodeProcess extends EventEmitter {
335
372
  const field = properties.field;
336
373
  const delta = properties.delta;
337
374
  if (field === 'text' && delta) {
338
- this.emit('text', delta);
375
+ this.receivedDeltas = true;
376
+ // Buffer initial deltas to detect and strip user echo prefix.
377
+ // Some providers echo the user message at the start of the assistant
378
+ // response, which causes duplicate display.
379
+ if (!this.deltaBufferFlushed && this.lastUserInput) {
380
+ this.deltaBuffer += delta;
381
+ if (this.deltaBuffer.length >= this.lastUserInput.length) {
382
+ this.deltaBufferFlushed = true;
383
+ if (this.deltaBuffer.startsWith(this.lastUserInput)) {
384
+ const remainder = this.deltaBuffer.slice(this.lastUserInput.length);
385
+ if (remainder)
386
+ this.emit('text', remainder);
387
+ }
388
+ else {
389
+ this.emit('text', this.deltaBuffer);
390
+ }
391
+ this.deltaBuffer = '';
392
+ }
393
+ // Still buffering — don't emit yet
394
+ }
395
+ else {
396
+ this.emit('text', delta);
397
+ }
398
+ }
399
+ else if (field === 'reasoning' && delta) {
400
+ // Accumulate reasoning deltas and emit a thinking summary once we
401
+ // have enough content, so the UI shows a thinking indicator during
402
+ // streaming (not only when message.part.updated arrives later).
403
+ this.reasoningBuffer += delta;
404
+ if (this.reasoningBuffer.length > 20 && !this.emittedReasoningSummary) {
405
+ this.emittedReasoningSummary = true;
406
+ const match = this.reasoningBuffer.match(/^(.+?[.!?\n])/);
407
+ const summary = match && match[1].length <= 120
408
+ ? match[1].replace(/\n/g, ' ').trim()
409
+ : this.reasoningBuffer.slice(0, 80).trim();
410
+ this.emit('thinking', summary);
411
+ }
339
412
  }
340
413
  break;
341
414
  }
@@ -348,7 +421,20 @@ export class OpenCodeProcess extends EventEmitter {
348
421
  break;
349
422
  switch (part.type) {
350
423
  case 'text': {
351
- // Text content arrives via message.part.delta events, not here.
424
+ // Text may arrive via message.part.delta (streaming) or as full
425
+ // content here (OpenCode >=1.4 message.updated). Only emit if we
426
+ // haven't already streamed it via delta events or emitted it from
427
+ // an earlier message.part.updated event.
428
+ if (part.text && !this.receivedDeltas && !this.emittedPartText) {
429
+ this.emittedPartText = true;
430
+ // Strip user echo prefix if the full text starts with the last input
431
+ let text = part.text;
432
+ if (this.lastUserInput && text.startsWith(this.lastUserInput)) {
433
+ text = text.slice(this.lastUserInput.length);
434
+ }
435
+ if (text)
436
+ this.emit('text', text);
437
+ }
352
438
  break;
353
439
  }
354
440
  case 'reasoning': {
@@ -414,6 +500,7 @@ export class OpenCodeProcess extends EventEmitter {
414
500
  if (this.turnComplete)
415
501
  break;
416
502
  this.turnComplete = true;
503
+ this.flushDeltaBuffer();
417
504
  this.emit('result', '', false);
418
505
  }
419
506
  break;
@@ -460,6 +547,7 @@ export class OpenCodeProcess extends EventEmitter {
460
547
  if (this.turnComplete)
461
548
  break;
462
549
  this.turnComplete = true;
550
+ this.flushDeltaBuffer();
463
551
  this.emit('result', '', false);
464
552
  break;
465
553
  }
@@ -474,10 +562,35 @@ export class OpenCodeProcess extends EventEmitter {
474
562
  if (this.turnComplete)
475
563
  break;
476
564
  this.turnComplete = true;
565
+ this.flushDeltaBuffer();
477
566
  this.emit('result', '', false);
478
567
  }
479
568
  break;
480
569
  }
570
+ // OpenCode >=1.4 sends session.idle as a standalone event (not nested in session.status)
571
+ case 'session.idle': {
572
+ if (!this.isOwnSession(properties))
573
+ break;
574
+ if (this.turnComplete)
575
+ break;
576
+ this.turnComplete = true;
577
+ this.flushDeltaBuffer();
578
+ this.emit('result', '', false);
579
+ break;
580
+ }
581
+ // OpenCode >=1.4 sends message.updated with full message info including parts.
582
+ // Extract parts and process them like message.part.updated events.
583
+ case 'message.updated': {
584
+ if (!this.isOwnSession(properties))
585
+ break;
586
+ const info = properties.info;
587
+ if (!info || info.role !== 'assistant' || !info.parts)
588
+ break;
589
+ for (const part of info.parts) {
590
+ this.handleSSEEvent({ type: 'message.part.updated', properties: { ...properties, part } });
591
+ }
592
+ break;
593
+ }
481
594
  default:
482
595
  // Log unhandled session-scoped events for debugging (skip noisy ones)
483
596
  if (type !== 'heartbeat' && type !== 'server.connected' && type !== 'message.part.added') {
@@ -574,11 +687,55 @@ export class OpenCodeProcess extends EventEmitter {
574
687
  return;
575
688
  }
576
689
  this.turnComplete = false; // reset completion latch for new turn
690
+ this.receivedDeltas = false;
691
+ this.emittedPartText = false;
692
+ this.deltaBuffer = '';
693
+ this.deltaBufferFlushed = false;
694
+ this.reasoningBuffer = '';
695
+ this.emittedReasoningSummary = false;
577
696
  const baseUrl = `http://localhost:${serverState.port}`;
697
+ // Parse [Attached files: ...] prefix and convert image paths to proper parts.
698
+ // The frontend uploads images to the screenshots dir and wraps them as:
699
+ // [Attached files: /path/to/img1, /path/to/img2]\nuser text
700
+ const parts = [];
701
+ let textContent = content;
702
+ const attachMatch = content.match(/^\[Attached files: ([^\]]+)\]\n?/);
703
+ if (attachMatch) {
704
+ textContent = content.slice(attachMatch[0].length);
705
+ const filePaths = attachMatch[1].split(',').map(p => p.trim());
706
+ const imageMimeMap = {
707
+ '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg',
708
+ '.gif': 'image/gif', '.webp': 'image/webp',
709
+ };
710
+ const textExtensions = new Set(['.md', '.txt', '.csv', '.json', '.xml', '.yaml', '.yml', '.log']);
711
+ for (const filePath of filePaths) {
712
+ if (!existsSync(filePath)) {
713
+ console.warn(`[opencode] Attached file not found: ${filePath}`);
714
+ continue;
715
+ }
716
+ const ext = extname(filePath).toLowerCase();
717
+ const imageMime = imageMimeMap[ext];
718
+ if (imageMime) {
719
+ const base64 = readFileSync(filePath).toString('base64');
720
+ parts.push({ type: 'file', mime: imageMime, filename: filePath.split('/').pop(), url: `data:${imageMime};base64,${base64}` });
721
+ }
722
+ else if (textExtensions.has(ext)) {
723
+ // Send text-based files as inline text content
724
+ const fileContent = readFileSync(filePath, 'utf-8');
725
+ const fileName = filePath.split('/').pop() || filePath;
726
+ parts.push({ type: 'text', text: `--- ${fileName} ---\n${fileContent}` });
727
+ }
728
+ else {
729
+ console.warn(`[opencode] Unsupported file type for attachment: ${ext} (${filePath})`);
730
+ }
731
+ }
732
+ }
733
+ this.lastUserInput = textContent.trim();
734
+ if (textContent.trim()) {
735
+ parts.push({ type: 'text', text: textContent });
736
+ }
578
737
  // Build request body with optional model override
579
- const body = {
580
- parts: [{ type: 'text', text: content }],
581
- };
738
+ const body = { parts };
582
739
  // Model is stored as "providerID/modelID" — split only at first slash so
583
740
  // OpenRouter-style IDs like "openrouter/meta-llama/llama-3.1-8b" stay intact.
584
741
  if (this.model && this.model.includes('/')) {
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-process.js","sourceRoot":"","sources":["../opencode-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-process.js","sourceRoot":"","sources":["../opencode-process.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Discovers audit reports, parses their metadata, and provides them
5
5
  * to the orchestrator session for triage and action.
6
6
  */
7
- import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
7
+ import { existsSync, readdirSync, readFileSync, realpathSync, statSync } from 'fs';
8
8
  import { join, basename, resolve } from 'path';
9
9
  import { REPOS_ROOT, DATA_DIR } from './config.js';
10
10
  // ---------------------------------------------------------------------------
@@ -67,15 +67,20 @@ export function scanRepoReports(repoPath) {
67
67
  * Read a report's full content.
68
68
  */
69
69
  export function readReport(filePath) {
70
- const resolved = resolve(filePath);
70
+ // Dereference symlinks to prevent path traversal escape
71
+ let resolved;
72
+ try {
73
+ resolved = realpathSync(resolve(filePath));
74
+ }
75
+ catch {
76
+ return null;
77
+ }
71
78
  // Verify the path is within a known reports directory (anchored startsWith, not includes)
72
79
  const isDataReport = resolved.startsWith(DATA_DIR + '/reports/');
73
80
  const isRepoReport = resolved.startsWith(REPOS_ROOT + '/') &&
74
81
  /^[^/]+\/\.codekin\/reports\//.test(resolved.slice(REPOS_ROOT.length + 1));
75
82
  if (!isDataReport && !isRepoReport)
76
83
  return null;
77
- if (!existsSync(resolved))
78
- return null;
79
84
  const content = readFileSync(resolved, 'utf-8');
80
85
  const stat = statSync(resolved);
81
86
  // Extract metadata from path
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-reports.js","sourceRoot":"","sources":["../orchestrator-reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-reports.js","sourceRoot":"","sources":["../orchestrator-reports.ts"],"names":[],"mappings":"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"}
@@ -493,6 +493,8 @@ export class PromptRouter {
493
493
  answers[questions[0].question] = value.join(', ');
494
494
  }
495
495
  updatedInput.answers = answers;
496
+ if (!session.claudeProcess?.isAlive())
497
+ return;
496
498
  session.claudeProcess.sendControlResponse(pending.requestId, 'allow', updatedInput);
497
499
  }
498
500
  /** Send a permission control response (allow/always_allow/approve_pattern/deny). */
@@ -505,6 +507,8 @@ export class PromptRouter {
505
507
  this.deps.approvalManager.savePatternApproval(session.groupDir ?? session.workingDir, pending.toolName, pending.toolInput);
506
508
  }
507
509
  const behavior = isDeny ? 'deny' : 'allow';
510
+ if (!session.claudeProcess?.isAlive())
511
+ return;
508
512
  session.claudeProcess.sendControlResponse(pending.requestId, behavior);
509
513
  }
510
514
  /**