codekin 0.4.1 → 0.5.0

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 (81) hide show
  1. package/README.md +12 -15
  2. package/bin/codekin.mjs +52 -32
  3. package/dist/assets/index-BwKZeT4V.css +1 -0
  4. package/dist/assets/index-CfBnNU24.js +186 -0
  5. package/dist/index.html +2 -2
  6. package/package.json +2 -7
  7. package/server/dist/approval-manager.d.ts +7 -2
  8. package/server/dist/approval-manager.js +44 -78
  9. package/server/dist/approval-manager.js.map +1 -1
  10. package/server/dist/claude-process.d.ts +23 -3
  11. package/server/dist/claude-process.js +120 -27
  12. package/server/dist/claude-process.js.map +1 -1
  13. package/server/dist/commit-event-handler.js.map +1 -1
  14. package/server/dist/config.d.ts +4 -0
  15. package/server/dist/config.js +17 -0
  16. package/server/dist/config.js.map +1 -1
  17. package/server/dist/diff-manager.d.ts +41 -0
  18. package/server/dist/diff-manager.js +303 -0
  19. package/server/dist/diff-manager.js.map +1 -0
  20. package/server/dist/error-page.d.ts +5 -0
  21. package/server/dist/error-page.js +144 -0
  22. package/server/dist/error-page.js.map +1 -0
  23. package/server/dist/native-permissions.d.ts +44 -0
  24. package/server/dist/native-permissions.js +163 -0
  25. package/server/dist/native-permissions.js.map +1 -0
  26. package/server/dist/orchestrator-children.d.ts +74 -0
  27. package/server/dist/orchestrator-children.js +281 -0
  28. package/server/dist/orchestrator-children.js.map +1 -0
  29. package/server/dist/orchestrator-learning.d.ts +134 -0
  30. package/server/dist/orchestrator-learning.js +567 -0
  31. package/server/dist/orchestrator-learning.js.map +1 -0
  32. package/server/dist/orchestrator-manager.d.ts +25 -0
  33. package/server/dist/orchestrator-manager.js +353 -0
  34. package/server/dist/orchestrator-manager.js.map +1 -0
  35. package/server/dist/orchestrator-memory.d.ts +77 -0
  36. package/server/dist/orchestrator-memory.js +288 -0
  37. package/server/dist/orchestrator-memory.js.map +1 -0
  38. package/server/dist/orchestrator-monitor.d.ts +59 -0
  39. package/server/dist/orchestrator-monitor.js +238 -0
  40. package/server/dist/orchestrator-monitor.js.map +1 -0
  41. package/server/dist/orchestrator-reports.d.ts +45 -0
  42. package/server/dist/orchestrator-reports.js +124 -0
  43. package/server/dist/orchestrator-reports.js.map +1 -0
  44. package/server/dist/orchestrator-routes.d.ts +17 -0
  45. package/server/dist/orchestrator-routes.js +526 -0
  46. package/server/dist/orchestrator-routes.js.map +1 -0
  47. package/server/dist/session-archive.js +9 -2
  48. package/server/dist/session-archive.js.map +1 -1
  49. package/server/dist/session-manager.d.ts +99 -39
  50. package/server/dist/session-manager.js +565 -394
  51. package/server/dist/session-manager.js.map +1 -1
  52. package/server/dist/session-naming.d.ts +6 -10
  53. package/server/dist/session-naming.js +60 -62
  54. package/server/dist/session-naming.js.map +1 -1
  55. package/server/dist/session-persistence.d.ts +6 -1
  56. package/server/dist/session-persistence.js +6 -0
  57. package/server/dist/session-persistence.js.map +1 -1
  58. package/server/dist/session-restart-scheduler.d.ts +30 -0
  59. package/server/dist/session-restart-scheduler.js +41 -0
  60. package/server/dist/session-restart-scheduler.js.map +1 -0
  61. package/server/dist/session-routes.js +122 -61
  62. package/server/dist/session-routes.js.map +1 -1
  63. package/server/dist/stepflow-types.d.ts +1 -1
  64. package/server/dist/tsconfig.tsbuildinfo +1 -1
  65. package/server/dist/types.d.ts +34 -2
  66. package/server/dist/types.js +8 -1
  67. package/server/dist/types.js.map +1 -1
  68. package/server/dist/upload-routes.js +7 -1
  69. package/server/dist/upload-routes.js.map +1 -1
  70. package/server/dist/version-check.d.ts +17 -0
  71. package/server/dist/version-check.js +89 -0
  72. package/server/dist/version-check.js.map +1 -0
  73. package/server/dist/workflow-engine.d.ts +74 -1
  74. package/server/dist/workflow-engine.js +20 -1
  75. package/server/dist/workflow-engine.js.map +1 -1
  76. package/server/dist/ws-message-handler.js +115 -9
  77. package/server/dist/ws-message-handler.js.map +1 -1
  78. package/server/dist/ws-server.js +90 -15
  79. package/server/dist/ws-server.js.map +1 -1
  80. package/dist/assets/index-BAdQqYEY.js +0 -182
  81. package/dist/assets/index-CeZYNLWt.css +0 -1
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-BAdQqYEY.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-CeZYNLWt.css">
8
+ <script type="module" crossorigin src="/assets/index-CfBnNU24.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BwKZeT4V.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,8 +1,8 @@
1
1
  {
2
2
  "name": "codekin",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "license": "MIT",
5
- "licenseNotes": "dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use",
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",
7
7
  "description": "Web UI for Claude Code sessions with multi-session support and WebSocket streaming",
8
8
  "repository": {
@@ -37,13 +37,8 @@
37
37
  "test:watch": "vitest"
38
38
  },
39
39
  "dependencies": {
40
- "@ai-sdk/anthropic": "^3.0.59",
41
- "@ai-sdk/google": "^3.0.0",
42
- "@ai-sdk/groq": "^3.0.29",
43
- "@ai-sdk/openai": "^3.0.0",
44
40
  "@tabler/icons-react": "^3.37.1",
45
41
  "@tailwindcss/vite": "^4.2.0",
46
- "ai": "^6.0.116",
47
42
  "better-sqlite3": "^12.6.2",
48
43
  "cmdk": "^1.1.1",
49
44
  "dompurify": "^3.3.2",
@@ -7,6 +7,11 @@
7
7
  * sharing the same repo.
8
8
  */
9
9
  export declare class ApprovalManager {
10
+ /**
11
+ * Tools that must NEVER be auto-approved — they always require explicit
12
+ * user confirmation regardless of saved registry rules.
13
+ */
14
+ static readonly NEVER_AUTO_APPROVE_TOOLS: Set<string>;
10
15
  /** Repo-level auto-approval store, keyed by workingDir (repo path). */
11
16
  private repoApprovals;
12
17
  private _approvalPersistTimer;
@@ -74,6 +79,8 @@ export declare class ApprovalManager {
74
79
  saveAlwaysAllow(workingDir: string, toolName: string, toolInput: Record<string, unknown>): void;
75
80
  /** Save a pattern-based approval (e.g. "cat *") for a tool/command. */
76
81
  savePatternApproval(workingDir: string, toolName: string, toolInput: Record<string, unknown>): void;
82
+ /** Return `--allowedTools` patterns for a repo, combining all registry approvals. */
83
+ getAllowedToolsForRepo(workingDir: string): string[];
77
84
  /** Return the auto-approved tools, commands, and patterns for a repo (workingDir). */
78
85
  getApprovals(workingDir: string): {
79
86
  tools: string[];
@@ -102,6 +109,4 @@ export declare class ApprovalManager {
102
109
  persistRepoApprovals(): void;
103
110
  private persistRepoApprovalsDebounced;
104
111
  private restoreRepoApprovalsFromDisk;
105
- /** Compact exact commands that could be represented by existing patterns. */
106
- private compactExactCommands;
107
112
  }
@@ -9,6 +9,7 @@
9
9
  import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'fs';
10
10
  import { join } from 'path';
11
11
  import { DATA_DIR } from './config.js';
12
+ import { addNativePermission, toNativePermission, toAllowedToolsPatterns } from './native-permissions.js';
12
13
  const REPO_APPROVALS_FILE = join(DATA_DIR, 'repo-approvals.json');
13
14
  const PERSIST_DEBOUNCE_MS = 2000;
14
15
  /**
@@ -17,6 +18,13 @@ const PERSIST_DEBOUNCE_MS = 2000;
17
18
  */
18
19
  const CROSS_REPO_THRESHOLD = 2;
19
20
  export class ApprovalManager {
21
+ /**
22
+ * Tools that must NEVER be auto-approved — they always require explicit
23
+ * user confirmation regardless of saved registry rules.
24
+ */
25
+ static NEVER_AUTO_APPROVE_TOOLS = new Set([
26
+ 'ExitPlanMode', // Plan approval is a deliberate user decision
27
+ ]);
20
28
  /** Repo-level auto-approval store, keyed by workingDir (repo path). */
21
29
  repoApprovals = new Map();
22
30
  _approvalPersistTimer = null;
@@ -120,6 +128,8 @@ export class ApprovalManager {
120
128
  }
121
129
  /** Check approvals for a single repo (no cross-repo fallback). */
122
130
  checkRepoApproval(workingDir, toolName, toolInput) {
131
+ if (ApprovalManager.NEVER_AUTO_APPROVE_TOOLS.has(toolName))
132
+ return false;
123
133
  const approvals = this.repoApprovals.get(workingDir);
124
134
  if (!approvals)
125
135
  return false;
@@ -151,6 +161,8 @@ export class ApprovalManager {
151
161
  * tool/command/pattern, auto-approve it for this repo too.
152
162
  */
153
163
  checkCrossRepoApproval(workingDir, toolName, toolInput) {
164
+ if (ApprovalManager.NEVER_AUTO_APPROVE_TOOLS.has(toolName))
165
+ return false;
154
166
  let count = 0;
155
167
  for (const [dir, entry] of this.repoApprovals) {
156
168
  if (dir === workingDir)
@@ -259,23 +271,38 @@ export class ApprovalManager {
259
271
  * falling back to exact match only for commands without a safe pattern.
260
272
  */
261
273
  saveAlwaysAllow(workingDir, toolName, toolInput) {
274
+ if (ApprovalManager.NEVER_AUTO_APPROVE_TOOLS.has(toolName)) {
275
+ console.log(`[auto-approve] skipping always-allow for ${toolName} (never auto-approve)`);
276
+ return;
277
+ }
262
278
  if (toolName === 'Bash') {
263
- const cmd = (typeof toolInput.command === 'string' ? toolInput.command : '').trim();
264
- // Try to derive a pattern first (e.g. "git diff *", "npm run *")
265
279
  const pattern = this.derivePattern(toolName, toolInput);
266
280
  if (pattern) {
267
281
  this.addRepoApproval(workingDir, { pattern });
268
282
  console.log(`[auto-approve] saved pattern for repo ${workingDir}: ${pattern}`);
269
- return;
270
283
  }
271
- // For commands with no safe pattern, store exact match
272
- this.addRepoApproval(workingDir, { command: cmd });
273
- console.log(`[auto-approve] saved exact command for repo ${workingDir}: ${cmd.slice(0, 80)}`);
284
+ else {
285
+ // No safe pattern derivable (command is in NEVER_PATTERN_PREFIXES or
286
+ // contains shell metacharacters) save as exact command match so
287
+ // "Always Allow" actually works for these commands.
288
+ const cmd = (typeof toolInput.command === 'string' ? toolInput.command : '').trim();
289
+ if (cmd) {
290
+ this.addRepoApproval(workingDir, { command: cmd });
291
+ console.log(`[auto-approve] saved exact command for repo ${workingDir}: ${cmd.slice(0, 80)}`);
292
+ }
293
+ }
274
294
  }
275
295
  else {
276
296
  this.addRepoApproval(workingDir, { tool: toolName });
277
297
  console.log(`[auto-approve] saved tool for repo ${workingDir}: ${toolName}`);
278
298
  }
299
+ // Dual-write: also persist to Claude Code's native settings.local.json
300
+ const nativePerm = toNativePermission(toolName, toolInput);
301
+ if (nativePerm) {
302
+ addNativePermission(workingDir, nativePerm).catch(err => {
303
+ console.error(`[auto-approve] failed to write native permission:`, err);
304
+ });
305
+ }
279
306
  }
280
307
  /** Save a pattern-based approval (e.g. "cat *") for a tool/command. */
281
308
  savePatternApproval(workingDir, toolName, toolInput) {
@@ -289,6 +316,11 @@ export class ApprovalManager {
289
316
  console.log(`[auto-approve] no pattern derivable for ${toolName}, skipping pattern save`);
290
317
  }
291
318
  }
319
+ /** Return `--allowedTools` patterns for a repo, combining all registry approvals. */
320
+ getAllowedToolsForRepo(workingDir) {
321
+ const approvals = this.getApprovals(workingDir);
322
+ return toAllowedToolsPatterns(approvals);
323
+ }
292
324
  /** Return the auto-approved tools, commands, and patterns for a repo (workingDir). */
293
325
  getApprovals(workingDir) {
294
326
  const entry = this.repoApprovals.get(workingDir);
@@ -401,8 +433,13 @@ export class ApprovalManager {
401
433
  const raw = readFileSync(REPO_APPROVALS_FILE, 'utf-8');
402
434
  const data = JSON.parse(raw);
403
435
  for (const [dir, entry] of Object.entries(data)) {
436
+ const tools = new Set(entry.tools || []);
437
+ // Remove tools that must never be auto-approved (stale entries from before the blocklist)
438
+ for (const blocked of ApprovalManager.NEVER_AUTO_APPROVE_TOOLS) {
439
+ tools.delete(blocked);
440
+ }
404
441
  this.repoApprovals.set(dir, {
405
- tools: new Set(entry.tools || []),
442
+ tools,
406
443
  commands: new Set(entry.commands || []),
407
444
  patterns: new Set(entry.patterns || []),
408
445
  });
@@ -412,77 +449,6 @@ export class ApprovalManager {
412
449
  catch (err) {
413
450
  console.error('Failed to restore repo approvals from disk:', err);
414
451
  }
415
- this.compactExactCommands();
416
- }
417
- /** Compact exact commands that could be represented by existing patterns. */
418
- compactExactCommands() {
419
- let totalRemoved = 0;
420
- for (const [, entry] of this.repoApprovals) {
421
- if (entry.commands.size === 0)
422
- continue;
423
- const toRemove = new Set();
424
- // Phase 1: Remove exact commands already covered by existing patterns
425
- if (entry.patterns.size > 0) {
426
- for (const cmd of entry.commands) {
427
- for (const pattern of entry.patterns) {
428
- if (this.matchesPattern(pattern, cmd)) {
429
- toRemove.add(cmd);
430
- break;
431
- }
432
- }
433
- }
434
- }
435
- // Phase 2: If 3+ exact commands share a patternable prefix,
436
- // create a pattern and mark the exact commands for removal.
437
- const prefixGroups = new Map();
438
- for (const cmd of entry.commands) {
439
- if (toRemove.has(cmd))
440
- continue;
441
- const tokens = cmd.split(/\s+/).filter(Boolean);
442
- if (tokens.length === 0)
443
- continue;
444
- const firstToken = tokens[0];
445
- let prefix = tokens.length >= 2 ? `${tokens[0]} ${tokens[1]}` : firstToken;
446
- // Two-token deny always wins
447
- if (ApprovalManager.NEVER_PATTERN_PREFIXES.has(prefix))
448
- continue;
449
- // Two-token allow takes priority over first-token deny (e.g. "bun run" safe, bare "bun" denied)
450
- if (!ApprovalManager.PATTERNABLE_PREFIXES.has(prefix)) {
451
- // First-token deny blocks remaining single-token patterns
452
- if (ApprovalManager.NEVER_PATTERN_PREFIXES.has(firstToken))
453
- continue;
454
- if (ApprovalManager.PATTERNABLE_PREFIXES.has(firstToken)) {
455
- prefix = firstToken;
456
- }
457
- else {
458
- continue;
459
- }
460
- }
461
- // Skip commands with shell meta-characters
462
- if (/[|;&`$(){}*?[\]~]/.test(cmd) || cmd.includes('\n'))
463
- continue;
464
- const group = prefixGroups.get(prefix) || [];
465
- group.push(cmd);
466
- prefixGroups.set(prefix, group);
467
- }
468
- for (const [prefix, cmds] of prefixGroups) {
469
- if (cmds.length >= 3) {
470
- const pattern = `${prefix} *`;
471
- if (!entry.patterns.has(pattern)) {
472
- entry.patterns.add(pattern);
473
- }
474
- for (const cmd of cmds)
475
- toRemove.add(cmd);
476
- }
477
- }
478
- for (const cmd of toRemove)
479
- entry.commands.delete(cmd);
480
- totalRemoved += toRemove.size;
481
- }
482
- if (totalRemoved > 0) {
483
- console.log(`[auto-approve] compacted ${totalRemoved} exact commands into patterns`);
484
- this.persistRepoApprovals();
485
- }
486
452
  }
487
453
  }
488
454
  //# sourceMappingURL=approval-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-manager.js","sourceRoot":"","sources":["../approval-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-manager.js","sourceRoot":"","sources":["../approval-manager.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * - Turn results and process exit
12
12
  */
13
13
  import { EventEmitter } from 'events';
14
- import type { ClaudeEvent, TaskItem, PromptQuestion } from './types.js';
14
+ import type { ClaudeEvent, TaskItem, PromptQuestion, PermissionMode } from './types.js';
15
15
  /** Typed event map for ClaudeProcess. Each key maps to the listener argument tuple. */
16
16
  export interface ClaudeProcessEvents {
17
17
  event: [ClaudeEvent];
@@ -41,20 +41,26 @@ export interface ClaudeProcessEvents {
41
41
  export declare class ClaudeProcess extends EventEmitter<ClaudeProcessEvents> {
42
42
  private workingDir;
43
43
  private model?;
44
+ private permissionMode?;
45
+ private allowedTools?;
44
46
  private proc;
45
47
  private rl;
46
48
  private sessionId;
47
49
  private alive;
50
+ private killTimer;
48
51
  private currentToolName;
49
52
  private currentToolInput;
50
53
  private inThinkingBlock;
51
54
  private thinkingText;
52
55
  private thinkingSummaryEmitted;
53
56
  private pendingExitPlanModeId;
57
+ private exitPlanModeDenied;
54
58
  private tasks;
55
59
  private taskSeq;
56
60
  /** Additional env vars passed to the child process (session ID, port, token). */
57
61
  private extraEnv;
62
+ /** When true, use `--resume` instead of `--session-id` to resume an existing session. */
63
+ private resume;
58
64
  /**
59
65
  * @param workingDir Absolute path to the git repo where the Claude CLI runs.
60
66
  * @param sessionId Claude session UUID for `--session-id`. Defaults to a random UUID
@@ -62,8 +68,12 @@ export declare class ClaudeProcess extends EventEmitter<ClaudeProcessEvents> {
62
68
  * @param extraEnv Additional environment variables merged into the child process env
63
69
  * (e.g. `CC_WS_PORT`, `CC_AUTH_TOKEN` for port-forwarding and auth).
64
70
  * @param model Claude model ID override (e.g. 'claude-opus-4-6'). Omit to use the CLI default.
71
+ * @param resume When true and sessionId is provided, use `--resume <id>` instead
72
+ * of `--session-id <id>`. `--session-id` creates a new session and
73
+ * fails with "already in use" if a JSONL already exists for that ID.
74
+ * `--resume` is designed to continue an existing session.
65
75
  */
66
- constructor(workingDir: string, sessionId?: string, extraEnv?: Record<string, string>, model?: string | undefined);
76
+ constructor(workingDir: string, sessionId?: string, extraEnv?: Record<string, string>, model?: string | undefined, permissionMode?: PermissionMode | undefined, resume?: boolean, allowedTools?: string[] | undefined);
67
77
  /** Spawn the Claude CLI process with stream-json I/O and acceptEdits mode. */
68
78
  start(): void;
69
79
  /** Parse a single NDJSON line from Claude's stdout and dispatch to the appropriate handler. */
@@ -78,7 +88,13 @@ export declare class ClaudeProcess extends EventEmitter<ClaudeProcessEvents> {
78
88
  private handleThinkingBlockStop;
79
89
  /** Finalize a tool block: parse input, handle task tools, emit tool_done, then reset state. */
80
90
  private handleToolBlockStop;
81
- /** No-op: assistant messages are handled via stream_event deltas instead. */
91
+ /**
92
+ * No-op: assistant messages are handled via stream_event deltas instead.
93
+ * Kept as an explicit method (rather than an empty `break`) so the switch
94
+ * case self-documents that this message type is intentionally consumed.
95
+ * Note: assistant events with --include-partial-messages contain tool_use blocks,
96
+ * but tool_results come in separate 'user' events — see handleUserEvent.
97
+ */
82
98
  private handleAssistantMessage;
83
99
  /** Extract tool_result blocks from 'user' events and emit as tool_output. */
84
100
  private handleUserEvent;
@@ -96,6 +112,8 @@ export declare class ClaudeProcess extends EventEmitter<ClaudeProcessEvents> {
96
112
  * for user interaction, not permissions).
97
113
  */
98
114
  private handleControlRequest;
115
+ /** Called by session-manager when PreToolUse hook approves ExitPlanMode. */
116
+ clearPendingExitPlanMode(): void;
99
117
  /** Send a control_response back to the CLI to allow or deny a pending request. */
100
118
  sendControlResponse(requestId: string, behavior: 'allow' | 'deny', updatedInput?: Record<string, unknown>, message?: string): void;
101
119
  /**
@@ -117,6 +135,8 @@ export declare class ClaudeProcess extends EventEmitter<ClaudeProcessEvents> {
117
135
  sendRaw(data: string): void;
118
136
  /** Gracefully stop the process (SIGTERM, then SIGKILL after 5s timeout). */
119
137
  stop(): void;
138
+ /** Returns a promise that resolves when the process exits. Resolves immediately if already dead. */
139
+ waitForExit(timeoutMs?: number): Promise<void>;
120
140
  isAlive(): boolean;
121
141
  getSessionId(): string;
122
142
  }