spawnfile 0.1.13 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (950) hide show
  1. package/README.md +61 -121
  2. package/dist/audit/auditCli.d.ts +19 -0
  3. package/dist/audit/auditCli.js +63 -0
  4. package/dist/audit/checks.d.ts +100 -0
  5. package/dist/audit/checks.js +279 -0
  6. package/dist/audit/checksShared.d.ts +74 -0
  7. package/dist/audit/checksShared.js +37 -0
  8. package/dist/audit/generateAudit.d.ts +19 -0
  9. package/dist/audit/generateAudit.js +122 -0
  10. package/dist/audit/index.d.ts +4 -0
  11. package/dist/audit/index.js +4 -0
  12. package/dist/audit/readAudit.d.ts +50 -0
  13. package/dist/audit/readAudit.js +59 -0
  14. package/dist/audit/types.d.ts +40 -0
  15. package/dist/audit/types.js +8 -0
  16. package/dist/auth/credentialEnvFile.d.ts +11 -0
  17. package/dist/auth/credentialEnvFile.js +60 -0
  18. package/dist/auth/credentialProvisioning.d.ts +15 -0
  19. package/dist/auth/credentialProvisioning.js +75 -0
  20. package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
  21. package/dist/auth/credentialProvisioningReceipt.js +70 -0
  22. package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
  23. package/dist/auth/credentialProvisioningRequest.js +169 -0
  24. package/dist/auth/credentialWorldBindings.d.ts +21 -0
  25. package/dist/auth/credentialWorldBindings.js +104 -0
  26. package/dist/auth/importers.d.ts +10 -0
  27. package/dist/auth/importers.js +29 -4
  28. package/dist/auth/index.d.ts +9 -0
  29. package/dist/auth/index.js +8 -0
  30. package/dist/auth/paths.d.ts +12 -1
  31. package/dist/auth/paths.js +21 -0
  32. package/dist/auth/profileStore.js +9 -9
  33. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  34. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  35. package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
  36. package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
  37. package/dist/auth/targetSecretSourceFsPublish.d.ts +17 -0
  38. package/dist/auth/targetSecretSourceFsPublish.js +51 -0
  39. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +17 -0
  40. package/dist/auth/targetSecretSourceFsPublishImmutable.js +468 -0
  41. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  42. package/dist/auth/targetSecretSourceFsRead.js +189 -0
  43. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  44. package/dist/auth/targetSecretSourceGrant.js +99 -0
  45. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  46. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  47. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  48. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  49. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  50. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  51. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  52. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  53. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  54. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  55. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  56. package/dist/auth/targetSecretSourceResolver.js +137 -0
  57. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  58. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  59. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  60. package/dist/auth/targetSecretSourceRotate.js +121 -0
  61. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  62. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  63. package/dist/auth/trainingAuth.d.ts +21 -0
  64. package/dist/auth/trainingAuth.js +86 -0
  65. package/dist/auth/types.d.ts +1 -1
  66. package/dist/cli/artifactsCommands.d.ts +27 -0
  67. package/dist/cli/artifactsCommands.js +132 -0
  68. package/dist/cli/authCommands.d.ts +5 -0
  69. package/dist/cli/authCommands.js +230 -0
  70. package/dist/cli/canaryCutoverCommand.d.ts +2 -0
  71. package/dist/cli/canaryCutoverCommand.js +30 -0
  72. package/dist/cli/capabilitiesCommand.d.ts +3 -0
  73. package/dist/cli/capabilitiesCommand.js +12 -0
  74. package/dist/cli/capabilitiesReceipt.d.ts +56 -0
  75. package/dist/cli/capabilitiesReceipt.js +56 -0
  76. package/dist/cli/compileBuildCommands.d.ts +3 -0
  77. package/dist/cli/compileBuildCommands.js +48 -0
  78. package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
  79. package/dist/cli/composedLifecycleContractSet.js +204 -0
  80. package/dist/cli/containerBundleCommand.d.ts +6 -0
  81. package/dist/cli/containerBundleCommand.js +116 -0
  82. package/dist/cli/devCommands.js +2 -0
  83. package/dist/cli/downCommand.d.ts +25 -0
  84. package/dist/cli/downCommand.js +145 -0
  85. package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
  86. package/dist/cli/evidenceExportHelperCommand.js +51 -0
  87. package/dist/cli/index.js +15 -3
  88. package/dist/cli/lifecycleCommands.d.ts +1 -1
  89. package/dist/cli/lifecycleCommands.js +11 -181
  90. package/dist/cli/lifecycleMachine.d.ts +25 -0
  91. package/dist/cli/lifecycleMachine.js +78 -0
  92. package/dist/cli/lifecyclePlan.d.ts +35 -0
  93. package/dist/cli/lifecyclePlan.js +240 -0
  94. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  95. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  96. package/dist/cli/paideiaDelegation.d.ts +17 -0
  97. package/dist/cli/paideiaDelegation.js +210 -0
  98. package/dist/cli/paideiaSupervisor.d.ts +17 -0
  99. package/dist/cli/paideiaSupervisor.js +48 -0
  100. package/dist/cli/productStateCloneCommand.d.ts +2 -0
  101. package/dist/cli/productStateCloneCommand.js +34 -0
  102. package/dist/cli/runCli.d.ts +19 -2
  103. package/dist/cli/runCli.js +58 -74
  104. package/dist/cli/runPublishCommands.d.ts +3 -0
  105. package/dist/cli/runPublishCommands.js +70 -0
  106. package/dist/cli/statusCommand.d.ts +3 -33
  107. package/dist/cli/statusCommand.js +19 -249
  108. package/dist/cli/statusCommandLive.d.ts +20 -0
  109. package/dist/cli/statusCommandLive.js +188 -0
  110. package/dist/cli/statusCommandOptions.d.ts +40 -0
  111. package/dist/cli/statusCommandOptions.js +42 -0
  112. package/dist/cli/targetCliRoute.d.ts +2 -0
  113. package/dist/cli/targetCliRoute.js +30 -0
  114. package/dist/cli/targetCommands.d.ts +30 -0
  115. package/dist/cli/targetCommands.js +227 -0
  116. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  117. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  118. package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
  119. package/dist/cli/targetConfigPreparedPlan.js +74 -0
  120. package/dist/cli/targetConfigResolver.d.ts +3 -0
  121. package/dist/cli/targetConfigResolver.js +111 -0
  122. package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
  123. package/dist/cli/targetConfigResolverCommand.js +43 -0
  124. package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
  125. package/dist/cli/targetConfigResolverContracts.js +30 -0
  126. package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
  127. package/dist/cli/targetConfigResolverDocker.js +47 -0
  128. package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
  129. package/dist/cli/targetConfigResolverValidation.js +94 -0
  130. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  131. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  132. package/dist/cli/targetDefaultAuthorities.d.ts +55 -0
  133. package/dist/cli/targetDefaultAuthorities.js +213 -0
  134. package/dist/cli/targetDefaultConfig.d.ts +75 -0
  135. package/dist/cli/targetDefaultConfig.js +334 -0
  136. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  137. package/dist/cli/targetDefaultConfigStdin.js +221 -0
  138. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  139. package/dist/cli/targetDefaultEnvelope.js +13 -0
  140. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  141. package/dist/cli/targetDefaultHandlerFactory.js +268 -0
  142. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  143. package/dist/cli/targetDefaultHandlers.js +72 -0
  144. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  145. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  146. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  147. package/dist/cli/targetDefaultWorldClock.js +14 -0
  148. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  149. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  150. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  151. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  152. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  153. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  154. package/dist/cli/targetLookupCli.d.ts +3 -0
  155. package/dist/cli/targetLookupCli.js +31 -0
  156. package/dist/cli/targetLookupCommands.d.ts +12 -0
  157. package/dist/cli/targetLookupCommands.js +69 -0
  158. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  159. package/dist/cli/targetOperationDispatch.js +21 -0
  160. package/dist/cli/targetProductionCommands.d.ts +5 -0
  161. package/dist/cli/targetProductionCommands.js +45 -0
  162. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  163. package/dist/cli/targetReceiptOutput.js +21 -0
  164. package/dist/cli/targetRequestFile.d.ts +14 -0
  165. package/dist/cli/targetRequestFile.js +63 -0
  166. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  167. package/dist/cli/targetSecretSourceInput.js +121 -0
  168. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  169. package/dist/cli/targetWorldClockCommand.js +42 -0
  170. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  171. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  172. package/dist/cli/trainCommand.d.ts +3 -0
  173. package/dist/cli/trainCommand.js +61 -0
  174. package/dist/cli/upCommand.d.ts +3 -0
  175. package/dist/cli/upCommand.js +162 -0
  176. package/dist/cli/upImageCommand.d.ts +11 -0
  177. package/dist/cli/upImageCommand.js +41 -0
  178. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  179. package/dist/cli/upLifecycleInvocation.js +48 -0
  180. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  181. package/dist/cli/upLifecycleRecovery.js +197 -0
  182. package/dist/cli/usageCommand.d.ts +40 -0
  183. package/dist/cli/usageCommand.js +284 -0
  184. package/dist/cli/usageCommandLive.d.ts +84 -0
  185. package/dist/cli/usageCommandLive.js +95 -0
  186. package/dist/cli/usageDeploymentSource.d.ts +9 -0
  187. package/dist/cli/usageDeploymentSource.js +22 -0
  188. package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
  189. package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
  190. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  191. package/dist/compiler/agentNodeMerge.js +79 -0
  192. package/dist/compiler/agentSurfaces.js +11 -1
  193. package/dist/compiler/buildCompilePlan.js +17 -0
  194. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  195. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  196. package/dist/compiler/buildCompilePlanTeams.d.ts +2 -1
  197. package/dist/compiler/buildCompilePlanTeams.js +9 -1
  198. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  199. package/dist/compiler/buildProject.d.ts +11 -0
  200. package/dist/compiler/buildProject.js +77 -2
  201. package/dist/compiler/compilePlanHelpers.js +5 -0
  202. package/dist/compiler/compileProject.d.ts +15 -0
  203. package/dist/compiler/compileProject.js +31 -75
  204. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  205. package/dist/compiler/compileProjectPolicy.js +21 -0
  206. package/dist/compiler/compileProjectReports.d.ts +9 -0
  207. package/dist/compiler/compileProjectReports.js +52 -0
  208. package/dist/compiler/compileProjectSupport.js +9 -0
  209. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  210. package/dist/compiler/containerArtifactSummaries.js +138 -0
  211. package/dist/compiler/containerArtifacts.d.ts +12 -0
  212. package/dist/compiler/containerArtifacts.js +180 -127
  213. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  214. package/dist/compiler/containerArtifactsPlans.js +54 -124
  215. package/dist/compiler/containerArtifactsRender.d.ts +5 -2
  216. package/dist/compiler/containerArtifactsRender.js +106 -70
  217. package/dist/compiler/containerArtifactsTypes.d.ts +20 -0
  218. package/dist/compiler/containerBackedMountRender.d.ts +56 -0
  219. package/dist/compiler/containerBackedMountRender.js +101 -0
  220. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  221. package/dist/compiler/containerConfigEnvRender.js +54 -0
  222. package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
  223. package/dist/compiler/containerDaimonBrokerRender.js +191 -0
  224. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
  225. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
  226. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
  227. package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
  228. package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
  229. package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
  230. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
  231. package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
  232. package/dist/compiler/containerEntrypointRender.d.ts +8 -0
  233. package/dist/compiler/containerEntrypointRender.js +82 -72
  234. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  235. package/dist/compiler/containerEntrypointShell.js +29 -0
  236. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  237. package/dist/compiler/containerPackageOverrides.js +63 -0
  238. package/dist/compiler/containerPersistentMounts.d.ts +30 -0
  239. package/dist/compiler/containerPersistentMounts.js +66 -0
  240. package/dist/compiler/containerReadinessPaths.d.ts +1 -0
  241. package/dist/compiler/containerReadinessPaths.js +1 -0
  242. package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
  243. package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
  244. package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
  245. package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
  246. package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
  247. package/dist/compiler/containerStateOwnershipRender.js +75 -0
  248. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  249. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  250. package/dist/compiler/containerTargetResources.d.ts +22 -1
  251. package/dist/compiler/containerTargetResources.js +94 -2
  252. package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
  253. package/dist/compiler/containerVolumeBootstrap.js +3 -0
  254. package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
  255. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  256. package/dist/compiler/daimonTelemetryArtifacts.js +56 -0
  257. package/dist/compiler/deploymentLineage.d.ts +40 -0
  258. package/dist/compiler/deploymentLineage.js +50 -0
  259. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  260. package/dist/compiler/dockerBuildContext.js +159 -0
  261. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  262. package/dist/compiler/dockerBuildSkip.js +81 -0
  263. package/dist/compiler/index.d.ts +7 -0
  264. package/dist/compiler/index.js +7 -0
  265. package/dist/compiler/initProject.d.ts +2 -0
  266. package/dist/compiler/initProject.js +39 -1
  267. package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
  268. package/dist/compiler/localMoltnetAuthority.js +177 -0
  269. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  270. package/dist/compiler/memoryArtifacts.js +210 -0
  271. package/dist/compiler/memoryResolution.d.ts +4 -0
  272. package/dist/compiler/memoryResolution.js +147 -0
  273. package/dist/compiler/modelEnv.d.ts +7 -0
  274. package/dist/compiler/modelEnv.js +13 -1
  275. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  276. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  277. package/dist/compiler/moltnetArtifactPaths.d.ts +31 -0
  278. package/dist/compiler/moltnetArtifactPaths.js +51 -0
  279. package/dist/compiler/moltnetArtifactTypes.d.ts +56 -0
  280. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  281. package/dist/compiler/moltnetArtifacts.d.ts +3 -41
  282. package/dist/compiler/moltnetArtifacts.js +87 -101
  283. package/dist/compiler/moltnetBinaries.d.ts +33 -4
  284. package/dist/compiler/moltnetBinaries.js +173 -26
  285. package/dist/compiler/moltnetClientConfig.js +7 -2
  286. package/dist/compiler/moltnetConfigLowering.d.ts +18 -1
  287. package/dist/compiler/moltnetConfigLowering.js +92 -6
  288. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  289. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  290. package/dist/compiler/moltnetNodeConfig.js +7 -2
  291. package/dist/compiler/moltnetReleaseAuthority.d.ts +40 -0
  292. package/dist/compiler/moltnetReleaseAuthority.js +102 -0
  293. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  294. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  295. package/dist/compiler/moltnetRepresentativeResolution.d.ts +2 -1
  296. package/dist/compiler/moltnetRepresentativeResolution.js +17 -3
  297. package/dist/compiler/moltnetResolution.js +67 -21
  298. package/dist/compiler/moltnetRoomMemberships.js +52 -9
  299. package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
  300. package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
  301. package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
  302. package/dist/compiler/moltnetRuntimeConfig.js +22 -2
  303. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  304. package/dist/compiler/moltnetServerPlans.js +151 -0
  305. package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
  306. package/dist/compiler/organizationExternalParticipants.js +176 -0
  307. package/dist/compiler/organizationIdentity.d.ts +21 -0
  308. package/dist/compiler/organizationIdentity.js +64 -0
  309. package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
  310. package/dist/compiler/organizationIdentityGraph.js +115 -0
  311. package/dist/compiler/organizationReadyEvidence.d.ts +57 -0
  312. package/dist/compiler/organizationReadyEvidence.js +281 -0
  313. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  314. package/dist/compiler/projectManifestGraph.js +24 -0
  315. package/dist/compiler/runProject.d.ts +8 -2
  316. package/dist/compiler/runProject.js +62 -27
  317. package/dist/compiler/runProjectAuth.d.ts +10 -2
  318. package/dist/compiler/runProjectAuth.js +105 -11
  319. package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
  320. package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
  321. package/dist/compiler/runProjectDocker.d.ts +11 -0
  322. package/dist/compiler/runProjectDocker.js +64 -16
  323. package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
  324. package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
  325. package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
  326. package/dist/compiler/runProjectDockerReservation.js +118 -0
  327. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  328. package/dist/compiler/runProjectLifecycle.js +40 -0
  329. package/dist/compiler/syncProjectAuth.js +4 -1
  330. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  331. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  332. package/dist/compiler/teamContextSupport.js +32 -40
  333. package/dist/compiler/teamContextTypes.d.ts +2 -0
  334. package/dist/compiler/training/broker/declaration.d.ts +45 -0
  335. package/dist/compiler/training/broker/declaration.js +55 -0
  336. package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
  337. package/dist/compiler/training/broker/entrypoint.js +111 -0
  338. package/dist/compiler/training/broker/index.d.ts +10 -0
  339. package/dist/compiler/training/broker/index.js +10 -0
  340. package/dist/compiler/training/broker/main.d.ts +2 -0
  341. package/dist/compiler/training/broker/main.js +14 -0
  342. package/dist/compiler/training/broker/paths.d.ts +196 -0
  343. package/dist/compiler/training/broker/paths.js +241 -0
  344. package/dist/compiler/training/broker/processes.d.ts +42 -0
  345. package/dist/compiler/training/broker/processes.js +99 -0
  346. package/dist/compiler/training/broker/projection.d.ts +51 -0
  347. package/dist/compiler/training/broker/projection.js +76 -0
  348. package/dist/compiler/training/broker/provisioning.d.ts +87 -0
  349. package/dist/compiler/training/broker/provisioning.js +213 -0
  350. package/dist/compiler/training/broker/receipt.d.ts +77 -0
  351. package/dist/compiler/training/broker/receipt.js +110 -0
  352. package/dist/compiler/training/broker/registration.d.ts +41 -0
  353. package/dist/compiler/training/broker/registration.js +102 -0
  354. package/dist/compiler/training/broker/runtime.d.ts +25 -0
  355. package/dist/compiler/training/broker/runtime.js +173 -0
  356. package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
  357. package/dist/compiler/training/broker/seccompRoutes.js +36 -0
  358. package/dist/compiler/training/broker/supervisor.d.ts +109 -0
  359. package/dist/compiler/training/broker/supervisor.js +173 -0
  360. package/dist/compiler/training/container/contract.d.ts +31 -0
  361. package/dist/compiler/training/container/contract.js +33 -0
  362. package/dist/compiler/training/container/index.d.ts +4 -0
  363. package/dist/compiler/training/container/index.js +2 -0
  364. package/dist/compiler/training/container/launch.d.ts +18 -0
  365. package/dist/compiler/training/container/launch.js +173 -0
  366. package/dist/compiler/training/container/prepare.d.ts +8 -0
  367. package/dist/compiler/training/container/prepare.js +80 -0
  368. package/dist/compiler/training/container/process.d.ts +14 -0
  369. package/dist/compiler/training/container/process.js +70 -0
  370. package/dist/compiler/training/container/security.d.ts +36 -0
  371. package/dist/compiler/training/container/security.js +58 -0
  372. package/dist/compiler/training/context.d.ts +7 -0
  373. package/dist/compiler/training/context.js +93 -0
  374. package/dist/compiler/training/contract.d.ts +142 -0
  375. package/dist/compiler/training/contract.js +34 -0
  376. package/dist/compiler/training/index.d.ts +4 -0
  377. package/dist/compiler/training/index.js +3 -0
  378. package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
  379. package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
  380. package/dist/compiler/training/preparation/broker.d.ts +21 -0
  381. package/dist/compiler/training/preparation/broker.js +43 -0
  382. package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
  383. package/dist/compiler/training/preparation/contextModes.js +38 -0
  384. package/dist/compiler/training/preparation/contract.d.ts +182 -0
  385. package/dist/compiler/training/preparation/contract.js +94 -0
  386. package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
  387. package/dist/compiler/training/preparation/copyAssets.js +8 -0
  388. package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
  389. package/dist/compiler/training/preparation/daimonParent.js +114 -0
  390. package/dist/compiler/training/preparation/files.d.ts +25 -0
  391. package/dist/compiler/training/preparation/files.js +85 -0
  392. package/dist/compiler/training/preparation/image.d.ts +28 -0
  393. package/dist/compiler/training/preparation/image.js +102 -0
  394. package/dist/compiler/training/preparation/index.d.ts +3 -0
  395. package/dist/compiler/training/preparation/index.js +2 -0
  396. package/dist/compiler/training/preparation/inputs.d.ts +23 -0
  397. package/dist/compiler/training/preparation/inputs.js +93 -0
  398. package/dist/compiler/training/preparation/prepare.d.ts +33 -0
  399. package/dist/compiler/training/preparation/prepare.js +186 -0
  400. package/dist/compiler/training/preparation/scratch.d.ts +19 -0
  401. package/dist/compiler/training/preparation/scratch.js +48 -0
  402. package/dist/compiler/training/repair/compatibility.d.ts +11 -0
  403. package/dist/compiler/training/repair/compatibility.js +34 -0
  404. package/dist/compiler/training/repair/contract.d.ts +506 -0
  405. package/dist/compiler/training/repair/contract.js +31 -0
  406. package/dist/compiler/training/repair/index.d.ts +3 -0
  407. package/dist/compiler/training/repair/index.js +3 -0
  408. package/dist/compiler/training/repair/prepare.d.ts +230 -0
  409. package/dist/compiler/training/repair/prepare.js +74 -0
  410. package/dist/compiler/training/repair/witness.d.ts +203 -0
  411. package/dist/compiler/training/repair/witness.js +42 -0
  412. package/dist/compiler/types.d.ts +84 -1
  413. package/dist/compiler/upProject.d.ts +31 -1
  414. package/dist/compiler/upProject.js +197 -22
  415. package/dist/compiler/upProjectHandoff.d.ts +62 -0
  416. package/dist/compiler/upProjectHandoff.js +204 -0
  417. package/dist/compiler/upReceipt.d.ts +36 -0
  418. package/dist/compiler/upReceipt.js +127 -0
  419. package/dist/compiler/updateProjectModels.js +43 -60
  420. package/dist/compiler/updateProjectRuntime.js +22 -35
  421. package/dist/compiler/updateProjectSurfaces.js +53 -47
  422. package/dist/compiler/view/types.d.ts +1 -1
  423. package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
  424. package/dist/compiler/workspaceBundleArtifacts.js +106 -0
  425. package/dist/compiler/workspaceResources.d.ts +4 -1
  426. package/dist/compiler/workspaceResources.js +12 -7
  427. package/dist/compiler/worldBindings.d.ts +39 -0
  428. package/dist/compiler/worldBindings.js +247 -0
  429. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  430. package/dist/compiler/worldBindingsFile.js +162 -0
  431. package/dist/deployment/artifactsExport.d.ts +49 -0
  432. package/dist/deployment/artifactsExport.js +217 -0
  433. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  434. package/dist/deployment/artifactsExportDocker.js +91 -0
  435. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  436. package/dist/deployment/artifactsExportPlan.js +185 -0
  437. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  438. package/dist/deployment/artifactsExportTypes.js +52 -0
  439. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  440. package/dist/deployment/buildImageCacheStore.js +54 -0
  441. package/dist/deployment/canaryCutover.d.ts +42 -0
  442. package/dist/deployment/canaryCutover.js +140 -0
  443. package/dist/deployment/candidateDiagnostics.d.ts +15 -0
  444. package/dist/deployment/candidateDiagnostics.js +90 -0
  445. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  446. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  447. package/dist/deployment/dockerInspect.d.ts +9 -0
  448. package/dist/deployment/dockerInspect.js +24 -1
  449. package/dist/deployment/dockerLabels.d.ts +2 -0
  450. package/dist/deployment/dockerLabels.js +2 -0
  451. package/dist/deployment/dockerLogs.js +5 -10
  452. package/dist/deployment/dockerManager.d.ts +51 -0
  453. package/dist/deployment/dockerManager.js +124 -1
  454. package/dist/deployment/dockerProbeGateway.d.ts +17 -0
  455. package/dist/deployment/dockerProbeGateway.js +80 -6
  456. package/dist/deployment/dockerRecover.js +9 -1
  457. package/dist/deployment/dockerTeardown.d.ts +32 -0
  458. package/dist/deployment/dockerTeardown.js +61 -0
  459. package/dist/deployment/downDeployment.d.ts +39 -0
  460. package/dist/deployment/downDeployment.js +248 -0
  461. package/dist/deployment/downReceiptTypes.d.ts +36 -0
  462. package/dist/deployment/downReceiptTypes.js +45 -0
  463. package/dist/deployment/index.d.ts +20 -0
  464. package/dist/deployment/index.js +21 -0
  465. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  466. package/dist/deployment/lifecycleCompletion.js +236 -0
  467. package/dist/deployment/lifecycleCompletionContracts.d.ts +224 -0
  468. package/dist/deployment/lifecycleCompletionContracts.js +140 -0
  469. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  470. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  471. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  472. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  473. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  474. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  475. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  476. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  477. package/dist/deployment/lifecycleCompletionPaths.d.ts +12 -0
  478. package/dist/deployment/lifecycleCompletionPaths.js +19 -0
  479. package/dist/deployment/lifecycleCompletionPublication.d.ts +7 -0
  480. package/dist/deployment/lifecycleCompletionPublication.js +49 -0
  481. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  482. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  483. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  484. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  485. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  486. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  487. package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
  488. package/dist/deployment/lifecycleUpRecords.js +127 -0
  489. package/dist/deployment/native/AGENTS.md +11 -0
  490. package/dist/deployment/native/rename-noreplace-arm64 +0 -0
  491. package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
  492. package/dist/deployment/native/rename-noreplace-x64 +0 -0
  493. package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
  494. package/dist/deployment/noReplaceActivation.d.ts +17 -0
  495. package/dist/deployment/noReplaceActivation.js +50 -0
  496. package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
  497. package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
  498. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  499. package/dist/deployment/organizationHandoffAuthorityFsClient.js +187 -0
  500. package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
  501. package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
  502. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  503. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +431 -0
  504. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  505. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  506. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
  507. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
  508. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  509. package/dist/deployment/organizationHandoffAuthorityStore.js +355 -0
  510. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  511. package/dist/deployment/organizationHandoffAuthorityTypes.js +149 -0
  512. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  513. package/dist/deployment/organizationHandoffTypes.js +80 -0
  514. package/dist/deployment/organizationReady.d.ts +54 -0
  515. package/dist/deployment/organizationReady.js +232 -0
  516. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  517. package/dist/deployment/privateArtifactsExport.js +80 -0
  518. package/dist/deployment/productStateClone.d.ts +43 -0
  519. package/dist/deployment/productStateClone.js +319 -0
  520. package/dist/deployment/record.d.ts +26 -1
  521. package/dist/deployment/record.js +49 -4
  522. package/dist/deployment/target.d.ts +1 -35
  523. package/dist/deployment/target.js +1 -96
  524. package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
  525. package/dist/deployment/upLifecycleRecoveryState.js +12 -0
  526. package/dist/deployment/upReceiptTypes.d.ts +137 -0
  527. package/dist/deployment/upReceiptTypes.js +191 -0
  528. package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
  529. package/dist/deployment/workspaceResourceMigration.js +315 -0
  530. package/dist/dev/project.d.ts +7 -0
  531. package/dist/dev/project.js +24 -9
  532. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  533. package/dist/distribution/buildDistributionReport.js +2 -1
  534. package/dist/distribution/consumeImage.d.ts +2 -0
  535. package/dist/distribution/consumeImage.js +98 -73
  536. package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
  537. package/dist/distribution/consumeImageDaimonDocker.js +45 -0
  538. package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
  539. package/dist/distribution/consumeImageLifecycle.js +231 -0
  540. package/dist/distribution/consumeImageSupport.d.ts +12 -0
  541. package/dist/distribution/consumeImageSupport.js +15 -0
  542. package/dist/distribution/distributionReportSchema.d.ts +16 -1
  543. package/dist/distribution/distributionReportSchema.js +21 -3
  544. package/dist/distribution/dockerRunner.d.ts +6 -1
  545. package/dist/distribution/dockerRunner.js +31 -4
  546. package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
  547. package/dist/distribution/imageRuntimeAuth.js +70 -1
  548. package/dist/distribution/index.d.ts +3 -3
  549. package/dist/distribution/index.js +2 -2
  550. package/dist/distribution/preflight.js +5 -1
  551. package/dist/distribution/types.d.ts +21 -1
  552. package/dist/distribution/types.js +4 -0
  553. package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
  554. package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
  555. package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
  556. package/dist/evidenceExportHelper/index.d.ts +4 -0
  557. package/dist/evidenceExportHelper/index.js +4 -0
  558. package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
  559. package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
  560. package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
  561. package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
  562. package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
  563. package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
  564. package/dist/evidenceExportHelper/recipe.d.ts +7 -0
  565. package/dist/evidenceExportHelper/recipe.js +83 -0
  566. package/dist/filesystem/io.d.ts +2 -0
  567. package/dist/filesystem/io.js +16 -1
  568. package/dist/filesystem/paths.js +10 -1
  569. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  570. package/dist/ledger/causalConformanceCli.js +41 -0
  571. package/dist/ledger/causeNamespace.d.ts +8 -0
  572. package/dist/ledger/causeNamespace.js +24 -0
  573. package/dist/ledger/conformance.d.ts +83 -0
  574. package/dist/ledger/conformance.js +259 -0
  575. package/dist/ledger/emitters.d.ts +76 -0
  576. package/dist/ledger/emitters.js +188 -0
  577. package/dist/ledger/index.d.ts +4 -0
  578. package/dist/ledger/index.js +4 -0
  579. package/dist/ledger/principal.d.ts +96 -0
  580. package/dist/ledger/principal.js +121 -0
  581. package/dist/manifest/executionSchemas.d.ts +27 -0
  582. package/dist/manifest/executionSchemas.js +21 -2
  583. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  584. package/dist/manifest/externalParticipantSchemas.js +17 -0
  585. package/dist/manifest/index.d.ts +1 -0
  586. package/dist/manifest/index.js +1 -0
  587. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  588. package/dist/manifest/inlineAgentMember.js +9 -0
  589. package/dist/manifest/loadManifest.js +14 -8
  590. package/dist/manifest/mcpSchemas.d.ts +18 -0
  591. package/dist/manifest/mcpSchemas.js +44 -0
  592. package/dist/manifest/memorySchemas.d.ts +245 -0
  593. package/dist/manifest/memorySchemas.js +148 -0
  594. package/dist/manifest/renderSpawnfile.js +22 -131
  595. package/dist/manifest/renderSpawnfileNetworks.js +20 -2
  596. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  597. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  598. package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
  599. package/dist/manifest/scheduleSchemas.d.ts +3 -1
  600. package/dist/manifest/scheduleSchemas.js +91 -5
  601. package/dist/manifest/schemas.d.ts +2034 -40
  602. package/dist/manifest/schemas.js +82 -33
  603. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  604. package/dist/manifest/surfaceSchemas.js +24 -1
  605. package/dist/manifest/teamNetworkAccessSchemas.d.ts +6 -2
  606. package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
  607. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  608. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  609. package/dist/manifest/teamNetworkSchemas.d.ts +25 -190
  610. package/dist/manifest/teamNetworkSchemas.js +21 -317
  611. package/dist/manifest/teamNetworkServerSchemas.d.ts +155 -0
  612. package/dist/manifest/teamNetworkServerSchemas.js +215 -0
  613. package/dist/manifest/workspaceSchemas.d.ts +16 -0
  614. package/dist/manifest/workspaceSchemas.js +11 -0
  615. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  616. package/dist/ownership/siblingBuildFreshness.js +20 -0
  617. package/dist/report/types.d.ts +173 -1
  618. package/dist/runtime/common.d.ts +63 -1
  619. package/dist/runtime/common.js +88 -3
  620. package/dist/runtime/container.d.ts +28 -1
  621. package/dist/runtime/container.js +78 -29
  622. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  623. package/dist/runtime/containerPackageOverrides.js +33 -0
  624. package/dist/runtime/daimon/adapter.d.ts +14 -0
  625. package/dist/runtime/daimon/adapter.js +243 -0
  626. package/dist/runtime/daimon/attention.d.ts +8 -0
  627. package/dist/runtime/daimon/attention.js +32 -0
  628. package/dist/runtime/daimon/config.d.ts +25 -0
  629. package/dist/runtime/daimon/config.js +272 -0
  630. package/dist/runtime/daimon/contractManifest.d.ts +295 -0
  631. package/dist/runtime/daimon/contractManifest.js +319 -0
  632. package/dist/runtime/daimon/grokModel.d.ts +19 -0
  633. package/dist/runtime/daimon/grokModel.js +33 -0
  634. package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
  635. package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
  636. package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
  637. package/dist/runtime/daimon/grokWorkerContract.js +48 -0
  638. package/dist/runtime/daimon/memory.d.ts +57 -0
  639. package/dist/runtime/daimon/memory.js +125 -0
  640. package/dist/runtime/daimon/runAuth.d.ts +51 -0
  641. package/dist/runtime/daimon/runAuth.js +279 -0
  642. package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
  643. package/dist/runtime/daimon/runtimeIdentity.js +22 -0
  644. package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
  645. package/dist/runtime/daimon/scheduleAuthority.js +17 -0
  646. package/dist/runtime/index.d.ts +6 -0
  647. package/dist/runtime/index.js +6 -0
  648. package/dist/runtime/install.d.ts +3 -0
  649. package/dist/runtime/install.js +3 -0
  650. package/dist/runtime/localDaimonAuthority.d.ts +11 -0
  651. package/dist/runtime/localDaimonAuthority.js +77 -0
  652. package/dist/runtime/mnemeMcp.d.ts +28 -0
  653. package/dist/runtime/mnemeMcp.js +135 -0
  654. package/dist/runtime/openclaw/adapter.js +17 -6
  655. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  656. package/dist/runtime/openclaw/mcp.js +69 -0
  657. package/dist/runtime/openclaw/runAuth.js +2 -2
  658. package/dist/runtime/openclaw/scaffold.js +1 -1
  659. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  660. package/dist/runtime/openclaw/schedules.js +74 -0
  661. package/dist/runtime/pi/adapter.d.ts +1 -2
  662. package/dist/runtime/pi/adapter.js +87 -58
  663. package/dist/runtime/pi/appActivitySource.js +114 -2
  664. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  665. package/dist/runtime/pi/appAgentConfig.js +264 -0
  666. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  667. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  668. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  669. package/dist/runtime/pi/appCliSource.js +353 -0
  670. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  671. package/dist/runtime/pi/appControlSource.js +390 -0
  672. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  673. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  674. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  675. package/dist/runtime/pi/appCoreSource.js +104 -214
  676. package/dist/runtime/pi/appPreludeSource.js +140 -52
  677. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  678. package/dist/runtime/pi/appScheduleSource.js +84 -0
  679. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  680. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  681. package/dist/runtime/pi/appSource.d.ts +4 -1
  682. package/dist/runtime/pi/appSource.js +6 -2
  683. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  684. package/dist/runtime/pi/appTemplate.js +9 -126
  685. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  686. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  687. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  688. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  689. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  690. package/dist/runtime/pi/containerTargets.js +57 -0
  691. package/dist/runtime/pi/runAuth.js +126 -9
  692. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  693. package/dist/runtime/pi/testHelpers.js +40 -0
  694. package/dist/runtime/picoclaw/adapter.js +25 -29
  695. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  696. package/dist/runtime/picoclaw/mcp.js +43 -0
  697. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  698. package/dist/runtime/picoclaw/memory.js +17 -0
  699. package/dist/runtime/picoclaw/runAuth.js +1 -1
  700. package/dist/runtime/picoclaw/scaffold.js +1 -1
  701. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  702. package/dist/runtime/picoclaw/schedules.js +62 -3
  703. package/dist/runtime/registry.d.ts +3 -0
  704. package/dist/runtime/registry.js +19 -2
  705. package/dist/runtime/scheduleUtils.d.ts +3 -0
  706. package/dist/runtime/scheduleUtils.js +19 -0
  707. package/dist/runtime/types.d.ts +50 -2
  708. package/dist/runtime/usageLedger.d.ts +158 -0
  709. package/dist/runtime/usageLedger.js +269 -0
  710. package/dist/runtime/usageLedgerRead.d.ts +48 -0
  711. package/dist/runtime/usageLedgerRead.js +102 -0
  712. package/dist/runtime/usageRequestLedger.d.ts +42 -0
  713. package/dist/runtime/usageRequestLedger.js +72 -0
  714. package/dist/shared/daimonCodexDocker.d.ts +32 -0
  715. package/dist/shared/daimonCodexDocker.js +120 -0
  716. package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
  717. package/dist/shared/daimonGrokSeccompProfile.js +11 -0
  718. package/dist/shared/errors.d.ts +1 -1
  719. package/dist/shared/errors.js +2 -2
  720. package/dist/shared/index.d.ts +3 -0
  721. package/dist/shared/index.js +3 -0
  722. package/dist/shared/redaction.d.ts +2 -0
  723. package/dist/shared/redaction.js +10 -0
  724. package/dist/shared/types.d.ts +1 -1
  725. package/dist/shared/volumeNames.d.ts +6 -0
  726. package/dist/shared/volumeNames.js +14 -0
  727. package/dist/status/buildStatus.d.ts +1 -0
  728. package/dist/status/buildStatus.js +2 -0
  729. package/dist/status/compileReport.d.ts +22 -0
  730. package/dist/status/compileReport.js +16 -2
  731. package/dist/status/compiledProbeCollection.d.ts +21 -0
  732. package/dist/status/compiledProbeCollection.js +27 -0
  733. package/dist/status/imageStatusReport.js +6 -0
  734. package/dist/status/index.d.ts +3 -0
  735. package/dist/status/index.js +3 -0
  736. package/dist/status/lifecycleProbes.d.ts +19 -0
  737. package/dist/status/lifecycleProbes.js +174 -0
  738. package/dist/status/moltnetProbes.d.ts +7 -8
  739. package/dist/status/moltnetProbes.js +27 -198
  740. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  741. package/dist/status/moltnetWiringProbes.js +178 -0
  742. package/dist/target/cleanupRun.d.ts +41 -0
  743. package/dist/target/cleanupRun.js +139 -0
  744. package/dist/target/cleanupRunDocker.d.ts +16 -0
  745. package/dist/target/cleanupRunDocker.js +66 -0
  746. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  747. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  748. package/dist/target/composedPreparation.d.ts +205 -0
  749. package/dist/target/composedPreparation.js +223 -0
  750. package/dist/target/containerBundle.d.ts +82 -0
  751. package/dist/target/containerBundle.js +243 -0
  752. package/dist/target/containerBundleArchive.d.ts +31 -0
  753. package/dist/target/containerBundleArchive.js +140 -0
  754. package/dist/target/containerBundleAuthority.d.ts +25 -0
  755. package/dist/target/containerBundleAuthority.js +65 -0
  756. package/dist/target/containerBundleContracts.d.ts +114 -0
  757. package/dist/target/containerBundleContracts.js +173 -0
  758. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  759. package/dist/target/containerBundleFilesystemStore.js +247 -0
  760. package/dist/target/containerBundlePolicy.d.ts +33 -0
  761. package/dist/target/containerBundlePolicy.js +64 -0
  762. package/dist/target/containerBundleStore.d.ts +127 -0
  763. package/dist/target/containerBundleStore.js +284 -0
  764. package/dist/target/contracts.d.ts +538 -0
  765. package/dist/target/contracts.js +373 -0
  766. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  767. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  768. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  769. package/dist/target/dockerArtifactInspection.js +125 -0
  770. package/dist/target/dockerArtifacts.d.ts +21 -0
  771. package/dist/target/dockerArtifacts.js +110 -0
  772. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  773. package/dist/target/dockerArtifactsProvider.js +476 -0
  774. package/dist/target/dockerBaseImage.d.ts +2 -0
  775. package/dist/target/dockerBaseImage.js +11 -0
  776. package/dist/target/dockerCommandExecutor.d.ts +38 -0
  777. package/dist/target/dockerCommandExecutor.js +251 -0
  778. package/dist/target/dockerCommandExecutorCore.d.ts +35 -0
  779. package/dist/target/dockerCommandExecutorCore.js +275 -0
  780. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  781. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  782. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  783. package/dist/target/dockerContextSnapshot.js +158 -0
  784. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  785. package/dist/target/dockerEndpointFingerprint.js +9 -0
  786. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  787. package/dist/target/dockerPreparedArtifact.js +131 -0
  788. package/dist/target/dockerProjectionJson.d.ts +1 -0
  789. package/dist/target/dockerProjectionJson.js +80 -0
  790. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  791. package/dist/target/dockerPublicArtifactSnapshot.js +83 -0
  792. package/dist/target/dockerResources.d.ts +26 -0
  793. package/dist/target/dockerResources.js +162 -0
  794. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  795. package/dist/target/dockerResourcesProvider.js +207 -0
  796. package/dist/target/dockerSecrets.d.ts +39 -0
  797. package/dist/target/dockerSecrets.js +249 -0
  798. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  799. package/dist/target/dockerSecretsAuthority.js +216 -0
  800. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  801. package/dist/target/dockerSecretsLifecycle.js +133 -0
  802. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  803. package/dist/target/dockerSecretsProvider.js +329 -0
  804. package/dist/target/dockerTarget.d.ts +53 -0
  805. package/dist/target/dockerTarget.js +48 -0
  806. package/dist/target/dockerTargetBinding.d.ts +13 -0
  807. package/dist/target/dockerTargetBinding.js +95 -0
  808. package/dist/target/dockerTargetExecFile.d.ts +19 -0
  809. package/dist/target/dockerTargetExecFile.js +194 -0
  810. package/dist/target/dockerWorldClock.d.ts +17 -0
  811. package/dist/target/dockerWorldClock.js +111 -0
  812. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  813. package/dist/target/dockerWorldReadiness.js +119 -0
  814. package/dist/target/dockerWorldService.d.ts +23 -0
  815. package/dist/target/dockerWorldService.js +216 -0
  816. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  817. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  818. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  819. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  820. package/dist/target/dockerWorldServiceProvider.d.ts +64 -0
  821. package/dist/target/dockerWorldServiceProvider.js +330 -0
  822. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  823. package/dist/target/dockerWorldServiceStore.js +367 -0
  824. package/dist/target/evidenceExport.d.ts +57 -0
  825. package/dist/target/evidenceExport.js +527 -0
  826. package/dist/target/evidenceExportArchive.d.ts +10 -0
  827. package/dist/target/evidenceExportArchive.js +302 -0
  828. package/dist/target/evidenceExportContract.d.ts +27 -0
  829. package/dist/target/evidenceExportContract.js +40 -0
  830. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  831. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  832. package/dist/target/evidenceExportProvider.d.ts +87 -0
  833. package/dist/target/evidenceExportProvider.js +197 -0
  834. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  835. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  836. package/dist/target/evidenceExportStore.d.ts +70 -0
  837. package/dist/target/evidenceExportStore.js +498 -0
  838. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  839. package/dist/target/evidenceExportStorePublication.js +395 -0
  840. package/dist/target/handles.d.ts +20 -0
  841. package/dist/target/handles.js +56 -0
  842. package/dist/target/index.d.ts +12 -0
  843. package/dist/target/index.js +11 -0
  844. package/dist/target/journal.d.ts +59 -0
  845. package/dist/target/journal.js +529 -0
  846. package/dist/target/journalFilesystem.d.ts +3 -0
  847. package/dist/target/journalFilesystem.js +111 -0
  848. package/dist/target/journalRoot.d.ts +4 -0
  849. package/dist/target/journalRoot.js +6 -0
  850. package/dist/target/organizationAttachment.d.ts +23 -0
  851. package/dist/target/organizationAttachment.js +263 -0
  852. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  853. package/dist/target/organizationAttachmentAuthority.js +161 -0
  854. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  855. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  856. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  857. package/dist/target/organizationAttachmentProvider.js +289 -0
  858. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  859. package/dist/target/organizationAttachmentStore.js +316 -0
  860. package/dist/target/publicArtifactSnapshot.d.ts +72 -0
  861. package/dist/target/publicArtifactSnapshot.js +184 -0
  862. package/dist/target/topologyActivation.d.ts +51 -0
  863. package/dist/target/topologyActivation.js +149 -0
  864. package/dist/target/topologyAttestation.d.ts +37 -0
  865. package/dist/target/topologyAttestation.js +300 -0
  866. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  867. package/dist/target/topologyAttestationErrors.js +1 -0
  868. package/dist/target/worldClock.d.ts +60 -0
  869. package/dist/target/worldClock.js +129 -0
  870. package/dist/target/worldReadiness.d.ts +103 -0
  871. package/dist/target/worldReadiness.js +153 -0
  872. package/examples/README.md +45 -0
  873. package/examples/agent-with-subagents/AGENTS.md +3 -0
  874. package/examples/agent-with-subagents/Spawnfile +30 -0
  875. package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
  876. package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
  877. package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
  878. package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
  879. package/examples/daimon-org/Spawnfile +68 -0
  880. package/examples/daimon-org/TEAM.md +4 -0
  881. package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
  882. package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
  883. package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
  884. package/examples/daimon-org/teams/review/Spawnfile +53 -0
  885. package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
  886. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
  887. package/examples/daimon-public-host/AGENTS.md +3 -0
  888. package/examples/daimon-public-host/Spawnfile +21 -0
  889. package/examples/distribution-org/Spawnfile +43 -0
  890. package/examples/distribution-org/TEAM.md +4 -0
  891. package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
  892. package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
  893. package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
  894. package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
  895. package/examples/jungian-daimon-org/Spawnfile +41 -0
  896. package/examples/jungian-daimon-org/TEAM.md +21 -0
  897. package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
  898. package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
  899. package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
  900. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
  901. package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
  902. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
  903. package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
  904. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
  905. package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
  906. package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
  907. package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
  908. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
  909. package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
  910. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
  911. package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
  912. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
  913. package/examples/mixed-runtime-org/Spawnfile +71 -0
  914. package/examples/mixed-runtime-org/TEAM.md +8 -0
  915. package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
  916. package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
  917. package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
  918. package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
  919. package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
  920. package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
  921. package/examples/moltnet-team-chat/Spawnfile +43 -0
  922. package/examples/moltnet-team-chat/TEAM.md +5 -0
  923. package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
  924. package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
  925. package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
  926. package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
  927. package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
  928. package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
  929. package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
  930. package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
  931. package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
  932. package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
  933. package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
  934. package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
  935. package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
  936. package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
  937. package/examples/single-agent/AGENTS.md +3 -0
  938. package/examples/single-agent/HEARTBEAT.md +3 -0
  939. package/examples/single-agent/IDENTITY.md +3 -0
  940. package/examples/single-agent/MEMORY.md +3 -0
  941. package/examples/single-agent/SOUL.md +3 -0
  942. package/examples/single-agent/Spawnfile +41 -0
  943. package/examples/single-agent/skills/web_search/SKILL.md +6 -0
  944. package/moltnet-releases.json +21 -0
  945. package/package.json +57 -14
  946. package/runtimes.yaml +11 -23
  947. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  948. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  949. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  950. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,204 @@
