codekin 0.6.4 → 0.6.5

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 (46) hide show
  1. package/README.md +2 -2
  2. package/bin/codekin.mjs +69 -6
  3. package/dist/assets/{index-BRB_Ksyk.js → index-B0xIzdCK.js} +39 -34
  4. package/dist/index.html +1 -1
  5. package/package.json +3 -3
  6. package/server/dist/claude-process.d.ts +1 -0
  7. package/server/dist/claude-process.js +4 -1
  8. package/server/dist/claude-process.js.map +1 -1
  9. package/server/dist/commit-event-handler.d.ts +14 -1
  10. package/server/dist/commit-event-handler.js +40 -8
  11. package/server/dist/commit-event-handler.js.map +1 -1
  12. package/server/dist/config.d.ts +12 -0
  13. package/server/dist/config.js +24 -0
  14. package/server/dist/config.js.map +1 -1
  15. package/server/dist/orchestrator-children.d.ts +41 -1
  16. package/server/dist/orchestrator-children.js +87 -1
  17. package/server/dist/orchestrator-children.js.map +1 -1
  18. package/server/dist/orchestrator-monitor.js +13 -0
  19. package/server/dist/orchestrator-monitor.js.map +1 -1
  20. package/server/dist/orchestrator-notify.d.ts +29 -0
  21. package/server/dist/orchestrator-notify.js +27 -0
  22. package/server/dist/orchestrator-notify.js.map +1 -0
  23. package/server/dist/orchestrator-session-router.js +3 -0
  24. package/server/dist/orchestrator-session-router.js.map +1 -1
  25. package/server/dist/session-lifecycle.d.ts +1 -0
  26. package/server/dist/session-lifecycle.js +1 -0
  27. package/server/dist/session-lifecycle.js.map +1 -1
  28. package/server/dist/session-manager.d.ts +30 -0
  29. package/server/dist/session-manager.js +105 -6
  30. package/server/dist/session-manager.js.map +1 -1
  31. package/server/dist/session-routes.js +4 -1
  32. package/server/dist/session-routes.js.map +1 -1
  33. package/server/dist/tsconfig.tsbuildinfo +1 -1
  34. package/server/dist/upload-routes.js +33 -5
  35. package/server/dist/upload-routes.js.map +1 -1
  36. package/server/dist/workflow-engine.d.ts +1 -0
  37. package/server/dist/workflow-engine.js +25 -12
  38. package/server/dist/workflow-engine.js.map +1 -1
  39. package/server/dist/workflow-loader.js +95 -11
  40. package/server/dist/workflow-loader.js.map +1 -1
  41. package/server/dist/workflow-routes.js +36 -2
  42. package/server/dist/workflow-routes.js.map +1 -1
  43. package/server/dist/ws-message-handler.js +5 -1
  44. package/server/dist/ws-message-handler.js.map +1 -1
  45. package/server/dist/ws-server.js +28 -10
  46. package/server/dist/ws-server.js.map +1 -1
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
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-BRB_Ksyk.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-B0xIzdCK.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-Q2WSVlHo.css">
10
10
  </head>
11
11
  <body class="bg-neutral-12 text-neutral-2">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codekin",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
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",
@@ -69,8 +69,8 @@
69
69
  "globals": "^17.4.0",
70
70
  "highlight.js": "^11.11.1",
71
71
  "jsdom": "^29.0.1",
72
- "marked": "^17.0.4",
73
- "marked-highlight": "^2.2.3",
72
+ "marked": "^18.0.2",
73
+ "marked-highlight": "^2.2.4",
74
74
  "react": "^19.2.0",
75
75
  "react-diff-view": "^3.3.2",
76
76
  "react-dom": "^19.2.0",
