@straiffi/archon 1.7.2 → 1.7.4

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 (176) hide show
  1. package/dist/client/assets/ActivityView-BgMz3NNT.js +1 -0
  2. package/dist/client/assets/GitHubActionsDialog-CNqWDS3E.js +1 -0
  3. package/dist/client/assets/TestsDialog-Cll7xJe0.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Do9nbC8v.js → architectureDiagram-3BPJPVTR-BL5dYiul.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-DGGOLHF8.js → blockDiagram-GPEHLZMM-Bi5x2v80.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-Bz7tQybs.js → c4Diagram-AAUBKEIU-esEm54Ay.js} +1 -1
  7. package/dist/client/assets/channel-CqNHF3FD.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-CJO-GmWJ.js → chunk-2J33WTMH-DACfY8xM.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-DPAVagpC.js → chunk-3OPIFGDE-DZNUiaUs.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-Cof75Mu7.js → chunk-5ZQYHXKU-ClDfkMAp.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-COuPqQ8_.js → chunk-727SXJPM-CCwA3GWT.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-CFj5KabW.js → chunk-AQP2D5EJ-Byl4DRZ9.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-C4M6w5cT.js → chunk-CSCIHK7Q-CXymZQ7A.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-ByaiwVue.js → chunk-KSCS5N6A-VV3D8g6a.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-Cx5jeot9.js → chunk-L5ZTLDWV-BL9N5GRI.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-DmGtztud.js → chunk-LZXEDZCA-DKNN-zno.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-i3yuspqL.js → chunk-ND2GUHAM-CHCpQ1yr.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-CQ4E_jP4.js → chunk-NZK2D7GU-B0Dm74mt.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-D2g4VDCd.js → chunk-O5CBEL6O-DAa5z2xG.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-exIu-zQ2.js → chunk-WU5MYG2G-DrVJWKVR.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BjEgQwKg.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-gGomH-F_.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-DvF75yLZ.js → dagre-BM42HDAG-B0fsl8mE.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-DFv0HxLL.js → diagram-2AECGRRQ-Cx_VEbSS.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-C_LRir0-.js → diagram-5GNKFQAL-Cv7VVn5r.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-DGZxRDRy.js → diagram-KO2AKTUF-C8Sl5czV.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-UXt0uti4.js → diagram-LMA3HP47-C3dZaLz2.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-CFbZS4n5.js → diagram-OG6HWLK6-BAU9DtTr.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-CfAwZDdf.js → erDiagram-TEJ5UH35-DpNc-eBD.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-Cdgi5z3n.js → flowDiagram-I6XJVG4X-DGwTAT1S.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DOrkFkhu.js → ganttDiagram-6RSMTGT7-MPZhEgzJ.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-cEox0peD.js → gitGraphDiagram-PVQCEYII-CY0tHL5N.js} +1 -1
  33. package/dist/client/assets/index-CJRgmWwY.js +273 -0
  34. package/dist/client/assets/index-mRkJWu70.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-gm51u2Nn.js → infoDiagram-5YYISTIA-BBZeKjf4.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CjnoOIja.js → ishikawaDiagram-YF4QCWOH-CM_iFrES.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-Dlg4DsiO.js → journeyDiagram-JHISSGLW-Do_lY94X.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-BU0XZaSd.js → kanban-definition-UN3LZRKU-brxg3j37.js} +1 -1
  39. package/dist/client/assets/{line-Bert22-_.js → line-PHHbm9rj.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-BvQSGDmL.js → mermaid-parser.core-CLxAkW69.js} +1 -1
  41. package/dist/client/assets/{mermaid.core--qSAHJRj.js → mermaid.core-CebvSmx9.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BgFIvWWD.js → mindmap-definition-RKZ34NQL-CX_-ZaJF.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-DGcbXD0M.js → pieDiagram-4H26LBE5-BJuHvql_.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-ClkBUeia.js → quadrantDiagram-W4KKPZXB-DiJll7l9.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B8CwGToU.js → requirementDiagram-4Y6WPE33-Bg-tXgcj.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DTk3jL6B.js → sankeyDiagram-5OEKKPKP-BoK2egfZ.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BQVrcnKf.js → sequenceDiagram-3UESZ5HK-DcrDWNzv.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-DD4yMZPB.js → stateDiagram-AJRCARHV-B995qt1S.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dn8P7Sa1.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-BnCBVqcd.js → timeline-definition-PNZ67QCA-DqSVAhqL.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-BDmLMNXS.js → vennDiagram-CIIHVFJN-D9wVraVY.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DSLuQiEv.js → wardleyDiagram-YWT4CUSO-CLff9zVd.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DAq_LA4r.js → xychartDiagram-2RQKCTM6-BuHUMMH2.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +472 -39
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +1311 -212
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +228 -71
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentRuns.js +205 -38
  62. package/dist/server/lib/agentRuns.js.map +1 -1
  63. package/dist/server/lib/attachments.js +24 -0
  64. package/dist/server/lib/attachments.js.map +1 -1
  65. package/dist/server/lib/automationProgression.js +464 -0
  66. package/dist/server/lib/automationProgression.js.map +1 -0
  67. package/dist/server/lib/automationReconciliation.js +498 -0
  68. package/dist/server/lib/automationReconciliation.js.map +1 -0
  69. package/dist/server/lib/automationStageDetails.js +232 -0
  70. package/dist/server/lib/automationStageDetails.js.map +1 -0
  71. package/dist/server/lib/buildOpenQuestionOperations.js +238 -0
  72. package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -0
  73. package/dist/server/lib/buildOpenQuestions.js +44 -0
  74. package/dist/server/lib/buildOpenQuestions.js.map +1 -1
  75. package/dist/server/lib/buildSequences.js +130 -46
  76. package/dist/server/lib/buildSequences.js.map +1 -1
  77. package/dist/server/lib/bundleReviewOperations.js +91 -9
  78. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  79. package/dist/server/lib/chatOperations.js +67 -12
  80. package/dist/server/lib/chatOperations.js.map +1 -1
  81. package/dist/server/lib/executionReconciliation.js +518 -0
  82. package/dist/server/lib/executionReconciliation.js.map +1 -0
  83. package/dist/server/lib/executionRetry.js +694 -0
  84. package/dist/server/lib/executionRetry.js.map +1 -0
  85. package/dist/server/lib/executionRetryContext.js +489 -0
  86. package/dist/server/lib/executionRetryContext.js.map +1 -0
  87. package/dist/server/lib/executionRetryPredicates.js +74 -0
  88. package/dist/server/lib/executionRetryPredicates.js.map +1 -0
  89. package/dist/server/lib/executionRunRetention.js +141 -0
  90. package/dist/server/lib/executionRunRetention.js.map +1 -0
  91. package/dist/server/lib/executionRuns.js +1367 -0
  92. package/dist/server/lib/executionRuns.js.map +1 -0
  93. package/dist/server/lib/executionTimeline.js +45 -0
  94. package/dist/server/lib/executionTimeline.js.map +1 -0
  95. package/dist/server/lib/git.js +385 -6
  96. package/dist/server/lib/git.js.map +1 -1
  97. package/dist/server/lib/integrations/github.js +43 -0
  98. package/dist/server/lib/integrations/github.js.map +1 -1
  99. package/dist/server/lib/integrations/githubActions.js +1 -0
  100. package/dist/server/lib/integrations/githubActions.js.map +1 -1
  101. package/dist/server/lib/integrations/githubActionsSessions.js +337 -114
  102. package/dist/server/lib/integrations/githubActionsSessions.js.map +1 -1
  103. package/dist/server/lib/projectMemorySelections.js +7 -3
  104. package/dist/server/lib/projectMemorySelections.js.map +1 -1
  105. package/dist/server/lib/shutdown.js +2 -2
  106. package/dist/server/lib/shutdown.js.map +1 -1
  107. package/dist/server/lib/specArtifact.js +3 -0
  108. package/dist/server/lib/specArtifact.js.map +1 -1
  109. package/dist/server/lib/specFormatting.js +1 -1
  110. package/dist/server/lib/specFormatting.js.map +1 -1
  111. package/dist/server/lib/specOperations.js +78 -12
  112. package/dist/server/lib/specOperations.js.map +1 -1
  113. package/dist/server/lib/specReviewContext.js +54 -18
  114. package/dist/server/lib/specReviewContext.js.map +1 -1
  115. package/dist/server/lib/specReviewDraft.js +3 -2
  116. package/dist/server/lib/specReviewDraft.js.map +1 -1
  117. package/dist/server/lib/specReviewOperations.js +74 -9
  118. package/dist/server/lib/specReviewOperations.js.map +1 -1
  119. package/dist/server/lib/specReviewValidation.js +217 -0
  120. package/dist/server/lib/specReviewValidation.js.map +1 -0
  121. package/dist/server/lib/specReviews.js +30 -2
  122. package/dist/server/lib/specReviews.js.map +1 -1
  123. package/dist/server/lib/specs.js +18 -1
  124. package/dist/server/lib/specs.js.map +1 -1
  125. package/dist/server/lib/stageSnapshots.js +197 -0
  126. package/dist/server/lib/stageSnapshots.js.map +1 -0
  127. package/dist/server/lib/testSessions.js +160 -18
  128. package/dist/server/lib/testSessions.js.map +1 -1
  129. package/dist/server/lib/ticketAutomation.js +80 -4
  130. package/dist/server/lib/ticketAutomation.js.map +1 -1
  131. package/dist/server/lib/ticketAutomationCommit.js +466 -91
  132. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  133. package/dist/server/lib/ticketFollowUpOperations.js +270 -29
  134. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  135. package/dist/server/lib/ticketMessages.js +16 -0
  136. package/dist/server/lib/ticketMessages.js.map +1 -1
  137. package/dist/server/lib/ticketRunOperations.js +51 -6
  138. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  139. package/dist/server/lib/ticketUndo.js +77 -168
  140. package/dist/server/lib/ticketUndo.js.map +1 -1
  141. package/dist/server/lib/ticketWorkflowOperations.js +132 -28
  142. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  143. package/dist/server/lib/tickets.js +41 -27
  144. package/dist/server/lib/tickets.js.map +1 -1
  145. package/dist/server/lib/transcriptRuns.js +3 -3
  146. package/dist/server/lib/transcriptRuns.js.map +1 -1
  147. package/dist/server/lib/turnExecutionErrors.js +12 -0
  148. package/dist/server/lib/turnExecutionErrors.js.map +1 -0
  149. package/dist/server/lib/types.js +58 -1
  150. package/dist/server/lib/types.js.map +1 -1
  151. package/dist/server/workers/build.js +596 -184
  152. package/dist/server/workers/build.js.map +1 -1
  153. package/dist/server/workers/chat.js +269 -132
  154. package/dist/server/workers/chat.js.map +1 -1
  155. package/dist/server/workers/followUp.js +731 -203
  156. package/dist/server/workers/followUp.js.map +1 -1
  157. package/dist/server/workers/plan.js +546 -188
  158. package/dist/server/workers/plan.js.map +1 -1
  159. package/dist/server/workers/planFollowUp.js +240 -75
  160. package/dist/server/workers/planFollowUp.js.map +1 -1
  161. package/dist/server/workers/review.js +790 -297
  162. package/dist/server/workers/review.js.map +1 -1
  163. package/dist/server/workers/specReview.js +212 -46
  164. package/dist/server/workers/specReview.js.map +1 -1
  165. package/dist/server/workers/specSession.js +434 -254
  166. package/dist/server/workers/specSession.js.map +1 -1
  167. package/package.json +1 -1
  168. package/dist/client/assets/GitHubActionsDialog-DAD5REmY.js +0 -1
  169. package/dist/client/assets/TestsDialog-B5NVrroq.js +0 -4
  170. package/dist/client/assets/TicketChangesModal-By-_gTGd.js +0 -1
  171. package/dist/client/assets/channel-Dd5Len0X.js +0 -1
  172. package/dist/client/assets/classDiagram-4FO5ZUOK-B7KUg6r8.js +0 -1
  173. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CQm-z5c4.js +0 -1
  174. package/dist/client/assets/index-BHq6-Eir.js +0 -270
  175. package/dist/client/assets/index-BxTc5qQT.css +0 -2
  176. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C8yO6POT.js +0 -1
@@ -168,6 +168,28 @@ const getBuildSequenceStateByTicketId = (ticketId, kind) => {
168
168
  }
169
169
  return getBuildSequenceStateById(sequence.id);
170
170
  };
