@straiffi/archon 1.8.7 → 1.8.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 (180) hide show
  1. package/dist/client/assets/{ActivityView-D4Qh96zr.js → ActivityView-gBeoYQdD.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-Bg03OmVv.js → GitHubActionsDialog-fc1Vwafm.js} +1 -1
  3. package/dist/client/assets/RepositoryGraphDialog-DCOjwUR3.js +1 -0
  4. package/dist/client/assets/VerificationDialog-CIObj1Rw.js +4 -0
  5. package/dist/client/assets/{architectureDiagram-3BPJPVTR-2lxabjSl.js → architectureDiagram-3BPJPVTR-B1tJZe1S.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-GPEHLZMM-C80HvJmb.js → blockDiagram-GPEHLZMM-D_90AQ2Z.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-AAUBKEIU-BM3k_lKz.js → c4Diagram-AAUBKEIU-DSyJfqly.js} +1 -1
  8. package/dist/client/assets/channel-DFw1f2Rh.js +1 -0
  9. package/dist/client/assets/{chunk-2J33WTMH-BTk3lX07.js → chunk-2J33WTMH-B9RStQGj.js} +1 -1
  10. package/dist/client/assets/{chunk-3OPIFGDE-DAxdBZ_4.js → chunk-3OPIFGDE-CHKuJYq0.js} +1 -1
  11. package/dist/client/assets/{chunk-5ZQYHXKU-BYm9s62a.js → chunk-5ZQYHXKU-Cznw7LTJ.js} +1 -1
  12. package/dist/client/assets/{chunk-727SXJPM-iVUM8xuV.js → chunk-727SXJPM-ix6OeZwJ.js} +1 -1
  13. package/dist/client/assets/{chunk-AQP2D5EJ-DVM7riMJ.js → chunk-AQP2D5EJ-DrPJIcE7.js} +1 -1
  14. package/dist/client/assets/{chunk-CSCIHK7Q-_D1FzP9B.js → chunk-CSCIHK7Q-BSEHTnBR.js} +1 -1
  15. package/dist/client/assets/{chunk-KSCS5N6A-D3XouAHf.js → chunk-KSCS5N6A-MdDdaLn8.js} +1 -1
  16. package/dist/client/assets/{chunk-L5ZTLDWV-B7NYWgT4.js → chunk-L5ZTLDWV-D_5xeDG1.js} +1 -1
  17. package/dist/client/assets/{chunk-LZXEDZCA-Dgkkbb6A.js → chunk-LZXEDZCA-Bz8_Fyt2.js} +2 -2
  18. package/dist/client/assets/{chunk-ND2GUHAM-CzO1oVCi.js → chunk-ND2GUHAM-DCINKlk8.js} +1 -1
  19. package/dist/client/assets/{chunk-NZK2D7GU-re0VVZne.js → chunk-NZK2D7GU-rGPgryKx.js} +1 -1
  20. package/dist/client/assets/{chunk-O5CBEL6O-BwsS59iy.js → chunk-O5CBEL6O-BHB8UIYA.js} +1 -1
  21. package/dist/client/assets/{chunk-WU5MYG2G-CLyh-xCA.js → chunk-WU5MYG2G-Bz5BJWjF.js} +1 -1
  22. package/dist/client/assets/classDiagram-4FO5ZUOK-Dt0kmMzQ.js +1 -0
  23. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BuxhA4Gw.js +1 -0
  24. package/dist/client/assets/{dagre-BM42HDAG-x71fYlqQ.js → dagre-BM42HDAG-B4TXLkOG.js} +1 -1
  25. package/dist/client/assets/{diagram-2AECGRRQ-CMdwzuYj.js → diagram-2AECGRRQ-CxMup1wq.js} +1 -1
  26. package/dist/client/assets/{diagram-5GNKFQAL-B3l6I4qJ.js → diagram-5GNKFQAL-CTfP_wnS.js} +1 -1
  27. package/dist/client/assets/{diagram-KO2AKTUF-BNhypLBW.js → diagram-KO2AKTUF-31NKNt4r.js} +1 -1
  28. package/dist/client/assets/{diagram-LMA3HP47-CmrhbiDt.js → diagram-LMA3HP47-Cxo7yvjc.js} +1 -1
  29. package/dist/client/assets/{diagram-OG6HWLK6-CRobDMLl.js → diagram-OG6HWLK6-ChgSAMLv.js} +1 -1
  30. package/dist/client/assets/{erDiagram-TEJ5UH35-CqO7K0TS.js → erDiagram-TEJ5UH35-u6msywL_.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-I6XJVG4X-CuLTJZU0.js → flowDiagram-I6XJVG4X-CimeXkDN.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-6RSMTGT7-Bm7v1eRG.js → ganttDiagram-6RSMTGT7-DOu5sDUI.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CNHZr-5i.js → gitGraphDiagram-PVQCEYII-zIToibUf.js} +1 -1
  34. package/dist/client/assets/index-C-VHd0Pr.js +274 -0
  35. package/dist/client/assets/index-D3xlEyeM.css +2 -0
  36. package/dist/client/assets/{infoDiagram-5YYISTIA-z27pUr2X.js → infoDiagram-5YYISTIA-CAtWGGJI.js} +1 -1
  37. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CDocZ0jf.js → ishikawaDiagram-YF4QCWOH-7N-C7DEt.js} +1 -1
  38. package/dist/client/assets/{journeyDiagram-JHISSGLW-CgP31lsU.js → journeyDiagram-JHISSGLW-D7VUypFG.js} +1 -1
  39. package/dist/client/assets/{kanban-definition-UN3LZRKU-DxTm1_fc.js → kanban-definition-UN3LZRKU-AmbDmzSD.js} +1 -1
  40. package/dist/client/assets/{line-hrZ7m44_.js → line-qf4UZ8vh.js} +1 -1
  41. package/dist/client/assets/{mermaid-parser.core-BThJAIK-.js → mermaid-parser.core-BssCd1kF.js} +1 -1
  42. package/dist/client/assets/{mermaid.core-CfVyP_kK.js → mermaid.core-DzeMqg9Y.js} +3 -3
  43. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CuISnLgW.js → mindmap-definition-RKZ34NQL-dEnNQcDm.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-4H26LBE5-DnWAdd44.js → pieDiagram-4H26LBE5-VjMue0a-.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Cb-RVl5A.js → quadrantDiagram-W4KKPZXB-DQFdm-0f.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DrXg_gCS.js → requirementDiagram-4Y6WPE33-CHIaXlsy.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DzZjp_ZP.js → sankeyDiagram-5OEKKPKP-D-kzGaKb.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-CQJ3PhQD.js → sequenceDiagram-3UESZ5HK-CiDmlD8k.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-AJRCARHV-B16j9pg1.js → stateDiagram-AJRCARHV-BKlnnFdT.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DhJxc4em.js +1 -0
  51. package/dist/client/assets/{timeline-definition-PNZ67QCA-bUG3mZQt.js → timeline-definition-PNZ67QCA-D-BK07Un.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-CIIHVFJN-DALCJcZD.js → vennDiagram-CIIHVFJN-CB9_GqSx.js} +1 -1
  53. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DPQd3l9A.js → wardleyDiagram-YWT4CUSO-BEuNfyLT.js} +1 -1
  54. package/dist/client/assets/{xychartDiagram-2RQKCTM6-BIv1FqXG.js → xychartDiagram-2RQKCTM6-CSS5WMrZ.js} +1 -1
  55. package/dist/client/index.html +2 -2
  56. package/dist/server/db.js +481 -27
  57. package/dist/server/db.js.map +1 -1
  58. package/dist/server/index.js +113 -54
  59. package/dist/server/index.js.map +1 -1
  60. package/dist/server/lib/activeAutomationChild.js +1 -0
  61. package/dist/server/lib/activeAutomationChild.js.map +1 -1
  62. package/dist/server/lib/agent.js +127 -15
  63. package/dist/server/lib/agent.js.map +1 -1
  64. package/dist/server/lib/agentRuns.js +12 -0
  65. package/dist/server/lib/agentRuns.js.map +1 -1
  66. package/dist/server/lib/agentSpawnPermits.js +37 -0
  67. package/dist/server/lib/agentSpawnPermits.js.map +1 -0
  68. package/dist/server/lib/automationCheckGate.js +9 -1
  69. package/dist/server/lib/automationCheckGate.js.map +1 -1
  70. package/dist/server/lib/automationProgression.js +19 -5
  71. package/dist/server/lib/automationProgression.js.map +1 -1
  72. package/dist/server/lib/automationReviewGate.js +1 -0
  73. package/dist/server/lib/automationReviewGate.js.map +1 -1
  74. package/dist/server/lib/buildCompletionContinuation.js +144 -4
  75. package/dist/server/lib/buildCompletionContinuation.js.map +1 -1
  76. package/dist/server/lib/buildSequences.js +13 -1
  77. package/dist/server/lib/buildSequences.js.map +1 -1
  78. package/dist/server/lib/bundleActivity.js +19 -0
  79. package/dist/server/lib/bundleActivity.js.map +1 -1
  80. package/dist/server/lib/chatOperations.js +81 -2
  81. package/dist/server/lib/chatOperations.js.map +1 -1
  82. package/dist/server/lib/checkAutoFix.js +604 -0
  83. package/dist/server/lib/checkAutoFix.js.map +1 -0
  84. package/dist/server/lib/checkAutoFixDetails.js +83 -0
  85. package/dist/server/lib/checkAutoFixDetails.js.map +1 -0
  86. package/dist/server/lib/checkAutoFixPolicy.js +59 -0
  87. package/dist/server/lib/checkAutoFixPolicy.js.map +1 -0
  88. package/dist/server/lib/checkRepair.js +149 -54
  89. package/dist/server/lib/checkRepair.js.map +1 -1
  90. package/dist/server/lib/checkRepairDispatch.js +91 -0
  91. package/dist/server/lib/checkRepairDispatch.js.map +1 -0
  92. package/dist/server/lib/checkRepairEvidence.js +84 -0
  93. package/dist/server/lib/checkRepairEvidence.js.map +1 -0
  94. package/dist/server/lib/checkRepairParent.js +21 -0
  95. package/dist/server/lib/checkRepairParent.js.map +1 -0
  96. package/dist/server/lib/checkRepairReconciliation.js +14 -5
  97. package/dist/server/lib/checkRepairReconciliation.js.map +1 -1
  98. package/dist/server/lib/checkRunner.js +27 -8
  99. package/dist/server/lib/checkRunner.js.map +1 -1
  100. package/dist/server/lib/checkRuns.js +63 -4
  101. package/dist/server/lib/checkRuns.js.map +1 -1
  102. package/dist/server/lib/executionReconciliation.js +387 -8
  103. package/dist/server/lib/executionReconciliation.js.map +1 -1
  104. package/dist/server/lib/executionRuns.js +24 -1
  105. package/dist/server/lib/executionRuns.js.map +1 -1
  106. package/dist/server/lib/git.js +302 -11
  107. package/dist/server/lib/git.js.map +1 -1
  108. package/dist/server/lib/integrations/github.js +138 -65
  109. package/dist/server/lib/integrations/github.js.map +1 -1
  110. package/dist/server/lib/integrations/importedIssueImages.js +10 -15
  111. package/dist/server/lib/integrations/importedIssueImages.js.map +1 -1
  112. package/dist/server/lib/postBuildCheckRuns.js +200 -5
  113. package/dist/server/lib/postBuildCheckRuns.js.map +1 -1
  114. package/dist/server/lib/postBuildChecks.js +83 -13
  115. package/dist/server/lib/postBuildChecks.js.map +1 -1
  116. package/dist/server/lib/projects.js +25 -1
  117. package/dist/server/lib/projects.js.map +1 -1
  118. package/dist/server/lib/queue.js +9 -3
  119. package/dist/server/lib/queue.js.map +1 -1
  120. package/dist/server/lib/repositoryGraphQueries.js +5 -3
  121. package/dist/server/lib/repositoryGraphQueries.js.map +1 -1
  122. package/dist/server/lib/repositoryGraphScan.js +13 -2
  123. package/dist/server/lib/repositoryGraphScan.js.map +1 -1
  124. package/dist/server/lib/repositoryGraphStore.js +61 -1
  125. package/dist/server/lib/repositoryGraphStore.js.map +1 -1
  126. package/dist/server/lib/specArtifact.js +10 -1
  127. package/dist/server/lib/specArtifact.js.map +1 -1
  128. package/dist/server/lib/specDraft.js +10 -2
  129. package/dist/server/lib/specDraft.js.map +1 -1
  130. package/dist/server/lib/specExport.js +70 -6
  131. package/dist/server/lib/specExport.js.map +1 -1
  132. package/dist/server/lib/specFormatting.js +3 -2
  133. package/dist/server/lib/specFormatting.js.map +1 -1
  134. package/dist/server/lib/specRepositoryEvidenceFormatting.js +75 -0
  135. package/dist/server/lib/specRepositoryEvidenceFormatting.js.map +1 -0
  136. package/dist/server/lib/specRepositoryImpact.js +447 -0
  137. package/dist/server/lib/specRepositoryImpact.js.map +1 -0
  138. package/dist/server/lib/specRepositoryImpactLimits.js +6 -0
  139. package/dist/server/lib/specRepositoryImpactLimits.js.map +1 -0
  140. package/dist/server/lib/specReviewContext.js +15 -5
  141. package/dist/server/lib/specReviewContext.js.map +1 -1
  142. package/dist/server/lib/specReviewValidation.js +1 -1
  143. package/dist/server/lib/specReviewValidation.js.map +1 -1
  144. package/dist/server/lib/specSections.js +28 -3
  145. package/dist/server/lib/specSections.js.map +1 -1
  146. package/dist/server/lib/specSnapshotEvidence.js +162 -0
  147. package/dist/server/lib/specSnapshotEvidence.js.map +1 -0
  148. package/dist/server/lib/specSnapshotEvidenceSerialization.js +202 -0
  149. package/dist/server/lib/specSnapshotEvidenceSerialization.js.map +1 -0
  150. package/dist/server/lib/specs.js +31 -5
  151. package/dist/server/lib/specs.js.map +1 -1
  152. package/dist/server/lib/ticketAutomationCommit.js +3 -1
  153. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  154. package/dist/server/lib/ticketFollowUpOperations.js +16 -12
  155. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  156. package/dist/server/lib/ticketRunOperations.js +13 -1
  157. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  158. package/dist/server/lib/ticketWorkflowOperations.js +5 -2
  159. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  160. package/dist/server/lib/types.js +1 -0
  161. package/dist/server/lib/types.js.map +1 -1
  162. package/dist/server/workers/build.js +46 -148
  163. package/dist/server/workers/build.js.map +1 -1
  164. package/dist/server/workers/chat.js +141 -31
  165. package/dist/server/workers/chat.js.map +1 -1
  166. package/dist/server/workers/followUp.js +210 -48
  167. package/dist/server/workers/followUp.js.map +1 -1
  168. package/dist/server/workers/specReview.js +17 -4
  169. package/dist/server/workers/specReview.js.map +1 -1
  170. package/dist/server/workers/specSession.js +127 -22
  171. package/dist/server/workers/specSession.js.map +1 -1
  172. package/package.json +1 -1
  173. package/dist/client/assets/RepositoryGraphDialog-CS_hOqPw.js +0 -1
  174. package/dist/client/assets/VerificationDialog-BYH-Ek8n.js +0 -4
  175. package/dist/client/assets/channel-HjENOCZ0.js +0 -1
  176. package/dist/client/assets/classDiagram-4FO5ZUOK-DnhdaVrK.js +0 -1
  177. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C-BjeSGJ.js +0 -1
  178. package/dist/client/assets/index-Bs5SQZhz.css +0 -2
  179. package/dist/client/assets/index-LGNsdNYM.js +0 -274
  180. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-vNiFfHwm.js +0 -1