@@ -51,6 +51,7 @@ export interface ClaudeProcessEvents {
51
51
  todo_update: [tasks: TaskItem[]];
52
52
  image: [base64: string, mediaType: string];
53
53
  result: [text: string, isError: boolean];
54
+ rate_limit: [event: Record<string, unknown>];
54
55
  error: [message: string];
55
56
  exit: [code: number | null, signal: string | null];
56
57
  }
@@ -233,7 +233,7 @@ export class ClaudeProcess extends EventEmitter {
233
233
  console.log(`[event] type=${event.type} subtype=${subtype || '-'}`);
234
234
  }
235
235
  // Log all event types we DON'T handle to catch unknown protocol messages
236
- if (!['system', 'stream_event', 'assistant', 'user', 'result', 'control_request'].includes(event.type)) {
236
+ if (!['system', 'stream_event', 'assistant', 'user', 'result', 'control_request', 'rate_limit_event'].includes(event.type)) {
237
237
  console.log(`[event-unhandled] type=${event.type} data=${JSON.stringify(event).slice(0, 300)}`);
238
238
  }
239
239
  switch (event.type) {
@@ -265,6 +265,9 @@ export class ClaudeProcess extends EventEmitter {
265
265
  this.handleControlRequest(ctrlEvent);
266
266
  break;
267
267
  }
268
+ case 'rate_limit_event':
269
+ this.emit('rate_limit', event);
270
+ break;
268
271
  }
269
272
  }
270
273
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude-process.js","sourceRoot":"","sources":["../claude-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-process.js","sourceRoot":"","sources":["../claude-process.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@
13
13
  * 4. Commit hash dedup — in-memory Map with 1h TTL, reject duplicates
14
14
  * 5. Concurrency cap — max 1 running commit-review per repo
15
15
  */
