@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.
- package/dist/client/assets/{ActivityView-BaIZ8eHC.js → ActivityView-Y5IaJiim.js} +1 -1
- package/dist/client/assets/GitHubActionsDialog-GWVxWGPK.js +1 -0
- package/dist/client/assets/VerificationDialog-C4RMuI4y.js +4 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-Dl5UF67P.js → architectureDiagram-3BPJPVTR-CeM6gbLN.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-DCcERfrZ.js → blockDiagram-GPEHLZMM-BP4hta96.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-BGhbASFm.js → c4Diagram-AAUBKEIU-5aJScvhn.js} +1 -1
- package/dist/client/assets/channel-B3DjZXbm.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-C1ARozTV.js → chunk-2J33WTMH-BKc2IelV.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-BEovLizF.js → chunk-3OPIFGDE-DCc15la5.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-C5MmlLa_.js → chunk-5ZQYHXKU-DSD9HbTp.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-8y8jBk4n.js → chunk-727SXJPM-DrAjnKiA.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-q-mByAd3.js → chunk-AQP2D5EJ-DxKnpHfQ.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-BOx2mLSz.js → chunk-CSCIHK7Q-DLejrAB_.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-zEwQFq7q.js → chunk-KSCS5N6A-BWRNmF8S.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-C80z6rY_.js → chunk-L5ZTLDWV-D48i966f.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-BLaEsGPd.js → chunk-LZXEDZCA-DLhg6Bok.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-x26BZ95L.js → chunk-ND2GUHAM-B4-7cOEq.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-D2WAxr1p.js → chunk-NZK2D7GU-D2ttXA_d.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-DDPCrzKh.js → chunk-O5CBEL6O-BrWrOVCq.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-CE-JcvIc.js → chunk-WU5MYG2G-CLcPwxPe.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DproSkn2.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-JVMMzJxJ.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-Bf7wpUk_.js → dagre-BM42HDAG-DIXN8_VX.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-BQoKmc3B.js → diagram-2AECGRRQ-D2wjdCij.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-D2jarPLn.js → diagram-5GNKFQAL-E1Og_PHE.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-Bcbbjvsl.js → diagram-KO2AKTUF-B6P1Ud8a.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-t862RRBQ.js → diagram-LMA3HP47-C3Jxq56v.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-CacbMcO0.js → diagram-OG6HWLK6-Do9LVhdL.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-DRQ79baI.js → erDiagram-TEJ5UH35-DLb5E4-f.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-BfW4KEdc.js → flowDiagram-I6XJVG4X-CcTs_wU9.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-BPIl0TAj.js → ganttDiagram-6RSMTGT7-q9ez5fri.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CRIusBMV.js → gitGraphDiagram-PVQCEYII-BcaKiz4c.js} +1 -1
- package/dist/client/assets/index-1CokwSFm.css +2 -0
- package/dist/client/assets/index-CSOKbu3w.js +276 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-DTKzK8EJ.js → infoDiagram-5YYISTIA-Cu0w4frE.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DVIHZLvL.js → ishikawaDiagram-YF4QCWOH-CJ47Z-ak.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-CQBZ4tCx.js → journeyDiagram-JHISSGLW-fAL_Zcvs.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-D7naegR0.js → kanban-definition-UN3LZRKU-BTNIybMC.js} +1 -1
- package/dist/client/assets/{line-CizZlaeV.js → line-BvsadeZR.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-NrDqgpZa.js → mermaid-parser.core-C0EkH2y_.js} +1 -1
- package/dist/client/assets/{mermaid.core-CwVO3oX0.js → mermaid.core-BU5QIIbY.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-BWxy3Aa_.js → mindmap-definition-RKZ34NQL-CWbSYK8f.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-B3gXpmBn.js → pieDiagram-4H26LBE5-t4w2cB-y.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Dpp4g8Al.js → quadrantDiagram-W4KKPZXB-Cqasvrpa.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-lFKXnxml.js → requirementDiagram-4Y6WPE33-_l-mY-tb.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BBdtwqrS.js → sankeyDiagram-5OEKKPKP-Cr9YrZ-Y.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-ANpVZzqm.js → sequenceDiagram-3UESZ5HK-DvzZhQpb.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-D58ZxmKY.js → stateDiagram-AJRCARHV-cFjPpAO3.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-btHMH5Cg.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-B6FK8IQC.js → timeline-definition-PNZ67QCA-BjRNrEJY.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-lFWtZEEY.js → vennDiagram-CIIHVFJN-xs9afjrw.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DteAVp4l.js → wardleyDiagram-YWT4CUSO-DH68ZYti.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-CNcDlRLN.js → xychartDiagram-2RQKCTM6-DLW5ktTU.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db.js +225 -12
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +80 -26
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +368 -143
- package/dist/server/lib/agent.js.map +1 -1
- package/dist/server/lib/agentProvider.js.map +1 -1
- package/dist/server/lib/approvalReconciliation.js +14 -2
- package/dist/server/lib/approvalReconciliation.js.map +1 -1
- package/dist/server/lib/buildExecutionEnvironment.js +251 -57
- package/dist/server/lib/buildExecutionEnvironment.js.map +1 -1
- package/dist/server/lib/chatOperations.js +125 -3
- package/dist/server/lib/chatOperations.js.map +1 -1
- package/dist/server/lib/chatPostBuildRuns.js +12 -6
- package/dist/server/lib/chatPostBuildRuns.js.map +1 -1
- package/dist/server/lib/chatTargets.js +2 -1
- package/dist/server/lib/chatTargets.js.map +1 -1
- package/dist/server/lib/checkDefinitionCwd.js +34 -0
- package/dist/server/lib/checkDefinitionCwd.js.map +1 -0
- package/dist/server/lib/checkExecutionEnvironment.js +95 -0
- package/dist/server/lib/checkExecutionEnvironment.js.map +1 -0
- package/dist/server/lib/checkPolicyDefinitionIds.js +41 -0
- package/dist/server/lib/checkPolicyDefinitionIds.js.map +1 -0
- package/dist/server/lib/checkRepairDispatch.js +2 -0
- package/dist/server/lib/checkRepairDispatch.js.map +1 -1
- package/dist/server/lib/checkRunner.js +371 -175
- package/dist/server/lib/checkRunner.js.map +1 -1
- package/dist/server/lib/checkRuns.js +99 -8
- package/dist/server/lib/checkRuns.js.map +1 -1
- package/dist/server/lib/claudeAgentProvider.js +3 -6
- package/dist/server/lib/claudeAgentProvider.js.map +1 -1
- package/dist/server/lib/claudeStdin.js +27 -0
- package/dist/server/lib/claudeStdin.js.map +1 -0
- package/dist/server/lib/completedAssistantOutput.js +38 -0
- package/dist/server/lib/completedAssistantOutput.js.map +1 -0
- package/dist/server/lib/consequentialActionAuthority.js +99 -8
- package/dist/server/lib/consequentialActionAuthority.js.map +1 -1
- package/dist/server/lib/consequentialActions.js +42 -2
- package/dist/server/lib/consequentialActions.js.map +1 -1
- package/dist/server/lib/dockerSandboxCredentials.js +10 -3
- package/dist/server/lib/dockerSandboxCredentials.js.map +1 -1
- package/dist/server/lib/dockerSandboxEnvironmentOperations.js +9 -8
- package/dist/server/lib/dockerSandboxEnvironmentOperations.js.map +1 -1
- package/dist/server/lib/dockerSandboxExecutionEnvironment.js +149 -74
- package/dist/server/lib/dockerSandboxExecutionEnvironment.js.map +1 -1
- package/dist/server/lib/dockerSandboxExecutionProvider.js +22 -14
- package/dist/server/lib/dockerSandboxExecutionProvider.js.map +1 -1
- package/dist/server/lib/dockerSandboxNetworkPolicy.js +23 -14
- package/dist/server/lib/dockerSandboxNetworkPolicy.js.map +1 -1
- package/dist/server/lib/dockerSandboxReleaseProfiles.js +91 -0
- package/dist/server/lib/dockerSandboxReleaseProfiles.js.map +1 -0
- package/dist/server/lib/dockerSandboxRuntimeController.js +16 -1
- package/dist/server/lib/dockerSandboxRuntimeController.js.map +1 -1
- package/dist/server/lib/executionCredentialCapabilities.js +9 -6
- package/dist/server/lib/executionCredentialCapabilities.js.map +1 -1
- package/dist/server/lib/executionEnvironment.js.map +1 -1
- package/dist/server/lib/executionEnvironmentLifecycle.js +7 -0
- package/dist/server/lib/executionEnvironmentLifecycle.js.map +1 -1
- package/dist/server/lib/executionEnvironmentOperations.js +241 -0
- package/dist/server/lib/executionEnvironmentOperations.js.map +1 -0
- package/dist/server/lib/executionEnvironmentReconciliation.js +98 -3
- package/dist/server/lib/executionEnvironmentReconciliation.js.map +1 -1
- package/dist/server/lib/executionEnvironmentRoutes.js +66 -27
- package/dist/server/lib/executionEnvironmentRoutes.js.map +1 -1
- package/dist/server/lib/executionEnvironmentValidation.js +2 -2
- package/dist/server/lib/executionEnvironmentValidation.js.map +1 -1
- package/dist/server/lib/executionEnvironmentValidationOperations.js +58 -31
- package/dist/server/lib/executionEnvironmentValidationOperations.js.map +1 -1
- package/dist/server/lib/executionEnvironments.js +187 -9
- package/dist/server/lib/executionEnvironments.js.map +1 -1
- package/dist/server/lib/executionProfileCheckPolicy.js +14 -0
- package/dist/server/lib/executionProfileCheckPolicy.js.map +1 -0
- package/dist/server/lib/executionProfileRoutes.js +9 -1
- package/dist/server/lib/executionProfileRoutes.js.map +1 -1
- package/dist/server/lib/executionProfileStore.js +5 -3
- package/dist/server/lib/executionProfileStore.js.map +1 -1
- package/dist/server/lib/executionProfiles.js +97 -15
- package/dist/server/lib/executionProfiles.js.map +1 -1
- package/dist/server/lib/executionReconciliation.js +43 -6
- package/dist/server/lib/executionReconciliation.js.map +1 -1
- package/dist/server/lib/executionRunAuthority.js +115 -24
- package/dist/server/lib/executionRunAuthority.js.map +1 -1
- package/dist/server/lib/executionTargets.js +30 -4
- package/dist/server/lib/executionTargets.js.map +1 -1
- package/dist/server/lib/executionWorkloads.js +75 -0
- package/dist/server/lib/executionWorkloads.js.map +1 -0
- package/dist/server/lib/git.js +10 -1
- package/dist/server/lib/git.js.map +1 -1
- package/dist/server/lib/opencodeAgentProvider.js +3 -1
- package/dist/server/lib/opencodeAgentProvider.js.map +1 -1
- package/dist/server/lib/opencodeSessionOperations.js +5 -3
- package/dist/server/lib/opencodeSessionOperations.js.map +1 -1
- package/dist/server/lib/planQuestions.js +2 -1
- package/dist/server/lib/planQuestions.js.map +1 -1
- package/dist/server/lib/postBuildCheckRuns.js +9 -5
- package/dist/server/lib/postBuildCheckRuns.js.map +1 -1
- package/dist/server/lib/preview.js +47 -6
- package/dist/server/lib/preview.js.map +1 -1
- package/dist/server/lib/previewProxy.js +11 -3
- package/dist/server/lib/previewProxy.js.map +1 -1
- package/dist/server/lib/productionCheckApprovals.js +97 -35
- package/dist/server/lib/productionCheckApprovals.js.map +1 -1
- package/dist/server/lib/projectMemorySuggestions.js +29 -6
- package/dist/server/lib/projectMemorySuggestions.js.map +1 -1
- package/dist/server/lib/requiredCheckPolicy.js +3 -40
- package/dist/server/lib/requiredCheckPolicy.js.map +1 -1
- package/dist/server/lib/reviewAgentWatchdog.js +75 -0
- package/dist/server/lib/reviewAgentWatchdog.js.map +1 -0
- package/dist/server/lib/reviewFindingReconciliation.js +176 -0
- package/dist/server/lib/reviewFindingReconciliation.js.map +1 -0
- package/dist/server/lib/reviewFindings.js +33 -11
- package/dist/server/lib/reviewFindings.js.map +1 -1
- package/dist/server/lib/run.js +370 -80
- package/dist/server/lib/run.js.map +1 -1
- package/dist/server/lib/serviceRuns.js +196 -0
- package/dist/server/lib/serviceRuns.js.map +1 -0
- package/dist/server/lib/sessionTargets.js +34 -0
- package/dist/server/lib/sessionTargets.js.map +1 -1
- package/dist/server/lib/shell.js +20 -0
- package/dist/server/lib/shell.js.map +1 -1
- package/dist/server/lib/specArtifact.js +36 -15
- package/dist/server/lib/specArtifact.js.map +1 -1
- package/dist/server/lib/specBundleGroups.js +4 -4
- package/dist/server/lib/specBundleGroups.js.map +1 -1
- package/dist/server/lib/specOperations.js +2 -0
- package/dist/server/lib/specOperations.js.map +1 -1
- package/dist/server/lib/specReviewOperations.js +2 -0
- package/dist/server/lib/specReviewOperations.js.map +1 -1
- package/dist/server/lib/specTicketMaterialization.js +37 -24
- package/dist/server/lib/specTicketMaterialization.js.map +1 -1
- package/dist/server/lib/ticketFollowUpOperations.js +9 -4
- package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
- package/dist/server/lib/ticketRunOperations.js +1 -0
- package/dist/server/lib/ticketRunOperations.js.map +1 -1
- package/dist/server/lib/types.js +1 -0
- package/dist/server/lib/types.js.map +1 -1
- package/dist/server/lib/workloadExecutionEnvironment.js +2 -0
- package/dist/server/lib/workloadExecutionEnvironment.js.map +1 -0
- package/dist/server/lib/workspaceIdentity.js +30 -6
- package/dist/server/lib/workspaceIdentity.js.map +1 -1
- package/dist/server/workers/build.js +39 -8
- package/dist/server/workers/build.js.map +1 -1
- package/dist/server/workers/chat.js +142 -15
- package/dist/server/workers/chat.js.map +1 -1
- package/dist/server/workers/followUp.js +77 -20
- package/dist/server/workers/followUp.js.map +1 -1
- package/dist/server/workers/plan.js +295 -48
- package/dist/server/workers/plan.js.map +1 -1
- package/dist/server/workers/planFollowUp.js +77 -7
- package/dist/server/workers/planFollowUp.js.map +1 -1
- package/dist/server/workers/review.js +149 -38
- package/dist/server/workers/review.js.map +1 -1
- package/dist/server/workers/specReview.js +43 -5
- package/dist/server/workers/specReview.js.map +1 -1
- package/dist/server/workers/specSession.js +156 -31
- package/dist/server/workers/specSession.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/GitHubActionsDialog-BFCqikDY.js +0 -1
- package/dist/client/assets/VerificationDialog-B1_6HMdt.js +0 -4
- package/dist/client/assets/channel-BfskvH2B.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-D4HPfxL3.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DQQ_WqAU.js +0 -1
- package/dist/client/assets/index-CZ1z72fo.js +0 -276
- package/dist/client/assets/index-SMj5ZmMs.css +0 -2
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Cv8cmDfz.js +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
import { isAbsolute, relative } from 'node:path';
|
|
2
3
|
import { ExecutionEnvironmentFailure as EnvironmentFailure, ExecutionEnvironmentUnsupportedFailure, ExecutionPlacementTerminationFailure, normalizeExecutionEnvironmentFailure, } from './executionEnvironment.js';
|
|
3
|
-
import { DOCKER_SANDBOX_PROVIDER,
|
|
4
|
+
import { DOCKER_SANDBOX_PROVIDER, dockerSandboxExecutionEnvironmentObservation, } from './dockerSandboxExecutionEnvironment.js';
|
|
5
|
+
import { RECOMMENDED_DOCKER_SANDBOX_RELEASE } from './dockerSandboxReleaseProfiles.js';
|
|
4
6
|
const MAX_IDENTITY_COMPONENT_BYTES = 500;
|
|
5
7
|
const GUEST_LAUNCH_PROBE_TIMEOUT_MS = 15_000;
|
|
6
8
|
const GUEST_LAUNCH_PROBE_OUTPUT_LIMIT_BYTES = 4 * 1024;
|
|
@@ -10,9 +12,9 @@ const assertBoundedIdentityComponent = (name, value) => {
|
|
|
10
12
|
throw new Error(`${name} must contain between 1 and ${MAX_IDENTITY_COMPONENT_BYTES} bytes`);
|
|
11
13
|
}
|
|
12
14
|
};
|
|
13
|
-
const
|
|
15
|
+
export const createDockerSandboxPlacementIdentity = (binding, executionRunId = binding.executionRunId) => {
|
|
14
16
|
assertBoundedIdentityComponent('Execution environment ID', binding.environmentId);
|
|
15
|
-
assertBoundedIdentityComponent('Execution run ID',
|
|
17
|
+
assertBoundedIdentityComponent('Execution run ID', executionRunId);
|
|
16
18
|
assertBoundedIdentityComponent('Execution target key', binding.target.identity.key);
|
|
17
19
|
assertBoundedIdentityComponent('Docker Sandbox external ID', binding.sandbox.name);
|
|
18
20
|
if (!Number.isSafeInteger(binding.environmentRevision) || binding.environmentRevision < 1) {
|
|
@@ -20,10 +22,10 @@ const createPlacementIdentity = (binding) => {
|
|
|
20
22
|
}
|
|
21
23
|
return {
|
|
22
24
|
provider: DOCKER_SANDBOX_PROVIDER,
|
|
23
|
-
providerVersion:
|
|
25
|
+
providerVersion: binding.providerVersion ?? RECOMMENDED_DOCKER_SANDBOX_RELEASE.version,
|
|
24
26
|
environmentId: binding.environmentId,
|
|
25
27
|
environmentRevision: binding.environmentRevision,
|
|
26
|
-
executionRunId
|
|
28
|
+
executionRunId,
|
|
27
29
|
targetKey: binding.target.identity.key,
|
|
28
30
|
scope: { kind: 'exact-sandbox', externalId: binding.sandbox.name },
|
|
29
31
|
};
|
|
@@ -71,10 +73,13 @@ const observeGuestLaunchFailure = async (dependencies, cwd) => {
|
|
|
71
73
|
}
|
|
72
74
|
};
|
|
73
75
|
const assertRequestMatchesBinding = (request, binding) => {
|
|
76
|
+
const relativeCwd = relative(binding.target.workspacePath, request.cwd);
|
|
77
|
+
const cwdMatchesBinding = relativeCwd === ''
|
|
78
|
+
|| (!isAbsolute(relativeCwd) && relativeCwd !== '..' && !relativeCwd.startsWith(`..${process.platform === 'win32' ? '\\' : '/'}`));
|
|
74
79
|
if (!request.target
|
|
75
80
|
|| request.target.identity.key !== binding.target.identity.key
|
|
76
81
|
|| request.target.workspacePath !== binding.target.workspacePath
|
|
77
|
-
||
|
|
82
|
+
|| !cwdMatchesBinding
|
|
78
83
|
|| binding.sandbox.workspacePath !== binding.target.workspacePath) {
|
|
79
84
|
throw new EnvironmentFailure('placement-failed', DOCKER_SANDBOX_PROVIDER, 'Docker Sandbox execution request does not match its bound target and workspace', {});
|
|
80
85
|
}
|
|
@@ -85,9 +90,10 @@ export const createDockerSandboxExecutionProvider = (dependencies) => {
|
|
|
85
90
|
}
|
|
86
91
|
const executable = dependencies.executable ?? 'sbx';
|
|
87
92
|
const spawnExec = dependencies.spawn ?? spawn;
|
|
88
|
-
const
|
|
93
|
+
const issuedExecutionRunIds = new Set([dependencies.binding.executionRunId]);
|
|
89
94
|
const assertOwnedIdentity = (candidate) => {
|
|
90
|
-
|
|
95
|
+
const expected = createDockerSandboxPlacementIdentity(dependencies.binding, candidate.executionRunId);
|
|
96
|
+
if (!issuedExecutionRunIds.has(candidate.executionRunId) || !placementIdentitiesMatch(candidate, expected)) {
|
|
91
97
|
throw new ExecutionPlacementTerminationFailure(candidate, 'Placement identity does not match this Docker Sandbox execution binding');
|
|
92
98
|
}
|
|
93
99
|
};
|
|
@@ -95,22 +101,22 @@ export const createDockerSandboxExecutionProvider = (dependencies) => {
|
|
|
95
101
|
assertOwnedIdentity(candidate);
|
|
96
102
|
const observed = await dependencies.adapter.inspect(dependencies.binding.sandbox.name);
|
|
97
103
|
if (!observed) {
|
|
98
|
-
return { identity, state: 'absent' };
|
|
104
|
+
return { identity: candidate, state: 'absent' };
|
|
99
105
|
}
|
|
100
106
|
if (!inspectionMatchesBinding(observed, dependencies.binding.sandbox)) {
|
|
101
|
-
throw new ExecutionPlacementTerminationFailure(
|
|
107
|
+
throw new ExecutionPlacementTerminationFailure(candidate, 'Docker Sandbox placement inspection did not match the bound external identity');
|
|
102
108
|
}
|
|
103
|
-
return { identity, state: observed.state };
|
|
109
|
+
return { identity: candidate, state: observed.state };
|
|
104
110
|
};
|
|
105
111
|
const terminate = async (candidate) => {
|
|
106
112
|
assertOwnedIdentity(candidate);
|
|
107
113
|
try {
|
|
108
|
-
const before = await inspect(
|
|
114
|
+
const before = await inspect(candidate);
|
|
109
115
|
if (before.state === 'absent' || before.state === 'stopped') {
|
|
110
116
|
return before;
|
|
111
117
|
}
|
|
112
118
|
await dependencies.adapter.stop(dependencies.binding.sandbox);
|
|
113
|
-
const after = await inspect(
|
|
119
|
+
const after = await inspect(candidate);
|
|
114
120
|
if (after.state !== 'stopped' && after.state !== 'absent') {
|
|
115
121
|
throw new Error(`Sandbox remained ${after.state}`);
|
|
116
122
|
}
|
|
@@ -120,7 +126,7 @@ export const createDockerSandboxExecutionProvider = (dependencies) => {
|
|
|
120
126
|
if (error instanceof ExecutionPlacementTerminationFailure) {
|
|
121
127
|
throw error;
|
|
122
128
|
}
|
|
123
|
-
throw new ExecutionPlacementTerminationFailure(
|
|
129
|
+
throw new ExecutionPlacementTerminationFailure(candidate, `Unable to prove termination of Docker Sandbox ${dependencies.binding.sandbox.name}`, { cause: error });
|
|
124
130
|
}
|
|
125
131
|
};
|
|
126
132
|
const placementOperations = { inspect, terminate };
|
|
@@ -141,6 +147,8 @@ export const createDockerSandboxExecutionProvider = (dependencies) => {
|
|
|
141
147
|
throw new EnvironmentFailure('placement-failed', DOCKER_SANDBOX_PROVIDER, 'Docker Sandbox execution was cancelled before placement', { cause: dependencies.signal.reason });
|
|
142
148
|
}
|
|
143
149
|
assertRequestMatchesBinding(request, dependencies.binding);
|
|
150
|
+
const identity = createDockerSandboxPlacementIdentity(dependencies.binding, request.placementExecutionRunId ?? dependencies.binding.executionRunId);
|
|
151
|
+
issuedExecutionRunIds.add(identity.executionRunId);
|
|
144
152
|
if (request.launcherEnvironment.kind !== 'docker-sandbox-wrapper') {
|
|
145
153
|
throw new ExecutionEnvironmentUnsupportedFailure(DOCKER_SANDBOX_PROVIDER, 'launcherEnvironment', 'Docker Sandbox execution requires a qualified wrapper launcher environment.');
|
|
146
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerSandboxExecutionProvider.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxExecutionProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"dockerSandboxExecutionProvider.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxExecutionProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SbxContractFailure, asRecord, parseJsonObject, requireSuccessfulCommand, } from './dockerSandboxExecutionEnvironment.js';
|
|
2
|
+
import { RECOMMENDED_DOCKER_SANDBOX_RELEASE, } from './dockerSandboxReleaseProfiles.js';
|
|
2
3
|
const POLICY_LS_COMMAND = 'policy ls';
|
|
3
4
|
const POLICY_ALLOW_COMMAND = 'policy allow';
|
|
4
5
|
const POLICY_CHECK_COMMAND = 'policy check';
|
|
@@ -11,7 +12,13 @@ const assertBoundedArgument = (name, value) => {
|
|
|
11
12
|
};
|
|
12
13
|
const dedupe = (values) => [...new Set(values)];
|
|
13
14
|
const scopedNetworkRulesForSandbox = (rules, sandboxName) => rules.filter(rule => rule.scope === `${SANDBOX_SCOPE_PREFIX}${sandboxName}` && rule.resourceType === 'network');
|
|
14
|
-
|
|
15
|
+
const requireScopedPolicyParser = (profile) => {
|
|
16
|
+
if (profile.parserContracts.scopedNetworkPolicy !== 'v0.38.0') {
|
|
17
|
+
throw new SbxContractFailure(POLICY_LS_COMMAND, `No scoped network policy parser is registered for ${profile.id}`);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export const parseScopedSbxPolicyLsOutput = (output, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
21
|
+
requireScopedPolicyParser(profile);
|
|
15
22
|
const record = parseJsonObject(POLICY_LS_COMMAND, output);
|
|
16
23
|
if (!Array.isArray(record.rules)) {
|
|
17
24
|
throw new SbxContractFailure(POLICY_LS_COMMAND, 'sbx policy ls returned an unsupported schema');
|
|
@@ -36,7 +43,8 @@ export const parseScopedSbxPolicyLsOutput = (output) => {
|
|
|
36
43
|
};
|
|
37
44
|
});
|
|
38
45
|
};
|
|
39
|
-
export const parseSbxPolicyCheckOutput = (output, target, sandboxName) => {
|
|
46
|
+
export const parseSbxPolicyCheckOutput = (output, target, sandboxName, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
47
|
+
requireScopedPolicyParser(profile);
|
|
40
48
|
const record = parseJsonObject(POLICY_CHECK_COMMAND, output);
|
|
41
49
|
const normalizedTarget = /:\d+$/.test(target) ? target : `${target}:443`;
|
|
42
50
|
if (record.action !== 'net:connect:tcp'
|
|
@@ -62,7 +70,8 @@ export const parseSbxPolicyCheckOutput = (output, target, sandboxName) => {
|
|
|
62
70
|
evaluatedRuleId: null,
|
|
63
71
|
};
|
|
64
72
|
};
|
|
65
|
-
export const parseSbxPolicyAllowOutput = (output, sandboxName, requestedResources) => {
|
|
73
|
+
export const parseSbxPolicyAllowOutput = (output, sandboxName, requestedResources, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
74
|
+
requireScopedPolicyParser(profile);
|
|
66
75
|
const trimmed = output.trim();
|
|
67
76
|
if (trimmed.length === 0) {
|
|
68
77
|
throw new SbxContractFailure(POLICY_ALLOW_COMMAND, 'sbx policy allow returned no created rule identifiers');
|
|
@@ -115,11 +124,11 @@ export const assertExactSandboxNetworkAllowlist = (rules, requestedResources) =>
|
|
|
115
124
|
throw new SbxContractFailure(POLICY_LS_COMMAND, `Sandbox network rules do not exactly match the requested allowlist (${details.join('; ')})`);
|
|
116
125
|
}
|
|
117
126
|
};
|
|
118
|
-
export const inspectSandboxNetworkRules = async (runner, sandboxName, options = {}) => {
|
|
127
|
+
export const inspectSandboxNetworkRules = async (runner, sandboxName, options = {}, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
119
128
|
assertBoundedArgument('Docker Sandbox name', sandboxName);
|
|
120
129
|
const result = await runner.run(['policy', 'ls', sandboxName, '--json', '--wide'], options);
|
|
121
130
|
requireSuccessfulCommand(POLICY_LS_COMMAND, result);
|
|
122
|
-
return scopedNetworkRulesForSandbox(parseScopedSbxPolicyLsOutput(result.stdout), sandboxName);
|
|
131
|
+
return scopedNetworkRulesForSandbox(parseScopedSbxPolicyLsOutput(result.stdout, profile), sandboxName);
|
|
123
132
|
};
|
|
124
133
|
const sandboxApplicationLocks = new Map();
|
|
125
134
|
const withSandboxApplicationLock = async (sandboxName, operation) => {
|
|
@@ -141,14 +150,14 @@ const withSandboxApplicationLock = async (sandboxName, operation) => {
|
|
|
141
150
|
}
|
|
142
151
|
}
|
|
143
152
|
};
|
|
144
|
-
export const applyScopedNetworkRules = (runner, sandboxName, resources, options = {}) => withSandboxApplicationLock(sandboxName, async () => {
|
|
153
|
+
export const applyScopedNetworkRules = (runner, sandboxName, resources, options = {}, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => withSandboxApplicationLock(sandboxName, async () => {
|
|
145
154
|
assertBoundedArgument('Docker Sandbox name', sandboxName);
|
|
146
155
|
const requested = dedupe(resources);
|
|
147
156
|
requested.forEach(resource => assertBoundedArgument('Network resource', resource));
|
|
148
157
|
if (requested.length === 0) {
|
|
149
158
|
return [];
|
|
150
159
|
}
|
|
151
|
-
const existing = await inspectSandboxNetworkRules(runner, sandboxName, options);
|
|
160
|
+
const existing = await inspectSandboxNetworkRules(runner, sandboxName, options, profile);
|
|
152
161
|
const covered = new Set(existing
|
|
153
162
|
.filter(rule => rule.status === 'active' && rule.decision === 'allow')
|
|
154
163
|
.flatMap(rule => rule.resources));
|
|
@@ -158,19 +167,19 @@ export const applyScopedNetworkRules = (runner, sandboxName, resources, options
|
|
|
158
167
|
}
|
|
159
168
|
const result = await runner.run(['policy', 'allow', 'network', '--sandbox', sandboxName, missing.join(',')], options);
|
|
160
169
|
requireSuccessfulCommand(POLICY_ALLOW_COMMAND, result);
|
|
161
|
-
return parseSbxPolicyAllowOutput(result.stdout, sandboxName, missing);
|
|
170
|
+
return parseSbxPolicyAllowOutput(result.stdout, sandboxName, missing, profile);
|
|
162
171
|
});
|
|
163
|
-
export const checkDestinationAccess = async (runner, sandboxName, target, options = {}) => {
|
|
172
|
+
export const checkDestinationAccess = async (runner, sandboxName, target, options = {}, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
164
173
|
assertBoundedArgument('Docker Sandbox name', sandboxName);
|
|
165
174
|
assertBoundedArgument('Network destination target', target);
|
|
166
175
|
const result = await runner.run(['policy', 'check', 'network', '--sandbox', sandboxName, target, '--json'], options);
|
|
167
176
|
requireSuccessfulCommand(POLICY_CHECK_COMMAND, result);
|
|
168
|
-
return parseSbxPolicyCheckOutput(result.stdout, target, sandboxName);
|
|
177
|
+
return parseSbxPolicyCheckOutput(result.stdout, target, sandboxName, profile);
|
|
169
178
|
};
|
|
170
|
-
export const inspectGlobalNetworkPosture = async (runner, options = {}) => {
|
|
179
|
+
export const inspectGlobalNetworkPosture = async (runner, options = {}, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
171
180
|
const result = await runner.run(['policy', 'ls', '--json', '--wide'], options);
|
|
172
181
|
requireSuccessfulCommand(POLICY_LS_COMMAND, result);
|
|
173
|
-
return classifyGlobalNetworkPosture(parseScopedSbxPolicyLsOutput(result.stdout));
|
|
182
|
+
return classifyGlobalNetworkPosture(parseScopedSbxPolicyLsOutput(result.stdout, profile));
|
|
174
183
|
};
|
|
175
184
|
const CATCH_ALL_RESOURCES = new Set(['**', '*', '*:*', 'any']);
|
|
176
185
|
const isCatchAllRule = (rule) => (rule.resources.length === 0
|
|
@@ -201,14 +210,14 @@ export const classifyGlobalNetworkPosture = (rules) => {
|
|
|
201
210
|
}
|
|
202
211
|
return 'unknown';
|
|
203
212
|
};
|
|
204
|
-
export const removeScopedNetworkRules = async (runner, sandboxName, ruleIds, options = {}) => {
|
|
213
|
+
export const removeScopedNetworkRules = async (runner, sandboxName, ruleIds, options = {}, profile = RECOMMENDED_DOCKER_SANDBOX_RELEASE) => {
|
|
205
214
|
assertBoundedArgument('Docker Sandbox name', sandboxName);
|
|
206
215
|
const ids = dedupe(ruleIds);
|
|
207
216
|
ids.forEach(id => assertBoundedArgument('Network policy rule ID', id));
|
|
208
217
|
if (ids.length === 0) {
|
|
209
218
|
return;
|
|
210
219
|
}
|
|
211
|
-
const scoped = await inspectSandboxNetworkRules(runner, sandboxName, options);
|
|
220
|
+
const scoped = await inspectSandboxNetworkRules(runner, sandboxName, options, profile);
|
|
212
221
|
const owned = new Set(scoped.map(rule => rule.id));
|
|
213
222
|
const foreign = ids.filter(id => !owned.has(id));
|
|
214
223
|
if (foreign.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerSandboxNetworkPolicy.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxNetworkPolicy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dockerSandboxNetworkPolicy.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxNetworkPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const V0_38_0_CAPABILITIES = Object.freeze({
|
|
2
|
+
isolation: 'microvm',
|
|
3
|
+
directWritableWorkspace: 'supported',
|
|
4
|
+
transparentHeadlessStreams: 'supported',
|
|
5
|
+
credentialBrokering: 'supported',
|
|
6
|
+
enforcedNetworkAllowlist: 'unknown',
|
|
7
|
+
persistentEnvironments: 'supported',
|
|
8
|
+
resourceIsolation: 'unknown',
|
|
9
|
+
nestedContainers: 'unsupported',
|
|
10
|
+
publishedPorts: 'unsupported',
|
|
11
|
+
resourceControls: 'unsupported',
|
|
12
|
+
});
|
|
13
|
+
const V0_38_0_PROFILE = Object.freeze({
|
|
14
|
+
id: 'docker-sandbox-v0.38.0-c022b146',
|
|
15
|
+
version: '0.38.0',
|
|
16
|
+
acceptedBuilds: Object.freeze(['c022b14634c4bea846ca12870d1d5e97d5868b54']),
|
|
17
|
+
releaseArchiveSha256: Object.freeze({
|
|
18
|
+
'linux-x64': '9ebcea831d4d270e25ae1777bf15e24756abfbf8791ad27294754682838ed00b',
|
|
19
|
+
}),
|
|
20
|
+
status: 'recommended',
|
|
21
|
+
statusReason: null,
|
|
22
|
+
adapterContractVersion: '6',
|
|
23
|
+
minimumMacosMajor: 14,
|
|
24
|
+
hosts: Object.freeze([
|
|
25
|
+
Object.freeze({ platform: 'linux', architecture: 'x64' }),
|
|
26
|
+
Object.freeze({ platform: 'darwin', architecture: 'arm64' }),
|
|
27
|
+
]),
|
|
28
|
+
templates: Object.freeze({
|
|
29
|
+
opencode: 'docker.io/docker/sandbox-templates@sha256:b2176d0fdd0cf17754b3b9dff13a69bff003d608e43360687b00ce86d2c749d9',
|
|
30
|
+
claude: 'docker.io/docker/sandbox-templates@sha256:7fa049b8d7a0cf10f6a4200148ee475e94fc4fb5ef50dfacc4257699cb9a34bc',
|
|
31
|
+
}),
|
|
32
|
+
capabilities: V0_38_0_CAPABILITIES,
|
|
33
|
+
parserContracts: Object.freeze({
|
|
34
|
+
diagnostics: 'v0.38.0',
|
|
35
|
+
inspection: 'v0.38.0',
|
|
36
|
+
missingSandbox: 'v0.38.0',
|
|
37
|
+
networkPolicy: 'v0.38.0',
|
|
38
|
+
scopedNetworkPolicy: 'v0.38.0',
|
|
39
|
+
secretList: 'v0.38.0',
|
|
40
|
+
}),
|
|
41
|
+
commandContracts: Object.freeze([
|
|
42
|
+
'create',
|
|
43
|
+
'daemon-start',
|
|
44
|
+
'diagnose',
|
|
45
|
+
'exec',
|
|
46
|
+
'inspect',
|
|
47
|
+
'policy-allow',
|
|
48
|
+
'policy-check',
|
|
49
|
+
'policy-list',
|
|
50
|
+
'policy-remove',
|
|
51
|
+
'remove',
|
|
52
|
+
'secret-list',
|
|
53
|
+
'stop',
|
|
54
|
+
'version',
|
|
55
|
+
]),
|
|
56
|
+
fixtureDirectory: 'v0.38.0',
|
|
57
|
+
});
|
|
58
|
+
export const DOCKER_SANDBOX_RELEASE_PROFILES = Object.freeze([
|
|
59
|
+
V0_38_0_PROFILE,
|
|
60
|
+
]);
|
|
61
|
+
export const RECOMMENDED_DOCKER_SANDBOX_RELEASE = V0_38_0_PROFILE;
|
|
62
|
+
export const findDockerSandboxReleaseProfile = (version, profiles = DOCKER_SANDBOX_RELEASE_PROFILES) => (profiles.find(profile => profile.version === version) ?? null);
|
|
63
|
+
export const inspectDockerSandboxRelease = (version, build, profiles = DOCKER_SANDBOX_RELEASE_PROFILES) => {
|
|
64
|
+
const profile = findDockerSandboxReleaseProfile(version, profiles);
|
|
65
|
+
if (!profile) {
|
|
66
|
+
return { profile: null, status: 'unsupported', reason: `Docker Sandbox ${version} has not been qualified by Archon.` };
|
|
67
|
+
}
|
|
68
|
+
if (!profile.acceptedBuilds.includes(build)) {
|
|
69
|
+
return { profile: null, status: 'unsupported', reason: `Docker Sandbox ${version} build ${build} has not been qualified by Archon.` };
|
|
70
|
+
}
|
|
71
|
+
return { profile, status: profile.status, reason: profile.statusReason };
|
|
72
|
+
};
|
|
73
|
+
export const resolveDockerSandboxReleaseProfile = (version, build) => {
|
|
74
|
+
const release = inspectDockerSandboxRelease(version, build);
|
|
75
|
+
if (!release.profile || release.status === 'security_blocked') {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
return release.profile;
|
|
79
|
+
};
|
|
80
|
+
export const isDockerSandboxReleaseHostQualified = (profile, platform, architecture) => profile.hosts.some(host => host.platform === platform && host.architecture === architecture);
|
|
81
|
+
export const resolveDockerSandboxReleaseForPersistedEnvironment = (providerVersion, template, agent) => {
|
|
82
|
+
if (!providerVersion || !template || !agent) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
const profile = findDockerSandboxReleaseProfile(providerVersion);
|
|
86
|
+
if (!profile || profile.status === 'security_blocked' || profile.templates[agent] !== template) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return profile;
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=dockerSandboxReleaseProfiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dockerSandboxReleaseProfiles.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxReleaseProfiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SbxCommandFailure, probeDockerSandboxReadiness, } from './dockerSandboxExecutionEnvironment.js';
|
|
1
|
+
import { SbxCommandFailure, parseQualifiedSbxRelease, probeDockerSandboxReadiness, requireSuccessfulCommand, } from './dockerSandboxExecutionEnvironment.js';
|
|
2
|
+
import { resolveDockerSandboxReleaseProfile, } from './dockerSandboxReleaseProfiles.js';
|
|
2
3
|
const START_DAEMON_ARGS = ['daemon', 'start', '--detach'];
|
|
3
4
|
const HARD_PREREQUISITES = ['cli', 'version', 'platform', 'virtualization', 'docker_login'];
|
|
4
5
|
const DAEMON_START_TIMEOUT_MS = 180_000;
|
|
@@ -144,6 +145,12 @@ export const createDockerSandboxRuntimeController = (dependencies) => {
|
|
|
144
145
|
if (eligibility.state === 'blocked') {
|
|
145
146
|
throw new DockerSandboxRuntimeFailure('unsupported_prerequisite', eligibility.observationCodes);
|
|
146
147
|
}
|
|
148
|
+
const releaseProfile = initial.providerVersion && initial.providerBuild
|
|
149
|
+
? resolveDockerSandboxReleaseProfile(initial.providerVersion, initial.providerBuild)
|
|
150
|
+
: null;
|
|
151
|
+
if (!releaseProfile?.commandContracts.includes('daemon-start')) {
|
|
152
|
+
throw new DockerSandboxRuntimeFailure('unsupported_prerequisite', ['version']);
|
|
153
|
+
}
|
|
147
154
|
let startResult;
|
|
148
155
|
try {
|
|
149
156
|
startResult = await dependencies.runner.run(START_DAEMON_ARGS, startOptions);
|
|
@@ -176,6 +183,14 @@ export const createDockerSandboxRuntimeController = (dependencies) => {
|
|
|
176
183
|
return inFlight;
|
|
177
184
|
};
|
|
178
185
|
return {
|
|
186
|
+
detectRelease: async (options) => {
|
|
187
|
+
const result = await dependencies.runner.run(['version'], {
|
|
188
|
+
signal: options?.signal,
|
|
189
|
+
timeoutMs: PROBE_TIMEOUT_MS,
|
|
190
|
+
});
|
|
191
|
+
requireSuccessfulCommand('version', result);
|
|
192
|
+
return parseQualifiedSbxRelease(result.stdout);
|
|
193
|
+
},
|
|
179
194
|
ensureReady: options => {
|
|
180
195
|
if (options?.signal?.aborted) {
|
|
181
196
|
return Promise.reject(new DockerSandboxRuntimeFailure('cancelled'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerSandboxRuntimeController.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxRuntimeController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"dockerSandboxRuntimeController.js","sourceRoot":"","sources":["../../../server/lib/dockerSandboxRuntimeController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EXECUTION_WORKLOADS } from './executionWorkloads.js';
|
|
2
|
+
import { DOCKER_SANDBOX_RELEASE_PROFILES } from './dockerSandboxReleaseProfiles.js';
|
|
2
3
|
const QUALIFIED_OPENCODE_API_KEY_SERVICES = [
|
|
3
4
|
'anthropic',
|
|
4
5
|
'google',
|
|
@@ -10,17 +11,19 @@ const QUALIFIED_OPENCODE_API_KEY_SERVICES = [
|
|
|
10
11
|
'openrouter',
|
|
11
12
|
'xai',
|
|
12
13
|
];
|
|
13
|
-
export const QUALIFIED_EXECUTION_CREDENTIAL_TUPLES = (
|
|
14
|
+
export const QUALIFIED_EXECUTION_CREDENTIAL_TUPLES = (DOCKER_SANDBOX_RELEASE_PROFILES
|
|
15
|
+
.filter(profile => profile.status !== 'security_blocked')
|
|
16
|
+
.flatMap(profile => EXECUTION_WORKLOADS.flatMap(workload => QUALIFIED_OPENCODE_API_KEY_SERVICES.map(modelProvider => ({
|
|
14
17
|
executionProvider: 'docker_sandbox',
|
|
15
|
-
providerVersion:
|
|
16
|
-
template:
|
|
18
|
+
providerVersion: profile.version,
|
|
19
|
+
template: profile.templates.opencode,
|
|
17
20
|
agent: 'opencode',
|
|
18
21
|
modelProvider,
|
|
19
22
|
authenticationMode: 'api_key',
|
|
20
|
-
workload
|
|
23
|
+
workload,
|
|
21
24
|
inventoryState: 'stored',
|
|
22
25
|
classification: 'brokered_api_key',
|
|
23
|
-
})));
|
|
26
|
+
})))));
|
|
24
27
|
const normalizedId = (value) => value?.trim().toLowerCase() || null;
|
|
25
28
|
const findQualifiedTuple = (input) => {
|
|
26
29
|
const modelProvider = normalizedId(input.modelProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionCredentialCapabilities.js","sourceRoot":"","sources":["../../../server/lib/executionCredentialCapabilities.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"executionCredentialCapabilities.js","sourceRoot":"","sources":["../../../server/lib/executionCredentialCapabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionEnvironment.js","sourceRoot":"","sources":["../../../server/lib/executionEnvironment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executionEnvironment.js","sourceRoot":"","sources":["../../../server/lib/executionEnvironment.ts"],"names":[],"mappings":"AAsGA,MAAM,OAAO,oCAAqC,SAAQ,KAAK;IACpD,QAAQ,CAA4B;IAE7C,YAAY,QAAoC,EAAE,OAAe,EAAE,UAAwB,EAAE;QAC3F,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAA;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAgBD,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,CAAiC;IACrC,QAAQ,CAAQ;IAEzB,YACE,IAAqC,EACrC,QAAgB,EAChB,OAAe,EACf,OAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAA;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,2BAA2B;IACrF,YAAY,QAAgB,EAAE,OAAe,EAAE,UAAwB,EAAE;QACvE,KAAK,CAAC,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,2BAA2B;IAC5E,UAAU,CAAQ;IAE3B,YAAY,QAAgB,EAAE,UAAkB,EAAE,OAAe,EAAE,UAAwB,EAAE;QAC3F,KAAK,CAAC,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAA;QACpD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,QAAgB,EAChB,OAAe,EACf,KAAc,EACd,EAAE;IACF,MAAM,IAAI,GAAI,KAAsC,EAAE,IAAI,KAAK,QAAQ;QACrE,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,kBAAkB,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,KAAK,wBAAwB;QAC/C,CAAC,CAAC,uBAAuB,QAAQ,gCAAgC,OAAO,GAAG;QAC3E,CAAC,CAAC,uBAAuB,QAAQ,sBAAsB,OAAO,GAAG,CAAA;IAEnE,OAAO,IAAI,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AACnF,CAAC,CAAA"}
|
|
@@ -57,6 +57,9 @@ export const canonicalizeEnvironmentValidationFingerprintInput = (input) => {
|
|
|
57
57
|
assertFingerprintComponent(input.validationSuiteSchemaVersion, 'Validation-suite schema version');
|
|
58
58
|
assertFingerprintComponent(input.adapterContractVersion, 'Adapter contract version');
|
|
59
59
|
assertFingerprintComponent(input.qualifiedSbxVersion, 'Qualified sbx version');
|
|
60
|
+
if (input.releaseProfileId !== undefined) {
|
|
61
|
+
assertFingerprintComponent(input.releaseProfileId, 'Release profile ID');
|
|
62
|
+
}
|
|
60
63
|
const compatibleAgents = [...new Set(input.compatibleAgents)].sort();
|
|
61
64
|
if (compatibleAgents.length === 0
|
|
62
65
|
|| compatibleAgents.some(agent => agent !== 'opencode' && agent !== 'claude')) {
|
|
@@ -69,6 +72,7 @@ export const canonicalizeEnvironmentValidationFingerprintInput = (input) => {
|
|
|
69
72
|
validationSuiteSchemaVersion: input.validationSuiteSchemaVersion,
|
|
70
73
|
adapterContractVersion: input.adapterContractVersion,
|
|
71
74
|
qualifiedSbxVersion: input.qualifiedSbxVersion,
|
|
75
|
+
...(input.releaseProfileId === undefined ? {} : { releaseProfileId: input.releaseProfileId }),
|
|
72
76
|
};
|
|
73
77
|
};
|
|
74
78
|
export const createEnvironmentValidationFingerprint = (input) => {
|
|
@@ -84,6 +88,9 @@ export const createEnvironmentValidationFingerprint = (input) => {
|
|
|
84
88
|
appendFingerprintComponent(hash, 'validation_suite_schema_version', canonical.validationSuiteSchemaVersion);
|
|
85
89
|
appendFingerprintComponent(hash, 'adapter_contract_version', canonical.adapterContractVersion);
|
|
86
90
|
appendFingerprintComponent(hash, 'qualified_sbx_version', canonical.qualifiedSbxVersion);
|
|
91
|
+
if (canonical.releaseProfileId !== undefined) {
|
|
92
|
+
appendFingerprintComponent(hash, 'release_profile_id', canonical.releaseProfileId);
|
|
93
|
+
}
|
|
87
94
|
return hash.digest('hex');
|
|
88
95
|
};
|
|
89
96
|
export const requireExecutionCapabilities = (provider, observation, requiredCapabilities) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionEnvironmentLifecycle.js","sourceRoot":"","sources":["../../../server/lib/executionEnvironmentLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,sCAAsC,EAAE,MAAM,2BAA2B,CAAA;AAGlF,MAAM,CAAC,MAAM,mDAAmD,GAAG,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"executionEnvironmentLifecycle.js","sourceRoot":"","sources":["../../../server/lib/executionEnvironmentLifecycle.ts"],"names":[],"mappings":"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"}
|