@straiffi/archon 1.8.23 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/dist/client/assets/{ActivityView-BaIZ8eHC.js → ActivityView-Y5IaJiim.js} +1 -1
  2. package/dist/client/assets/GitHubActionsDialog-GWVxWGPK.js +1 -0
  3. package/dist/client/assets/VerificationDialog-C4RMuI4y.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Dl5UF67P.js → architectureDiagram-3BPJPVTR-CeM6gbLN.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-DCcERfrZ.js → blockDiagram-GPEHLZMM-BP4hta96.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-BGhbASFm.js → c4Diagram-AAUBKEIU-5aJScvhn.js} +1 -1
  7. package/dist/client/assets/channel-B3DjZXbm.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-C1ARozTV.js → chunk-2J33WTMH-BKc2IelV.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-BEovLizF.js → chunk-3OPIFGDE-DCc15la5.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-C5MmlLa_.js → chunk-5ZQYHXKU-DSD9HbTp.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-8y8jBk4n.js → chunk-727SXJPM-DrAjnKiA.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-q-mByAd3.js → chunk-AQP2D5EJ-DxKnpHfQ.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-BOx2mLSz.js → chunk-CSCIHK7Q-DLejrAB_.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-zEwQFq7q.js → chunk-KSCS5N6A-BWRNmF8S.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-C80z6rY_.js → chunk-L5ZTLDWV-D48i966f.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-BLaEsGPd.js → chunk-LZXEDZCA-DLhg6Bok.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-x26BZ95L.js → chunk-ND2GUHAM-B4-7cOEq.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-D2WAxr1p.js → chunk-NZK2D7GU-D2ttXA_d.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-DDPCrzKh.js → chunk-O5CBEL6O-BrWrOVCq.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-CE-JcvIc.js → chunk-WU5MYG2G-CLcPwxPe.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-DproSkn2.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-JVMMzJxJ.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-Bf7wpUk_.js → dagre-BM42HDAG-DIXN8_VX.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-BQoKmc3B.js → diagram-2AECGRRQ-D2wjdCij.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-D2jarPLn.js → diagram-5GNKFQAL-E1Og_PHE.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-Bcbbjvsl.js → diagram-KO2AKTUF-B6P1Ud8a.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-t862RRBQ.js → diagram-LMA3HP47-C3Jxq56v.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-CacbMcO0.js → diagram-OG6HWLK6-Do9LVhdL.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-DRQ79baI.js → erDiagram-TEJ5UH35-DLb5E4-f.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-BfW4KEdc.js → flowDiagram-I6XJVG4X-CcTs_wU9.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-BPIl0TAj.js → ganttDiagram-6RSMTGT7-q9ez5fri.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CRIusBMV.js → gitGraphDiagram-PVQCEYII-BcaKiz4c.js} +1 -1
  33. package/dist/client/assets/index-1CokwSFm.css +2 -0
  34. package/dist/client/assets/index-CSOKbu3w.js +276 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-DTKzK8EJ.js → infoDiagram-5YYISTIA-Cu0w4frE.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DVIHZLvL.js → ishikawaDiagram-YF4QCWOH-CJ47Z-ak.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-CQBZ4tCx.js → journeyDiagram-JHISSGLW-fAL_Zcvs.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-D7naegR0.js → kanban-definition-UN3LZRKU-BTNIybMC.js} +1 -1
  39. package/dist/client/assets/{line-CizZlaeV.js → line-BvsadeZR.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-NrDqgpZa.js → mermaid-parser.core-C0EkH2y_.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-CwVO3oX0.js → mermaid.core-BU5QIIbY.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BWxy3Aa_.js → mindmap-definition-RKZ34NQL-CWbSYK8f.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-B3gXpmBn.js → pieDiagram-4H26LBE5-t4w2cB-y.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Dpp4g8Al.js → quadrantDiagram-W4KKPZXB-Cqasvrpa.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-lFKXnxml.js → requirementDiagram-4Y6WPE33-_l-mY-tb.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BBdtwqrS.js → sankeyDiagram-5OEKKPKP-Cr9YrZ-Y.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-ANpVZzqm.js → sequenceDiagram-3UESZ5HK-DvzZhQpb.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-D58ZxmKY.js → stateDiagram-AJRCARHV-cFjPpAO3.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-btHMH5Cg.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-B6FK8IQC.js → timeline-definition-PNZ67QCA-BjRNrEJY.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-lFWtZEEY.js → vennDiagram-CIIHVFJN-xs9afjrw.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DteAVp4l.js → wardleyDiagram-YWT4CUSO-DH68ZYti.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CNcDlRLN.js → xychartDiagram-2RQKCTM6-DLW5ktTU.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +225 -12
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +80 -26
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +368 -143
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentProvider.js.map +1 -1
  62. package/dist/server/lib/approvalReconciliation.js +14 -2
  63. package/dist/server/lib/approvalReconciliation.js.map +1 -1
  64. package/dist/server/lib/buildExecutionEnvironment.js +251 -57
  65. package/dist/server/lib/buildExecutionEnvironment.js.map +1 -1
  66. package/dist/server/lib/chatOperations.js +125 -3
  67. package/dist/server/lib/chatOperations.js.map +1 -1
  68. package/dist/server/lib/chatPostBuildRuns.js +12 -6
  69. package/dist/server/lib/chatPostBuildRuns.js.map +1 -1
  70. package/dist/server/lib/chatTargets.js +2 -1
  71. package/dist/server/lib/chatTargets.js.map +1 -1
  72. package/dist/server/lib/checkDefinitionCwd.js +34 -0
  73. package/dist/server/lib/checkDefinitionCwd.js.map +1 -0
  74. package/dist/server/lib/checkExecutionEnvironment.js +95 -0
  75. package/dist/server/lib/checkExecutionEnvironment.js.map +1 -0
  76. package/dist/server/lib/checkPolicyDefinitionIds.js +41 -0
  77. package/dist/server/lib/checkPolicyDefinitionIds.js.map +1 -0
  78. package/dist/server/lib/checkRepairDispatch.js +2 -0
  79. package/dist/server/lib/checkRepairDispatch.js.map +1 -1
  80. package/dist/server/lib/checkRunner.js +371 -175
  81. package/dist/server/lib/checkRunner.js.map +1 -1
  82. package/dist/server/lib/checkRuns.js +99 -8
  83. package/dist/server/lib/checkRuns.js.map +1 -1
  84. package/dist/server/lib/claudeAgentProvider.js +3 -6
  85. package/dist/server/lib/claudeAgentProvider.js.map +1 -1
  86. package/dist/server/lib/claudeStdin.js +27 -0
  87. package/dist/server/lib/claudeStdin.js.map +1 -0
  88. package/dist/server/lib/completedAssistantOutput.js +38 -0
  89. package/dist/server/lib/completedAssistantOutput.js.map +1 -0
  90. package/dist/server/lib/consequentialActionAuthority.js +99 -8
  91. package/dist/server/lib/consequentialActionAuthority.js.map +1 -1
  92. package/dist/server/lib/consequentialActions.js +42 -2
  93. package/dist/server/lib/consequentialActions.js.map +1 -1
  94. package/dist/server/lib/dockerSandboxCredentials.js +10 -3
  95. package/dist/server/lib/dockerSandboxCredentials.js.map +1 -1
  96. package/dist/server/lib/dockerSandboxEnvironmentOperations.js +9 -8
  97. package/dist/server/lib/dockerSandboxEnvironmentOperations.js.map +1 -1
  98. package/dist/server/lib/dockerSandboxExecutionEnvironment.js +149 -74
  99. package/dist/server/lib/dockerSandboxExecutionEnvironment.js.map +1 -1
  100. package/dist/server/lib/dockerSandboxExecutionProvider.js +22 -14
  101. package/dist/server/lib/dockerSandboxExecutionProvider.js.map +1 -1
  102. package/dist/server/lib/dockerSandboxNetworkPolicy.js +23 -14
  103. package/dist/server/lib/dockerSandboxNetworkPolicy.js.map +1 -1
  104. package/dist/server/lib/dockerSandboxReleaseProfiles.js +91 -0
  105. package/dist/server/lib/dockerSandboxReleaseProfiles.js.map +1 -0
  106. package/dist/server/lib/dockerSandboxRuntimeController.js +16 -1
  107. package/dist/server/lib/dockerSandboxRuntimeController.js.map +1 -1
  108. package/dist/server/lib/executionCredentialCapabilities.js +9 -6
  109. package/dist/server/lib/executionCredentialCapabilities.js.map +1 -1
  110. package/dist/server/lib/executionEnvironment.js.map +1 -1
  111. package/dist/server/lib/executionEnvironmentLifecycle.js +7 -0
  112. package/dist/server/lib/executionEnvironmentLifecycle.js.map +1 -1
  113. package/dist/server/lib/executionEnvironmentOperations.js +241 -0
  114. package/dist/server/lib/executionEnvironmentOperations.js.map +1 -0
  115. package/dist/server/lib/executionEnvironmentReconciliation.js +98 -3
  116. package/dist/server/lib/executionEnvironmentReconciliation.js.map +1 -1
  117. package/dist/server/lib/executionEnvironmentRoutes.js +66 -27
  118. package/dist/server/lib/executionEnvironmentRoutes.js.map +1 -1
  119. package/dist/server/lib/executionEnvironmentValidation.js +2 -2
  120. package/dist/server/lib/executionEnvironmentValidation.js.map +1 -1
  121. package/dist/server/lib/executionEnvironmentValidationOperations.js +58 -31
  122. package/dist/server/lib/executionEnvironmentValidationOperations.js.map +1 -1
  123. package/dist/server/lib/executionEnvironments.js +187 -9
  124. package/dist/server/lib/executionEnvironments.js.map +1 -1
  125. package/dist/server/lib/executionProfileCheckPolicy.js +14 -0
  126. package/dist/server/lib/executionProfileCheckPolicy.js.map +1 -0
  127. package/dist/server/lib/executionProfileRoutes.js +9 -1
  128. package/dist/server/lib/executionProfileRoutes.js.map +1 -1
  129. package/dist/server/lib/executionProfileStore.js +5 -3
  130. package/dist/server/lib/executionProfileStore.js.map +1 -1
  131. package/dist/server/lib/executionProfiles.js +97 -15
  132. package/dist/server/lib/executionProfiles.js.map +1 -1
  133. package/dist/server/lib/executionReconciliation.js +43 -6
  134. package/dist/server/lib/executionReconciliation.js.map +1 -1
  135. package/dist/server/lib/executionRunAuthority.js +115 -24
  136. package/dist/server/lib/executionRunAuthority.js.map +1 -1
  137. package/dist/server/lib/executionTargets.js +30 -4
  138. package/dist/server/lib/executionTargets.js.map +1 -1
  139. package/dist/server/lib/executionWorkloads.js +75 -0
  140. package/dist/server/lib/executionWorkloads.js.map +1 -0
  141. package/dist/server/lib/git.js +10 -1
  142. package/dist/server/lib/git.js.map +1 -1
  143. package/dist/server/lib/opencodeAgentProvider.js +3 -1
  144. package/dist/server/lib/opencodeAgentProvider.js.map +1 -1
  145. package/dist/server/lib/opencodeSessionOperations.js +5 -3
  146. package/dist/server/lib/opencodeSessionOperations.js.map +1 -1
  147. package/dist/server/lib/planQuestions.js +2 -1
  148. package/dist/server/lib/planQuestions.js.map +1 -1
  149. package/dist/server/lib/postBuildCheckRuns.js +9 -5
  150. package/dist/server/lib/postBuildCheckRuns.js.map +1 -1
  151. package/dist/server/lib/preview.js +47 -6
  152. package/dist/server/lib/preview.js.map +1 -1
  153. package/dist/server/lib/previewProxy.js +11 -3
  154. package/dist/server/lib/previewProxy.js.map +1 -1
  155. package/dist/server/lib/productionCheckApprovals.js +97 -35
  156. package/dist/server/lib/productionCheckApprovals.js.map +1 -1
  157. package/dist/server/lib/projectMemorySuggestions.js +29 -6
  158. package/dist/server/lib/projectMemorySuggestions.js.map +1 -1
  159. package/dist/server/lib/requiredCheckPolicy.js +3 -40
  160. package/dist/server/lib/requiredCheckPolicy.js.map +1 -1
  161. package/dist/server/lib/reviewAgentWatchdog.js +75 -0
  162. package/dist/server/lib/reviewAgentWatchdog.js.map +1 -0
  163. package/dist/server/lib/reviewFindingReconciliation.js +176 -0
  164. package/dist/server/lib/reviewFindingReconciliation.js.map +1 -0
  165. package/dist/server/lib/reviewFindings.js +33 -11
  166. package/dist/server/lib/reviewFindings.js.map +1 -1
  167. package/dist/server/lib/run.js +370 -80
  168. package/dist/server/lib/run.js.map +1 -1
  169. package/dist/server/lib/serviceRuns.js +196 -0
  170. package/dist/server/lib/serviceRuns.js.map +1 -0
  171. package/dist/server/lib/sessionTargets.js +34 -0
  172. package/dist/server/lib/sessionTargets.js.map +1 -1
  173. package/dist/server/lib/shell.js +20 -0
  174. package/dist/server/lib/shell.js.map +1 -1
  175. package/dist/server/lib/specArtifact.js +36 -15
  176. package/dist/server/lib/specArtifact.js.map +1 -1
  177. package/dist/server/lib/specBundleGroups.js +4 -4
  178. package/dist/server/lib/specBundleGroups.js.map +1 -1
  179. package/dist/server/lib/specOperations.js +2 -0
  180. package/dist/server/lib/specOperations.js.map +1 -1
  181. package/dist/server/lib/specReviewOperations.js +2 -0
  182. package/dist/server/lib/specReviewOperations.js.map +1 -1
  183. package/dist/server/lib/specTicketMaterialization.js +37 -24
  184. package/dist/server/lib/specTicketMaterialization.js.map +1 -1
  185. package/dist/server/lib/ticketFollowUpOperations.js +9 -4
  186. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  187. package/dist/server/lib/ticketRunOperations.js +1 -0
  188. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  189. package/dist/server/lib/types.js +1 -0
  190. package/dist/server/lib/types.js.map +1 -1
  191. package/dist/server/lib/workloadExecutionEnvironment.js +2 -0
  192. package/dist/server/lib/workloadExecutionEnvironment.js.map +1 -0
  193. package/dist/server/lib/workspaceIdentity.js +30 -6
  194. package/dist/server/lib/workspaceIdentity.js.map +1 -1
  195. package/dist/server/workers/build.js +39 -8
  196. package/dist/server/workers/build.js.map +1 -1
  197. package/dist/server/workers/chat.js +142 -15
  198. package/dist/server/workers/chat.js.map +1 -1
  199. package/dist/server/workers/followUp.js +77 -20
  200. package/dist/server/workers/followUp.js.map +1 -1
  201. package/dist/server/workers/plan.js +295 -48
  202. package/dist/server/workers/plan.js.map +1 -1
  203. package/dist/server/workers/planFollowUp.js +77 -7
  204. package/dist/server/workers/planFollowUp.js.map +1 -1
  205. package/dist/server/workers/review.js +149 -38
  206. package/dist/server/workers/review.js.map +1 -1
  207. package/dist/server/workers/specReview.js +43 -5
  208. package/dist/server/workers/specReview.js.map +1 -1
  209. package/dist/server/workers/specSession.js +156 -31
  210. package/dist/server/workers/specSession.js.map +1 -1
  211. package/package.json +1 -1
  212. package/dist/client/assets/GitHubActionsDialog-BFCqikDY.js +0 -1
  213. package/dist/client/assets/VerificationDialog-B1_6HMdt.js +0 -4
  214. package/dist/client/assets/channel-BfskvH2B.js +0 -1
  215. package/dist/client/assets/classDiagram-4FO5ZUOK-D4HPfxL3.js +0 -1
  216. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DQQ_WqAU.js +0 -1
  217. package/dist/client/assets/index-CZ1z72fo.js +0 -276
  218. package/dist/client/assets/index-SMj5ZmMs.css +0 -2
  219. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Cv8cmDfz.js +0 -1
@@ -1,32 +1,82 @@
1
1
  import db from '../db.js';
2
2
  import { consequentialActionAuthorityBinding, createConsequentialActionAuthority } from './consequentialActionAuthority.js';
3
3
  import { getCheckDefinitionFingerprint, normalizeCheckDefinitions } from './checkDefinitions.js';
4
- import { getGitStatus } from './git.js';
4
+ import { getCheckAttemptDetails, getCheckBatchDetails } from './checkRuns.js';
5
+ import { captureCheckWorkspaceIdentity } from './checkWorkspaceIdentity.js';
6
+ import { resolveDefinitionCwd } from './checkDefinitionCwd.js';
7
+ import { resolveExecutionRunProfile } from './executionRunAuthority.js';
8
+ import { getAutomationRemoteIdentity, getGitStatus } from './git.js';
9
+ import { getProjectById, getProjectCheckDefinitions } from './projects.js';
5
10
  export const PRODUCTION_CHECK_APPROVAL_TTL_MS = 15 * 60 * 1000;
6
- const resolveAuthority = (projectId) => {
7
- const initial = createConsequentialActionAuthority({
8
- projectId,
9
- effectiveCapabilities: ['check.execute', 'workspace.read', 'workspace.write'],
11
+ export const rebuildProductionCheckAction = async (request) => {
12
+ if (request.action.kind !== 'custom_check') {
13
+ throw new Error('Approval request is not a production custom check');
14
+ }
15
+ const action = request.action;
16
+ const attempt = getCheckAttemptDetails(request.project_id, request.execution_run_id);
17
+ const batch = attempt ? getCheckBatchDetails(request.project_id, attempt.batch_run_id) : null;
18
+ const definition = getProjectCheckDefinitions(getProjectById(request.project_id))
19
+ .find(candidate => candidate.id === action.target.check_definition_id);
20
+ if (!attempt || !batch || !definition) {
21
+ throw new Error('Production check execution context is unavailable');
22
+ }
23
+ const workspaceCwd = action.workspace_git.workspace_path;
24
+ const workspaceIdentity = await captureCheckWorkspaceIdentity(workspaceCwd);
25
+ return buildProductionCheckAction({
26
+ projectId: request.project_id,
27
+ workspaceCwd,
28
+ effectiveCwd: resolveDefinitionCwd(workspaceCwd, definition),
29
+ definition,
30
+ batch,
31
+ workspaceIdentity,
32
+ expiresAt: request.expires_at,
33
+ launcher: action.target.launcher ?? 'host_shell',
34
+ batchEnvironment: action.target.batch_environment ?? null,
35
+ attemptPlacement: action.target.attempt_placement ?? null,
10
36
  });
11
- const environment = db.prepare(`
12
- SELECT id, environment_revision, environment_validation_fingerprint
13
- FROM execution_environments
14
- WHERE project_id = ? AND execution_profile_revision_id = ?
15
- AND lifecycle_state IN ('ready', 'running')
16
- ORDER BY updated_at DESC, id DESC
17
- LIMIT 1
18
- `).get(projectId, initial.selected_profile.revision_id);
19
- return environment
20
- ? createConsequentialActionAuthority({
21
- projectId,
22
- effectiveCapabilities: initial.effective_capabilities,
23
- environment: {
24
- id: environment.id,
25
- revision: environment.environment_revision,
26
- validationFingerprint: environment.environment_validation_fingerprint,
27
- },
28
- })
29
- : initial;
37
+ };
38
+ export const resolveAuthority = (input) => {
39
+ const project = getProjectById(input.projectId);
40
+ if (!project) {
41
+ throw new Error('The project is unavailable');
42
+ }
43
+ const profile = resolveExecutionRunProfile(project, input.batchRunId);
44
+ if (input.launcher === 'host_shell' && input.batchEnvironment) {
45
+ throw new Error('Host production checks cannot inherit sandbox environment identity');
46
+ }
47
+ if (!input.attemptPlacement) {
48
+ throw new Error('Production checks require their exact attempt placement');
49
+ }
50
+ if (input.launcher === 'docker_sandbox_exec' && !input.batchEnvironment) {
51
+ throw new Error('Sandbox production checks require their exact batch environment and attempt placement');
52
+ }
53
+ const effectiveCapabilities = [
54
+ 'check.execute',
55
+ 'workspace.read',
56
+ 'workspace.write',
57
+ input.launcher === 'docker_sandbox_exec' ? 'isolation.microvm' : 'isolation.host_process',
58
+ ];
59
+ const logicalSecretReferences = profile.profile.credential_requirements
60
+ .filter(requirement => requirement.workload === 'check')
61
+ .map(requirement => `credential:${requirement.id}`);
62
+ if (input.launcher === 'host_shell' && profile.profile.compatibility === 'legacy_host') {
63
+ logicalSecretReferences.push('host:ambient');
64
+ }
65
+ return {
66
+ authority: createConsequentialActionAuthority({
67
+ projectId: input.projectId,
68
+ effectiveCapabilities,
69
+ launcher: input.launcher,
70
+ environment: input.batchEnvironment ? {
71
+ id: input.batchEnvironment.id,
72
+ revision: input.batchEnvironment.revision,
73
+ validationFingerprint: input.batchEnvironment.validation_fingerprint,
74
+ } : null,
75
+ attemptPlacement: input.attemptPlacement,
76
+ profileRevision: profile,
77
+ }),
78
+ logicalSecretReferences,
79
+ };
30
80
  };
31
81
  const canonicalDefinition = (definition) => {
32
82
  const normalized = normalizeCheckDefinitions([definition], { allowOversizedIds: true });
@@ -37,15 +87,10 @@ const canonicalDefinition = (definition) => {
37
87
  };
38
88
  const resolveAutomationLineage = (projectId, batch, boundaryPurpose) => {
39
89
  const row = db.prepare(`
40
- SELECT batch_run.parent_run_id, project.automation_depth, project.automation_review_fix_enabled,
41
- bundle.automation_depth AS bundle_automation_depth,
42
- bundle.automation_review_fix_enabled AS bundle_automation_review_fix_enabled
90
+ SELECT batch_run.parent_run_id
43
91
  FROM execution_runs batch_run
44
- JOIN projects project ON project.id = batch_run.project_id
45
- LEFT JOIN worktree_bundles bundle
46
- ON bundle.id = ? AND bundle.project_id = batch_run.project_id
47
92
  WHERE batch_run.id = ? AND batch_run.project_id = ?
48
- `).get(batch.target_bundle_id, batch.execution_run_id, projectId);
93
+ `).get(batch.execution_run_id, projectId);
49
94
  if (!row) {
50
95
  throw new Error('Production check automation lineage is unavailable');
51
96
  }
@@ -53,10 +98,16 @@ const resolveAutomationLineage = (projectId, batch, boundaryPurpose) => {
53
98
  batch_run_id: batch.execution_run_id,
54
99
  parent_run_id: row.parent_run_id,
55
100
  boundary_purpose: boundaryPurpose,
56
- depth: row.bundle_automation_depth ?? row.automation_depth,
57
- review_fix_enabled: Boolean(row.bundle_automation_review_fix_enabled ?? row.automation_review_fix_enabled),
58
101
  };
59
102
  };
103
+ const resolveRemoteUrlFingerprint = (workspaceCwd) => {
104
+ try {
105
+ return /^sha256:([0-9a-f]{64})$/.exec(getAutomationRemoteIdentity(workspaceCwd))?.[1] ?? null;
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ };
60
111
  export const buildProductionCheckAction = (input) => {
61
112
  if (input.definition.category !== 'custom' || input.definition.consequence !== 'production') {
62
113
  throw new Error('Only production custom checks can create production approval actions');
@@ -65,7 +116,14 @@ export const buildProductionCheckAction = (input) => {
65
116
  throw new Error(`Production check workspace identity is unavailable: ${input.workspaceIdentity.message}`);
66
117
  }
67
118
  const definition = canonicalDefinition(input.definition);
68
- const authority = input.authority ?? resolveAuthority(input.projectId);
119
+ const resolved = resolveAuthority({
120
+ projectId: input.projectId,
121
+ launcher: input.launcher,
122
+ batchEnvironment: input.batchEnvironment,
123
+ attemptPlacement: input.attemptPlacement,
124
+ batchRunId: input.batch.execution_run_id,
125
+ });
126
+ const authority = resolved.authority;
69
127
  const gitStatus = getGitStatus(input.workspaceCwd, null, null, { includeWorkspaceSignature: true });
70
128
  const scopeKind = input.batch.target_kind === 'bundle' ? 'bundle' : 'project';
71
129
  const scopeId = input.batch.target_bundle_id ?? input.projectId;
@@ -82,7 +140,7 @@ export const buildProductionCheckAction = (input) => {
82
140
  state_fingerprint: input.workspaceIdentity.fingerprint,
83
141
  },
84
142
  authority: consequentialActionAuthorityBinding(authority),
85
- logical_secret_references: [],
143
+ logical_secret_references: resolved.logicalSecretReferences,
86
144
  target: {
87
145
  check_definition_id: definition.id,
88
146
  check_definition_fingerprint: getCheckDefinitionFingerprint(definition),
@@ -98,6 +156,10 @@ export const buildProductionCheckAction = (input) => {
98
156
  head: input.workspaceIdentity.head,
99
157
  },
100
158
  automation_lineage: resolveAutomationLineage(input.projectId, input.batch, input.batch.automation_boundary_purpose),
159
+ launcher: input.launcher,
160
+ batch_environment: input.batchEnvironment,
161
+ attempt_placement: input.attemptPlacement,
162
+ remote_url_fingerprint: resolveRemoteUrlFingerprint(input.workspaceCwd),
101
163
  expires_at: input.expiresAt,
102
164
  },
103
165
  },
@@ -1 +1 @@
1
- {"version":3,"file":"productionCheckApprovals.js","sourceRoot":"","sources":["../../../server/lib/productionCheckApprovals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"productionCheckApprovals.js","sourceRoot":"","sources":["../../../server/lib/productionCheckApprovals.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { getProjectMemorySuggestionDedupeKey, validateProjectMemorySuggestionPayload } from './projectMemory.js';
2
2
  const PROJECT_MEMORY_SUGGESTIONS_TAG = 'archon-memory-suggestions';
3
3
  const PROJECT_MEMORY_SUGGESTION_MAX_COUNT = 3;
4
+ const PROJECT_MEMORY_SUGGESTIONS_OPENING_PATTERN = new RegExp(`^[ \\t]*<${PROJECT_MEMORY_SUGGESTIONS_TAG}>[ \\t]*$`, 'gim');
5
+ const PROJECT_MEMORY_SUGGESTIONS_CLOSING_PATTERN = new RegExp(`^[ \\t]*<\\/${PROJECT_MEMORY_SUGGESTIONS_TAG}>[ \\t]*$`, 'im');
4
6
  export const PROJECT_MEMORY_SUGGESTION_COMMON_RULE_LINES = [
5
7
  '- Return `memory_suggestions` as an array of 0-3 durable project-specific memory suggestions.',
6
8
  '- Suggestions may be `decision` or `convention` memories.',
@@ -126,8 +128,29 @@ const getSuggestionSpecificityScore = (suggestion) => {
126
128
  const shouldReplaceSuggestion = (candidate, existing) => {
127
129
  return getSuggestionSpecificityScore(candidate) > getSuggestionSpecificityScore(existing);
128
130
  };
129
- const stripSuggestionBlock = (output) => {
130
- return output.replace(new RegExp(`<${PROJECT_MEMORY_SUGGESTIONS_TAG}>[\\s\\S]*?<\\/${PROJECT_MEMORY_SUGGESTIONS_TAG}>`, 'g'), '').trim();
131
+ const findSuggestionBlock = (output) => {
132
+ const openings = [...output.matchAll(PROJECT_MEMORY_SUGGESTIONS_OPENING_PATTERN)];
133
+ for (let index = openings.length - 1; index >= 0; index -= 1) {
134
+ const opening = openings[index];
135
+ if (opening.index === undefined) {
136
+ continue;
137
+ }
138
+ const contentStart = opening.index + opening[0].length;
139
+ const remainder = output.slice(contentStart);
140
+ const closing = remainder.match(PROJECT_MEMORY_SUGGESTIONS_CLOSING_PATTERN);
141
+ if (!closing || closing.index === undefined) {
142
+ continue;
143
+ }
144
+ return {
145
+ start: opening.index,
146
+ end: contentStart + closing.index + closing[0].length,
147
+ content: remainder.slice(0, closing.index),
148
+ };
149
+ }
150
+ return null;
151
+ };
152
+ const stripSuggestionBlock = (output, block) => {
153
+ return `${output.slice(0, block.start)}${output.slice(block.end)}`.trim();
131
154
  };
132
155
  export const normalizeProjectMemorySuggestions = (value) => {
133
156
  if (!Array.isArray(value)) {
@@ -162,8 +185,8 @@ export const normalizeProjectMemorySuggestions = (value) => {
162
185
  return normalized;
163
186
  };
164
187
  export const extractProjectMemorySuggestionsFromOutput = (output) => {
165
- const match = output.match(new RegExp(`<${PROJECT_MEMORY_SUGGESTIONS_TAG}>([\\s\\S]*?)<\\/${PROJECT_MEMORY_SUGGESTIONS_TAG}>`));
166
- if (!match) {
188
+ const block = findSuggestionBlock(output);
189
+ if (!block) {
167
190
  return {
168
191
  cleanedOutput: output.trim(),
169
192
  suggestions: [],
@@ -171,14 +194,14 @@ export const extractProjectMemorySuggestionsFromOutput = (output) => {
171
194
  }
172
195
  let suggestions = [];
173
196
  try {
174
- const parsed = JSON.parse(match[1].trim());
197
+ const parsed = JSON.parse(block.content.trim());
175
198
  suggestions = normalizeProjectMemorySuggestions(parsed.memory_suggestions);
176
199
  }
177
200
  catch {
178
201
  suggestions = [];
179
202
  }
180
203
  return {
181
- cleanedOutput: stripSuggestionBlock(output),
204
+ cleanedOutput: stripSuggestionBlock(output, block),
182
205
  suggestions,
183
206
  };
184
207
  };
@@ -1 +1 @@
1
- {"version":3,"file":"projectMemorySuggestions.js","sourceRoot":"","sources":["../../../server/lib/projectMemorySuggestions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectMemorySuggestions.js","sourceRoot":"","sources":["../../../server/lib/projectMemorySuggestions.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,15 @@
1
1
  import { createHash } from 'crypto';
2
2
  import { getCheckDefinitionFingerprint } from './checkDefinitions.js';
3
+ import { canonicalizeRequiredCheckDefinitionIds as canonicalizeDefinitionIds, parseRequiredCheckDefinitionIds as parseDefinitionIds, } from './checkPolicyDefinitionIds.js';
3
4
  import { getProjectCheckDefinitions } from './projects.js';
4
- const compareIds = (left, right) => (Buffer.compare(Buffer.from(left, 'utf8'), Buffer.from(right, 'utf8')));
5
5
  const updateLengthDelimited = (hash, value) => {
6
6
  const buffer = Buffer.from(value, 'utf8');
7
7
  const length = Buffer.alloc(8);
8
8
  length.writeBigUInt64BE(BigInt(buffer.length));
9
9
  hash.update(length).update(buffer);
10
10
  };
11
- export const canonicalizeRequiredCheckDefinitionIds = (value, fieldName = 'required_check_definition_ids') => {
12
- if (value == null) {
13
- return { value: [] };
14
- }
15
- if (!Array.isArray(value)) {
16
- return { error: `${fieldName} must be an array of check definition IDs` };
17
- }
18
- const ids = [];
19
- const seenIds = new Set();
20
- for (const valueId of value) {
21
- if (typeof valueId !== 'string' || valueId.trim() === '') {
22
- return { error: `${fieldName} entries must be non-empty strings` };
23
- }
24
- const id = valueId.trim();
25
- if (seenIds.has(id)) {
26
- return { error: `${fieldName} entries must be unique` };
27
- }
28
- seenIds.add(id);
29
- ids.push(id);
30
- }
31
- return { value: ids.sort(compareIds) };
32
- };
33
- export const parseRequiredCheckDefinitionIds = (value, fieldName = 'required_check_definition_ids') => {
34
- if (value == null) {
35
- return { value: [] };
36
- }
37
- if (typeof value !== 'string') {
38
- return { error: `persisted ${fieldName} must be valid JSON` };
39
- }
40
- try {
41
- const result = canonicalizeRequiredCheckDefinitionIds(JSON.parse(value), fieldName);
42
- return 'error' in result
43
- ? { error: `persisted ${result.error}` }
44
- : result;
45
- }
46
- catch {
47
- return { error: `persisted ${fieldName} must be valid JSON` };
48
- }
49
- };
11
+ export const canonicalizeRequiredCheckDefinitionIds = (value, fieldName = 'required_check_definition_ids') => canonicalizeDefinitionIds(value, fieldName);
12
+ export const parseRequiredCheckDefinitionIds = (value, fieldName = 'required_check_definition_ids') => parseDefinitionIds(value, fieldName);
50
13
  const validatePreReviewSubset = (membership, fieldPrefix = '') => {
51
14
  const finalIds = new Set(membership.required_check_definition_ids);
52
15
  const orphanedPreReviewId = membership.pre_review_check_definition_ids.find(id => !finalIds.has(id));
@@ -1 +1 @@
1
- {"version":3,"file":"requiredCheckPolicy.js","sourceRoot":"","sources":["../../../server/lib/requiredCheckPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requiredCheckPolicy.js","sourceRoot":"","sources":["../../../server/lib/requiredCheckPolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ export const REVIEW_AGENT_IDLE_MS = 90_000;
2
+ export const REVIEW_AGENT_INACTIVITY_TIMEOUT_MS = 20 * 60_000;
3
+ export const REVIEW_AGENT_WATCHDOG_INTERVAL_MS = 15_000;
4
+ export const REVIEW_AGENT_KILL_GRACE_MS = 5_000;
5
+ export const REVIEW_AGENT_CLOSE_ENRICHMENT_TIMEOUT_MS = 15_000;
6
+ export const createReviewAgentWatchdog = ({ getLastOutputAt, checkForCompletion, onTrigger, }) => {
7
+ let timer = null;
8
+ let completionCheckInFlight = false;
9
+ let triggered = false;
10
+ let stopped = false;
11
+ const stop = () => {
12
+ stopped = true;
13
+ if (timer) {
14
+ clearInterval(timer);
15
+ timer = null;
16
+ }
17
+ };
18
+ const trigger = (reason) => {
19
+ if (triggered || stopped) {
20
+ return;
21
+ }
22
+ triggered = true;
23
+ stop();
24
+ void Promise.resolve(onTrigger(reason)).catch(() => {
25
+ // The execution provider owns interruption failure reporting.
26
+ });
27
+ };
28
+ const poll = async () => {
29
+ if (triggered || stopped) {
30
+ return;
31
+ }
32
+ if (Date.now() - getLastOutputAt() < REVIEW_AGENT_IDLE_MS || completionCheckInFlight) {
33
+ return;
34
+ }
35
+ completionCheckInFlight = true;
36
+ const completed = await checkForCompletion().catch(() => false);
37
+ completionCheckInFlight = false;
38
+ if (stopped) {
39
+ return;
40
+ }
41
+ if (completed) {
42
+ trigger('completed');
43
+ return;
44
+ }
45
+ if (Date.now() - getLastOutputAt() >= REVIEW_AGENT_INACTIVITY_TIMEOUT_MS) {
46
+ trigger('timeout');
47
+ }
48
+ };
49
+ const start = () => {
50
+ if (timer || triggered || stopped) {
51
+ return;
52
+ }
53
+ timer = setInterval(() => void poll(), REVIEW_AGENT_WATCHDOG_INTERVAL_MS);
54
+ timer.unref?.();
55
+ };
56
+ return { start, stop };
57
+ };
58
+ export const resolveWithin = async (promise, timeoutMs, fallback) => {
59
+ let timer = null;
60
+ try {
61
+ return await Promise.race([
62
+ promise,
63
+ new Promise(resolve => {
64
+ timer = setTimeout(() => resolve(fallback), timeoutMs);
65
+ timer.unref?.();
66
+ }),
67
+ ]);
68
+ }
69
+ finally {
70
+ if (timer) {
71
+ clearTimeout(timer);
72
+ }
73
+ }
74
+ };
75
+ //# sourceMappingURL=reviewAgentWatchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewAgentWatchdog.js","sourceRoot":"","sources":["../../../server/lib/reviewAgentWatchdog.ts"],"names":[],"mappings":"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"}