@straiffi/archon 1.10.8 → 1.10.9

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 (78) hide show
  1. package/dist/client/assets/{ActivityView-PGEex8sS.js → ActivityView-CKvbDXeA.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-CwsZRevc.js → GitHubActionsDialog-Dzo0vtak.js} +1 -1
  3. package/dist/client/assets/{VerificationDialog-BYE1M9T2.js → VerificationDialog-BJnOitrJ.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CzUKSWJZ.js → architectureDiagram-3BPJPVTR-BAIGV9Mj.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-DoNm6BnS.js → blockDiagram-GPEHLZMM-B-5v5jSZ.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-C7ocs3wQ.js → c4Diagram-AAUBKEIU-C6wU415o.js} +1 -1
  7. package/dist/client/assets/channel-5mIy7nm1.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-DUmaxCq8.js → chunk-2J33WTMH-COmvX2tP.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-CX2MPsMQ.js → chunk-3OPIFGDE-BlANptdY.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-B103kU_y.js → chunk-5ZQYHXKU-ETyA2_GU.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-BmLJ4h5X.js → chunk-727SXJPM-D5-DudwF.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-Cnv1b4Vd.js → chunk-AQP2D5EJ-k1AJ4sA3.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-CkIUhpY9.js → chunk-CSCIHK7Q-jfksXwY9.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-wmkCuZ5U.js → chunk-KSCS5N6A-CHj0FDj9.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-D9AdL5mv.js → chunk-L5ZTLDWV-1ODGxXhG.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-rMyTvR3J.js → chunk-LZXEDZCA-Bgh9X2W0.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-19HTozu8.js → chunk-ND2GUHAM-DDkb3sp4.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-DBHgwKcS.js → chunk-NZK2D7GU-B6B8PZ_-.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-4WpSG06s.js → chunk-O5CBEL6O-DhiUIFgj.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-loqCl7ki.js → chunk-WU5MYG2G-Dzd0fbP3.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BiQ-X2Sg.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CF-wCYW-.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-FVpIr0qZ.js → dagre-BM42HDAG-DoNDMCXI.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-Dgj8FaDO.js → diagram-2AECGRRQ-ETDXSa5q.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-DNpYKz_a.js → diagram-5GNKFQAL-CgTUep7e.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-N7R7efvN.js → diagram-KO2AKTUF-BKTx2iRe.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-hoOvd_tG.js → diagram-LMA3HP47-9iEiScHT.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-ze25ZIy6.js → diagram-OG6HWLK6-UIZRh7Qa.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-780zvNNZ.js → erDiagram-TEJ5UH35-BpNJmJva.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-x4UB_M_4.js → flowDiagram-I6XJVG4X-C-rK0XZ1.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-B5Wl0y91.js → ganttDiagram-6RSMTGT7-DWyfPvv_.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CZtVHpBH.js → gitGraphDiagram-PVQCEYII-x71bzdc_.js} +1 -1
  33. package/dist/client/assets/index-CIAO5aE_.css +2 -0
  34. package/dist/client/assets/{index-Cy3ZoenG.js → index-nCGyalrn.js} +6 -6
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-BOzLwsnA.js → infoDiagram-5YYISTIA-CbRus0Xu.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-ButBhNg6.js → ishikawaDiagram-YF4QCWOH-DvaMHrgN.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-CO0Db0Gn.js → journeyDiagram-JHISSGLW-BQBu4YGn.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-B6KT8yln.js → kanban-definition-UN3LZRKU-8rU-U7L1.js} +1 -1
  39. package/dist/client/assets/{line-Cv-WaOjt.js → line-CSZnwjLA.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-DgJy4Qlx.js → mermaid-parser.core-CTOl2slE.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-YpvipwZo.js → mermaid.core-B9gr0Vqf.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DGgtT98Y.js → mindmap-definition-RKZ34NQL-But1_PWQ.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-CgqnLewO.js → pieDiagram-4H26LBE5-CnlVmfSG.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Ci_0SzdR.js → quadrantDiagram-W4KKPZXB-Dww1ZGuR.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-wJl0DP74.js → requirementDiagram-4Y6WPE33-CNf_loe8.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-CE7aDnzF.js → sankeyDiagram-5OEKKPKP-DBhi37Jj.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-CW0bF1i6.js → sequenceDiagram-3UESZ5HK-B64hb4E4.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-Ccl0RXsJ.js → stateDiagram-AJRCARHV-DcS6oB-S.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-PWeeL0tR.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-TuF6SUnb.js → timeline-definition-PNZ67QCA-Dq-4tXfh.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-D8OvSROI.js → vennDiagram-CIIHVFJN-CeDklSE_.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DXW3R5NJ.js → wardleyDiagram-YWT4CUSO-D2cJISMm.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-qdiUQDW9.js → xychartDiagram-2RQKCTM6-CBF-tTpF.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/index.js +25 -21
  56. package/dist/server/index.js.map +1 -1
  57. package/dist/server/lib/boundedProcess.js +129 -0
  58. package/dist/server/lib/boundedProcess.js.map +1 -0
  59. package/dist/server/lib/bundleReviewOperations.js +7 -0
  60. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  61. package/dist/server/lib/chats.js +12 -0
  62. package/dist/server/lib/chats.js.map +1 -1
  63. package/dist/server/lib/git.js +89 -48
  64. package/dist/server/lib/git.js.map +1 -1
  65. package/dist/server/lib/integrations/github.js +49 -105
  66. package/dist/server/lib/integrations/github.js.map +1 -1
  67. package/dist/server/lib/mobileAccess.js.map +1 -1
  68. package/dist/server/lib/reviewFindings.js +31 -2
  69. package/dist/server/lib/reviewFindings.js.map +1 -1
  70. package/dist/server/lib/tickets.js +46 -8
  71. package/dist/server/lib/tickets.js.map +1 -1
  72. package/dist/server/lib/types.js.map +1 -1
  73. package/package.json +1 -1
  74. package/dist/client/assets/channel-b-KoJfeL.js +0 -1
  75. package/dist/client/assets/classDiagram-4FO5ZUOK-2c5Acffy.js +0 -1
  76. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ClrW9LEB.js +0 -1
  77. package/dist/client/assets/index-BXsDja_y.css +0 -2
  78. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-k65NSsdn.js +0 -1
@@ -0,0 +1,129 @@
1
+ import { spawn } from 'child_process';
2
+ export class BoundedProcessError extends Error {
3
+ reason;
4
+ causeError;
5
+ constructor(reason, message, causeError = null) {
6
+ super(message);
7
+ this.name = 'BoundedProcessError';
8
+ this.reason = reason;
9
+ this.causeError = causeError;
10
+ }
11
+ }
12
+ const signalProcessTree = (child, detached, signal) => {
13
+ if (detached && child.pid) {
14
+ try {
15
+ process.kill(-child.pid, signal);
16
+ return;
17
+ }
18
+ catch {
19
+ // The process group may have exited before it could be signalled.
20
+ }
21
+ }
22
+ if (child.exitCode === null && child.signalCode === null) {
23
+ try {
24
+ child.kill(signal);
25
+ }
26
+ catch {
27
+ // Exit races are safe because interruption is best effort.
28
+ }
29
+ }
30
+ };
31
+ const destroyProcessStreams = (child) => {
32
+ child.stdin.destroy();
33
+ child.stdout.destroy();
34
+ child.stderr.destroy();
35
+ };
36
+ export const runBoundedProcess = (command, args, options) => new Promise((resolve, reject) => {
37
+ const detached = process.platform !== 'win32';
38
+ let child;
39
+ try {
40
+ child = spawn(command, args, {
41
+ cwd: options.cwd,
42
+ detached,
43
+ env: options.env,
44
+ stdio: ['pipe', 'pipe', 'pipe'],
45
+ });
46
+ }
47
+ catch (error) {
48
+ const causeError = error instanceof Error ? error : new Error(String(error));
49
+ reject(new BoundedProcessError('spawn', causeError.message, causeError));
50
+ return;
51
+ }
52
+ const stdoutChunks = [];
53
+ const stderrChunks = [];
54
+ let outputBytes = 0;
55
+ let settled = false;
56
+ let killTimer = null;
57
+ const clearKillTimer = () => {
58
+ if (killTimer) {
59
+ clearTimeout(killTimer);
60
+ killTimer = null;
61
+ }
62
+ };
63
+ const settle = (callback) => {
64
+ if (settled) {
65
+ return;
66
+ }
67
+ settled = true;
68
+ clearTimeout(timeoutTimer);
69
+ callback();
70
+ };
71
+ const terminate = () => {
72
+ signalProcessTree(child, detached, 'SIGTERM');
73
+ killTimer = setTimeout(() => {
74
+ signalProcessTree(child, detached, 'SIGKILL');
75
+ destroyProcessStreams(child);
76
+ }, options.killGraceMs);
77
+ killTimer.unref?.();
78
+ };
79
+ const fail = (reason, message, causeError = null) => {
80
+ terminate();
81
+ settle(() => reject(new BoundedProcessError(reason, message, causeError)));
82
+ };
83
+ const timeoutTimer = setTimeout(() => {
84
+ fail('timeout', `${command} timed out after ${options.timeoutMs}ms`);
85
+ }, options.timeoutMs);
86
+ timeoutTimer.unref?.();
87
+ const collectChunk = (chunks, chunk) => {
88
+ if (settled) {
89
+ return;
90
+ }
91
+ outputBytes += chunk.byteLength;
92
+ if (outputBytes > options.maxOutputBytes) {
93
+ fail('output_limit', `${command} output exceeded ${options.maxOutputBytes} bytes`);
94
+ return;
95
+ }
96
+ chunks.push(chunk);
97
+ };
98
+ child.stdout.on('data', (chunk) => collectChunk(stdoutChunks, chunk));
99
+ child.stderr.on('data', (chunk) => collectChunk(stderrChunks, chunk));
100
+ child.stdin.on('error', () => {
101
+ // Process exit and timeout handling provide the caller-facing failure.
102
+ });
103
+ child.on('error', error => {
104
+ if (settled) {
105
+ return;
106
+ }
107
+ clearKillTimer();
108
+ settle(() => reject(new BoundedProcessError('spawn', error.message, error)));
109
+ });
110
+ child.on('close', code => {
111
+ if (settled) {
112
+ return;
113
+ }
114
+ clearKillTimer();
115
+ settle(() => resolve({
116
+ stdout: Buffer.concat(stdoutChunks).toString('utf8'),
117
+ stderr: Buffer.concat(stderrChunks).toString('utf8'),
118
+ code,
119
+ }));
120
+ });
121
+ try {
122
+ child.stdin.end(options.input);
123
+ }
124
+ catch (error) {
125
+ const causeError = error instanceof Error ? error : new Error(String(error));
126
+ fail('spawn', causeError.message, causeError);
127
+ }
128
+ });
129
+ //# sourceMappingURL=boundedProcess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boundedProcess.js","sourceRoot":"","sources":["../../../server/lib/boundedProcess.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { getBundle, getTicket, listTickets, assignTicketLaneOrder, resolveTicket
4
4
  import { getActiveBundleStageChangeHead } from './ticketUndo.js';
5
5
  import { resolveReviewContinuation, startReview } from '../workers/review.js';
6
6
  import { hasActiveBuildOpenQuestionBatch, listBuildOpenQuestionsForBundle } from './buildOpenQuestions.js';
7
+ import { hasActiveBundleChatSession } from './chats.js';
7
8
  import { getProjectById } from './projects.js';
8
9
  import { getBundleAutomationState, resolveAutomationConfig } from './ticketAutomation.js';
9
10
  import { areBundleTicketsReadyForAutomaticReview } from './bundleAutomationReadiness.js';
@@ -155,6 +156,12 @@ export const resolveBundleReviewOwner = (projectId, bundleId) => {
155
156
  return tickets.find(ticket => ticket.state === 'review' && ticket.undo?.stage === 'review') ?? null;
156
157
  };
157
158
  const getBundleReviewEligibilityError = (projectId, bundleId, options, automaticRerunAuthorized) => {
159
+ if (hasActiveBundleChatSession(projectId, bundleId)) {
160
+ return { error: 'Bundle Chat work is still in progress' };
161
+ }
162
+ if (getBundleTickets(projectId, bundleId).some(ticket => ticket.parked_at === null && ticket.agent_status === 'running')) {
163
+ return { error: 'Bundle ticket work is still in progress' };
164
+ }
158
165
  if (hasActiveBuildOpenQuestionBatch(projectId, bundleId)) {
159
166
  return { error: 'Build open question resolution is still in progress' };
160
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bundleReviewOperations.js","sourceRoot":"","sources":["../../../server/lib/bundleReviewOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAoD,MAAM,sBAAsB,CAAA;AAC/H,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,uCAAuC,EAAE,MAAM,gCAAgC,CAAA;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAmB/D,MAAM,kCAAkC,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCrD,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE;IAC/D,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAA;AACxF,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAkB,EAAE,EAAE;IACxF,OAAO,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;AACpH,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,OAAiB,EAAE,EAAE;IACtD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,IAAI,MAAM,CAAC,gBAAgB,CAAA;QAC9E,MAAM,aAAa,GAAG,KAAK,CAAC,yBAAyB,IAAI,MAAM,CAAC,gBAAgB,CAAA;QAChF,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,OAAO,YAAY,GAAG,aAAa,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE;IAC7E,MAAM,GAAG,GAAG,kCAAkC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAsD,CAAA;IAC5H,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAiB,EACjB,QAAgB,EAChB,WAA+B,EACC,EAAE;IAClC,IAAI,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;QAC5E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,8DAA8D,EAAE,CAAA;IAC1G,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,+DAA+D,EAAE,CAAA;IAC3G,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE;QAC3D,UAAU,EAAE;YACV,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,QAAQ,CAAC,KAAK;SACjC;QACD,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC;KACxD,CAAC,CAAA;IACF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACxD,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAA;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAA;AAC3F,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CACrC,SAAiB,EACjB,QAAgB,EAChB,aAAsD,EACtD,gBAA+B,EAC/B,EAAE;IACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACjE,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;QAChF,MAAM,2BAA2B,GAAG,SAAS,EAAE,KAAK,KAAK,qBAAqB;eACzE,SAAS,CAAC,iCAAiC,KAAK,gBAAgB;eAChE,gBAAgB,KAAK,IAAI;eACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAC7D,eAAe,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,MAAM,IAAI,EAAE,CAC3D,CAAA;QACH,IACE,WAAW,EAAE,EAAE,KAAK,aAAa,CAAC,gBAAgB;eAC/C,CAAC,SAAS;eACV,SAAS,CAAC,6BAA6B,KAAK,WAAW,CAAC,EAAE;eAC1D,SAAS,CAAC,kBAAkB,KAAK,QAAQ;eACzC,CAAC,SAAS,CAAC,KAAK,KAAK,sBAAsB,IAAI,CAAC,2BAA2B,CAAC;eAC5E,CAAC,SAAS,CAAC,sBAAsB;eACjC,CAAC,SAAS,CAAC,aAAa,EAC3B,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;QAClE,OAAO,MAAM,EAAE,MAAM,KAAK,WAAW;YACnC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,EAAE;IAClD,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEvE,EAAE,CAAC,OAAO,CACR,qJAAqJ,CACtJ,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IAEnG,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE;IAC9E,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACtC,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACzE,OAAO,gBAAgB,EAAE,SAAS,KAAK,MAAM,CAAC,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAA;AACrG,CAAC,CAAA;AAED,MAAM,+BAA+B,GAAG,CACtC,SAAiB,EACjB,QAAgB,EAChB,OAAgC,EAChC,wBAAiC,EACI,EAAE;IACvC,IAAI,+BAA+B,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAA;IACzE,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,uCAAuC,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC9F,OAAO;gBACL,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,uFAAuF;aAC/F,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC7C,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjE,IAAI,gBAAgB,CAAC,oBAAoB,IAAI,+BAA+B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7G,OAAO,EAAE,KAAK,EAAE,8EAA8E,EAAE,CAAA;QAClG,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;YACjH,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAA;IAC9E,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAA;IAClF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,gFAAgF,EAAE,CAAA;IACpG,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,MAAc,EAAE,EAAE;IACrE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,2CAA2C,CAAA;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,IAAI,+BAA+B,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/G,OAAO,qDAAqD,CAAA;IAC9D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAYD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,QAAgB,EAChB,WAA+B,EAC/B,UAA+B,EAAE,EACD,EAAE;IAClC,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS;QAC/C,CAAC,CAAC,8BAA8B,CAC5B,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,UAAU,EAAE,gBAAgB,IAAI,IAAI,CAC7C;QACH,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,8BAA8B,GAAG,OAAO,CAC5C,OAAO,CAAC,SAAS;WACd,OAAO,CAAC,oBAAoB;WAC5B,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CACvG,CAAA;IACD,MAAM,wBAAwB,GAAG,uBAAuB,KAAK,IAAI,IAAI,8BAA8B,CAAA;IACnG,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAA;IAChH,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1E,MAAM,iBAAiB,GAAG,uBAAuB;YAC/C,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,uBAAuB,CAAC,eAAe,CAAC,IAAI,IAAI;YAC7F,CAAC,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAA;QAC5C,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,wBAAwB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAA;QACtG,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAA;QACpF,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE;YACvD,UAAU,EAAE;gBACV,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;gBACpD,GAAG,OAAO,CAAC,UAAU;aACtB;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC,CAAA;QACF,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzE,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gBACxD,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAA;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACtD,CAAC;IAED,MAAM,iBAAiB,GAAG,uBAAuB;QAC/C,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,uBAAuB,CAAC,eAAe,CAAC,IAAI,IAAI;QAC5F,CAAC,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;IAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAA;IACpF,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,UAAU,EAAG,MAAkD,CAAC,UAAU,IAAI,IAAI;KACnF,CAAC,CAAC,CAAA;IACH,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,EAAE,WAAW,EAAE;QAC7D,UAAU,EAAE;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;YACpD,GAAG,OAAO,CAAC,UAAU;SACtB;QACD,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,YAAY,GAAG,YAAY;iBAC9B,GAAG,CAAC,wBAAwB,CAAC;iBAC7B,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;YACxD,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YACjE,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC,CAAA;YACnF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;YAC3D,CAAC;YACD,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;YAC/C,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,GAAG,EAAE;oBACf,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAA;oBACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,EAAE,CAAC,OAAO,CAAC;;;;aAIV,CAAC,CAAC,GAAG,CACJ,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,EAAE,CACZ,CAAA;oBACH,CAAC;gBACH,CAAC;aACF,CAAA;QACH,CAAC;QACD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAA;IACF,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACxD,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IACnD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,MAAc,EACd,WAA+B,EAC/B,UAA+B,EAAE,EACD,EAAE;IAClC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE;QAClD,UAAU,EAAE;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;YACpD,GAAG,OAAO,CAAC,UAAU;SACtB;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAA;IACF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACxD,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAA;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAA;AACzE,CAAC,CAAA"}
1
+ {"version":3,"file":"bundleReviewOperations.js","sourceRoot":"","sources":["../../../server/lib/bundleReviewOperations.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,15 @@ const getChatSessionStatement = db.prepare(`
65
65
  FROM chat_sessions
66
66
  WHERE id = ?
67
67
  `);
68
+ const hasActiveBundleChatSessionStatement = db.prepare(`
69
+ SELECT 1
70
+ FROM chat_sessions
71
+ WHERE project_id = ?
72
+ AND target_kind = 'bundle'
73
+ AND target_bundle_id = ?
74
+ AND agent_status = 'running'
75
+ LIMIT 1
76
+ `);
68
77
  const insertChatSessionStatement = db.prepare(`
69
78
  INSERT INTO chat_sessions (
70
79
  id, project_id, title, mode, tool, model, variant, skills_json,
@@ -282,6 +291,9 @@ export const listChatSessions = (projectId) => {
282
291
  export const getChatSession = (id, options = {}) => {
283
292
  return serializeChatSession(getChatSessionStatement.get(id), options);
284
293
  };
294
+ export const hasActiveBundleChatSession = (projectId, bundleId) => {
295
+ return Boolean(hasActiveBundleChatSessionStatement.get(projectId, bundleId));
296
+ };
285
297
  export const createChatSession = ({ projectId, mode, tool, model, variant, skills, title = DEFAULT_CHAT_SESSION_TITLE, originSpecSessionId = null, originSpecSnapshotId = null, externalSource = null, targetOverride, }) => {
286
298
  const id = randomUUID();
287
299
  const target = targetOverride ?? resolveInitialSessionTarget(projectId);
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../server/lib/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../server/lib/chats.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { cp as cpAsync, lstat as lstatAsync, mkdir as mkdirAsync, stat as statAs
5
5
  import { tmpdir } from 'os';
6
6
  import { dirname, isAbsolute, join, relative, resolve } from 'path';
7
7
  import db from '../db.js';
8
+ import { runBoundedProcess } from './boundedProcess.js';
8
9
  import { getProjectWorktreeSync } from './projects.js';
9
10
  import { createWorkspaceProcessEnvironment } from './workspaceProcessEnvironment.js';
10
11
  export class UnpushedCommitDiffSelectionError extends Error {
@@ -12,8 +13,10 @@ export class UnpushedCommitDiffSelectionError extends Error {
12
13
  const PROJECT_BRANCH_REMOTE_REFRESH_TTL_MS = 30_000;
13
14
  const MAX_GIT_OUTPUT_BYTES = 512 * 1024 * 1024;
14
15
  const GIT_READ_TIMEOUT_MS = 15_000;
16
+ const GIT_REMOTE_KILL_GRACE_MS = 500;
15
17
  const MAX_CONCURRENT_DIFF_PROCESSES = 8;
16
18
  const lastProjectBranchRemoteRefreshAt = new Map();
19
+ const projectBranchRemoteRefreshes = new Map();
17
20
  const resolveCurrentBranchName = (cwd) => {
18
21
  try {
19
22
  const branch = runGitText(['branch', '--show-current'], cwd).trim();
@@ -113,6 +116,22 @@ const runGitTextAsync = (args, cwd, options = {}) => new Promise((resolvePromise
113
116
  });
114
117
  });
115
118
  });
119
+ const runGitRemoteTextAsync = async (args, cwd) => {
120
+ const result = await runBoundedProcess('git', args, {
121
+ cwd,
122
+ env: createWorkspaceProcessEnvironment(cwd, { GIT_TERMINAL_PROMPT: '0' }),
123
+ timeoutMs: GIT_READ_TIMEOUT_MS,
124
+ killGraceMs: GIT_REMOTE_KILL_GRACE_MS,
125
+ maxOutputBytes: MAX_GIT_OUTPUT_BYTES,
126
+ });
127
+ if (result.code !== 0) {
128
+ const error = new Error(result.stderr.trim() || `git exited with code ${result.code ?? 'unknown'}`);
129
+ error.stderr = result.stderr;
130
+ error.status = result.code;
131
+ throw error;
132
+ }
133
+ return { stdout: result.stdout, stderr: result.stderr };
134
+ };
116
135
  const mapWithConcurrency = async (inputs, concurrency, operation) => {
117
136
  const results = new Array(inputs.length);
118
137
  let nextIndex = 0;
@@ -357,7 +376,7 @@ const refreshSquashUpstream = async (branch, cwd) => {
357
376
  return localUpstreamCommitSha;
358
377
  }
359
378
  try {
360
- await runGitTextAsync(['fetch', '--quiet', fetchSpec.remote, fetchSpec.branch], cwd);
379
+ await runGitRemoteTextAsync(['fetch', '--quiet', fetchSpec.remote, fetchSpec.branch], cwd);
361
380
  }
362
381
  catch {
363
382
  throw new Error('Unable to refresh the upstream branch before squashing commits. Pull or reconcile the branch and try again.');
@@ -477,21 +496,6 @@ const getEmptyProjectBranchResponse = (status = 'unknown') => ({
477
496
  can_pull: false,
478
497
  diff_stats: null,
479
498
  });
480
- const refreshProjectBranchTracking = (repoPath, branch) => {
481
- if (!branch) {
482
- return;
483
- }
484
- try {
485
- const upstreamFetchSpec = resolveBranchUpstreamFetchSpec(branch, repoPath);
486
- const args = upstreamFetchSpec
487
- ? ['fetch', '--quiet', upstreamFetchSpec.remote, upstreamFetchSpec.branch]
488
- : ['fetch', '--quiet', 'origin', branch];
489
- runGitText(args, repoPath);
490
- }
491
- catch {
492
- // Keep the last known tracking state when fetch is unavailable.
493
- }
494
- };
495
499
  const shouldRefreshProjectBranchTracking = (cacheKey, force) => {
496
500
  if (force) {
497
501
  lastProjectBranchRemoteRefreshAt.set(cacheKey, Date.now());
@@ -1390,15 +1394,9 @@ export const deleteWorktree = (branch, project = null) => {
1390
1394
  export const getProjectBranch = (project = null, options = {}) => {
1391
1395
  const repoPath = getRepoPath(project);
1392
1396
  const includeDiffStats = options.includeDiffStats ?? true;
1393
- let output = runGitText(['status', '--porcelain=v2', '--branch', '-z'], repoPath);
1394
- let entries = output.split('\0').filter(Boolean);
1395
- let branchState = getBranchSyncState(entries, repoPath);
1396
- if (branchState.branch && shouldRefreshProjectBranchTracking(getProjectBranchRefreshCacheKey(repoPath, branchState.branch), options.refreshRemote ?? false)) {
1397
- refreshProjectBranchTracking(repoPath, branchState.branch);
1398
- output = runGitText(['status', '--porcelain=v2', '--branch', '-z'], repoPath);
1399
- entries = output.split('\0').filter(Boolean);
1400
- branchState = getBranchSyncState(entries, repoPath);
1401
- }
1397
+ const output = runGitText(['status', '--porcelain=v2', '--branch', '-z'], repoPath);
1398
+ const entries = output.split('\0').filter(Boolean);
1399
+ const branchState = getBranchSyncState(entries, repoPath);
1402
1400
  if (!branchState.branch) {
1403
1401
  const statusLine = output.split('\0').find(entry => entry.startsWith('# branch.head ')) ?? '';
1404
1402
  if (statusLine.endsWith('(detached)')) {
@@ -1416,13 +1414,46 @@ export const getProjectBranch = (project = null, options = {}) => {
1416
1414
  diff_stats: includeDiffStats ? summarizeTicketDiffFiles(getGitDiffFiles(repoPath)) : null,
1417
1415
  };
1418
1416
  };
1417
+ export const getProjectBranchAsync = async (project = null, options = {}) => {
1418
+ const repoPath = getRepoPath(project);
1419
+ const includeDiffStats = options.includeDiffStats ?? true;
1420
+ const readBranchState = async () => {
1421
+ const output = (await runGitTextAsync(['status', '--porcelain=v2', '--branch', '-z'], repoPath, { timeoutMs: GIT_READ_TIMEOUT_MS })).stdout;
1422
+ const entries = output.split('\0').filter(Boolean);
1423
+ const branchState = await getBranchSyncStateAsync(entries, repoPath, null);
1424
+ return { output, branchState };
1425
+ };
1426
+ let { output, branchState } = await readBranchState();
1427
+ if (branchState.branch && shouldRefreshProjectBranchTracking(getProjectBranchRefreshCacheKey(repoPath, branchState.branch), options.refreshRemote ?? false)) {
1428
+ await refreshProjectBranchTrackingAsync(repoPath, branchState.branch);
1429
+ const refreshed = await readBranchState();
1430
+ output = refreshed.output;
1431
+ branchState = refreshed.branchState;
1432
+ }
1433
+ if (!branchState.branch) {
1434
+ const statusLine = output.split('\0').find(entry => entry.startsWith('# branch.head ')) ?? '';
1435
+ return getEmptyProjectBranchResponse(statusLine.endsWith('(detached)') ? 'detached' : 'unknown');
1436
+ }
1437
+ const diffStats = includeDiffStats
1438
+ ? summarizeTicketDiffFiles(await getGitDiffFilesAsync(repoPath))
1439
+ : null;
1440
+ return {
1441
+ branch: branchState.branch,
1442
+ status: 'ready',
1443
+ ahead: branchState.ahead,
1444
+ behind: branchState.behind,
1445
+ has_upstream: branchState.hasUpstream,
1446
+ can_pull: branchState.behind > 0,
1447
+ diff_stats: diffStats,
1448
+ };
1449
+ };
1419
1450
  export const getLocalProjectBranch = (project = null) => {
1420
1451
  const repoPath = getRepoPath(project);
1421
1452
  const output = runGitText(['status', '--porcelain=v2', '--branch', '-z'], repoPath);
1422
1453
  return getBranchSyncState(output.split('\0').filter(Boolean), repoPath).branch;
1423
1454
  };
1424
1455
  export const pullGitBranch = async (cwd, branch = null, project = null) => {
1425
- const gitStatus = getGitStatus(cwd, branch, project, { refreshRemote: true });
1456
+ const gitStatus = await getGitStatusAsync(cwd, branch, project, { refreshRemote: true });
1426
1457
  if (gitStatus.pull_disabled_reason) {
1427
1458
  throw new Error(gitStatus.pull_disabled_reason);
1428
1459
  }
@@ -1433,16 +1464,16 @@ export const pullGitBranch = async (cwd, branch = null, project = null) => {
1433
1464
  if (!upstreamFetchSpec) {
1434
1465
  throw new Error(`Branch "${gitStatus.branch}" has no configured upstream.`);
1435
1466
  }
1436
- await runGitTextAsync(['fetch', '--quiet', upstreamFetchSpec.remote, upstreamFetchSpec.branch], cwd);
1467
+ await runGitRemoteTextAsync(['fetch', '--quiet', upstreamFetchSpec.remote, upstreamFetchSpec.branch], cwd);
1437
1468
  await runGitTextAsync(['merge', '--no-edit', 'FETCH_HEAD'], cwd);
1438
1469
  };
1439
1470
  export const pullProjectBranch = async (project = null) => {
1440
1471
  const repoPath = getRepoPath(project);
1441
- const branchState = getProjectBranch(project, { refreshRemote: true });
1472
+ const branchState = getProjectBranch(project, { includeDiffStats: false });
1442
1473
  await pullGitBranch(repoPath, branchState.branch, project);
1443
1474
  };
1444
1475
  export const rebaseGitBranchOntoBase = async (cwd, branch = null, project = null, baseBranch = null) => {
1445
- const gitStatus = getGitStatus(cwd, branch, project, { refreshRemote: true });
1476
+ const gitStatus = await getGitStatusAsync(cwd, branch, project, { refreshRemote: true });
1446
1477
  const resolvedBaseBranch = baseBranch?.trim() || gitStatus.base_branch;
1447
1478
  const rebaseDisabledReason = getRebaseDisabledReason(gitStatus, resolvedBaseBranch);
1448
1479
  if (rebaseDisabledReason) {
@@ -1454,7 +1485,7 @@ export const rebaseGitBranchOntoBase = async (cwd, branch = null, project = null
1454
1485
  if (!resolvedBaseBranch || resolvedBaseBranch === gitStatus.branch) {
1455
1486
  throw new Error('No base branch is available for this target.');
1456
1487
  }
1457
- await runGitTextAsync(['fetch', '--quiet', 'origin', resolvedBaseBranch], cwd);
1488
+ await runGitRemoteTextAsync(['fetch', '--quiet', 'origin', resolvedBaseBranch], cwd);
1458
1489
  await runGitTextAsync(['rebase', `origin/${resolvedBaseBranch}`], cwd);
1459
1490
  if (project && resolve(cwd) !== getRepoPath(project)) {
1460
1491
  const nextBaseCommit = resolveCommitBaseFromBaseRef(resolveNamedBranchRef(resolvedBaseBranch, cwd), cwd);
@@ -1633,9 +1664,6 @@ const applyGitActionState = (status, options) => {
1633
1664
  export const getGitStatus = (cwd, branch = null, project = null, options = {}) => {
1634
1665
  const recordedBase = branch && project ? resolveRecordedBaseForCwd(cwd, branch, project) : null;
1635
1666
  const branchName = branch ?? resolveCurrentBranchName(cwd);
1636
- if (branchName && (options.refreshRemote ?? false) && shouldRefreshProjectBranchTracking(getProjectBranchRefreshCacheKey(cwd, branchName), options.refreshRemote ?? false)) {
1637
- refreshProjectBranchTracking(cwd, branchName);
1638
- }
1639
1667
  try {
1640
1668
  const output = runGitText(['status', '--porcelain=v2', '--branch', '--untracked-files=all', '-z'], cwd);
1641
1669
  const parsedOutput = parseGitStatusOutput(output);
@@ -1764,18 +1792,31 @@ const resolveFallbackBaseAsync = async (branch, project) => {
1764
1792
  return null;
1765
1793
  }
1766
1794
  };
1767
- const refreshProjectBranchTrackingAsync = async (cwd, branch) => {
1768
- try {
1769
- const upstreamRef = await resolveBranchUpstreamRefAsync(branch, cwd);
1770
- const fetchSpec = parseRemoteBranchRef(upstreamRef);
1771
- const args = fetchSpec
1772
- ? ['fetch', '--quiet', fetchSpec.remote, fetchSpec.branch]
1773
- : ['fetch', '--quiet', 'origin', branch];
1774
- await runGitTextAsync(args, cwd, { timeoutMs: GIT_READ_TIMEOUT_MS });
1775
- }
1776
- catch {
1777
- // Keep the last known tracking state when fetch is unavailable.
1795
+ const refreshProjectBranchTrackingAsync = (cwd, branch) => {
1796
+ const key = getProjectBranchRefreshCacheKey(cwd, branch);
1797
+ const existing = projectBranchRemoteRefreshes.get(key);
1798
+ if (existing) {
1799
+ return existing;
1778
1800
  }
1801
+ const refresh = (async () => {
1802
+ try {
1803
+ const upstreamRef = await resolveBranchUpstreamRefAsync(branch, cwd);
1804
+ const fetchSpec = parseRemoteBranchRef(upstreamRef);
1805
+ const args = fetchSpec
1806
+ ? ['fetch', '--quiet', fetchSpec.remote, fetchSpec.branch]
1807
+ : ['fetch', '--quiet', 'origin', branch];
1808
+ await runGitRemoteTextAsync(args, cwd);
1809
+ }
1810
+ catch {
1811
+ // Keep the last known tracking state when fetch is unavailable.
1812
+ }
1813
+ })().finally(() => {
1814
+ if (projectBranchRemoteRefreshes.get(key) === refresh) {
1815
+ projectBranchRemoteRefreshes.delete(key);
1816
+ }
1817
+ });
1818
+ projectBranchRemoteRefreshes.set(key, refresh);
1819
+ return refresh;
1779
1820
  };
1780
1821
  const getUnreadableGitStatus = () => ({
1781
1822
  branch: null,
@@ -1893,7 +1934,7 @@ export const getBoardGitStatus = (cwd, branch = null, project = null) => {
1893
1934
  return getGitStatus(cwd, branch, project, {
1894
1935
  refreshRemote: false,
1895
1936
  includeFiles: false,
1896
- includeWorkspaceSignature: false,
1937
+ includeWorkspaceSignature: true,
1897
1938
  });
1898
1939
  };
1899
1940
  export const getBoardWorktreeGitStatus = (branch, project = null) => {
@@ -2168,7 +2209,7 @@ export const pushAutomationTarget = async (cwd, branch, targetSha, expectedOrigi
2168
2209
  if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
2169
2210
  throw new Error('Automation origin remote changed after push intent was persisted');
2170
2211
  }
2171
- await runGitTextAsync(['push', '-u', 'origin', `${targetSha}:refs/heads/${branch}`], cwd);
2212
+ await runGitRemoteTextAsync(['push', '-u', 'origin', `${targetSha}:refs/heads/${branch}`], cwd);
2172
2213
  if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
2173
2214
  throw new Error('Automation origin remote changed while push was running');
2174
2215
  }
@@ -2236,7 +2277,7 @@ export const fetchRemoteBranchState = async (cwd, branch, expectedOriginIdentity
2236
2277
  }
2237
2278
  let output;
2238
2279
  try {
2239
- output = await runGitTextAsync(['ls-remote', '--exit-code', 'origin', `refs/heads/${branch}`], cwd);
2280
+ output = await runGitRemoteTextAsync(['ls-remote', '--exit-code', 'origin', `refs/heads/${branch}`], cwd);
2240
2281
  }
2241
2282
  catch (error) {
2242
2283
  if (error.status === 2) {
@@ -2251,7 +2292,7 @@ export const fetchRemoteBranchState = async (cwd, branch, expectedOriginIdentity
2251
2292
  if (!sha || !ref || extra || ref !== `refs/heads/${branch}` || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(sha)) {
2252
2293
  throw new Error('Remote branch observation was incomplete');
2253
2294
  }
2254
- await runGitTextAsync(['fetch', '--quiet', '--no-tags', 'origin', sha], cwd);
2295
+ await runGitRemoteTextAsync(['fetch', '--quiet', '--no-tags', 'origin', sha], cwd);
2255
2296
  if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
2256
2297
  throw new Error('Automation origin remote changed while observing push state');
2257
2298
  }