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.
Files changed (546) hide show
  1. package/README.md +60 -159
  2. package/dist/audit/checksShared.d.ts +1 -1
  3. package/dist/auth/importers.d.ts +10 -0
  4. package/dist/auth/importers.js +29 -4
  5. package/dist/auth/index.d.ts +2 -0
  6. package/dist/auth/index.js +1 -0
  7. package/dist/auth/paths.d.ts +1 -1
  8. package/dist/auth/profileStore.js +9 -9
  9. package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
  10. package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
  11. package/dist/auth/targetSecretSourceFsPublish.d.ts +2 -0
  12. package/dist/auth/targetSecretSourceFsPublish.js +3 -1
  13. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +2 -1
  14. package/dist/auth/targetSecretSourceFsPublishImmutable.js +104 -71
  15. package/dist/auth/targetSecretSourceFsRead.js +5 -14
  16. package/dist/auth/trainingAuth.d.ts +21 -0
  17. package/dist/auth/trainingAuth.js +86 -0
  18. package/dist/auth/types.d.ts +1 -1
  19. package/dist/cli/authCommands.d.ts +1 -1
  20. package/dist/cli/authCommands.js +9 -0
  21. package/dist/cli/canaryCutoverCommand.d.ts +2 -0
  22. package/dist/cli/canaryCutoverCommand.js +30 -0
  23. package/dist/cli/capabilitiesCommand.d.ts +3 -0
  24. package/dist/cli/capabilitiesCommand.js +12 -0
  25. package/dist/cli/capabilitiesReceipt.d.ts +56 -0
  26. package/dist/cli/capabilitiesReceipt.js +56 -0
  27. package/dist/cli/compileBuildCommands.js +13 -0
  28. package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
  29. package/dist/cli/composedLifecycleContractSet.js +204 -0
  30. package/dist/cli/devCommands.js +2 -0
  31. package/dist/cli/downCommand.js +19 -8
  32. package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
  33. package/dist/cli/evidenceExportHelperCommand.js +51 -0
  34. package/dist/cli/index.js +12 -3
  35. package/dist/cli/lifecycleMachine.d.ts +7 -1
  36. package/dist/cli/lifecycleMachine.js +2 -2
  37. package/dist/cli/paideiaDelegation.d.ts +17 -0
  38. package/dist/cli/paideiaDelegation.js +210 -0
  39. package/dist/cli/paideiaSupervisor.d.ts +17 -0
  40. package/dist/cli/paideiaSupervisor.js +48 -0
  41. package/dist/cli/productStateCloneCommand.d.ts +2 -0
  42. package/dist/cli/productStateCloneCommand.js +34 -0
  43. package/dist/cli/runCli.d.ts +13 -3
  44. package/dist/cli/runCli.js +37 -9
  45. package/dist/cli/targetCommands.d.ts +4 -7
  46. package/dist/cli/targetCommands.js +16 -46
  47. package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
  48. package/dist/cli/targetConfigPreparedPlan.js +74 -0
  49. package/dist/cli/targetConfigResolver.d.ts +3 -0
  50. package/dist/cli/targetConfigResolver.js +111 -0
  51. package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
  52. package/dist/cli/targetConfigResolverCommand.js +43 -0
  53. package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
  54. package/dist/cli/targetConfigResolverContracts.js +30 -0
  55. package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
  56. package/dist/cli/targetConfigResolverDocker.js +47 -0
  57. package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
  58. package/dist/cli/targetConfigResolverValidation.js +94 -0
  59. package/dist/cli/targetDefaultAuthorities.d.ts +2 -0
  60. package/dist/cli/targetDefaultAuthorities.js +3 -0
  61. package/dist/cli/targetDefaultConfig.d.ts +7 -0
  62. package/dist/cli/targetDefaultConfig.js +22 -5
  63. package/dist/cli/targetDefaultConfigStdin.js +7 -1
  64. package/dist/cli/targetDefaultHandlerFactory.js +23 -2
  65. package/dist/cli/targetDefaultHandlers.d.ts +2 -2
  66. package/dist/cli/targetProductionCommands.d.ts +5 -0
  67. package/dist/cli/targetProductionCommands.js +45 -0
  68. package/dist/cli/trainCommand.d.ts +3 -0
  69. package/dist/cli/trainCommand.js +61 -0
  70. package/dist/cli/upCommand.js +35 -6
  71. package/dist/cli/upLifecycleRecovery.d.ts +2 -2
  72. package/dist/cli/upLifecycleRecovery.js +188 -44
  73. package/dist/cli/usageCommand.d.ts +40 -0
  74. package/dist/cli/usageCommand.js +284 -0
  75. package/dist/cli/usageCommandLive.d.ts +84 -0
  76. package/dist/cli/usageCommandLive.js +95 -0
  77. package/dist/cli/usageDeploymentSource.d.ts +9 -0
  78. package/dist/cli/usageDeploymentSource.js +22 -0
  79. package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
  80. package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
  81. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -1
  82. package/dist/compiler/buildCompilePlanTeams.js +6 -1
  83. package/dist/compiler/compilePlanHelpers.js +3 -0
  84. package/dist/compiler/compileProject.d.ts +2 -0
  85. package/dist/compiler/compileProject.js +5 -1
  86. package/dist/compiler/compileProjectSupport.js +9 -0
  87. package/dist/compiler/containerArtifacts.d.ts +3 -1
  88. package/dist/compiler/containerArtifacts.js +92 -40
  89. package/dist/compiler/containerArtifactsPlans.d.ts +1 -1
  90. package/dist/compiler/containerArtifactsPlans.js +24 -7
  91. package/dist/compiler/containerArtifactsRender.d.ts +2 -1
  92. package/dist/compiler/containerArtifactsRender.js +91 -58
  93. package/dist/compiler/containerArtifactsTypes.d.ts +8 -0
  94. package/dist/compiler/containerBackedMountRender.d.ts +56 -0
  95. package/dist/compiler/containerBackedMountRender.js +101 -0
  96. package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
  97. package/dist/compiler/containerDaimonBrokerRender.js +191 -0
  98. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
  99. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
  100. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
  101. package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
  102. package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
  103. package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
  104. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
  105. package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
  106. package/dist/compiler/containerEntrypointRender.d.ts +7 -0
  107. package/dist/compiler/containerEntrypointRender.js +28 -22
  108. package/dist/compiler/containerPersistentMounts.d.ts +30 -0
  109. package/dist/compiler/containerPersistentMounts.js +66 -0
  110. package/dist/compiler/containerReadinessPaths.d.ts +1 -0
  111. package/dist/compiler/containerReadinessPaths.js +1 -0
  112. package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
  113. package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
  114. package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
  115. package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
  116. package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
  117. package/dist/compiler/containerStateOwnershipRender.js +75 -0
  118. package/dist/compiler/containerTargetResources.d.ts +22 -1
  119. package/dist/compiler/containerTargetResources.js +94 -2
  120. package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
  121. package/dist/compiler/containerVolumeBootstrap.js +3 -0
  122. package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
  123. package/dist/compiler/daimonTelemetryArtifacts.d.ts +2 -2
  124. package/dist/compiler/daimonTelemetryArtifacts.js +5 -10
  125. package/dist/compiler/deploymentLineage.d.ts +40 -0
  126. package/dist/compiler/deploymentLineage.js +50 -0
  127. package/dist/compiler/index.d.ts +3 -0
  128. package/dist/compiler/index.js +3 -0
  129. package/dist/compiler/initProject.d.ts +2 -0
  130. package/dist/compiler/initProject.js +39 -1
  131. package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
  132. package/dist/compiler/localMoltnetAuthority.js +177 -0
  133. package/dist/compiler/memoryArtifacts.d.ts +1 -1
  134. package/dist/compiler/memoryArtifacts.js +108 -32
  135. package/dist/compiler/modelEnv.d.ts +5 -0
  136. package/dist/compiler/modelEnv.js +8 -2
  137. package/dist/compiler/moltnetArtifactPaths.d.ts +17 -12
  138. package/dist/compiler/moltnetArtifactPaths.js +17 -15
  139. package/dist/compiler/moltnetArtifactTypes.d.ts +10 -0
  140. package/dist/compiler/moltnetArtifacts.d.ts +1 -1
  141. package/dist/compiler/moltnetArtifacts.js +52 -12
  142. package/dist/compiler/moltnetBinaries.d.ts +16 -4
  143. package/dist/compiler/moltnetBinaries.js +46 -6
  144. package/dist/compiler/moltnetClientConfig.js +1 -1
  145. package/dist/compiler/moltnetConfigLowering.d.ts +3 -1
  146. package/dist/compiler/moltnetConfigLowering.js +30 -6
  147. package/dist/compiler/moltnetNodeConfig.js +1 -1
  148. package/dist/compiler/moltnetReleaseAuthority.d.ts +24 -1
  149. package/dist/compiler/moltnetReleaseAuthority.js +33 -4
  150. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -1
  151. package/dist/compiler/moltnetRepresentativeResolution.js +2 -2
  152. package/dist/compiler/moltnetResolution.js +9 -15
  153. package/dist/compiler/moltnetRoomMemberships.js +20 -5
  154. package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
  155. package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
  156. package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
  157. package/dist/compiler/moltnetRuntimeConfig.js +22 -2
  158. package/dist/compiler/moltnetServerPlans.js +19 -0
  159. package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
  160. package/dist/compiler/organizationExternalParticipants.js +176 -0
  161. package/dist/compiler/organizationIdentity.d.ts +3 -9
  162. package/dist/compiler/organizationIdentity.js +37 -270
  163. package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
  164. package/dist/compiler/organizationIdentityGraph.js +115 -0
  165. package/dist/compiler/organizationReadyEvidence.d.ts +8 -0
  166. package/dist/compiler/organizationReadyEvidence.js +23 -3
  167. package/dist/compiler/runProject.d.ts +4 -2
  168. package/dist/compiler/runProject.js +32 -6
  169. package/dist/compiler/runProjectAuth.d.ts +3 -1
  170. package/dist/compiler/runProjectAuth.js +19 -3
  171. package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
  172. package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
  173. package/dist/compiler/runProjectDocker.d.ts +8 -4
  174. package/dist/compiler/runProjectDocker.js +43 -18
  175. package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
  176. package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
  177. package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
  178. package/dist/compiler/runProjectDockerReservation.js +118 -0
  179. package/dist/compiler/runProjectLifecycle.js +1 -1
  180. package/dist/compiler/training/broker/declaration.d.ts +45 -0
  181. package/dist/compiler/training/broker/declaration.js +55 -0
  182. package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
  183. package/dist/compiler/training/broker/entrypoint.js +111 -0
  184. package/dist/compiler/training/broker/index.d.ts +10 -0
  185. package/dist/compiler/training/broker/index.js +10 -0
  186. package/dist/compiler/training/broker/main.d.ts +2 -0
  187. package/dist/compiler/training/broker/main.js +14 -0
  188. package/dist/compiler/training/broker/paths.d.ts +196 -0
  189. package/dist/compiler/training/broker/paths.js +241 -0
  190. package/dist/compiler/training/broker/processes.d.ts +42 -0
  191. package/dist/compiler/training/broker/processes.js +99 -0
  192. package/dist/compiler/training/broker/projection.d.ts +51 -0
  193. package/dist/compiler/training/broker/projection.js +76 -0
  194. package/dist/compiler/training/broker/provisioning.d.ts +87 -0
  195. package/dist/compiler/training/broker/provisioning.js +213 -0
  196. package/dist/compiler/training/broker/receipt.d.ts +77 -0
  197. package/dist/compiler/training/broker/receipt.js +110 -0
  198. package/dist/compiler/training/broker/registration.d.ts +41 -0
  199. package/dist/compiler/training/broker/registration.js +102 -0
  200. package/dist/compiler/training/broker/runtime.d.ts +25 -0
  201. package/dist/compiler/training/broker/runtime.js +173 -0
  202. package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
  203. package/dist/compiler/training/broker/seccompRoutes.js +36 -0
  204. package/dist/compiler/training/broker/supervisor.d.ts +109 -0
  205. package/dist/compiler/training/broker/supervisor.js +173 -0
  206. package/dist/compiler/training/container/contract.d.ts +31 -0
  207. package/dist/compiler/training/container/contract.js +33 -0
  208. package/dist/compiler/training/container/index.d.ts +4 -0
  209. package/dist/compiler/training/container/index.js +2 -0
  210. package/dist/compiler/training/container/launch.d.ts +18 -0
  211. package/dist/compiler/training/container/launch.js +173 -0
  212. package/dist/compiler/training/container/prepare.d.ts +8 -0
  213. package/dist/compiler/training/container/prepare.js +80 -0
  214. package/dist/compiler/training/container/process.d.ts +14 -0
  215. package/dist/compiler/training/container/process.js +70 -0
  216. package/dist/compiler/training/container/security.d.ts +36 -0
  217. package/dist/compiler/training/container/security.js +58 -0
  218. package/dist/compiler/training/context.d.ts +7 -0
  219. package/dist/compiler/training/context.js +93 -0
  220. package/dist/compiler/training/contract.d.ts +142 -0
  221. package/dist/compiler/training/contract.js +34 -0
  222. package/dist/compiler/training/index.d.ts +4 -0
  223. package/dist/compiler/training/index.js +3 -0
  224. package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
  225. package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
  226. package/dist/compiler/training/preparation/broker.d.ts +21 -0
  227. package/dist/compiler/training/preparation/broker.js +43 -0
  228. package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
  229. package/dist/compiler/training/preparation/contextModes.js +38 -0
  230. package/dist/compiler/training/preparation/contract.d.ts +182 -0
  231. package/dist/compiler/training/preparation/contract.js +94 -0
  232. package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
  233. package/dist/compiler/training/preparation/copyAssets.js +8 -0
  234. package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
  235. package/dist/compiler/training/preparation/daimonParent.js +114 -0
  236. package/dist/compiler/training/preparation/files.d.ts +25 -0
  237. package/dist/compiler/training/preparation/files.js +85 -0
  238. package/dist/compiler/training/preparation/image.d.ts +28 -0
  239. package/dist/compiler/training/preparation/image.js +102 -0
  240. package/dist/compiler/training/preparation/index.d.ts +3 -0
  241. package/dist/compiler/training/preparation/index.js +2 -0
  242. package/dist/compiler/training/preparation/inputs.d.ts +23 -0
  243. package/dist/compiler/training/preparation/inputs.js +93 -0
  244. package/dist/compiler/training/preparation/prepare.d.ts +33 -0
  245. package/dist/compiler/training/preparation/prepare.js +186 -0
  246. package/dist/compiler/training/preparation/scratch.d.ts +19 -0
  247. package/dist/compiler/training/preparation/scratch.js +48 -0
  248. package/dist/compiler/training/repair/compatibility.d.ts +11 -0
  249. package/dist/compiler/training/repair/compatibility.js +34 -0
  250. package/dist/compiler/training/repair/contract.d.ts +506 -0
  251. package/dist/compiler/training/repair/contract.js +31 -0
  252. package/dist/compiler/training/repair/index.d.ts +3 -0
  253. package/dist/compiler/training/repair/index.js +3 -0
  254. package/dist/compiler/training/repair/prepare.d.ts +230 -0
  255. package/dist/compiler/training/repair/prepare.js +74 -0
  256. package/dist/compiler/training/repair/witness.d.ts +203 -0
  257. package/dist/compiler/training/repair/witness.js +42 -0
  258. package/dist/compiler/types.d.ts +2 -0
  259. package/dist/compiler/upProject.d.ts +26 -1
  260. package/dist/compiler/upProject.js +117 -178
  261. package/dist/compiler/upProjectHandoff.d.ts +62 -0
  262. package/dist/compiler/upProjectHandoff.js +204 -0
  263. package/dist/compiler/upReceipt.js +49 -4
  264. package/dist/compiler/updateProjectModels.js +1 -0
  265. package/dist/compiler/view/types.d.ts +1 -1
  266. package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
  267. package/dist/compiler/workspaceBundleArtifacts.js +106 -0
  268. package/dist/compiler/workspaceResources.d.ts +4 -1
  269. package/dist/compiler/workspaceResources.js +12 -7
  270. package/dist/deployment/artifactsExportPlan.js +51 -1
  271. package/dist/deployment/canaryCutover.d.ts +42 -0
  272. package/dist/deployment/canaryCutover.js +140 -0
  273. package/dist/deployment/candidateDiagnostics.d.ts +15 -0
  274. package/dist/deployment/candidateDiagnostics.js +90 -0
  275. package/dist/deployment/dockerLogs.js +4 -1
  276. package/dist/deployment/dockerManager.js +9 -3
  277. package/dist/deployment/dockerProbeGateway.d.ts +17 -0
  278. package/dist/deployment/dockerProbeGateway.js +17 -2
  279. package/dist/deployment/downDeployment.d.ts +5 -0
  280. package/dist/deployment/downDeployment.js +109 -8
  281. package/dist/deployment/downReceiptTypes.d.ts +17 -2
  282. package/dist/deployment/downReceiptTypes.js +17 -2
  283. package/dist/deployment/index.d.ts +4 -0
  284. package/dist/deployment/index.js +4 -0
  285. package/dist/deployment/lifecycleCompletionContracts.d.ts +66 -0
  286. package/dist/deployment/lifecycleCompletionContracts.js +34 -0
  287. package/dist/deployment/lifecycleCompletionPaths.d.ts +4 -1
  288. package/dist/deployment/lifecycleCompletionPaths.js +3 -0
  289. package/dist/deployment/lifecycleCompletionPublication.d.ts +2 -0
  290. package/dist/deployment/lifecycleCompletionPublication.js +18 -4
  291. package/dist/deployment/lifecycleCompletionStore.d.ts +1 -1
  292. package/dist/deployment/lifecycleCompletionStore.js +7 -7
  293. package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
  294. package/dist/deployment/lifecycleUpRecords.js +127 -0
  295. package/dist/deployment/native/AGENTS.md +11 -0
  296. package/dist/deployment/native/rename-noreplace-arm64 +0 -0
  297. package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
  298. package/dist/deployment/native/rename-noreplace-x64 +0 -0
  299. package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
  300. package/dist/deployment/noReplaceActivation.d.ts +17 -0
  301. package/dist/deployment/noReplaceActivation.js +50 -0
  302. package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
  303. package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
  304. package/dist/deployment/organizationHandoffAuthorityFsClient.js +82 -27
  305. package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
  306. package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
  307. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +254 -108
  308. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
  309. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
  310. package/dist/deployment/organizationHandoffAuthorityStore.js +14 -7
  311. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +2 -2
  312. package/dist/deployment/organizationHandoffAuthorityTypes.js +2 -1
  313. package/dist/deployment/organizationReady.d.ts +2 -0
  314. package/dist/deployment/organizationReady.js +36 -4
  315. package/dist/deployment/productStateClone.d.ts +43 -0
  316. package/dist/deployment/productStateClone.js +319 -0
  317. package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
  318. package/dist/deployment/upLifecycleRecoveryState.js +12 -0
  319. package/dist/deployment/upReceiptTypes.d.ts +32 -6
  320. package/dist/deployment/upReceiptTypes.js +29 -2
  321. package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
  322. package/dist/deployment/workspaceResourceMigration.js +315 -0
  323. package/dist/dev/project.d.ts +7 -0
  324. package/dist/dev/project.js +9 -0
  325. package/dist/distribution/consumeImage.d.ts +2 -0
  326. package/dist/distribution/consumeImage.js +98 -73
  327. package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
  328. package/dist/distribution/consumeImageDaimonDocker.js +45 -0
  329. package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
  330. package/dist/distribution/consumeImageLifecycle.js +231 -0
  331. package/dist/distribution/consumeImageSupport.d.ts +12 -0
  332. package/dist/distribution/consumeImageSupport.js +15 -0
  333. package/dist/distribution/distributionReportSchema.d.ts +11 -1
  334. package/dist/distribution/distributionReportSchema.js +15 -2
  335. package/dist/distribution/dockerRunner.d.ts +6 -1
  336. package/dist/distribution/dockerRunner.js +31 -4
  337. package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
  338. package/dist/distribution/imageRuntimeAuth.js +70 -1
  339. package/dist/distribution/index.d.ts +1 -1
  340. package/dist/distribution/index.js +1 -1
  341. package/dist/distribution/preflight.js +5 -1
  342. package/dist/distribution/types.d.ts +14 -1
  343. package/dist/distribution/types.js +3 -0
  344. package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
  345. package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
  346. package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
  347. package/dist/evidenceExportHelper/index.d.ts +4 -0
  348. package/dist/evidenceExportHelper/index.js +4 -0
  349. package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
  350. package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
  351. package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
  352. package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
  353. package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
  354. package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
  355. package/dist/evidenceExportHelper/recipe.d.ts +7 -0
  356. package/dist/evidenceExportHelper/recipe.js +83 -0
  357. package/dist/filesystem/io.d.ts +2 -0
  358. package/dist/filesystem/io.js +16 -1
  359. package/dist/manifest/executionSchemas.d.ts +27 -0
  360. package/dist/manifest/executionSchemas.js +21 -2
  361. package/dist/manifest/mcpSchemas.d.ts +1 -0
  362. package/dist/manifest/mcpSchemas.js +3 -0
  363. package/dist/manifest/renderSpawnfileNetworks.js +11 -0
  364. package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
  365. package/dist/manifest/scheduleSchemas.d.ts +3 -1
  366. package/dist/manifest/scheduleSchemas.js +91 -5
  367. package/dist/manifest/schemas.d.ts +237 -12
  368. package/dist/manifest/schemas.js +5 -2
  369. package/dist/manifest/teamNetworkAccessSchemas.d.ts +5 -1
  370. package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
  371. package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
  372. package/dist/manifest/teamNetworkSchemas.d.ts +17 -3
  373. package/dist/manifest/teamNetworkSchemas.js +19 -1
  374. package/dist/manifest/teamNetworkServerSchemas.d.ts +8 -3
  375. package/dist/manifest/teamNetworkServerSchemas.js +18 -2
  376. package/dist/manifest/workspaceSchemas.d.ts +16 -0
  377. package/dist/manifest/workspaceSchemas.js +11 -0
  378. package/dist/report/types.d.ts +34 -4
  379. package/dist/runtime/common.d.ts +28 -1
  380. package/dist/runtime/common.js +33 -3
  381. package/dist/runtime/container.js +49 -33
  382. package/dist/runtime/daimon/adapter.d.ts +14 -0
  383. package/dist/runtime/daimon/adapter.js +243 -0
  384. package/dist/runtime/daimon/attention.d.ts +8 -0
  385. package/dist/runtime/daimon/attention.js +32 -0
  386. package/dist/runtime/daimon/config.d.ts +25 -0
  387. package/dist/runtime/daimon/config.js +272 -0
  388. package/dist/runtime/daimon/contractManifest.d.ts +295 -0
  389. package/dist/runtime/daimon/contractManifest.js +319 -0
  390. package/dist/runtime/daimon/grokModel.d.ts +19 -0
  391. package/dist/runtime/daimon/grokModel.js +33 -0
  392. package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
  393. package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
  394. package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
  395. package/dist/runtime/daimon/grokWorkerContract.js +48 -0
  396. package/dist/runtime/daimon/memory.d.ts +57 -0
  397. package/dist/runtime/daimon/memory.js +125 -0
  398. package/dist/runtime/daimon/runAuth.d.ts +51 -0
  399. package/dist/runtime/daimon/runAuth.js +279 -0
  400. package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
  401. package/dist/runtime/daimon/runtimeIdentity.js +22 -0
  402. package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
  403. package/dist/runtime/daimon/scheduleAuthority.js +17 -0
  404. package/dist/runtime/index.d.ts +4 -0
  405. package/dist/runtime/index.js +4 -0
  406. package/dist/runtime/install.d.ts +3 -0
  407. package/dist/runtime/install.js +3 -0
  408. package/dist/runtime/localDaimonAuthority.d.ts +11 -0
  409. package/dist/runtime/localDaimonAuthority.js +77 -0
  410. package/dist/runtime/mnemeMcp.d.ts +13 -0
  411. package/dist/runtime/mnemeMcp.js +26 -0
  412. package/dist/runtime/openclaw/adapter.js +2 -2
  413. package/dist/runtime/pi/adapter.d.ts +0 -1
  414. package/dist/runtime/pi/adapter.js +2 -6
  415. package/dist/runtime/pi/appCliSource.js +1 -1
  416. package/dist/runtime/pi/appScheduleSource.js +6 -2
  417. package/dist/runtime/pi/appTemplateTypes.d.ts +1 -1
  418. package/dist/runtime/picoclaw/adapter.js +2 -2
  419. package/dist/runtime/registry.d.ts +3 -0
  420. package/dist/runtime/registry.js +19 -2
  421. package/dist/runtime/scheduleUtils.d.ts +1 -0
  422. package/dist/runtime/scheduleUtils.js +5 -1
  423. package/dist/runtime/types.d.ts +25 -0
  424. package/dist/runtime/usageLedger.d.ts +158 -0
  425. package/dist/runtime/usageLedger.js +269 -0
  426. package/dist/runtime/usageLedgerRead.d.ts +48 -0
  427. package/dist/runtime/usageLedgerRead.js +102 -0
  428. package/dist/runtime/usageRequestLedger.d.ts +42 -0
  429. package/dist/runtime/usageRequestLedger.js +72 -0
  430. package/dist/shared/daimonCodexDocker.d.ts +32 -0
  431. package/dist/shared/daimonCodexDocker.js +120 -0
  432. package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
  433. package/dist/shared/daimonGrokSeccompProfile.js +11 -0
  434. package/dist/shared/index.d.ts +2 -0
  435. package/dist/shared/index.js +2 -0
  436. package/dist/shared/types.d.ts +1 -1
  437. package/dist/shared/volumeNames.d.ts +6 -0
  438. package/dist/shared/volumeNames.js +14 -0
  439. package/dist/target/dockerArtifactsProvider.js +34 -7
  440. package/dist/target/dockerBaseImage.d.ts +2 -0
  441. package/dist/target/dockerBaseImage.js +11 -0
  442. package/dist/target/dockerCommandExecutor.d.ts +11 -0
  443. package/dist/target/dockerCommandExecutor.js +53 -2
  444. package/dist/target/dockerCommandExecutorCore.d.ts +2 -1
  445. package/dist/target/dockerCommandExecutorCore.js +4 -2
  446. package/dist/target/dockerPublicArtifactSnapshot.d.ts +3 -3
  447. package/dist/target/dockerPublicArtifactSnapshot.js +17 -33
  448. package/dist/target/dockerTarget.d.ts +1 -0
  449. package/dist/target/dockerTargetBinding.d.ts +1 -2
  450. package/dist/target/dockerTargetBinding.js +2 -3
  451. package/dist/target/dockerTargetExecFile.d.ts +19 -0
  452. package/dist/target/dockerTargetExecFile.js +194 -0
  453. package/dist/target/dockerWorldServiceProvider.d.ts +4 -0
  454. package/dist/target/dockerWorldServiceProvider.js +13 -1
  455. package/dist/target/evidenceExport.d.ts +3 -1
  456. package/dist/target/evidenceExport.js +12 -3
  457. package/dist/target/evidenceExportOperationsTestKit.js +3 -3
  458. package/dist/target/evidenceExportProvider.d.ts +2 -0
  459. package/dist/target/evidenceExportProvider.js +15 -5
  460. package/dist/target/publicArtifactSnapshot.d.ts +31 -0
  461. package/dist/target/publicArtifactSnapshot.js +37 -3
  462. package/examples/README.md +45 -0
  463. package/examples/agent-with-subagents/AGENTS.md +3 -0
  464. package/examples/agent-with-subagents/Spawnfile +30 -0
  465. package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
  466. package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
  467. package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
  468. package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
  469. package/examples/daimon-org/Spawnfile +68 -0
  470. package/examples/daimon-org/TEAM.md +4 -0
  471. package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
  472. package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
  473. package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
  474. package/examples/daimon-org/teams/review/Spawnfile +53 -0
  475. package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
  476. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
  477. package/examples/daimon-public-host/AGENTS.md +3 -0
  478. package/examples/daimon-public-host/Spawnfile +21 -0
  479. package/examples/distribution-org/Spawnfile +43 -0
  480. package/examples/distribution-org/TEAM.md +4 -0
  481. package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
  482. package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
  483. package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
  484. package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
  485. package/examples/jungian-daimon-org/Spawnfile +41 -0
  486. package/examples/jungian-daimon-org/TEAM.md +21 -0
  487. package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
  488. package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
  489. package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
  490. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
  491. package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
  492. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
  493. package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
  494. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
  495. package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
  496. package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
  497. package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
  498. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
  499. package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
  500. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
  501. package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
  502. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
  503. package/examples/mixed-runtime-org/Spawnfile +71 -0
  504. package/examples/mixed-runtime-org/TEAM.md +8 -0
  505. package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
  506. package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
  507. package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
  508. package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
  509. package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
  510. package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
  511. package/examples/moltnet-team-chat/Spawnfile +43 -0
  512. package/examples/moltnet-team-chat/TEAM.md +5 -0
  513. package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
  514. package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
  515. package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
  516. package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
  517. package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
  518. package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
  519. package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
  520. package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
  521. package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
  522. package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
  523. package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
  524. package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
  525. package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
  526. package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
  527. package/examples/single-agent/AGENTS.md +3 -0
  528. package/examples/single-agent/HEARTBEAT.md +3 -0
  529. package/examples/single-agent/IDENTITY.md +3 -0
  530. package/examples/single-agent/MEMORY.md +3 -0
  531. package/examples/single-agent/SOUL.md +3 -0
  532. package/examples/single-agent/Spawnfile +41 -0
  533. package/examples/single-agent/skills/web_search/SKILL.md +6 -0
  534. package/moltnet-releases.json +5 -4
  535. package/package.json +36 -9
  536. package/runtimes.yaml +5 -2
  537. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +0 -13
  538. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +0 -109
  539. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +0 -8
  540. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +0 -60
  541. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +0 -8
  542. package/dist/deployment/simfileFixtureBoundary.test-helper.js +0 -103
  543. package/dist/ownership/simfileRunOperatorInputs.d.ts +0 -103
  544. package/dist/ownership/simfileRunOperatorInputs.js +0 -139
  545. package/dist/target/cleanupRunDocker.test-helper.d.ts +0 -67
  546. package/dist/target/cleanupRunDocker.test-helper.js +0 -238
