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
|
@@ -5,8 +5,8 @@ import path from "node:path";
|
|
|
5
5
|
import { LIFECYCLE_RECORD_MAX_BYTES } from "./lifecycleCompletionContracts.js";
|
|
6
6
|
import { failLifecycleStore, resolveLifecycleCompletionDirectory } from "./lifecycleCompletionPaths.js";
|
|
7
7
|
import { openLifecycleAuthorityRoot, requireLifecycleRootAuthority, revalidateHeldLifecycleRoot, revalidateLifecycleRootAuthority, syncLifecycleDirectory, validateLifecycleRoot } from "./lifecycleCompletionRoot.js";
|
|
8
|
-
import { matchesSettledLifecyclePublication, readSettledLifecycleRecord } from "./lifecycleCompletionPublication.js";
|
|
9
|
-
export { admissionPath, evidencePath, failLifecycleStore, heartbeatPath, lifecycleRecordName, planPath, recoveryPath, resolveLifecycleCompletionDirectory, resolveLifecycleCompletionPath } from "./lifecycleCompletionPaths.js";
|
|
8
|
+
import { matchesSettledLifecyclePublication, readSettledLifecycleRecord, settleLifecyclePublicationUntil } from "./lifecycleCompletionPublication.js";
|
|
9
|
+
export { admissionPath, evidencePath, failLifecycleStore, heartbeatPath, lifecycleRecordName, planPath, recoveryPath, upCleanupPath, upReservationPath, upStartPath, resolveLifecycleCompletionDirectory, resolveLifecycleCompletionPath } from "./lifecycleCompletionPaths.js";
|
|
10
10
|
export { existingLifecycleRoot, lifecycleRoot, syncLifecycleDirectory } from "./lifecycleCompletionRoot.js";
|
|
11
11
|
const OWNER = process.getuid?.() ?? -1;
|
|
12
12
|
let testHook = null;
|
|
@@ -133,17 +133,17 @@ export const publishLifecycleRecord = async (directory, file, content, existing
|
|
|
133
133
|
}
|
|
134
134
|
return false;
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
await settleLifecyclePublicationUntil(async () => {
|
|
137
137
|
const exact = await readLifecycleRecord(final, [1, 2]);
|
|
138
138
|
if (exact !== content)
|
|
139
139
|
failLifecycleStore("publication changed");
|
|
140
140
|
if ((await lstat(final).catch(() => null))?.nlink === 1) {
|
|
141
141
|
await revalidateHeldLifecycleRoot(authority, rootHandle);
|
|
142
|
-
return
|
|
142
|
+
return true;
|
|
143
143
|
}
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
return
|
|
144
|
+
return false;
|
|
145
|
+
});
|
|
146
|
+
return linked;
|
|
147
147
|
}
|
|
148
148
|
finally {
|
|
149
149
|
await rootHandle.close().catch(() => undefined);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type LifecycleInvocation, type LifecycleOwnerCapability, type LifecycleUpReservation, type LifecycleUpStart } from "./lifecycleCompletionContracts.js";
|
|
2
|
+
export { LIFECYCLE_UP_EXTRA_LABELS, type LifecycleUpReservation, type LifecycleUpStart, } from "./lifecycleCompletionContracts.js";
|
|
3
|
+
export declare const findLifecycleUpReservation: (raw: LifecycleInvocation) => Promise<LifecycleUpReservation | null>;
|
|
4
|
+
export declare const recordLifecycleUpReservation: (raw: LifecycleInvocation, reservation: Omit<LifecycleUpReservation, "invocation" | "version">, capability: LifecycleOwnerCapability) => Promise<void>;
|
|
5
|
+
export interface LifecycleUpStartState {
|
|
6
|
+
readonly attempt: number;
|
|
7
|
+
readonly start: LifecycleUpStart;
|
|
8
|
+
}
|
|
9
|
+
export declare const findLifecycleUpStart: (raw: LifecycleInvocation) => Promise<LifecycleUpStartState | null>;
|
|
10
|
+
export declare const recordLifecycleUpStart: (raw: LifecycleInvocation, start: Omit<LifecycleUpStart, "attempt" | "invocation" | "version">, capability: LifecycleOwnerCapability) => Promise<void>;
|
|
11
|
+
export declare const recordLifecycleUpCleanup: (raw: LifecycleInvocation, state: LifecycleUpStartState, capability: LifecycleOwnerCapability) => Promise<void>;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { readSettledLifecycleRecord } from "./lifecycleCompletionPublication.js";
|
|
3
|
+
import { canonicalLifecycleJson, lifecycleUpCleanupSchema, lifecycleUpReservationSchema, lifecycleUpStartSchema, LIFECYCLE_UP_CLEANUP_VERSION, LIFECYCLE_UP_RESERVATION_VERSION, LIFECYCLE_UP_START_VERSION, } from "./lifecycleCompletionContracts.js";
|
|
4
|
+
import { assertLifecycleOwnerCapability } from "./lifecycleCompletionOwner.js";
|
|
5
|
+
import { parseLifecycleAdmission, parseLifecycleInvocation } from "./lifecycleCompletionParsing.js";
|
|
6
|
+
import { admissionPath, failLifecycleStore, lifecycleRecordName, lifecycleRoot, publishLifecycleRecord, readLifecycleRecord, recoveryPath, upCleanupPath, upReservationPath, upStartPath, } from "./lifecycleCompletionStore.js";
|
|
7
|
+
export { LIFECYCLE_UP_EXTRA_LABELS, } from "./lifecycleCompletionContracts.js";
|
|
8
|
+
const MAX_ATTEMPTS = 16;
|
|
9
|
+
const canonical = canonicalLifecycleJson;
|
|
10
|
+
const fail = failLifecycleStore;
|
|
11
|
+
const exactAdmission = async (invocation) => {
|
|
12
|
+
const text = await readSettledLifecycleRecord(admissionPath(invocation.id), readLifecycleRecord);
|
|
13
|
+
if (text === null)
|
|
14
|
+
return fail("missing admission");
|
|
15
|
+
const admission = parseLifecycleAdmission(text);
|
|
16
|
+
if (canonical(admission.invocation) !== canonical(invocation))
|
|
17
|
+
fail("invocation id drift");
|
|
18
|
+
return admission;
|
|
19
|
+
};
|
|
20
|
+
const assertOwner = async (invocation, capability) => {
|
|
21
|
+
const recoveryText = await readSettledLifecycleRecord(recoveryPath(invocation.id), readLifecycleRecord);
|
|
22
|
+
const recovered = recoveryText ? parseLifecycleAdmission(recoveryText) : null;
|
|
23
|
+
assertLifecycleOwnerCapability(invocation, await exactAdmission(invocation), recovered, capability);
|
|
24
|
+
};
|
|
25
|
+
const parseRecord = (text, parse, invocation) => {
|
|
26
|
+
const value = (() => {
|
|
27
|
+
try {
|
|
28
|
+
return parse(JSON.parse(text));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return fail("invalid up lifecycle record");
|
|
32
|
+
}
|
|
33
|
+
})();
|
|
34
|
+
const record = value;
|
|
35
|
+
if (`${canonical(value)}\n` !== text || canonical(record.invocation) !== canonical(invocation)) {
|
|
36
|
+
fail("invocation id drift");
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
};
|
|
40
|
+
export const findLifecycleUpReservation = async (raw) => {
|
|
41
|
+
const invocation = parseLifecycleInvocation(raw);
|
|
42
|
+
if (invocation.operation !== "up")
|
|
43
|
+
fail("non-up reservation lookup");
|
|
44
|
+
await lifecycleRoot();
|
|
45
|
+
const text = await readSettledLifecycleRecord(upReservationPath(invocation.id), readLifecycleRecord);
|
|
46
|
+
return text === null ? null : parseRecord(text, (value) => lifecycleUpReservationSchema.parse(value), invocation);
|
|
47
|
+
};
|
|
48
|
+
export const recordLifecycleUpReservation = async (raw, reservation, capability) => {
|
|
49
|
+
const invocation = parseLifecycleInvocation(raw);
|
|
50
|
+
if (invocation.operation !== "up")
|
|
51
|
+
fail("non-up reservation record");
|
|
52
|
+
const directory = await lifecycleRoot();
|
|
53
|
+
await assertOwner(invocation, capability);
|
|
54
|
+
const value = lifecycleUpReservationSchema.parse({
|
|
55
|
+
...reservation, invocation, version: LIFECYCLE_UP_RESERVATION_VERSION,
|
|
56
|
+
});
|
|
57
|
+
await publishLifecycleRecord(directory, lifecycleRecordName(invocation.id, "up-reservation"), `${canonical(value)}\n`);
|
|
58
|
+
};
|
|
59
|
+
const readStart = async (invocation, attempt) => {
|
|
60
|
+
const text = await readSettledLifecycleRecord(upStartPath(invocation.id, attempt), readLifecycleRecord);
|
|
61
|
+
return text === null ? null : parseRecord(text, (value) => lifecycleUpStartSchema.parse(value), invocation);
|
|
62
|
+
};
|
|
63
|
+
const readCleanup = async (invocation, attempt) => {
|
|
64
|
+
const text = await readSettledLifecycleRecord(upCleanupPath(invocation.id, attempt), readLifecycleRecord);
|
|
65
|
+
return text === null ? null : parseRecord(text, (value) => lifecycleUpCleanupSchema.parse(value), invocation);
|
|
66
|
+
};
|
|
67
|
+
const findUpAttempt = async (invocation) => {
|
|
68
|
+
for (let attempt = 0; attempt <= MAX_ATTEMPTS; attempt += 1) {
|
|
69
|
+
const start = await readStart(invocation, attempt);
|
|
70
|
+
if (start === null) {
|
|
71
|
+
if (await readCleanup(invocation, attempt))
|
|
72
|
+
fail("up cleanup without start");
|
|
73
|
+
return { active: null, next: attempt };
|
|
74
|
+
}
|
|
75
|
+
if (start.attempt !== attempt)
|
|
76
|
+
fail("up start attempt drift");
|
|
77
|
+
const cleanup = await readCleanup(invocation, attempt);
|
|
78
|
+
if (cleanup === null)
|
|
79
|
+
return { active: { attempt, start }, next: attempt };
|
|
80
|
+
if (cleanup.attempt !== attempt || cleanup.container_id !== start.container_id)
|
|
81
|
+
fail("up cleanup drift");
|
|
82
|
+
}
|
|
83
|
+
return fail("up retry limit reached");
|
|
84
|
+
};
|
|
85
|
+
export const findLifecycleUpStart = async (raw) => {
|
|
86
|
+
const invocation = parseLifecycleInvocation(raw);
|
|
87
|
+
if (invocation.operation !== "up")
|
|
88
|
+
fail("non-up start lookup");
|
|
89
|
+
await lifecycleRoot();
|
|
90
|
+
return (await findUpAttempt(invocation)).active;
|
|
91
|
+
};
|
|
92
|
+
const sameAuthority = (reservation, start) => reservation.container_name === start.container_name
|
|
93
|
+
&& canonical(reservation.label_authority) === canonical(start.label_authority);
|
|
94
|
+
export const recordLifecycleUpStart = async (raw, start, capability) => {
|
|
95
|
+
const invocation = parseLifecycleInvocation(raw);
|
|
96
|
+
if (invocation.operation !== "up")
|
|
97
|
+
fail("non-up start record");
|
|
98
|
+
const directory = await lifecycleRoot();
|
|
99
|
+
await assertOwner(invocation, capability);
|
|
100
|
+
const reservation = await findLifecycleUpReservation(invocation);
|
|
101
|
+
if (!reservation)
|
|
102
|
+
return fail("missing up reservation");
|
|
103
|
+
const current = await findUpAttempt(invocation);
|
|
104
|
+
const value = lifecycleUpStartSchema.parse({ ...start, attempt: current.next, invocation, version: LIFECYCLE_UP_START_VERSION });
|
|
105
|
+
if (!sameAuthority(reservation, value))
|
|
106
|
+
fail("up start authority drift");
|
|
107
|
+
if (current.active) {
|
|
108
|
+
if (canonical(current.active.start) !== canonical(value))
|
|
109
|
+
fail("active up start changed");
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
await publishLifecycleRecord(directory, path.basename(upStartPath(invocation.id, current.next)), `${canonical(value)}\n`);
|
|
113
|
+
};
|
|
114
|
+
export const recordLifecycleUpCleanup = async (raw, state, capability) => {
|
|
115
|
+
const invocation = parseLifecycleInvocation(raw);
|
|
116
|
+
const directory = await lifecycleRoot();
|
|
117
|
+
await assertOwner(invocation, capability);
|
|
118
|
+
const active = await findUpAttempt(invocation);
|
|
119
|
+
if (!active.active || active.active.attempt !== state.attempt
|
|
120
|
+
|| canonical(active.active.start) !== canonical(state.start))
|
|
121
|
+
fail("up cleanup without active start");
|
|
122
|
+
const value = lifecycleUpCleanupSchema.parse({
|
|
123
|
+
attempt: state.attempt, container_id: state.start.container_id, invocation,
|
|
124
|
+
version: LIFECYCLE_UP_CLEANUP_VERSION,
|
|
125
|
+
});
|
|
126
|
+
await publishLifecycleRecord(directory, path.basename(upCleanupPath(invocation.id, state.attempt)), `${canonical(value)}\n`);
|
|
127
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Native deployment helpers
|
|
2
|
+
|
|
3
|
+
This folder contains bounded, package-owned native helpers for deployment
|
|
4
|
+
syscalls Node does not expose. Helpers accept validated single-component names,
|
|
5
|
+
emit one bounded JSON result, and fail closed.
|
|
6
|
+
|
|
7
|
+
`artifacts/` contains the verified Linux x64 and arm64 package inputs so the
|
|
8
|
+
normal Node build stays offline and Docker-free. `copyArtifacts.ts` verifies
|
|
9
|
+
and copies them into `dist`. Only the explicit maintainer `build:native` path
|
|
10
|
+
may replace them using the digest-pinned compiler image; CI rebuilds and
|
|
11
|
+
syscall-tests both architectures before publication.
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"spawnfile.rename-noreplace-build.v1","architecture":"arm64","binary_sha256":"sha256:fb1f0d24fe7dfc4db18e972b9d60d839bf11ed82c78bf89cf6eca3f21502529f","builder_image":"gcc:14.2.0@sha256:b99b86a28812b1e6453a231a947dc43d76fe192788a12f344a9b568bf9f5d24c","compiler":"gcc:14.2.0","source_sha256":"sha256:64458e923931f7ca4df9ac2d19fd0361093e985ab3fbd8bf422ceb31a60b0e79","target":"linux/arm64"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"spawnfile.rename-noreplace-build.v1","architecture":"x64","binary_sha256":"sha256:5c80678b8b1325085eeb56fd8125dbad9a8e00e7a9871994702d95eabd80ab26","builder_image":"gcc:14.2.0@sha256:b99b86a28812b1e6453a231a947dc43d76fe192788a12f344a9b568bf9f5d24c","compiler":"gcc:14.2.0","source_sha256":"sha256:64458e923931f7ca4df9ac2d19fd0361093e985ab3fbd8bf422ceb31a60b0e79","target":"linux/amd64"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type HelperResult = {
|
|
2
|
+
stderr: string;
|
|
3
|
+
stdout: string;
|
|
4
|
+
};
|
|
5
|
+
type HelperRun = (file: string, args: string[], options: {
|
|
6
|
+
encoding: "utf8";
|
|
7
|
+
maxBuffer: number;
|
|
8
|
+
timeout: number;
|
|
9
|
+
windowsHide: true;
|
|
10
|
+
}) => Promise<HelperResult>;
|
|
11
|
+
export declare const activateNoReplaceWith: (temporaryPath: string, destinationPath: string, runtime: {
|
|
12
|
+
arch: string;
|
|
13
|
+
platform: string;
|
|
14
|
+
run: HelperRun;
|
|
15
|
+
}) => Promise<void>;
|
|
16
|
+
export declare const activateNoReplace: (temporaryPath: string, destinationPath: string) => Promise<void>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { execFile as execFileCallback } from "node:child_process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { promisify } from "node:util";
|
|
5
|
+
const execFile = promisify(execFileCallback);
|
|
6
|
+
const MAX_OUTPUT = 4096;
|
|
7
|
+
const TIMEOUT_MS = 5_000;
|
|
8
|
+
const component = (value) => value.length > 0 && value !== "." && value !== ".." && !value.includes(path.sep);
|
|
9
|
+
export const activateNoReplaceWith = async (temporaryPath, destinationPath, runtime) => {
|
|
10
|
+
if (runtime.platform !== "linux" || (runtime.arch !== "x64" && runtime.arch !== "arm64"))
|
|
11
|
+
throw new Error("Workspace resource atomic no-replace activation is unsupported on this platform");
|
|
12
|
+
const parent = path.dirname(temporaryPath);
|
|
13
|
+
if (parent !== path.dirname(destinationPath) || !path.isAbsolute(parent))
|
|
14
|
+
throw new Error("Workspace resource activation paths must share one canonical parent");
|
|
15
|
+
const source = path.basename(temporaryPath);
|
|
16
|
+
const destination = path.basename(destinationPath);
|
|
17
|
+
if (!component(source) || !component(destination))
|
|
18
|
+
throw new Error("Workspace resource activation names must be single components");
|
|
19
|
+
const helper = fileURLToPath(new URL(`./native/rename-noreplace-${runtime.arch}`, import.meta.url));
|
|
20
|
+
try {
|
|
21
|
+
const result = await runtime.run(helper, [parent, source, destination], { encoding: "utf8", maxBuffer: MAX_OUTPUT, timeout: TIMEOUT_MS, windowsHide: true });
|
|
22
|
+
if (result.stderr !== "" || result.stdout !== '{"ok":true}\n')
|
|
23
|
+
throw new Error("Workspace resource atomic helper returned malformed output");
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
const failure = error;
|
|
27
|
+
if (failure.killed || failure.code === "ETIMEDOUT")
|
|
28
|
+
throw new Error("Workspace resource atomic helper timed out");
|
|
29
|
+
if (failure.code === "ENOENT")
|
|
30
|
+
throw new Error("Workspace resource atomic helper is missing");
|
|
31
|
+
if (typeof failure.stdout === "string" && failure.stdout.length <= MAX_OUTPUT) {
|
|
32
|
+
try {
|
|
33
|
+
const parsed = JSON.parse(failure.stdout);
|
|
34
|
+
if (parsed.ok === false && ["EEXIST", "EXDEV", "ENOSYS", "EOPNOTSUPP"].includes(parsed.error ?? "")) {
|
|
35
|
+
const mapped = new Error(`Workspace resource atomic activation failed: ${parsed.error}`);
|
|
36
|
+
mapped.code = parsed.error;
|
|
37
|
+
throw mapped;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (parsedError) {
|
|
41
|
+
if (parsedError.code)
|
|
42
|
+
throw parsedError;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (failure.message.includes("malformed output"))
|
|
46
|
+
throw failure;
|
|
47
|
+
throw new Error("Workspace resource atomic helper failed closed");
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
export const activateNoReplace = async (temporaryPath, destinationPath) => await activateNoReplaceWith(temporaryPath, destinationPath, { arch: process.arch, platform: process.platform, run: execFile });
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostics and convergence budget for the organization handoff filesystem
|
|
3
|
+
* authority.
|
|
4
|
+
*
|
|
5
|
+
* This module is deliberately dependency-free: the authority worker is forked
|
|
6
|
+
* as a standalone process whose only other imports are `node:fs`, and that
|
|
7
|
+
* minimal surface is part of its threat model.
|
|
8
|
+
*
|
|
9
|
+
* ## Why a wall-clock budget
|
|
10
|
+
*
|
|
11
|
+
* Concurrent publishers converge by waiting for a peer to finish writing and
|
|
12
|
+
* linking a record. That is a wall-clock event — it completes when the peer is
|
|
13
|
+
* scheduled and its I/O lands. An attempt-counted budget answers a different
|
|
14
|
+
* question ("have I looked N times?") whose relationship to elapsed time is set
|
|
15
|
+
* by machine load, so the effective patience of the loop drifts with the very
|
|
16
|
+
* contention it exists to absorb. The budget below is therefore primarily a
|
|
17
|
+
* deadline; the attempt cap is only a secondary guard against a pathological
|
|
18
|
+
* hot loop if a timer or clock misbehaves.
|
|
19
|
+
*
|
|
20
|
+
* ## Why one budget per request
|
|
21
|
+
*
|
|
22
|
+
* The convergence loops nest (write -> settle -> read-staging -> read). Giving
|
|
23
|
+
* each loop its own budget bounds no level usefully: each individual loop is
|
|
24
|
+
* too impatient while their product is effectively unbounded. A single budget
|
|
25
|
+
* threaded through one request bounds the thing that actually has a deadline —
|
|
26
|
+
* the request — and is what the client's own request deadline must exceed.
|
|
27
|
+
*/
|
|
28
|
+
/** Uniform public failure message. Detail is appended, never substituted. */
|
|
29
|
+
export declare const ORGANIZATION_HANDOFF_AUTHORITY_ERROR = "Organization handoff authority failed";
|
|
30
|
+
/** Wall-clock convergence budget for one authority request. */
|
|
31
|
+
export declare const PUBLICATION_BUDGET_MS = 2000;
|
|
32
|
+
/**
|
|
33
|
+
* Secondary bound only. It is far above the attempt count any healthy
|
|
34
|
+
* convergence needs; it exists so a broken timer cannot spin forever.
|
|
35
|
+
*/
|
|
36
|
+
export declare const PUBLICATION_MAX_ATTEMPTS = 4096;
|
|
37
|
+
/**
|
|
38
|
+
* Fraction of the budget spent waiting for a peer before a proven, incomplete
|
|
39
|
+
* staging prefix is retired instead. Patience must expire strictly before the
|
|
40
|
+
* budget does, or the recovery path could never run.
|
|
41
|
+
*/
|
|
42
|
+
export declare const PUBLICATION_PATIENCE_FRACTION = 0.5;
|
|
43
|
+
/**
|
|
44
|
+
* Structural diagnostics for a failed authority request.
|
|
45
|
+
*
|
|
46
|
+
* `state` describes the *shape* of the contending filesystem state — sidecar
|
|
47
|
+
* presence, link counts, sizes. It never carries record bytes, leaf names, or
|
|
48
|
+
* paths: this is the secret-publication path, and the diagnostic must not
|
|
49
|
+
* become a disclosure channel.
|
|
50
|
+
*/
|
|
51
|
+
export interface OrganizationHandoffAuthorityFailureDetail {
|
|
52
|
+
readonly attempts?: number;
|
|
53
|
+
readonly budget?: string;
|
|
54
|
+
readonly code: string;
|
|
55
|
+
readonly elapsedMs?: number;
|
|
56
|
+
readonly limitMs?: number;
|
|
57
|
+
readonly state?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Render a detail as the suffix appended to the uniform failure message. */
|
|
60
|
+
export declare const describeOrganizationHandoffAuthorityFailure: (detail: OrganizationHandoffAuthorityFailureDetail) => string;
|
|
61
|
+
/** An authority failure that carries its structural diagnostics. */
|
|
62
|
+
export declare class OrganizationHandoffAuthorityFailure extends Error {
|
|
63
|
+
readonly detail: OrganizationHandoffAuthorityFailureDetail;
|
|
64
|
+
constructor(detail: OrganizationHandoffAuthorityFailureDetail);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Build an error for the uniform message plus optional detail. Callers that
|
|
68
|
+
* have no diagnostics still produce the exact historical message, so existing
|
|
69
|
+
* substring expectations and the store's opaque public boundary hold.
|
|
70
|
+
*/
|
|
71
|
+
export declare const createOrganizationHandoffAuthorityError: (detail?: OrganizationHandoffAuthorityFailureDetail) => Error;
|
|
72
|
+
/** Narrow an unknown IPC payload to a bounded, well-formed detail. */
|
|
73
|
+
export declare const parseOrganizationHandoffAuthorityFailureDetail: (raw: unknown) => OrganizationHandoffAuthorityFailureDetail | undefined;
|
|
74
|
+
/** Reduce an unknown thrown value to a bounded detail suitable for IPC. */
|
|
75
|
+
export declare const toOrganizationHandoffAuthorityFailureDetail: (error: unknown) => OrganizationHandoffAuthorityFailureDetail;
|
|
76
|
+
export interface OrganizationHandoffAuthorityBudgetOptions {
|
|
77
|
+
readonly limitMs?: number;
|
|
78
|
+
readonly maxAttempts?: number;
|
|
79
|
+
readonly now?: () => number;
|
|
80
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* One request's convergence budget: a wall-clock deadline, a secondary attempt
|
|
84
|
+
* cap, and adaptive backoff with jitter.
|
|
85
|
+
*
|
|
86
|
+
* The jitter matters as much as the deadline. Symmetric publishers waking on a
|
|
87
|
+
* fixed 2ms timer retry in lockstep, so every peer re-observes the same
|
|
88
|
+
* unfinished state and burns the budget in phase. Randomised, growing waits
|
|
89
|
+
* break that convoy so peers observe each other's progress instead.
|
|
90
|
+
*/
|
|
91
|
+
export declare class OrganizationHandoffAuthorityBudget {
|
|
92
|
+
#private;
|
|
93
|
+
constructor(options?: OrganizationHandoffAuthorityBudgetOptions);
|
|
94
|
+
get attempts(): number;
|
|
95
|
+
get elapsedMs(): number;
|
|
96
|
+
get limitMs(): number;
|
|
97
|
+
/** True once no further waiting is permitted for this request. */
|
|
98
|
+
exhausted(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* True while a peer still deserves the benefit of the doubt. Once false, a
|
|
101
|
+
* proven incomplete staging prefix may be retired — the caller has already
|
|
102
|
+
* linked, or is about to link, the immutable final record that prevents that
|
|
103
|
+
* prefix from winning a later election.
|
|
104
|
+
*/
|
|
105
|
+
patient(): boolean;
|
|
106
|
+
/** Snapshot the budget for a failure detail. */
|
|
107
|
+
snapshot(code: string, budget: string, state?: string): OrganizationHandoffAuthorityFailureDetail;
|
|
108
|
+
/** Back off before the next observation, never past the deadline. */
|
|
109
|
+
wait(): Promise<void>;
|
|
110
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostics and convergence budget for the organization handoff filesystem
|
|
3
|
+
* authority.
|
|
4
|
+
*
|
|
5
|
+
* This module is deliberately dependency-free: the authority worker is forked
|
|
6
|
+
* as a standalone process whose only other imports are `node:fs`, and that
|
|
7
|
+
* minimal surface is part of its threat model.
|
|
8
|
+
*
|
|
9
|
+
* ## Why a wall-clock budget
|
|
10
|
+
*
|
|
11
|
+
* Concurrent publishers converge by waiting for a peer to finish writing and
|
|
12
|
+
* linking a record. That is a wall-clock event — it completes when the peer is
|
|
13
|
+
* scheduled and its I/O lands. An attempt-counted budget answers a different
|
|
14
|
+
* question ("have I looked N times?") whose relationship to elapsed time is set
|
|
15
|
+
* by machine load, so the effective patience of the loop drifts with the very
|
|
16
|
+
* contention it exists to absorb. The budget below is therefore primarily a
|
|
17
|
+
* deadline; the attempt cap is only a secondary guard against a pathological
|
|
18
|
+
* hot loop if a timer or clock misbehaves.
|
|
19
|
+
*
|
|
20
|
+
* ## Why one budget per request
|
|
21
|
+
*
|
|
22
|
+
* The convergence loops nest (write -> settle -> read-staging -> read). Giving
|
|
23
|
+
* each loop its own budget bounds no level usefully: each individual loop is
|
|
24
|
+
* too impatient while their product is effectively unbounded. A single budget
|
|
25
|
+
* threaded through one request bounds the thing that actually has a deadline —
|
|
26
|
+
* the request — and is what the client's own request deadline must exceed.
|
|
27
|
+
*/
|
|
28
|
+
/** Uniform public failure message. Detail is appended, never substituted. */
|
|
29
|
+
export const ORGANIZATION_HANDOFF_AUTHORITY_ERROR = "Organization handoff authority failed";
|
|
30
|
+
/** Wall-clock convergence budget for one authority request. */
|
|
31
|
+
export const PUBLICATION_BUDGET_MS = 2_000;
|
|
32
|
+
/**
|
|
33
|
+
* Secondary bound only. It is far above the attempt count any healthy
|
|
34
|
+
* convergence needs; it exists so a broken timer cannot spin forever.
|
|
35
|
+
*/
|
|
36
|
+
export const PUBLICATION_MAX_ATTEMPTS = 4_096;
|
|
37
|
+
/**
|
|
38
|
+
* Fraction of the budget spent waiting for a peer before a proven, incomplete
|
|
39
|
+
* staging prefix is retired instead. Patience must expire strictly before the
|
|
40
|
+
* budget does, or the recovery path could never run.
|
|
41
|
+
*/
|
|
42
|
+
export const PUBLICATION_PATIENCE_FRACTION = 0.5;
|
|
43
|
+
const BASE_WAIT_MS = 1;
|
|
44
|
+
const MAX_WAIT_MS = 25;
|
|
45
|
+
const MAX_CODE_LENGTH = 64;
|
|
46
|
+
const MAX_STATE_LENGTH = 240;
|
|
47
|
+
const clamp = (value, limit) => value.length > limit ? `${value.slice(0, limit - 1)}~` : value;
|
|
48
|
+
const isSafeNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
49
|
+
/** Render a detail as the suffix appended to the uniform failure message. */
|
|
50
|
+
export const describeOrganizationHandoffAuthorityFailure = (detail) => {
|
|
51
|
+
const fields = [];
|
|
52
|
+
if (detail.budget !== undefined)
|
|
53
|
+
fields.push(`budget=${detail.budget}`);
|
|
54
|
+
if (detail.attempts !== undefined)
|
|
55
|
+
fields.push(`attempts=${detail.attempts}`);
|
|
56
|
+
if (detail.elapsedMs !== undefined)
|
|
57
|
+
fields.push(`elapsed=${Math.round(detail.elapsedMs)}ms`);
|
|
58
|
+
if (detail.limitMs !== undefined)
|
|
59
|
+
fields.push(`limit=${Math.round(detail.limitMs)}ms`);
|
|
60
|
+
if (detail.state !== undefined)
|
|
61
|
+
fields.push(`state=${detail.state}`);
|
|
62
|
+
return fields.length === 0 ? detail.code : `${detail.code} (${fields.join(" ")})`;
|
|
63
|
+
};
|
|
64
|
+
/** An authority failure that carries its structural diagnostics. */
|
|
65
|
+
export class OrganizationHandoffAuthorityFailure extends Error {
|
|
66
|
+
detail;
|
|
67
|
+
constructor(detail) {
|
|
68
|
+
super(`${ORGANIZATION_HANDOFF_AUTHORITY_ERROR}: ${describeOrganizationHandoffAuthorityFailure(detail)}`);
|
|
69
|
+
this.name = "OrganizationHandoffAuthorityFailure";
|
|
70
|
+
this.detail = detail;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build an error for the uniform message plus optional detail. Callers that
|
|
75
|
+
* have no diagnostics still produce the exact historical message, so existing
|
|
76
|
+
* substring expectations and the store's opaque public boundary hold.
|
|
77
|
+
*/
|
|
78
|
+
export const createOrganizationHandoffAuthorityError = (detail) => detail === undefined
|
|
79
|
+
? new Error(ORGANIZATION_HANDOFF_AUTHORITY_ERROR)
|
|
80
|
+
: new OrganizationHandoffAuthorityFailure(detail);
|
|
81
|
+
/** Narrow an unknown IPC payload to a bounded, well-formed detail. */
|
|
82
|
+
export const parseOrganizationHandoffAuthorityFailureDetail = (raw) => {
|
|
83
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
84
|
+
return undefined;
|
|
85
|
+
const value = raw;
|
|
86
|
+
if (typeof value.code !== "string" || value.code.length === 0)
|
|
87
|
+
return undefined;
|
|
88
|
+
return {
|
|
89
|
+
...(isSafeNumber(value.attempts) ? { attempts: value.attempts } : {}),
|
|
90
|
+
...(typeof value.budget === "string" ? { budget: clamp(value.budget, MAX_CODE_LENGTH) } : {}),
|
|
91
|
+
code: clamp(value.code, MAX_CODE_LENGTH),
|
|
92
|
+
...(isSafeNumber(value.elapsedMs) ? { elapsedMs: value.elapsedMs } : {}),
|
|
93
|
+
...(isSafeNumber(value.limitMs) ? { limitMs: value.limitMs } : {}),
|
|
94
|
+
...(typeof value.state === "string" ? { state: clamp(value.state, MAX_STATE_LENGTH) } : {})
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
/** Reduce an unknown thrown value to a bounded detail suitable for IPC. */
|
|
98
|
+
export const toOrganizationHandoffAuthorityFailureDetail = (error) => error instanceof OrganizationHandoffAuthorityFailure
|
|
99
|
+
? error.detail
|
|
100
|
+
: { code: "unexpected_error", state: clamp(error instanceof Error ? `${error.name}` : typeof error, MAX_STATE_LENGTH) };
|
|
101
|
+
/**
|
|
102
|
+
* One request's convergence budget: a wall-clock deadline, a secondary attempt
|
|
103
|
+
* cap, and adaptive backoff with jitter.
|
|
104
|
+
*
|
|
105
|
+
* The jitter matters as much as the deadline. Symmetric publishers waking on a
|
|
106
|
+
* fixed 2ms timer retry in lockstep, so every peer re-observes the same
|
|
107
|
+
* unfinished state and burns the budget in phase. Randomised, growing waits
|
|
108
|
+
* break that convoy so peers observe each other's progress instead.
|
|
109
|
+
*/
|
|
110
|
+
export class OrganizationHandoffAuthorityBudget {
|
|
111
|
+
#attempts = 0;
|
|
112
|
+
#limitMs;
|
|
113
|
+
#maxAttempts;
|
|
114
|
+
#now;
|
|
115
|
+
#sleep;
|
|
116
|
+
#startedAt;
|
|
117
|
+
constructor(options = {}) {
|
|
118
|
+
this.#limitMs = options.limitMs ?? PUBLICATION_BUDGET_MS;
|
|
119
|
+
this.#maxAttempts = options.maxAttempts ?? PUBLICATION_MAX_ATTEMPTS;
|
|
120
|
+
this.#now = options.now ?? (() => performance.now());
|
|
121
|
+
this.#sleep = options.sleep ?? (async (ms) => new Promise((resolve) => { setTimeout(resolve, ms); }));
|
|
122
|
+
this.#startedAt = this.#now();
|
|
123
|
+
}
|
|
124
|
+
get attempts() { return this.#attempts; }
|
|
125
|
+
get elapsedMs() { return this.#now() - this.#startedAt; }
|
|
126
|
+
get limitMs() { return this.#limitMs; }
|
|
127
|
+
/** True once no further waiting is permitted for this request. */
|
|
128
|
+
exhausted() {
|
|
129
|
+
return this.elapsedMs >= this.#limitMs || this.#attempts >= this.#maxAttempts;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* True while a peer still deserves the benefit of the doubt. Once false, a
|
|
133
|
+
* proven incomplete staging prefix may be retired — the caller has already
|
|
134
|
+
* linked, or is about to link, the immutable final record that prevents that
|
|
135
|
+
* prefix from winning a later election.
|
|
136
|
+
*/
|
|
137
|
+
patient() {
|
|
138
|
+
return !this.exhausted() && this.elapsedMs < this.#limitMs * PUBLICATION_PATIENCE_FRACTION;
|
|
139
|
+
}
|
|
140
|
+
/** Snapshot the budget for a failure detail. */
|
|
141
|
+
snapshot(code, budget, state) {
|
|
142
|
+
return {
|
|
143
|
+
attempts: this.#attempts, budget, code,
|
|
144
|
+
elapsedMs: this.elapsedMs, limitMs: this.#limitMs,
|
|
145
|
+
...(state === undefined ? {} : { state: clamp(state, MAX_STATE_LENGTH) })
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
/** Back off before the next observation, never past the deadline. */
|
|
149
|
+
async wait() {
|
|
150
|
+
this.#attempts += 1;
|
|
151
|
+
const growth = Math.min(MAX_WAIT_MS, BASE_WAIT_MS * 2 ** Math.min(this.#attempts - 1, 10));
|
|
152
|
+
const remaining = Math.max(0, this.#limitMs - this.elapsedMs);
|
|
153
|
+
const delay = Math.max(0, Math.min(remaining, growth * (0.5 + Math.random() * 0.5)));
|
|
154
|
+
await this.#sleep(delay);
|
|
155
|
+
}
|
|
156
|
+
}
|