171
+ export const getActiveBuildSequenceId = (ticketId) => {
172
+ const state = getBuildSequenceStateByTicketId(ticketId);
173
+ const activeItem = state?.items.find(item => item.ticket_id === ticketId && item.status === 'active');
174
+ return activeItem ? state?.sequence.id ?? null : null;
175
+ };
176
+ export const getBuildSequenceIdForTicket = (ticketId) => {
177
+ return getBuildSequenceStateByTicketId(ticketId)?.sequence.id ?? null;
178
+ };
179
+ export const compensateBuildSequenceAcceptance = (sequenceId, ticketIds) => {
180
+ if (ticketIds.length === 0) {
181
+ return;
182
+ }
183
+ const placeholders = ticketIds.map(() => '?').join(', ');
184
+ db.prepare(`
185
+ DELETE FROM build_sequence_tickets
186
+ WHERE build_sequence_id = ? AND ticket_id IN (${placeholders})
187
+ `).run(sequenceId, ...ticketIds);
188
+ const remaining = db.prepare('SELECT 1 FROM build_sequence_tickets WHERE build_sequence_id = ? LIMIT 1').get(sequenceId);
189
+ if (!remaining) {
190
+ db.prepare('DELETE FROM build_sequences WHERE id = ?').run(sequenceId);
191
+ }
192
+ };
171
193
  const setSequenceStatus = (sequenceId, status) => {
172
194
  db.prepare('UPDATE build_sequences SET status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?').run(status, sequenceId);
173
195
  };