@@ -1,4 +1,4 @@
1
- import { formatAgentErrorForTranscript, getAgentErrorTranscriptRuns, registerChatProcessPlaceholder, runChatAgent, untrackChatProcessById } from '../lib/agent.js';
1
+ import { formatAgentErrorForTranscript, getAgentErrorTranscriptRuns, isAgentContinuationRejectedError, registerChatProcessPlaceholder, runChatAgent, untrackChatProcessById } from '../lib/agent.js';
2
2
  import { createAgentRun, emitAgentRunsUpdated, finalizeAgentRun, getNextAgentRunIndex, terminalizeAgentRunsForExecutionRun } from '../lib/agentRuns.js';
3
3
  import { deleteStagedChatAttachments, linkChatAttachmentsToMessage, stageChatAttachmentsForAgent } from '../lib/attachments.js';
4
4
  import { createChatMessage } from '../lib/chatMessages.js';
@@ -9,6 +9,7 @@ import { resolveChatSessionTarget } from '../lib/chatTargets.js';
9
9
  import { normalizeClaudeModelId, normalizeModelId } from '../lib/models.js';
10
10
  import { appendPlanModeQuestionPromptRules, PLAN_MODE_RUNTIME_PROMPT_RULES } from '../lib/planModeQuestions.js';