16
+ /**
17
+ * Sanitize a commit event field before it reaches a prompt.
18
+ * Strips ASCII control characters (0x00–0x1f, 0x7f) and truncates to maxLen.
19
+ */
20
+ export declare function sanitizeCommitField(s: string, maxLen?: number): string;
16
21
  export interface CommitEvent {
17
22
  repoPath: string;
18
23
  branch: string;
@@ -26,10 +31,18 @@ export interface CommitEventResult {
26
31
  runId?: string;
27
32
  }
28
33
  export declare class CommitEventHandler {
29
- /** commitHash → timestamp of when it was recorded. */
34
+ /**
35
+ * `${repoPath}::${commitHash}` → timestamp recorded.
36
+ *
37
+ * Keying by repoPath as well as the hash prevents a duplicate-suppression
38
+ * cross-talk between repos: two unrelated repos can legitimately produce
39
+ * the same short hash (or the same full hash, in degenerate cases) and
40
+ * each deserves its own commit-review run.
41
+ */
30
42
  private seenCommits;
31
43
  private cleanupTimer;
32
44
  constructor();
45
+ private dedupKey;
33
46
  /**
34
47
  * Process a commit event through the filter chain.
35
48
  * Returns accepted=true if a workflow run was dispatched.
@@ -17,6 +17,17 @@ import { getWorkflowEngine } from './workflow-engine.js';
17
17
  import { loadWorkflowConfig } from './workflow-config.js';
18
18
  import { getWorkflowCommitPrefixes, isWorkflowReportsBranch } from './workflow-loader.js';
19
19
  // ---------------------------------------------------------------------------
20
+ // Input sanitization
21
+ // ---------------------------------------------------------------------------
22
+ /**
23
+ * Sanitize a commit event field before it reaches a prompt.
24
+ * Strips ASCII control characters (0x00–0x1f, 0x7f) and truncates to maxLen.
25
+ */
26
+ export function sanitizeCommitField(s, maxLen = 500) {
27
+ // eslint-disable-next-line no-control-regex
28
+ return s.replace(/[\x00-\x1f\x7f]/g, '').slice(0, maxLen);
29
+ }
30
+ // ---------------------------------------------------------------------------
20
31
  // CommitEventHandler
21
32
  // ---------------------------------------------------------------------------
22
33
  /** TTL for commit hash deduplication entries (1 hour). */
@@ -24,26 +35,40 @@ const DEDUP_TTL_MS = 60 * 60 * 1000;
24
35
  /** Interval for cleaning up expired dedup entries (10 minutes). */
25
36
  const DEDUP_CLEANUP_INTERVAL_MS = 10 * 60 * 1000;
26
37
  export class CommitEventHandler {
27
- /** commitHash → timestamp of when it was recorded. */
38
+ /**
39
+ * `${repoPath}::${commitHash}` → timestamp recorded.
40
+ *
41
+ * Keying by repoPath as well as the hash prevents a duplicate-suppression
42
+ * cross-talk between repos: two unrelated repos can legitimately produce
43
+ * the same short hash (or the same full hash, in degenerate cases) and
44
+ * each deserves its own commit-review run.
45
+ */
28
46
  seenCommits = new Map();
29
47
  cleanupTimer;
30
48
  constructor() {
31
49
  // Periodically prune expired dedup entries
32
50
  this.cleanupTimer = setInterval(() => this.pruneExpired(), DEDUP_CLEANUP_INTERVAL_MS);
33
51
  }
52
+ dedupKey(repoPath, commitHash) {
53
+ return `${repoPath}::${commitHash}`;
54
+ }
34
55
  /**
35
56
  * Process a commit event through the filter chain.
36
57
  * Returns accepted=true if a workflow run was dispatched.
37
58
  */
38
59
  async handle(event) {
60
+ // Sanitize user-supplied fields before any filter checks or downstream use
61
+ const branch = sanitizeCommitField(event.branch, 200);
62
+ const commitMessage = sanitizeCommitField(event.commitMessage, 500);
63
+ const author = sanitizeCommitField(event.author, 200);
39
64
  // Layer 1: Branch filter
40
- if (isWorkflowReportsBranch(event.branch)) {
65
+ if (isWorkflowReportsBranch(branch)) {
41
66
  return { accepted: false, reason: 'Rejected: reports branch' };
42
67
  }
43
68
  // Layer 2: Message filter — reject if message starts with any workflow commit prefix
44
69
  const prefixes = getWorkflowCommitPrefixes();
45
70
  for (const prefix of prefixes) {
46
- if (event.commitMessage.startsWith(prefix)) {
71
+ if (commitMessage.startsWith(prefix)) {
47
72
  return { accepted: false, reason: `Rejected: workflow commit message (${prefix})` };
48
73
  }
49
74
  }
@@ -53,11 +78,13 @@ export class CommitEventHandler {
53
78
  if (!repoConfig) {
54
79
  return { accepted: false, reason: 'Rejected: no enabled commit-review config for this repo' };
55
80
  }
56
- // Layer 4: Commit hash dedup
57
- if (this.seenCommits.has(event.commitHash)) {
81
+ // Layer 4: Commit hash dedup (scoped per repoPath so identical hashes
82
+ // across different repos do not suppress each other).
83
+ const dedupKey = this.dedupKey(event.repoPath, event.commitHash);
84
+ if (this.seenCommits.has(dedupKey)) {
58
85
  return { accepted: false, reason: 'Rejected: duplicate commit hash' };
59
86
  }
60
- this.seenCommits.set(event.commitHash, Date.now());
87
+ this.seenCommits.set(dedupKey, Date.now());
61
88
  // Layer 5: Concurrency cap — max 1 running commit-review per repo
62
89
  const engine = getWorkflowEngine();
63
90
  const activeRuns = engine.listRuns({ kind: 'commit-review', status: 'running', limit: 100 });
@@ -71,6 +98,9 @@ export class CommitEventHandler {
71
98
  repoPath: event.repoPath,
72
99
  repoName: repoConfig.name,
73
100
  commitHash: event.commitHash,
101
+ commitMessage,
102
+ branch,
103
+ author,
74
104
  customPrompt: repoConfig.customPrompt,
75
105
  model: repoConfig.model,
76
106
  provider: repoConfig.provider,
@@ -79,6 +109,8 @@ export class CommitEventHandler {
79
109
  return { accepted: true, runId: run.id };
80
110
  }
81
111
  catch (err) {
112
+ // Roll back the dedup entry so a later retry isn't suppressed.
113
+ this.seenCommits.delete(dedupKey);
82
114
  const msg = err instanceof Error ? err.message : String(err);
83
115
  console.error(`[commit-event] Failed to start run for ${event.repoPath}:`, msg);
84
116
  return { accepted: false, reason: `Failed to start run: ${msg}` };
@@ -87,9 +119,9 @@ export class CommitEventHandler {
87
119
  /** Remove dedup entries older than the TTL. */
88
120
  pruneExpired() {
89
121
  const cutoff = Date.now() - DEDUP_TTL_MS;
90
- for (const [hash, ts] of this.seenCommits) {
122
+ for (const [key, ts] of this.seenCommits) {
91
123
  if (ts < cutoff)
92
- this.seenCommits.delete(hash);
124
+ this.seenCommits.delete(key);
93
125
  }
94
126
  }
95
127
  /** Clean up resources. */
@@ -1 +1 @@
1
- {"version":3,"file":"commit-event-handler.js","sourceRoot":"","sources":["../commit-event-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-event-handler.js","sourceRoot":"","sources":["../commit-event-handler.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,18 @@ export declare const FRONTEND_DIST: string;
39
39
  export declare const TRUST_PROXY: boolean;
40
40
  /** GitHub organizations for repo listing (comma-separated). Empty string disables org listing. */
41
41
  export declare const GH_ORGS: string[];
42
+ /**
43
+ * Auto-restart Claude processes that were alive at the previous shutdown
44
+ * (and the always-on orchestrator session) when the server boots.
45
+ * Default: off. Set CODEKIN_AUTO_RESTORE_SESSIONS=true to opt in.
46
+ */
47
+ export declare const AUTO_RESTORE_SESSIONS: boolean;
48
+ /**
49
+ * Run the orchestrator proactive monitor (15-minute polling that pokes the
50
+ * orchestrator Claude session for new reports and idle repos).
51
+ * Default: off. Set CODEKIN_ORCHESTRATOR_MONITOR=true to opt in.
52
+ */
53
+ export declare const ORCHESTRATOR_MONITOR: boolean;
42
54
  /** Default display name for the orchestrator agent. Configurable via CODEKIN_AGENT_NAME env var. */
43
55
  export declare const AGENT_DISPLAY_NAME: string;
44
56
  export declare function setAgentDisplayNameResolver(resolver: () => string): void;
@@ -100,6 +100,30 @@ export const TRUST_PROXY = process.env.TRUST_PROXY === 'true' || process.env.TRU
100
100
  /** GitHub organizations for repo listing (comma-separated). Empty string disables org listing. */
101
101
  export const GH_ORGS = (process.env.GH_ORG || '').split(',').map(s => s.trim()).filter(Boolean);
102
102
  // ---------------------------------------------------------------------------
103
+ // Background activity ("quiet mode" defaults)
104
+ // ---------------------------------------------------------------------------
105
+ //
106
+ // Codekin authenticates via the user's `claude` CLI, so any background
107
+ // API call is billed against their personal subscription quota. Default
108
+ // behaviour is therefore "make no Claude API calls until the user explicitly
109
+ // asks for one." Each background source is opt-in via env var.
110
+ function envFlag(name) {
111
+ const v = process.env[name];
112
+ return v === 'true' || v === '1';
113
+ }
114
+ /**
115
+ * Auto-restart Claude processes that were alive at the previous shutdown
116
+ * (and the always-on orchestrator session) when the server boots.
117
+ * Default: off. Set CODEKIN_AUTO_RESTORE_SESSIONS=true to opt in.
118
+ */
119
+ export const AUTO_RESTORE_SESSIONS = envFlag('CODEKIN_AUTO_RESTORE_SESSIONS');
120
+ /**
121
+ * Run the orchestrator proactive monitor (15-minute polling that pokes the
122
+ * orchestrator Claude session for new reports and idle repos).
123
+ * Default: off. Set CODEKIN_ORCHESTRATOR_MONITOR=true to opt in.
124
+ */
125
+ export const ORCHESTRATOR_MONITOR = envFlag('CODEKIN_ORCHESTRATOR_MONITOR');
126
+ // ---------------------------------------------------------------------------
103
127
  // Orchestrator (Agent)
104
128
  // ---------------------------------------------------------------------------
105
129
  /** Default display name for the orchestrator agent. Configurable via CODEKIN_AGENT_NAME env var. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,MAAM,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,qDAAqD;AACrD,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,CAAC,CAAA;AAE7D,oGAAoG;AACpG,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uBAAuB,CAAA;AAE7E,2EAA2E;AAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACtE,OAAO,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAA;IAC3G,OAAO,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAA;IACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IAC/E,OAAO,CAAC,KAAK,CAAC,oGAAoG,CAAC,CAAA;IACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;IAEzD,yDAAyD;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAA;IACnD,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAChD,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;AAEzC,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,4FAA4F;AAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC;IAChD,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;IAC5B,CAAC,CAAC,YAAY,CAAA;AAEhB;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAClF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAA;AAE3E,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;AAE3F;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;IACjC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAA;QACtG,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAA;AAE5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAA;AAEhG,kGAAkG;AAClG,MAAM,CAAC,MAAM,OAAO,GAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAEzG,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAC9E,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,6EAA6E;AAC7E,+DAA+D;AAE/D,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,CAAA;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAA;AAE7E;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAA;AAE3E,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,oGAAoG;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAA;AAEzE;;;;GAIG;AACH,IAAI,kBAAkB,GAA0B,IAAI,CAAA;AAEpD,MAAM,UAAU,2BAA2B,CAAC,QAAsB;IAChE,kBAAkB,GAAG,QAAQ,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,kBAAkB,EAAE,EAAE,IAAI,kBAAkB,CAAA;AACrD,CAAC"}
@@ -6,6 +6,7 @@
6
6
  * and result polling.
7
7
  */
8
8
  import type { SessionManager } from './session-manager.js';
9
+ import { type OrchestratorNotifyArgs } from './orchestrator-notify.js';
9
10
  export interface ChildSessionRequest {
10
11
  /** Target repository path. */
11
12
  repo: string;
@@ -25,6 +26,13 @@ export interface ChildSessionRequest {
25
26
  model?: string;
26
27
  /** Optional allowedTools override. When omitted, uses AGENT_CHILD_ALLOWED_TOOLS. */
27
28
  allowedTools?: string[];
29
+ /**
30
+ * Session ID of the orchestrator that spawned this child. When set, the
31
+ * parent receives a push notification on terminal-state transitions.
32
+ * Children created without this field (e.g. internal/test fixtures) do
33
+ * not generate notifications.
34
+ */
35
+ parentSessionId?: string;
28
36
  }
29
37
  export type ChildStatus = 'starting' | 'running' | 'completed' | 'failed' | 'timed_out';
30
38
  export interface ChildSession {
@@ -35,7 +43,18 @@ export interface ChildSession {
35
43
  completedAt: string | null;
36
44
  result: string | null;
37
45
  error: string | null;
46
+ /**
47
+ * Timestamp when a terminal-state notification was delivered to the
48
+ * parent orchestrator. Used to enforce single-fire idempotency.
49
+ */
50
+ terminalNotifiedAt: string | null;
38
51
  }
52
+ /**
53
+ * Function signature for delivering a terminal-state notification to the
54
+ * parent orchestrator session. Injectable via the OrchestratorChildManager
55
+ * constructor so unit tests can stub the delivery without touching socket I/O.
56
+ */
57
+ export type ChildNotifyFn = (args: OrchestratorNotifyArgs) => boolean;
39
58
  /**
40
59
  * Default allowed tools for agent child sessions. Covers standard dev
41
60
  * operations without granting arbitrary shell access. Destructive commands
@@ -46,7 +65,10 @@ export declare const AGENT_CHILD_ALLOWED_TOOLS: string[];
46
65
  export declare class OrchestratorChildManager {
47
66
  private children;
48
67
  private sessions;
49
- constructor(sessions: SessionManager);
68
+ private notify;
69
+ constructor(sessions: SessionManager, opts?: {
70
+ notify?: ChildNotifyFn;
71
+ });
50
72
  /** Get all active/recent child sessions. */
51
73
  list(): ChildSession[];
52
74
  /** Get a child session by ID. */
@@ -60,6 +82,24 @@ export declare class OrchestratorChildManager {
60
82
  * Returns the child session info or throws if at capacity.
61
83
  */
62
84
  spawn(request: ChildSessionRequest): Promise<ChildSession>;
85
+ /**
86
+ * Deliver a single terminal-state notification to the parent orchestrator
87
+ * session. No-op (and idempotent) when the child has no parent, the status
88
+ * is not terminal, or a notification has already been delivered.
89
+ */
90
+ private notifyTerminal;
91
+ /**
92
+ * Build the multi-line body for a terminal-state notification: status,
93
+ * branch, repo, optional error string, and an action hint tailored to
94
+ * the terminal status.
95
+ */
96
+ private buildTerminalNotificationBody;
97
+ /**
98
+ * Build a single-line hint about how to proceed, tailored to the status:
99
+ * - timed_out / failed → point at the worktree so partial work can be salvaged
100
+ * - completed → remind that the PR may still need to be opened
101
+ */
102
+ private buildHintLine;
63
103
  /**
64
104
  * Build a focused task prompt for a child session.
65
105
  */
@@ -7,6 +7,13 @@
7
7
  */
8
8
  import { randomUUID } from 'crypto';
9
9
  import { getAgentDisplayName } from './config.js';
10
+ import { sendOrchestratorNotification, } from './orchestrator-notify.js';
11
+ /** Statuses considered terminal — once entered, the child is done. */
12
+ const TERMINAL_STATUSES = new Set([
13
+ 'completed',
14
+ 'failed',
15
+ 'timed_out',
16
+ ]);
10
17
  // ---------------------------------------------------------------------------
11
18
  // Constants
12
19
  // ---------------------------------------------------------------------------
@@ -47,8 +54,10 @@ export const AGENT_CHILD_ALLOWED_TOOLS = [
47
54
  export class OrchestratorChildManager {
48
55
  children = new Map();
49
56
  sessions;
50
- constructor(sessions) {
57
+ notify;
58
+ constructor(sessions, opts) {
51
59
  this.sessions = sessions;
60
+ this.notify = opts?.notify ?? ((args) => sendOrchestratorNotification(sessions, args));
52
61
  }
53
62
  /** Get all active/recent child sessions. */
54
63
  list() {
@@ -107,6 +116,7 @@ export class OrchestratorChildManager {
107
116
  completedAt: null,
108
117
  result: null,
109
118
  error: null,
119
+ terminalNotifiedAt: null,
110
120
  };
111
121
  this.children.set(sessionId, child);
112
122
  try {
@@ -145,9 +155,82 @@ export class OrchestratorChildManager {
145
155
  child.status = 'failed';
146
156
  child.error = err instanceof Error ? err.message : String(err);
147
157
  child.completedAt = new Date().toISOString();
158
+ this.notifyTerminal(child);
148
159
  return child;
149
160
  }
150
161
  }
162
+ /**
163
+ * Deliver a single terminal-state notification to the parent orchestrator
164
+ * session. No-op (and idempotent) when the child has no parent, the status
165
+ * is not terminal, or a notification has already been delivered.
166
+ */
167
+ notifyTerminal(child) {
168
+ if (child.terminalNotifiedAt)
169
+ return;
170
+ if (!TERMINAL_STATUSES.has(child.status))
171
+ return;
172
+ const parentSessionId = child.request.parentSessionId;
173
+ if (!parentSessionId)
174
+ return;
175
+ const args = {
176
+ parentSessionId,
177
+ label: 'Child Session Stopped',
178
+ title: `Session: ${getAgentDisplayName().toLowerCase()}:${child.request.branchName} (${child.id})`,
179
+ body: this.buildTerminalNotificationBody(child),
180
+ };
181
+ // Only stamp `terminalNotifiedAt` on confirmed delivery so that a
182
+ // transient parent-down (notify returns false / throws) does not
183
+ // permanently suppress future retries. Idempotency is still enforced
184
+ // by the early-return on terminalNotifiedAt at the top of this method.
185
+ let delivered = false;
186
+ try {
187
+ delivered = this.notify(args);
188
+ }
189
+ catch (err) {
190
+ console.warn(`[orchestrator-child] Failed to notify parent ${parentSessionId} for ${child.id}:`, err);
191
+ }
192
+ if (delivered) {
193
+ child.terminalNotifiedAt = new Date().toISOString();
194
+ }
195
+ }
196
+ /**
197
+ * Build the multi-line body for a terminal-state notification: status,
198
+ * branch, repo, optional error string, and an action hint tailored to
199
+ * the terminal status.
200
+ */
201
+ buildTerminalNotificationBody(child) {
202
+ const lines = [
203
+ `Status: ${child.status}`,
204
+ `Branch: ${child.request.branchName}`,
205
+ `Repo: ${child.request.repo}`,
206
+ ];
207
+ if (child.error)
208
+ lines.push(`Error: ${child.error}`);
209
+ lines.push(this.buildHintLine(child));
210
+ return lines.join('\n');
211
+ }
212
+ /**
213
+ * Build a single-line hint about how to proceed, tailored to the status:
214
+ * - timed_out / failed → point at the worktree so partial work can be salvaged
215
+ * - completed → remind that the PR may still need to be opened
216
+ */
217
+ buildHintLine(child) {
218
+ const session = this.sessions.get(child.id);
219
+ const worktreePath = session?.worktreePath;
220
+ if (child.status === 'timed_out' || child.status === 'failed') {
221
+ const where = worktreePath ?? `${child.request.repo} (no worktree)`;
222
+ return `Inspect worktree at ${where} for partial work.`;
223
+ }
224
+ if (child.status === 'completed') {
225
+ const policy = child.request.completionPolicy;
226
+ if (policy === 'pr')
227
+ return 'Verify the PR was opened — push and create one if not.';
228
+ if (policy === 'merge')
229
+ return 'Verify the branch was pushed.';
230
+ return 'Verify changes were committed locally as expected.';
231
+ }
232
+ return 'Review the child session output before deciding next steps.';
233
+ }
151
234
  /**
152
235
  * Build a focused task prompt for a child session.
153
236
  */
@@ -275,6 +358,9 @@ export class OrchestratorChildManager {
275
358
  // handleClaudeResult should have already done this, but edge cases
276
359
  // (nudge race, missed result event) can leave the flag stuck.
277
360
  this.sessions.clearProcessingFlag(child.id);
361
+ // Push-notify the parent orchestrator so it learns about the terminal
362
+ // state immediately, instead of waiting for the 30-minute polling cron.
363
+ this.notifyTerminal(child);
278
364
  }
279
365
  }
280
366
  /**