@@ -413,12 +435,6 @@ export const advanceBuildChain = (ticketId, agentStatus) => {
413
435
  nextTicketId: null,
414
436
  };
415
437
  }
416
- db.prepare(`
417
- UPDATE build_sequence_tickets
418
- SET status = 'active', started_at = COALESCE(started_at, CURRENT_TIMESTAMP)
419
- WHERE build_sequence_id = ?
420
- AND ticket_id = ?
421
- `).run(state.sequence.id, nextQueuedItem.item.ticket_id);
422
438
  db.prepare('UPDATE build_sequences SET updated_at = CURRENT_TIMESTAMP WHERE id = ?').run(state.sequence.id);
423
439
  return {
424
440
  affectedTicketIds,
@@ -448,6 +464,7 @@ export const removeTicketFromBuildSequence = (ticketId) => {
448
464
  ok: false,
449
465
  affectedTicketIds: [],
450
466
  nextTicketId: null,
467
+ sequenceId: null,
451
468
  };
452
469
  }
453
470
  const targetItem = state.items.find(item => item.ticket_id === ticketId);
@@ -456,6 +473,7 @@ export const removeTicketFromBuildSequence = (ticketId) => {
456
473
  ok: false,
457
474
  affectedTicketIds: [],
458
475
  nextTicketId: null,
476
+ sequenceId: null,
459
477
  };