11
11
  import { appendFigmaInspectionGuidance } from '../lib/figmaResources.js';
12
+ import { prependSkillPromptBlock } from '../lib/promptSkills.js';
12
13
  import { persistChatSessionProjectMemorySuggestions } from '../lib/projectMemory.js';
13
14
  import { runPostBuildChecks } from '../lib/postBuildChecks.js';
14
15
  import { getProjectMemoryPromptBlock } from '../lib/projectMemoryPrompt.js';
@@ -16,8 +17,9 @@ import { attachChatTicketProposalsToMessageContent, CHAT_TICKET_PROPOSAL_PROMPT_
16
17
  import { extractProjectMemorySuggestionsFromOutput, getProjectMemorySuggestionPromptRules, } from '../lib/projectMemorySuggestions.js';
17
18
  import { enqueue, isRunning } from '../lib/queue.js';
18
19
  import { getProjectById } from '../lib/projects.js';
19
- import { addExecutionRunLink, transitionExecutionRun } from '../lib/executionRuns.js';
20
+ import { addExecutionRunLink, appendLifecycleEvent, getExecutionRun, transitionExecutionRun } from '../lib/executionRuns.js';
20
21
  import { TurnStartError } from '../lib/turnExecutionErrors.js';
22
+ import { acquireAgentSpawnPermit } from '../lib/agentSpawnPermits.js';
21
23
  const ATTACHMENT_ONLY_EMPTY_RESPONSE_FALLBACK = 'I reviewed the attached image input, but I could not produce a textual response. Please try again with a short note about what you want me to focus on in the image.';
22
24
  const getErrorMessage = (error) => {
23
25
  return error instanceof Error ? error.message : String(error);
@@ -74,7 +76,7 @@ const emitUpdatedChatSession = (chatSessionId, io) => {
74
76
  io.emit('chat-session:updated', chatSession);
75
77
  }
76
78
  };
77
- const failChatTurn = ({ chatSessionId, executionContext, existingTriggerMessageId, providerContinuation, conversationContext, turnMode, mainRunId, error, io, }) => {
79
+ const failChatTurn = ({ chatSessionId, executionContext, existingTriggerMessageId, providerContinuation, conversationContext, turnMode, mainRunId, error, io, restoreOwnerProjection, }) => {
78
80
  const failureMessage = getErrorMessage(error);
79
81
  untrackChatProcessById(chatSessionId);
80
82
  try {
@@ -114,7 +116,7 @@ const failChatTurn = ({ chatSessionId, executionContext, existingTriggerMessageI
114
116
  // Terminal state must not depend on secondary error-message persistence.
115
117
  }
116
118
  try {
117
- updateChatSessionStatus(chatSessionId, 'error', failureMessage, null);
119
+ updateChatSessionStatus(chatSessionId, restoreOwnerProjection ? restoreOwnerProjection.agent_status : 'error', restoreOwnerProjection ? restoreOwnerProjection.agent_log : failureMessage, restoreOwnerProjection ? restoreOwnerProjection.streaming_response : null);
118
120
  emitUpdatedChatSession(chatSessionId, io);
119
121
  }
120
122
  catch {
@@ -130,7 +132,7 @@ const failChatTurn = ({ chatSessionId, executionContext, existingTriggerMessageI
130
132
  }, io);
131
133
  emitAgentRunsUpdated(io, 'chat', chatSessionId);
132
134
  };
133
- export const startChatSessionTurn = ({ chatSessionId, instruction, attachments = [], tool, model, variant, skills = [], io, executionContext, existingTriggerMessageId, providerContinuation, conversationContext, turnMode, }) => {
135
+ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments = [], tool, model, variant, skills = [], io, executionContext, existingTriggerMessageId, providerContinuation, conversationContext, turnMode, resumeSessionId, trustedOrchestration, }) => {
134
136
  const chatSession = getChatSession(chatSessionId, { includeMessages: true });
135
137
  if (!chatSession) {
136
138
  return false;
@@ -150,13 +152,13 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
150
152
  if (chatSession.agent_status === 'running' || isRunning(jobKey)) {
151
153
  return false;
152
154
  }
153
- const userMessageId = existingTriggerMessageId ?? createChatMessage({
155
+ const userMessageId = existingTriggerMessageId ?? (trustedOrchestration ? null : createChatMessage({
154
156
  chatSessionId,
155
157
  role: 'user',
156
158
  kind: 'prompt',
157
159
  content: trimmedInstruction,
158
- });
159
- if (!existingTriggerMessageId) {
160
+ }));
161
+ if (!existingTriggerMessageId && userMessageId) {
160
162
  addExecutionRunLink({
161
163
  projectId: executionContext.projectId,
162
164
  runId: executionContext.runId,
@@ -168,7 +170,7 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
168
170
  },
169
171
  });
170
172
  }
171
- if (!existingTriggerMessageId && attachments.length > 0) {
173
+ if (!existingTriggerMessageId && userMessageId && attachments.length > 0) {
172
174
  linkChatAttachmentsToMessage({
173
175
  chatMessageId: userMessageId,
174
176
  attachments,
@@ -182,22 +184,25 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
182
184
  : null;
183
185
  const resolvedVariant = resolvedTool === 'opencode' && resolvedModel ? variant ?? null : null;
184
186
  const resolvedSkills = skills;
185
- updateChatSessionRunConfig({
186
- chatSessionId,
187
- tool: resolvedTool,
188
- model: resolvedModel,
189
- variant: resolvedVariant,
190
- skills: resolvedSkills,
191
- });
187
+ if (!trustedOrchestration) {
188
+ updateChatSessionRunConfig({
189
+ chatSessionId,
190
+ tool: resolvedTool,
191
+ model: resolvedModel,
192
+ variant: resolvedVariant,
193
+ skills: resolvedSkills,
194
+ });
195
+ }
192
196
  beginChatSessionThinkingRun(chatSessionId);
193
197
  updateChatSessionStatus(chatSessionId, 'running', null, null);
194
198
  const chatCancellation = registerChatProcessPlaceholder(chatSessionId);
195
199
  emitUpdatedChatSession(chatSessionId, io);
196
200
  let queuedJob;
197
201
  try {
198
- queuedJob = enqueue(jobKey, async () => {
202
+ queuedJob = enqueue(jobKey, async (releaseQueueOwnership) => {
199
203
  let stagedAgentAttachmentsDirectoryPath = null;
200
204
  let mainRunId = null;
205
+ let activeMainRunId = null;
201
206
  try {
202
207
  transitionExecutionRun({
203
208
  projectId: executionContext.projectId,
@@ -214,6 +219,7 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
214
219
  label: 'Main agent',
215
220
  role: 'main',
216
221
  });
222
+ activeMainRunId = mainRunId;
217
223
  if (chatCancellation.stopRequested) {
218
224
  untrackChatProcessById(chatSessionId);
219
225
  finalizeAgentRun(mainRunId, 'stopped', null);
@@ -254,7 +260,11 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
254
260
  attachments,
255
261
  });
256
262
  stagedAgentAttachmentsDirectoryPath = stagedAgentAttachments.directoryPath;
257
- const chatPrompt = buildChatPrompt({
263
+ await trustedOrchestration?.beforeStart(executionContext);
264
+ const spawnPermitId = trustedOrchestration
265
+ ? acquireAgentSpawnPermit(executionContext.runId)
266
+ : undefined;
267
+ const chatPrompt = prependSkillPromptBlock(buildChatPrompt({
258
268
  projectName: project.name,
259
269
  projectPath: targetResolution.cwd,
260
270
  mode: resolvedTurnMode,
@@ -264,8 +274,15 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
264
274
  hasAttachments: attachments.length > 0,
265
275
  projectMemory,
266
276
  memoryEnabled: Boolean(project.memory_enabled),
267
- });
268
- const chatRunResult = await runChatAgent({
277
+ }), resolvedSkills);
278
+ const historicalSessionId = resumeSessionId !== undefined
279
+ ? resumeSessionId
280
+ : providerContinuation === 'fresh'
281
+ ? null
282
+ : resolvedTool === 'claude'
283
+ ? latestSession.claude_session_id
284
+ : latestSession.opencode_session_id;
285
+ const launch = (run, sessionId, permitId) => runChatAgent({
269
286
  chatSessionId,
270
287
  tool: resolvedTool,
271
288
  prompt: chatPrompt,
@@ -275,14 +292,70 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
275
292
  model: resolvedModel,
276
293
  variant: resolvedVariant,
277
294
  opencodeAgentMode: resolvedTurnMode,
278
- resumeSessionId: providerContinuation === 'fresh'
279
- ? null
280
- : resolvedTool === 'claude'
281
- ? latestSession.claude_session_id
282
- : latestSession.opencode_session_id,
295
+ resumeSessionId: sessionId,
283
296
  executionContext,
284
- mainRun: { id: mainRunId, label: 'Main agent', role: 'main', runIndex: mainRunIndex },
297
+ mainRun: run,
298
+ spawnPermitId: permitId,
285
299
  });
300
+ let chatRunResult;
301
+ if (trustedOrchestration && !historicalSessionId) {
302
+ appendLifecycleEvent({
303
+ projectId: executionContext.projectId,
304
+ runId: executionContext.runId,
305
+ domainStatus: 'running',
306
+ eventType: 'provider_fresh_without_historical_session',
307
+ }, io);
308
+ }
309
+ try {
310
+ chatRunResult = await launch({ id: mainRunId, label: 'Main agent', role: 'main', runIndex: mainRunIndex }, historicalSessionId, spawnPermitId);
311
+ if (trustedOrchestration && historicalSessionId) {
312
+ appendLifecycleEvent({
313
+ projectId: executionContext.projectId,
314
+ runId: executionContext.runId,
315
+ domainStatus: 'running',
316
+ eventType: 'provider_continuation_resumed',
317
+ }, io);
318
+ }
319
+ }
320
+ catch (error) {
321
+ if (!trustedOrchestration || !historicalSessionId || !isAgentContinuationRejectedError(error)) {
322
+ if (trustedOrchestration && historicalSessionId) {
323
+ appendLifecycleEvent({
324
+ projectId: executionContext.projectId,
325
+ runId: executionContext.runId,
326
+ domainStatus: 'continuation_unsafe_failure',
327
+ eventType: 'provider_continuation_unsafe_failure',
328
+ }, io);
329
+ }
330
+ throw error;
331
+ }
332
+ appendLifecycleEvent({
333
+ projectId: executionContext.projectId,
334
+ runId: executionContext.runId,
335
+ domainStatus: 'continuation_rejected_before_execution',
336
+ eventType: 'provider_continuation_rejected_before_execution',
337
+ }, io);
338
+ await trustedOrchestration.onContinuationFallback?.(executionContext);
339
+ finalizeAgentRun(mainRunId, 'error', null, getErrorMessage(error));
340
+ await trustedOrchestration.beforeStart(executionContext);
341
+ const fallbackPermitId = acquireAgentSpawnPermit(executionContext.runId);
342
+ const fallbackRunId = createAgentRun({
343
+ executionRunId: executionContext.runId,
344
+ parentType: 'chat',
345
+ parentId: chatSessionId,
346
+ label: 'Main agent (fresh fallback)',
347
+ role: 'main',
348
+ });
349
+ const fallbackRunIndex = getNextAgentRunIndex(executionContext.runId) - 1;
350
+ emitAgentRunsUpdated(io, 'chat', chatSessionId);
351
+ activeMainRunId = fallbackRunId;
352
+ chatRunResult = await launch({
353
+ id: fallbackRunId,
354
+ label: 'Main agent (fresh fallback)',
355
+ role: 'main',
356
+ runIndex: fallbackRunIndex,
357
+ }, null, fallbackPermitId);
358
+ }
286
359
  if (chatRunResult.completionStatus === 'stopped') {
287
360
  const interruptedSession = getChatSession(chatSessionId);
288
361
  const interruptedResponse = interruptedSession?.streaming_response?.trim()
@@ -318,7 +391,7 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
318
391
  updateChatSessionUsageSnapshot(chatSessionId, chatRunResult.usageSnapshot);
319
392
  updateChatSessionStatus(chatSessionId, 'stopped', interruptedSession?.agent_log ?? null, null);
320
393
  emitUpdatedChatSession(chatSessionId, io);
321
- finalizeAgentRun(mainRunId, 'stopped', interruptedResponse || null);
394
+ finalizeAgentRun(activeMainRunId, 'stopped', interruptedResponse || null);
322
395
  transitionExecutionRun({
323
396
  projectId: executionContext.projectId,
324
397
  runId: executionContext.runId,
@@ -327,6 +400,10 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
327
400
  eventType: 'chat_turn_cancelled',
328
401
  }, io);
329
402
  emitAgentRunsUpdated(io, 'chat', chatSessionId);
403
+ if (trustedOrchestration) {
404
+ releaseQueueOwnership();
405
+ await trustedOrchestration.onCancellation(executionContext);
406
+ }
330
407
  return;
331
408
  }
332
409
  const latestCompletedSession = getChatSession(chatSessionId);
@@ -367,7 +444,7 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
367
444
  updateChatSessionTitle(chatSessionId, deriveChatSessionTitleFromResponse(questionMessage, trimmedInstruction));
368
445
  }
369
446
  updateChatSessionStatus(chatSessionId, 'done', getChatSession(chatSessionId)?.agent_log ?? null, null);
370
- finalizeAgentRun(mainRunId, 'done', questionMessage);
447
+ finalizeAgentRun(activeMainRunId, 'done', questionMessage);
371
448
  transitionExecutionRun({
372
449
  projectId: executionContext.projectId,
373
450
  runId: executionContext.runId,
@@ -377,6 +454,9 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
377
454
  }, io);
378
455
  emitUpdatedChatSession(chatSessionId, io);
379
456
  emitAgentRunsUpdated(io, 'chat', chatSessionId);
457
+ if (trustedOrchestration) {
458
+ await trustedOrchestration.onCompletion(executionContext);
459
+ }
380
460
  return;
381
461
  }
382
462
  const ticketProposalResponse = typeof askQuestion.cleanedOutput === 'string'
@@ -422,7 +502,7 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
422
502
  }
423
503
  updateChatSessionStatus(chatSessionId, 'done', getChatSession(chatSessionId)?.agent_log ?? null, null);
424
504
  emitUpdatedChatSession(chatSessionId, io);
425
- finalizeAgentRun(mainRunId, 'done', assistantMessage || chatRunResult.finalResponse || null);
505
+ finalizeAgentRun(activeMainRunId, 'done', assistantMessage || chatRunResult.finalResponse || null);
426
506
  transitionExecutionRun({
427
507
  projectId: executionContext.projectId,
428
508
  runId: executionContext.runId,
@@ -430,7 +510,7 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
430
510
  domainStatus: 'done',
431
511
  eventType: 'chat_turn_completed',
432
512
  }, io);
433
- if (resolvedTurnMode === 'build') {
513
+ if (resolvedTurnMode === 'build' && !trustedOrchestration) {
434
514
  const completedSession = getChatSession(chatSessionId);
435
515
  if (completedSession) {
436
516
  await runPostBuildChecks({
@@ -439,18 +519,48 @@ export const startChatSessionTurn = ({ chatSessionId, instruction, attachments =
439
519
  owner: { kind: 'chat_session', chatSession: completedSession },
440
520
  onStatusChange: () => emitUpdatedChatSession(chatSessionId, io),
441
521
  emitter: io,
522
+ releaseOwnerQueue: releaseQueueOwnership,
442
523
  });
443
524
  }
444
525
  }
445
526
  emitUpdatedChatSession(chatSessionId, io);
446
527
  emitAgentRunsUpdated(io, 'chat', chatSessionId);
528
+ if (trustedOrchestration) {
529
+ await trustedOrchestration.onCompletion(executionContext);
530
+ }
447
531
  }
448
532
  catch (error) {
533
+ const currentExecution = getExecutionRun(executionContext.projectId, executionContext.runId);
534
+ if (currentExecution?.status === 'cancelled') {
535
+ untrackChatProcessById(chatSessionId);
536
+ updateChatSessionStatus(chatSessionId, 'stopped', null, null);
537
+ emitUpdatedChatSession(chatSessionId, io);
538
+ emitAgentRunsUpdated(io, 'chat', chatSessionId);
539
+ if (trustedOrchestration) {
540
+ releaseQueueOwnership();
541
+ await trustedOrchestration.onCancellation(executionContext);
542
+ }
543
+ return;
544
+ }
449
545
  const latestSession = getChatSession(chatSessionId);
450
546
  if (latestSession?.title === getDefaultChatSessionTitle()) {
451
547
  updateChatSessionTitle(chatSessionId, deriveChatSessionTitle(trimmedInstruction));
452
548
  }
453
- failChatTurn({ chatSessionId, executionContext, turnMode: resolvedTurnMode, mainRunId, error, io });
549
+ failChatTurn({
550
+ chatSessionId,
551
+ executionContext,
552
+ turnMode: resolvedTurnMode,
553
+ mainRunId: activeMainRunId,
554
+ error,
555
+ io,
556
+ restoreOwnerProjection: trustedOrchestration?.preserveOwnerOnFailure
557
+ ? chatSession
558
+ : undefined,
559
+ });
560
+ if (trustedOrchestration) {
561
+ releaseQueueOwnership();
562
+ await trustedOrchestration.onFailure(executionContext, getErrorMessage(error));
563
+ }
454
564
  }
455
565
  finally {
456
566
  deleteStagedChatAttachments(stagedAgentAttachmentsDirectoryPath);
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../server/workers/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../server/workers/chat.ts"],"names":[],"mappings":"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"}