@straiffi/archon 1.8.20 → 1.8.22

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 (170) hide show
  1. package/dist/client/assets/{ActivityView-DDE3U1zB.js → ActivityView-CdEPjmqD.js} +1 -1
  2. package/dist/client/assets/GitHubActionsDialog-CA189pr2.js +1 -0
  3. package/dist/client/assets/VerificationDialog-BPVkhKRj.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-oPUmRpZr.js → architectureDiagram-3BPJPVTR-BrZ08mqq.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-0sq1jkkp.js → blockDiagram-GPEHLZMM-b93XwJ6Z.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-BeDxMy7J.js → c4Diagram-AAUBKEIU-BKOdbZ_v.js} +1 -1
  7. package/dist/client/assets/channel-D0zqzBT_.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-D8VGsje2.js → chunk-2J33WTMH-D7Vxn_1m.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-DuTUTeBe.js → chunk-3OPIFGDE-B1zo2UZq.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-BzX5dPNW.js → chunk-5ZQYHXKU-BajvkDdQ.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-DS9putxN.js → chunk-727SXJPM-CSH7cVpV.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-CWzFZRBv.js → chunk-AQP2D5EJ-DE-wgUNP.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-DXZ-ADYW.js → chunk-CSCIHK7Q-Ba7JgCEf.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-BD7mL3KK.js → chunk-KSCS5N6A-0o3YWkHM.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-DmYQi9AP.js → chunk-L5ZTLDWV-DihWczP8.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-CZyFYHvS.js → chunk-LZXEDZCA-Bxnu-hme.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-BxdjvT9I.js → chunk-ND2GUHAM-CoaR5kmP.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-BwuZcZ_9.js → chunk-NZK2D7GU-By92Rd3d.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-CC-TZXr3.js → chunk-O5CBEL6O-D83Pkgfu.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-CJZJkca2.js → chunk-WU5MYG2G-v8OVf5Lz.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-ChhyvHH2.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Cl02kurK.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-D2L5RvPF.js → dagre-BM42HDAG-Dq1ALF7Z.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-DBJzxSqZ.js → diagram-2AECGRRQ-1t1_TKtu.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-J_1M-Wou.js → diagram-5GNKFQAL-DtvYRL6f.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-CmT1Vbmc.js → diagram-KO2AKTUF-PRNrSX5F.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-DfPoJyQI.js → diagram-LMA3HP47-DaTX0DhT.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-D4uEb6vo.js → diagram-OG6HWLK6-C2p9p-92.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-l7yIFj0e.js → erDiagram-TEJ5UH35-DKzLtnp-.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-B3caTMes.js → flowDiagram-I6XJVG4X-GdL8lm6e.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-9Am36v9m.js → ganttDiagram-6RSMTGT7-Ok-4XYwT.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-B7OjYsv_.js → gitGraphDiagram-PVQCEYII-DSMrOCK7.js} +1 -1
  33. package/dist/client/assets/index-Bs8KsdV9.js +276 -0
  34. package/dist/client/assets/index-DdwM8Wgt.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-ZAcNejkW.js → infoDiagram-5YYISTIA-Dl4hRXis.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BaaJwuN0.js → ishikawaDiagram-YF4QCWOH-C1Dc1fTT.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-DjzTU3kM.js → journeyDiagram-JHISSGLW-CUscmJze.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-DYRchzub.js → kanban-definition-UN3LZRKU-C0nwYjQV.js} +1 -1
  39. package/dist/client/assets/{line-X0j9gj61.js → line-ByiuEIg_.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-DCKG87Vl.js → mermaid-parser.core-B-XdAyDR.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-BxI5T2gs.js → mermaid.core-D_bIfuZD.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BE7MZzQO.js → mindmap-definition-RKZ34NQL-BGNiPJDK.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-D3fTYovg.js → pieDiagram-4H26LBE5-CP6FpAoO.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-B35nXRdQ.js → quadrantDiagram-W4KKPZXB-dsAWBAQn.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-CLBcHvP0.js → requirementDiagram-4Y6WPE33-DJH-zHqF.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DdBCxGHF.js → sankeyDiagram-5OEKKPKP-BJMnZrqH.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-KcLt0X1K.js → sequenceDiagram-3UESZ5HK-CzNjUSlM.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-Bq23ObLK.js → stateDiagram-AJRCARHV-jppMhOwh.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CLR1WgdV.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-SK3oVUD9.js → timeline-definition-PNZ67QCA-BX2CI5H_.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-COVtAlEC.js → vennDiagram-CIIHVFJN-Bd1KZaXh.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BvfOOwga.js → wardleyDiagram-YWT4CUSO-D-0BNz49.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DFnAD9k4.js → xychartDiagram-2RQKCTM6-DbYa0ZWK.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +780 -16
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +198 -20
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +8 -4
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentProvider.js +8 -1
  62. package/dist/server/lib/agentProvider.js.map +1 -1
  63. package/dist/server/lib/approvalReconciliation.js +101 -0
  64. package/dist/server/lib/approvalReconciliation.js.map +1 -0
  65. package/dist/server/lib/approvalRequests.js +587 -0
  66. package/dist/server/lib/approvalRequests.js.map +1 -0
  67. package/dist/server/lib/approvalRoutes.js +143 -0
  68. package/dist/server/lib/approvalRoutes.js.map +1 -0
  69. package/dist/server/lib/automationProgression.js +44 -14
  70. package/dist/server/lib/automationProgression.js.map +1 -1
  71. package/dist/server/lib/buildCompletionContinuation.js +14 -3
  72. package/dist/server/lib/buildCompletionContinuation.js.map +1 -1
  73. package/dist/server/lib/buildExecutionEnvironment.js +350 -66
  74. package/dist/server/lib/buildExecutionEnvironment.js.map +1 -1
  75. package/dist/server/lib/buildOpenQuestionOperations.js +47 -3
  76. package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -1
  77. package/dist/server/lib/buildSequences.js +267 -18
  78. package/dist/server/lib/buildSequences.js.map +1 -1
  79. package/dist/server/lib/buildSetupAuthority.js +138 -0
  80. package/dist/server/lib/buildSetupAuthority.js.map +1 -0
  81. package/dist/server/lib/bundleReviewOperations.js +15 -4
  82. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  83. package/dist/server/lib/checkDefinitions.js +29 -1
  84. package/dist/server/lib/checkDefinitions.js.map +1 -1
  85. package/dist/server/lib/checkRunner.js +306 -27
  86. package/dist/server/lib/checkRunner.js.map +1 -1
  87. package/dist/server/lib/checkRuns.js +4 -2
  88. package/dist/server/lib/checkRuns.js.map +1 -1
  89. package/dist/server/lib/consequentialActionAuthority.js +142 -0
  90. package/dist/server/lib/consequentialActionAuthority.js.map +1 -0
  91. package/dist/server/lib/consequentialActions.js +231 -0
  92. package/dist/server/lib/consequentialActions.js.map +1 -0
  93. package/dist/server/lib/dockerSandboxCredentials.js +64 -10
  94. package/dist/server/lib/dockerSandboxCredentials.js.map +1 -1
  95. package/dist/server/lib/dockerSandboxEnvironmentOperations.js +119 -0
  96. package/dist/server/lib/dockerSandboxEnvironmentOperations.js.map +1 -1
  97. package/dist/server/lib/dockerSandboxExecutionEnvironment.js +174 -11
  98. package/dist/server/lib/dockerSandboxExecutionEnvironment.js.map +1 -1
  99. package/dist/server/lib/dockerSandboxExecutionProvider.js +12 -3
  100. package/dist/server/lib/dockerSandboxExecutionProvider.js.map +1 -1
  101. package/dist/server/lib/dockerSandboxNetworkPolicy.js +222 -0
  102. package/dist/server/lib/dockerSandboxNetworkPolicy.js.map +1 -0
  103. package/dist/server/lib/executionCredentialCapabilities.js +106 -0
  104. package/dist/server/lib/executionCredentialCapabilities.js.map +1 -0
  105. package/dist/server/lib/executionEnvironment.js.map +1 -1
  106. package/dist/server/lib/executionEnvironmentContexts.js +59 -3
  107. package/dist/server/lib/executionEnvironmentContexts.js.map +1 -1
  108. package/dist/server/lib/executionEnvironmentLifecycle.js +34 -0
  109. package/dist/server/lib/executionEnvironmentLifecycle.js.map +1 -1
  110. package/dist/server/lib/executionEnvironmentRoutes.js +127 -9
  111. package/dist/server/lib/executionEnvironmentRoutes.js.map +1 -1
  112. package/dist/server/lib/executionEnvironmentValidation.js +169 -45
  113. package/dist/server/lib/executionEnvironmentValidation.js.map +1 -1
  114. package/dist/server/lib/executionEnvironmentValidationOperations.js +203 -19
  115. package/dist/server/lib/executionEnvironmentValidationOperations.js.map +1 -1
  116. package/dist/server/lib/executionEnvironments.js +103 -14
  117. package/dist/server/lib/executionEnvironments.js.map +1 -1
  118. package/dist/server/lib/executionProfileRoutes.js +67 -0
  119. package/dist/server/lib/executionProfileRoutes.js.map +1 -0
  120. package/dist/server/lib/executionProfileStore.js +117 -0
  121. package/dist/server/lib/executionProfileStore.js.map +1 -0
  122. package/dist/server/lib/executionProfiles.js +324 -0
  123. package/dist/server/lib/executionProfiles.js.map +1 -0
  124. package/dist/server/lib/executionReconciliation.js +345 -197
  125. package/dist/server/lib/executionReconciliation.js.map +1 -1
  126. package/dist/server/lib/executionRetry.js +24 -5
  127. package/dist/server/lib/executionRetry.js.map +1 -1
  128. package/dist/server/lib/executionRunAuthority.js +467 -0
  129. package/dist/server/lib/executionRunAuthority.js.map +1 -0
  130. package/dist/server/lib/executionRuns.js +30 -4
  131. package/dist/server/lib/executionRuns.js.map +1 -1
  132. package/dist/server/lib/executionTimeline.js +2 -1
  133. package/dist/server/lib/executionTimeline.js.map +1 -1
  134. package/dist/server/lib/git.js +77 -10
  135. package/dist/server/lib/git.js.map +1 -1
  136. package/dist/server/lib/gitPushApprovals.js +367 -0
  137. package/dist/server/lib/gitPushApprovals.js.map +1 -0
  138. package/dist/server/lib/hostExecutionEnvironment.js +7 -1
  139. package/dist/server/lib/hostExecutionEnvironment.js.map +1 -1
  140. package/dist/server/lib/mobileAccess.js +115 -1
  141. package/dist/server/lib/mobileAccess.js.map +1 -1
  142. package/dist/server/lib/productionCheckApprovals.js +106 -0
  143. package/dist/server/lib/productionCheckApprovals.js.map +1 -0
  144. package/dist/server/lib/projects.js +1 -0
  145. package/dist/server/lib/projects.js.map +1 -1
  146. package/dist/server/lib/run.js +58 -2
  147. package/dist/server/lib/run.js.map +1 -1
  148. package/dist/server/lib/ticketFollowUpOperations.js +32 -6
  149. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  150. package/dist/server/lib/transcriptRuns.js +3 -0
  151. package/dist/server/lib/transcriptRuns.js.map +1 -1
  152. package/dist/server/lib/types.js +40 -0
  153. package/dist/server/lib/types.js.map +1 -1
  154. package/dist/server/lib/workspaceProcessEnvironment.js +72 -1
  155. package/dist/server/lib/workspaceProcessEnvironment.js.map +1 -1
  156. package/dist/server/workers/build.js +214 -46
  157. package/dist/server/workers/build.js.map +1 -1
  158. package/dist/server/workers/followUp.js +74 -1
  159. package/dist/server/workers/followUp.js.map +1 -1
  160. package/dist/server/workers/review.js +30 -13
  161. package/dist/server/workers/review.js.map +1 -1
  162. package/package.json +1 -1
  163. package/dist/client/assets/GitHubActionsDialog-CM1z-amZ.js +0 -1
  164. package/dist/client/assets/VerificationDialog-oHjNllh6.js +0 -4
  165. package/dist/client/assets/channel-CF8hkOdu.js +0 -1
  166. package/dist/client/assets/classDiagram-4FO5ZUOK-D6FiG9_B.js +0 -1
  167. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bim05ijr.js +0 -1
  168. package/dist/client/assets/index-CsZfTdMO.css +0 -2
  169. package/dist/client/assets/index-DDefs3iM.js +0 -275
  170. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BLzZdVo0.js +0 -1
@@ -1,6 +1,8 @@
1
1
  import { randomUUID } from 'crypto';
2
2
  import db from '../db.js';
3
3
  import { canonicalizeEnvironmentValidationFingerprintInput, createEnvironmentValidationFingerprint, } from './executionEnvironmentLifecycle.js';
4
+ import { EXECUTION_ENVIRONMENT_AUTHENTICATION_MODES, EXECUTION_ENVIRONMENT_CREDENTIAL_DELIVERIES, } from './types.js';
5
+ import { resolveEnvironmentCredentialEvidence } from './executionRunAuthority.js';
4
6
  const MAX_JSON_BYTES = 16 * 1024;
5
7
  const MAX_EVENT_MESSAGE_LENGTH = 4_000;
6
8
  const REUSABLE_STATES = ['ready', 'running', 'stopped'];
@@ -27,9 +29,10 @@ const insertEnvironmentStatement = db.prepare(`
27
29
  INSERT INTO execution_environments (
28
30
  id, project_id, provider_kind, provider_version, external_id, target_kind, target_key,
29
31
  target_workspace_path, environment_revision, workspace_mode,
30
- environment_validation_fingerprint, template_identity, template_digest, agent_identity,
32
+ environment_validation_fingerprint, execution_profile_revision_id, execution_profile_fingerprint,
33
+ credential_requirements_fingerprint, template_identity, template_digest, agent_identity,
31
34
  compatible_agents_json, capabilities_json, lifecycle_state, created_at, updated_at
32
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'direct', ?, ?, ?, ?, ?, ?, 'queued', ?, ?)
35
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'direct', ?, ?, ?, ?, ?, ?, ?, ?, ?, 'queued', ?, ?)
33
36
  `);
34
37
  const updateEnvironmentStatement = db.prepare(`
35
38
  UPDATE execution_environments
@@ -55,8 +58,8 @@ const getEventStatement = db.prepare(`
55
58
  const insertBindingStatement = db.prepare(`
56
59
  INSERT INTO execution_environment_run_bindings (
57
60
  environment_id, execution_run_id, project_id, relationship, environment_revision,
58
- environment_validation_fingerprint, authority_json, bound_at
59
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
61
+ environment_validation_fingerprint, execution_profile_fingerprint, authority_json, bound_at
62
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
60
63
  `);
61
64
  const getBindingStatement = db.prepare(`
62
65
  SELECT * FROM execution_environment_run_bindings
@@ -111,6 +114,7 @@ const createDefaultAuthority = (environment) => {
111
114
  if (environment.provider_kind !== 'docker_sandbox' || !environment.agent_identity) {
112
115
  throw new Error('Execution bindings require an explicit Docker Sandbox authority snapshot');
113
116
  }
117
+ const credentialEvidence = resolveEnvironmentCredentialEvidence({ agent: environment.agent_identity });
114
118
  return {
115
119
  schema_version: 1,
116
120
  provider: 'docker_sandbox',
@@ -124,10 +128,13 @@ const createDefaultAuthority = (environment) => {
124
128
  workspace_path: environment.target_workspace_path,
125
129
  },
126
130
  capabilities: environment.capabilities,
127
- degradation_reasons: environment.workspace_mode === 'direct' ? ['direct_workspace_writable'] : [],
131
+ degradation_reasons: [
132
+ ...(environment.workspace_mode === 'direct' ? ['direct_workspace_writable'] : []),
133
+ ...credentialEvidence.degradation_reasons,
134
+ ],
128
135
  agent: environment.agent_identity,
129
- authentication_mode: 'validated_guest',
130
- credential_delivery: 'sandbox_template',
136
+ authentication_mode: credentialEvidence.authentication_mode,
137
+ credential_delivery: credentialEvidence.credential_delivery,
131
138
  };
132
139
  };
133
140
  const assertAuthorityMatchesEnvironment = (authority, environment) => {
@@ -141,8 +148,8 @@ const assertAuthorityMatchesEnvironment = (authority, environment) => {
141
148
  || authority.target.key !== environment.target_key
142
149
  || authority.target.workspace_path !== environment.target_workspace_path
143
150
  || authority.agent !== environment.agent_identity
144
- || authority.authentication_mode !== 'validated_guest'
145
- || authority.credential_delivery !== 'sandbox_template') {
151
+ || !EXECUTION_ENVIRONMENT_AUTHENTICATION_MODES.includes(authority.authentication_mode)
152
+ || !EXECUTION_ENVIRONMENT_CREDENTIAL_DELIVERIES.includes(authority.credential_delivery)) {
146
153
  throw new Error('Execution environment authority does not match the durable environment identity');
147
154
  }
148
155
  };
@@ -170,7 +177,9 @@ const serializeEnvironment = (row) => {
170
177
  const capabilities = parseStoredObject(row.capabilities_json);
171
178
  if (compatibleAgents === null
172
179
  || capabilities === null
173
- || !/^[0-9a-f]{64}$/.test(row.environment_validation_fingerprint)) {
180
+ || !/^[0-9a-f]{64}$/.test(row.environment_validation_fingerprint)
181
+ || (row.execution_profile_fingerprint !== null && !/^[0-9a-f]{64}$/.test(row.execution_profile_fingerprint))
182
+ || (row.credential_requirements_fingerprint !== null && !/^[0-9a-f]{64}$/.test(row.credential_requirements_fingerprint))) {
174
183
  return null;
175
184
  }
176
185
  return {
@@ -232,8 +241,15 @@ const createEnvironmentInTransaction = (input) => {
232
241
  throw new Error('Agent identity must be included in the compatible agent set');
233
242
  }
234
243
  const capabilitiesJson = serializeBoundedObject(input.capabilities, 'Environment capabilities');
244
+ if (input.profileIdentity) {
245
+ assertBoundedString(input.profileIdentity.revisionId, 'Execution profile revision ID', 128);
246
+ if (!/^[0-9a-f]{64}$/.test(input.profileIdentity.fingerprint)
247
+ || !/^[0-9a-f]{64}$/.test(input.profileIdentity.credentialRequirementsFingerprint)) {
248
+ throw new Error('Execution profile identity fingerprints must be lowercase SHA-256 values');
249
+ }
250
+ }
235
251
  const createdAt = input.createdAt ?? new Date().toISOString();
236
- insertEnvironmentStatement.run(id, input.projectId, input.providerKind, input.providerVersion, input.externalId ?? null, input.target.kind, input.target.key, input.target.workspacePath, input.environmentRevision, createEnvironmentValidationFingerprint(validation), validation.template.kind === 'identity' ? validation.template.value : null, validation.template.kind === 'digest' ? validation.template.value : null, input.agentIdentity ?? null, JSON.stringify(validation.compatibleAgents), capabilitiesJson, createdAt, createdAt);
252
+ insertEnvironmentStatement.run(id, input.projectId, input.providerKind, input.providerVersion, input.externalId ?? null, input.target.kind, input.target.key, input.target.workspacePath, input.environmentRevision, createEnvironmentValidationFingerprint(validation), input.profileIdentity?.revisionId ?? null, input.profileIdentity?.fingerprint ?? null, input.profileIdentity?.credentialRequirementsFingerprint ?? null, validation.template.kind === 'identity' ? validation.template.value : null, validation.template.kind === 'digest' ? validation.template.value : null, input.agentIdentity ?? null, JSON.stringify(validation.compatibleAgents), capabilitiesJson, createdAt, createdAt);
237
253
  const environment = requireEnvironment(input.projectId, id);
238
254
  const event = appendEventInTransaction({
239
255
  projectId: input.projectId,
@@ -310,7 +326,7 @@ const bindRunInTransaction = (input) => {
310
326
  assertAuthorityMatchesEnvironment(authority, environment);
311
327
  }
312
328
  const boundAt = input.boundAt ?? new Date().toISOString();
313
- insertBindingStatement.run(input.environmentId, input.executionRunId, input.projectId, input.relationship, environment.environment_revision, environment.environment_validation_fingerprint, authority ? serializeBoundedObject(authority, 'Execution environment authority') : null, boundAt);
329
+ insertBindingStatement.run(input.environmentId, input.executionRunId, input.projectId, input.relationship, environment.environment_revision, environment.environment_validation_fingerprint, environment.execution_profile_fingerprint, authority ? serializeBoundedObject(authority, 'Execution environment authority') : null, boundAt);
314
330
  const binding = getBindingStatement.get(input.environmentId, input.executionRunId, input.relationship);
315
331
  appendEventInTransaction({
316
332
  projectId: input.projectId,
@@ -340,6 +356,18 @@ const releaseRunInTransaction = (input) => {
340
356
  metadata: { executionRunId: input.executionRunId, relationship: input.relationship },
341
357
  createdAt: releasedAt,
342
358
  });
359
+ const releasedEnvironment = requireEnvironment(input.projectId, input.environmentId);
360
+ if (releasedEnvironment.retirement_requested_at
361
+ && !['retiring', 'cleanup_pending', 'retired'].includes(releasedEnvironment.lifecycle_state)) {
362
+ transitionEnvironmentInTransaction({
363
+ projectId: input.projectId,
364
+ environmentId: input.environmentId,
365
+ state: 'retiring',
366
+ eventType: 'environment_deferred_retirement_started',
367
+ metadata: { executionRunId: input.executionRunId, relationship: input.relationship },
368
+ occurredAt: releasedAt,
369
+ });
370
+ }
343
371
  return binding;
344
372
  };
345
373
  const isPromiseLike = (value) => {
@@ -489,13 +517,14 @@ export const releaseExecutionEnvironmentLease = (input) => withExecutionEnvironm
489
517
  });
490
518
  }
491
519
  }
492
- return releaseRunInTransaction({
520
+ const released = releaseRunInTransaction({
493
521
  projectId: input.projectId,
494
522
  environmentId: input.environmentId,
495
523
  executionRunId: input.executionRunId,
496
524
  relationship: 'execution',
497
525
  releasedAt: input.releasedAt,
498
526
  });
527
+ return released;
499
528
  });
500
529
  export const releaseExecutionRunFromEnvironment = (input) => (withExecutionEnvironmentTransaction(transaction => transaction.releaseExecutionRunFromEnvironment(input)));
501
530
  export const appendExecutionEnvironmentEvent = (input) => (withExecutionEnvironmentTransaction(transaction => transaction.appendExecutionEnvironmentEvent(input)));
@@ -536,13 +565,16 @@ export const findReusableExecutionEnvironment = (input) => {
536
565
  AND environment_revision = ?
537
566
  AND workspace_mode = 'direct'
538
567
  AND environment_validation_fingerprint = ?
568
+ AND execution_profile_fingerprint IS ?
569
+ AND credential_requirements_fingerprint IS ?
570
+ AND retirement_requested_at IS NULL
539
571
  AND template_identity IS ?
540
572
  AND template_digest IS ?
541
573
  AND compatible_agents_json = ?
542
574
  AND (agent_identity IS NULL OR agent_identity IS ?)
543
575
  AND lifecycle_state IN (${REUSABLE_STATES.map(() => '?').join(', ')})
544
576
  ORDER BY last_validated_at DESC, created_at DESC, id DESC
545
- `).all(input.projectId, input.providerKind, input.providerVersion, input.target.kind, input.target.key, input.target.workspacePath, input.environmentRevision, createEnvironmentValidationFingerprint(validation), validation.template.kind === 'identity' ? validation.template.value : null, validation.template.kind === 'digest' ? validation.template.value : null, JSON.stringify(validation.compatibleAgents), input.agentIdentity ?? null, ...REUSABLE_STATES);
577
+ `).all(input.projectId, input.providerKind, input.providerVersion, input.target.kind, input.target.key, input.target.workspacePath, input.environmentRevision, createEnvironmentValidationFingerprint(validation), input.profileIdentity?.fingerprint ?? null, input.profileIdentity?.credentialRequirementsFingerprint ?? null, validation.template.kind === 'identity' ? validation.template.value : null, validation.template.kind === 'digest' ? validation.template.value : null, JSON.stringify(validation.compatibleAgents), input.agentIdentity ?? null, ...REUSABLE_STATES);
546
578
  for (const row of rows) {
547
579
  const environment = serializeEnvironment(row);
548
580
  if (environment) {
@@ -566,6 +598,8 @@ export const claimExecutionEnvironmentPreparation = (input) => {
566
598
  input.target.key,
567
599
  input.target.workspacePath,
568
600
  fingerprint,
601
+ input.profileIdentity?.fingerprint ?? null,
602
+ input.profileIdentity?.credentialRequirementsFingerprint ?? null,
569
603
  validation.template.kind === 'identity' ? validation.template.value : null,
570
604
  validation.template.kind === 'digest' ? validation.template.value : null,
571
605
  JSON.stringify(validation.compatibleAgents),
@@ -576,6 +610,8 @@ export const claimExecutionEnvironmentPreparation = (input) => {
576
610
  WHERE project_id = ? AND provider_kind = ? AND provider_version = ?
577
611
  AND target_kind = ? AND target_key = ? AND target_workspace_path = ?
578
612
  AND workspace_mode = 'direct' AND environment_validation_fingerprint = ?
613
+ AND execution_profile_fingerprint IS ? AND credential_requirements_fingerprint IS ?
614
+ AND retirement_requested_at IS NULL
579
615
  AND template_identity IS ? AND template_digest IS ?
580
616
  AND compatible_agents_json = ? AND agent_identity IS ?
581
617
  ORDER BY environment_revision DESC, created_at DESC, id DESC
@@ -592,6 +628,14 @@ export const claimExecutionEnvironmentPreparation = (input) => {
592
628
  return { kind: 'preparing', environment };
593
629
  }
594
630
  }
631
+ const activeProfile = db.prepare(`
632
+ SELECT profile.fingerprint
633
+ FROM projects project
634
+ LEFT JOIN execution_profile_revisions profile
635
+ ON profile.id = project.active_execution_profile_revision_id
636
+ WHERE project.id = ?
637
+ `).get(input.projectId);
638
+ requestProfileRetirementInTransaction(input.projectId, activeProfile?.fingerprint ?? input.profileIdentity?.fingerprint ?? null, input.target.kind, input.target.key);
595
639
  const revision = db.prepare(`
596
640
  SELECT COALESCE(MAX(environment_revision), 0) + 1 AS revision
597
641
  FROM execution_environments
@@ -613,6 +657,51 @@ export const claimExecutionEnvironmentPreparation = (input) => {
613
657
  });
614
658
  return transaction.immediate();
615
659
  };