460
478
  }
461
479
  deleteSequenceItem(state.sequence.id, ticketId);
@@ -468,6 +486,7 @@ export const removeTicketFromBuildSequence = (ticketId) => {
468
486
  ok: true,
469
487
  affectedTicketIds: [],
470
488
  nextTicketId: null,
489
+ sequenceId: state.sequence.id,
471
490
  };
472
491
  }
473
492
  if (targetItem.status !== 'active') {
@@ -475,6 +494,7 @@ export const removeTicketFromBuildSequence = (ticketId) => {
475
494
  ok: true,
476
495
  affectedTicketIds: getAffectedTicketIds(nextState),
477
496
  nextTicketId: null,
497
+ sequenceId: state.sequence.id,
478
498
  };
479
499
  }
480
500
  const nextQueuedItem = nextState.sequence.kind === 'bundle_queue'
@@ -495,21 +515,27 @@ export const removeTicketFromBuildSequence = (ticketId) => {
495
515
  ok: true,
496
516
  affectedTicketIds: getAffectedTicketIds(nextState),
497
517
  nextTicketId: null,
518
+ sequenceId: state.sequence.id,
498
519
  };
499
520
  }
500
- db.prepare(`
501
- UPDATE build_sequence_tickets
502
- SET status = 'active', started_at = COALESCE(started_at, CURRENT_TIMESTAMP)
503
- WHERE build_sequence_id = ?
504
- AND ticket_id = ?
505
- `).run(nextState.sequence.id, nextQueuedItem.item.ticket_id);
506
- db.prepare('UPDATE build_sequences SET updated_at = CURRENT_TIMESTAMP WHERE id = ?').run(nextState.sequence.id);
507
521
  return {
508
522
  ok: true,
509
- affectedTicketIds: getAffectedTicketIds(getBuildSequenceStateById(nextState.sequence.id) ?? nextState),
523
+ affectedTicketIds: getAffectedTicketIds(nextState),
510
524
  nextTicketId: nextQueuedItem.item.ticket_id,
525
+ sequenceId: state.sequence.id,
511
526
  };
512
527
  };