1
+ import { createHash } from "node:crypto";
2
+ import { rm } from "node:fs/promises";
3
+ import { createDockerOrganizationHandoffSession, initializeOrganizationHandoffAuthorityStore, parseCanonicalSha256Digest, } from "../deployment/index.js";
4
+ import { createCanonicalSelectedTargetReceiptBytes, parseOpaqueTargetHandle, parseRunId, parseSelectedTargetReceipt, selectTarget, } from "../target/index.js";
5
+ import { isTrustedUpLifecycleRecovery } from "../deployment/upLifecycleRecoveryState.js";
6
+ import { SpawnfileError } from "../shared/index.js";
7
+ import { executeDockerRunWithSupportCleanup } from "./runProjectLifecycle.js";
8
+ import { recoverDetachedDockerRun, } from "./runProject.js";
9
+ export const organizationHandoffInputError = () => new SpawnfileError("validation_error", "Organization handoff requires authorized run id, selected target receipt, descriptor digest, selected target receipt digest, network attachment handle, and world bindings");
10
+ const recoveryError = () => new SpawnfileError("runtime_error", "Organization handoff recovery is incomplete; redeploy with explicit authorization");
11
+ export const resolveRequestedOrganizationHandoff = (options) => {
12
+ const values = [
13
+ options.descriptorDigest,
14
+ options.organizationHandoffRunId,
15
+ options.selectedTargetReceiptDigest,
16
+ options.selectedTargetReceipt,
17
+ options.networkAttachmentHandle,
18
+ options.worldBindingsPath,
19
+ ];
20
+ if (values.every((value) => value === undefined))
21
+ return null;
22
+ if (values.some((value) => value === undefined) || !options.detach)
23
+ throw organizationHandoffInputError();
24
+ try {
25
+ const selectedTarget = parseSelectedTargetReceipt(options.selectedTargetReceipt);
26
+ const selectedDigest = parseCanonicalSha256Digest(options.selectedTargetReceiptDigest, "selected_target_receipt_digest");
27
+ const computedDigest = `sha256:${createHash("sha256").update(createCanonicalSelectedTargetReceiptBytes(selectedTarget), "utf8").digest("hex")}`;
28
+ if (selectedDigest !== computedDigest)
29
+ throw new Error("selected receipt digest mismatch");
30
+ return {
31
+ descriptorDigest: parseCanonicalSha256Digest(options.descriptorDigest, "descriptor_digest"),
32
+ runId: parseRunId(options.organizationHandoffRunId),
33
+ networkAttachmentHandle: parseOpaqueTargetHandle(options.networkAttachmentHandle),
34
+ selectedTarget,
35
+ selectedTargetReceiptDigest: selectedDigest,
36
+ };
37
+ }
38
+ catch {
39
+ throw organizationHandoffInputError();
40
+ }
41
+ };
42
+ export const verifyRequestedOrganizationHandoffTarget = async (requested, resolved, options) => {
43
+ if (!requested)
44
+ return;
45
+ if (typeof resolved.dockerContext !== "string" || resolved.dockerContext.length === 0
46
+ || resolved.dockerHost != null || process.env.DOCKER_HOST != null)
47
+ throw organizationHandoffInputError();
48
+ try {
49
+ const actual = await selectTarget({
50
+ context: resolved.dockerContext,
51
+ dockerCommand: options.dockerCommand,
52
+ execFile: options.targetExecFile,
53
+ });
54
+ if (createCanonicalSelectedTargetReceiptBytes(actual)
55
+ !== createCanonicalSelectedTargetReceiptBytes(requested.selectedTarget))
56
+ throw new Error("target mismatch");
57
+ }
58
+ catch {
59
+ throw organizationHandoffInputError();
60
+ }
61
+ };
62
+ export const compileOrganizationHandoff = (requested, buildResult) => {
63
+ if (!requested)
64
+ return undefined;
65
+ try {
66
+ const bindingDigest = buildResult.organizationReadinessEvidence.worldBindings?.digest;
67
+ if (!bindingDigest)
68
+ throw new Error("missing compiled binding evidence");
69
+ const parsedBindingDigest = parseCanonicalSha256Digest(bindingDigest, "binding_digest");
70
+ return {
71
+ authority: { ...requested, bindingDigest: parsedBindingDigest },
72
+ organizationHandoff: {
73
+ bindingDigest: parsedBindingDigest,
74
+ networkAttachmentHandle: requested.networkAttachmentHandle,
75
+ selectedTargetReceiptDigest: requested.selectedTargetReceiptDigest,
76
+ },
77
+ };
78
+ }
79
+ catch {
80
+ throw organizationHandoffInputError();
81
+ }
82
+ };
83
+ const canonical = (value) => value === null || typeof value !== "object"
84
+ ? JSON.stringify(value)
85
+ : Array.isArray(value) ? `[${value.map(canonical).join(",")}]`
86
+ : `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonical(value[key])}`).join(",")}}`;
87
+ const same = (left, right) => canonical(left) === canonical(right);
88
+ const exactRunMetadata = (value) => {
89
+ if (!value?.containerId || !value.containerName || !value.imageId || !value.deploymentLabels) {
90
+ throw organizationHandoffInputError();
91
+ }
92
+ return value;
93
+ };
94
+ const reattestRecoveredRun = async (invocation, expected) => {
95
+ const actual = exactRunMetadata(await recoverDetachedDockerRun(invocation, expected.containerId));
96
+ if (actual.containerName !== expected.containerName || actual.imageId !== expected.imageId
97
+ || !same(actual.deploymentLabels, expected.deploymentLabels))
98
+ throw recoveryError();
99
+ return actual;
100
+ };
101
+ const recovery = (value) => {
102
+ if (value !== undefined && !isTrustedUpLifecycleRecovery(value))
103
+ throw organizationHandoffInputError();
104
+ return value;
105
+ };
106
+ const reserveDetachedRun = async (invocation, reserve) => {
107
+ if (!reserve)
108
+ return;
109
+ if (!invocation.detach || !invocation.containerName || !invocation.deploymentLabels) {
110
+ throw new SpawnfileError("runtime_error", "Detached deployment authority is incomplete");
111
+ }
112
+ await reserve({
113
+ containerName: invocation.containerName,
114
+ deploymentLabels: invocation.deploymentLabels,
115
+ dockerCommand: invocation.command,
116
+ dockerContext: invocation.dockerContext ?? null,
117
+ });
118
+ };
119
+ /** Resumes only lifecycle-verified state, never stale authority observations. */
120
+ export const executeOrganizationHandoff = async (input) => {
121
+ const { handoff, invocation } = input;
122
+ if (!invocation.deploymentLabels || !invocation.containerName)
123
+ throw organizationHandoffInputError();
124
+ const lifecycleRecovery = recovery(input.lifecycleRecovery);
125
+ const session = createDockerOrganizationHandoffSession({
126
+ bindingDigest: handoff.authority.bindingDigest,
127
+ containerName: invocation.containerName,
128
+ deploymentLabels: invocation.deploymentLabels,
129
+ descriptorDigest: handoff.authority.descriptorDigest,
130
+ organizationHandoff: handoff.organizationHandoff,
131
+ runId: handoff.authority.runId,
132
+ selectedTarget: handoff.authority.selectedTarget,
133
+ selectedTargetReceiptDigest: handoff.authority.selectedTargetReceiptDigest,
134
+ });
135
+ let authority;
136
+ let dockerLifecycleInvoked = false;
137
+ try {
138
+ // Persist the lifecycle reservation first. A post-begin crash can then be
139
+ // distinguished as no-start, exact-container, or ambiguous on restart.
140
+ if (lifecycleRecovery?.kind !== "deployment_record") {
141
+ await reserveDetachedRun(invocation, input.onDetachedReservation);
142
+ }
143
+ authority = await initializeOrganizationHandoffAuthorityStore();
144
+ const begun = await authority.begin(session.authorityInput);
145
+ let runMetadata;
146
+ if (begun.created) {
147
+ if (lifecycleRecovery?.kind === "detached_container"
148
+ || lifecycleRecovery?.kind === "deployment_record")
149
+ throw recoveryError();
150
+ dockerLifecycleInvoked = true;
151
+ runMetadata = exactRunMetadata(await executeDockerRunWithSupportCleanup(invocation, input.runRunner));
152
+ }
153
+ else {
154
+ const observed = await authority.readDockerMutation(begun.pending.pending_key);
155
+ if (observed) {
156
+ if (lifecycleRecovery?.kind === "no_docker_mutation")
157
+ throw recoveryError();
158
+ const expected = {
159
+ containerId: observed.container_id,
160
+ containerName: invocation.containerName,
161
+ deploymentLabels: observed.deployment_labels,
162
+ imageId: observed.image_id,
163
+ };
164
+ if (lifecycleRecovery?.kind === "detached_container" && (lifecycleRecovery.containerId !== expected.containerId
165
+ || lifecycleRecovery.containerName !== expected.containerName
166
+ || lifecycleRecovery.imageId !== expected.imageId
167
+ || !same(lifecycleRecovery.deploymentLabels, expected.deploymentLabels)))
168
+ throw recoveryError();
169
+ runMetadata = await reattestRecoveredRun(invocation, expected);
170
+ }
171
+ else if (lifecycleRecovery?.kind === "detached_container") {
172
+ runMetadata = await reattestRecoveredRun(invocation, lifecycleRecovery);
173
+ }
174
+ else if (lifecycleRecovery?.kind === "no_docker_mutation") {
175
+ dockerLifecycleInvoked = true;
176
+ runMetadata = exactRunMetadata(await executeDockerRunWithSupportCleanup(invocation, input.runRunner));
177
+ }
178
+ else
179
+ throw recoveryError();
180
+ }
181
+ await authority.observeDockerMutation(begun.pending.pending_key, runMetadata);
182
+ const finalized = await authority.finalize(begun.pending.pending_key, runMetadata);
183
+ return { organizationHandoffHandle: finalized.organization_handoff_handle, runMetadata };
184
+ }
185
+ finally {
186
+ let cleanupError;
187
+ try {
188
+ if (invocation.detach && !dockerLifecycleInvoked)
189
+ await rm(invocation.envFilePath, { force: true });
190
+ }
191
+ catch (error) {
192
+ cleanupError = error;
193
+ }
194
+ try {
195
+ await authority?.dispose();
196
+ }
197
+ catch (error) {
198
+ if (cleanupError === undefined)
199
+ throw error;
200
+ }
201
+ if (cleanupError !== undefined)
202
+ throw cleanupError;
203
+ }
204
+ };
@@ -0,0 +1,36 @@
1
+ import { type CompiledEngineEntry, type CompiledScheduleEntry, type UpReceipt } from "../deployment/index.js";
2
+ import type { CompilePlan } from "./types.js";
3
+ import type { UpProjectResult } from "./upProject.js";
4
+ /**
5
+ * Extracts the `{agent, cron}` pairs an up-receipt's `compiled_schedule` field carries
6
+ * (Decision 21 Piece 4) — the raw material for simfile's wake-diff denominator oracle.
7
+ * Only `kind: "cron"` schedules are represented; `every`/`disabled` schedules have no
8
+ * cron-fire cadence to diff against sim-time and are intentionally omitted, not zeroed.
9
+ */
10
+ export declare const resolveCompiledSchedule: (plan: CompilePlan) => CompiledScheduleEntry[];
11
+ /**
12
+ * Extracts `{agent, engine}` pairs (Piece 5, Slice B) — disclosure ground truth for the
13
+ * run-manifest's `pinned-engine` field, so a `scripted` (or any non-default) pi engine is
14
+ * visibly disclosed rather than an invisible test-only branch. Reads
15
+ * `report.container.runtime_instances[].engine_by_node_id`, the single source of truth
16
+ * `containerArtifacts.ts` already stamps from the pi adapter's own resolved engine kinds
17
+ * (see `src/runtime/pi/adapter.ts`'s `createContainerTargets`) — deliberately not
18
+ * re-derived from a fresh `buildCompilePlan` walk (unlike `resolveCompiledSchedule` above),
19
+ * since that would recompute the exact same fact from pi-adapter-internal logic
20
+ * (`resolvePiEngine`) that compiler code has no business reaching into directly.
21
+ */
22
+ export declare const resolveCompiledEngines: (report: UpProjectResult["report"]) => CompiledEngineEntry[];
23
+ /**
24
+ * Builds `spawnfile.up-receipt.v1` from a project-path `upProject()` result. Reads back
25
+ * the deployment record `upProject` already wrote (for `run_id`/deployment name/container
26
+ * id — the same record `spawnfile artifacts export`/`spawnfile down` resolve), and
27
+ * re-derives `compiled_schedule` from the resolved graph, since `compileProject` does not
28
+ * retain its own `CompilePlan` past the compile step.
29
+ *
30
+ * `readiness` reuses whatever signal `upProject` already has — a bare `docker run -d`
31
+ * that returned a container id, not a new health probe: `up` has never polled
32
+ * application-level readiness, and this receipt does not invent one. `moltnet_base_url`
33
+ * comes straight from the compiled container report's own managed/external server plan;
34
+ * no credentials ever land on this contract (contracts.md).
35
+ */
36
+ export declare const buildUpReceipt: (inputPath: string, result: UpProjectResult) => Promise<UpReceipt>;
@@ -0,0 +1,127 @@
1
+ import { readDeploymentRecord, UP_RECEIPT_VERSION } from "../deployment/index.js";
2
+ import { SpawnfileError } from "../shared/index.js";
3
+ import { buildCompilePlan } from "./buildCompilePlan.js";
4
+ /**
5
+ * Extracts the `{agent, cron}` pairs an up-receipt's `compiled_schedule` field carries
6
+ * (Decision 21 Piece 4) — the raw material for simfile's wake-diff denominator oracle.
7
+ * Only `kind: "cron"` schedules are represented; `every`/`disabled` schedules have no
8
+ * cron-fire cadence to diff against sim-time and are intentionally omitted, not zeroed.
9
+ */
10
+ export const resolveCompiledSchedule = (plan) => plan.nodes
11
+ .filter((node) => node.kind === "agent")
12
+ .flatMap((node) => {
13
+ const schedule = node.value.schedule;
14
+ return schedule?.kind === "cron" ? [{ agent: node.id, cron: schedule.cron }] : [];
15
+ })
16
+ .sort((left, right) => left.agent.localeCompare(right.agent));
17
+ /**
18
+ * Extracts `{agent, engine}` pairs (Piece 5, Slice B) — disclosure ground truth for the
19
+ * run-manifest's `pinned-engine` field, so a `scripted` (or any non-default) pi engine is
20
+ * visibly disclosed rather than an invisible test-only branch. Reads
21
+ * `report.container.runtime_instances[].engine_by_node_id`, the single source of truth
22
+ * `containerArtifacts.ts` already stamps from the pi adapter's own resolved engine kinds
23
+ * (see `src/runtime/pi/adapter.ts`'s `createContainerTargets`) — deliberately not
24
+ * re-derived from a fresh `buildCompilePlan` walk (unlike `resolveCompiledSchedule` above),
25
+ * since that would recompute the exact same fact from pi-adapter-internal logic
26
+ * (`resolvePiEngine`) that compiler code has no business reaching into directly.
27
+ */
28
+ export const resolveCompiledEngines = (report) => (report.container?.runtime_instances ?? [])
29
+ .flatMap((instance) => Object.entries(instance.engine_by_node_id ?? {}))
30
+ .map(([agent, engine]) => ({ agent, engine }))
31
+ .sort((left, right) => left.agent.localeCompare(right.agent));
32
+ const createReceiptMoltnetIdentity = (release) => {
33
+ if (!release)
34
+ return undefined;
35
+ // Discriminate on PROVENANCE, never on capability count. A published release
36
+ // now advertises `daimon-bridge` too (moltnet v0.1.18), so `length === 1` would
37
+ // route it into the local-development branch and reject it for lacking a
38
+ // `development` marker it is never supposed to have.
39
+ //
40
+ // The canonical list lives in `moltnetReleaseAuthority.ts`, but the H2 boundary
41
+ // (`../deployment/organizationHandoffTypes.test.ts`) forbids this file from
42
+ // importing any `moltnet*` module, so the ordering is compared inline here the
43
+ // same way the local branch below already compares it. `upReceiptTypes.ts`'s
44
+ // schema is the authority that rejects any other list on parse.
45
+ const joined = release.capabilities.join("\0");
46
+ const receiptCapabilities = joined === "daimon-bridge\0pi-bridge"
47
+ ? ["daimon-bridge", "pi-bridge"]
48
+ : joined === "pi-bridge" ? ["pi-bridge"] : null;
49
+ if (receiptCapabilities === null) {
50
+ throw new SpawnfileError("runtime_error", "Moltnet receipt advertises unknown bridge capabilities");
51
+ }
52
+ if (!release.development) {
53
+ if (!release.release_version || !release.source_revision) {
54
+ throw new SpawnfileError("runtime_error", "Published Moltnet receipt lacks its pinned source identity");
55
+ }
56
+ return {
57
+ architecture: release.architecture,
58
+ asset: release.asset,
59
+ asset_sha256: release.asset_sha256,
60
+ capabilities: receiptCapabilities,
61
+ release_version: release.release_version,
62
+ source_revision: release.source_revision,
63
+ version: release.version
64
+ };
65
+ }
66
+ if (release.capabilities.join("\0") !== "daimon-bridge\0pi-bridge" ||
67
+ !release.source_sha256) {
68
+ throw new SpawnfileError("runtime_error", "Local Moltnet receipt lacks its development provenance");
69
+ }
70
+ return {
71
+ architecture: release.architecture,
72
+ asset: release.asset,
73
+ asset_sha256: release.asset_sha256,
74
+ capabilities: ["daimon-bridge", "pi-bridge"],
75
+ development: release.development,
76
+ source_sha256: release.source_sha256,
77
+ version: release.version
78
+ };
79
+ };
80
+ /**
81
+ * Builds `spawnfile.up-receipt.v1` from a project-path `upProject()` result. Reads back
82
+ * the deployment record `upProject` already wrote (for `run_id`/deployment name/container
83
+ * id — the same record `spawnfile artifacts export`/`spawnfile down` resolve), and
84
+ * re-derives `compiled_schedule` from the resolved graph, since `compileProject` does not
85
+ * retain its own `CompilePlan` past the compile step.
86
+ *
87
+ * `readiness` reuses whatever signal `upProject` already has — a bare `docker run -d`
88
+ * that returned a container id, not a new health probe: `up` has never polled
89
+ * application-level readiness, and this receipt does not invent one. `moltnet_base_url`
90
+ * comes straight from the compiled container report's own managed/external server plan;
91
+ * no credentials ever land on this contract (contracts.md).
92
+ */
93
+ export const buildUpReceipt = async (inputPath, result) => {
94
+ const plan = await buildCompilePlan(inputPath);
95
+ const compiledSchedule = resolveCompiledSchedule(plan);
96
+ const compiledEngines = resolveCompiledEngines(result.report);
97
+ const record = result.deploymentRecordPath
98
+ ? await readDeploymentRecord(result.deploymentRecordPath)
99
+ : null;
100
+ const unit = record?.units[0] ?? null;
101
+ const containerIds = unit?.container_id ? [unit.container_id] : [];
102
+ const fingerprint = result.report.compile_fingerprint;
103
+ if (!fingerprint) {
104
+ throw new SpawnfileError("runtime_error", "Compiled output has no compile_fingerprint; cannot build an up-receipt");
105
+ }
106
+ return {
107
+ version: UP_RECEIPT_VERSION,
108
+ run_id: record?.run_id ?? null,
109
+ fingerprint,
110
+ deployment: {
111
+ name: record?.name ?? null,
112
+ container_ids: containerIds
113
+ },
114
+ readiness: {
115
+ state: containerIds.length > 0 ? "running" : "unknown",
116
+ moltnet_base_url: result.report.container?.moltnet?.server_plans?.[0]?.base_url ?? null
117
+ },
118
+ compiled_schedule: compiledSchedule,
119
+ engines: compiledEngines,
120
+ ...(result.report.container?.moltnet?.release
121
+ ? { moltnet_release: createReceiptMoltnetIdentity(result.report.container.moltnet.release) }
122
+ : {}),
123
+ ...(record?.organization_handoff ? { organization_handoff: record.organization_handoff } : {}),
124
+ ...(record?.organization_handoff_handle ? { organization_handoff_handle: record.organization_handoff_handle } : {}),
125
+ ...(record?.organization_ready ? { organization_ready: record.organization_ready } : {})
126
+ };
127
+ };
@@ -1,13 +1,15 @@
1
1
  import path from "node:path";
2
- import { getCanonicalManifestPath, getManifestPath, getProjectRoot, writeUtf8File } from "../filesystem/index.js";
2
+ import { getManifestPath, writeUtf8File } from "../filesystem/index.js";
3
3
  import { loadManifest, renderSpawnfile } from "../manifest/index.js";
4
4
  import { SpawnfileError } from "../shared/index.js";
5
5
  import { resolveEffectiveModelTarget } from "./modelEnv.js";
6
+ import { collectProjectManifestPaths, createInlineAgentSource, rewriteInlineAgentMembers } from "./projectManifestGraph.js";
6
7
  const TEAM_MODEL_COMMAND_ERROR = "spawnfile model commands only write agent manifests; use --recursive to update descendant agents of a team project";
7
8
  const AUTH_METHOD_PROVIDER_HINTS = {
8
9
  "api_key": "use a model provider like openai or anthropic, then pass --auth api_key",
9
10
  "claude-code": "use provider anthropic, then pass --auth claude-code",
10
11
  codex: "use provider openai, then pass --auth codex",
12
+ grok: "use provider xai with a Daimon grok engine agent, then pass --auth grok and declare reasoning_effort",
11
13
  none: "use a model provider like local, then pass --auth none"
12
14
  };
13
15
  const resolveTargetManifestPath = (inputPath) => getManifestPath(path.resolve(inputPath ?? process.cwd()));
@@ -74,22 +76,6 @@ const buildModelTarget = (options) => {
74
76
  provider: options.provider
75
77
  };
76
78
  };
77
- const collectManifestPaths = async (manifestPath, recursive, visited = new Set()) => {
78
- const canonicalPath = getCanonicalManifestPath(manifestPath);
79
- if (visited.has(canonicalPath)) {
80
- return [];
81
- }
82
- visited.add(canonicalPath);
83
- if (!recursive) {
84
- return [canonicalPath];
85
- }
86
- const loadedManifest = await loadManifest(canonicalPath);
87
- const childRefs = loadedManifest.manifest.kind === "team"
88
- ? loadedManifest.manifest.members.map((member) => member.ref)
89
- : (loadedManifest.manifest.subagents ?? []).map((subagent) => subagent.ref);
90
- const nestedPaths = await Promise.all(childRefs.map((ref) => collectManifestPaths(getManifestPath(path.resolve(getProjectRoot(canonicalPath), ref)), true, visited)));
91
- return [canonicalPath, ...nestedPaths.flat()];
92
- };
93
79
  const updateManifestExecution = (manifest, model) => ({
94
80
  ...manifest,
95
81
  execution: {
@@ -98,14 +84,14 @@ const updateManifestExecution = (manifest, model) => ({
98
84
  }
99
85
  });
100
86
  const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
101
- const assertModelMutationAllowed = (manifest, recursive) => {
87
+ const mutateAgentDeclarations = (manifest, manifestPath, recursive, mutate) => {
102
88
  if (manifest.kind === "agent") {
103
- return true;
89
+ return mutate(manifest, manifestPath);
104
90
  }
105
- if (recursive) {
106
- return false;
91
+ if (!recursive) {
92
+ throw new SpawnfileError("validation_error", TEAM_MODEL_COMMAND_ERROR);
107
93
  }
108
- throw new SpawnfileError("validation_error", TEAM_MODEL_COMMAND_ERROR);
94
+ return rewriteInlineAgentMembers(manifest, (member) => mutate(member, createInlineAgentSource(manifestPath, member.id)) ?? member);
109
95
  };
110
96
  const rewriteTouchedManifests = async (manifestPaths, mutate) => {
111
97
  const updatedFiles = [];
@@ -123,59 +109,56 @@ const rewriteTouchedManifests = async (manifestPaths, mutate) => {
123
109
  export const setProjectPrimaryModel = async (options) => {
124
110
  const modelTarget = buildModelTarget(options);
125
111
  const recursive = options.recursive ?? false;
126
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
127
- return rewriteTouchedManifests(manifestPaths, (manifest) => {
128
- if (!assertModelMutationAllowed(manifest, recursive)) {
129
- return null;
130
- }
131
- const normalizedModel = normalizeExecutionModel(manifest.execution);
132
- return updateManifestExecution(manifest, {
133
- ...(normalizedModel?.fallback ? { fallback: normalizedModel.fallback } : {}),
134
- primary: modelTarget
112
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
113
+ return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
114
+ return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration) => {
115
+ const normalizedModel = normalizeExecutionModel(declaration.execution);
116
+ return updateManifestExecution(declaration, {
117
+ ...(normalizedModel?.fallback ? { fallback: normalizedModel.fallback } : {}),
118
+ primary: modelTarget
119
+ });
135
120
  });
136
121
  });
137
122
  };
138
123
  export const addProjectModelFallback = async (options) => {
139
124
  const modelTarget = buildModelTarget(options);
140
125
  const recursive = options.recursive ?? false;
141
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
126
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
142
127
  return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
143
- if (!assertModelMutationAllowed(manifest, recursive)) {
144
- return null;
145
- }
146
- const normalizedModel = normalizeExecutionModel(manifest.execution);
147
- if (!normalizedModel) {
148
- if (recursive) {
149
- return null;
128
+ return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration, source) => {
129
+ const normalizedModel = normalizeExecutionModel(declaration.execution);
130
+ if (!normalizedModel) {
131
+ if (recursive) {
132
+ return null;
133
+ }
134
+ throw new SpawnfileError("validation_error", `Manifest at ${source} must declare a primary model before adding fallback models`);
150
135
  }
151
- throw new SpawnfileError("validation_error", `Manifest at ${manifestPath} must declare a primary model before adding fallback models`);
152
- }
153
- const existingFallback = normalizedModel.fallback ?? [];
154
- const nextFallback = existingFallback.some((entry) => JSON.stringify(entry) === JSON.stringify(modelTarget))
155
- ? existingFallback
156
- : [...existingFallback, modelTarget];
157
- return updateManifestExecution(manifest, {
158
- fallback: nextFallback,
159
- primary: normalizedModel.primary
136
+ const existingFallback = normalizedModel.fallback ?? [];
137
+ const nextFallback = existingFallback.some((entry) => JSON.stringify(entry) === JSON.stringify(modelTarget))
138
+ ? existingFallback
139
+ : [...existingFallback, modelTarget];
140
+ return updateManifestExecution(declaration, {
141
+ fallback: nextFallback,
142
+ primary: normalizedModel.primary
143
+ });
160
144
  });
161
145
  });
162
146
  };
163
147
  export const clearProjectModelFallbacks = async (options = {}) => {
164
148
  const recursive = options.recursive ?? false;
165
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
149
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
166
150
  return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
167
- if (!assertModelMutationAllowed(manifest, recursive)) {
168
- return null;
169
- }
170
- const normalizedModel = normalizeExecutionModel(manifest.execution);
171
- if (!normalizedModel) {
172
- if (recursive) {
173
- return null;
151
+ return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration, source) => {
152
+ const normalizedModel = normalizeExecutionModel(declaration.execution);
153
+ if (!normalizedModel) {
154
+ if (recursive) {
155
+ return null;
156
+ }
157
+ throw new SpawnfileError("validation_error", `Manifest at ${source} does not declare any execution model`);
174
158
  }
175
- throw new SpawnfileError("validation_error", `Manifest at ${manifestPath} does not declare any execution model`);
176
- }
177
- return updateManifestExecution(manifest, {
178
- primary: normalizedModel.primary
159
+ return updateManifestExecution(declaration, {
160
+ primary: normalizedModel.primary
161
+ });
179
162
  });
180
163
  });
181
164
  };
@@ -1,38 +1,14 @@
1
1
  import path from "node:path";
2
- import { getCanonicalManifestPath, getManifestPath, getProjectRoot, writeUtf8File } from "../filesystem/index.js";
3
- import { loadManifest, renderSpawnfile } from "../manifest/index.js";
2
+ import { getManifestPath, writeUtf8File } from "../filesystem/index.js";
3
+ import { loadManifest, materializeInlineAgentManifest, renderSpawnfile } from "../manifest/index.js";
4
4
  import { assertRuntimeCanCompile } from "../runtime/index.js";
5
5
  import { SpawnfileError } from "../shared/index.js";
6
6
  import { assertRuntimeSupportsExecutionModelAuth } from "./modelAuth.js";
7
+ import { collectProjectManifestPaths, rewriteInlineAgentMembers } from "./projectManifestGraph.js";
7
8
  import { validateAgentSurfaceSupport } from "./surfaceDefinitions.js";
8
9
  const TEAM_RUNTIME_COMMAND_ERROR = "spawnfile runtime commands only write agent manifests; use --recursive to update descendant agents of a team project";
9
10
  const resolveTargetManifestPath = (inputPath) => getManifestPath(path.resolve(inputPath ?? process.cwd()));
10
- const collectManifestPaths = async (manifestPath, recursive, visited = new Set()) => {
11
- const canonicalPath = getCanonicalManifestPath(manifestPath);
12
- if (visited.has(canonicalPath)) {
13
- return [];
14
- }
15
- visited.add(canonicalPath);
16
- if (!recursive) {
17
- return [canonicalPath];
18
- }
19
- const loadedManifest = await loadManifest(canonicalPath);
20
- const childRefs = loadedManifest.manifest.kind === "team"
21
- ? loadedManifest.manifest.members.map((member) => member.ref)
22
- : (loadedManifest.manifest.subagents ?? []).map((subagent) => subagent.ref);
23
- const nestedPaths = await Promise.all(childRefs.map((ref) => collectManifestPaths(getManifestPath(path.resolve(getProjectRoot(canonicalPath), ref)), true, visited)));
24
- return [canonicalPath, ...nestedPaths.flat()];
25
- };
26
11
  const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
27
- const assertRuntimeMutationAllowed = (manifest, recursive) => {
28
- if (manifest.kind === "agent") {
29
- return true;
30
- }
31
- if (recursive) {
32
- return false;
33
- }
34
- throw new SpawnfileError("validation_error", TEAM_RUNTIME_COMMAND_ERROR);
35
- };
36
12
  const validateAgentRuntimeMutation = (manifest) => {
37
13
  validateAgentSurfaceSupport(manifest);
38
14
  const runtimeName = typeof manifest.runtime === "string" ? manifest.runtime : manifest.runtime?.name;
@@ -41,22 +17,33 @@ const validateAgentRuntimeMutation = (manifest) => {
41
17
  }
42
18
  assertRuntimeSupportsExecutionModelAuth(runtimeName, manifest.execution, manifest.name);
43
19
  };
20
+ const setInlineRuntime = (team, member, runtime) => {
21
+ const nextMember = { ...member, runtime };
22
+ validateAgentRuntimeMutation(materializeInlineAgentManifest(team, nextMember));
23
+ return nextMember;
24
+ };
44
25
  export const setProjectRuntime = async (options) => {
45
26
  await assertRuntimeCanCompile(options.runtime);
46
27
  const recursive = options.recursive ?? false;
47
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
28
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
48
29
  const updatedFiles = [];
49
30
  for (const manifestPath of manifestPaths) {
50
31
  const loadedManifest = await loadManifest(manifestPath);
51
32
  const manifest = loadedManifest.manifest;
52
- if (!assertRuntimeMutationAllowed(manifest, recursive)) {
53
- continue;
33
+ let nextManifest;
34
+ if (manifest.kind === "agent") {
35
+ nextManifest = {
36
+ ...manifest,
37
+ runtime: options.runtime
38
+ };
39
+ validateAgentRuntimeMutation(nextManifest);
40
+ }
41
+ else {
42
+ if (!recursive) {
43
+ throw new SpawnfileError("validation_error", TEAM_RUNTIME_COMMAND_ERROR);
44
+ }
45
+ nextManifest = rewriteInlineAgentMembers(manifest, (member) => setInlineRuntime(manifest, member, options.runtime));
54
46
  }
55
- const nextManifest = {
56
- ...manifest,
57
- runtime: options.runtime
58
- };
59
- validateAgentRuntimeMutation(nextManifest);
60
47
  if (!manifestChanged(manifest, nextManifest)) {
61
48
  continue;
62
49
  }