660
+ const requestProfileRetirementInTransaction = (projectId, retainedProfileFingerprint, targetKind, targetKey) => {
661
+ const requestedAt = new Date().toISOString();
662
+ const rows = db.prepare(`
663
+ SELECT * FROM execution_environments
664
+ WHERE project_id = ?
665
+ AND execution_profile_fingerprint IS NOT ?
666
+ AND lifecycle_state NOT IN ('retiring', 'cleanup_pending', 'retired')
667
+ AND retirement_requested_at IS NULL
668
+ AND (? IS NULL OR target_kind = ?)
669
+ AND (? IS NULL OR target_key = ?)
670
+ `).all(projectId, retainedProfileFingerprint, targetKind ?? null, targetKind ?? null, targetKey ?? null, targetKey ?? null);
671
+ for (const row of rows) {
672
+ db.prepare(`
673
+ UPDATE execution_environments
674
+ SET retirement_requested_at = ?, updated_at = ?
675
+ WHERE id = ? AND project_id = ? AND retirement_requested_at IS NULL
676
+ `).run(requestedAt, requestedAt, row.id, projectId);
677
+ const active = db.prepare(`
678
+ SELECT 1 FROM execution_environment_run_bindings
679
+ WHERE environment_id = ? AND released_at IS NULL LIMIT 1
680
+ `).get(row.id);
681
+ if (!active) {
682
+ transitionEnvironmentInTransaction({
683
+ projectId,
684
+ environmentId: row.id,
685
+ state: 'retiring',
686
+ eventType: 'environment_profile_retirement_started',
687
+ metadata: { retainedProfileFingerprint },
688
+ occurredAt: requestedAt,
689
+ });
690
+ }
691
+ else {
692
+ appendEventInTransaction({
693
+ projectId,
694
+ environmentId: row.id,
695
+ eventType: 'environment_profile_retirement_deferred',
696
+ fromState: row.lifecycle_state,
697
+ toState: row.lifecycle_state,
698
+ metadata: { retainedProfileFingerprint },
699
+ createdAt: requestedAt,
700
+ });
701
+ }
702
+ }
703
+ };
704
+ export const requestExecutionEnvironmentRetirementForProfile = (projectId, retainedProfileFingerprint) => db.transaction(() => requestProfileRetirementInTransaction(projectId, retainedProfileFingerprint)).immediate();
616
705
  export const markExecutionEnvironmentValidated = (input) => withExecutionEnvironmentTransaction(() => {
617
706
  const environment = requireEnvironment(input.projectId, input.environmentId);
618
707
  const validatedAt = input.validatedAt ?? new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"executionEnvironments.js","sourceRoot":"","sources":["../../../server/lib/executionEnvironments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionEnvironments.js","sourceRoot":"","sources":["../../../server/lib/executionEnvironments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { MAX_EXECUTION_PROFILE_PAYLOAD_BYTES, normalizeExecutionProfile, } from './executionProfiles.js';
2
+ import { activateExecutionProfileRevision, getActiveExecutionProfileRevision, listExecutionProfileAuditEvents, } from './executionProfileStore.js';
3
+ import { getProjectById } from './projects.js';
4
+ const getParameter = (value) => Array.isArray(value) ? value[0] : value;
5
+ const requestBytes = (req) => {
6
+ try {
7
+ return Buffer.byteLength(JSON.stringify(req.body), 'utf8');
8
+ }
9
+ catch {
10
+ return Number.POSITIVE_INFINITY;
11
+ }
12
+ };
13
+ export const registerExecutionProfileRoutes = (app) => {
14
+ app.get('/projects/:id/execution-profile', (req, res) => {
15
+ const projectId = getParameter(req.params.id);
16
+ if (!getProjectById(projectId)) {
17
+ return res.status(404).json({ error: 'Not found', reason: 'project_not_found' });
18
+ }
19
+ const revision = getActiveExecutionProfileRevision(projectId);
20
+ if (!revision) {
21
+ return res.status(500).json({ error: 'Active execution profile is unavailable', reason: 'profile_unavailable' });
22
+ }
23
+ res.setHeader('Cache-Control', 'no-store');
24
+ return res.json({ profile_revision: revision, audit_events: listExecutionProfileAuditEvents(projectId) });
25
+ });
26
+ app.put('/projects/:id/execution-profile', (req, res) => {
27
+ const projectId = getParameter(req.params.id);
28
+ if (!getProjectById(projectId)) {
29
+ return res.status(404).json({ error: 'Not found', reason: 'project_not_found' });
30
+ }
31
+ if (requestBytes(req) > MAX_EXECUTION_PROFILE_PAYLOAD_BYTES) {
32
+ return res.status(413).json({ error: 'Execution profile payload is too large', reason: 'payload_too_large' });
33
+ }
34
+ if (typeof req.body !== 'object'
35
+ || req.body === null
36
+ || Array.isArray(req.body)
37
+ || Object.keys(req.body).some(key => key !== 'profile' && key !== 'expected_active_revision_id')
38
+ || typeof req.body.expected_active_revision_id !== 'string'
39
+ || req.body.expected_active_revision_id.length === 0) {
40
+ return res.status(400).json({
41
+ error: 'profile and expected_active_revision_id are required',
42
+ reason: 'invalid_profile_request',
43
+ });
44
+ }
45
+ const normalized = normalizeExecutionProfile(req.body.profile);
46
+ if (!normalized.ok) {
47
+ const status = normalized.error === 'execution profile payload is too large' ? 413 : 400;
48
+ return res.status(status).json({ error: normalized.error, reason: 'invalid_profile' });
49
+ }
50
+ const result = activateExecutionProfileRevision({
51
+ projectId,
52
+ expectedActiveRevisionId: req.body.expected_active_revision_id,
53
+ profile: normalized.profile,
54
+ });
55
+ if (!result.ok) {
56
+ if (result.reason === 'not_found') {
57
+ return res.status(404).json({ error: 'Not found', reason: 'project_not_found' });
58
+ }
59
+ return res.status(409).json({
60
+ error: 'The active execution profile changed; reload before saving',
61
+ reason: 'stale_profile_revision',
62
+ });
63
+ }
64
+ return res.json({ profile_revision: result.revision, reused: result.reused });
65
+ });
66
+ };
67
+ //# sourceMappingURL=executionProfileRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionProfileRoutes.js","sourceRoot":"","sources":["../../../server/lib/executionProfileRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import db from '../db.js';
3
+ import { EXECUTION_PROFILE_SCHEMA_VERSION, fingerprintExecutionProfile, fingerprintLegacyExecutionProfileV1, normalizeExecutionProfile, serializeExecutionProfile, } from './executionProfiles.js';
4
+ import { requestExecutionEnvironmentRetirementForProfile } from './executionEnvironments.js';
5
+ export const MAX_EXECUTION_PROFILE_AUDIT_EVENTS_PER_PROJECT = 1000;
6
+ export const revisionFingerprintMatchesProfile = (revision) => (revision.schema_version === 1
7
+ ? fingerprintLegacyExecutionProfileV1(revision.profile) === revision.fingerprint
8
+ : fingerprintExecutionProfile(revision.profile) === revision.fingerprint);
9
+ const parseRevision = (row) => {
10
+ const normalized = normalizeExecutionProfile(JSON.parse(row.profile_json));
11
+ if (!normalized.ok
12
+ || (row.schema_version !== 1 && row.schema_version !== EXECUTION_PROFILE_SCHEMA_VERSION)) {
13
+ throw new Error(`Stored execution profile revision ${row.id} is invalid`);
14
+ }
15
+ const revision = {
16
+ id: row.id,
17
+ project_id: row.project_id,
18
+ revision: row.revision,
19
+ schema_version: row.schema_version,
20
+ fingerprint: row.fingerprint,
21
+ profile: normalized.profile,
22
+ created_at: row.created_at,
23
+ };
24
+ if (!revisionFingerprintMatchesProfile(revision)) {
25
+ throw new Error(`Stored execution profile revision ${row.id} is invalid`);
26
+ }
27
+ return revision;
28
+ };
29
+ export const getActiveExecutionProfileRevision = (projectId) => {
30
+ const row = db.prepare(`
31
+ SELECT revisions.*
32
+ FROM projects
33
+ INNER JOIN execution_profile_revisions revisions
34
+ ON revisions.id = projects.active_execution_profile_revision_id
35
+ AND revisions.project_id = projects.id
36
+ WHERE projects.id = ? AND projects.deletion_started_at IS NULL
37
+ `).get(projectId);
38
+ return row ? parseRevision(row) : null;
39
+ };
40
+ export const getExecutionProfileRevision = (projectId, revisionId) => {
41
+ const row = db.prepare(`
42
+ SELECT * FROM execution_profile_revisions WHERE project_id = ? AND id = ?
43
+ `).get(projectId, revisionId);
44
+ return row ? parseRevision(row) : null;
45
+ };
46
+ export const activateExecutionProfileRevision = (input) => {
47
+ const result = db.transaction(() => {
48
+ const project = db.prepare(`
49
+ SELECT active_execution_profile_revision_id
50
+ FROM projects
51
+ WHERE id = ? AND deletion_started_at IS NULL
52
+ `).get(input.projectId);
53
+ if (!project) {
54
+ return { ok: false, reason: 'not_found' };
55
+ }
56
+ if (project.active_execution_profile_revision_id !== input.expectedActiveRevisionId) {
57
+ return { ok: false, reason: 'stale' };
58
+ }
59
+ const profileJson = serializeExecutionProfile(input.profile);
60
+ const fingerprint = fingerprintExecutionProfile(input.profile);
61
+ let row = db.prepare(`
62
+ SELECT * FROM execution_profile_revisions WHERE project_id = ? AND fingerprint = ?
63
+ `).get(input.projectId, fingerprint);
64
+ const reused = Boolean(row);
65
+ if (!row) {
66
+ const nextRevision = db.prepare(`
67
+ SELECT COALESCE(MAX(revision), 0) + 1 AS revision
68
+ FROM execution_profile_revisions WHERE project_id = ?
69
+ `).get(input.projectId).revision;
70
+ const revisionId = randomUUID();
71
+ db.prepare(`
72
+ INSERT INTO execution_profile_revisions (
73
+ id, project_id, revision, schema_version, fingerprint, profile_json
74
+ ) VALUES (?, ?, ?, ?, ?, ?)
75
+ `).run(revisionId, input.projectId, nextRevision, EXECUTION_PROFILE_SCHEMA_VERSION, fingerprint, profileJson);
76
+ row = db.prepare('SELECT * FROM execution_profile_revisions WHERE id = ?').get(revisionId);
77
+ db.prepare(`
78
+ INSERT INTO execution_profile_audit_events (
79
+ id, project_id, event_type, profile_revision_id, previous_profile_revision_id
80
+ ) VALUES (?, ?, 'revision_created', ?, ?)
81
+ `).run(randomUUID(), input.projectId, revisionId, input.expectedActiveRevisionId);
82
+ }
83
+ if (row.id !== input.expectedActiveRevisionId) {
84
+ db.prepare(`
85
+ UPDATE projects
86
+ SET active_execution_profile_revision_id = ?, build_execution_provider = ?, updated_at = CURRENT_TIMESTAMP
87
+ WHERE id = ?
88
+ `).run(row.id, input.profile.provider_preference, input.projectId);
89
+ db.prepare(`
90
+ INSERT INTO execution_profile_audit_events (
91
+ id, project_id, event_type, profile_revision_id, previous_profile_revision_id
92
+ ) VALUES (?, ?, 'revision_activated', ?, ?)
93
+ `).run(randomUUID(), input.projectId, row.id, input.expectedActiveRevisionId);
94
+ }
95
+ db.prepare(`
96
+ DELETE FROM execution_profile_audit_events
97
+ WHERE project_id = ? AND id IN (
98
+ SELECT id FROM execution_profile_audit_events
99
+ WHERE project_id = ?
100
+ ORDER BY created_at DESC, rowid DESC
101
+ LIMIT -1 OFFSET ?
102
+ )
103
+ `).run(input.projectId, input.projectId, MAX_EXECUTION_PROFILE_AUDIT_EVENTS_PER_PROJECT);
104
+ return { ok: true, revision: parseRevision(row), reused };
105
+ })();
106
+ if (result.ok && result.revision.id !== input.expectedActiveRevisionId) {
107
+ requestExecutionEnvironmentRetirementForProfile(input.projectId, result.revision.fingerprint);
108
+ }
109
+ return result;
110
+ };
111
+ export const listExecutionProfileAuditEvents = (projectId, limit = 100) => db.prepare(`
112
+ SELECT * FROM execution_profile_audit_events
113
+ WHERE project_id = ?
114
+ ORDER BY created_at DESC, rowid DESC
115
+ LIMIT ?
116
+ `).all(projectId, Math.max(1, Math.min(limit, 100)));
117
+ //# sourceMappingURL=executionProfileStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionProfileStore.js","sourceRoot":"","sources":["../../../server/lib/executionProfileStore.ts"],"names":[],"mappings":"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"}