spawnfile 0.1.14 → 0.1.18
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 +60 -159
- package/dist/audit/checksShared.d.ts +1 -1
- package/dist/auth/importers.d.ts +10 -0
- package/dist/auth/importers.js +46 -5
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/paths.d.ts +1 -1
- package/dist/auth/profileStore.js +13 -10
- package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
- package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
- package/dist/auth/targetSecretSourceFsPublish.d.ts +2 -0
- package/dist/auth/targetSecretSourceFsPublish.js +3 -1
- package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +2 -1
- package/dist/auth/targetSecretSourceFsPublishImmutable.js +104 -71
- package/dist/auth/targetSecretSourceFsRead.js +5 -14
- package/dist/auth/trainingAuth.d.ts +21 -0
- package/dist/auth/trainingAuth.js +86 -0
- package/dist/auth/trainingGrokWriteback.d.ts +4 -0
- package/dist/auth/trainingGrokWriteback.js +119 -0
- package/dist/auth/trainingGrokWritebackLock.d.ts +5 -0
- package/dist/auth/trainingGrokWritebackLock.js +56 -0
- package/dist/auth/types.d.ts +1 -1
- package/dist/cli/authCommands.d.ts +1 -1
- package/dist/cli/authCommands.js +18 -5
- 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.js +17 -0
- package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
- package/dist/cli/composedLifecycleContractSet.js +204 -0
- package/dist/cli/devCommands.js +6 -2
- package/dist/cli/downCommand.d.ts +2 -0
- package/dist/cli/downCommand.js +22 -8
- package/dist/cli/envFileOption.d.ts +18 -0
- package/dist/cli/envFileOption.js +20 -0
- package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
- package/dist/cli/evidenceExportHelperCommand.js +51 -0
- package/dist/cli/index.js +12 -3
- package/dist/cli/lifecycleCommands.d.ts +1 -1
- package/dist/cli/lifecycleCommands.js +3 -1
- package/dist/cli/lifecycleMachine.d.ts +7 -1
- package/dist/cli/lifecycleMachine.js +2 -2
- package/dist/cli/lifecyclePlan.d.ts +1 -0
- package/dist/cli/lifecyclePlan.js +2 -0
- package/dist/cli/paideiaDelegation.d.ts +18 -0
- package/dist/cli/paideiaDelegation.js +211 -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/recordCommands.d.ts +17 -0
- package/dist/cli/recordCommands.js +43 -0
- package/dist/cli/releaseCommand.d.ts +6 -0
- package/dist/cli/releaseCommand.js +91 -0
- package/dist/cli/runCli.d.ts +19 -3
- package/dist/cli/runCli.js +43 -10
- package/dist/cli/runPublishCommands.js +5 -3
- package/dist/cli/targetCommands.d.ts +4 -7
- package/dist/cli/targetCommands.js +16 -46
- 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/targetDefaultAuthorities.d.ts +2 -0
- package/dist/cli/targetDefaultAuthorities.js +3 -0
- package/dist/cli/targetDefaultConfig.d.ts +7 -0
- package/dist/cli/targetDefaultConfig.js +22 -5
- package/dist/cli/targetDefaultConfigStdin.js +7 -1
- package/dist/cli/targetDefaultHandlerFactory.js +23 -2
- package/dist/cli/targetDefaultHandlers.d.ts +2 -2
- package/dist/cli/targetProductionCommands.d.ts +5 -0
- package/dist/cli/targetProductionCommands.js +45 -0
- package/dist/cli/trainCommand.d.ts +3 -0
- package/dist/cli/trainCommand.js +114 -0
- package/dist/cli/upCommand.js +40 -7
- package/dist/cli/upLifecycleRecovery.d.ts +2 -2
- package/dist/cli/upLifecycleRecovery.js +188 -44
- 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/volumeCommands.d.ts +8 -0
- package/dist/cli/volumeCommands.js +53 -0
- package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
- package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
- package/dist/compiler/agentNodeMerge.js +3 -2
- package/dist/compiler/buildCompilePlan.js +4 -0
- package/dist/compiler/buildCompilePlanAgent.js +3 -1
- package/dist/compiler/buildCompilePlanTeams.d.ts +1 -1
- package/dist/compiler/buildCompilePlanTeams.js +6 -1
- package/dist/compiler/buildCompilePlanTraversal.js +2 -0
- package/dist/compiler/buildCompilePlanTraversalHelpers.d.ts +2 -2
- package/dist/compiler/buildCompilePlanTraversalHelpers.js +4 -3
- package/dist/compiler/buildProject.d.ts +10 -0
- package/dist/compiler/buildProject.js +14 -2
- package/dist/compiler/cleanCompileOutput.d.ts +2 -0
- package/dist/compiler/cleanCompileOutput.js +14 -0
- package/dist/compiler/compilePlanHelpers.js +5 -0
- package/dist/compiler/compileProject.d.ts +12 -0
- package/dist/compiler/compileProject.js +33 -3
- package/dist/compiler/compileProjectSupport.js +9 -0
- package/dist/compiler/containerArtifactSummaries.js +1 -0
- package/dist/compiler/containerArtifacts.d.ts +7 -5
- package/dist/compiler/containerArtifacts.js +77 -41
- package/dist/compiler/containerArtifactsPlans.d.ts +1 -1
- package/dist/compiler/containerArtifactsPlans.js +31 -7
- package/dist/compiler/containerArtifactsRender.d.ts +2 -1
- package/dist/compiler/containerArtifactsRender.js +91 -58
- package/dist/compiler/containerArtifactsTypes.d.ts +15 -0
- package/dist/compiler/containerBackedMountRender.d.ts +56 -0
- package/dist/compiler/containerBackedMountRender.js +101 -0
- package/dist/compiler/containerDaimonBrokerRender.d.ts +114 -0
- package/dist/compiler/containerDaimonBrokerRender.js +194 -0
- package/dist/compiler/containerDaimonGrokTaskClock.d.ts +5 -0
- package/dist/compiler/containerDaimonGrokTaskClock.js +29 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +130 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +197 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.js +281 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +25 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.js +204 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.js +291 -0
- package/dist/compiler/containerEntrypointRender.d.ts +7 -0
- package/dist/compiler/containerEntrypointRender.js +28 -22
- 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/containerTargetResources.d.ts +32 -1
- package/dist/compiler/containerTargetResources.js +115 -15
- package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
- package/dist/compiler/containerVolumeBootstrap.js +3 -0
- package/dist/compiler/containerWorkspaceResourceRender.js +52 -1
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +2 -2
- package/dist/compiler/daimonTelemetryArtifacts.js +5 -10
- package/dist/compiler/deploymentLineage.d.ts +40 -0
- package/dist/compiler/deploymentLineage.js +50 -0
- package/dist/compiler/index.d.ts +5 -0
- package/dist/compiler/index.js +5 -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/mcpPlaceholders.d.ts +11 -0
- package/dist/compiler/mcpPlaceholders.js +58 -0
- package/dist/compiler/mcpServerInheritance.d.ts +18 -0
- package/dist/compiler/mcpServerInheritance.js +43 -0
- package/dist/compiler/memoryArtifacts.d.ts +1 -1
- package/dist/compiler/memoryArtifacts.js +108 -32
- package/dist/compiler/modelEnv.d.ts +5 -0
- package/dist/compiler/modelEnv.js +8 -2
- package/dist/compiler/moltnetArtifactPaths.d.ts +17 -12
- package/dist/compiler/moltnetArtifactPaths.js +17 -15
- package/dist/compiler/moltnetArtifactTypes.d.ts +11 -0
- package/dist/compiler/moltnetArtifacts.d.ts +1 -1
- package/dist/compiler/moltnetArtifacts.js +53 -12
- package/dist/compiler/moltnetBinaries.d.ts +16 -4
- package/dist/compiler/moltnetBinaries.js +46 -6
- package/dist/compiler/moltnetClientConfig.js +1 -1
- package/dist/compiler/moltnetConfigLowering.d.ts +3 -1
- package/dist/compiler/moltnetConfigLowering.js +30 -6
- package/dist/compiler/moltnetNodeConfig.js +1 -1
- package/dist/compiler/moltnetReleaseAuthority.d.ts +24 -1
- package/dist/compiler/moltnetReleaseAuthority.js +33 -4
- package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -1
- package/dist/compiler/moltnetRepresentativeResolution.js +2 -2
- package/dist/compiler/moltnetResolution.js +9 -15
- package/dist/compiler/moltnetRoomMemberships.js +20 -5
- 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.js +19 -0
- package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
- package/dist/compiler/organizationExternalParticipants.js +176 -0
- package/dist/compiler/organizationIdentity.d.ts +3 -9
- package/dist/compiler/organizationIdentity.js +37 -270
- package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
- package/dist/compiler/organizationIdentityGraph.js +115 -0
- package/dist/compiler/organizationReadyEvidence.d.ts +8 -0
- package/dist/compiler/organizationReadyEvidence.js +23 -3
- package/dist/compiler/preflightCompilePlan.d.ts +9 -0
- package/dist/compiler/preflightCompilePlan.js +38 -0
- package/dist/compiler/recordingAgentFacts.d.ts +4 -0
- package/dist/compiler/recordingAgentFacts.js +35 -0
- package/dist/compiler/recordingCapability.d.ts +4 -0
- package/dist/compiler/recordingCapability.js +22 -0
- package/dist/compiler/recordingReport.d.ts +4 -0
- package/dist/compiler/recordingReport.js +18 -0
- package/dist/compiler/runProject.d.ts +6 -3
- package/dist/compiler/runProject.js +34 -6
- package/dist/compiler/runProjectAuth.d.ts +3 -1
- package/dist/compiler/runProjectAuth.js +19 -3
- package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
- package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
- package/dist/compiler/runProjectDocker.d.ts +8 -4
- package/dist/compiler/runProjectDocker.js +43 -18
- 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.js +1 -1
- package/dist/compiler/surfaces.d.ts +1 -2
- package/dist/compiler/surfaces.js +0 -1
- package/dist/compiler/syncProjectAuth.js +2 -1
- package/dist/compiler/training/broker/clockProbe.d.ts +6 -0
- package/dist/compiler/training/broker/clockProbe.js +27 -0
- package/dist/compiler/training/broker/declaration.d.ts +47 -0
- package/dist/compiler/training/broker/declaration.js +57 -0
- package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
- package/dist/compiler/training/broker/entrypoint.js +126 -0
- package/dist/compiler/training/broker/evaluatorSecrets.d.ts +2 -0
- package/dist/compiler/training/broker/evaluatorSecrets.js +60 -0
- package/dist/compiler/training/broker/index.d.ts +11 -0
- package/dist/compiler/training/broker/index.js +11 -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 +236 -0
- package/dist/compiler/training/broker/paths.js +249 -0
- package/dist/compiler/training/broker/processes.d.ts +51 -0
- package/dist/compiler/training/broker/processes.js +102 -0
- package/dist/compiler/training/broker/projection.d.ts +52 -0
- package/dist/compiler/training/broker/projection.js +88 -0
- package/dist/compiler/training/broker/provisioning.d.ts +78 -0
- package/dist/compiler/training/broker/provisioning.js +231 -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 +43 -0
- package/dist/compiler/training/broker/registration.js +110 -0
- package/dist/compiler/training/broker/reset.d.ts +9 -0
- package/dist/compiler/training/broker/reset.js +71 -0
- package/dist/compiler/training/broker/runtime.d.ts +22 -0
- package/dist/compiler/training/broker/runtime.js +127 -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 +108 -0
- package/dist/compiler/training/broker/supervisor.js +172 -0
- package/dist/compiler/training/broker/taskClock.d.ts +5 -0
- package/dist/compiler/training/broker/taskClock.js +41 -0
- package/dist/compiler/training/compiledAgent.d.ts +21 -0
- package/dist/compiler/training/compiledAgent.js +62 -0
- package/dist/compiler/training/container/contract.d.ts +54 -0
- package/dist/compiler/training/container/contract.js +51 -0
- package/dist/compiler/training/container/evaluators.d.ts +48 -0
- package/dist/compiler/training/container/evaluators.js +50 -0
- package/dist/compiler/training/container/grokWriteback.d.ts +8 -0
- package/dist/compiler/training/container/grokWriteback.js +26 -0
- package/dist/compiler/training/container/index.d.ts +5 -0
- package/dist/compiler/training/container/index.js +3 -0
- package/dist/compiler/training/container/launch.d.ts +21 -0
- package/dist/compiler/training/container/launch.js +264 -0
- package/dist/compiler/training/container/nativeSlots.d.ts +14 -0
- package/dist/compiler/training/container/nativeSlots.js +13 -0
- package/dist/compiler/training/container/outputCopy.d.ts +2 -0
- package/dist/compiler/training/container/outputCopy.js +72 -0
- package/dist/compiler/training/container/outputVolume.d.ts +27 -0
- package/dist/compiler/training/container/outputVolume.js +161 -0
- package/dist/compiler/training/container/prepare.d.ts +10 -0
- package/dist/compiler/training/container/prepare.js +125 -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 +38 -0
- package/dist/compiler/training/container/security.js +68 -0
- package/dist/compiler/training/container/subjectIsolation.d.ts +5 -0
- package/dist/compiler/training/container/subjectIsolation.js +15 -0
- package/dist/compiler/training/context.d.ts +15 -0
- package/dist/compiler/training/context.js +93 -0
- package/dist/compiler/training/contract.d.ts +144 -0
- package/dist/compiler/training/contract.js +36 -0
- package/dist/compiler/training/execution.d.ts +417 -0
- package/dist/compiler/training/execution.js +160 -0
- package/dist/compiler/training/index.d.ts +12 -0
- package/dist/compiler/training/index.js +10 -0
- package/dist/compiler/training/moments.d.ts +80 -0
- package/dist/compiler/training/moments.js +118 -0
- package/dist/compiler/training/output.d.ts +2 -0
- package/dist/compiler/training/output.js +20 -0
- package/dist/compiler/training/plan/contract.d.ts +287 -0
- package/dist/compiler/training/plan/contract.js +49 -0
- package/dist/compiler/training/plan/index.d.ts +5 -0
- package/dist/compiler/training/plan/index.js +4 -0
- package/dist/compiler/training/plan/load.d.ts +9 -0
- package/dist/compiler/training/plan/load.js +153 -0
- package/dist/compiler/training/plan/references.d.ts +19 -0
- package/dist/compiler/training/plan/references.js +57 -0
- package/dist/compiler/training/plan/resolve.d.ts +4 -0
- package/dist/compiler/training/plan/resolve.js +73 -0
- package/dist/compiler/training/plan/targets.d.ts +11 -0
- package/dist/compiler/training/plan/targets.js +71 -0
- package/dist/compiler/training/plan/types.d.ts +36 -0
- package/dist/compiler/training/plan/types.js +1 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +109 -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 +45 -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 +207 -0
- package/dist/compiler/training/preparation/contract.js +113 -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 +29 -0
- package/dist/compiler/training/preparation/files.js +146 -0
- package/dist/compiler/training/preparation/image.d.ts +28 -0
- package/dist/compiler/training/preparation/image.js +107 -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 +24 -0
- package/dist/compiler/training/preparation/inputs.js +101 -0
- package/dist/compiler/training/preparation/prepare.d.ts +38 -0
- package/dist/compiler/training/preparation/prepare.js +223 -0
- package/dist/compiler/training/preparation/scratch.d.ts +8 -0
- package/dist/compiler/training/preparation/scratch.js +114 -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 +840 -0
- package/dist/compiler/training/repair/contract.js +33 -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 +382 -0
- package/dist/compiler/training/repair/prepare.js +78 -0
- package/dist/compiler/training/repair/witness.d.ts +352 -0
- package/dist/compiler/training/repair/witness.js +48 -0
- package/dist/compiler/training/resolution.d.ts +25 -0
- package/dist/compiler/training/resolution.js +69 -0
- package/dist/compiler/training/rewind/contract.d.ts +321 -0
- package/dist/compiler/training/rewind/contract.js +39 -0
- package/dist/compiler/training/rewind/deployedResource.d.ts +22 -0
- package/dist/compiler/training/rewind/deployedResource.js +19 -0
- package/dist/compiler/training/rewind/feed.d.ts +12 -0
- package/dist/compiler/training/rewind/feed.js +182 -0
- package/dist/compiler/training/rewind/feedContent.d.ts +6 -0
- package/dist/compiler/training/rewind/feedContent.js +38 -0
- package/dist/compiler/training/rewind/git.d.ts +8 -0
- package/dist/compiler/training/rewind/git.js +159 -0
- package/dist/compiler/training/rewind/gitArchive.d.ts +2 -0
- package/dist/compiler/training/rewind/gitArchive.js +7 -0
- package/dist/compiler/training/rewind/gitHistory.d.ts +3 -0
- package/dist/compiler/training/rewind/gitHistory.js +55 -0
- package/dist/compiler/training/rewind/gitProcess.d.ts +19 -0
- package/dist/compiler/training/rewind/gitProcess.js +81 -0
- package/dist/compiler/training/rewind/gitTree.d.ts +14 -0
- package/dist/compiler/training/rewind/gitTree.js +90 -0
- package/dist/compiler/training/rewind/history.d.ts +28 -0
- package/dist/compiler/training/rewind/history.js +239 -0
- package/dist/compiler/training/rewind/index.d.ts +18 -0
- package/dist/compiler/training/rewind/index.js +15 -0
- package/dist/compiler/training/rewind/inputs.d.ts +9 -0
- package/dist/compiler/training/rewind/inputs.js +67 -0
- package/dist/compiler/training/rewind/instant.d.ts +4 -0
- package/dist/compiler/training/rewind/instant.js +24 -0
- package/dist/compiler/training/rewind/leakCheck.d.ts +10 -0
- package/dist/compiler/training/rewind/leakCheck.js +56 -0
- package/dist/compiler/training/rewind/leakFeed.d.ts +5 -0
- package/dist/compiler/training/rewind/leakFeed.js +25 -0
- package/dist/compiler/training/rewind/leakFiles.d.ts +10 -0
- package/dist/compiler/training/rewind/leakFiles.js +106 -0
- package/dist/compiler/training/rewind/leakGit.d.ts +3 -0
- package/dist/compiler/training/rewind/leakGit.js +78 -0
- package/dist/compiler/training/rewind/leakGitPayload.d.ts +4 -0
- package/dist/compiler/training/rewind/leakGitPayload.js +57 -0
- package/dist/compiler/training/rewind/leakInputs.d.ts +7 -0
- package/dist/compiler/training/rewind/leakInputs.js +135 -0
- package/dist/compiler/training/rewind/leakLayout.d.ts +2 -0
- package/dist/compiler/training/rewind/leakLayout.js +17 -0
- package/dist/compiler/training/rewind/leakProvenance.d.ts +3 -0
- package/dist/compiler/training/rewind/leakProvenance.js +88 -0
- package/dist/compiler/training/rewind/materialize.d.ts +136 -0
- package/dist/compiler/training/rewind/materialize.js +212 -0
- package/dist/compiler/training/rewind/memory.d.ts +10 -0
- package/dist/compiler/training/rewind/memory.js +84 -0
- package/dist/compiler/training/rewind/memorySchemas.d.ts +87 -0
- package/dist/compiler/training/rewind/memorySchemas.js +50 -0
- package/dist/compiler/training/rewind/moltnet.d.ts +2 -0
- package/dist/compiler/training/rewind/moltnet.js +54 -0
- package/dist/compiler/training/rewind/moltnetJson.d.ts +13 -0
- package/dist/compiler/training/rewind/moltnetJson.js +180 -0
- package/dist/compiler/training/rewind/moltnetSchemas.d.ts +1226 -0
- package/dist/compiler/training/rewind/moltnetSchemas.js +75 -0
- package/dist/compiler/training/rewind/moltnetSqlite.d.ts +31 -0
- package/dist/compiler/training/rewind/moltnetSqlite.js +192 -0
- package/dist/compiler/training/rewind/moltnetSqliteData.d.ts +10 -0
- package/dist/compiler/training/rewind/moltnetSqliteData.js +113 -0
- package/dist/compiler/training/rewind/recordInput.d.ts +40 -0
- package/dist/compiler/training/rewind/recordInput.js +49 -0
- package/dist/compiler/training/rewind/recordedBundle.d.ts +4 -0
- package/dist/compiler/training/rewind/recordedBundle.js +58 -0
- package/dist/compiler/training/rewind/recordedCommit.d.ts +2 -0
- package/dist/compiler/training/rewind/recordedCommit.js +10 -0
- package/dist/compiler/training/rewind/select.d.ts +18 -0
- package/dist/compiler/training/rewind/select.js +64 -0
- package/dist/compiler/training/rewind/snapshotManifest.d.ts +42 -0
- package/dist/compiler/training/rewind/snapshotManifest.js +134 -0
- package/dist/compiler/training/rewind/taskClock.d.ts +12 -0
- package/dist/compiler/training/rewind/taskClock.js +40 -0
- package/dist/compiler/training/rewind/timestamps.d.ts +4 -0
- package/dist/compiler/training/rewind/timestamps.js +26 -0
- package/dist/compiler/training/rewind/types.d.ts +43 -0
- package/dist/compiler/training/rewind/types.js +1 -0
- package/dist/compiler/training/rewind/volumes.d.ts +12 -0
- package/dist/compiler/training/rewind/volumes.js +58 -0
- package/dist/compiler/training/selection.d.ts +7 -0
- package/dist/compiler/training/selection.js +15 -0
- package/dist/compiler/types.d.ts +7 -2
- package/dist/compiler/upProject.d.ts +27 -1
- package/dist/compiler/upProject.js +135 -180
- package/dist/compiler/upProjectHandoff.d.ts +62 -0
- package/dist/compiler/upProjectHandoff.js +204 -0
- package/dist/compiler/upReceipt.js +49 -4
- package/dist/compiler/updateProjectModels.js +1 -0
- package/dist/compiler/view/types.d.ts +1 -1
- package/dist/compiler/workspaceBundleArtifacts.d.ts +18 -0
- package/dist/compiler/workspaceBundleArtifacts.js +155 -0
- package/dist/compiler/workspaceBundleCache.d.ts +23 -0
- package/dist/compiler/workspaceBundleCache.js +79 -0
- package/dist/compiler/workspaceBundleDependencies.d.ts +21 -0
- package/dist/compiler/workspaceBundleDependencies.js +122 -0
- package/dist/compiler/workspaceBundleFiles.d.ts +51 -0
- package/dist/compiler/workspaceBundleFiles.js +251 -0
- package/dist/compiler/workspaceBundleGenerated.d.ts +25 -0
- package/dist/compiler/workspaceBundleGenerated.js +103 -0
- package/dist/compiler/workspaceBundleGit.d.ts +64 -0
- package/dist/compiler/workspaceBundleGit.js +154 -0
- package/dist/compiler/workspaceBundleKey.d.ts +34 -0
- package/dist/compiler/workspaceBundleKey.js +17 -0
- package/dist/compiler/workspaceBundleResolve.d.ts +56 -0
- package/dist/compiler/workspaceBundleResolve.js +144 -0
- package/dist/compiler/workspaceBundleRun.d.ts +41 -0
- package/dist/compiler/workspaceBundleRun.js +79 -0
- package/dist/compiler/workspaceBundleTar.d.ts +47 -0
- package/dist/compiler/workspaceBundleTar.js +140 -0
- package/dist/compiler/workspaceBundleTree.d.ts +15 -0
- package/dist/compiler/workspaceBundleTree.js +58 -0
- package/dist/compiler/workspaceGitFetch.d.ts +41 -0
- package/dist/compiler/workspaceGitFetch.js +155 -0
- package/dist/compiler/workspaceGitPins.d.ts +33 -0
- package/dist/compiler/workspaceGitPins.js +127 -0
- package/dist/compiler/workspaceResources.d.ts +9 -2
- package/dist/compiler/workspaceResources.js +39 -7
- package/dist/deployment/activation.d.ts +3 -0
- package/dist/deployment/activation.js +12 -0
- package/dist/deployment/artifactsExportPlan.js +51 -1
- 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/candidateRecording.d.ts +8 -0
- package/dist/deployment/candidateRecording.js +22 -0
- package/dist/deployment/dockerLogs.js +4 -1
- package/dist/deployment/dockerManager.d.ts +5 -3
- package/dist/deployment/dockerManager.js +21 -5
- package/dist/deployment/dockerProbeGateway.d.ts +17 -0
- package/dist/deployment/dockerProbeGateway.js +17 -2
- package/dist/deployment/downDeployment.d.ts +7 -0
- package/dist/deployment/downDeployment.js +114 -9
- package/dist/deployment/downReceiptTypes.d.ts +17 -2
- package/dist/deployment/downReceiptTypes.js +17 -2
- package/dist/deployment/homeStore.d.ts +9 -1
- package/dist/deployment/homeStore.js +16 -53
- package/dist/deployment/index.d.ts +10 -0
- package/dist/deployment/index.js +10 -0
- package/dist/deployment/lifecycleCompletionContracts.d.ts +66 -0
- package/dist/deployment/lifecycleCompletionContracts.js +34 -0
- package/dist/deployment/lifecycleCompletionPaths.d.ts +4 -1
- package/dist/deployment/lifecycleCompletionPaths.js +3 -0
- package/dist/deployment/lifecycleCompletionPublication.d.ts +2 -0
- package/dist/deployment/lifecycleCompletionPublication.js +18 -4
- package/dist/deployment/lifecycleCompletionStore.d.ts +1 -1
- package/dist/deployment/lifecycleCompletionStore.js +7 -7
- 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.js +82 -27
- package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
- package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.js +254 -108
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
- package/dist/deployment/organizationHandoffAuthorityStore.js +14 -7
- package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +2 -2
- package/dist/deployment/organizationHandoffAuthorityTypes.js +2 -1
- package/dist/deployment/organizationReady.d.ts +2 -0
- package/dist/deployment/organizationReady.js +36 -4
- package/dist/deployment/pidLock.d.ts +25 -0
- package/dist/deployment/pidLock.js +81 -0
- package/dist/deployment/productStateClone.d.ts +43 -0
- package/dist/deployment/productStateClone.js +319 -0
- package/dist/deployment/record.d.ts +85 -1
- package/dist/deployment/record.js +11 -5
- package/dist/deployment/recordPublication.d.ts +15 -0
- package/dist/deployment/recordPublication.js +76 -0
- package/dist/deployment/recordedMemoryRetention.d.ts +18 -0
- package/dist/deployment/recordedMemoryRetention.js +27 -0
- package/dist/deployment/resourceLog.d.ts +140 -0
- package/dist/deployment/resourceLog.js +78 -0
- package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
- package/dist/deployment/upLifecycleRecoveryState.js +12 -0
- package/dist/deployment/upReceiptTypes.d.ts +32 -6
- package/dist/deployment/upReceiptTypes.js +29 -2
- 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 +9 -0
- package/dist/distribution/buildDistributionReport.d.ts +3 -0
- package/dist/distribution/buildDistributionReport.js +5 -0
- package/dist/distribution/consumeImage.d.ts +5 -0
- package/dist/distribution/consumeImage.js +115 -98
- package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
- package/dist/distribution/consumeImageDaimonDocker.js +45 -0
- package/dist/distribution/consumeImageLifecycle.d.ts +20 -0
- package/dist/distribution/consumeImageLifecycle.js +242 -0
- package/dist/distribution/consumeImageSupport.d.ts +19 -0
- package/dist/distribution/consumeImageSupport.js +40 -0
- package/dist/distribution/distributionReportSchema.d.ts +58 -1
- package/dist/distribution/distributionReportSchema.js +35 -2
- 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 +1 -1
- package/dist/distribution/index.js +1 -1
- package/dist/distribution/preflight.js +5 -1
- package/dist/distribution/renderImageInterface.js +1 -1
- package/dist/distribution/types.d.ts +29 -1
- package/dist/distribution/types.js +3 -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/durableWrite.d.ts +10 -0
- package/dist/filesystem/durableWrite.js +87 -0
- package/dist/filesystem/index.d.ts +2 -0
- package/dist/filesystem/index.js +2 -0
- package/dist/filesystem/io.d.ts +2 -0
- package/dist/filesystem/io.js +16 -1
- package/dist/filesystem/retainedJsonl.d.ts +23 -0
- package/dist/filesystem/retainedJsonl.js +123 -0
- package/dist/manifest/commandSchemas.d.ts +5 -0
- package/dist/manifest/commandSchemas.js +5 -0
- package/dist/manifest/executionSchemas.d.ts +47 -0
- package/dist/manifest/executionSchemas.js +31 -2
- package/dist/manifest/index.d.ts +2 -0
- package/dist/manifest/index.js +2 -0
- package/dist/manifest/loadManifest.js +3 -26
- package/dist/manifest/mcpSchemas.d.ts +62 -0
- package/dist/manifest/mcpSchemas.js +57 -8
- package/dist/manifest/memorySchemas.d.ts +1 -1
- package/dist/manifest/memorySchemas.js +1 -1
- package/dist/manifest/parseManifest.d.ts +7 -0
- package/dist/manifest/parseManifest.js +65 -0
- package/dist/manifest/renderSpawnfile.js +4 -1
- package/dist/manifest/renderSpawnfileNetworks.js +11 -0
- package/dist/manifest/renderSpawnfileWorkspace.js +10 -1
- package/dist/manifest/scheduleSchemas.d.ts +3 -1
- package/dist/manifest/scheduleSchemas.js +91 -5
- package/dist/manifest/schemas.d.ts +1419 -120
- package/dist/manifest/schemas.js +19 -6
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +5 -1
- package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkSchemas.d.ts +18 -4
- package/dist/manifest/teamNetworkSchemas.js +19 -1
- package/dist/manifest/teamNetworkServerSchemas.d.ts +8 -3
- package/dist/manifest/teamNetworkServerSchemas.js +18 -2
- package/dist/manifest/trainingDataSchemas.d.ts +357 -0
- package/dist/manifest/trainingDataSchemas.js +31 -0
- package/dist/manifest/trainingSchemas.d.ts +49 -0
- package/dist/manifest/trainingSchemas.js +44 -0
- package/dist/manifest/volumeFeedSchemas.d.ts +52 -0
- package/dist/manifest/volumeFeedSchemas.js +104 -0
- package/dist/manifest/workspaceSchemas.d.ts +194 -1
- package/dist/manifest/workspaceSchemas.js +117 -2
- package/dist/recording/compose.d.ts +3 -0
- package/dist/recording/compose.js +93 -0
- package/dist/recording/deployment.d.ts +15 -0
- package/dist/recording/deployment.js +38 -0
- package/dist/recording/history.d.ts +16 -0
- package/dist/recording/history.js +47 -0
- package/dist/recording/index.d.ts +9 -0
- package/dist/recording/index.js +9 -0
- package/dist/recording/moment.d.ts +61 -0
- package/dist/recording/moment.js +36 -0
- package/dist/recording/parse.d.ts +15 -0
- package/dist/recording/parse.js +74 -0
- package/dist/recording/read.d.ts +8 -0
- package/dist/recording/read.js +61 -0
- package/dist/recording/store.d.ts +10 -0
- package/dist/recording/store.js +94 -0
- package/dist/recording/sync.d.ts +24 -0
- package/dist/recording/sync.js +126 -0
- package/dist/recording/types.d.ts +45 -0
- package/dist/recording/types.js +2 -0
- package/dist/release/drainControl.d.ts +54 -0
- package/dist/release/drainControl.js +137 -0
- package/dist/release/drainPhase.d.ts +37 -0
- package/dist/release/drainPhase.js +161 -0
- package/dist/release/index.d.ts +11 -0
- package/dist/release/index.js +11 -0
- package/dist/release/ledger.d.ts +75 -0
- package/dist/release/ledger.js +111 -0
- package/dist/release/notify.d.ts +58 -0
- package/dist/release/notify.js +126 -0
- package/dist/release/pending.d.ts +35 -0
- package/dist/release/pending.js +60 -0
- package/dist/release/postDeploy.d.ts +32 -0
- package/dist/release/postDeploy.js +62 -0
- package/dist/release/releaseDefaults.d.ts +9 -0
- package/dist/release/releaseDefaults.js +115 -0
- package/dist/release/releaseDocker.d.ts +38 -0
- package/dist/release/releaseDocker.js +94 -0
- package/dist/release/releaseTypes.d.ts +94 -0
- package/dist/release/releaseTypes.js +1 -0
- package/dist/release/runRelease.d.ts +9 -0
- package/dist/release/runRelease.js +218 -0
- package/dist/release/swap.d.ts +23 -0
- package/dist/release/swap.js +55 -0
- package/dist/release/types.d.ts +50 -0
- package/dist/release/types.js +29 -0
- package/dist/report/index.d.ts +1 -0
- package/dist/report/index.js +1 -0
- package/dist/report/recording.d.ts +57 -0
- package/dist/report/recording.js +26 -0
- package/dist/report/types.d.ts +92 -4
- package/dist/runtime/common.d.ts +28 -1
- package/dist/runtime/common.js +33 -3
- package/dist/runtime/container.js +46 -35
- package/dist/runtime/daimon/adapter.d.ts +14 -0
- package/dist/runtime/daimon/adapter.js +254 -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 +29 -0
- package/dist/runtime/daimon/config.js +321 -0
- package/dist/runtime/daimon/contract-manifest.json +1 -0
- package/dist/runtime/daimon/contract-manifest.sha256 +1 -0
- package/dist/runtime/daimon/contractManifest.d.ts +346 -0
- package/dist/runtime/daimon/contractManifest.js +335 -0
- package/dist/runtime/daimon/grokModel.d.ts +19 -0
- package/dist/runtime/daimon/grokModel.js +33 -0
- package/dist/runtime/daimon/grokTurnLimits.d.ts +25 -0
- package/dist/runtime/daimon/grokTurnLimits.js +51 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +43 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.js +53 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +27 -0
- package/dist/runtime/daimon/grokWorkerContract.js +60 -0
- package/dist/runtime/daimon/memory.d.ts +57 -0
- package/dist/runtime/daimon/memory.js +125 -0
- package/dist/runtime/daimon/recording.d.ts +19 -0
- package/dist/runtime/daimon/recording.js +50 -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 +11 -0
- package/dist/runtime/daimon/scheduleAuthority.js +31 -0
- package/dist/runtime/daimon/wakeMoments.d.ts +15 -0
- package/dist/runtime/daimon/wakeMoments.js +17 -0
- package/dist/runtime/daimonInstall.d.ts +3 -0
- package/dist/runtime/daimonInstall.js +25 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.js +5 -0
- package/dist/runtime/install.d.ts +5 -0
- package/dist/runtime/install.js +4 -0
- package/dist/runtime/localDaimonAuthority.d.ts +11 -0
- package/dist/runtime/localDaimonAuthority.js +77 -0
- package/dist/runtime/mnemeMcp.d.ts +13 -0
- package/dist/runtime/mnemeMcp.js +26 -0
- package/dist/runtime/openclaw/adapter.js +5 -2
- package/dist/runtime/pi/adapter.d.ts +0 -1
- package/dist/runtime/pi/adapter.js +5 -6
- package/dist/runtime/pi/appCliSource.js +1 -1
- package/dist/runtime/pi/appScheduleSource.js +6 -2
- package/dist/runtime/pi/appTemplateTypes.d.ts +1 -1
- package/dist/runtime/pi/containerTargets.js +6 -0
- package/dist/runtime/picoclaw/adapter.js +5 -2
- package/dist/runtime/registry.d.ts +6 -0
- package/dist/runtime/registry.js +32 -3
- package/dist/runtime/scheduleUtils.d.ts +1 -0
- package/dist/runtime/scheduleUtils.js +5 -1
- package/dist/runtime/types.d.ts +40 -0
- package/dist/runtime/usageLedger.d.ts +158 -0
- package/dist/runtime/usageLedger.js +269 -0
- package/dist/runtime/usageLedgerRead.d.ts +54 -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/index.d.ts +3 -0
- package/dist/shared/index.js +3 -0
- package/dist/shared/recording.d.ts +8 -0
- package/dist/shared/recording.js +25 -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/target/dockerArtifactsProvider.js +34 -7
- package/dist/target/dockerBaseImage.d.ts +2 -0
- package/dist/target/dockerBaseImage.js +11 -0
- package/dist/target/dockerCommandExecutor.d.ts +11 -0
- package/dist/target/dockerCommandExecutor.js +53 -2
- package/dist/target/dockerCommandExecutorCore.d.ts +2 -1
- package/dist/target/dockerCommandExecutorCore.js +5 -3
- package/dist/target/dockerPublicArtifactSnapshot.d.ts +3 -3
- package/dist/target/dockerPublicArtifactSnapshot.js +17 -33
- package/dist/target/dockerTarget.d.ts +1 -0
- package/dist/target/dockerTargetBinding.d.ts +1 -2
- package/dist/target/dockerTargetBinding.js +4 -4
- package/dist/target/dockerTargetExecFile.d.ts +19 -0
- package/dist/target/dockerTargetExecFile.js +194 -0
- package/dist/target/dockerWorldServiceProvider.d.ts +4 -0
- package/dist/target/dockerWorldServiceProvider.js +13 -1
- package/dist/target/evidenceExport.d.ts +3 -1
- package/dist/target/evidenceExport.js +12 -3
- package/dist/target/evidenceExportOperationsTestKit.js +3 -3
- package/dist/target/evidenceExportProvider.d.ts +2 -0
- package/dist/target/evidenceExportProvider.js +15 -5
- package/dist/target/publicArtifactSnapshot.d.ts +31 -0
- package/dist/target/publicArtifactSnapshot.js +37 -3
- package/dist/volume/feedLand.d.ts +31 -0
- package/dist/volume/feedLand.js +174 -0
- package/dist/volume/feedLandings.d.ts +45 -0
- package/dist/volume/feedLandings.js +111 -0
- package/dist/volume/feedLayout.d.ts +61 -0
- package/dist/volume/feedLayout.js +234 -0
- package/dist/volume/feedLock.d.ts +7 -0
- package/dist/volume/feedLock.js +131 -0
- package/dist/volume/feedManifest.d.ts +27 -0
- package/dist/volume/feedManifest.js +123 -0
- package/dist/volume/feedPrepare.d.ts +16 -0
- package/dist/volume/feedPrepare.js +228 -0
- package/dist/volume/feedProject.d.ts +39 -0
- package/dist/volume/feedProject.js +92 -0
- package/dist/volume/feedRecord.d.ts +55 -0
- package/dist/volume/feedRecord.js +148 -0
- package/dist/volume/feedRef.d.ts +43 -0
- package/dist/volume/feedRef.js +117 -0
- package/dist/volume/feedRefresh.d.ts +15 -0
- package/dist/volume/feedRefresh.js +187 -0
- package/dist/volume/feedSource.d.ts +66 -0
- package/dist/volume/feedSource.js +104 -0
- package/dist/volume/feedTarget.d.ts +70 -0
- package/dist/volume/feedTarget.js +9 -0
- package/dist/volume/feedTestKit.d.ts +11 -0
- package/dist/volume/feedTestKit.js +45 -0
- package/dist/volume/feedVerify.d.ts +18 -0
- package/dist/volume/feedVerify.js +104 -0
- package/dist/volume/index.d.ts +13 -0
- package/dist/volume/index.js +13 -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 +5 -4
- package/package.json +36 -9
- package/runtimes.yaml +8 -3
- package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +0 -13
- package/dist/cli/targetWorldClockCrossProcess.test-helper.js +0 -109
- package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +0 -8
- package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +0 -60
- package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +0 -8
- package/dist/deployment/simfileFixtureBoundary.test-helper.js +0 -103
- package/dist/ownership/simfileRunOperatorInputs.d.ts +0 -103
- package/dist/ownership/simfileRunOperatorInputs.js +0 -139
- package/dist/target/cleanupRunDocker.test-helper.d.ts +0 -67
- package/dist/target/cleanupRunDocker.test-helper.js +0 -238
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SpawnfileError } from "../shared/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createPublicArtifactReadCommand, DockerPublicArtifactNotPresentError } from "./dockerCommandExecutor.js";
|
|
3
|
+
import { createTargetPublicArtifactSnapshot, createTargetPublicArtifactSnapshotNotPresent, parseTargetPublicArtifactSnapshotRequest } from "./publicArtifactSnapshot.js";
|
|
3
4
|
import { inspectDockerWorldService, sameWorldServiceValue, worldServiceSpecForBinding } from "./dockerWorldServiceLifecycle.js";
|
|
4
5
|
export const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_ERROR = "Target public artifact snapshot failed";
|
|
5
6
|
const CONTEXT_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/u;
|
|
@@ -29,45 +30,26 @@ const exactBinding = async (request, options) => {
|
|
|
29
30
|
return binding;
|
|
30
31
|
};
|
|
31
32
|
const readPublicArtifact = async (containerId, request, options) => {
|
|
33
|
+
let result;
|
|
32
34
|
try {
|
|
33
|
-
|
|
34
|
-
"--context", options.context,
|
|
35
|
-
"container", "exec",
|
|
35
|
+
result = await options.contentExecutor("docker", createPublicArtifactReadCommand({
|
|
36
36
|
containerId,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
], {
|
|
37
|
+
context: options.context,
|
|
38
|
+
path: request.artifact.path
|
|
39
|
+
}), {
|
|
41
40
|
signal: options.signal,
|
|
42
41
|
timeout: options.timeoutMs
|
|
43
42
|
});
|
|
44
|
-
if (!resolved || !(resolved.bytes instanceof Uint8Array))
|
|
45
|
-
return fail();
|
|
46
|
-
const resolvedPath = new TextDecoder("utf-8", { fatal: true })
|
|
47
|
-
.decode(resolved.bytes);
|
|
48
|
-
// Reject the final file and every parent alias. The world may publish only
|
|
49
|
-
// the exact regular path that its descriptor declared, never a symlink
|
|
50
|
-
// into private evidence, credentials, or another runtime surface.
|
|
51
|
-
if (resolvedPath !== `${request.artifact.path}\n`)
|
|
52
|
-
return fail();
|
|
53
|
-
const result = await options.contentExecutor("docker", [
|
|
54
|
-
"--context", options.context,
|
|
55
|
-
"container", "exec",
|
|
56
|
-
containerId,
|
|
57
|
-
"/bin/cat",
|
|
58
|
-
request.artifact.path
|
|
59
|
-
], {
|
|
60
|
-
signal: options.signal,
|
|
61
|
-
timeout: options.timeoutMs
|
|
62
|
-
});
|
|
63
|
-
if (!result || !(result.bytes instanceof Uint8Array)
|
|
64
|
-
|| result.bytes.byteLength > request.artifact.max_bytes)
|
|
65
|
-
return fail();
|
|
66
|
-
return Uint8Array.from(result.bytes);
|
|
67
43
|
}
|
|
68
|
-
catch {
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error instanceof DockerPublicArtifactNotPresentError)
|
|
46
|
+
return null;
|
|
69
47
|
return fail();
|
|
70
48
|
}
|
|
49
|
+
if (!result || !(result.bytes instanceof Uint8Array)
|
|
50
|
+
|| result.bytes.byteLength > request.artifact.max_bytes)
|
|
51
|
+
return fail();
|
|
52
|
+
return Uint8Array.from(result.bytes);
|
|
71
53
|
};
|
|
72
54
|
class DockerPublicArtifactSnapshotReader {
|
|
73
55
|
#options;
|
|
@@ -93,7 +75,9 @@ class DockerPublicArtifactSnapshotReader {
|
|
|
93
75
|
if (!after || after.containerId !== before.containerId
|
|
94
76
|
|| after.status !== "running")
|
|
95
77
|
return fail();
|
|
96
|
-
return
|
|
78
|
+
return content === null
|
|
79
|
+
? createTargetPublicArtifactSnapshotNotPresent(request)
|
|
80
|
+
: createTargetPublicArtifactSnapshot({ content, request });
|
|
97
81
|
}
|
|
98
82
|
}
|
|
99
83
|
export const createDockerPublicArtifactSnapshotReader = (options) => new DockerPublicArtifactSnapshotReader(options);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { execFile as execFileCallback } from "node:child_process";
|
|
2
1
|
import { type SelectedTargetReceipt } from "./contracts.js";
|
|
3
2
|
import type { ResolveDockerDeploymentTargetOptions, SelectTargetOptions } from "./dockerTarget.js";
|
|
4
|
-
export
|
|
3
|
+
export { defaultDockerTargetExecFile } from "./dockerTargetExecFile.js";
|
|
5
4
|
/** Private owner-only endpoint binding. Never export this module through the target barrel. */
|
|
6
5
|
export interface ResolvedSelectedTargetBinding {
|
|
7
6
|
readonly endpoint: string;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { execFile as execFileCallback } from "node:child_process";
|
|
2
1
|
import { createHash } from "node:crypto";
|
|
3
|
-
import { promisify } from "node:util";
|
|
4
2
|
import { SpawnfileError } from "../shared/index.js";
|
|
5
3
|
import { SELECTED_TARGET_VERSION, parseOpaqueTargetHandle, parseSelectedTargetReceipt } from "./contracts.js";
|
|
6
4
|
import { createEndpointFingerprint } from "./dockerEndpointFingerprint.js";
|
|
7
|
-
|
|
5
|
+
import { defaultDockerTargetExecFile } from "./dockerTargetExecFile.js";
|
|
6
|
+
export { defaultDockerTargetExecFile } from "./dockerTargetExecFile.js";
|
|
8
7
|
const TARGET_SELECTION_ERROR = "Target selection failed";
|
|
9
8
|
const DOCKER_CONTEXT_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/u;
|
|
10
9
|
const MAX_RAW_EXECUTOR_STDOUT_BYTES = 4_096;
|
|
@@ -51,7 +50,8 @@ const selectTargetContext = (input) => {
|
|
|
51
50
|
const isDockerContextEndpoint = (endpoint) => endpoint.length <= 4_096
|
|
52
51
|
&& /^(?:npipe|ssh|tcp|unix|fd|http|https):\/\/[^\s]+$/u.test(endpoint);
|
|
53
52
|
const selectTargetOptions = (input) => {
|
|
54
|
-
if (input.dockerCommand !== undefined && (typeof input.dockerCommand !== "string" || input.dockerCommand.length === 0
|
|
53
|
+
if (input.dockerCommand !== undefined && (typeof input.dockerCommand !== "string" || input.dockerCommand.length === 0
|
|
54
|
+
|| input.dockerCommand.includes("\0") || Buffer.byteLength(input.dockerCommand, "utf8") > 1_024)) {
|
|
55
55
|
return selectionFailure("validation_error");
|
|
56
56
|
}
|
|
57
57
|
if (input.timeoutMs !== undefined && (typeof input.timeoutMs !== "number" || !Number.isSafeInteger(input.timeoutMs) || input.timeoutMs < 1 || input.timeoutMs > 120_000)) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DockerTargetExecFile } from "./dockerTarget.js";
|
|
2
|
+
export type DockerTargetExecutionFailureKind = "aborted" | "cleanup_failed" | "failed" | "timeout";
|
|
3
|
+
export declare class DockerTargetExecutionError extends Error {
|
|
4
|
+
readonly kind: DockerTargetExecutionFailureKind;
|
|
5
|
+
constructor(kind: DockerTargetExecutionFailureKind);
|
|
6
|
+
}
|
|
7
|
+
export declare class DockerTargetCommandFailure extends DockerTargetExecutionError {
|
|
8
|
+
readonly code: number;
|
|
9
|
+
readonly stderr: string;
|
|
10
|
+
readonly stdoutBytes: number;
|
|
11
|
+
constructor(code: number, stderr: string, stdoutBytes: number);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Docker target probe/build transport with exact stdin and bounded tree teardown.
|
|
15
|
+
* POSIX children lead a private process group so timeout/abort cannot strand a
|
|
16
|
+
* buildx descendant that inherited the CLI's stdio handles.
|
|
17
|
+
*/
|
|
18
|
+
export declare const createBoundedDockerTargetExecFile: () => DockerTargetExecFile;
|
|
19
|
+
export declare const defaultDockerTargetExecFile: DockerTargetExecFile;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
const ERROR = "Docker target command failed";
|
|
3
|
+
const OUTPUT_CAP = 65_536;
|
|
4
|
+
const TERM_GRACE_MS = 50;
|
|
5
|
+
const KILL_GRACE_MS = 250;
|
|
6
|
+
export class DockerTargetExecutionError extends Error {
|
|
7
|
+
kind;
|
|
8
|
+
constructor(kind) {
|
|
9
|
+
super(ERROR);
|
|
10
|
+
this.name = "DockerTargetExecutionError";
|
|
11
|
+
this.kind = kind;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class DockerTargetCommandFailure extends DockerTargetExecutionError {
|
|
15
|
+
code;
|
|
16
|
+
stderr;
|
|
17
|
+
stdoutBytes;
|
|
18
|
+
constructor(code, stderr, stdoutBytes) {
|
|
19
|
+
super("failed");
|
|
20
|
+
this.name = "DockerTargetCommandFailure";
|
|
21
|
+
this.code = code;
|
|
22
|
+
this.stderr = stderr;
|
|
23
|
+
this.stdoutBytes = stdoutBytes;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const decode = (chunks) => {
|
|
27
|
+
try {
|
|
28
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(Buffer.concat(chunks));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
throw new DockerTargetExecutionError("failed");
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Docker target probe/build transport with exact stdin and bounded tree teardown.
|
|
36
|
+
* POSIX children lead a private process group so timeout/abort cannot strand a
|
|
37
|
+
* buildx descendant that inherited the CLI's stdio handles.
|
|
38
|
+
*/
|
|
39
|
+
export const createBoundedDockerTargetExecFile = () => (file, args, options) => {
|
|
40
|
+
if (typeof file !== "string" || file.length < 1 || file.includes("\0")
|
|
41
|
+
|| !Array.isArray(args) || args.some((arg) => typeof arg !== "string" || arg.includes("\0"))
|
|
42
|
+
|| !options || !Number.isSafeInteger(options.timeout) || options.timeout < 1
|
|
43
|
+
|| options.timeout > 120_000
|
|
44
|
+
|| options.signal !== undefined && !(options.signal instanceof AbortSignal)
|
|
45
|
+
|| options.stdin !== undefined && !(options.stdin instanceof Uint8Array)) {
|
|
46
|
+
return Promise.reject(new DockerTargetExecutionError("failed"));
|
|
47
|
+
}
|
|
48
|
+
if (options.signal?.aborted) {
|
|
49
|
+
return Promise.reject(new DockerTargetExecutionError("aborted"));
|
|
50
|
+
}
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
const grouped = process.platform !== "win32";
|
|
53
|
+
let child;
|
|
54
|
+
try {
|
|
55
|
+
child = spawn(file, args, {
|
|
56
|
+
detached: grouped,
|
|
57
|
+
shell: false,
|
|
58
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
reject(new DockerTargetExecutionError("failed"));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const stdout = [];
|
|
66
|
+
const stderr = [];
|
|
67
|
+
let stdoutBytes = 0;
|
|
68
|
+
let stderrBytes = 0;
|
|
69
|
+
let terminal;
|
|
70
|
+
let settled = false;
|
|
71
|
+
let termTimer;
|
|
72
|
+
let killTimer;
|
|
73
|
+
const groupAbsent = () => {
|
|
74
|
+
if (!grouped || !child.pid)
|
|
75
|
+
return false;
|
|
76
|
+
try {
|
|
77
|
+
process.kill(-child.pid, 0);
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
return error.code === "ESRCH";
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const signalTree = (signal) => {
|
|
85
|
+
try {
|
|
86
|
+
if (grouped && child.pid)
|
|
87
|
+
process.kill(-child.pid, signal);
|
|
88
|
+
else
|
|
89
|
+
child.kill(signal);
|
|
90
|
+
}
|
|
91
|
+
catch { /* only a later ESRCH liveness probe proves quiescence */ }
|
|
92
|
+
};
|
|
93
|
+
const destroyPipes = () => {
|
|
94
|
+
child.stdin.on("error", () => undefined);
|
|
95
|
+
child.stdout.on("error", () => undefined);
|
|
96
|
+
child.stderr.on("error", () => undefined);
|
|
97
|
+
child.stdin.destroy();
|
|
98
|
+
child.stdout.destroy();
|
|
99
|
+
child.stderr.destroy();
|
|
100
|
+
};
|
|
101
|
+
const cleanup = () => {
|
|
102
|
+
clearTimeout(timeoutTimer);
|
|
103
|
+
if (termTimer)
|
|
104
|
+
clearTimeout(termTimer);
|
|
105
|
+
if (killTimer)
|
|
106
|
+
clearTimeout(killTimer);
|
|
107
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
108
|
+
};
|
|
109
|
+
const finish = (error, unresolved = false) => {
|
|
110
|
+
if (settled || !unresolved && !groupAbsent())
|
|
111
|
+
return;
|
|
112
|
+
settled = true;
|
|
113
|
+
cleanup();
|
|
114
|
+
destroyPipes();
|
|
115
|
+
reject(error);
|
|
116
|
+
};
|
|
117
|
+
const terminate = (kind) => {
|
|
118
|
+
if (terminal || settled)
|
|
119
|
+
return;
|
|
120
|
+
terminal = new DockerTargetExecutionError(kind);
|
|
121
|
+
signalTree("SIGTERM");
|
|
122
|
+
termTimer = setTimeout(() => {
|
|
123
|
+
signalTree("SIGKILL");
|
|
124
|
+
destroyPipes();
|
|
125
|
+
const started = Date.now();
|
|
126
|
+
const poll = () => {
|
|
127
|
+
if (!terminal || settled)
|
|
128
|
+
return;
|
|
129
|
+
if (groupAbsent()) {
|
|
130
|
+
finish(terminal);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
signalTree("SIGKILL");
|
|
134
|
+
if (Date.now() - started >= KILL_GRACE_MS) {
|
|
135
|
+
finish(new DockerTargetExecutionError("cleanup_failed"), true);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
killTimer = setTimeout(poll, 10);
|
|
139
|
+
};
|
|
140
|
+
poll();
|
|
141
|
+
}, TERM_GRACE_MS);
|
|
142
|
+
};
|
|
143
|
+
const append = (target, chunk, output) => {
|
|
144
|
+
const value = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
145
|
+
if (output === "stdout")
|
|
146
|
+
stdoutBytes += value.byteLength;
|
|
147
|
+
else
|
|
148
|
+
stderrBytes += value.byteLength;
|
|
149
|
+
if (stdoutBytes > OUTPUT_CAP || stderrBytes > OUTPUT_CAP) {
|
|
150
|
+
terminate("failed");
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
target.push(Buffer.from(value));
|
|
154
|
+
};
|
|
155
|
+
function onAbort() { terminate("aborted"); }
|
|
156
|
+
child.stdout.on("data", (chunk) => append(stdout, chunk, "stdout"));
|
|
157
|
+
child.stderr.on("data", (chunk) => append(stderr, chunk, "stderr"));
|
|
158
|
+
child.stdin.on("error", () => terminate("failed"));
|
|
159
|
+
child.on("error", () => terminate("failed"));
|
|
160
|
+
child.on("close", (code) => {
|
|
161
|
+
if (terminal || settled)
|
|
162
|
+
return;
|
|
163
|
+
settled = true;
|
|
164
|
+
cleanup();
|
|
165
|
+
try {
|
|
166
|
+
const stderrText = decode(stderr);
|
|
167
|
+
const stdoutText = decode(stdout);
|
|
168
|
+
if (code !== 0) {
|
|
169
|
+
reject(new DockerTargetCommandFailure(code ?? -1, stderrText, Buffer.byteLength(stdoutText, "utf8")));
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
resolve({ stderr: stderrText, stdout: stdoutText });
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
reject(error);
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
179
|
+
const timeoutTimer = setTimeout(() => terminate("timeout"), options.timeout);
|
|
180
|
+
if (options.signal?.aborted) {
|
|
181
|
+
terminate("aborted");
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
const input = options.stdin === undefined ? undefined
|
|
186
|
+
: Buffer.from(options.stdin.buffer, options.stdin.byteOffset, options.stdin.byteLength);
|
|
187
|
+
child.stdin.end(input);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
terminate("failed");
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
export const defaultDockerTargetExecFile = createBoundedDockerTargetExecFile();
|
|
@@ -5,6 +5,10 @@ export declare const WORLD_RUNTIME_TMPFS: Readonly<{
|
|
|
5
5
|
path: "/tmp";
|
|
6
6
|
options: "rw,noexec,nosuid,nodev,size=1m,mode=1777";
|
|
7
7
|
}>;
|
|
8
|
+
export declare const WORLD_PUBLIC_ARTIFACT_TMPFS: Readonly<{
|
|
9
|
+
path: "/tmp/spawnfile-public";
|
|
10
|
+
options: "rw,noexec,nosuid,nodev,size=1m,mode=1777";
|
|
11
|
+
}>;
|
|
8
12
|
export type DockerWorldServiceFailureKind = "collision" | "not_found";
|
|
9
13
|
export interface DockerWorldServiceExecutor {
|
|
10
14
|
(file: string, args: string[], options: {
|
|
@@ -9,6 +9,16 @@ export const WORLD_RUNTIME_TMPFS = Object.freeze({
|
|
|
9
9
|
path: "/tmp",
|
|
10
10
|
options: "rw,noexec,nosuid,nodev,size=1m,mode=1777"
|
|
11
11
|
});
|
|
12
|
+
/*
|
|
13
|
+
* A distinct mount point is a confinement boundary, not merely a convenient
|
|
14
|
+
* directory. The public-artifact reader opens one direct child with
|
|
15
|
+
* O_NOFOLLOW; this mount prevents that child from being hard-linked or
|
|
16
|
+
* replaced with a path from the world root, secrets, or evidence mounts.
|
|
17
|
+
*/
|
|
18
|
+
export const WORLD_PUBLIC_ARTIFACT_TMPFS = Object.freeze({
|
|
19
|
+
path: "/tmp/spawnfile-public",
|
|
20
|
+
options: "rw,noexec,nosuid,nodev,size=1m,mode=1777"
|
|
21
|
+
});
|
|
12
22
|
const MAX_OUTPUT_BYTES = 32_768;
|
|
13
23
|
const MAX_NAME_LENGTH = 63;
|
|
14
24
|
const DIGEST_PATTERN = /^sha256:[a-f0-9]{64}$/u;
|
|
@@ -183,6 +193,7 @@ export const createDockerWorldServiceSpec = (input) => {
|
|
|
183
193
|
"--cap-drop", "ALL", "--security-opt", "no-new-privileges=true",
|
|
184
194
|
"--ipc", "none", "--cgroupns", "private",
|
|
185
195
|
"--tmpfs", `${WORLD_RUNTIME_TMPFS.path}:${WORLD_RUNTIME_TMPFS.options}`,
|
|
196
|
+
"--tmpfs", `${WORLD_PUBLIC_ARTIFACT_TMPFS.path}:${WORLD_PUBLIC_ARTIFACT_TMPFS.options}`,
|
|
186
197
|
...labelArgs,
|
|
187
198
|
"--mount", `type=volume,src=${evidence.name},dst=${evidenceMountPath},volume-nocopy`,
|
|
188
199
|
"--mount", `type=volume,src=${secrets.name},dst=${WORLD_SECRETS_PATH},readonly,volume-nocopy`,
|
|
@@ -304,8 +315,9 @@ export const parseExpectedDockerWorldService = (stdout, spec) => {
|
|
|
304
315
|
&& value.PidMode === "" && value.IpcMode === "none" && value.UTSMode === ""
|
|
305
316
|
&& value.UsernsMode === "" && value.CgroupnsMode === "private"
|
|
306
317
|
&& exactRecord(value.Tmpfs)
|
|
307
|
-
&& exactKeys(value.Tmpfs, [WORLD_RUNTIME_TMPFS.path])
|
|
318
|
+
&& exactKeys(value.Tmpfs, [WORLD_RUNTIME_TMPFS.path, WORLD_PUBLIC_ARTIFACT_TMPFS.path])
|
|
308
319
|
&& value.Tmpfs[WORLD_RUNTIME_TMPFS.path] === WORLD_RUNTIME_TMPFS.options
|
|
320
|
+
&& value.Tmpfs[WORLD_PUBLIC_ARTIFACT_TMPFS.path] === WORLD_PUBLIC_ARTIFACT_TMPFS.options
|
|
309
321
|
&& value.ReadonlyRootfs === true
|
|
310
322
|
&& JSON.stringify(value.SecurityOpt) === JSON.stringify(["no-new-privileges=true"])
|
|
311
323
|
&& value.LogType === "none" && value.RestartPolicyName === "no"
|
|
@@ -16,7 +16,9 @@ export interface EvidenceExportOperationsOptions {
|
|
|
16
16
|
readonly context: unknown;
|
|
17
17
|
readonly executor: DockerResourceExecutor;
|
|
18
18
|
readonly exportExecutor: DockerEvidenceExportExecutor;
|
|
19
|
-
readonly helperArtifactBundle
|
|
19
|
+
readonly helperArtifactBundle?: unknown;
|
|
20
|
+
/** Spawnfile-owned local config identity. Never a public provider field. */
|
|
21
|
+
readonly localHelper?: unknown;
|
|
20
22
|
readonly helperArtifactManifestDigest: unknown;
|
|
21
23
|
readonly helperArtifactContract: unknown;
|
|
22
24
|
readonly artifactIdentityStore: DockerArtifactIdentityStore;
|
|
@@ -35,14 +35,21 @@ const options = (raw) => {
|
|
|
35
35
|
return fail();
|
|
36
36
|
const timeoutMs = typeof raw.timeoutMs === "number" ? raw.timeoutMs : 10_000;
|
|
37
37
|
try {
|
|
38
|
+
if (typeof raw.helperArtifactManifestDigest !== "string" || !/^sha256:[a-f0-9]{64}$/u.test(raw.helperArtifactManifestDigest) || raw.helperArtifactContract !== EVIDENCE_EXPORT_HELPER_CONTRACT)
|
|
39
|
+
return fail();
|
|
40
|
+
const source = raw.localHelper;
|
|
41
|
+
const localHelper = source === undefined ? undefined : createEvidenceExportHelper({ artifactManifestDigest: source.artifactManifestDigest, imageDigest: source.image_digest, imageReference: source.image_reference, resultHandle: source.result_handle });
|
|
42
|
+
if (localHelper) {
|
|
43
|
+
if (raw.helperArtifactBundle !== undefined || localHelper.artifactManifestDigest !== raw.helperArtifactManifestDigest)
|
|
44
|
+
return fail();
|
|
45
|
+
return { authorityStore: raw.authorityStore, context: raw.context, executor: raw.executor, exportExecutor: raw.exportExecutor, localHelper, helperArtifactManifestDigest: raw.helperArtifactManifestDigest, helperArtifactContract: EVIDENCE_EXPORT_HELPER_CONTRACT, artifactIdentityStore: raw.artifactIdentityStore, journal: raw.journal, signal: raw.signal, timeoutMs, testHooks: raw.testHooks };
|
|
46
|
+
}
|
|
38
47
|
const rawBundle = raw.helperArtifactBundle;
|
|
39
48
|
if (!rawBundle || typeof rawBundle !== "object" || Array.isArray(rawBundle) || Object.keys(rawBundle).sort().join("\0") !== "operation_handle\0request_digest\0result_handle")
|
|
40
49
|
return fail();
|
|
41
50
|
const bundle = rawBundle;
|
|
42
51
|
const helperArtifactBundle = Object.freeze({ operationHandle: parseOpaqueTargetHandle(bundle.operation_handle), requestDigest: (() => { if (typeof bundle.request_digest !== "string" || !/^sha256:[a-f0-9]{64}$/u.test(bundle.request_digest))
|
|
43
52
|
return fail(); return bundle.request_digest; })(), resultHandle: parseOpaqueTargetHandle(bundle.result_handle) });
|
|
44
|
-
if (typeof raw.helperArtifactManifestDigest !== "string" || !/^sha256:[a-f0-9]{64}$/u.test(raw.helperArtifactManifestDigest) || raw.helperArtifactContract !== EVIDENCE_EXPORT_HELPER_CONTRACT)
|
|
45
|
-
return fail();
|
|
46
53
|
return { authorityStore: raw.authorityStore, context: raw.context, executor: raw.executor, exportExecutor: raw.exportExecutor, helperArtifactBundle, helperArtifactManifestDigest: raw.helperArtifactManifestDigest, helperArtifactContract: EVIDENCE_EXPORT_HELPER_CONTRACT, artifactIdentityStore: raw.artifactIdentityStore, journal: raw.journal, signal: raw.signal, timeoutMs, testHooks: raw.testHooks };
|
|
47
54
|
}
|
|
48
55
|
catch {
|
|
@@ -78,7 +85,9 @@ const inspectAuthority = async (authority, input) => {
|
|
|
78
85
|
return fail();
|
|
79
86
|
};
|
|
80
87
|
const helperFor = async (value, input) => {
|
|
81
|
-
|
|
88
|
+
if (input.localHelper)
|
|
89
|
+
return input.localHelper;
|
|
90
|
+
const bundle = input.helperArtifactBundle ?? fail();
|
|
82
91
|
const binding = await input.artifactIdentityStore.resolveOperation(bundle.operationHandle, bundle.requestDigest);
|
|
83
92
|
const journal = await input.journal.read();
|
|
84
93
|
const completed = binding ? await input.journal.resolveCompletedReceipt({ operationHandle: binding.operationHandle, requestDigest: binding.requestDigest }) : null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mkdtemp, realpath, rm } from "node:fs/promises";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { EVIDENCE_EXPORT_MOUNT, EVIDENCE_EXPORT_HELPER_CMD, EVIDENCE_EXPORT_HELPER_CONTRACT, EVIDENCE_EXPORT_HELPER_CONTRACT_LABEL, EVIDENCE_EXPORT_HELPER_ENTRYPOINT, EVIDENCE_EXPORT_HELPER_USER, createEvidenceExportHelper, parseEvidenceVolumeAuthority } from "./evidenceExportProvider.js";
|
|
4
|
+
import { EVIDENCE_EXPORT_MOUNT, EVIDENCE_EXPORT_HELPER_CMD, EVIDENCE_EXPORT_HELPER_CONTRACT, EVIDENCE_EXPORT_HELPER_CONTRACT_LABEL, EVIDENCE_EXPORT_HELPER_ENTRYPOINT, EVIDENCE_EXPORT_HELPER_ENV, EVIDENCE_EXPORT_HELPER_USER, createEvidenceExportHelper, parseEvidenceVolumeAuthority } from "./evidenceExportProvider.js";
|
|
5
5
|
import { createDockerArtifactSpec, initializeDockerArtifactIdentityStore } from "./dockerArtifactsProvider.js";
|
|
6
6
|
import { initializeEvidenceExportAuthorityStore } from "./evidenceExportStore.js";
|
|
7
7
|
import { createDockerResourceSpec } from "./dockerResourcesProvider.js";
|
|
@@ -92,7 +92,7 @@ export const runLifecycleExport = async (input = {}) => {
|
|
|
92
92
|
Entrypoint: EVIDENCE_EXPORT_HELPER_ENTRYPOINT,
|
|
93
93
|
Cmd: EVIDENCE_EXPORT_HELPER_CMD,
|
|
94
94
|
Labels: { [EVIDENCE_EXPORT_HELPER_CONTRACT_LABEL]: "v1" },
|
|
95
|
-
Env:
|
|
95
|
+
Env: ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],
|
|
96
96
|
ExposedPorts: null,
|
|
97
97
|
Healthcheck: null,
|
|
98
98
|
User: EVIDENCE_EXPORT_HELPER_USER,
|
|
@@ -268,7 +268,7 @@ export const helperProjection = (args, volumeName, imageLabels, mutate) => {
|
|
|
268
268
|
Config: {
|
|
269
269
|
Entrypoint: EVIDENCE_EXPORT_HELPER_ENTRYPOINT,
|
|
270
270
|
Cmd: EVIDENCE_EXPORT_HELPER_CMD,
|
|
271
|
-
Env:
|
|
271
|
+
Env: EVIDENCE_EXPORT_HELPER_ENV,
|
|
272
272
|
ExposedPorts: null,
|
|
273
273
|
Healthcheck: null,
|
|
274
274
|
Image: image,
|
|
@@ -6,6 +6,8 @@ export declare const EVIDENCE_EXPORT_HELPER_CONTRACT_VERSION: "v1";
|
|
|
6
6
|
export declare const EVIDENCE_EXPORT_HELPER_CONTRACT_LABEL: "spawnfile.target.evidence-export.helper-contract";
|
|
7
7
|
export declare const EVIDENCE_EXPORT_HELPER_ENTRYPOINT: readonly string[];
|
|
8
8
|
export declare const EVIDENCE_EXPORT_HELPER_CMD: readonly string[];
|
|
9
|
+
export declare const EVIDENCE_EXPORT_HELPER_PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
|
|
10
|
+
export declare const EVIDENCE_EXPORT_HELPER_ENV: readonly string[];
|
|
9
11
|
export declare const EVIDENCE_EXPORT_HELPER_USER: "65534:65534";
|
|
10
12
|
export interface DockerEvidenceExportExecutor {
|
|
11
13
|
(file: string, args: readonly string[], options: {
|
|
@@ -10,6 +10,10 @@ export const EVIDENCE_EXPORT_HELPER_CONTRACT_VERSION = "v1";
|
|
|
10
10
|
export const EVIDENCE_EXPORT_HELPER_CONTRACT_LABEL = "spawnfile.target.evidence-export.helper-contract";
|
|
11
11
|
export const EVIDENCE_EXPORT_HELPER_ENTRYPOINT = Object.freeze(["/bin/spawnfile-export-helper"]);
|
|
12
12
|
export const EVIDENCE_EXPORT_HELPER_CMD = Object.freeze([]);
|
|
13
|
+
export const EVIDENCE_EXPORT_HELPER_PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
|
|
14
|
+
export const EVIDENCE_EXPORT_HELPER_ENV = Object.freeze([
|
|
15
|
+
`PATH=${EVIDENCE_EXPORT_HELPER_PATH}`,
|
|
16
|
+
]);
|
|
13
17
|
export const EVIDENCE_EXPORT_HELPER_USER = "65534:65534";
|
|
14
18
|
const DIGEST = /^sha256:[a-f0-9]{64}$/u;
|
|
15
19
|
const NAME = /^spfe_[a-f0-9]{58}$/u;
|
|
@@ -37,8 +41,11 @@ const json = (raw) => { if (!utf8(raw))
|
|
|
37
41
|
catch {
|
|
38
42
|
return fail();
|
|
39
43
|
} };
|
|
44
|
+
const exactHelperEnv = (raw) => Array.isArray(raw)
|
|
45
|
+
&& raw.length === 1 && raw[0] === EVIDENCE_EXPORT_HELPER_ENV[0];
|
|
40
46
|
export const createEvidenceExportHelper = (raw) => {
|
|
41
|
-
|
|
47
|
+
const localConfig = raw.imageReference === raw.imageDigest;
|
|
48
|
+
if (typeof raw.artifactManifestDigest !== "string" || !DIGEST.test(raw.artifactManifestDigest) || typeof raw.imageDigest !== "string" || !DIGEST.test(raw.imageDigest) || typeof raw.imageReference !== "string" || !localConfig && (!isImmutableDockerImageReference(raw.imageReference) || !raw.imageReference.endsWith(`@${raw.imageDigest}`)))
|
|
42
49
|
return fail();
|
|
43
50
|
return Object.freeze({ artifactManifestDigest: raw.artifactManifestDigest, image_digest: raw.imageDigest, image_reference: raw.imageReference, result_handle: parseOpaqueTargetHandle(raw.resultHandle) });
|
|
44
51
|
};
|
|
@@ -91,7 +98,8 @@ export const parseEvidenceExportImageInspection = (stdout, helper) => {
|
|
|
91
98
|
if (!Array.isArray(value) || value.length !== 1 || !exact(value[0], ["Config", "RepoDigests"]))
|
|
92
99
|
return fail();
|
|
93
100
|
const image = value[0];
|
|
94
|
-
|
|
101
|
+
const localConfig = prepared.image_reference === prepared.image_digest;
|
|
102
|
+
if (!localConfig && (!Array.isArray(image.RepoDigests) || image.RepoDigests.length < 1 || image.RepoDigests.length > 32 || image.RepoDigests.some((value) => !isImmutableDockerImageReference(value))))
|
|
95
103
|
return fail();
|
|
96
104
|
if (!exact(image.Config, ["Cmd", "Entrypoint", "Env", "ExposedPorts", "Healthcheck", "Labels", "User", "Volumes"]))
|
|
97
105
|
return fail();
|
|
@@ -105,9 +113,10 @@ export const parseEvidenceExportImageInspection = (stdout, helper) => {
|
|
|
105
113
|
return fail();
|
|
106
114
|
if (config.User !== EVIDENCE_EXPORT_HELPER_USER)
|
|
107
115
|
return fail();
|
|
108
|
-
if (config.Env
|
|
116
|
+
if (!exactHelperEnv(config.Env)
|
|
117
|
+
|| config.ExposedPorts !== null || config.Healthcheck !== null || config.Volumes !== null)
|
|
109
118
|
return fail();
|
|
110
|
-
if (!image.RepoDigests.includes(prepared.image_reference))
|
|
119
|
+
if (!localConfig && !image.RepoDigests.includes(prepared.image_reference))
|
|
111
120
|
return fail();
|
|
112
121
|
return { labels: Object.freeze({ ...labels }) };
|
|
113
122
|
};
|
|
@@ -140,7 +149,8 @@ export const isExpectedEvidenceExportHelper = (stdout, spec) => {
|
|
|
140
149
|
return item.Name === `/${spec.containerName}` && config.Image === spec.imageReference
|
|
141
150
|
&& JSON.stringify(config.Entrypoint) === JSON.stringify(EVIDENCE_EXPORT_HELPER_ENTRYPOINT)
|
|
142
151
|
&& (cmd === null || (Array.isArray(cmd) && cmd.length === 0))
|
|
143
|
-
&& config.Env
|
|
152
|
+
&& exactHelperEnv(config.Env)
|
|
153
|
+
&& config.ExposedPorts === null && config.Healthcheck === null && config.Volumes === null
|
|
144
154
|
&& config.User === EVIDENCE_EXPORT_HELPER_USER
|
|
145
155
|
&& exact(config.Labels, Object.keys(expectedLabels))
|
|
146
156
|
&& Object.entries(expectedLabels).every(([key, value]) => config.Labels !== null && config.Labels[key] === value)
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_REQUEST_VERSION: "spawnfile.target-public-artifact-snapshot.request.v1";
|
|
3
3
|
export declare const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_VERSION: "spawnfile.target-public-artifact-snapshot.v1";
|
|
4
|
+
export declare const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_NOT_PRESENT_VERSION: "spawnfile.target-public-artifact-snapshot.not-present.v1";
|
|
4
5
|
export declare const TARGET_PUBLIC_ARTIFACT_ROOT: "/tmp/spawnfile-public";
|
|
5
6
|
export declare const MAX_TARGET_PUBLIC_ARTIFACT_BYTES = 131072;
|
|
7
|
+
export declare const isTargetPublicArtifactPath: (value: unknown) => value is string;
|
|
6
8
|
export declare const targetPublicArtifactSnapshotRequestSchema: z.ZodObject<{
|
|
7
9
|
artifact: z.ZodObject<{
|
|
8
10
|
id: z.ZodString;
|
|
@@ -29,13 +31,42 @@ export declare const targetPublicArtifactSnapshotSchema: z.ZodObject<{
|
|
|
29
31
|
size_bytes: z.ZodNumber;
|
|
30
32
|
version: z.ZodLiteral<"spawnfile.target-public-artifact-snapshot.v1">;
|
|
31
33
|
}, z.core.$strict>;
|
|
34
|
+
export declare const targetPublicArtifactSnapshotNotPresentSchema: z.ZodObject<{
|
|
35
|
+
artifact_id: z.ZodString;
|
|
36
|
+
request_digest: z.ZodString;
|
|
37
|
+
run_id: z.ZodPipe<z.ZodString, z.ZodTransform<import("./contracts.js").RunId, string>>;
|
|
38
|
+
status: z.ZodLiteral<"not_present">;
|
|
39
|
+
version: z.ZodLiteral<"spawnfile.target-public-artifact-snapshot.not-present.v1">;
|
|
40
|
+
}, z.core.$strict>;
|
|
41
|
+
export declare const targetPublicArtifactSnapshotResultSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
42
|
+
artifact_id: z.ZodString;
|
|
43
|
+
content_base64: z.ZodString;
|
|
44
|
+
content_digest: z.ZodString;
|
|
45
|
+
media_type: z.ZodString;
|
|
46
|
+
request_digest: z.ZodString;
|
|
47
|
+
run_id: z.ZodPipe<z.ZodString, z.ZodTransform<import("./contracts.js").RunId, string>>;
|
|
48
|
+
size_bytes: z.ZodNumber;
|
|
49
|
+
version: z.ZodLiteral<"spawnfile.target-public-artifact-snapshot.v1">;
|
|
50
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
51
|
+
artifact_id: z.ZodString;
|
|
52
|
+
request_digest: z.ZodString;
|
|
53
|
+
run_id: z.ZodPipe<z.ZodString, z.ZodTransform<import("./contracts.js").RunId, string>>;
|
|
54
|
+
status: z.ZodLiteral<"not_present">;
|
|
55
|
+
version: z.ZodLiteral<"spawnfile.target-public-artifact-snapshot.not-present.v1">;
|
|
56
|
+
}, z.core.$strict>]>;
|
|
32
57
|
export type TargetPublicArtifactSnapshotRequest = z.infer<typeof targetPublicArtifactSnapshotRequestSchema>;
|
|
33
58
|
export type TargetPublicArtifactSnapshot = z.infer<typeof targetPublicArtifactSnapshotSchema>;
|
|
59
|
+
export type TargetPublicArtifactSnapshotNotPresent = z.infer<typeof targetPublicArtifactSnapshotNotPresentSchema>;
|
|
60
|
+
export type TargetPublicArtifactSnapshotResult = z.infer<typeof targetPublicArtifactSnapshotResultSchema>;
|
|
34
61
|
export declare const parseTargetPublicArtifactSnapshotRequest: (raw: unknown) => TargetPublicArtifactSnapshotRequest;
|
|
35
62
|
export declare const parseTargetPublicArtifactSnapshot: (raw: unknown) => TargetPublicArtifactSnapshot;
|
|
63
|
+
export declare const parseTargetPublicArtifactSnapshotNotPresent: (raw: unknown) => TargetPublicArtifactSnapshotNotPresent;
|
|
64
|
+
export declare const parseTargetPublicArtifactSnapshotResult: (raw: unknown) => TargetPublicArtifactSnapshotResult;
|
|
36
65
|
export declare const createTargetPublicArtifactSnapshotRequestDigest: (raw: unknown) => `sha256:${string}`;
|
|
37
66
|
export declare const createTargetPublicArtifactSnapshot: (input: {
|
|
38
67
|
readonly content: Uint8Array;
|
|
39
68
|
readonly request: TargetPublicArtifactSnapshotRequest;
|
|
40
69
|
}) => TargetPublicArtifactSnapshot;
|
|
70
|
+
export declare const createTargetPublicArtifactSnapshotNotPresent: (raw: unknown) => TargetPublicArtifactSnapshotNotPresent;
|
|
41
71
|
export declare const createCanonicalTargetPublicArtifactSnapshotBytes: (raw: unknown) => string;
|
|
72
|
+
export declare const createCanonicalTargetPublicArtifactSnapshotResultBytes: (raw: unknown) => string;
|