spawnfile 0.1.13 → 0.1.17
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/README.md +61 -121
- package/dist/audit/auditCli.d.ts +19 -0
- package/dist/audit/auditCli.js +63 -0
- package/dist/audit/checks.d.ts +100 -0
- package/dist/audit/checks.js +279 -0
- package/dist/audit/checksShared.d.ts +74 -0
- package/dist/audit/checksShared.js +37 -0
- package/dist/audit/generateAudit.d.ts +19 -0
- package/dist/audit/generateAudit.js +122 -0
- package/dist/audit/index.d.ts +4 -0
- package/dist/audit/index.js +4 -0
- package/dist/audit/readAudit.d.ts +50 -0
- package/dist/audit/readAudit.js +59 -0
- package/dist/audit/types.d.ts +40 -0
- package/dist/audit/types.js +8 -0
- package/dist/auth/credentialEnvFile.d.ts +11 -0
- package/dist/auth/credentialEnvFile.js +60 -0
- package/dist/auth/credentialProvisioning.d.ts +15 -0
- package/dist/auth/credentialProvisioning.js +75 -0
- package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
- package/dist/auth/credentialProvisioningReceipt.js +70 -0
- package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
- package/dist/auth/credentialProvisioningRequest.js +169 -0
- package/dist/auth/credentialWorldBindings.d.ts +21 -0
- package/dist/auth/credentialWorldBindings.js +104 -0
- package/dist/auth/importers.d.ts +10 -0
- package/dist/auth/importers.js +29 -4
- package/dist/auth/index.d.ts +9 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/paths.d.ts +12 -1
- package/dist/auth/paths.js +21 -0
- package/dist/auth/profileStore.js +9 -9
- package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
- package/dist/auth/targetSecretSourceAuthor.js +52 -0
- package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
- package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
- package/dist/auth/targetSecretSourceFsPublish.d.ts +17 -0
- package/dist/auth/targetSecretSourceFsPublish.js +51 -0
- package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +17 -0
- package/dist/auth/targetSecretSourceFsPublishImmutable.js +468 -0
- package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
- package/dist/auth/targetSecretSourceFsRead.js +189 -0
- package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
- package/dist/auth/targetSecretSourceGrant.js +99 -0
- package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
- package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
- package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
- package/dist/auth/targetSecretSourceLifecycle.js +52 -0
- package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
- package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
- package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
- package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
- package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
- package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
- package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
- package/dist/auth/targetSecretSourceResolver.js +137 -0
- package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
- package/dist/auth/targetSecretSourceRevoke.js +92 -0
- package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
- package/dist/auth/targetSecretSourceRotate.js +121 -0
- package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
- package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
- package/dist/auth/trainingAuth.d.ts +21 -0
- package/dist/auth/trainingAuth.js +86 -0
- package/dist/auth/types.d.ts +1 -1
- package/dist/cli/artifactsCommands.d.ts +27 -0
- package/dist/cli/artifactsCommands.js +132 -0
- package/dist/cli/authCommands.d.ts +5 -0
- package/dist/cli/authCommands.js +230 -0
- package/dist/cli/canaryCutoverCommand.d.ts +2 -0
- package/dist/cli/canaryCutoverCommand.js +30 -0
- package/dist/cli/capabilitiesCommand.d.ts +3 -0
- package/dist/cli/capabilitiesCommand.js +12 -0
- package/dist/cli/capabilitiesReceipt.d.ts +56 -0
- package/dist/cli/capabilitiesReceipt.js +56 -0
- package/dist/cli/compileBuildCommands.d.ts +3 -0
- package/dist/cli/compileBuildCommands.js +48 -0
- package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
- package/dist/cli/composedLifecycleContractSet.js +204 -0
- package/dist/cli/containerBundleCommand.d.ts +6 -0
- package/dist/cli/containerBundleCommand.js +116 -0
- package/dist/cli/devCommands.js +2 -0
- package/dist/cli/downCommand.d.ts +25 -0
- package/dist/cli/downCommand.js +145 -0
- package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
- package/dist/cli/evidenceExportHelperCommand.js +51 -0
- package/dist/cli/index.js +15 -3
- package/dist/cli/lifecycleCommands.d.ts +1 -1
- package/dist/cli/lifecycleCommands.js +11 -181
- package/dist/cli/lifecycleMachine.d.ts +25 -0
- package/dist/cli/lifecycleMachine.js +78 -0
- package/dist/cli/lifecyclePlan.d.ts +35 -0
- package/dist/cli/lifecyclePlan.js +240 -0
- package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
- package/dist/cli/lifecyclePlanningCommands.js +30 -0
- package/dist/cli/paideiaDelegation.d.ts +17 -0
- package/dist/cli/paideiaDelegation.js +210 -0
- package/dist/cli/paideiaSupervisor.d.ts +17 -0
- package/dist/cli/paideiaSupervisor.js +48 -0
- package/dist/cli/productStateCloneCommand.d.ts +2 -0
- package/dist/cli/productStateCloneCommand.js +34 -0
- package/dist/cli/runCli.d.ts +19 -2
- package/dist/cli/runCli.js +58 -74
- package/dist/cli/runPublishCommands.d.ts +3 -0
- package/dist/cli/runPublishCommands.js +70 -0
- package/dist/cli/statusCommand.d.ts +3 -33
- package/dist/cli/statusCommand.js +19 -249
- package/dist/cli/statusCommandLive.d.ts +20 -0
- package/dist/cli/statusCommandLive.js +188 -0
- package/dist/cli/statusCommandOptions.d.ts +40 -0
- package/dist/cli/statusCommandOptions.js +42 -0
- package/dist/cli/targetCliRoute.d.ts +2 -0
- package/dist/cli/targetCliRoute.js +30 -0
- package/dist/cli/targetCommands.d.ts +30 -0
- package/dist/cli/targetCommands.js +227 -0
- package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
- package/dist/cli/targetComposedPreparationCommand.js +39 -0
- package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
- package/dist/cli/targetConfigPreparedPlan.js +74 -0
- package/dist/cli/targetConfigResolver.d.ts +3 -0
- package/dist/cli/targetConfigResolver.js +111 -0
- package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
- package/dist/cli/targetConfigResolverCommand.js +43 -0
- package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
- package/dist/cli/targetConfigResolverContracts.js +30 -0
- package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
- package/dist/cli/targetConfigResolverDocker.js +47 -0
- package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
- package/dist/cli/targetConfigResolverValidation.js +94 -0
- package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
- package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
- package/dist/cli/targetDefaultAuthorities.d.ts +55 -0
- package/dist/cli/targetDefaultAuthorities.js +213 -0
- package/dist/cli/targetDefaultConfig.d.ts +75 -0
- package/dist/cli/targetDefaultConfig.js +334 -0
- package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
- package/dist/cli/targetDefaultConfigStdin.js +221 -0
- package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
- package/dist/cli/targetDefaultEnvelope.js +13 -0
- package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
- package/dist/cli/targetDefaultHandlerFactory.js +268 -0
- package/dist/cli/targetDefaultHandlers.d.ts +21 -0
- package/dist/cli/targetDefaultHandlers.js +72 -0
- package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
- package/dist/cli/targetDefaultJournalAuthority.js +135 -0
- package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
- package/dist/cli/targetDefaultWorldClock.js +14 -0
- package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
- package/dist/cli/targetDefaultWorldQueries.js +11 -0
- package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
- package/dist/cli/targetDefaultWorldReadiness.js +17 -0
- package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
- package/dist/cli/targetEvidenceHelperResolution.js +23 -0
- package/dist/cli/targetLookupCli.d.ts +3 -0
- package/dist/cli/targetLookupCli.js +31 -0
- package/dist/cli/targetLookupCommands.d.ts +12 -0
- package/dist/cli/targetLookupCommands.js +69 -0
- package/dist/cli/targetOperationDispatch.d.ts +58 -0
- package/dist/cli/targetOperationDispatch.js +21 -0
- package/dist/cli/targetProductionCommands.d.ts +5 -0
- package/dist/cli/targetProductionCommands.js +45 -0
- package/dist/cli/targetReceiptOutput.d.ts +14 -0
- package/dist/cli/targetReceiptOutput.js +21 -0
- package/dist/cli/targetRequestFile.d.ts +14 -0
- package/dist/cli/targetRequestFile.js +63 -0
- package/dist/cli/targetSecretSourceInput.d.ts +28 -0
- package/dist/cli/targetSecretSourceInput.js +121 -0
- package/dist/cli/targetWorldClockCommand.d.ts +10 -0
- package/dist/cli/targetWorldClockCommand.js +42 -0
- package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
- package/dist/cli/targetWorldReadinessCommand.js +43 -0
- package/dist/cli/trainCommand.d.ts +3 -0
- package/dist/cli/trainCommand.js +61 -0
- package/dist/cli/upCommand.d.ts +3 -0
- package/dist/cli/upCommand.js +162 -0
- package/dist/cli/upImageCommand.d.ts +11 -0
- package/dist/cli/upImageCommand.js +41 -0
- package/dist/cli/upLifecycleInvocation.d.ts +41 -0
- package/dist/cli/upLifecycleInvocation.js +48 -0
- package/dist/cli/upLifecycleRecovery.d.ts +4 -0
- package/dist/cli/upLifecycleRecovery.js +197 -0
- package/dist/cli/usageCommand.d.ts +40 -0
- package/dist/cli/usageCommand.js +284 -0
- package/dist/cli/usageCommandLive.d.ts +84 -0
- package/dist/cli/usageCommandLive.js +95 -0
- package/dist/cli/usageDeploymentSource.d.ts +9 -0
- package/dist/cli/usageDeploymentSource.js +22 -0
- package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
- package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
- package/dist/compiler/agentNodeMerge.d.ts +2 -0
- package/dist/compiler/agentNodeMerge.js +79 -0
- package/dist/compiler/agentSurfaces.js +11 -1
- package/dist/compiler/buildCompilePlan.js +17 -0
- package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
- package/dist/compiler/buildCompilePlanAgent.js +56 -0
- package/dist/compiler/buildCompilePlanTeams.d.ts +2 -1
- package/dist/compiler/buildCompilePlanTeams.js +9 -1
- package/dist/compiler/buildCompilePlanTraversal.js +75 -82
- package/dist/compiler/buildProject.d.ts +11 -0
- package/dist/compiler/buildProject.js +77 -2
- package/dist/compiler/compilePlanHelpers.js +5 -0
- package/dist/compiler/compileProject.d.ts +15 -0
- package/dist/compiler/compileProject.js +31 -75
- package/dist/compiler/compileProjectPolicy.d.ts +5 -0
- package/dist/compiler/compileProjectPolicy.js +21 -0
- package/dist/compiler/compileProjectReports.d.ts +9 -0
- package/dist/compiler/compileProjectReports.js +52 -0
- package/dist/compiler/compileProjectSupport.js +9 -0
- package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
- package/dist/compiler/containerArtifactSummaries.js +138 -0
- package/dist/compiler/containerArtifacts.d.ts +12 -0
- package/dist/compiler/containerArtifacts.js +180 -127
- package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
- package/dist/compiler/containerArtifactsPlans.js +54 -124
- package/dist/compiler/containerArtifactsRender.d.ts +5 -2
- package/dist/compiler/containerArtifactsRender.js +106 -70
- package/dist/compiler/containerArtifactsTypes.d.ts +20 -0
- package/dist/compiler/containerBackedMountRender.d.ts +56 -0
- package/dist/compiler/containerBackedMountRender.js +101 -0
- package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
- package/dist/compiler/containerConfigEnvRender.js +54 -0
- package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
- package/dist/compiler/containerDaimonBrokerRender.js +191 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
- package/dist/compiler/containerEntrypointRender.d.ts +8 -0
- package/dist/compiler/containerEntrypointRender.js +82 -72
- package/dist/compiler/containerEntrypointShell.d.ts +5 -0
- package/dist/compiler/containerEntrypointShell.js +29 -0
- package/dist/compiler/containerPackageOverrides.d.ts +27 -0
- package/dist/compiler/containerPackageOverrides.js +63 -0
- package/dist/compiler/containerPersistentMounts.d.ts +30 -0
- package/dist/compiler/containerPersistentMounts.js +66 -0
- package/dist/compiler/containerReadinessPaths.d.ts +1 -0
- package/dist/compiler/containerReadinessPaths.js +1 -0
- package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
- package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
- package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
- package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
- package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
- package/dist/compiler/containerStateOwnershipRender.js +75 -0
- package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
- package/dist/compiler/containerTargetPlanResolution.js +97 -0
- package/dist/compiler/containerTargetResources.d.ts +22 -1
- package/dist/compiler/containerTargetResources.js +94 -2
- package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
- package/dist/compiler/containerVolumeBootstrap.js +3 -0
- package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
- package/dist/compiler/daimonTelemetryArtifacts.js +56 -0
- package/dist/compiler/deploymentLineage.d.ts +40 -0
- package/dist/compiler/deploymentLineage.js +50 -0
- package/dist/compiler/dockerBuildContext.d.ts +16 -0
- package/dist/compiler/dockerBuildContext.js +159 -0
- package/dist/compiler/dockerBuildSkip.d.ts +30 -0
- package/dist/compiler/dockerBuildSkip.js +81 -0
- package/dist/compiler/index.d.ts +7 -0
- package/dist/compiler/index.js +7 -0
- package/dist/compiler/initProject.d.ts +2 -0
- package/dist/compiler/initProject.js +39 -1
- package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
- package/dist/compiler/localMoltnetAuthority.js +177 -0
- package/dist/compiler/memoryArtifacts.d.ts +26 -0
- package/dist/compiler/memoryArtifacts.js +210 -0
- package/dist/compiler/memoryResolution.d.ts +4 -0
- package/dist/compiler/memoryResolution.js +147 -0
- package/dist/compiler/modelEnv.d.ts +7 -0
- package/dist/compiler/modelEnv.js +13 -1
- package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
- package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
- package/dist/compiler/moltnetArtifactPaths.d.ts +31 -0
- package/dist/compiler/moltnetArtifactPaths.js +51 -0
- package/dist/compiler/moltnetArtifactTypes.d.ts +56 -0
- package/dist/compiler/moltnetArtifactTypes.js +1 -0
- package/dist/compiler/moltnetArtifacts.d.ts +3 -41
- package/dist/compiler/moltnetArtifacts.js +87 -101
- package/dist/compiler/moltnetBinaries.d.ts +33 -4
- package/dist/compiler/moltnetBinaries.js +173 -26
- package/dist/compiler/moltnetClientConfig.js +7 -2
- package/dist/compiler/moltnetConfigLowering.d.ts +18 -1
- package/dist/compiler/moltnetConfigLowering.js +92 -6
- package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
- package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
- package/dist/compiler/moltnetNodeConfig.js +7 -2
- package/dist/compiler/moltnetReleaseAuthority.d.ts +40 -0
- package/dist/compiler/moltnetReleaseAuthority.js +102 -0
- package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
- package/dist/compiler/moltnetReleaseDownload.js +85 -0
- package/dist/compiler/moltnetRepresentativeResolution.d.ts +2 -1
- package/dist/compiler/moltnetRepresentativeResolution.js +17 -3
- package/dist/compiler/moltnetResolution.js +67 -21
- package/dist/compiler/moltnetRoomMemberships.js +52 -9
- package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
- package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
- package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
- package/dist/compiler/moltnetRuntimeConfig.js +22 -2
- package/dist/compiler/moltnetServerPlans.d.ts +9 -0
- package/dist/compiler/moltnetServerPlans.js +151 -0
- package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
- package/dist/compiler/organizationExternalParticipants.js +176 -0
- package/dist/compiler/organizationIdentity.d.ts +21 -0
- package/dist/compiler/organizationIdentity.js +64 -0
- package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
- package/dist/compiler/organizationIdentityGraph.js +115 -0
- package/dist/compiler/organizationReadyEvidence.d.ts +57 -0
- package/dist/compiler/organizationReadyEvidence.js +281 -0
- package/dist/compiler/projectManifestGraph.d.ts +4 -0
- package/dist/compiler/projectManifestGraph.js +24 -0
- package/dist/compiler/runProject.d.ts +8 -2
- package/dist/compiler/runProject.js +62 -27
- package/dist/compiler/runProjectAuth.d.ts +10 -2
- package/dist/compiler/runProjectAuth.js +105 -11
- package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
- package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
- package/dist/compiler/runProjectDocker.d.ts +11 -0
- package/dist/compiler/runProjectDocker.js +64 -16
- package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
- package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
- package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
- package/dist/compiler/runProjectDockerReservation.js +118 -0
- package/dist/compiler/runProjectLifecycle.d.ts +7 -0
- package/dist/compiler/runProjectLifecycle.js +40 -0
- package/dist/compiler/syncProjectAuth.js +4 -1
- package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
- package/dist/compiler/teamContextActiveEnvironments.js +255 -0
- package/dist/compiler/teamContextSupport.js +32 -40
- package/dist/compiler/teamContextTypes.d.ts +2 -0
- package/dist/compiler/training/broker/declaration.d.ts +45 -0
- package/dist/compiler/training/broker/declaration.js +55 -0
- package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
- package/dist/compiler/training/broker/entrypoint.js +111 -0
- package/dist/compiler/training/broker/index.d.ts +10 -0
- package/dist/compiler/training/broker/index.js +10 -0
- package/dist/compiler/training/broker/main.d.ts +2 -0
- package/dist/compiler/training/broker/main.js +14 -0
- package/dist/compiler/training/broker/paths.d.ts +196 -0
- package/dist/compiler/training/broker/paths.js +241 -0
- package/dist/compiler/training/broker/processes.d.ts +42 -0
- package/dist/compiler/training/broker/processes.js +99 -0
- package/dist/compiler/training/broker/projection.d.ts +51 -0
- package/dist/compiler/training/broker/projection.js +76 -0
- package/dist/compiler/training/broker/provisioning.d.ts +87 -0
- package/dist/compiler/training/broker/provisioning.js +213 -0
- package/dist/compiler/training/broker/receipt.d.ts +77 -0
- package/dist/compiler/training/broker/receipt.js +110 -0
- package/dist/compiler/training/broker/registration.d.ts +41 -0
- package/dist/compiler/training/broker/registration.js +102 -0
- package/dist/compiler/training/broker/runtime.d.ts +25 -0
- package/dist/compiler/training/broker/runtime.js +173 -0
- package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
- package/dist/compiler/training/broker/seccompRoutes.js +36 -0
- package/dist/compiler/training/broker/supervisor.d.ts +109 -0
- package/dist/compiler/training/broker/supervisor.js +173 -0
- package/dist/compiler/training/container/contract.d.ts +31 -0
- package/dist/compiler/training/container/contract.js +33 -0
- package/dist/compiler/training/container/index.d.ts +4 -0
- package/dist/compiler/training/container/index.js +2 -0
- package/dist/compiler/training/container/launch.d.ts +18 -0
- package/dist/compiler/training/container/launch.js +173 -0
- package/dist/compiler/training/container/prepare.d.ts +8 -0
- package/dist/compiler/training/container/prepare.js +80 -0
- package/dist/compiler/training/container/process.d.ts +14 -0
- package/dist/compiler/training/container/process.js +70 -0
- package/dist/compiler/training/container/security.d.ts +36 -0
- package/dist/compiler/training/container/security.js +58 -0
- package/dist/compiler/training/context.d.ts +7 -0
- package/dist/compiler/training/context.js +93 -0
- package/dist/compiler/training/contract.d.ts +142 -0
- package/dist/compiler/training/contract.js +34 -0
- package/dist/compiler/training/index.d.ts +4 -0
- package/dist/compiler/training/index.js +3 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
- package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
- package/dist/compiler/training/preparation/broker.d.ts +21 -0
- package/dist/compiler/training/preparation/broker.js +43 -0
- package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
- package/dist/compiler/training/preparation/contextModes.js +38 -0
- package/dist/compiler/training/preparation/contract.d.ts +182 -0
- package/dist/compiler/training/preparation/contract.js +94 -0
- package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
- package/dist/compiler/training/preparation/copyAssets.js +8 -0
- package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
- package/dist/compiler/training/preparation/daimonParent.js +114 -0
- package/dist/compiler/training/preparation/files.d.ts +25 -0
- package/dist/compiler/training/preparation/files.js +85 -0
- package/dist/compiler/training/preparation/image.d.ts +28 -0
- package/dist/compiler/training/preparation/image.js +102 -0
- package/dist/compiler/training/preparation/index.d.ts +3 -0
- package/dist/compiler/training/preparation/index.js +2 -0
- package/dist/compiler/training/preparation/inputs.d.ts +23 -0
- package/dist/compiler/training/preparation/inputs.js +93 -0
- package/dist/compiler/training/preparation/prepare.d.ts +33 -0
- package/dist/compiler/training/preparation/prepare.js +186 -0
- package/dist/compiler/training/preparation/scratch.d.ts +19 -0
- package/dist/compiler/training/preparation/scratch.js +48 -0
- package/dist/compiler/training/repair/compatibility.d.ts +11 -0
- package/dist/compiler/training/repair/compatibility.js +34 -0
- package/dist/compiler/training/repair/contract.d.ts +506 -0
- package/dist/compiler/training/repair/contract.js +31 -0
- package/dist/compiler/training/repair/index.d.ts +3 -0
- package/dist/compiler/training/repair/index.js +3 -0
- package/dist/compiler/training/repair/prepare.d.ts +230 -0
- package/dist/compiler/training/repair/prepare.js +74 -0
- package/dist/compiler/training/repair/witness.d.ts +203 -0
- package/dist/compiler/training/repair/witness.js +42 -0
- package/dist/compiler/types.d.ts +84 -1
- package/dist/compiler/upProject.d.ts +31 -1
- package/dist/compiler/upProject.js +197 -22
- package/dist/compiler/upProjectHandoff.d.ts +62 -0
- package/dist/compiler/upProjectHandoff.js +204 -0
- package/dist/compiler/upReceipt.d.ts +36 -0
- package/dist/compiler/upReceipt.js +127 -0
- package/dist/compiler/updateProjectModels.js +43 -60
- package/dist/compiler/updateProjectRuntime.js +22 -35
- package/dist/compiler/updateProjectSurfaces.js +53 -47
- package/dist/compiler/view/types.d.ts +1 -1
- package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
- package/dist/compiler/workspaceBundleArtifacts.js +106 -0
- package/dist/compiler/workspaceResources.d.ts +4 -1
- package/dist/compiler/workspaceResources.js +12 -7
- package/dist/compiler/worldBindings.d.ts +39 -0
- package/dist/compiler/worldBindings.js +247 -0
- package/dist/compiler/worldBindingsFile.d.ts +5 -0
- package/dist/compiler/worldBindingsFile.js +162 -0
- package/dist/deployment/artifactsExport.d.ts +49 -0
- package/dist/deployment/artifactsExport.js +217 -0
- package/dist/deployment/artifactsExportDocker.d.ts +48 -0
- package/dist/deployment/artifactsExportDocker.js +91 -0
- package/dist/deployment/artifactsExportPlan.d.ts +24 -0
- package/dist/deployment/artifactsExportPlan.js +185 -0
- package/dist/deployment/artifactsExportTypes.d.ts +50 -0
- package/dist/deployment/artifactsExportTypes.js +52 -0
- package/dist/deployment/buildImageCacheStore.d.ts +23 -0
- package/dist/deployment/buildImageCacheStore.js +54 -0
- package/dist/deployment/canaryCutover.d.ts +42 -0
- package/dist/deployment/canaryCutover.js +140 -0
- package/dist/deployment/candidateDiagnostics.d.ts +15 -0
- package/dist/deployment/candidateDiagnostics.js +90 -0
- package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
- package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
- package/dist/deployment/dockerInspect.d.ts +9 -0
- package/dist/deployment/dockerInspect.js +24 -1
- package/dist/deployment/dockerLabels.d.ts +2 -0
- package/dist/deployment/dockerLabels.js +2 -0
- package/dist/deployment/dockerLogs.js +5 -10
- package/dist/deployment/dockerManager.d.ts +51 -0
- package/dist/deployment/dockerManager.js +124 -1
- package/dist/deployment/dockerProbeGateway.d.ts +17 -0
- package/dist/deployment/dockerProbeGateway.js +80 -6
- package/dist/deployment/dockerRecover.js +9 -1
- package/dist/deployment/dockerTeardown.d.ts +32 -0
- package/dist/deployment/dockerTeardown.js +61 -0
- package/dist/deployment/downDeployment.d.ts +39 -0
- package/dist/deployment/downDeployment.js +248 -0
- package/dist/deployment/downReceiptTypes.d.ts +36 -0
- package/dist/deployment/downReceiptTypes.js +45 -0
- package/dist/deployment/index.d.ts +20 -0
- package/dist/deployment/index.js +21 -0
- package/dist/deployment/lifecycleCompletion.d.ts +37 -0
- package/dist/deployment/lifecycleCompletion.js +236 -0
- package/dist/deployment/lifecycleCompletionContracts.d.ts +224 -0
- package/dist/deployment/lifecycleCompletionContracts.js +140 -0
- package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
- package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
- package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
- package/dist/deployment/lifecycleCompletionLookup.js +88 -0
- package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
- package/dist/deployment/lifecycleCompletionOwner.js +31 -0
- package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
- package/dist/deployment/lifecycleCompletionParsing.js +108 -0
- package/dist/deployment/lifecycleCompletionPaths.d.ts +12 -0
- package/dist/deployment/lifecycleCompletionPaths.js +19 -0
- package/dist/deployment/lifecycleCompletionPublication.d.ts +7 -0
- package/dist/deployment/lifecycleCompletionPublication.js +49 -0
- package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
- package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
- package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
- package/dist/deployment/lifecycleCompletionRoot.js +243 -0
- package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
- package/dist/deployment/lifecycleCompletionStore.js +151 -0
- package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
- package/dist/deployment/lifecycleUpRecords.js +127 -0
- package/dist/deployment/native/AGENTS.md +11 -0
- package/dist/deployment/native/rename-noreplace-arm64 +0 -0
- package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
- package/dist/deployment/native/rename-noreplace-x64 +0 -0
- package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
- package/dist/deployment/noReplaceActivation.d.ts +17 -0
- package/dist/deployment/noReplaceActivation.js +50 -0
- package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
- package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
- package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
- package/dist/deployment/organizationHandoffAuthorityFsClient.js +187 -0
- package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
- package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.js +431 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
- package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
- package/dist/deployment/organizationHandoffAuthorityStore.js +355 -0
- package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
- package/dist/deployment/organizationHandoffAuthorityTypes.js +149 -0
- package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
- package/dist/deployment/organizationHandoffTypes.js +80 -0
- package/dist/deployment/organizationReady.d.ts +54 -0
- package/dist/deployment/organizationReady.js +232 -0
- package/dist/deployment/privateArtifactsExport.d.ts +18 -0
- package/dist/deployment/privateArtifactsExport.js +80 -0
- package/dist/deployment/productStateClone.d.ts +43 -0
- package/dist/deployment/productStateClone.js +319 -0
- package/dist/deployment/record.d.ts +26 -1
- package/dist/deployment/record.js +49 -4
- package/dist/deployment/target.d.ts +1 -35
- package/dist/deployment/target.js +1 -96
- package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
- package/dist/deployment/upLifecycleRecoveryState.js +12 -0
- package/dist/deployment/upReceiptTypes.d.ts +137 -0
- package/dist/deployment/upReceiptTypes.js +191 -0
- package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
- package/dist/deployment/workspaceResourceMigration.js +315 -0
- package/dist/dev/project.d.ts +7 -0
- package/dist/dev/project.js +24 -9
- package/dist/distribution/buildDistributionReport.d.ts +2 -1
- package/dist/distribution/buildDistributionReport.js +2 -1
- package/dist/distribution/consumeImage.d.ts +2 -0
- package/dist/distribution/consumeImage.js +98 -73
- package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
- package/dist/distribution/consumeImageDaimonDocker.js +45 -0
- package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
- package/dist/distribution/consumeImageLifecycle.js +231 -0
- package/dist/distribution/consumeImageSupport.d.ts +12 -0
- package/dist/distribution/consumeImageSupport.js +15 -0
- package/dist/distribution/distributionReportSchema.d.ts +16 -1
- package/dist/distribution/distributionReportSchema.js +21 -3
- package/dist/distribution/dockerRunner.d.ts +6 -1
- package/dist/distribution/dockerRunner.js +31 -4
- package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
- package/dist/distribution/imageRuntimeAuth.js +70 -1
- package/dist/distribution/index.d.ts +3 -3
- package/dist/distribution/index.js +2 -2
- package/dist/distribution/preflight.js +5 -1
- package/dist/distribution/types.d.ts +21 -1
- package/dist/distribution/types.js +4 -0
- package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
- package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
- package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
- package/dist/evidenceExportHelper/index.d.ts +4 -0
- package/dist/evidenceExportHelper/index.js +4 -0
- package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
- package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
- package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
- package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
- package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
- package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
- package/dist/evidenceExportHelper/recipe.d.ts +7 -0
- package/dist/evidenceExportHelper/recipe.js +83 -0
- package/dist/filesystem/io.d.ts +2 -0
- package/dist/filesystem/io.js +16 -1
- package/dist/filesystem/paths.js +10 -1
- package/dist/ledger/causalConformanceCli.d.ts +1 -0
- package/dist/ledger/causalConformanceCli.js +41 -0
- package/dist/ledger/causeNamespace.d.ts +8 -0
- package/dist/ledger/causeNamespace.js +24 -0
- package/dist/ledger/conformance.d.ts +83 -0
- package/dist/ledger/conformance.js +259 -0
- package/dist/ledger/emitters.d.ts +76 -0
- package/dist/ledger/emitters.js +188 -0
- package/dist/ledger/index.d.ts +4 -0
- package/dist/ledger/index.js +4 -0
- package/dist/ledger/principal.d.ts +96 -0
- package/dist/ledger/principal.js +121 -0
- package/dist/manifest/executionSchemas.d.ts +27 -0
- package/dist/manifest/executionSchemas.js +21 -2
- package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
- package/dist/manifest/externalParticipantSchemas.js +17 -0
- package/dist/manifest/index.d.ts +1 -0
- package/dist/manifest/index.js +1 -0
- package/dist/manifest/inlineAgentMember.d.ts +2 -0
- package/dist/manifest/inlineAgentMember.js +9 -0
- package/dist/manifest/loadManifest.js +14 -8
- package/dist/manifest/mcpSchemas.d.ts +18 -0
- package/dist/manifest/mcpSchemas.js +44 -0
- package/dist/manifest/memorySchemas.d.ts +245 -0
- package/dist/manifest/memorySchemas.js +148 -0
- package/dist/manifest/renderSpawnfile.js +22 -131
- package/dist/manifest/renderSpawnfileNetworks.js +20 -2
- package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
- package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
- package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
- package/dist/manifest/scheduleSchemas.d.ts +3 -1
- package/dist/manifest/scheduleSchemas.js +91 -5
- package/dist/manifest/schemas.d.ts +2034 -40
- package/dist/manifest/schemas.js +82 -33
- package/dist/manifest/surfaceSchemas.d.ts +17 -0
- package/dist/manifest/surfaceSchemas.js +24 -1
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +6 -2
- package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
- package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
- package/dist/manifest/teamNetworkSchemas.d.ts +25 -190
- package/dist/manifest/teamNetworkSchemas.js +21 -317
- package/dist/manifest/teamNetworkServerSchemas.d.ts +155 -0
- package/dist/manifest/teamNetworkServerSchemas.js +215 -0
- package/dist/manifest/workspaceSchemas.d.ts +16 -0
- package/dist/manifest/workspaceSchemas.js +11 -0
- package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
- package/dist/ownership/siblingBuildFreshness.js +20 -0
- package/dist/report/types.d.ts +173 -1
- package/dist/runtime/common.d.ts +63 -1
- package/dist/runtime/common.js +88 -3
- package/dist/runtime/container.d.ts +28 -1
- package/dist/runtime/container.js +78 -29
- package/dist/runtime/containerPackageOverrides.d.ts +37 -0
- package/dist/runtime/containerPackageOverrides.js +33 -0
- package/dist/runtime/daimon/adapter.d.ts +14 -0
- package/dist/runtime/daimon/adapter.js +243 -0
- package/dist/runtime/daimon/attention.d.ts +8 -0
- package/dist/runtime/daimon/attention.js +32 -0
- package/dist/runtime/daimon/config.d.ts +25 -0
- package/dist/runtime/daimon/config.js +272 -0
- package/dist/runtime/daimon/contractManifest.d.ts +295 -0
- package/dist/runtime/daimon/contractManifest.js +319 -0
- package/dist/runtime/daimon/grokModel.d.ts +19 -0
- package/dist/runtime/daimon/grokModel.js +33 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
- package/dist/runtime/daimon/grokWorkerContract.js +48 -0
- package/dist/runtime/daimon/memory.d.ts +57 -0
- package/dist/runtime/daimon/memory.js +125 -0
- package/dist/runtime/daimon/runAuth.d.ts +51 -0
- package/dist/runtime/daimon/runAuth.js +279 -0
- package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
- package/dist/runtime/daimon/runtimeIdentity.js +22 -0
- package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
- package/dist/runtime/daimon/scheduleAuthority.js +17 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/install.d.ts +3 -0
- package/dist/runtime/install.js +3 -0
- package/dist/runtime/localDaimonAuthority.d.ts +11 -0
- package/dist/runtime/localDaimonAuthority.js +77 -0
- package/dist/runtime/mnemeMcp.d.ts +28 -0
- package/dist/runtime/mnemeMcp.js +135 -0
- package/dist/runtime/openclaw/adapter.js +17 -6
- package/dist/runtime/openclaw/mcp.d.ts +10 -0
- package/dist/runtime/openclaw/mcp.js +69 -0
- package/dist/runtime/openclaw/runAuth.js +2 -2
- package/dist/runtime/openclaw/scaffold.js +1 -1
- package/dist/runtime/openclaw/schedules.d.ts +38 -0
- package/dist/runtime/openclaw/schedules.js +74 -0
- package/dist/runtime/pi/adapter.d.ts +1 -2
- package/dist/runtime/pi/adapter.js +87 -58
- package/dist/runtime/pi/appActivitySource.js +114 -2
- package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
- package/dist/runtime/pi/appAgentConfig.js +264 -0
- package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
- package/dist/runtime/pi/appCliEnginesSource.js +183 -0
- package/dist/runtime/pi/appCliSource.d.ts +1 -0
- package/dist/runtime/pi/appCliSource.js +353 -0
- package/dist/runtime/pi/appControlSource.d.ts +1 -0
- package/dist/runtime/pi/appControlSource.js +390 -0
- package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
- package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
- package/dist/runtime/pi/appCoreSource.d.ts +4 -1
- package/dist/runtime/pi/appCoreSource.js +104 -214
- package/dist/runtime/pi/appPreludeSource.js +140 -52
- package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
- package/dist/runtime/pi/appScheduleSource.js +84 -0
- package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
- package/dist/runtime/pi/appScriptedEngine.js +42 -0
- package/dist/runtime/pi/appSource.d.ts +4 -1
- package/dist/runtime/pi/appSource.js +6 -2
- package/dist/runtime/pi/appTemplate.d.ts +8 -22
- package/dist/runtime/pi/appTemplate.js +9 -126
- package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
- package/dist/runtime/pi/appTemplateTypes.js +18 -0
- package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
- package/dist/runtime/pi/appWakeContextSource.js +398 -0
- package/dist/runtime/pi/containerTargets.d.ts +4 -0
- package/dist/runtime/pi/containerTargets.js +57 -0
- package/dist/runtime/pi/runAuth.js +126 -9
- package/dist/runtime/pi/testHelpers.d.ts +2 -0
- package/dist/runtime/pi/testHelpers.js +40 -0
- package/dist/runtime/picoclaw/adapter.js +25 -29
- package/dist/runtime/picoclaw/mcp.d.ts +4 -0
- package/dist/runtime/picoclaw/mcp.js +43 -0
- package/dist/runtime/picoclaw/memory.d.ts +7 -0
- package/dist/runtime/picoclaw/memory.js +17 -0
- package/dist/runtime/picoclaw/runAuth.js +1 -1
- package/dist/runtime/picoclaw/scaffold.js +1 -1
- package/dist/runtime/picoclaw/schedules.d.ts +26 -0
- package/dist/runtime/picoclaw/schedules.js +62 -3
- package/dist/runtime/registry.d.ts +3 -0
- package/dist/runtime/registry.js +19 -2
- package/dist/runtime/scheduleUtils.d.ts +3 -0
- package/dist/runtime/scheduleUtils.js +19 -0
- package/dist/runtime/types.d.ts +50 -2
- package/dist/runtime/usageLedger.d.ts +158 -0
- package/dist/runtime/usageLedger.js +269 -0
- package/dist/runtime/usageLedgerRead.d.ts +48 -0
- package/dist/runtime/usageLedgerRead.js +102 -0
- package/dist/runtime/usageRequestLedger.d.ts +42 -0
- package/dist/runtime/usageRequestLedger.js +72 -0
- package/dist/shared/daimonCodexDocker.d.ts +32 -0
- package/dist/shared/daimonCodexDocker.js +120 -0
- package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
- package/dist/shared/daimonGrokSeccompProfile.js +11 -0
- package/dist/shared/errors.d.ts +1 -1
- package/dist/shared/errors.js +2 -2
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.js +3 -0
- package/dist/shared/redaction.d.ts +2 -0
- package/dist/shared/redaction.js +10 -0
- package/dist/shared/types.d.ts +1 -1
- package/dist/shared/volumeNames.d.ts +6 -0
- package/dist/shared/volumeNames.js +14 -0
- package/dist/status/buildStatus.d.ts +1 -0
- package/dist/status/buildStatus.js +2 -0
- package/dist/status/compileReport.d.ts +22 -0
- package/dist/status/compileReport.js +16 -2
- package/dist/status/compiledProbeCollection.d.ts +21 -0
- package/dist/status/compiledProbeCollection.js +27 -0
- package/dist/status/imageStatusReport.js +6 -0
- package/dist/status/index.d.ts +3 -0
- package/dist/status/index.js +3 -0
- package/dist/status/lifecycleProbes.d.ts +19 -0
- package/dist/status/lifecycleProbes.js +174 -0
- package/dist/status/moltnetProbes.d.ts +7 -8
- package/dist/status/moltnetProbes.js +27 -198
- package/dist/status/moltnetWiringProbes.d.ts +19 -0
- package/dist/status/moltnetWiringProbes.js +178 -0
- package/dist/target/cleanupRun.d.ts +41 -0
- package/dist/target/cleanupRun.js +139 -0
- package/dist/target/cleanupRunDocker.d.ts +16 -0
- package/dist/target/cleanupRunDocker.js +66 -0
- package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
- package/dist/target/cleanupRunDockerPreflight.js +224 -0
- package/dist/target/composedPreparation.d.ts +205 -0
- package/dist/target/composedPreparation.js +223 -0
- package/dist/target/containerBundle.d.ts +82 -0
- package/dist/target/containerBundle.js +243 -0
- package/dist/target/containerBundleArchive.d.ts +31 -0
- package/dist/target/containerBundleArchive.js +140 -0
- package/dist/target/containerBundleAuthority.d.ts +25 -0
- package/dist/target/containerBundleAuthority.js +65 -0
- package/dist/target/containerBundleContracts.d.ts +114 -0
- package/dist/target/containerBundleContracts.js +173 -0
- package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
- package/dist/target/containerBundleFilesystemStore.js +247 -0
- package/dist/target/containerBundlePolicy.d.ts +33 -0
- package/dist/target/containerBundlePolicy.js +64 -0
- package/dist/target/containerBundleStore.d.ts +127 -0
- package/dist/target/containerBundleStore.js +284 -0
- package/dist/target/contracts.d.ts +538 -0
- package/dist/target/contracts.js +373 -0
- package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
- package/dist/target/dockerArtifactIdentityTypes.js +1 -0
- package/dist/target/dockerArtifactInspection.d.ts +40 -0
- package/dist/target/dockerArtifactInspection.js +125 -0
- package/dist/target/dockerArtifacts.d.ts +21 -0
- package/dist/target/dockerArtifacts.js +110 -0
- package/dist/target/dockerArtifactsProvider.d.ts +41 -0
- package/dist/target/dockerArtifactsProvider.js +476 -0
- package/dist/target/dockerBaseImage.d.ts +2 -0
- package/dist/target/dockerBaseImage.js +11 -0
- package/dist/target/dockerCommandExecutor.d.ts +38 -0
- package/dist/target/dockerCommandExecutor.js +251 -0
- package/dist/target/dockerCommandExecutorCore.d.ts +35 -0
- package/dist/target/dockerCommandExecutorCore.js +275 -0
- package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
- package/dist/target/dockerContainerBundleBuilder.js +256 -0
- package/dist/target/dockerContextSnapshot.d.ts +21 -0
- package/dist/target/dockerContextSnapshot.js +158 -0
- package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
- package/dist/target/dockerEndpointFingerprint.js +9 -0
- package/dist/target/dockerPreparedArtifact.d.ts +48 -0
- package/dist/target/dockerPreparedArtifact.js +131 -0
- package/dist/target/dockerProjectionJson.d.ts +1 -0
- package/dist/target/dockerProjectionJson.js +80 -0
- package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
- package/dist/target/dockerPublicArtifactSnapshot.js +83 -0
- package/dist/target/dockerResources.d.ts +26 -0
- package/dist/target/dockerResources.js +162 -0
- package/dist/target/dockerResourcesProvider.d.ts +44 -0
- package/dist/target/dockerResourcesProvider.js +207 -0
- package/dist/target/dockerSecrets.d.ts +39 -0
- package/dist/target/dockerSecrets.js +249 -0
- package/dist/target/dockerSecretsAuthority.d.ts +26 -0
- package/dist/target/dockerSecretsAuthority.js +216 -0
- package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
- package/dist/target/dockerSecretsLifecycle.js +133 -0
- package/dist/target/dockerSecretsProvider.d.ts +68 -0
- package/dist/target/dockerSecretsProvider.js +329 -0
- package/dist/target/dockerTarget.d.ts +53 -0
- package/dist/target/dockerTarget.js +48 -0
- package/dist/target/dockerTargetBinding.d.ts +13 -0
- package/dist/target/dockerTargetBinding.js +95 -0
- package/dist/target/dockerTargetExecFile.d.ts +19 -0
- package/dist/target/dockerTargetExecFile.js +194 -0
- package/dist/target/dockerWorldClock.d.ts +17 -0
- package/dist/target/dockerWorldClock.js +111 -0
- package/dist/target/dockerWorldReadiness.d.ts +17 -0
- package/dist/target/dockerWorldReadiness.js +119 -0
- package/dist/target/dockerWorldService.d.ts +23 -0
- package/dist/target/dockerWorldService.js +216 -0
- package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
- package/dist/target/dockerWorldServiceAuthority.js +182 -0
- package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
- package/dist/target/dockerWorldServiceLifecycle.js +275 -0
- package/dist/target/dockerWorldServiceProvider.d.ts +64 -0
- package/dist/target/dockerWorldServiceProvider.js +330 -0
- package/dist/target/dockerWorldServiceStore.d.ts +73 -0
- package/dist/target/dockerWorldServiceStore.js +367 -0
- package/dist/target/evidenceExport.d.ts +57 -0
- package/dist/target/evidenceExport.js +527 -0
- package/dist/target/evidenceExportArchive.d.ts +10 -0
- package/dist/target/evidenceExportArchive.js +302 -0
- package/dist/target/evidenceExportContract.d.ts +27 -0
- package/dist/target/evidenceExportContract.js +40 -0
- package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
- package/dist/target/evidenceExportOperationsTestKit.js +312 -0
- package/dist/target/evidenceExportProvider.d.ts +87 -0
- package/dist/target/evidenceExportProvider.js +197 -0
- package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
- package/dist/target/evidenceExportPublicationTypes.js +1 -0
- package/dist/target/evidenceExportStore.d.ts +70 -0
- package/dist/target/evidenceExportStore.js +498 -0
- package/dist/target/evidenceExportStorePublication.d.ts +7 -0
- package/dist/target/evidenceExportStorePublication.js +395 -0
- package/dist/target/handles.d.ts +20 -0
- package/dist/target/handles.js +56 -0
- package/dist/target/index.d.ts +12 -0
- package/dist/target/index.js +11 -0
- package/dist/target/journal.d.ts +59 -0
- package/dist/target/journal.js +529 -0
- package/dist/target/journalFilesystem.d.ts +3 -0
- package/dist/target/journalFilesystem.js +111 -0
- package/dist/target/journalRoot.d.ts +4 -0
- package/dist/target/journalRoot.js +6 -0
- package/dist/target/organizationAttachment.d.ts +23 -0
- package/dist/target/organizationAttachment.js +263 -0
- package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
- package/dist/target/organizationAttachmentAuthority.js +161 -0
- package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
- package/dist/target/organizationAttachmentLifecycle.js +101 -0
- package/dist/target/organizationAttachmentProvider.d.ts +76 -0
- package/dist/target/organizationAttachmentProvider.js +289 -0
- package/dist/target/organizationAttachmentStore.d.ts +51 -0
- package/dist/target/organizationAttachmentStore.js +316 -0
- package/dist/target/publicArtifactSnapshot.d.ts +72 -0
- package/dist/target/publicArtifactSnapshot.js +184 -0
- package/dist/target/topologyActivation.d.ts +51 -0
- package/dist/target/topologyActivation.js +149 -0
- package/dist/target/topologyAttestation.d.ts +37 -0
- package/dist/target/topologyAttestation.js +300 -0
- package/dist/target/topologyAttestationErrors.d.ts +1 -0
- package/dist/target/topologyAttestationErrors.js +1 -0
- package/dist/target/worldClock.d.ts +60 -0
- package/dist/target/worldClock.js +129 -0
- package/dist/target/worldReadiness.d.ts +103 -0
- package/dist/target/worldReadiness.js +153 -0
- package/examples/README.md +45 -0
- package/examples/agent-with-subagents/AGENTS.md +3 -0
- package/examples/agent-with-subagents/Spawnfile +30 -0
- package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
- package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
- package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
- package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
- package/examples/daimon-org/Spawnfile +68 -0
- package/examples/daimon-org/TEAM.md +4 -0
- package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
- package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
- package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
- package/examples/daimon-org/teams/review/Spawnfile +53 -0
- package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
- package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
- package/examples/daimon-public-host/AGENTS.md +3 -0
- package/examples/daimon-public-host/Spawnfile +21 -0
- package/examples/distribution-org/Spawnfile +43 -0
- package/examples/distribution-org/TEAM.md +4 -0
- package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
- package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
- package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
- package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
- package/examples/jungian-daimon-org/Spawnfile +41 -0
- package/examples/jungian-daimon-org/TEAM.md +21 -0
- package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
- package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
- package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
- package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
- package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
- package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
- package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
- package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
- package/examples/mixed-runtime-org/Spawnfile +71 -0
- package/examples/mixed-runtime-org/TEAM.md +8 -0
- package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
- package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
- package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
- package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
- package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
- package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
- package/examples/moltnet-team-chat/Spawnfile +43 -0
- package/examples/moltnet-team-chat/TEAM.md +5 -0
- package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
- package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
- package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
- package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
- package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
- package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
- package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
- package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
- package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
- package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
- package/examples/single-agent/AGENTS.md +3 -0
- package/examples/single-agent/HEARTBEAT.md +3 -0
- package/examples/single-agent/IDENTITY.md +3 -0
- package/examples/single-agent/MEMORY.md +3 -0
- package/examples/single-agent/SOUL.md +3 -0
- package/examples/single-agent/Spawnfile +41 -0
- package/examples/single-agent/skills/web_search/SKILL.md +6 -0
- package/moltnet-releases.json +21 -0
- package/package.json +57 -14
- package/runtimes.yaml +11 -23
- package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
- package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
- /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
- /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { errorExitCode, SpawnfileError } from "../shared/index.js";
|
|
2
|
+
import { createTargetConfigResolutionBytes, resolveTargetConfig, } from "./targetConfigResolver.js";
|
|
3
|
+
import { formatCaughtTargetCliError } from "./targetReceiptOutput.js";
|
|
4
|
+
export const TARGET_CONFIG_RESOLVER_COMMAND = "resolve_config";
|
|
5
|
+
const timeout = (value) => {
|
|
6
|
+
if (!/^[1-9][0-9]{0,5}$/u.test(value)) {
|
|
7
|
+
throw new SpawnfileError("validation_error", "Target timeout must be an integer from 1 to 120000 milliseconds");
|
|
8
|
+
}
|
|
9
|
+
return Number(value);
|
|
10
|
+
};
|
|
11
|
+
export const registerTargetConfigResolverCommand = (target, streams, setExitCode, resolver = resolveTargetConfig) => {
|
|
12
|
+
target.command(TARGET_CONFIG_RESOLVER_COMMAND)
|
|
13
|
+
.description("Resolve one explicit Docker context and base image into target configuration")
|
|
14
|
+
.option("--context <name>", "Explicit named Docker context; omitted accepts only the current local context")
|
|
15
|
+
.option("--base-image <reference>", "Portable base image reference; defaults to Spawnfile's standard world base")
|
|
16
|
+
.requiredOption("--evidence-destination <path>", "Absolute private evidence archive destination")
|
|
17
|
+
.option("--docker-command <command>", "Docker-compatible command", "docker")
|
|
18
|
+
.option("--prepare-evidence-helper", "Prepare the package-owned evidence helper on an explicitly selected local Docker context")
|
|
19
|
+
.option("--timeout-ms <milliseconds>", "Bounded Docker command timeout", "10000")
|
|
20
|
+
.option("--prepared-plan <path>", "Absolute private composed target plan containing one prepared artifact mapping")
|
|
21
|
+
.option("--pull", "Explicitly pull the base image before inspection")
|
|
22
|
+
.option("--allow-remote-pull", "Allow --pull to mutate the explicitly named remote Docker context")
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
try {
|
|
25
|
+
const resolution = await resolver({
|
|
26
|
+
allowRemotePull: options.allowRemotePull,
|
|
27
|
+
baseImage: options.baseImage,
|
|
28
|
+
context: options.context,
|
|
29
|
+
dockerCommand: options.dockerCommand,
|
|
30
|
+
evidenceDestination: options.evidenceDestination,
|
|
31
|
+
prepareEvidenceHelper: options.prepareEvidenceHelper,
|
|
32
|
+
preparedPlanPath: options.preparedPlan,
|
|
33
|
+
pull: options.pull,
|
|
34
|
+
timeoutMs: timeout(options.timeoutMs),
|
|
35
|
+
});
|
|
36
|
+
streams.stdout(createTargetConfigResolutionBytes(resolution));
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
streams.stderr(formatCaughtTargetCliError(error, "Target configuration resolution failed"));
|
|
40
|
+
setExitCode(errorExitCode(error));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { PreparedEvidenceHelperReceipt, PrepareEvidenceHelperInput } from "../evidenceExportHelper/index.js";
|
|
2
|
+
import type { DockerTargetExecFile } from "../target/dockerTarget.js";
|
|
3
|
+
import type { PreparedArtifactMapping } from "./targetDefaultConfig.js";
|
|
4
|
+
import { TARGET_DEFAULT_CONFIG_STDIN_VERSION } from "./targetDefaultConfigStdin.js";
|
|
5
|
+
export declare const TARGET_CONFIG_RESOLUTION_VERSION: "spawnfile.target-config-resolution.v1";
|
|
6
|
+
export declare const TARGET_CONFIG_DIGEST_VERSION: "spawnfile.target-config-digest.v1";
|
|
7
|
+
/** Exact version for the strict `resolve_config --prepared-plan` document. */
|
|
8
|
+
export declare const TARGET_CONFIG_PREPARED_PLAN_ABI_VERSION: "spawnfile.target-config-prepared-plan.v1";
|
|
9
|
+
export declare const STANDARD_WORLD_BASE_IMAGE = "node:22-bookworm-slim";
|
|
10
|
+
export interface ResolveTargetConfigInput {
|
|
11
|
+
readonly allowRemotePull?: boolean;
|
|
12
|
+
readonly baseImage?: string;
|
|
13
|
+
readonly context?: string;
|
|
14
|
+
readonly dockerCommand?: string;
|
|
15
|
+
readonly evidenceDestination: string;
|
|
16
|
+
readonly prepareEvidenceHelper?: boolean;
|
|
17
|
+
readonly execFile?: DockerTargetExecFile;
|
|
18
|
+
readonly preparedPlanPath?: string;
|
|
19
|
+
readonly pull?: boolean;
|
|
20
|
+
readonly signal?: AbortSignal;
|
|
21
|
+
readonly timeoutMs?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface TargetConfigResolution {
|
|
24
|
+
readonly base_image: {
|
|
25
|
+
readonly config_digest: `sha256:${string}`;
|
|
26
|
+
readonly reference: string;
|
|
27
|
+
};
|
|
28
|
+
readonly endpoint: {
|
|
29
|
+
readonly class: "local" | "remote";
|
|
30
|
+
readonly transport: "fd" | "http" | "https" | "npipe" | "ssh" | "tcp" | "unix";
|
|
31
|
+
};
|
|
32
|
+
readonly context_selection: "auto-local" | "explicit";
|
|
33
|
+
readonly platform: {
|
|
34
|
+
readonly architecture: "amd64" | "arm64";
|
|
35
|
+
readonly os: "linux";
|
|
36
|
+
};
|
|
37
|
+
readonly prepared_evidence_helper?: PreparedEvidenceHelperReceipt;
|
|
38
|
+
readonly target_config: {
|
|
39
|
+
readonly context: string;
|
|
40
|
+
readonly dockerCommand: string;
|
|
41
|
+
readonly evidenceDestination: string;
|
|
42
|
+
readonly evidenceHelperBaseImage?: string;
|
|
43
|
+
readonly preparedEvidenceHelper?: PreparedEvidenceHelperReceipt;
|
|
44
|
+
readonly preparedArtifactMappings?: readonly PreparedArtifactMapping[];
|
|
45
|
+
readonly timeoutMs: number;
|
|
46
|
+
readonly version: typeof TARGET_DEFAULT_CONFIG_STDIN_VERSION;
|
|
47
|
+
};
|
|
48
|
+
readonly target_config_digest: `sha256:${string}`;
|
|
49
|
+
readonly version: typeof TARGET_CONFIG_RESOLUTION_VERSION;
|
|
50
|
+
}
|
|
51
|
+
export interface ResolveTargetConfigDependencies {
|
|
52
|
+
readonly prepareEvidenceExportHelper?: (input: PrepareEvidenceHelperInput) => Promise<PreparedEvidenceHelperReceipt>;
|
|
53
|
+
}
|
|
54
|
+
export declare const createCanonicalTargetConfigBytes: (targetConfig: TargetConfigResolution["target_config"]) => string;
|
|
55
|
+
export declare const createTargetConfigDigest: (targetConfig: TargetConfigResolution["target_config"]) => `sha256:${string}`;
|
|
56
|
+
export declare const createTargetConfigResolutionBytes: (resolution: TargetConfigResolution) => string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { TARGET_CONFIG_PREPARED_PLAN_VERSION } from "./targetConfigPreparedPlan.js";
|
|
3
|
+
export const TARGET_CONFIG_RESOLUTION_VERSION = "spawnfile.target-config-resolution.v1";
|
|
4
|
+
export const TARGET_CONFIG_DIGEST_VERSION = "spawnfile.target-config-digest.v1";
|
|
5
|
+
/** Exact version for the strict `resolve_config --prepared-plan` document. */
|
|
6
|
+
export const TARGET_CONFIG_PREPARED_PLAN_ABI_VERSION = TARGET_CONFIG_PREPARED_PLAN_VERSION;
|
|
7
|
+
export const STANDARD_WORLD_BASE_IMAGE = "node:22-bookworm-slim";
|
|
8
|
+
const canonicalJson = (value) => {
|
|
9
|
+
if (value === null)
|
|
10
|
+
return "null";
|
|
11
|
+
if (typeof value === "string" || typeof value === "boolean")
|
|
12
|
+
return JSON.stringify(value);
|
|
13
|
+
if (typeof value === "number") {
|
|
14
|
+
if (!Number.isFinite(value))
|
|
15
|
+
throw new TypeError("Target configuration is not JSON");
|
|
16
|
+
return JSON.stringify(value);
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(value))
|
|
19
|
+
return `[${value.map(canonicalJson).join(",")}]`;
|
|
20
|
+
if (typeof value !== "object")
|
|
21
|
+
throw new TypeError("Target configuration is not JSON");
|
|
22
|
+
const record = value;
|
|
23
|
+
return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key])}`).join(",")}}`;
|
|
24
|
+
};
|
|
25
|
+
export const createCanonicalTargetConfigBytes = (targetConfig) => canonicalJson(targetConfig);
|
|
26
|
+
export const createTargetConfigDigest = (targetConfig) => `sha256:${createHash("sha256")
|
|
27
|
+
.update(`${TARGET_CONFIG_DIGEST_VERSION}\0`, "utf8")
|
|
28
|
+
.update(createCanonicalTargetConfigBytes(targetConfig), "utf8")
|
|
29
|
+
.digest("hex")}`;
|
|
30
|
+
export const createTargetConfigResolutionBytes = (resolution) => JSON.stringify(resolution);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DockerTargetExecFile } from "../target/dockerTarget.js";
|
|
2
|
+
export declare const exactJson: (source: string, keys: readonly string[], failureMessage: string) => Record<string, unknown>;
|
|
3
|
+
export declare const executeDocker: (execFile: DockerTargetExecFile, command: string, context: string, args: string[], timeout: number, signal: AbortSignal | undefined, failureMessage: string) => Promise<string>;
|
|
4
|
+
export declare const resolveCurrentDockerContext: (execFile: DockerTargetExecFile, dockerCommand: string, timeoutMs: number, signal: AbortSignal | undefined) => Promise<string>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
2
|
+
import { parseContext, runtimeFailure } from "./targetConfigResolverValidation.js";
|
|
3
|
+
const MAX_DOCKER_OUTPUT_BYTES = 64 * 1_024;
|
|
4
|
+
export const exactJson = (source, keys, failureMessage) => {
|
|
5
|
+
if (Buffer.byteLength(source, "utf8") > MAX_DOCKER_OUTPUT_BYTES) {
|
|
6
|
+
return runtimeFailure(failureMessage);
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
const parsed = JSON.parse(source);
|
|
10
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)
|
|
11
|
+
|| Object.keys(parsed).sort().join("\0") !== [...keys].sort().join("\0")) {
|
|
12
|
+
return runtimeFailure(failureMessage);
|
|
13
|
+
}
|
|
14
|
+
return parsed;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return runtimeFailure(failureMessage);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export const executeDocker = async (execFile, command, context, args, timeout, signal, failureMessage) => {
|
|
21
|
+
try {
|
|
22
|
+
const result = await execFile(command, ["--context", context, ...args], { signal, timeout });
|
|
23
|
+
if (Buffer.byteLength(result.stdout, "utf8") > MAX_DOCKER_OUTPUT_BYTES) {
|
|
24
|
+
return runtimeFailure(failureMessage);
|
|
25
|
+
}
|
|
26
|
+
return result.stdout;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return runtimeFailure(failureMessage);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export const resolveCurrentDockerContext = async (execFile, dockerCommand, timeoutMs, signal) => {
|
|
33
|
+
try {
|
|
34
|
+
const result = await execFile(dockerCommand, ["context", "show"], {
|
|
35
|
+
signal, timeout: timeoutMs,
|
|
36
|
+
});
|
|
37
|
+
if (Buffer.byteLength(result.stdout, "utf8") > 4_096) {
|
|
38
|
+
return runtimeFailure("Current Docker context is invalid");
|
|
39
|
+
}
|
|
40
|
+
return parseContext(result.stdout.trim());
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error instanceof SpawnfileError)
|
|
44
|
+
throw error;
|
|
45
|
+
return runtimeFailure("Unable to resolve the current Docker context");
|
|
46
|
+
}
|
|
47
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TargetConfigResolution } from "./targetConfigResolverContracts.js";
|
|
2
|
+
export declare const validationFailure: (message: string) => never;
|
|
3
|
+
export declare const runtimeFailure: (message: string) => never;
|
|
4
|
+
export declare const parseContext: (value: unknown) => string;
|
|
5
|
+
export declare const parseDockerCommand: (value: unknown) => string;
|
|
6
|
+
export declare const parseTimeout: (value: unknown) => number;
|
|
7
|
+
export declare const parseBaseImage: (value: unknown) => string;
|
|
8
|
+
export declare const validateEvidenceDestination: (value: unknown) => Promise<string>;
|
|
9
|
+
export declare const classifyEndpoint: (endpoint: string) => TargetConfigResolution["endpoint"];
|
|
10
|
+
export declare const normalizeArchitecture: (value: unknown) => "amd64" | "arm64";
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { lstat, realpath } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
4
|
+
import { parseDockerBaseImageReference } from "../target/dockerBaseImage.js";
|
|
5
|
+
const CONTEXT = /^[a-z][a-z0-9_-]{0,63}$/u;
|
|
6
|
+
const COMMAND_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u;
|
|
7
|
+
const MAX_PATH_BYTES = 4_096;
|
|
8
|
+
export const validationFailure = (message) => {
|
|
9
|
+
throw new SpawnfileError("validation_error", message);
|
|
10
|
+
};
|
|
11
|
+
export const runtimeFailure = (message) => {
|
|
12
|
+
throw new SpawnfileError("runtime_error", message);
|
|
13
|
+
};
|
|
14
|
+
export const parseContext = (value) => typeof value === "string" && CONTEXT.test(value)
|
|
15
|
+
? value
|
|
16
|
+
: validationFailure("Docker context must be an explicit bounded context name");
|
|
17
|
+
export const parseDockerCommand = (value) => {
|
|
18
|
+
if (typeof value !== "string" || value.includes("\0")
|
|
19
|
+
|| Buffer.byteLength(value, "utf8") > 1_024) {
|
|
20
|
+
return validationFailure("Docker command is invalid");
|
|
21
|
+
}
|
|
22
|
+
if (COMMAND_NAME.test(value))
|
|
23
|
+
return value;
|
|
24
|
+
if (path.isAbsolute(value) && path.normalize(value) === value)
|
|
25
|
+
return value;
|
|
26
|
+
return validationFailure("Docker command is invalid");
|
|
27
|
+
};
|
|
28
|
+
export const parseTimeout = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 1 && value <= 120_000
|
|
29
|
+
? value
|
|
30
|
+
: validationFailure("Target timeout must be an integer from 1 to 120000 milliseconds");
|
|
31
|
+
export const parseBaseImage = (value) => parseDockerBaseImageReference(value)
|
|
32
|
+
?? validationFailure("Base image must be an explicit portable image reference");
|
|
33
|
+
export const validateEvidenceDestination = async (value) => {
|
|
34
|
+
if (typeof value !== "string" || value.includes("\0")
|
|
35
|
+
|| Buffer.byteLength(value, "utf8") > MAX_PATH_BYTES
|
|
36
|
+
|| !path.isAbsolute(value) || path.normalize(value) !== value) {
|
|
37
|
+
return validationFailure("Evidence destination must be an absolute normalized path");
|
|
38
|
+
}
|
|
39
|
+
const parent = path.dirname(value);
|
|
40
|
+
const owner = process.getuid?.();
|
|
41
|
+
try {
|
|
42
|
+
const parentInfo = await lstat(parent);
|
|
43
|
+
if (!parentInfo.isDirectory() || parentInfo.isSymbolicLink()
|
|
44
|
+
|| (parentInfo.mode & 0o777) !== 0o700
|
|
45
|
+
|| owner !== undefined && parentInfo.uid !== owner
|
|
46
|
+
|| await realpath(parent) !== parent) {
|
|
47
|
+
return validationFailure("Evidence destination parent must be a private physical directory");
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const destinationInfo = await lstat(value);
|
|
51
|
+
if (!destinationInfo.isFile() || destinationInfo.isSymbolicLink()
|
|
52
|
+
|| (destinationInfo.mode & 0o777) !== 0o600
|
|
53
|
+
|| owner !== undefined && destinationInfo.uid !== owner) {
|
|
54
|
+
return validationFailure("Existing evidence destination must be a private regular file");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (error.code !== "ENOENT")
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
if (error instanceof SpawnfileError)
|
|
64
|
+
throw error;
|
|
65
|
+
return validationFailure("Evidence destination parent is unavailable");
|
|
66
|
+
}
|
|
67
|
+
return value;
|
|
68
|
+
};
|
|
69
|
+
export const classifyEndpoint = (endpoint) => {
|
|
70
|
+
if (Buffer.byteLength(endpoint, "utf8") > 4_096 || /\s/u.test(endpoint)) {
|
|
71
|
+
return runtimeFailure("Docker context returned an invalid endpoint");
|
|
72
|
+
}
|
|
73
|
+
const match = /^(fd|http|https|npipe|ssh|tcp|unix):\/\/.+$/u.exec(endpoint);
|
|
74
|
+
if (!match)
|
|
75
|
+
return runtimeFailure("Docker context returned an unsupported endpoint transport");
|
|
76
|
+
const transport = match[1];
|
|
77
|
+
return Object.freeze({
|
|
78
|
+
class: transport === "fd" || transport === "npipe" || transport === "unix"
|
|
79
|
+
? "local" : "remote",
|
|
80
|
+
transport,
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
export const normalizeArchitecture = (value) => {
|
|
84
|
+
if (typeof value !== "string")
|
|
85
|
+
return runtimeFailure("Docker architecture is invalid");
|
|
86
|
+
switch (value.trim()) {
|
|
87
|
+
case "amd64":
|
|
88
|
+
case "x64":
|
|
89
|
+
case "x86_64": return "amd64";
|
|
90
|
+
case "aarch64":
|
|
91
|
+
case "arm64": return "arm64";
|
|
92
|
+
default: return runtimeFailure("Docker architecture is unsupported");
|
|
93
|
+
}
|
|
94
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
|
|
2
|
+
import type { DockerArtifactIdentityBinding, DockerArtifactIdentityStore, DockerArtifactMapping } from "../target/dockerArtifactsProvider.js";
|
|
3
|
+
import type { TargetJournalStore } from "../target/journal.js";
|
|
4
|
+
export declare const completedTargetArtifacts: (journal: TargetJournalStore, identities: DockerArtifactIdentityStore) => Promise<readonly DockerArtifactIdentityBinding[]>;
|
|
5
|
+
export declare const exactTargetArtifactMapping: (config: TargetDefaultConfig, binding: DockerArtifactIdentityBinding) => DockerArtifactMapping;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const fail = () => { throw new Error("Target authority initialization failed"); };
|
|
2
|
+
export const completedTargetArtifacts = async (journal, identities) => {
|
|
3
|
+
const snapshot = await journal.read();
|
|
4
|
+
const bindings = [];
|
|
5
|
+
for (const entry of snapshot.entries) {
|
|
6
|
+
if (entry.operation !== "resolve_world_artifact" || entry.state !== "completed")
|
|
7
|
+
continue;
|
|
8
|
+
const completed = await journal.resolveCompletedReceipt({ operationHandle: entry.operation_handle, requestDigest: entry.request_digest });
|
|
9
|
+
if (!completed || completed.receipt.operation !== "resolve_world_artifact" || completed.receipt.operation_handle !== entry.operation_handle
|
|
10
|
+
|| completed.receipt.request_digest !== entry.request_digest || completed.receipt.result_handle === null)
|
|
11
|
+
return fail();
|
|
12
|
+
const binding = await identities.resolveOperation(entry.operation_handle, entry.request_digest);
|
|
13
|
+
if (!binding || binding.operationHandle !== entry.operation_handle || binding.requestDigest !== entry.request_digest
|
|
14
|
+
|| binding.resultHandle !== completed.receipt.result_handle || binding.selectedTargetHandle !== snapshot.selected_target.handle)
|
|
15
|
+
return fail();
|
|
16
|
+
bindings.push(binding);
|
|
17
|
+
}
|
|
18
|
+
return Object.freeze(bindings);
|
|
19
|
+
};
|
|
20
|
+
export const exactTargetArtifactMapping = (config, binding) => {
|
|
21
|
+
if (binding.identityKind !== "oci_image_manifest")
|
|
22
|
+
return fail();
|
|
23
|
+
const matches = config.artifactMappings.filter((mapping) => mapping.artifact_manifest_digest === binding.artifactManifestDigest
|
|
24
|
+
&& mapping.image_digest === binding.imageDigest && mapping.image_reference === binding.imageReference);
|
|
25
|
+
if (matches.length !== 1)
|
|
26
|
+
return fail();
|
|
27
|
+
return matches[0];
|
|
28
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type DockerArtifactIdentityBinding, type DockerArtifactIdentityStore, type DockerArtifactMapping } from "../target/dockerArtifactsProvider.js";
|
|
2
|
+
import type { DockerArtifactExecutor } from "../target/dockerArtifactsProvider.js";
|
|
3
|
+
import { type DockerTargetExecutors } from "../target/dockerCommandExecutor.js";
|
|
4
|
+
import { type TargetSecretVersionAuthorityStore } from "../target/dockerSecretsAuthority.js";
|
|
5
|
+
import { type WorldServiceResolver } from "../target/dockerWorldServiceAuthority.js";
|
|
6
|
+
import { type WorldServiceAuthorityStore } from "../target/dockerWorldServiceStore.js";
|
|
7
|
+
import { type EvidenceExportAuthorityStore } from "../target/evidenceExportStore.js";
|
|
8
|
+
import { type OrganizationAttachmentAuthorityStore } from "../target/organizationAttachmentStore.js";
|
|
9
|
+
import { type TargetTopologyAttestor } from "../target/topologyAttestation.js";
|
|
10
|
+
import type { TargetSecretSourceResolver } from "../target/dockerSecrets.js";
|
|
11
|
+
import type { OrganizationAttachmentResolver } from "../target/organizationAttachmentAuthority.js";
|
|
12
|
+
import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
|
|
13
|
+
import { type TargetJournalResolver } from "./targetDefaultJournalAuthority.js";
|
|
14
|
+
export { TARGET_DEFAULT_AUTHORITIES_ERROR, type TargetJournalResolver, type TargetMutationAuthority } from "./targetDefaultJournalAuthority.js";
|
|
15
|
+
export interface HelperArtifactAuthority {
|
|
16
|
+
readonly artifactIdentity: DockerArtifactIdentityBinding;
|
|
17
|
+
readonly bundle: {
|
|
18
|
+
readonly operation_handle: DockerArtifactIdentityBinding["operationHandle"];
|
|
19
|
+
readonly request_digest: string;
|
|
20
|
+
readonly result_handle: DockerArtifactIdentityBinding["resultHandle"];
|
|
21
|
+
};
|
|
22
|
+
readonly mapping: DockerArtifactMapping;
|
|
23
|
+
}
|
|
24
|
+
export interface HelperArtifactResolver {
|
|
25
|
+
resolve(input: {
|
|
26
|
+
readonly context: unknown;
|
|
27
|
+
readonly request: unknown;
|
|
28
|
+
}): Promise<HelperArtifactAuthority>;
|
|
29
|
+
}
|
|
30
|
+
export interface TargetDefaultAuthorities {
|
|
31
|
+
readonly artifactIdentityStore: DockerArtifactIdentityStore;
|
|
32
|
+
readonly attachmentAuthorityStore: OrganizationAttachmentAuthorityStore;
|
|
33
|
+
readonly evidenceExportAuthorityStore: EvidenceExportAuthorityStore;
|
|
34
|
+
readonly executors: DockerTargetExecutors;
|
|
35
|
+
readonly handoffResolver: OrganizationAttachmentResolver;
|
|
36
|
+
readonly helperExecutor: DockerArtifactExecutor;
|
|
37
|
+
/** Omitted when this invocation cannot export evidence. */
|
|
38
|
+
readonly helperArtifactResolver?: HelperArtifactResolver;
|
|
39
|
+
readonly journals: TargetJournalResolver;
|
|
40
|
+
readonly secretAuthorityStore: TargetSecretVersionAuthorityStore;
|
|
41
|
+
readonly secretResolver: TargetSecretSourceResolver;
|
|
42
|
+
readonly topologyAttestor: TargetTopologyAttestor;
|
|
43
|
+
readonly worldAuthorityStore: WorldServiceAuthorityStore;
|
|
44
|
+
readonly worldResolver: WorldServiceResolver;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The production authority graph owns B114 worker clients and directory file
|
|
48
|
+
* handles. It is therefore deliberately a session, rather than an ambient
|
|
49
|
+
* process singleton: the caller that starts the graph must close it.
|
|
50
|
+
*/
|
|
51
|
+
export interface TargetDefaultAuthoritySession {
|
|
52
|
+
readonly authorities: TargetDefaultAuthorities;
|
|
53
|
+
dispose(): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
export declare const initializeTargetDefaultAuthoritySession: (config: TargetDefaultConfig) => Promise<TargetDefaultAuthoritySession>;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { initializeDockerArtifactIdentityStore } from "../target/dockerArtifactsProvider.js";
|
|
2
|
+
import { createPreparedEvidenceHelperExecutor } from "../evidenceExportHelper/index.js";
|
|
3
|
+
import { createDockerTargetExecutors } from "../target/dockerCommandExecutor.js";
|
|
4
|
+
import { initializeTargetSecretVersionAuthorityStore } from "../target/dockerSecretsAuthority.js";
|
|
5
|
+
import { parseWorldServiceAuthorization, parseWorldServiceResolution } from "../target/dockerWorldServiceAuthority.js";
|
|
6
|
+
import { initializeWorldServiceAuthorityStore } from "../target/dockerWorldServiceStore.js";
|
|
7
|
+
import { initializeEvidenceExportAuthorityStore } from "../target/evidenceExportStore.js";
|
|
8
|
+
import { initializeOrganizationAttachmentAuthorityStore } from "../target/organizationAttachmentStore.js";
|
|
9
|
+
import { createTargetTopologyAttestor } from "../target/topologyAttestation.js";
|
|
10
|
+
import { initializeTargetSecretSourceResolver } from "../auth/targetSecretSourceResolver.js";
|
|
11
|
+
import { initializeOrganizationHandoffAuthorityStore } from "../deployment/organizationHandoffAuthorityStore.js";
|
|
12
|
+
import { completedTargetArtifacts, exactTargetArtifactMapping } from "./targetDefaultArtifactAuthority.js";
|
|
13
|
+
import { targetDefaultEnvelope as envelope } from "./targetDefaultEnvelope.js";
|
|
14
|
+
import { createDockerTargetLocalBundleBuilder } from "../target/dockerContainerBundleBuilder.js";
|
|
15
|
+
import { attestPreparedArtifactIdentity } from "../target/dockerPreparedArtifact.js";
|
|
16
|
+
import { initializeFilesystemTargetLocalBundleStore } from "../target/containerBundleFilesystemStore.js";
|
|
17
|
+
import { createTargetJournalAccess, TARGET_DEFAULT_AUTHORITIES_ERROR } from "./targetDefaultJournalAuthority.js";
|
|
18
|
+
export { TARGET_DEFAULT_AUTHORITIES_ERROR } from "./targetDefaultJournalAuthority.js";
|
|
19
|
+
const fail = () => { throw new Error(TARGET_DEFAULT_AUTHORITIES_ERROR); };
|
|
20
|
+
const same = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
21
|
+
export const initializeTargetDefaultAuthoritySession = async (config) => {
|
|
22
|
+
let handoffAuthority;
|
|
23
|
+
try {
|
|
24
|
+
const journalAccess = createTargetJournalAccess(config);
|
|
25
|
+
const journals = journalAccess.resolver;
|
|
26
|
+
const [artifactIdentityStore, secretAuthorityStore, attachmentAuthorityStore, worldAuthorityStore, evidenceExportAuthorityStore, secretResolver] = await Promise.all([
|
|
27
|
+
initializeDockerArtifactIdentityStore(config.paths.artifactIdentities),
|
|
28
|
+
initializeTargetSecretVersionAuthorityStore(config.paths.secretAuthority),
|
|
29
|
+
initializeOrganizationAttachmentAuthorityStore(config.paths.attachmentAuthority),
|
|
30
|
+
initializeWorldServiceAuthorityStore(config.paths.worldAuthority),
|
|
31
|
+
initializeEvidenceExportAuthorityStore(config.paths.evidenceExport),
|
|
32
|
+
// Production always resolves grants from the B113 host-local authority
|
|
33
|
+
// store. It deliberately has no configuration or ambient override seam.
|
|
34
|
+
initializeTargetSecretSourceResolver()
|
|
35
|
+
]);
|
|
36
|
+
// The B114 store owns its anchored filesystem workers. Keep the store
|
|
37
|
+
// alive through its resolver rather than accepting a caller-provided one.
|
|
38
|
+
handoffAuthority = await initializeOrganizationHandoffAuthorityStore();
|
|
39
|
+
const handoffResolver = handoffAuthority.resolver;
|
|
40
|
+
const executors = createDockerTargetExecutors({ dockerCommand: config.dockerCommand });
|
|
41
|
+
const helperExecutor = createPreparedEvidenceHelperExecutor(config.dockerCommand);
|
|
42
|
+
const preparedBuilder = createDockerTargetLocalBundleBuilder({ context: config.context,
|
|
43
|
+
executor: executors.artifact, timeoutMs: config.timeoutMs });
|
|
44
|
+
const preparedStore = await initializeFilesystemTargetLocalBundleStore(config.paths.containerBundles);
|
|
45
|
+
const worldResolver = Object.freeze({
|
|
46
|
+
resolve: async (raw) => {
|
|
47
|
+
const input = envelope(raw, ["authorization"], ["signal"]);
|
|
48
|
+
let authorization;
|
|
49
|
+
try {
|
|
50
|
+
authorization = parseWorldServiceAuthorization(input.authorization);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return fail();
|
|
54
|
+
}
|
|
55
|
+
const journal = await journalAccess.resolveIdentity({
|
|
56
|
+
context: config.context,
|
|
57
|
+
descriptorDigest: authorization.descriptor_digest,
|
|
58
|
+
runId: authorization.run_id,
|
|
59
|
+
selectedTarget: authorization.selected_target
|
|
60
|
+
});
|
|
61
|
+
const bindings = (await completedTargetArtifacts(journal, artifactIdentityStore))
|
|
62
|
+
.filter((binding) => binding.resultHandle === authorization.world_artifact_handle);
|
|
63
|
+
if (bindings.length !== 1)
|
|
64
|
+
return fail();
|
|
65
|
+
const binding = bindings[0];
|
|
66
|
+
try {
|
|
67
|
+
let artifact;
|
|
68
|
+
if (binding.identityKind === "oci_image_manifest") {
|
|
69
|
+
artifact = {
|
|
70
|
+
artifact_manifest_digest: binding.artifactManifestDigest,
|
|
71
|
+
identity_kind: binding.identityKind,
|
|
72
|
+
image_digest: binding.imageDigest,
|
|
73
|
+
image_reference: binding.imageReference,
|
|
74
|
+
operation_handle: binding.operationHandle,
|
|
75
|
+
request_digest: binding.requestDigest,
|
|
76
|
+
result_handle: binding.resultHandle
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
else if (binding.identityKind === "docker_image_config_digest") {
|
|
80
|
+
const prepared = await preparedStore.resolve({
|
|
81
|
+
operation_handle: binding.preparedOperationHandle,
|
|
82
|
+
request_digest: binding.preparedRequestDigest
|
|
83
|
+
});
|
|
84
|
+
if (!prepared || !same(prepared, {
|
|
85
|
+
archive_digest: binding.archiveDigest,
|
|
86
|
+
artifact_digest: binding.artifactManifestDigest,
|
|
87
|
+
base_image_config_digest: binding.baseImageConfigDigest,
|
|
88
|
+
build_policy_digest: binding.buildPolicyDigest,
|
|
89
|
+
bundle_digest: binding.bundleDigest,
|
|
90
|
+
config_id: binding.configId,
|
|
91
|
+
daemon_epoch: binding.daemonEpoch,
|
|
92
|
+
entrypoint: binding.entrypoint,
|
|
93
|
+
gc_tag: binding.gcTag,
|
|
94
|
+
identity_kind: binding.identityKind,
|
|
95
|
+
launcher_digest: binding.launcherDigest,
|
|
96
|
+
network_alias: binding.networkAlias,
|
|
97
|
+
operation_handle: binding.preparedOperationHandle,
|
|
98
|
+
platform: binding.platform,
|
|
99
|
+
platform_digest: binding.platformDigest,
|
|
100
|
+
request_digest: binding.preparedRequestDigest,
|
|
101
|
+
selected_target: authorization.selected_target
|
|
102
|
+
}))
|
|
103
|
+
return fail();
|
|
104
|
+
await attestPreparedArtifactIdentity(preparedBuilder, binding, prepared, authorization.selected_target);
|
|
105
|
+
artifact = {
|
|
106
|
+
archive_digest: binding.archiveDigest,
|
|
107
|
+
artifact_manifest_digest: binding.artifactManifestDigest,
|
|
108
|
+
base_image_config_digest: binding.baseImageConfigDigest,
|
|
109
|
+
build_policy_digest: binding.buildPolicyDigest,
|
|
110
|
+
bundle_digest: binding.bundleDigest,
|
|
111
|
+
config_id: binding.configId,
|
|
112
|
+
daemon_epoch: binding.daemonEpoch,
|
|
113
|
+
entrypoint: binding.entrypoint,
|
|
114
|
+
gc_tag: binding.gcTag,
|
|
115
|
+
identity_kind: binding.identityKind,
|
|
116
|
+
image_digest: binding.configId,
|
|
117
|
+
image_reference: binding.configId,
|
|
118
|
+
launcher_digest: binding.launcherDigest,
|
|
119
|
+
network_alias: binding.networkAlias,
|
|
120
|
+
operation_handle: binding.operationHandle,
|
|
121
|
+
platform: binding.platform,
|
|
122
|
+
platform_digest: binding.platformDigest,
|
|
123
|
+
prepared_operation_handle: binding.preparedOperationHandle,
|
|
124
|
+
prepared_request_digest: binding.preparedRequestDigest,
|
|
125
|
+
request_digest: binding.requestDigest,
|
|
126
|
+
result_handle: binding.resultHandle
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
else
|
|
130
|
+
return fail();
|
|
131
|
+
return parseWorldServiceResolution({
|
|
132
|
+
artifact,
|
|
133
|
+
authorization
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return fail();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
const helperArtifactResolver = config.helperArtifact
|
|
142
|
+
? Object.freeze({
|
|
143
|
+
resolve: async (raw) => {
|
|
144
|
+
const input = envelope(raw, ["context", "request"]);
|
|
145
|
+
const authority = await journals.resolve({
|
|
146
|
+
context: input.context,
|
|
147
|
+
request: input.request
|
|
148
|
+
});
|
|
149
|
+
const bindings = (await completedTargetArtifacts(authority.journal, artifactIdentityStore))
|
|
150
|
+
.filter((binding) => binding.identityKind === "oci_image_manifest"
|
|
151
|
+
&& binding.artifactManifestDigest === config.helperArtifact.artifact_manifest_digest);
|
|
152
|
+
if (bindings.length !== 1)
|
|
153
|
+
return fail();
|
|
154
|
+
const artifactIdentity = bindings[0];
|
|
155
|
+
if (artifactIdentity.identityKind !== "oci_image_manifest")
|
|
156
|
+
return fail();
|
|
157
|
+
const mapping = exactTargetArtifactMapping(config, artifactIdentity);
|
|
158
|
+
return Object.freeze({
|
|
159
|
+
artifactIdentity,
|
|
160
|
+
bundle: Object.freeze({
|
|
161
|
+
operation_handle: artifactIdentity.operationHandle,
|
|
162
|
+
request_digest: artifactIdentity.requestDigest,
|
|
163
|
+
result_handle: artifactIdentity.resultHandle
|
|
164
|
+
}),
|
|
165
|
+
mapping
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}) : undefined;
|
|
169
|
+
const topologyAttestor = createTargetTopologyAttestor({
|
|
170
|
+
attachmentExecutor: executors.attachment,
|
|
171
|
+
attachmentStore: attachmentAuthorityStore,
|
|
172
|
+
context: config.context,
|
|
173
|
+
resolveJournal: async (input) => journalAccess.resolveExistingIdentity({
|
|
174
|
+
context: config.context,
|
|
175
|
+
descriptorDigest: input.descriptorDigest,
|
|
176
|
+
runId: input.runId,
|
|
177
|
+
selectedTarget: input.selectedTarget
|
|
178
|
+
}),
|
|
179
|
+
resourceExecutor: executors.resource,
|
|
180
|
+
timeoutMs: config.timeoutMs,
|
|
181
|
+
worldExecutor: executors.world,
|
|
182
|
+
worldStore: worldAuthorityStore
|
|
183
|
+
});
|
|
184
|
+
const authorities = Object.freeze({
|
|
185
|
+
artifactIdentityStore,
|
|
186
|
+
attachmentAuthorityStore,
|
|
187
|
+
evidenceExportAuthorityStore,
|
|
188
|
+
executors,
|
|
189
|
+
handoffResolver,
|
|
190
|
+
helperExecutor,
|
|
191
|
+
...(helperArtifactResolver ? { helperArtifactResolver } : {}),
|
|
192
|
+
journals,
|
|
193
|
+
secretAuthorityStore,
|
|
194
|
+
secretResolver,
|
|
195
|
+
topologyAttestor,
|
|
196
|
+
worldAuthorityStore,
|
|
197
|
+
worldResolver
|
|
198
|
+
});
|
|
199
|
+
let disposal;
|
|
200
|
+
const dispose = async () => {
|
|
201
|
+
disposal ??= handoffAuthority.dispose();
|
|
202
|
+
await disposal;
|
|
203
|
+
};
|
|
204
|
+
return Object.freeze({ authorities, dispose });
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// Do not orphan B114's worker clients if a later authority fails to
|
|
208
|
+
// initialize. A successfully-created session transfers that ownership
|
|
209
|
+
// to its explicit disposer instead.
|
|
210
|
+
await handoffAuthority?.dispose().catch(() => undefined);
|
|
211
|
+
return fail();
|
|
212
|
+
}
|
|
213
|
+
};
|