528
+ export const activateQueuedBuildSequenceTicket = (sequenceId, ticketId) => {
529
+ const updated = db.prepare(`
530
+ UPDATE build_sequence_tickets
531
+ SET status = 'active', started_at = COALESCE(started_at, CURRENT_TIMESTAMP)
532
+ WHERE build_sequence_id = ? AND ticket_id = ? AND status = 'queued'
533
+ `).run(sequenceId, ticketId);
534
+ if (updated.changes !== 1) {
535
+ throw new Error('Unable to activate the next queued Build ticket');
536
+ }
537
+ db.prepare('UPDATE build_sequences SET updated_at = CURRENT_TIMESTAMP WHERE id = ?').run(sequenceId);
538
+ };
513
539
  export const enqueueBundledBuild = ({ ticketId, projectId, worktreeBundleId, activate, }) => {
514
540
  const activeSequence = getActiveSequenceByBundle(projectId, worktreeBundleId);
515
541
  if (!activeSequence) {
@@ -575,37 +601,95 @@ export const hasDependencyBuildChainForProject = (projectId) => {
575
601
  `).get(projectId);
576
602
  return Boolean(row);
577
603
  };
578
- export const stopAllActiveBuildSequences = () => {
579
- db.prepare(`
580
- UPDATE build_sequence_tickets
581
- SET status = CASE
582
- WHEN status = 'queued' THEN 'cancelled'
583
- ELSE 'failed'
584
- END,
585
- finished_at = COALESCE(finished_at, CURRENT_TIMESTAMP)
586
- WHERE build_sequence_id IN (
587
- SELECT bst.build_sequence_id
588
- FROM build_sequence_tickets bst
589
- JOIN tickets t ON t.id = bst.ticket_id
590
- JOIN build_sequences bs ON bs.id = bst.build_sequence_id
591
- WHERE bst.status = 'active'
592
- AND bs.status = 'active'
593
- AND t.agent_status IN ('error', 'running')
594
- )
595
- AND status IN ('queued', 'active')
596
- `).run();
597
- db.prepare(`
598
- UPDATE build_sequences
599
- SET status = 'failed', updated_at = CURRENT_TIMESTAMP
600
- WHERE id IN (
601
- SELECT bst.build_sequence_id
602
- FROM build_sequence_tickets bst
603
- JOIN tickets t ON t.id = bst.ticket_id
604
- JOIN build_sequences bs ON bs.id = bst.build_sequence_id
605
- WHERE bst.status = 'active'
606
- AND bs.status = 'active'
607
- AND t.agent_status IN ('error', 'running')
608
- )
609
- `).run();
604
+ export const reconcileActiveBuildSequences = ({ interruptActiveChild, } = {}) => {
605
+ const activeRows = db.prepare(`
606
+ SELECT
607
+ bs.id AS sequence_id,
608
+ bs.project_id,
609
+ bst.ticket_id,
610
+ bst.status AS item_status,
611
+ ticket.agent_status AS ticket_agent_status
612
+ FROM build_sequences bs
613
+ LEFT JOIN build_sequence_tickets bst
614
+ ON bst.build_sequence_id = bs.id AND bst.status IN ('active', 'queued')
615
+ LEFT JOIN tickets ticket ON ticket.id = bst.ticket_id
616
+ WHERE bs.status = 'active'
617
+ ORDER BY bs.created_at ASC, bs.id ASC, bst.position ASC
618
+ `).all();
619
+ const counts = {
620
+ sequences_failed: 0,
621
+ active_items_failed: 0,
622
+ queued_items_cancelled: 0,
623
+ inconsistent_sequences_skipped: 0,
624
+ };
625
+ const recoverSequence = db.transaction((row) => {
626
+ if (!row.ticket_id) {
627
+ throw new Error(`Build sequence ${row.sequence_id} has no active ticket`);
628
+ }
629
+ if (row.item_status === 'queued') {
630
+ db.prepare(`
631
+ UPDATE build_sequence_tickets
632
+ SET status = 'active', started_at = COALESCE(started_at, CURRENT_TIMESTAMP)
633
+ WHERE build_sequence_id = ? AND ticket_id = ? AND status = 'queued'
634
+ `).run(row.sequence_id, row.ticket_id);
635
+ }
636
+ const childInterrupted = interruptActiveChild?.({
637
+ sequenceId: row.sequence_id,
638
+ projectId: row.project_id,
639
+ ticketId: row.ticket_id,
640
+ ticketAgentStatus: row.ticket_agent_status,
641
+ });
642
+ if (childInterrupted === false) {
643
+ return null;
644
+ }
645
+ const activeItemsFailed = db.prepare(`
646
+ UPDATE build_sequence_tickets
647
+ SET status = 'failed', finished_at = COALESCE(finished_at, CURRENT_TIMESTAMP)
648
+ WHERE build_sequence_id = ? AND ticket_id = ? AND status = 'active'
649
+ `).run(row.sequence_id, row.ticket_id).changes;
650
+ const queuedItemsCancelled = db.prepare(`
651
+ UPDATE build_sequence_tickets
652
+ SET status = 'cancelled', finished_at = COALESCE(finished_at, CURRENT_TIMESTAMP)
653
+ WHERE build_sequence_id = ? AND status = 'queued'
654
+ `).run(row.sequence_id).changes;
655
+ const sequencesFailed = db.prepare(`
656
+ UPDATE build_sequences
657
+ SET status = 'failed', updated_at = CURRENT_TIMESTAMP
658
+ WHERE id = ? AND status = 'active'
659
+ `).run(row.sequence_id).changes;
660
+ return {
661
+ active_items_failed: activeItemsFailed,
662
+ queued_items_cancelled: queuedItemsCancelled,
663
+ sequences_failed: sequencesFailed,
664
+ };
665
+ });
666
+ const rowsBySequence = new Map();
667
+ for (const row of activeRows) {
668
+ const sequenceRows = rowsBySequence.get(row.sequence_id) ?? [];
669
+ sequenceRows.push(row);
670
+ rowsBySequence.set(row.sequence_id, sequenceRows);
671
+ }
672
+ for (const sequenceRows of rowsBySequence.values()) {
673
+ const activeItemRows = sequenceRows.filter(row => row.item_status === 'active');
674
+ const queuedItemRows = sequenceRows.filter(row => row.item_status === 'queued');
675
+ if (activeItemRows.length > 1 || (activeItemRows.length === 0 && queuedItemRows.length === 0)) {
676
+ counts.inconsistent_sequences_skipped += 1;
677
+ continue;
678
+ }
679
+ const [row] = activeItemRows.length === 1 ? activeItemRows : queuedItemRows;
680
+ if (row.ticket_agent_status !== null && row.ticket_agent_status !== 'error' && row.ticket_agent_status !== 'running') {
681
+ counts.inconsistent_sequences_skipped += 1;
682
+ continue;
683
+ }
684
+ const recovered = recoverSequence(row);
685
+ if (!recovered) {
686
+ counts.inconsistent_sequences_skipped += 1;
687
+ continue;
688
+ }
689
+ counts.active_items_failed += recovered.active_items_failed;
690
+ counts.queued_items_cancelled += recovered.queued_items_cancelled;
691
+ counts.sequences_failed += recovered.sequences_failed;
692
+ }
693
+ return counts;
610
694
  };
611
695
  //# sourceMappingURL=buildSequences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSequences.js","sourceRoot":"","sources":["../../../server/lib/buildSequences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildSequences.js","sourceRoot":"","sources":["../../../server/lib/buildSequences.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,15 @@ const getBundleReviewEligibilityError = (projectId, bundleId, options) => {
57
57
  }
58
58
  return null;
59
59
  };
60
+ export const getTicketReviewRetryEligibilityError = (ticket) => {
61
+ if (!ticket.project_id || ticket.state !== 'review') {
62
+ return 'Ticket is not in a retryable Review state';
63
+ }
64
+ if (ticket.worktree_bundle_id && hasActiveBuildOpenQuestionBatch(ticket.project_id, ticket.worktree_bundle_id)) {
65
+ return 'Build open question resolution is still in progress';
66
+ }
67
+ return null;
68
+ };
60
69
  export const transitionBundleToReview = (projectId, bundleId, broadcaster, options = {}) => {
61
70
  const eligibilityError = getBundleReviewEligibilityError(projectId, bundleId, options);
62
71
  if (eligibilityError) {
@@ -74,24 +83,97 @@ export const transitionBundleToReview = (projectId, bundleId, broadcaster, optio
74
83
  if (!reviewOwner) {
75
84
  return { ok: false, status: 409, error: 'Unable to start review for this bundle' };
76
85
  }
77
- startReview(reviewOwner, broadcaster);
86
+ const scheduling = startReview(reviewOwner, broadcaster, {
87
+ initiation: {
88
+ initiator: options.automatic ? 'automation' : 'user',
89
+ ...options.initiation,
90
+ },
91
+ accept: options.accept,
92
+ });
93
+ if (scheduling && typeof scheduling === 'object' && !scheduling.accepted) {
94
+ return {
95
+ ok: false,
96
+ status: scheduling.reason === 'queue_failed' ? 503 : 409,
97
+ error: scheduling.error,
98
+ };
99
+ }
78
100
  return { ok: true, status: 200, value: reviewOwner };
79
101
  }
80
102
  const reviewOwnerSource = buildTickets[0];
81
103
  if (!reviewOwnerSource) {
82
104
  return { ok: false, status: 409, error: 'Unable to start review for this bundle' };
83
105
  }
84
- const movedTickets = buildTickets
85
- .map(moveBundleTicketToReview)
86
- .filter((ticket) => ticket !== null);
87
- for (const ticket of movedTickets) {
88
- broadcaster.emit('ticket:updated', ticket);
106
+ const snapshots = buildTickets.map(ticket => ({
107
+ id: ticket.id,
108
+ state: ticket.state,
109
+ tool: ticket.tool,
110
+ agent_status: ticket.agent_status,
111
+ streaming_response: ticket.streaming_response,
112
+ lane_order: ticket.lane_order ?? null,
113
+ }));
114
+ const scheduling = startReview(reviewOwnerSource, broadcaster, {
115
+ initiation: {
116
+ initiator: options.automatic ? 'automation' : 'user',
117
+ ...options.initiation,
118
+ },
119
+ accept: () => {
120
+ const movedTickets = buildTickets
121
+ .map(moveBundleTicketToReview)
122
+ .filter((ticket) => ticket !== null);
123
+ if (movedTickets.length !== buildTickets.length) {
124
+ throw new Error('Unable to move every bundle ticket to Review');
125
+ }
126
+ const reviewOwner = movedTickets.find(ticket => ticket.id === reviewOwnerSource.id);
127
+ if (!reviewOwner) {
128
+ throw new Error('Unable to start review for this bundle');
129
+ }
130
+ const additionalAcceptance = options.accept?.();
131
+ return {
132
+ ticket: reviewOwner,
133
+ compensate: () => {
134
+ additionalAcceptance?.compensate?.();
135
+ for (const snapshot of snapshots) {
136
+ db.prepare(`
137
+ UPDATE tickets
138
+ SET state = ?, tool = ?, agent_status = ?, streaming_response = ?, lane_order = ?, updated_at = CURRENT_TIMESTAMP
139
+ WHERE id = ?
140
+ `).run(snapshot.state, snapshot.tool, snapshot.agent_status, snapshot.streaming_response, snapshot.lane_order, snapshot.id);
141
+ }
142
+ },
143
+ };
144
+ },
145
+ });
146
+ if (scheduling && typeof scheduling === 'object' && !scheduling.accepted) {
147
+ return {
148
+ ok: false,
149
+ status: scheduling.reason === 'queue_failed' ? 503 : 409,
150
+ error: scheduling.error,
151
+ };
89
152
  }
90
153
  const reviewOwner = getTicket(reviewOwnerSource.id);
91
- if (!reviewOwner) {
92
- return { ok: false, status: 409, error: 'Unable to start review for this bundle' };
154
+ for (const movedTicket of buildTickets) {
155
+ const updated = getTicket(movedTicket.id);
156
+ if (updated) {
157
+ broadcaster.emit('ticket:updated', updated);
158
+ }
93
159
  }
94
- startReview(reviewOwner, broadcaster);
95
160
  return { ok: true, status: 200, value: reviewOwner };
96
161
  };
162
+ export const rerunTicketReviewOperation = (ticket, broadcaster, options = {}) => {
163
+ const scheduling = startReview(ticket, broadcaster, {
164
+ initiation: {
165
+ initiator: options.automatic ? 'automation' : 'user',
166
+ ...options.initiation,
167
+ },
168
+ accept: options.accept,
169
+ });
170
+ if (!scheduling.accepted) {
171
+ return {
172
+ ok: false,
173
+ status: scheduling.reason === 'queue_failed' ? 503 : 409,
174
+ error: scheduling.error,
175
+ };
176
+ }
177
+ return { ok: true, status: 200, value: getTicket(ticket.id) ?? ticket };
178
+ };
97
179
  //# sourceMappingURL=bundleReviewOperations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundleReviewOperations.js","sourceRoot":"","sources":["../../../server/lib/bundleReviewOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundleReviewOperations.js","sourceRoot":"","sources":["../../../server/lib/bundleReviewOperations.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import { getSpecSession } from './specs.js';
8
8
  import { normalizeSkillNames } from './skills.js';
9
9
  import { markExternalIssueTracked } from './trackedExternalIssues.js';
10
10
  import { clearCachedAssignedIssues } from './integrations/assignedIssuesCache.js';
11
+ import { createExecutionRun, transitionExecutionRun } from './executionRuns.js';
12
+ import { getTurnStartFailureCode } from './turnExecutionErrors.js';
11
13
  import { startChatSessionTurn } from '../workers/chat.js';
12
14
  const getPayloadValue = (payload, key) => {
13
15
  return payload?.[key];
@@ -75,7 +77,7 @@ export const createProjectChatSession = ({ projectId, payload, broadcaster, }) =
75
77
  broadcaster.emit('chat-session:created', chatSession);
76
78
  return { ok: true, status: 201, value: chatSession };
77
79
  };
78
- export const submitProjectChatSessionMessage = ({ projectId, chatSessionId, payload, broadcaster, }) => {
80
+ export const submitProjectChatSessionMessage = ({ projectId, chatSessionId, payload, broadcaster, initiation, existingTriggerMessageId, existingAttachments, providerContinuation, conversationContext, retryRunConfig, turnMode, }) => {
79
81
  const project = getProjectById(projectId);
80
82
  if (!project) {
81
83
  return { ok: false, status: 404, error: 'Not found' };
@@ -93,16 +95,15 @@ export const submitProjectChatSessionMessage = ({ projectId, chatSessionId, payl
93
95
  const attachmentIds = Array.isArray(requestedAttachmentIds)
94
96
  ? requestedAttachmentIds.map(value => value.trim()).filter(Boolean)
95
97
  : [];
96
- if (!instruction && attachmentIds.length === 0) {
97
- return { ok: false, status: 400, error: 'instruction or attachment_ids is required' };
98
- }
99
- const resolvedAttachments = resolveDraftChatAttachmentsForSession({
100
- chatSessionId: existing.id,
101
- attachmentIds,
102
- });
98
+ const resolvedAttachments = existingAttachments
99
+ ? { ok: true, attachments: existingAttachments }
100
+ : resolveDraftChatAttachmentsForSession({ chatSessionId: existing.id, attachmentIds });
103
101
  if (!resolvedAttachments.ok) {
104
102
  return { ok: false, status: 400, error: resolvedAttachments.error };
105
103
  }
104
+ if (!instruction && resolvedAttachments.attachments.length === 0) {
105
+ return { ok: false, status: 400, error: 'instruction or attachment_ids is required' };
106
+ }
106
107
  const targetResolution = resolveChatSessionTarget(existing, project);
107
108
  if (!targetResolution.target_available) {
108
109
  return { ok: false, status: 409, error: targetResolution.target_unavailable_reason ?? 'Chat target is unavailable.' };
@@ -115,24 +116,78 @@ export const submitProjectChatSessionMessage = ({ projectId, chatSessionId, payl
115
116
  };
116
117
  }
117
118
  const requestedModel = getPayloadValue(payload, 'model');
118
- const rawModel = typeof requestedModel === 'string' ? requestedModel : project.helper_model;
119
+ const rawModel = retryRunConfig ? retryRunConfig.model : (typeof requestedModel === 'string' ? requestedModel : project.helper_model);
120
+ const resolvedTool = retryRunConfig?.tool ?? existing.tool;
121
+ const resolvedVariant = retryRunConfig ? retryRunConfig.variant : (typeof getPayloadValue(payload, 'variant') === 'string' ? getPayloadValue(payload, 'variant') : project.helper_variant);
122
+ const resolvedSkills = retryRunConfig?.skills ?? normalizeSkillNames(getPayloadValue(payload, 'skills'));
119
123
  let accepted = false;
124
+ const executionRun = createExecutionRun({
125
+ projectId: project.id,
126
+ kind: 'chat_turn',
127
+ domainStatus: 'queued',
128
+ sourceReference: { kind: 'chat_session', id: existing.id, label: existing.title },
129
+ links: existingTriggerMessageId ? [{
130
+ entityType: 'chat_message',
131
+ entityId: existingTriggerMessageId,
132
+ relationship: 'trigger',
133
+ expectedParent: { entityType: 'chat_session', entityId: existing.id },
134
+ }] : [],
135
+ initiatedBy: initiation?.initiator,
136
+ parentRunId: initiation?.causalParentRunId,
137
+ retryOfRunId: initiation?.retrySourceRunId,
138
+ metadata: {
139
+ retry_mode: turnMode ?? existing.mode,
140
+ retry_tool: resolvedTool,
141
+ retry_model: typeof rawModel === 'string' ? rawModel : null,
142
+ retry_variant: resolvedVariant,
143
+ retry_skills: resolvedSkills,
144
+ retry_attachment_count: resolvedAttachments.attachments.length,
145
+ },
146
+ eventType: initiation?.retrySourceRunId ? 'retry_started' : 'chat_turn_created',
147
+ }, broadcaster);
148
+ const executionContext = {
149
+ runId: executionRun.id,
150
+ correlationId: executionRun.correlation_id,
151
+ projectId: executionRun.project_id,
152
+ kind: executionRun.kind,
153
+ };
120
154
  try {
121
155
  accepted = startChatSessionTurn({
122
156
  chatSessionId: existing.id,
123
157
  instruction,
124
158
  attachments: resolvedAttachments.attachments,
125
- tool: existing.tool,
159
+ tool: resolvedTool,
126
160
  model: typeof rawModel === 'string' ? rawModel : null,
127
- variant: typeof getPayloadValue(payload, 'variant') === 'string' ? getPayloadValue(payload, 'variant') : project.helper_variant,
128
- skills: normalizeSkillNames(getPayloadValue(payload, 'skills')),
161
+ variant: resolvedVariant,
162
+ skills: resolvedSkills,
129
163
  io: broadcaster,
164
+ executionContext,
165
+ existingTriggerMessageId,
166
+ providerContinuation,
167
+ conversationContext,
168
+ turnMode: turnMode ?? existing.mode,
130
169
  });
131
170
  }
132
171
  catch (error) {
172
+ transitionExecutionRun({
173
+ projectId: project.id,
174
+ runId: executionRun.id,
175
+ status: 'failed',
176
+ domainStatus: 'error',
177
+ failure: { code: getTurnStartFailureCode(error, 'chat_turn_start_failed'), message: error instanceof Error ? error.message : String(error) },
178
+ eventType: 'chat_turn_failed',
179
+ }, broadcaster);
133
180
  return { ok: false, status: 500, error: error instanceof Error ? error.message : String(error) };
134
181
  }
135
182
  if (!accepted) {
183
+ transitionExecutionRun({
184
+ projectId: project.id,
185
+ runId: executionRun.id,
186
+ status: 'failed',
187
+ domainStatus: 'rejected',
188
+ failure: { code: 'chat_turn_rejected', message: 'This chat session is already running.' },
189
+ eventType: 'chat_turn_failed',
190
+ }, broadcaster);
136
191
  return { ok: false, status: 409, error: 'This chat session is already running.' };
137
192
  }
138
193
  return { ok: true, status: 200, value: getProjectChatSession(project.id, existing.id) };