@@ -5,7 +5,7 @@ import { memoryBanksSchema } from "./memorySchemas.js";
5
5
  import { mcpServerSchema } from "./mcpSchemas.js";
6
6
  import { surfacesSchema } from "./surfaceSchemas.js";
7
7
  import { externalParticipantServiceSchema } from "./externalParticipantSchemas.js";
8
- import { teamNetworkSchema, teamWorkspaceSchema } from "./teamNetworkSchemas.js";
8
+ import { isDeclaredPairedRemoteRoomMember, teamNetworkSchema, teamWorkspaceSchema } from "./teamNetworkSchemas.js";
9
9
  const skillRequirementSchema = z
10
10
  .object({
11
11
  mcp: z.array(z.string()).optional()
@@ -217,7 +217,9 @@ const teamManifestSchema = commonManifestSchema
217
217
  .map((participant) => participant.id) ?? []);
218
218
  for (const room of network.rooms) {
219
219
  for (const memberId of room.members) {
220
- if (!memberIds.has(memberId) && !externalRoomMembers.has(memberId)) {
220
+ if (!memberIds.has(memberId)
221
+ && !externalRoomMembers.has(memberId)
222
+ && !isDeclaredPairedRemoteRoomMember(network, room, memberId)) {
221
223
  context.addIssue({
222
224
  code: z.ZodIssueCode.custom,
223
225
  message: `network ${network.id} room ${room.id} references unknown member ${memberId}`
@@ -256,6 +258,7 @@ export const manifestSchema = z.discriminatedUnion("kind", [
256
258
  agentManifestSchema,
257
259
  teamManifestSchema
258
260
  ]);
261
+ export { isDeclaredPairedRemoteRoomMember } from "./teamNetworkSchemas.js";
259
262
  export const isAgentManifest = (manifest) => manifest.kind === "agent";
260
263
  export const isTeamManifest = (manifest) => manifest.kind === "team";
261
264
  export const isInlineAgentMember = (member) => !("ref" in member);
@@ -1,9 +1,13 @@
1
1
  import { z } from "zod";
2
2
  export declare const teamNetworkAgentRegistrationSchema: z.ZodEnum<{
3
- token: "token";
4
3
  disabled: "disabled";
4
+ token: "token";
5
5
  open: "open";
6
6
  }>;
7
+ export declare const teamNetworkRoomFederationSchema: z.ZodUnion<readonly [z.ZodEnum<{
8
+ none: "none";
9
+ all: "all";
10
+ }>, z.ZodArray<z.ZodString>]>;
7
11
  export declare const teamNetworkRoomVisibilitySchema: z.ZodEnum<{
8
12
  private: "private";
9
13
  public: "public";
@@ -1,5 +1,16 @@
1
1
  import { z } from "zod";
2
2
  export const teamNetworkAgentRegistrationSchema = z.enum(["disabled", "token", "open"]);
3
+ export const teamNetworkRoomFederationSchema = z.union([
4
+ z.enum(["none", "all"]),
5
+ z.array(z.string().trim().min(1)).min(1).superRefine((value, context) => {
6
+ if (new Set(value).size !== value.length) {
7
+ context.addIssue({
8
+ code: z.ZodIssueCode.custom,
9
+ message: "room federation pairing ids must be unique"
10
+ });
11
+ }
12
+ })
13
+ ]);
3
14
  export const teamNetworkRoomVisibilitySchema = z.enum(["public", "private"]);
4
15
  export const teamNetworkRoomWritePolicySchema = z.enum([
5
16
  "members",
@@ -15,8 +15,8 @@ declare const teamNetworkAuthTokenSchema: z.ZodObject<{
15
15
  export declare const isTopologyOperatorToken: (token: z.infer<typeof teamNetworkAuthTokenSchema>) => boolean;
16
16
  export declare const teamNetworkAuthSchema: z.ZodObject<{
17
17
  agent_registration: z.ZodOptional<z.ZodEnum<{
18
- token: "token";
19
18
  disabled: "disabled";
19
+ token: "token";
20
20
  open: "open";
21
21
  }>>;
22
22
  client: z.ZodOptional<z.ZodObject<{
@@ -4,6 +4,10 @@ export type { TeamWorkspace, TeamWorkspaceDocs, TeamWorkspaceResource, TeamWorks
4
4
  export type { TeamNetworkAuth } from "./teamNetworkAuthSchemas.js";
5
5
  export type { TeamNetworkServer, TeamNetworkStore } from "./teamNetworkServerSchemas.js";
6
6
  declare const teamNetworkRoomSchema: z.ZodObject<{
7
+ federation: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
8
+ none: "none";
9
+ all: "all";
10
+ }>, z.ZodArray<z.ZodString>]>>;
7
11
  id: z.ZodString;
8
12
  members: z.ZodArray<z.ZodString>;
9
13
  name: z.ZodOptional<z.ZodString>;
@@ -22,6 +26,10 @@ export declare const teamNetworkSchema: z.ZodObject<{
22
26
  name: z.ZodOptional<z.ZodString>;
23
27
  provider: z.ZodLiteral<"moltnet">;
24
28
  rooms: z.ZodArray<z.ZodObject<{
29
+ federation: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
30
+ none: "none";
31
+ all: "all";
32
+ }>, z.ZodArray<z.ZodString>]>>;
25
33
  id: z.ZodString;
26
34
  members: z.ZodArray<z.ZodString>;
27
35
  name: z.ZodOptional<z.ZodString>;
@@ -39,8 +47,8 @@ export declare const teamNetworkSchema: z.ZodObject<{
39
47
  allowed_origins: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
48
  auth: z.ZodObject<{
41
49
  agent_registration: z.ZodOptional<z.ZodEnum<{
42
- token: "token";
43
50
  disabled: "disabled";
51
+ token: "token";
44
52
  open: "open";
45
53
  }>>;
46
54
  client: z.ZodOptional<z.ZodObject<{
@@ -84,7 +92,12 @@ export declare const teamNetworkSchema: z.ZodObject<{
84
92
  mode: z.ZodLiteral<"managed">;
85
93
  pairings: z.ZodOptional<z.ZodArray<z.ZodObject<{
86
94
  id: z.ZodString;
87
- remote_base_url: z.ZodString;
95
+ relay: z.ZodOptional<z.ZodObject<{
96
+ room: z.ZodString;
97
+ token_secret: z.ZodString;
98
+ url: z.ZodString;
99
+ }, z.core.$strict>>;
100
+ remote_base_url: z.ZodOptional<z.ZodString>;
88
101
  remote_network_id: z.ZodString;
89
102
  remote_network_name: z.ZodString;
90
103
  token_secret: z.ZodString;
@@ -122,8 +135,8 @@ export declare const teamNetworkSchema: z.ZodObject<{
122
135
  }, z.core.$strict>, z.ZodObject<{
123
136
  auth: z.ZodObject<{
124
137
  agent_registration: z.ZodOptional<z.ZodEnum<{
125
- token: "token";
126
138
  disabled: "disabled";
139
+ token: "token";
127
140
  open: "open";
128
141
  }>>;
129
142
  client: z.ZodOptional<z.ZodObject<{
@@ -157,3 +170,4 @@ export declare const teamNetworkSchema: z.ZodObject<{
157
170
  }, z.core.$strict>;
158
171
  export type TeamNetwork = z.infer<typeof teamNetworkSchema>;
159
172
  export type TeamNetworkRoom = z.infer<typeof teamNetworkRoomSchema>;
173
+ export declare const isDeclaredPairedRemoteRoomMember: (network: TeamNetwork, room: TeamNetworkRoom, memberId: string) => boolean;
@@ -1,9 +1,10 @@
1
1
  import { z } from "zod";
2
- import { teamNetworkRoomVisibilitySchema, teamNetworkRoomWritePolicySchema } from "./teamNetworkAccessSchemas.js";
2
+ import { teamNetworkRoomFederationSchema, teamNetworkRoomVisibilitySchema, teamNetworkRoomWritePolicySchema } from "./teamNetworkAccessSchemas.js";
3
3
  import { teamNetworkServerSchema } from "./teamNetworkServerSchemas.js";
4
4
  export { teamWorkspaceDocsSchema, teamWorkspaceSchema } from "./workspaceSchemas.js";
5
5
  const teamNetworkRoomSchema = z
6
6
  .object({
7
+ federation: teamNetworkRoomFederationSchema.optional(),
7
8
  id: z.string().trim().min(1),
8
9
  members: z.array(z.string().trim().min(1)),
9
10
  name: z.string().trim().min(1).optional(),
@@ -29,3 +30,20 @@ export const teamNetworkSchema = z
29
30
  });
30
31
  }
31
32
  });
33
+ export const isDeclaredPairedRemoteRoomMember = (network, room, memberId) => {
34
+ const separator = memberId.indexOf(":");
35
+ if (separator <= 0 || separator === memberId.length - 1) {
36
+ return false;
37
+ }
38
+ const remoteNetworkId = memberId.slice(0, separator).trim();
39
+ const remoteAgentId = memberId.slice(separator + 1).trim();
40
+ if (!remoteNetworkId || !remoteAgentId || network.server?.mode !== "managed") {
41
+ return false;
42
+ }
43
+ const pairing = network.server.pairings?.find((candidate) => candidate.remote_network_id === remoteNetworkId);
44
+ if (!pairing) {
45
+ return false;
46
+ }
47
+ return room.federation === "all"
48
+ || (Array.isArray(room.federation) && room.federation.includes(pairing.id));
49
+ };
@@ -31,8 +31,8 @@ export declare const teamNetworkServerSchema: z.ZodDiscriminatedUnion<[z.ZodObje
31
31
  allowed_origins: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
32
  auth: z.ZodObject<{
33
33
  agent_registration: z.ZodOptional<z.ZodEnum<{
34
- token: "token";
35
34
  disabled: "disabled";
35
+ token: "token";
36
36
  open: "open";
37
37
  }>>;
38
38
  client: z.ZodOptional<z.ZodObject<{
@@ -76,7 +76,12 @@ export declare const teamNetworkServerSchema: z.ZodDiscriminatedUnion<[z.ZodObje
76
76
  mode: z.ZodLiteral<"managed">;
77
77
  pairings: z.ZodOptional<z.ZodArray<z.ZodObject<{
78
78
  id: z.ZodString;
79
- remote_base_url: z.ZodString;
79
+ relay: z.ZodOptional<z.ZodObject<{
80
+ room: z.ZodString;
81
+ token_secret: z.ZodString;
82
+ url: z.ZodString;
83
+ }, z.core.$strict>>;
84
+ remote_base_url: z.ZodOptional<z.ZodString>;
80
85
  remote_network_id: z.ZodString;
81
86
  remote_network_name: z.ZodString;
82
87
  token_secret: z.ZodString;
@@ -114,8 +119,8 @@ export declare const teamNetworkServerSchema: z.ZodDiscriminatedUnion<[z.ZodObje
114
119
  }, z.core.$strict>, z.ZodObject<{
115
120
  auth: z.ZodObject<{
116
121
  agent_registration: z.ZodOptional<z.ZodEnum<{
117
- token: "token";
118
122
  disabled: "disabled";
123
+ token: "token";
119
124
  open: "open";
120
125
  }>>;
121
126
  client: z.ZodOptional<z.ZodObject<{
@@ -68,15 +68,31 @@ const teamNetworkListenSchema = z
68
68
  port: z.number().int().min(1).max(65535)
69
69
  })
70
70
  .strict();
71
+ const teamNetworkPairingRelaySchema = z
72
+ .object({
73
+ room: z.string().trim().min(1),
74
+ token_secret: z.string().trim().min(1),
75
+ url: z.string().trim().min(1)
76
+ })
77
+ .strict();
71
78
  const teamNetworkPairingSchema = z
72
79
  .object({
73
80
  id: z.string().trim().min(1),
74
- remote_base_url: z.string().trim().min(1),
81
+ relay: teamNetworkPairingRelaySchema.optional(),
82
+ remote_base_url: z.string().trim().min(1).optional(),
75
83
  remote_network_id: z.string().trim().min(1),
76
84
  remote_network_name: z.string().trim().min(1),
77
85
  token_secret: z.string().trim().min(1)
78
86
  })
79
- .strict();
87
+ .strict()
88
+ .superRefine((value, context) => {
89
+ if ((value.remote_base_url === undefined) === (value.relay === undefined)) {
90
+ context.addIssue({
91
+ code: z.ZodIssueCode.custom,
92
+ message: "managed Moltnet pairing requires exactly one of remote_base_url or relay"
93
+ });
94
+ }
95
+ });
80
96
  const teamNetworkManagedServerSchema = z
81
97
  .object({
82
98
  allowed_origins: z.array(z.string().trim().min(1)).optional(),
@@ -23,6 +23,14 @@ declare const teamWorkspaceResourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
23
23
  }>>;
24
24
  tag: z.ZodOptional<z.ZodString>;
25
25
  url: z.ZodString;
26
+ }, z.core.$strict>, z.ZodObject<{
27
+ id: z.ZodString;
28
+ kind: z.ZodLiteral<"bundle">;
29
+ mount: z.ZodString;
30
+ mode: z.ZodLiteral<"readonly">;
31
+ sha256: z.ZodString;
32
+ sharing: z.ZodOptional<z.ZodLiteral<"per_agent">>;
33
+ source: z.ZodString;
26
34
  }, z.core.$strict>, z.ZodObject<{
27
35
  id: z.ZodString;
28
36
  kind: z.ZodLiteral<"volume">;
@@ -68,6 +76,14 @@ export declare const teamWorkspaceSchema: z.ZodObject<{
68
76
  }>>;
69
77
  tag: z.ZodOptional<z.ZodString>;
70
78
  url: z.ZodString;
79
+ }, z.core.$strict>, z.ZodObject<{
80
+ id: z.ZodString;
81
+ kind: z.ZodLiteral<"bundle">;
82
+ mount: z.ZodString;
83
+ mode: z.ZodLiteral<"readonly">;
84
+ sha256: z.ZodString;
85
+ sharing: z.ZodOptional<z.ZodLiteral<"per_agent">>;
86
+ source: z.ZodString;
71
87
  }, z.core.$strict>, z.ZodObject<{
72
88
  id: z.ZodString;
73
89
  kind: z.ZodLiteral<"volume">;
@@ -89,8 +89,14 @@ const teamWorkspaceResourceVolumeSchema = z
89
89
  sharing: workspaceResourceSharingSchema.optional()
90
90
  })
91
91
  .strict();
92
+ const teamWorkspaceResourceBundleSchema = z.object({
93
+ id: z.string().trim().min(1), kind: z.literal("bundle"), mount: resourceMountSchema,
94
+ mode: z.literal("readonly"), sha256: z.string().regex(/^sha256:[a-f0-9]{64}$/u),
95
+ sharing: z.literal("per_agent").optional(), source: z.string().trim().min(1)
96
+ }).strict();
92
97
  const teamWorkspaceResourceSchema = z.discriminatedUnion("kind", [
93
98
  teamWorkspaceResourceGitSchema,
99
+ teamWorkspaceResourceBundleSchema,
94
100
  teamWorkspaceResourceVolumeSchema
95
101
  ]);
96
102
  const workspaceSkillRequirementSchema = z
@@ -129,6 +135,11 @@ export const teamWorkspaceSchema = z
129
135
  url: resource.url
130
136
  });
131
137
  }
138
+ if (resource.kind === "bundle")
139
+ return JSON.stringify({
140
+ kind: resource.kind, mode: resource.mode, mount: normalizeMount(resource.mount),
141
+ sha256: resource.sha256, sharing: resource.sharing ?? "per_agent", source: resource.source
142
+ });
132
143
  return JSON.stringify({
133
144
  kind: "volume",
134
145
  mode: resource.mode,
@@ -35,14 +35,32 @@ export interface ContainerRuntimeInstanceReport {
35
35
  export interface ContainerWorkspaceResourceReport {
36
36
  backing_path: string;
37
37
  id: string;
38
- kind: "git" | "volume";
38
+ kind: "bundle" | "git" | "volume";
39
39
  link_path: string;
40
40
  mode: "mutable" | "readonly";
41
41
  mount: string;
42
+ mount_path: string;
43
+ replacement_sentinel?: {
44
+ path: string;
45
+ result: "verified_on_startup";
46
+ };
47
+ resolved_identity: string;
42
48
  sharing: "per_agent" | "team";
49
+ volume_name: string | null;
43
50
  }
44
51
  export interface ContainerPersistentMountReport {
52
+ /**
53
+ * The author's own volume name, when one was declared (a workspace resource
54
+ * `name`, a `store.persistence.name`, a memory bank's `persistence.name`).
55
+ * Present only when declared; `volume_name` equals it in that case. It is
56
+ * carried separately because it is the one part of the resolved name that is
57
+ * portable: it belongs to the declaration, not to the creator's plan root or
58
+ * deployment lineage, so a published image can honour it verbatim while a
59
+ * derived name must be re-derived per deployment.
60
+ */
61
+ declared_volume_name?: string;
45
62
  id: string;
63
+ lifecycle?: "exclusive-reattach";
46
64
  mount_path: string;
47
65
  reason: string;
48
66
  volume_name: string;
@@ -200,9 +218,16 @@ export interface ContainerMoltnetPlanSummary {
200
218
  architecture: "amd64" | "arm64";
201
219
  asset: string;
202
220
  asset_sha256: `sha256:${string}`;
203
- capabilities: readonly ["pi-bridge"];
204
- release_version: string;
205
- source_revision: string;
221
+ capabilities: readonly ["pi-bridge"] | readonly ["daimon-bridge", "pi-bridge"];
222
+ development?: {
223
+ mode: "local-development";
224
+ non_production: true;
225
+ unsigned: true;
226
+ unpublished: true;
227
+ };
228
+ release_version?: string;
229
+ source_revision?: string;
230
+ source_sha256?: `sha256:${string}`;
206
231
  version: "spawnfile.moltnet-release-identity.v1";
207
232
  };
208
233
  server_plans: ContainerMoltnetServerPlanSummary[];
@@ -224,6 +249,11 @@ export interface ContainerReport {
224
249
  entrypoint: string;
225
250
  env_example: string;
226
251
  internal_ports?: number[];
252
+ local_daimon_runtime?: {
253
+ capability_receipt_sha256: string;
254
+ image_reference: string;
255
+ registry_authority: string;
256
+ };
227
257
  model_secrets_required: string[];
228
258
  moltnet?: ContainerMoltnetPlanSummary;
229
259
  memory?: ContainerMemoryReport[];
@@ -37,7 +37,34 @@ export declare const ensureNoopolisRunId: (env?: NodeJS.ProcessEnv) => string;
37
37
  export declare const createCapability: (key: string, outcome: CapabilityReport["outcome"], message?: string) => CapabilityReport;
38
38
  export declare const createDiagnostic: (level: DiagnosticReport["level"], message: string) => DiagnosticReport;
39
39
  export declare const createDocumentFiles: (baseDirectory: string, documents: ResolvedDocument[]) => EmittedFile[];
40
- export declare const createSkillFiles: (baseDirectory: string, skills: ResolvedSkill[]) => EmittedFile[];
40
+ /**
41
+ * Skill roots for the runtimes whose declared skills are read by an external
42
+ * coding-agent CLI engine (`daimon` and `pi`). `.codex/skills` is Codex's own
43
+ * workspace discovery root; `.agents/skills` is the generic cross-engine root
44
+ * that grok, agy, and every other file-reading CLI engine use. Both entries
45
+ * are required and the two emitted files are byte-identical on purpose — this
46
+ * mirrors the Moltnet skill install, which is the working reference: Spawnfile
47
+ * runs `moltnet skill install --runtime codex` for these runtimes and Moltnet
48
+ * writes the same skill to both roots (`resolveMoltnetWorkspaceLayout` in
49
+ * `src/compiler/moltnetClientConfig.ts`, `installMoltnetSkill` in
50
+ * `moltnet/cmd/moltnet/skill.go`). A plain `workspace/skills/` root is read by
51
+ * no engine these two runtimes can host, so anything emitted there is invisible.
52
+ */
53
+ export declare const CLI_ENGINE_SKILL_BASE_DIRECTORIES: readonly string[];
54
+ /**
55
+ * Skill root for the runtimes that own their own skill loader and read the
56
+ * workspace `skills/` directory directly (`openclaw`, `picoclaw`). Moltnet
57
+ * installs its skill to the same place for those runtimes.
58
+ */
59
+ export declare const WORKSPACE_SKILL_BASE_DIRECTORY = "workspace/skills";
60
+ /**
61
+ * Lowers declared skills into emitted `SKILL.md` files. `baseDirectory`
62
+ * accepts a list because a runtime can need the same skill under more than
63
+ * one discovery root (see `CLI_ENGINE_SKILL_BASE_DIRECTORIES`); the emission
64
+ * order is root-major so a generated workspace lists each root's skills
65
+ * together and stays deterministic.
66
+ */
67
+ export declare const createSkillFiles: (baseDirectory: string | readonly string[], skills: ResolvedSkill[]) => EmittedFile[];
41
68
  export declare const createAgentCapabilities: (node: ResolvedAgentNode, options?: {
42
69
  mcpOutcome?: CapabilityReport["outcome"];
43
70
  memoryMessage?: string;
@@ -62,10 +62,40 @@ export const createDocumentFiles = (baseDirectory, documents) => documents.map((
62
62
  ? `${baseDirectory}/${ROLE_FILE_NAMES[document.role]}`
63
63
  : `${baseDirectory}/extras/${document.role.replace(/^extras\./, "")}.md`
64
64
  }));
65
- export const createSkillFiles = (baseDirectory, skills) => skills.map((skill) => ({
65
+ /**
66
+ * Skill roots for the runtimes whose declared skills are read by an external
67
+ * coding-agent CLI engine (`daimon` and `pi`). `.codex/skills` is Codex's own
68
+ * workspace discovery root; `.agents/skills` is the generic cross-engine root
69
+ * that grok, agy, and every other file-reading CLI engine use. Both entries
70
+ * are required and the two emitted files are byte-identical on purpose — this
71
+ * mirrors the Moltnet skill install, which is the working reference: Spawnfile
72
+ * runs `moltnet skill install --runtime codex` for these runtimes and Moltnet
73
+ * writes the same skill to both roots (`resolveMoltnetWorkspaceLayout` in
74
+ * `src/compiler/moltnetClientConfig.ts`, `installMoltnetSkill` in
75
+ * `moltnet/cmd/moltnet/skill.go`). A plain `workspace/skills/` root is read by
76
+ * no engine these two runtimes can host, so anything emitted there is invisible.
77
+ */
78
+ export const CLI_ENGINE_SKILL_BASE_DIRECTORIES = [
79
+ "workspace/.agents/skills",
80
+ "workspace/.codex/skills"
81
+ ];
82
+ /**
83
+ * Skill root for the runtimes that own their own skill loader and read the
84
+ * workspace `skills/` directory directly (`openclaw`, `picoclaw`). Moltnet
85
+ * installs its skill to the same place for those runtimes.
86
+ */
87
+ export const WORKSPACE_SKILL_BASE_DIRECTORY = "workspace/skills";
88
+ /**
89
+ * Lowers declared skills into emitted `SKILL.md` files. `baseDirectory`
90
+ * accepts a list because a runtime can need the same skill under more than
91
+ * one discovery root (see `CLI_ENGINE_SKILL_BASE_DIRECTORIES`); the emission
92
+ * order is root-major so a generated workspace lists each root's skills
93
+ * together and stays deterministic.
94
+ */
95
+ export const createSkillFiles = (baseDirectory, skills) => (typeof baseDirectory === "string" ? [baseDirectory] : baseDirectory).flatMap((directory) => skills.map((skill) => ({
66
96
  content: skill.content,
67
- path: `${baseDirectory}/${skill.name}/SKILL.md`
68
- }));
97
+ path: `${directory}/${skill.name}/SKILL.md`
98
+ })));
69
99
  export const createAgentCapabilities = (node, options = {}) => {
70
100
  const capabilities = [];
71
101
  for (const document of node.docs) {
@@ -2,14 +2,18 @@ import { SpawnfileError } from "../shared/index.js";
2
2
  import { NOOPOLIS_RUN_ID_ENV, resolveNoopolisRunId } from "./common.js";
3
3
  import { createVendorCopyCommand, needsVendorCopyCommand, resolveInstallPackageSpec } from "./containerPackageOverrides.js";
4
4
  import { resolveRuntimeInstallSelection } from "./install.js";
5
+ import { DAIMON_LOCAL_RUNTIME_IDENTITY_ENV, loadLocalDaimonRuntimeIdentity } from "./localDaimonAuthority.js";
6
+ import { DAIMON_CONTRACT_MANIFEST_SHA256, DAIMON_GROK_ENGINE_BROKER } from "./daimon/contractManifest.js";
7
+ import { DAIMON_WAKE_FUSE_DIRECTORY, DAIMON_WAKE_FUSE_DIRECTORY_ENV } from "./daimon/config.js";
5
8
  export const RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs";
6
9
  const PI_RUNTIME_BASE_IMAGE_ENV = "SPAWNFILE_PI_RUNTIME_BASE_IMAGE";
7
- const DAIMON_RUNTIME_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_IMAGE";
8
- const DAIMON_RUNTIME_BASE_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_BASE_IMAGE";
10
+ const LEGACY_DAIMON_RUNTIME_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_IMAGE";
11
+ const LEGACY_DAIMON_RUNTIME_CAPABILITY_RECEIPT_ENV = "SPAWNFILE_DAIMON_RUNTIME_CAPABILITY_RECEIPT";
12
+ const DAIMON_CAPABILITY_RECEIPT_FILE = "capability-receipt.json";
9
13
  const OPENCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_OPENCLAW_RUNTIME_IMAGE";
10
14
  const PICOCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_PICOCLAW_RUNTIME_IMAGE";
11
15
  const DAIMON_PACKAGE_NAME = "@noopolis/daimon";
12
- const DAIMON_PACKAGE_VERSION = "0.1.2";
16
+ const PI_DAIMON_PACKAGE_VERSION = "0.1.2";
13
17
  const MNEME_PACKAGE_NAME = "@noopolis/mneme";
14
18
  const MNEME_PACKAGE_VERSION = "0.1.1";
15
19
  const PI_AI_PACKAGE_NAME = "@earendil-works/pi-ai";
@@ -40,6 +44,34 @@ const resolveRuntimeImageRef = (envName, selection) => process.env[envName]?.tri
40
44
  (selection.kind === "container_image"
41
45
  ? `${selection.image}:${selection.tag}`
42
46
  : undefined);
47
+ /**
48
+ * Daimon is distributed only as a generic, source-free runtime image. A
49
+ * local-development authority is deliberately narrow: it must be an explicit
50
+ * generated identity file naming the approved loopback registry repository by
51
+ * manifest digest plus the exact embedded receipt digest. Raw image/receipt
52
+ * overrides, mutable tags, checkouts, and host-installed CLIs are rejected.
53
+ */
54
+ const resolveDaimonRuntimeImageRef = async (selection) => {
55
+ if (selection.kind !== "container_image" ||
56
+ !selection.digest ||
57
+ !selection.capabilityReceipt) {
58
+ throw new SpawnfileError("runtime_error", "Daimon organization runtime v1 requires a pinned generic Daimon runtime image");
59
+ }
60
+ const pinnedImage = `${selection.image}@${selection.digest}`;
61
+ if (process.env[LEGACY_DAIMON_RUNTIME_IMAGE_ENV]?.trim() ||
62
+ process.env[LEGACY_DAIMON_RUNTIME_CAPABILITY_RECEIPT_ENV]?.trim()) {
63
+ throw new SpawnfileError("runtime_error", `Raw Daimon runtime image overrides are disabled; use ${DAIMON_LOCAL_RUNTIME_IDENTITY_ENV}`);
64
+ }
65
+ const identityPath = process.env[DAIMON_LOCAL_RUNTIME_IDENTITY_ENV]?.trim();
66
+ if (identityPath) {
67
+ const identity = await loadLocalDaimonRuntimeIdentity(identityPath);
68
+ return { capabilityReceipt: identity.capabilityReceipt, image: identity.imageReference };
69
+ }
70
+ if (selection.contractManifestSha256 !== DAIMON_CONTRACT_MANIFEST_SHA256) {
71
+ throw new SpawnfileError("runtime_error", "Selected Daimon runtime image does not attest the compiler's exact contract manifest; build and select a matching local artifact or pin a published compatible release");
72
+ }
73
+ return { capabilityReceipt: selection.capabilityReceipt, image: pinnedImage };
74
+ };
43
75
  export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
44
76
  const selection = await resolveRuntimeInstallSelection(runtimeName);
45
77
  assertArtifactInstallSelection(runtimeName, selection);
@@ -96,38 +128,22 @@ export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
96
128
  };
97
129
  }
98
130
  case "daimon": {
99
- const daimonRuntimeImage = process.env[DAIMON_RUNTIME_IMAGE_ENV]?.trim() ||
100
- process.env[DAIMON_RUNTIME_BASE_IMAGE_ENV]?.trim() ||
101
- (selection.kind === "container_image"
102
- ? `${selection.image}:${selection.tag}`
103
- : undefined);
104
- if (daimonRuntimeImage) {
105
- return {
106
- commands: [],
107
- copyCommands: [createRuntimeImageCopyCommand(daimonRuntimeImage, installRoot)],
108
- env: containerEnv,
109
- runtimeName,
110
- runtimeRoot: installRoot
111
- };
112
- }
113
- if (selection.kind !== "npm") {
114
- throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no compiled artifact recipe for ${selection.kind}`);
115
- }
116
- const npmPackages = [
117
- resolveInstallPackageSpec(selection.packageName, selection.version, packageOverrides),
118
- resolveInstallPackageSpec(MNEME_PACKAGE_NAME, MNEME_PACKAGE_VERSION, packageOverrides),
119
- `${PI_CODING_AGENT_PACKAGE_NAME}@${PI_PACKAGE_VERSION}`,
120
- `${PI_AI_PACKAGE_NAME}@${PI_PACKAGE_VERSION}`
121
- ];
131
+ const daimonRuntime = await resolveDaimonRuntimeImageRef(selection);
122
132
  return {
123
133
  commands: [
124
- `mkdir -p ${installRoot}`,
125
- `cd ${installRoot} && npm install --omit=dev --no-fund --no-audit ${npmPackages.join(" ")}`
134
+ `test -f ${installRoot}/${DAIMON_CAPABILITY_RECEIPT_FILE} && actual="$(sha256sum ${installRoot}/${DAIMON_CAPABILITY_RECEIPT_FILE} | awk '{print "sha256:" $1}')" && test "$actual" = ${JSON.stringify(daimonRuntime.capabilityReceipt)}`,
135
+ `test -f ${installRoot}/contract-manifest.json && test -f ${installRoot}/contract-manifest.sha256 && manifest="$(cat ${installRoot}/contract-manifest.sha256)" && test "$manifest" = ${JSON.stringify(DAIMON_CONTRACT_MANIFEST_SHA256)} && test "$(sha256sum ${installRoot}/contract-manifest.json | awk '{print "sha256:" $1}')" = "$manifest" && node -e 'const fs=require("fs");const r=JSON.parse(fs.readFileSync(process.argv[1],"utf8"));if(r.manifest_sha256!==process.argv[2])process.exit(1)' ${installRoot}/${DAIMON_CAPABILITY_RECEIPT_FILE} "$manifest"`,
136
+ `ln -sf ${installRoot}/bin/daimon-runtime /usr/local/bin/daimon-runtime`,
137
+ `ln -sf ${installRoot}/bin/codex /usr/local/bin/codex`,
138
+ `install -o root -g root -m 0555 ${installRoot}/bin/grok /usr/local/bin/grok && arch="$(dpkg --print-architecture)" && case "$arch" in amd64) expected=${DAIMON_GROK_ENGINE_BROKER.grokCliArtifacts.x64.sha256} ;; arm64) expected=${DAIMON_GROK_ENGINE_BROKER.grokCliArtifacts.arm64.sha256} ;; *) exit 1 ;; esac && test "$(sha256sum /usr/local/bin/grok | awk '{print $1}')" = "$expected"`,
139
+ `ln -sf ${installRoot}/bin/agy /usr/local/bin/agy`,
140
+ `mkdir -p /opt/daimon/bin && install -o root -g root -m 0555 ${installRoot}/bin/daimon-engine-broker /opt/daimon/bin/daimon-engine-broker && arch="$(dpkg --print-architecture)" && case "$arch" in amd64) expected=${DAIMON_GROK_ENGINE_BROKER.artifacts.x64Sha256} ;; arm64) expected=${DAIMON_GROK_ENGINE_BROKER.artifacts.arm64Sha256} ;; *) exit 1 ;; esac && test "$(sha256sum /opt/daimon/bin/daimon-engine-broker | awk '{print $1}')" = "$expected"`
126
141
  ],
127
- copyCommands: needsVendorCopyCommand([selection.packageName, MNEME_PACKAGE_NAME], packageOverrides)
128
- ? [createVendorCopyCommand()]
129
- : [],
130
- env: containerEnv,
142
+ copyCommands: [createRuntimeImageCopyCommand(daimonRuntime.image, installRoot)],
143
+ env: {
144
+ ...containerEnv,
145
+ [DAIMON_WAKE_FUSE_DIRECTORY_ENV]: DAIMON_WAKE_FUSE_DIRECTORY
146
+ },
131
147
  runtimeName,
132
148
  runtimeRoot: installRoot
133
149
  };
@@ -138,7 +154,7 @@ export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
138
154
  }
139
155
  const prebuiltBaseImage = process.env[PI_RUNTIME_BASE_IMAGE_ENV]?.trim() || undefined;
140
156
  const npmPackages = [
141
- resolveInstallPackageSpec(DAIMON_PACKAGE_NAME, DAIMON_PACKAGE_VERSION, packageOverrides),
157
+ resolveInstallPackageSpec(DAIMON_PACKAGE_NAME, PI_DAIMON_PACKAGE_VERSION, packageOverrides),
142
158
  resolveInstallPackageSpec(MNEME_PACKAGE_NAME, MNEME_PACKAGE_VERSION, packageOverrides),
143
159
  `${selection.packageName}@${selection.version}`,
144
160
  `${PI_AI_PACKAGE_NAME}@${selection.version}`
@@ -0,0 +1,14 @@
1
+ import type { ResolvedAgentNode } from "../../compiler/types.js";
2
+ import type { RuntimeAdapter } from "../types.js";
3
+ /**
4
+ * Workspace skill roots per Daimon engine.
5
+ *
6
+ * Codex and AGY keep both CLI-engine roots. A brokered Grok worker loads no
7
+ * workspace skill at all: Grok 1.0.34 discovers `.agents/skills` (never
8
+ * `.codex/skills`) only in a trusted folder, and Daimon keeps the workspace
9
+ * untrusted (root-owned empty `trusted_folders.toml`) and replaces the system
10
+ * prompt, whose fixed text references no skill. Emitting either root would ship
11
+ * files nothing reads, so none are emitted and the declaration is reported.
12
+ */
13
+ export declare const daimonSkillBaseDirectories: (node: ResolvedAgentNode) => readonly string[];
14
+ export declare const daimonAdapter: RuntimeAdapter;