spawnfile 0.1.14 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -159
- package/dist/audit/checksShared.d.ts +1 -1
- package/dist/auth/importers.d.ts +10 -0
- package/dist/auth/importers.js +29 -4
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.js +1 -0
- package/dist/auth/paths.d.ts +1 -1
- package/dist/auth/profileStore.js +9 -9
- 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/types.d.ts +1 -1
- package/dist/cli/authCommands.d.ts +1 -1
- package/dist/cli/authCommands.js +9 -0
- package/dist/cli/canaryCutoverCommand.d.ts +2 -0
- package/dist/cli/canaryCutoverCommand.js +30 -0
- package/dist/cli/capabilitiesCommand.d.ts +3 -0
- package/dist/cli/capabilitiesCommand.js +12 -0
- package/dist/cli/capabilitiesReceipt.d.ts +56 -0
- package/dist/cli/capabilitiesReceipt.js +56 -0
- package/dist/cli/compileBuildCommands.js +13 -0
- package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
- package/dist/cli/composedLifecycleContractSet.js +204 -0
- package/dist/cli/devCommands.js +2 -0
- package/dist/cli/downCommand.js +19 -8
- 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/lifecycleMachine.d.ts +7 -1
- package/dist/cli/lifecycleMachine.js +2 -2
- package/dist/cli/paideiaDelegation.d.ts +17 -0
- package/dist/cli/paideiaDelegation.js +210 -0
- package/dist/cli/paideiaSupervisor.d.ts +17 -0
- package/dist/cli/paideiaSupervisor.js +48 -0
- package/dist/cli/productStateCloneCommand.d.ts +2 -0
- package/dist/cli/productStateCloneCommand.js +34 -0
- package/dist/cli/runCli.d.ts +13 -3
- package/dist/cli/runCli.js +37 -9
- 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 +61 -0
- package/dist/cli/upCommand.js +35 -6
- 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/workspaceResourceMigrationCommand.d.ts +8 -0
- package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
- package/dist/compiler/buildCompilePlanTeams.d.ts +1 -1
- package/dist/compiler/buildCompilePlanTeams.js +6 -1
- package/dist/compiler/compilePlanHelpers.js +3 -0
- package/dist/compiler/compileProject.d.ts +2 -0
- package/dist/compiler/compileProject.js +5 -1
- package/dist/compiler/compileProjectSupport.js +9 -0
- package/dist/compiler/containerArtifacts.d.ts +3 -1
- package/dist/compiler/containerArtifacts.js +92 -40
- package/dist/compiler/containerArtifactsPlans.d.ts +1 -1
- package/dist/compiler/containerArtifactsPlans.js +24 -7
- package/dist/compiler/containerArtifactsRender.d.ts +2 -1
- package/dist/compiler/containerArtifactsRender.js +91 -58
- package/dist/compiler/containerArtifactsTypes.d.ts +8 -0
- package/dist/compiler/containerBackedMountRender.d.ts +56 -0
- package/dist/compiler/containerBackedMountRender.js +101 -0
- package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
- package/dist/compiler/containerDaimonBrokerRender.js +191 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
- package/dist/compiler/containerEntrypointRender.d.ts +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 +22 -1
- package/dist/compiler/containerTargetResources.js +94 -2
- package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
- package/dist/compiler/containerVolumeBootstrap.js +3 -0
- package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +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 +3 -0
- package/dist/compiler/index.js +3 -0
- package/dist/compiler/initProject.d.ts +2 -0
- package/dist/compiler/initProject.js +39 -1
- package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
- package/dist/compiler/localMoltnetAuthority.js +177 -0
- package/dist/compiler/memoryArtifacts.d.ts +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 +10 -0
- package/dist/compiler/moltnetArtifacts.d.ts +1 -1
- package/dist/compiler/moltnetArtifacts.js +52 -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/runProject.d.ts +4 -2
- package/dist/compiler/runProject.js +32 -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/training/broker/declaration.d.ts +45 -0
- package/dist/compiler/training/broker/declaration.js +55 -0
- package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
- package/dist/compiler/training/broker/entrypoint.js +111 -0
- package/dist/compiler/training/broker/index.d.ts +10 -0
- package/dist/compiler/training/broker/index.js +10 -0
- package/dist/compiler/training/broker/main.d.ts +2 -0
- package/dist/compiler/training/broker/main.js +14 -0
- package/dist/compiler/training/broker/paths.d.ts +196 -0
- package/dist/compiler/training/broker/paths.js +241 -0
- package/dist/compiler/training/broker/processes.d.ts +42 -0
- package/dist/compiler/training/broker/processes.js +99 -0
- package/dist/compiler/training/broker/projection.d.ts +51 -0
- package/dist/compiler/training/broker/projection.js +76 -0
- package/dist/compiler/training/broker/provisioning.d.ts +87 -0
- package/dist/compiler/training/broker/provisioning.js +213 -0
- package/dist/compiler/training/broker/receipt.d.ts +77 -0
- package/dist/compiler/training/broker/receipt.js +110 -0
- package/dist/compiler/training/broker/registration.d.ts +41 -0
- package/dist/compiler/training/broker/registration.js +102 -0
- package/dist/compiler/training/broker/runtime.d.ts +25 -0
- package/dist/compiler/training/broker/runtime.js +173 -0
- package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
- package/dist/compiler/training/broker/seccompRoutes.js +36 -0
- package/dist/compiler/training/broker/supervisor.d.ts +109 -0
- package/dist/compiler/training/broker/supervisor.js +173 -0
- package/dist/compiler/training/container/contract.d.ts +31 -0
- package/dist/compiler/training/container/contract.js +33 -0
- package/dist/compiler/training/container/index.d.ts +4 -0
- package/dist/compiler/training/container/index.js +2 -0
- package/dist/compiler/training/container/launch.d.ts +18 -0
- package/dist/compiler/training/container/launch.js +173 -0
- package/dist/compiler/training/container/prepare.d.ts +8 -0
- package/dist/compiler/training/container/prepare.js +80 -0
- package/dist/compiler/training/container/process.d.ts +14 -0
- package/dist/compiler/training/container/process.js +70 -0
- package/dist/compiler/training/container/security.d.ts +36 -0
- package/dist/compiler/training/container/security.js +58 -0
- package/dist/compiler/training/context.d.ts +7 -0
- package/dist/compiler/training/context.js +93 -0
- package/dist/compiler/training/contract.d.ts +142 -0
- package/dist/compiler/training/contract.js +34 -0
- package/dist/compiler/training/index.d.ts +4 -0
- package/dist/compiler/training/index.js +3 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
- package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
- package/dist/compiler/training/preparation/broker.d.ts +21 -0
- package/dist/compiler/training/preparation/broker.js +43 -0
- package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
- package/dist/compiler/training/preparation/contextModes.js +38 -0
- package/dist/compiler/training/preparation/contract.d.ts +182 -0
- package/dist/compiler/training/preparation/contract.js +94 -0
- package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
- package/dist/compiler/training/preparation/copyAssets.js +8 -0
- package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
- package/dist/compiler/training/preparation/daimonParent.js +114 -0
- package/dist/compiler/training/preparation/files.d.ts +25 -0
- package/dist/compiler/training/preparation/files.js +85 -0
- package/dist/compiler/training/preparation/image.d.ts +28 -0
- package/dist/compiler/training/preparation/image.js +102 -0
- package/dist/compiler/training/preparation/index.d.ts +3 -0
- package/dist/compiler/training/preparation/index.js +2 -0
- package/dist/compiler/training/preparation/inputs.d.ts +23 -0
- package/dist/compiler/training/preparation/inputs.js +93 -0
- package/dist/compiler/training/preparation/prepare.d.ts +33 -0
- package/dist/compiler/training/preparation/prepare.js +186 -0
- package/dist/compiler/training/preparation/scratch.d.ts +19 -0
- package/dist/compiler/training/preparation/scratch.js +48 -0
- package/dist/compiler/training/repair/compatibility.d.ts +11 -0
- package/dist/compiler/training/repair/compatibility.js +34 -0
- package/dist/compiler/training/repair/contract.d.ts +506 -0
- package/dist/compiler/training/repair/contract.js +31 -0
- package/dist/compiler/training/repair/index.d.ts +3 -0
- package/dist/compiler/training/repair/index.js +3 -0
- package/dist/compiler/training/repair/prepare.d.ts +230 -0
- package/dist/compiler/training/repair/prepare.js +74 -0
- package/dist/compiler/training/repair/witness.d.ts +203 -0
- package/dist/compiler/training/repair/witness.js +42 -0
- package/dist/compiler/types.d.ts +2 -0
- package/dist/compiler/upProject.d.ts +26 -1
- package/dist/compiler/upProject.js +117 -178
- 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 +3 -0
- package/dist/compiler/workspaceBundleArtifacts.js +106 -0
- package/dist/compiler/workspaceResources.d.ts +4 -1
- package/dist/compiler/workspaceResources.js +12 -7
- package/dist/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/dockerLogs.js +4 -1
- package/dist/deployment/dockerManager.js +9 -3
- package/dist/deployment/dockerProbeGateway.d.ts +17 -0
- package/dist/deployment/dockerProbeGateway.js +17 -2
- package/dist/deployment/downDeployment.d.ts +5 -0
- package/dist/deployment/downDeployment.js +109 -8
- package/dist/deployment/downReceiptTypes.d.ts +17 -2
- package/dist/deployment/downReceiptTypes.js +17 -2
- package/dist/deployment/index.d.ts +4 -0
- package/dist/deployment/index.js +4 -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/productStateClone.d.ts +43 -0
- package/dist/deployment/productStateClone.js +319 -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/consumeImage.d.ts +2 -0
- package/dist/distribution/consumeImage.js +98 -73
- package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
- package/dist/distribution/consumeImageDaimonDocker.js +45 -0
- package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
- package/dist/distribution/consumeImageLifecycle.js +231 -0
- package/dist/distribution/consumeImageSupport.d.ts +12 -0
- package/dist/distribution/consumeImageSupport.js +15 -0
- package/dist/distribution/distributionReportSchema.d.ts +11 -1
- package/dist/distribution/distributionReportSchema.js +15 -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/types.d.ts +14 -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/io.d.ts +2 -0
- package/dist/filesystem/io.js +16 -1
- package/dist/manifest/executionSchemas.d.ts +27 -0
- package/dist/manifest/executionSchemas.js +21 -2
- package/dist/manifest/mcpSchemas.d.ts +1 -0
- package/dist/manifest/mcpSchemas.js +3 -0
- package/dist/manifest/renderSpawnfileNetworks.js +11 -0
- package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
- package/dist/manifest/scheduleSchemas.d.ts +3 -1
- package/dist/manifest/scheduleSchemas.js +91 -5
- package/dist/manifest/schemas.d.ts +237 -12
- package/dist/manifest/schemas.js +5 -2
- 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 +17 -3
- 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/workspaceSchemas.d.ts +16 -0
- package/dist/manifest/workspaceSchemas.js +11 -0
- package/dist/report/types.d.ts +34 -4
- package/dist/runtime/common.d.ts +28 -1
- package/dist/runtime/common.js +33 -3
- package/dist/runtime/container.js +49 -33
- package/dist/runtime/daimon/adapter.d.ts +14 -0
- package/dist/runtime/daimon/adapter.js +243 -0
- package/dist/runtime/daimon/attention.d.ts +8 -0
- package/dist/runtime/daimon/attention.js +32 -0
- package/dist/runtime/daimon/config.d.ts +25 -0
- package/dist/runtime/daimon/config.js +272 -0
- package/dist/runtime/daimon/contractManifest.d.ts +295 -0
- package/dist/runtime/daimon/contractManifest.js +319 -0
- package/dist/runtime/daimon/grokModel.d.ts +19 -0
- package/dist/runtime/daimon/grokModel.js +33 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
- package/dist/runtime/daimon/grokWorkerContract.js +48 -0
- package/dist/runtime/daimon/memory.d.ts +57 -0
- package/dist/runtime/daimon/memory.js +125 -0
- package/dist/runtime/daimon/runAuth.d.ts +51 -0
- package/dist/runtime/daimon/runAuth.js +279 -0
- package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
- package/dist/runtime/daimon/runtimeIdentity.js +22 -0
- package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
- package/dist/runtime/daimon/scheduleAuthority.js +17 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/install.d.ts +3 -0
- package/dist/runtime/install.js +3 -0
- package/dist/runtime/localDaimonAuthority.d.ts +11 -0
- package/dist/runtime/localDaimonAuthority.js +77 -0
- package/dist/runtime/mnemeMcp.d.ts +13 -0
- package/dist/runtime/mnemeMcp.js +26 -0
- package/dist/runtime/openclaw/adapter.js +2 -2
- package/dist/runtime/pi/adapter.d.ts +0 -1
- package/dist/runtime/pi/adapter.js +2 -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/picoclaw/adapter.js +2 -2
- package/dist/runtime/registry.d.ts +3 -0
- package/dist/runtime/registry.js +19 -2
- package/dist/runtime/scheduleUtils.d.ts +1 -0
- package/dist/runtime/scheduleUtils.js +5 -1
- package/dist/runtime/types.d.ts +25 -0
- package/dist/runtime/usageLedger.d.ts +158 -0
- package/dist/runtime/usageLedger.js +269 -0
- package/dist/runtime/usageLedgerRead.d.ts +48 -0
- package/dist/runtime/usageLedgerRead.js +102 -0
- package/dist/runtime/usageRequestLedger.d.ts +42 -0
- package/dist/runtime/usageRequestLedger.js +72 -0
- package/dist/shared/daimonCodexDocker.d.ts +32 -0
- package/dist/shared/daimonCodexDocker.js +120 -0
- package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
- package/dist/shared/daimonGrokSeccompProfile.js +11 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.js +2 -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 +4 -2
- 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 +2 -3
- 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/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 +5 -2
- 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
|
@@ -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;
|
|
@@ -5,6 +5,7 @@ import { z } from "zod";
|
|
|
5
5
|
import { assertOrdinaryJsonGraph, opaqueTargetHandleSchema, runIdSchema, selectedTargetSchema } from "./contracts.js";
|
|
6
6
|
export const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_REQUEST_VERSION = "spawnfile.target-public-artifact-snapshot.request.v1";
|
|
7
7
|
export const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_VERSION = "spawnfile.target-public-artifact-snapshot.v1";
|
|
8
|
+
export const TARGET_PUBLIC_ARTIFACT_SNAPSHOT_NOT_PRESENT_VERSION = "spawnfile.target-public-artifact-snapshot.not-present.v1";
|
|
8
9
|
export const TARGET_PUBLIC_ARTIFACT_ROOT = "/tmp/spawnfile-public";
|
|
9
10
|
export const MAX_TARGET_PUBLIC_ARTIFACT_BYTES = 131_072;
|
|
10
11
|
const digestSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/u);
|
|
@@ -12,10 +13,13 @@ const identifierSchema = z.string().regex(/^[a-z][a-z0-9_-]{0,63}$/u);
|
|
|
12
13
|
const mediaTypeSchema = z.string()
|
|
13
14
|
.max(127)
|
|
14
15
|
.regex(/^[a-z][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/u);
|
|
16
|
+
const PUBLIC_ARTIFACT_PATH = /^\/tmp\/spawnfile-public\/[A-Za-z0-9][A-Za-z0-9._-]*$/u;
|
|
15
17
|
const publicPathSchema = z.string().max(255)
|
|
16
|
-
.
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
// This is intentionally a direct child of the isolated public tmpfs. A
|
|
19
|
+
// nested path would require a recursive openat-style resolver to keep every
|
|
20
|
+
// parent below the mount while an untrusted world is writing its output.
|
|
21
|
+
.regex(PUBLIC_ARTIFACT_PATH);
|
|
22
|
+
export const isTargetPublicArtifactPath = (value) => typeof value === "string" && value.length <= 255 && PUBLIC_ARTIFACT_PATH.test(value);
|
|
19
23
|
export const targetPublicArtifactSnapshotRequestSchema = z.object({
|
|
20
24
|
artifact: z.object({
|
|
21
25
|
id: identifierSchema,
|
|
@@ -53,6 +57,17 @@ export const targetPublicArtifactSnapshotSchema = z.object({
|
|
|
53
57
|
context.addIssue({ code: z.ZodIssueCode.custom, message: "artifact content mismatch" });
|
|
54
58
|
}
|
|
55
59
|
});
|
|
60
|
+
export const targetPublicArtifactSnapshotNotPresentSchema = z.object({
|
|
61
|
+
artifact_id: identifierSchema,
|
|
62
|
+
request_digest: digestSchema,
|
|
63
|
+
run_id: runIdSchema,
|
|
64
|
+
status: z.literal("not_present"),
|
|
65
|
+
version: z.literal(TARGET_PUBLIC_ARTIFACT_SNAPSHOT_NOT_PRESENT_VERSION)
|
|
66
|
+
}).strict();
|
|
67
|
+
export const targetPublicArtifactSnapshotResultSchema = z.union([
|
|
68
|
+
targetPublicArtifactSnapshotSchema,
|
|
69
|
+
targetPublicArtifactSnapshotNotPresentSchema
|
|
70
|
+
]);
|
|
56
71
|
const canonicalJsonValue = (value) => {
|
|
57
72
|
if (Array.isArray(value))
|
|
58
73
|
return `[${value.map(canonicalJsonValue).join(",")}]`;
|
|
@@ -126,6 +141,14 @@ export const parseTargetPublicArtifactSnapshot = (raw) => {
|
|
|
126
141
|
assertOrdinaryPublicArtifactSnapshot(raw);
|
|
127
142
|
return targetPublicArtifactSnapshotSchema.parse(raw);
|
|
128
143
|
};
|
|
144
|
+
export const parseTargetPublicArtifactSnapshotNotPresent = (raw) => {
|
|
145
|
+
assertOrdinaryPublicArtifactSnapshot(raw);
|
|
146
|
+
return targetPublicArtifactSnapshotNotPresentSchema.parse(raw);
|
|
147
|
+
};
|
|
148
|
+
export const parseTargetPublicArtifactSnapshotResult = (raw) => {
|
|
149
|
+
assertOrdinaryPublicArtifactSnapshot(raw);
|
|
150
|
+
return targetPublicArtifactSnapshotResultSchema.parse(raw);
|
|
151
|
+
};
|
|
129
152
|
export const createTargetPublicArtifactSnapshotRequestDigest = (raw) => `sha256:${createHash("sha256")
|
|
130
153
|
.update("spawnfile.target-public-artifact-snapshot.request.v1\0", "utf8")
|
|
131
154
|
.update(canonicalJson(parseTargetPublicArtifactSnapshotRequest(raw)), "utf8")
|
|
@@ -147,4 +170,15 @@ export const createTargetPublicArtifactSnapshot = (input) => {
|
|
|
147
170
|
version: TARGET_PUBLIC_ARTIFACT_SNAPSHOT_VERSION
|
|
148
171
|
});
|
|
149
172
|
};
|
|
173
|
+
export const createTargetPublicArtifactSnapshotNotPresent = (raw) => {
|
|
174
|
+
const request = parseTargetPublicArtifactSnapshotRequest(raw);
|
|
175
|
+
return parseTargetPublicArtifactSnapshotNotPresent({
|
|
176
|
+
artifact_id: request.artifact.id,
|
|
177
|
+
request_digest: createTargetPublicArtifactSnapshotRequestDigest(request),
|
|
178
|
+
run_id: request.run_id,
|
|
179
|
+
status: "not_present",
|
|
180
|
+
version: TARGET_PUBLIC_ARTIFACT_SNAPSHOT_NOT_PRESENT_VERSION
|
|
181
|
+
});
|
|
182
|
+
};
|
|
150
183
|
export const createCanonicalTargetPublicArtifactSnapshotBytes = (raw) => canonicalJsonValue(parseTargetPublicArtifactSnapshot(raw));
|
|
184
|
+
export const createCanonicalTargetPublicArtifactSnapshotResultBytes = (raw) => canonicalJsonValue(parseTargetPublicArtifactSnapshotResult(raw));
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Example and Test Projects
|
|
2
|
+
|
|
3
|
+
Authored Spawnfile inputs live in two top-level directories:
|
|
4
|
+
|
|
5
|
+
- `examples/` — showcase org projects meant to be read as reference layouts.
|
|
6
|
+
- `fixtures/` — test-only org projects (and `fixtures/support/` executable
|
|
7
|
+
test-support code).
|
|
8
|
+
|
|
9
|
+
They exercise portable compiler contracts and opt-in runtime integration paths;
|
|
10
|
+
product code must not contain fixture-specific behavior.
|
|
11
|
+
|
|
12
|
+
## Showcase Examples (`examples/`)
|
|
13
|
+
|
|
14
|
+
| Project | Contract |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `single-agent` | Full agent workspace, docs, skills, MCP, secret, and OpenClaw lowering |
|
|
17
|
+
| `agent-with-subagents` | Canonical subagent graph resolution |
|
|
18
|
+
| `distribution-org` | Source-free image metadata, required/optional secrets, and managed Moltnet distribution |
|
|
19
|
+
| `moltnet-team-chat` | Nested-team representatives communicating through parent and child Moltnet rooms |
|
|
20
|
+
| `daimon-org` | One generated Daimon app with nested agents, shared files, and persistent Mneme recall |
|
|
21
|
+
| `mixed-runtime-org` | Daimon, OpenClaw, and PicoClaw sharing Moltnet and Mneme wiring |
|
|
22
|
+
| `jungian-daimon-org` | Nested council topology, representative routing, and scoped memory bindings |
|
|
23
|
+
|
|
24
|
+
## Test-Only Fixtures (`fixtures/`)
|
|
25
|
+
|
|
26
|
+
| Project | Contract |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `multi-runtime-team` | Hierarchical team resolution and mixed runtime capability reporting |
|
|
29
|
+
| `docker-auth-agent` | Single-runtime Docker auth injection |
|
|
30
|
+
| `docker-auth-team` | Mixed OpenClaw/PicoClaw Docker auth injection |
|
|
31
|
+
| `operational-smoke` | Scheduled PicoClaw wake, workspace volume, Moltnet, and live status |
|
|
32
|
+
| `daimon-cli-memory-org` | Codex, Claude, Grok, and Agy CLI engines receiving schedule/dream memory context |
|
|
33
|
+
| `lifecycle-smoke` | Minimal single-agent scripted lifecycle (`up`/`artifacts export`/`down`) receipt smoke |
|
|
34
|
+
| `moltnet-memetics` | Live two-agent Moltnet conversation over real Codex/Grok |
|
|
35
|
+
| `office-sim` | Standalone scripted-engine harness proving the pi adapter's `scripted` engine kind |
|
|
36
|
+
|
|
37
|
+
Executable test-support helpers (cross-process fork fixtures and the trusted
|
|
38
|
+
Moltnet release stager) live under `fixtures/support/`.
|
|
39
|
+
|
|
40
|
+
Simulation worlds, transcripts, clocks, and domain-specific orchestration do not
|
|
41
|
+
belong in this suite. They should consume Spawnfile as an external system and
|
|
42
|
+
test their own behavior in their owning project.
|
|
43
|
+
|
|
44
|
+
Generated output such as `.spawn/`, runtime logs, credentials, and run
|
|
45
|
+
transcripts must remain untracked.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
spawnfile_version: "0.1"
|
|
2
|
+
kind: agent
|
|
3
|
+
name: editor
|
|
4
|
+
|
|
5
|
+
runtime:
|
|
6
|
+
name: picoclaw
|
|
7
|
+
options:
|
|
8
|
+
restrict_to_workspace: true
|
|
9
|
+
|
|
10
|
+
execution:
|
|
11
|
+
model:
|
|
12
|
+
primary:
|
|
13
|
+
provider: openai
|
|
14
|
+
name: gpt-4o-mini
|
|
15
|
+
sandbox:
|
|
16
|
+
mode: workspace
|
|
17
|
+
|
|
18
|
+
workspace:
|
|
19
|
+
docs:
|
|
20
|
+
system: AGENTS.md
|
|
21
|
+
|
|
22
|
+
subagents:
|
|
23
|
+
- id: researcher
|
|
24
|
+
ref: ./subagents/researcher
|
|
25
|
+
- id: critic
|
|
26
|
+
ref: ./subagents/critic
|
|
27
|
+
|
|
28
|
+
policy:
|
|
29
|
+
mode: warn
|
|
30
|
+
on_degrade: warn
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
spawnfile_version: "0.1"
|
|
2
|
+
kind: team
|
|
3
|
+
name: daimon-org
|
|
4
|
+
description: "Legacy generated-Pi organization fixture with Moltnet and shared resources"
|
|
5
|
+
|
|
6
|
+
shared:
|
|
7
|
+
workspace:
|
|
8
|
+
docs:
|
|
9
|
+
system: TEAM.md
|
|
10
|
+
skills:
|
|
11
|
+
- ref: ./shared/skills/file-note
|
|
12
|
+
resources:
|
|
13
|
+
- id: shared-lab
|
|
14
|
+
kind: volume
|
|
15
|
+
mount: ./shared-lab
|
|
16
|
+
mode: mutable
|
|
17
|
+
sharing: team
|
|
18
|
+
|
|
19
|
+
members:
|
|
20
|
+
- id: mapper
|
|
21
|
+
ref: ./agents/mapper
|
|
22
|
+
- id: review
|
|
23
|
+
ref: ./teams/review
|
|
24
|
+
|
|
25
|
+
memory:
|
|
26
|
+
- id: shared-recall
|
|
27
|
+
access:
|
|
28
|
+
members: [mapper]
|
|
29
|
+
store:
|
|
30
|
+
kind: json
|
|
31
|
+
path: /var/lib/spawnfile/memory/daimon-org/shared-recall.jsonl
|
|
32
|
+
persistence:
|
|
33
|
+
mode: durable
|
|
34
|
+
index:
|
|
35
|
+
lexical:
|
|
36
|
+
enabled: true
|
|
37
|
+
engine: sqlite_fts
|
|
38
|
+
vector:
|
|
39
|
+
enabled: true
|
|
40
|
+
provider: ollama
|
|
41
|
+
model: qwen3-embedding:0.6b
|
|
42
|
+
dimensions: 1024
|
|
43
|
+
|
|
44
|
+
mode: hierarchical
|
|
45
|
+
lead: mapper
|
|
46
|
+
|
|
47
|
+
networks:
|
|
48
|
+
- id: daimon_lab
|
|
49
|
+
name: Daimon Lab
|
|
50
|
+
provider: moltnet
|
|
51
|
+
server:
|
|
52
|
+
mode: managed
|
|
53
|
+
listen:
|
|
54
|
+
bind: 0.0.0.0
|
|
55
|
+
port: 19877
|
|
56
|
+
store:
|
|
57
|
+
kind: sqlite
|
|
58
|
+
path: /var/lib/spawnfile/moltnet/networks/daimon_lab/moltnet.sqlite
|
|
59
|
+
auth:
|
|
60
|
+
mode: open
|
|
61
|
+
public_read: true
|
|
62
|
+
human_ingress: true
|
|
63
|
+
direct_messages: false
|
|
64
|
+
rooms:
|
|
65
|
+
- id: lab-floor
|
|
66
|
+
members: [mapper, review]
|
|
67
|
+
visibility: public
|
|
68
|
+
write_policy: registered_agents
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
spawnfile_version: "0.1"
|
|
2
|
+
kind: agent
|
|
3
|
+
name: mapper
|
|
4
|
+
description: "Maps shared workspace state for the Daimon org."
|
|
5
|
+
|
|
6
|
+
runtime: pi
|
|
7
|
+
|
|
8
|
+
execution:
|
|
9
|
+
model:
|
|
10
|
+
primary:
|
|
11
|
+
provider: openai
|
|
12
|
+
name: gpt-5.4-mini
|
|
13
|
+
auth:
|
|
14
|
+
method: codex
|
|
15
|
+
sandbox:
|
|
16
|
+
mode: workspace
|
|
17
|
+
|
|
18
|
+
schedule:
|
|
19
|
+
kind: every
|
|
20
|
+
every: 1s
|
|
21
|
+
prompt: "Create ./shared-lab/mapper-note.md with one sentence proving mapper can write to the shared resource."
|
|
22
|
+
|
|
23
|
+
surfaces:
|
|
24
|
+
moltnet:
|
|
25
|
+
- network: daimon_lab
|
|
26
|
+
rooms:
|
|
27
|
+
lab-floor:
|
|
28
|
+
wake: mentions
|
|
29
|
+
|
|
30
|
+
workspace:
|
|
31
|
+
docs:
|
|
32
|
+
system: AGENTS.md
|
|
33
|
+
resources:
|
|
34
|
+
- id: mapper-scratch
|
|
35
|
+
kind: volume
|
|
36
|
+
mount: ./scratch
|
|
37
|
+
mode: mutable
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file-note
|
|
3
|
+
description: "Create short markdown notes in requested workspace paths."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# File Note
|
|
7
|
+
|
|
8
|
+
When asked to verify filesystem access, create a short markdown note in the
|
|
9
|
+
requested path and mention the exact file path in the response.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
spawnfile_version: "0.1"
|
|
2
|
+
kind: team
|
|
3
|
+
name: daimon-review-team
|
|
4
|
+
description: "Nested review team for the legacy generated-Pi fixture"
|
|
5
|
+
|
|
6
|
+
members:
|
|
7
|
+
- id: reviewer
|
|
8
|
+
ref: ./agents/reviewer
|
|
9
|
+
|
|
10
|
+
memory:
|
|
11
|
+
- id: shared-recall
|
|
12
|
+
access:
|
|
13
|
+
members: [reviewer]
|
|
14
|
+
store:
|
|
15
|
+
kind: json
|
|
16
|
+
path: /var/lib/spawnfile/memory/daimon-org/shared-recall.jsonl
|
|
17
|
+
persistence:
|
|
18
|
+
mode: durable
|
|
19
|
+
index:
|
|
20
|
+
lexical:
|
|
21
|
+
enabled: true
|
|
22
|
+
engine: sqlite_fts
|
|
23
|
+
vector:
|
|
24
|
+
enabled: true
|
|
25
|
+
provider: ollama
|
|
26
|
+
model: qwen3-embedding:0.6b
|
|
27
|
+
dimensions: 1024
|
|
28
|
+
|
|
29
|
+
mode: hierarchical
|
|
30
|
+
lead: reviewer
|
|
31
|
+
|
|
32
|
+
networks:
|
|
33
|
+
- id: daimon_lab
|
|
34
|
+
name: Daimon Lab
|
|
35
|
+
provider: moltnet
|
|
36
|
+
server:
|
|
37
|
+
mode: managed
|
|
38
|
+
listen:
|
|
39
|
+
bind: 0.0.0.0
|
|
40
|
+
port: 19877
|
|
41
|
+
store:
|
|
42
|
+
kind: sqlite
|
|
43
|
+
path: /var/lib/spawnfile/moltnet/networks/daimon_lab/moltnet.sqlite
|
|
44
|
+
auth:
|
|
45
|
+
mode: open
|
|
46
|
+
public_read: true
|
|
47
|
+
human_ingress: true
|
|
48
|
+
direct_messages: false
|
|
49
|
+
rooms:
|
|
50
|
+
- id: lab-floor
|
|
51
|
+
members: [reviewer]
|
|
52
|
+
visibility: public
|
|
53
|
+
write_policy: registered_agents
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
spawnfile_version: "0.1"
|
|
2
|
+
kind: agent
|
|
3
|
+
name: reviewer
|
|
4
|
+
description: "Reviews generated shared workspace notes."
|
|
5
|
+
|
|
6
|
+
runtime: pi
|
|
7
|
+
|
|
8
|
+
execution:
|
|
9
|
+
model:
|
|
10
|
+
primary:
|
|
11
|
+
provider: openai
|
|
12
|
+
name: gpt-5.4-mini
|
|
13
|
+
auth:
|
|
14
|
+
method: codex
|
|
15
|
+
sandbox:
|
|
16
|
+
mode: workspace
|
|
17
|
+
|
|
18
|
+
schedule:
|
|
19
|
+
kind: every
|
|
20
|
+
every: 1s
|
|
21
|
+
prompt: "Create ./shared-lab/reviewer-note.md with one sentence proving reviewer can write to the shared resource."
|
|
22
|
+
|
|
23
|
+
surfaces:
|
|
24
|
+
moltnet:
|
|
25
|
+
- network: daimon_lab
|
|
26
|
+
rooms:
|
|
27
|
+
lab-floor:
|
|
28
|
+
wake: mentions
|
|
29
|
+
|
|
30
|
+
workspace:
|
|
31
|
+
docs:
|
|
32
|
+
system: AGENTS.md
|
|
33
|
+
resources:
|
|
34
|
+
- id: reviewer-scratch
|
|
35
|
+
kind: volume
|
|
36
|
+
mount: ./scratch
|
|
37
|
+
mode: mutable
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
spawnfile_version: "0.1"
|
|
2
|
+
kind: agent
|
|
3
|
+
name: public-host-agent
|
|
4
|
+
description: "Minimal public Daimon organization-host fixture"
|
|
5
|
+
|
|
6
|
+
runtime:
|
|
7
|
+
name: daimon
|
|
8
|
+
options:
|
|
9
|
+
engine: codex
|
|
10
|
+
|
|
11
|
+
execution:
|
|
12
|
+
model:
|
|
13
|
+
primary:
|
|
14
|
+
provider: openai
|
|
15
|
+
name: gpt-5.4-mini
|
|
16
|
+
auth:
|
|
17
|
+
method: codex
|
|
18
|
+
|
|
19
|
+
workspace:
|
|
20
|
+
docs:
|
|
21
|
+
system: AGENTS.md
|