spawnfile 0.1.12 → 0.1.14

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 (620) hide show
  1. package/README.md +58 -12
  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/index.d.ts +7 -0
  27. package/dist/auth/index.js +7 -0
  28. package/dist/auth/paths.d.ts +11 -0
  29. package/dist/auth/paths.js +21 -0
  30. package/dist/auth/runtimeCredentials.js +18 -2
  31. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  32. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  33. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  34. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  36. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  37. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  38. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  39. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  40. package/dist/auth/targetSecretSourceGrant.js +99 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  42. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  43. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  44. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  46. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  48. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  50. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  51. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  52. package/dist/auth/targetSecretSourceResolver.js +137 -0
  53. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  54. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  55. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  56. package/dist/auth/targetSecretSourceRotate.js +121 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  58. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  59. package/dist/cli/artifactsCommands.d.ts +27 -0
  60. package/dist/cli/artifactsCommands.js +132 -0
  61. package/dist/cli/authCommands.d.ts +5 -0
  62. package/dist/cli/authCommands.js +221 -0
  63. package/dist/cli/compileBuildCommands.d.ts +3 -0
  64. package/dist/cli/compileBuildCommands.js +35 -0
  65. package/dist/cli/containerBundleCommand.d.ts +6 -0
  66. package/dist/cli/containerBundleCommand.js +116 -0
  67. package/dist/cli/devCommands.d.ts +3 -0
  68. package/dist/cli/devCommands.js +115 -0
  69. package/dist/cli/downCommand.d.ts +25 -0
  70. package/dist/cli/downCommand.js +134 -0
  71. package/dist/cli/index.js +6 -3
  72. package/dist/cli/lifecycleCommands.d.ts +1 -1
  73. package/dist/cli/lifecycleCommands.js +11 -179
  74. package/dist/cli/lifecycleMachine.d.ts +19 -0
  75. package/dist/cli/lifecycleMachine.js +78 -0
  76. package/dist/cli/lifecyclePlan.d.ts +35 -0
  77. package/dist/cli/lifecyclePlan.js +240 -0
  78. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  79. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  80. package/dist/cli/runCli.d.ts +15 -2
  81. package/dist/cli/runCli.js +31 -71
  82. package/dist/cli/runPublishCommands.d.ts +3 -0
  83. package/dist/cli/runPublishCommands.js +70 -0
  84. package/dist/cli/statusCommand.d.ts +3 -32
  85. package/dist/cli/statusCommand.js +37 -233
  86. package/dist/cli/statusCommandLive.d.ts +20 -0
  87. package/dist/cli/statusCommandLive.js +188 -0
  88. package/dist/cli/statusCommandOptions.d.ts +40 -0
  89. package/dist/cli/statusCommandOptions.js +42 -0
  90. package/dist/cli/targetCliRoute.d.ts +2 -0
  91. package/dist/cli/targetCliRoute.js +30 -0
  92. package/dist/cli/targetCommands.d.ts +33 -0
  93. package/dist/cli/targetCommands.js +257 -0
  94. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  95. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  96. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  97. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  98. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  99. package/dist/cli/targetDefaultAuthorities.js +210 -0
  100. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  101. package/dist/cli/targetDefaultConfig.js +317 -0
  102. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  103. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  104. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  105. package/dist/cli/targetDefaultEnvelope.js +13 -0
  106. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  107. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  108. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  109. package/dist/cli/targetDefaultHandlers.js +72 -0
  110. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  111. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  112. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  113. package/dist/cli/targetDefaultWorldClock.js +14 -0
  114. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  115. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  116. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  117. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  118. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  119. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  120. package/dist/cli/targetLookupCli.d.ts +3 -0
  121. package/dist/cli/targetLookupCli.js +31 -0
  122. package/dist/cli/targetLookupCommands.d.ts +12 -0
  123. package/dist/cli/targetLookupCommands.js +69 -0
  124. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  125. package/dist/cli/targetOperationDispatch.js +21 -0
  126. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  127. package/dist/cli/targetReceiptOutput.js +21 -0
  128. package/dist/cli/targetRequestFile.d.ts +14 -0
  129. package/dist/cli/targetRequestFile.js +63 -0
  130. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  131. package/dist/cli/targetSecretSourceInput.js +121 -0
  132. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  133. package/dist/cli/targetWorldClockCommand.js +42 -0
  134. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  135. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  136. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  137. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  138. package/dist/cli/upCommand.d.ts +3 -0
  139. package/dist/cli/upCommand.js +133 -0
  140. package/dist/cli/upImageCommand.d.ts +11 -0
  141. package/dist/cli/upImageCommand.js +41 -0
  142. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  143. package/dist/cli/upLifecycleInvocation.js +48 -0
  144. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  145. package/dist/cli/upLifecycleRecovery.js +53 -0
  146. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  147. package/dist/compiler/agentNodeMerge.js +79 -0
  148. package/dist/compiler/agentSurfaces.js +11 -1
  149. package/dist/compiler/buildCompilePlan.js +17 -0
  150. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  151. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  152. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  153. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  154. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  155. package/dist/compiler/buildProject.d.ts +20 -1
  156. package/dist/compiler/buildProject.js +121 -7
  157. package/dist/compiler/compilePlanHelpers.js +2 -0
  158. package/dist/compiler/compileProject.d.ts +15 -0
  159. package/dist/compiler/compileProject.js +29 -75
  160. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  161. package/dist/compiler/compileProjectPolicy.js +21 -0
  162. package/dist/compiler/compileProjectReports.d.ts +9 -0
  163. package/dist/compiler/compileProjectReports.js +52 -0
  164. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  165. package/dist/compiler/containerArtifactSummaries.js +138 -0
  166. package/dist/compiler/containerArtifacts.d.ts +10 -0
  167. package/dist/compiler/containerArtifacts.js +126 -125
  168. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  169. package/dist/compiler/containerArtifactsPlans.js +31 -118
  170. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  171. package/dist/compiler/containerArtifactsRender.js +40 -81
  172. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  173. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  174. package/dist/compiler/containerConfigEnvRender.js +54 -0
  175. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  176. package/dist/compiler/containerEntrypointRender.js +60 -53
  177. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  178. package/dist/compiler/containerEntrypointShell.js +29 -0
  179. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  180. package/dist/compiler/containerPackageOverrides.js +63 -0
  181. package/dist/compiler/containerPackageRender.d.ts +15 -0
  182. package/dist/compiler/containerPackageRender.js +63 -0
  183. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  184. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  185. package/dist/compiler/containerTargetResources.js +3 -1
  186. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  187. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  188. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  189. package/dist/compiler/dockerBuildContext.js +159 -0
  190. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  191. package/dist/compiler/dockerBuildSkip.js +81 -0
  192. package/dist/compiler/index.d.ts +4 -0
  193. package/dist/compiler/index.js +4 -0
  194. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  195. package/dist/compiler/memoryArtifacts.js +134 -0
  196. package/dist/compiler/memoryResolution.d.ts +4 -0
  197. package/dist/compiler/memoryResolution.js +147 -0
  198. package/dist/compiler/modelEnv.d.ts +2 -0
  199. package/dist/compiler/modelEnv.js +6 -0
  200. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  201. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  202. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  203. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  204. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  205. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  206. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  207. package/dist/compiler/moltnetArtifacts.js +56 -95
  208. package/dist/compiler/moltnetBinaries.d.ts +21 -1
  209. package/dist/compiler/moltnetBinaries.js +156 -28
  210. package/dist/compiler/moltnetClientConfig.js +18 -2
  211. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  212. package/dist/compiler/moltnetConfigLowering.js +67 -5
  213. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  214. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  215. package/dist/compiler/moltnetNodeConfig.js +7 -2
  216. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  217. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  218. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  219. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  220. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  221. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  222. package/dist/compiler/moltnetResolution.js +72 -20
  223. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  224. package/dist/compiler/moltnetRuntimeConfig.js +11 -0
  225. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  226. package/dist/compiler/moltnetServerPlans.js +132 -0
  227. package/dist/compiler/organizationIdentity.d.ts +27 -0
  228. package/dist/compiler/organizationIdentity.js +297 -0
  229. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  230. package/dist/compiler/organizationReadyEvidence.js +261 -0
  231. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  232. package/dist/compiler/projectManifestGraph.js +24 -0
  233. package/dist/compiler/runProject.d.ts +4 -0
  234. package/dist/compiler/runProject.js +37 -22
  235. package/dist/compiler/runProjectAuth.d.ts +7 -1
  236. package/dist/compiler/runProjectAuth.js +87 -9
  237. package/dist/compiler/runProjectDocker.d.ts +7 -0
  238. package/dist/compiler/runProjectDocker.js +187 -19
  239. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  240. package/dist/compiler/runProjectLifecycle.js +40 -0
  241. package/dist/compiler/syncProjectAuth.js +4 -1
  242. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  243. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  244. package/dist/compiler/teamContextSupport.js +32 -40
  245. package/dist/compiler/teamContextTypes.d.ts +2 -0
  246. package/dist/compiler/types.d.ts +82 -1
  247. package/dist/compiler/upProject.d.ts +5 -0
  248. package/dist/compiler/upProject.js +257 -20
  249. package/dist/compiler/upReceipt.d.ts +36 -0
  250. package/dist/compiler/upReceipt.js +82 -0
  251. package/dist/compiler/updateProjectModels.js +42 -60
  252. package/dist/compiler/updateProjectRuntime.js +22 -35
  253. package/dist/compiler/updateProjectSurfaces.js +53 -47
  254. package/dist/compiler/worldBindings.d.ts +39 -0
  255. package/dist/compiler/worldBindings.js +247 -0
  256. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  257. package/dist/compiler/worldBindingsFile.js +162 -0
  258. package/dist/deployment/artifactsExport.d.ts +49 -0
  259. package/dist/deployment/artifactsExport.js +217 -0
  260. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  261. package/dist/deployment/artifactsExportDocker.js +91 -0
  262. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  263. package/dist/deployment/artifactsExportPlan.js +135 -0
  264. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  265. package/dist/deployment/artifactsExportTypes.js +52 -0
  266. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  267. package/dist/deployment/buildImageCacheStore.js +54 -0
  268. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  269. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  270. package/dist/deployment/dockerInspect.d.ts +9 -0
  271. package/dist/deployment/dockerInspect.js +24 -1
  272. package/dist/deployment/dockerLabels.d.ts +2 -0
  273. package/dist/deployment/dockerLabels.js +2 -0
  274. package/dist/deployment/dockerLogs.js +2 -10
  275. package/dist/deployment/dockerManager.d.ts +51 -0
  276. package/dist/deployment/dockerManager.js +118 -1
  277. package/dist/deployment/dockerProbeGateway.js +64 -5
  278. package/dist/deployment/dockerRecover.d.ts +17 -0
  279. package/dist/deployment/dockerRecover.js +137 -0
  280. package/dist/deployment/dockerTeardown.d.ts +32 -0
  281. package/dist/deployment/dockerTeardown.js +61 -0
  282. package/dist/deployment/downDeployment.d.ts +34 -0
  283. package/dist/deployment/downDeployment.js +147 -0
  284. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  285. package/dist/deployment/downReceiptTypes.js +30 -0
  286. package/dist/deployment/index.d.ts +17 -0
  287. package/dist/deployment/index.js +18 -0
  288. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  289. package/dist/deployment/lifecycleCompletion.js +236 -0
  290. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  291. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  292. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  293. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  294. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  295. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  296. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  297. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  298. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  299. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  300. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  301. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  302. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  303. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  304. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  305. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  306. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  307. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  308. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  309. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  310. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  311. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  312. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  313. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  314. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  315. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  316. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  317. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  318. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  319. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  320. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  321. package/dist/deployment/organizationHandoffTypes.js +80 -0
  322. package/dist/deployment/organizationReady.d.ts +52 -0
  323. package/dist/deployment/organizationReady.js +200 -0
  324. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  325. package/dist/deployment/privateArtifactsExport.js +80 -0
  326. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  327. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  328. package/dist/deployment/record.d.ts +26 -1
  329. package/dist/deployment/record.js +49 -4
  330. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  331. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  332. package/dist/deployment/target.d.ts +1 -35
  333. package/dist/deployment/target.js +1 -96
  334. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  335. package/dist/deployment/upReceiptTypes.js +164 -0
  336. package/dist/dev/activity.d.ts +14 -0
  337. package/dist/dev/activity.js +48 -0
  338. package/dist/dev/docker.d.ts +16 -0
  339. package/dist/dev/docker.js +71 -0
  340. package/dist/dev/index.d.ts +2 -0
  341. package/dist/dev/index.js +2 -0
  342. package/dist/dev/project.d.ts +35 -0
  343. package/dist/dev/project.js +170 -0
  344. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  345. package/dist/distribution/buildDistributionReport.js +2 -1
  346. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  347. package/dist/distribution/distributionReportSchema.js +7 -2
  348. package/dist/distribution/index.d.ts +2 -2
  349. package/dist/distribution/index.js +1 -1
  350. package/dist/distribution/types.d.ts +7 -0
  351. package/dist/distribution/types.js +1 -0
  352. package/dist/filesystem/paths.js +10 -1
  353. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  354. package/dist/ledger/causalConformanceCli.js +41 -0
  355. package/dist/ledger/causeNamespace.d.ts +8 -0
  356. package/dist/ledger/causeNamespace.js +24 -0
  357. package/dist/ledger/conformance.d.ts +83 -0
  358. package/dist/ledger/conformance.js +259 -0
  359. package/dist/ledger/emitters.d.ts +76 -0
  360. package/dist/ledger/emitters.js +188 -0
  361. package/dist/ledger/index.d.ts +4 -0
  362. package/dist/ledger/index.js +4 -0
  363. package/dist/ledger/principal.d.ts +96 -0
  364. package/dist/ledger/principal.js +121 -0
  365. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  366. package/dist/manifest/externalParticipantSchemas.js +17 -0
  367. package/dist/manifest/index.d.ts +1 -0
  368. package/dist/manifest/index.js +1 -0
  369. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  370. package/dist/manifest/inlineAgentMember.js +9 -0
  371. package/dist/manifest/loadManifest.js +14 -8
  372. package/dist/manifest/mcpSchemas.d.ts +17 -0
  373. package/dist/manifest/mcpSchemas.js +41 -0
  374. package/dist/manifest/memorySchemas.d.ts +245 -0
  375. package/dist/manifest/memorySchemas.js +148 -0
  376. package/dist/manifest/renderSpawnfile.js +22 -131
  377. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  378. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  379. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  380. package/dist/manifest/schemas.d.ts +1868 -99
  381. package/dist/manifest/schemas.js +78 -32
  382. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  383. package/dist/manifest/surfaceSchemas.js +24 -1
  384. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  385. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  386. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  387. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  388. package/dist/manifest/teamNetworkSchemas.js +3 -317
  389. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  390. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  391. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  392. package/dist/ownership/siblingBuildFreshness.js +20 -0
  393. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  394. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  395. package/dist/report/types.d.ts +142 -0
  396. package/dist/runtime/common.d.ts +37 -0
  397. package/dist/runtime/common.js +56 -1
  398. package/dist/runtime/container.d.ts +29 -1
  399. package/dist/runtime/container.js +127 -11
  400. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  401. package/dist/runtime/containerPackageOverrides.js +33 -0
  402. package/dist/runtime/index.d.ts +2 -0
  403. package/dist/runtime/index.js +2 -0
  404. package/dist/runtime/install.d.ts +1 -1
  405. package/dist/runtime/install.js +43 -1
  406. package/dist/runtime/mnemeMcp.d.ts +15 -0
  407. package/dist/runtime/mnemeMcp.js +109 -0
  408. package/dist/runtime/openclaw/adapter.js +15 -4
  409. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  410. package/dist/runtime/openclaw/mcp.js +69 -0
  411. package/dist/runtime/openclaw/runAuth.js +2 -2
  412. package/dist/runtime/openclaw/scaffold.js +1 -1
  413. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  414. package/dist/runtime/openclaw/schedules.js +74 -0
  415. package/dist/runtime/pi/adapter.d.ts +4 -0
  416. package/dist/runtime/pi/adapter.js +231 -0
  417. package/dist/runtime/pi/appActivitySource.d.ts +1 -0
  418. package/dist/runtime/pi/appActivitySource.js +199 -0
  419. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  420. package/dist/runtime/pi/appAgentConfig.js +264 -0
  421. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  422. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  423. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  424. package/dist/runtime/pi/appCliSource.js +353 -0
  425. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  426. package/dist/runtime/pi/appControlSource.js +390 -0
  427. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  428. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  429. package/dist/runtime/pi/appCoreSource.d.ts +4 -0
  430. package/dist/runtime/pi/appCoreSource.js +244 -0
  431. package/dist/runtime/pi/appPreludeSource.d.ts +1 -0
  432. package/dist/runtime/pi/appPreludeSource.js +191 -0
  433. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  434. package/dist/runtime/pi/appScheduleSource.js +80 -0
  435. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  436. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  437. package/dist/runtime/pi/appSource.d.ts +4 -0
  438. package/dist/runtime/pi/appSource.js +12 -0
  439. package/dist/runtime/pi/appTemplate.d.ts +14 -0
  440. package/dist/runtime/pi/appTemplate.js +27 -0
  441. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  442. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  443. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  444. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  445. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  446. package/dist/runtime/pi/containerTargets.js +57 -0
  447. package/dist/runtime/pi/runAuth.d.ts +2 -0
  448. package/dist/runtime/pi/runAuth.js +185 -0
  449. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  450. package/dist/runtime/pi/testHelpers.js +40 -0
  451. package/dist/runtime/picoclaw/adapter.js +23 -27
  452. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  453. package/dist/runtime/picoclaw/mcp.js +43 -0
  454. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  455. package/dist/runtime/picoclaw/memory.js +17 -0
  456. package/dist/runtime/picoclaw/runAuth.js +1 -1
  457. package/dist/runtime/picoclaw/scaffold.js +1 -1
  458. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  459. package/dist/runtime/picoclaw/schedules.js +62 -3
  460. package/dist/runtime/registry.js +3 -0
  461. package/dist/runtime/scheduleUtils.d.ts +2 -0
  462. package/dist/runtime/scheduleUtils.js +15 -0
  463. package/dist/runtime/types.d.ts +26 -2
  464. package/dist/shared/errors.d.ts +1 -1
  465. package/dist/shared/errors.js +2 -2
  466. package/dist/shared/index.d.ts +1 -0
  467. package/dist/shared/index.js +1 -0
  468. package/dist/shared/redaction.d.ts +2 -0
  469. package/dist/shared/redaction.js +10 -0
  470. package/dist/status/buildStatus.d.ts +1 -0
  471. package/dist/status/buildStatus.js +2 -0
  472. package/dist/status/compileReport.d.ts +22 -0
  473. package/dist/status/compileReport.js +16 -2
  474. package/dist/status/compiledProbeCollection.d.ts +21 -0
  475. package/dist/status/compiledProbeCollection.js +27 -0
  476. package/dist/status/deployments.js +5 -12
  477. package/dist/status/imageStatusReport.js +6 -0
  478. package/dist/status/index.d.ts +3 -0
  479. package/dist/status/index.js +3 -0
  480. package/dist/status/lifecycleProbes.d.ts +19 -0
  481. package/dist/status/lifecycleProbes.js +174 -0
  482. package/dist/status/moltnetProbes.d.ts +7 -8
  483. package/dist/status/moltnetProbes.js +27 -198
  484. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  485. package/dist/status/moltnetWiringProbes.js +178 -0
  486. package/dist/target/cleanupRun.d.ts +41 -0
  487. package/dist/target/cleanupRun.js +139 -0
  488. package/dist/target/cleanupRunDocker.d.ts +16 -0
  489. package/dist/target/cleanupRunDocker.js +66 -0
  490. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  491. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  492. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  493. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  494. package/dist/target/composedPreparation.d.ts +205 -0
  495. package/dist/target/composedPreparation.js +223 -0
  496. package/dist/target/containerBundle.d.ts +82 -0
  497. package/dist/target/containerBundle.js +243 -0
  498. package/dist/target/containerBundleArchive.d.ts +31 -0
  499. package/dist/target/containerBundleArchive.js +140 -0
  500. package/dist/target/containerBundleAuthority.d.ts +25 -0
  501. package/dist/target/containerBundleAuthority.js +65 -0
  502. package/dist/target/containerBundleContracts.d.ts +114 -0
  503. package/dist/target/containerBundleContracts.js +173 -0
  504. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  505. package/dist/target/containerBundleFilesystemStore.js +247 -0
  506. package/dist/target/containerBundlePolicy.d.ts +33 -0
  507. package/dist/target/containerBundlePolicy.js +64 -0
  508. package/dist/target/containerBundleStore.d.ts +127 -0
  509. package/dist/target/containerBundleStore.js +284 -0
  510. package/dist/target/contracts.d.ts +538 -0
  511. package/dist/target/contracts.js +373 -0
  512. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  513. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  514. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  515. package/dist/target/dockerArtifactInspection.js +125 -0
  516. package/dist/target/dockerArtifacts.d.ts +21 -0
  517. package/dist/target/dockerArtifacts.js +110 -0
  518. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  519. package/dist/target/dockerArtifactsProvider.js +449 -0
  520. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  521. package/dist/target/dockerCommandExecutor.js +200 -0
  522. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  523. package/dist/target/dockerCommandExecutorCore.js +273 -0
  524. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  525. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  526. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  527. package/dist/target/dockerContextSnapshot.js +158 -0
  528. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  529. package/dist/target/dockerEndpointFingerprint.js +9 -0
  530. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  531. package/dist/target/dockerPreparedArtifact.js +131 -0
  532. package/dist/target/dockerProjectionJson.d.ts +1 -0
  533. package/dist/target/dockerProjectionJson.js +80 -0
  534. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  535. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  536. package/dist/target/dockerResources.d.ts +26 -0
  537. package/dist/target/dockerResources.js +162 -0
  538. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  539. package/dist/target/dockerResourcesProvider.js +207 -0
  540. package/dist/target/dockerSecrets.d.ts +39 -0
  541. package/dist/target/dockerSecrets.js +249 -0
  542. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  543. package/dist/target/dockerSecretsAuthority.js +216 -0
  544. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  545. package/dist/target/dockerSecretsLifecycle.js +133 -0
  546. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  547. package/dist/target/dockerSecretsProvider.js +329 -0
  548. package/dist/target/dockerTarget.d.ts +52 -0
  549. package/dist/target/dockerTarget.js +48 -0
  550. package/dist/target/dockerTargetBinding.d.ts +14 -0
  551. package/dist/target/dockerTargetBinding.js +96 -0
  552. package/dist/target/dockerWorldClock.d.ts +17 -0
  553. package/dist/target/dockerWorldClock.js +111 -0
  554. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  555. package/dist/target/dockerWorldReadiness.js +119 -0
  556. package/dist/target/dockerWorldService.d.ts +23 -0
  557. package/dist/target/dockerWorldService.js +216 -0
  558. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  559. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  560. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  561. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  562. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  563. package/dist/target/dockerWorldServiceProvider.js +318 -0
  564. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  565. package/dist/target/dockerWorldServiceStore.js +367 -0
  566. package/dist/target/evidenceExport.d.ts +55 -0
  567. package/dist/target/evidenceExport.js +518 -0
  568. package/dist/target/evidenceExportArchive.d.ts +10 -0
  569. package/dist/target/evidenceExportArchive.js +302 -0
  570. package/dist/target/evidenceExportContract.d.ts +27 -0
  571. package/dist/target/evidenceExportContract.js +40 -0
  572. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  573. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  574. package/dist/target/evidenceExportProvider.d.ts +85 -0
  575. package/dist/target/evidenceExportProvider.js +187 -0
  576. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  577. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  578. package/dist/target/evidenceExportStore.d.ts +70 -0
  579. package/dist/target/evidenceExportStore.js +498 -0
  580. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  581. package/dist/target/evidenceExportStorePublication.js +395 -0
  582. package/dist/target/handles.d.ts +20 -0
  583. package/dist/target/handles.js +56 -0
  584. package/dist/target/index.d.ts +12 -0
  585. package/dist/target/index.js +11 -0
  586. package/dist/target/journal.d.ts +59 -0
  587. package/dist/target/journal.js +529 -0
  588. package/dist/target/journalFilesystem.d.ts +3 -0
  589. package/dist/target/journalFilesystem.js +111 -0
  590. package/dist/target/journalRoot.d.ts +4 -0
  591. package/dist/target/journalRoot.js +6 -0
  592. package/dist/target/organizationAttachment.d.ts +23 -0
  593. package/dist/target/organizationAttachment.js +263 -0
  594. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  595. package/dist/target/organizationAttachmentAuthority.js +161 -0
  596. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  597. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  598. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  599. package/dist/target/organizationAttachmentProvider.js +289 -0
  600. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  601. package/dist/target/organizationAttachmentStore.js +316 -0
  602. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  603. package/dist/target/publicArtifactSnapshot.js +150 -0
  604. package/dist/target/topologyActivation.d.ts +51 -0
  605. package/dist/target/topologyActivation.js +149 -0
  606. package/dist/target/topologyAttestation.d.ts +37 -0
  607. package/dist/target/topologyAttestation.js +300 -0
  608. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  609. package/dist/target/topologyAttestationErrors.js +1 -0
  610. package/dist/target/worldClock.d.ts +60 -0
  611. package/dist/target/worldClock.js +129 -0
  612. package/dist/target/worldReadiness.d.ts +103 -0
  613. package/dist/target/worldReadiness.js +153 -0
  614. package/moltnet-releases.json +20 -0
  615. package/package.json +29 -8
  616. package/runtimes.yaml +28 -27
  617. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  618. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  619. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  620. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,390 @@
1
+ import { renderPiControlWakeIdentitySource } from "./appControlWakeIdentitySource.js";
2
+ export const renderPiControlSource = () => String.raw `const rebuildAgentKeys = (agents) => {
3
+ const keys = new Map();
4
+ for (const agent of agents) {
5
+ const candidates = [
6
+ agent.config.id,
7
+ agent.config.name,
8
+ agent.config.slug,
9
+ typeof agent.config.id === "string" && agent.config.id.startsWith("agent:")
10
+ ? agent.config.id.slice("agent:".length)
11
+ : ""
12
+ ];
13
+ for (const candidate of candidates) {
14
+ if (typeof candidate === "string" && candidate.length > 0) {
15
+ keys.set(candidate, agent);
16
+ }
17
+ }
18
+ }
19
+ return keys;
20
+ };
21
+
22
+ const formatControlEventId = (payload, fallbackPrefix) => {
23
+ if (typeof payload.event_id === "string" && payload.event_id.length > 0) {
24
+ return payload.event_id;
25
+ }
26
+ if (typeof payload.context_id === "string" && payload.context_id.length > 0) {
27
+ return payload.context_id + ":" + Date.now();
28
+ }
29
+ return fallbackPrefix + Date.now();
30
+ };
31
+
32
+ // B62 Option B (two wake endpoints split by authenticating authority):
33
+ // POST /spawnfile/agents/:slug/wake is the operator-only mutating endpoint
34
+ // gated by a bearer token below — the only mutating control endpoint gated
35
+ // today (see AGENTS.md / B62 for why the load/restart dev-reload endpoints
36
+ // stay out of this slice's scope). POST /agents/:slug/wake is the loopback
37
+ // Moltnet->Pi delivery endpoint (server.listen("127.0.0.1") below): it is
38
+ // NOT operator-only, is never gated by this token, and stamps a different
39
+ // principal (system:moltnet, never operator:control) — see the delivery
40
+ // handler further down. SPAWNFILE_PI_CONTROL_TOKEN is trusted env minted by
41
+ // the generator/harness (same trust shape as SPAWNFILE_PI_CONTROL_PORT and
42
+ // NOOPOLIS_RUN_ID, src/runtime/common.ts) — read only from process.env,
43
+ // NEVER from the request body, headers content, or model output. When the
44
+ // env var is unset there is "no operator configured": every operator wake
45
+ // request fails closed with 401, it is never treated as "auth disabled".
46
+ ${renderPiControlWakeIdentitySource()}
47
+ const validateDeliveryMetadata = (payload) => {
48
+ if (
49
+ typeof payload.event_id !== "string" || payload.event_id.trim().length === 0 ||
50
+ typeof payload.from !== "string" || payload.from.trim().length === 0 ||
51
+ typeof payload.to !== "string" || payload.to.trim().length === 0 ||
52
+ typeof payload.context_id !== "string" || payload.context_id.trim().length === 0
53
+ ) {
54
+ return null;
55
+ }
56
+ return {
57
+ eventId: payload.event_id,
58
+ sender: payload.from,
59
+ target: payload.to,
60
+ contextId: payload.context_id
61
+ };
62
+ };
63
+ const extractBearerToken = (request) => {
64
+ const header = request.headers && (request.headers.authorization ?? request.headers.Authorization);
65
+ if (typeof header !== "string") {
66
+ return "";
67
+ }
68
+ const match = /^Bearer\s+(.+)$/u.exec(header.trim());
69
+ return match ? match[1].trim() : "";
70
+ };
71
+
72
+ /**
73
+ * Authorizes a mutating wake request against SPAWNFILE_PI_CONTROL_TOKEN.
74
+ * Fails closed (ok: false) on every path: no configured token, no bearer
75
+ * header, or a bearer value that does not match — there is no "auth
76
+ * disabled" state.
77
+ */
78
+ const authorizeControlWake = (request) => {
79
+ const configuredToken = typeof process.env[CONTROL_TOKEN_ENV] === "string" ? process.env[CONTROL_TOKEN_ENV].trim() : "";
80
+ if (!configuredToken) {
81
+ return { ok: false, reason: "no operator token configured (" + CONTROL_TOKEN_ENV + " is unset)" };
82
+ }
83
+
84
+ const providedToken = extractBearerToken(request);
85
+ if (!providedToken) {
86
+ return { ok: false, reason: "missing bearer token" };
87
+ }
88
+ if (providedToken !== configuredToken) {
89
+ return { ok: false, reason: "invalid bearer token" };
90
+ }
91
+
92
+ return { ok: true };
93
+ };
94
+
95
+ /**
96
+ * B62 enforcement point #3 (specs/CAUSAL.md): stamps control.wake.denied
97
+ * for a rejected wake request via daimon's observability emitters. Never
98
+ * lets a telemetry write failure break the HTTP 401 response — this is
99
+ * best-effort like every other causal stamp in this generated app.
100
+ */
101
+ const recordControlWakeDenied = async (reason, targetAgentId, runtimeHomePath, requestId) => {
102
+ try {
103
+ await emitControlWakeDenied({
104
+ operatorName: CONTROL_OPERATOR_NAME,
105
+ reason,
106
+ requestId,
107
+ runtimeHomePath,
108
+ targetAgentId
109
+ });
110
+ } catch (error) {
111
+ console.error("[pi] failed to record control.wake.denied: " + (error instanceof Error ? error.message : String(error)));
112
+ }
113
+ };
114
+
115
+ /** B62 enforcement point #3, operator path: stamps control.wake.accepted (principal operator:control) for an authorized, executed wake. */
116
+ const recordControlWakeAccepted = async (targetAgentId, wakeKind, runtimeHomePath, requestId, causeEventIds) => {
117
+ try {
118
+ await emitControlWakeAccepted({
119
+ causeEventIds,
120
+ operatorName: CONTROL_OPERATOR_NAME,
121
+ requestId,
122
+ runtimeHomePath,
123
+ targetAgentId,
124
+ wakeKind
125
+ });
126
+ } catch (error) {
127
+ console.error("[pi] failed to record control.wake.accepted: " + (error instanceof Error ? error.message : String(error)));
128
+ }
129
+ };
130
+
131
+ /**
132
+ * B62 enforcement point #3, Moltnet delivery path (Option B): stamps
133
+ * control.wake.accepted for a tokenless delivery wake via daimon's
134
+ * emitDeliveryWakeAccepted, which always stamps principal_id "system:moltnet"
135
+ * — the delivering authority itself — NEVER operator:control, and NEVER a
136
+ * value read from the request body's "from"/agent field. This is the
137
+ * attribution that distinguishes a real inter-agent delivery from an
138
+ * operator-issued wake without needing a second bearer token.
139
+ */
140
+ const recordDeliveryWakeAccepted = async (targetAgentId, wakeKind, runtimeHomePath, requestId, causeEventIds) => {
141
+ try {
142
+ await emitDeliveryWakeAccepted({
143
+ causeEventIds,
144
+ requestId,
145
+ runtimeHomePath,
146
+ targetAgentId,
147
+ wakeKind
148
+ });
149
+ } catch (error) {
150
+ console.error("[pi] failed to record delivery control.wake.accepted: " + (error instanceof Error ? error.message : String(error)));
151
+ }
152
+ };
153
+
154
+ /**
155
+ * Shared wake-execution core for both /agents/:slug/wake (delivery) and
156
+ * /spawnfile/agents/:slug/wake (operator): reads the request body, runs
157
+ * the agent's wake, and returns the response shape both endpoints send.
158
+ * A blank/missing message is treated as a no-op (matches pre-B62 behavior)
159
+ * and is reported as executed: false so callers skip the causal stamp for
160
+ * it, exactly like the original single-endpoint handler did. Auth and
161
+ * attribution (which principal to stamp) are the caller's responsibility —
162
+ * this helper has no knowledge of either.
163
+ */
164
+ const executeAgentWake = async (agent, payload, requireDeliveryMetadata, agentsByKey) => {
165
+ const deliveryMetadata = requireDeliveryMetadata ? validateDeliveryMetadata(payload) : null;
166
+ if (requireDeliveryMetadata && !deliveryMetadata) {
167
+ throw new Error(DELIVERY_METADATA_INVALID_ERROR);
168
+ }
169
+ const deliveryTarget = requireDeliveryMetadata ? agentsByKey.get(deliveryMetadata.target) : null;
170
+ if (requireDeliveryMetadata && deliveryTarget !== agent) {
171
+ throw new Error(DELIVERY_METADATA_INVALID_ERROR);
172
+ }
173
+
174
+ const eventId = requireDeliveryMetadata ? deliveryMetadata.eventId : formatControlEventId(payload, "message-");
175
+ if (typeof payload.message !== "string" || payload.message.trim().length === 0) {
176
+ return { eventId: undefined, executed: false, from: agent.config.id, message: "", wakeKind: undefined };
177
+ }
178
+
179
+ const wakeKind = normalizeWakeKind(typeof payload.wake_kind === "string" ? payload.wake_kind : payload.kind);
180
+ const message = await agent.wake({
181
+ id: eventId,
182
+ kind: wakeKind,
183
+ ...(deliveryMetadata
184
+ ? {
185
+ delivery: {
186
+ eventId: deliveryMetadata.eventId,
187
+ sender: deliveryMetadata.sender,
188
+ target: agent.config.id,
189
+ contextId: deliveryMetadata.contextId
190
+ },
191
+ transportText: typeof payload.transport_text === "string"
192
+ ? payload.transport_text
193
+ : payload.message
194
+ }
195
+ : undefined),
196
+ from: typeof payload.from === "string" ? payload.from : "moltnet",
197
+ context: payload.context && typeof payload.context === "object" ? payload.context : undefined,
198
+ context_id: typeof payload.context_id === "string" ? payload.context_id : undefined,
199
+ text: typeof payload.message === "string" ? payload.message : ""
200
+ });
201
+
202
+ return { eventId, executed: true, from: agent.config.id, message, wakeKind };
203
+ };
204
+
205
+ const loadManagedAgent = async (agents, configPath, slug, instanceRoot, services) => {
206
+ const config = await readJson(configPath);
207
+ const agentConfig = (config.agents ?? []).find((agent) => agent.slug === slug || agent.id === slug || agent.name === slug);
208
+ if (!agentConfig) {
209
+ throw new Error("unknown agent " + slug);
210
+ }
211
+
212
+ const oldIndex = agents.findIndex((agent) => agent.config.slug === agentConfig.slug || agent.config.id === agentConfig.id || agent.config.name === agentConfig.name);
213
+ if (oldIndex >= 0) {
214
+ agents[oldIndex].stop();
215
+ agents.splice(oldIndex, 1);
216
+ }
217
+
218
+ const managed = new PiManagedAgent(agentConfig, {
219
+ runtimeHomePath: path.join(instanceRoot, "runtime", "agents", agentConfig.slug),
220
+ homePath: path.join(instanceRoot, "home"),
221
+ workspacePath: path.join(instanceRoot, "workspace", "agents", agentConfig.slug)
222
+ }, services);
223
+ await managed.start();
224
+ agents.push(managed);
225
+ return managed;
226
+ };
227
+
228
+ const startControlServer = async (agents, portValue, configPath, instanceRoot, services) => {
229
+ if (!portValue) {
230
+ return null;
231
+ }
232
+ const port = Number(portValue);
233
+ if (!Number.isInteger(port) || port <= 0 || port > 65535) {
234
+ throw new Error("Invalid SPAWNFILE_PI_CONTROL_PORT: " + portValue);
235
+ }
236
+
237
+ let agentsByKey = rebuildAgentKeys(agents);
238
+
239
+ const server = createServer(async (request, response) => {
240
+ const url = new URL(request.url ?? "/", "http://127.0.0.1");
241
+
242
+ if (request.method === "GET" && url.pathname === "/healthz") {
243
+ sendJson(response, 200, { status: "ok" });
244
+ return;
245
+ }
246
+
247
+ if (request.method === "GET" && url.pathname === "/spawnfile/agents") {
248
+ sendJson(response, 200, {
249
+ agents: agents.map((agent) => ({
250
+ id: agent.config.id,
251
+ name: agent.config.name,
252
+ slug: agent.config.slug
253
+ }))
254
+ });
255
+ return;
256
+ }
257
+
258
+ if (request.method === "GET" && url.pathname === "/spawnfile/activity") {
259
+ sendJson(response, 200, { events: services.activity.list(url.searchParams.get("agent"), url.searchParams.get("tail")) });
260
+ return;
261
+ }
262
+
263
+ if (request.method === "GET" && url.pathname === "/spawnfile/activity/stream") {
264
+ services.activity.stream(request, response, url.searchParams.get("agent"), url.searchParams.get("tail"));
265
+ return;
266
+ }
267
+
268
+ const activityMatch = /^\/spawnfile\/agents\/([^/]+)\/activity(\/stream)?$/u.exec(url.pathname);
269
+ if (request.method === "GET" && activityMatch) {
270
+ const agentFilter = decodeURIComponent(activityMatch[1]);
271
+ if (activityMatch[2]) {
272
+ services.activity.stream(request, response, agentFilter, url.searchParams.get("tail"));
273
+ } else {
274
+ sendJson(response, 200, { events: services.activity.list(agentFilter, url.searchParams.get("tail")) });
275
+ }
276
+ return;
277
+ }
278
+
279
+ if (request.method === "POST" && (url.pathname === "/spawnfile/agents/load" || url.pathname === "/spawnfile/agents/restart")) {
280
+ try {
281
+ const payload = await readRequestJson(request);
282
+ const slug = typeof payload.slug === "string"
283
+ ? payload.slug
284
+ : typeof payload.agent === "string"
285
+ ? payload.agent
286
+ : "";
287
+ const agent = await loadManagedAgent(agents, configPath, slug, instanceRoot, services);
288
+ agentsByKey = rebuildAgentKeys(agents);
289
+ sendJson(response, 200, { id: agent.config.id, loaded: true, name: agent.config.name, slug: agent.config.slug });
290
+ } catch (error) {
291
+ sendJson(response, 400, { error: error instanceof Error ? error.message : String(error) });
292
+ }
293
+ return;
294
+ }
295
+
296
+ // B62 Option B, operator path: fail-closed on SPAWNFILE_PI_CONTROL_TOKEN,
297
+ // stamps operator:control via emitControlWakeAccepted/Denied. This is the
298
+ // ONLY wake path gated by a bearer token.
299
+ const operatorWakeMatch = /^\/spawnfile\/agents\/([^/]+)\/wake$/u.exec(url.pathname);
300
+ if (request.method === "POST" && operatorWakeMatch) {
301
+ const key = decodeURIComponent(operatorWakeMatch[1]);
302
+ const requestId = controlWakeRequestId(key);
303
+
304
+ const authResult = authorizeControlWake(request);
305
+ if (!authResult.ok) {
306
+ const knownAgent = agentsByKey.get(key);
307
+ const deniedRuntimeHomePath = knownAgent
308
+ ? knownAgent.paths.runtimeHomePath
309
+ : path.join(instanceRoot, "runtime", "control");
310
+ await recordControlWakeDenied(authResult.reason, key, deniedRuntimeHomePath, requestId);
311
+ sendJson(response, 401, { error: authResult.reason });
312
+ return;
313
+ }
314
+
315
+ const agent = agentsByKey.get(key);
316
+ if (!agent) {
317
+ sendJson(response, 404, { error: "unknown agent " + key });
318
+ return;
319
+ }
320
+
321
+ try {
322
+ const payload = await readRequestJson(request);
323
+ const result = await executeAgentWake(agent, payload);
324
+ if (result.executed) {
325
+ await recordControlWakeAccepted(
326
+ key,
327
+ result.wakeKind,
328
+ agent.paths.runtimeHomePath,
329
+ requestId,
330
+ causeEventIdsForWake(result.wakeKind, result.eventId)
331
+ );
332
+ }
333
+ sendJson(response, 200, { from: result.from, message: result.message });
334
+ } catch (error) {
335
+ sendJson(response, 400, { error: error instanceof Error ? error.message : String(error) });
336
+ }
337
+ return;
338
+ }
339
+
340
+ // B62 Option B, Moltnet delivery path: the loopback (127.0.0.1) endpoint
341
+ // the Moltnet->Pi bridge POSTs normal inter-agent deliveries to. NOT
342
+ // operator-only, NEVER gated by SPAWNFILE_PI_CONTROL_TOKEN (sender
343
+ // authority is already enforced moltnet-side before a message reaches
344
+ // here), and stamps principal_id "system:moltnet" via
345
+ // recordDeliveryWakeAccepted — NEVER operator:control, and NEVER read
346
+ // from the request body's "from"/agent field.
347
+ const deliveryWakeMatch = /^\/agents\/([^/]+)\/wake$/u.exec(url.pathname);
348
+ if (request.method !== "POST" || !deliveryWakeMatch) {
349
+ sendJson(response, 404, { error: "not found" });
350
+ return;
351
+ }
352
+
353
+ const deliveryKey = decodeURIComponent(deliveryWakeMatch[1]);
354
+ const deliveryRequestId = controlWakeRequestId(deliveryKey);
355
+
356
+ const deliveryAgent = agentsByKey.get(deliveryKey);
357
+ if (!deliveryAgent) {
358
+ sendJson(response, 404, { error: "unknown agent " + deliveryKey });
359
+ return;
360
+ }
361
+
362
+ try {
363
+ const payload = await readRequestJson(request);
364
+ const result = await executeAgentWake(deliveryAgent, payload, true, agentsByKey);
365
+ if (result.executed) {
366
+ await recordDeliveryWakeAccepted(
367
+ deliveryKey,
368
+ result.wakeKind,
369
+ deliveryAgent.paths.runtimeHomePath,
370
+ deliveryRequestId,
371
+ causeEventIdsForWake(result.wakeKind, result.eventId)
372
+ );
373
+ }
374
+ sendJson(response, 200, { from: result.from, message: result.message });
375
+ } catch (error) {
376
+ sendJson(response, 400, { error: error instanceof Error ? error.message : String(error) });
377
+ }
378
+ });
379
+
380
+ await new Promise((resolve, reject) => {
381
+ server.once("error", reject);
382
+ server.listen(port, "127.0.0.1", () => {
383
+ server.off("error", reject);
384
+ resolve();
385
+ });
386
+ });
387
+ console.log("[pi] control listening on 127.0.0.1:" + port);
388
+ return server;
389
+ };
390
+ `;
@@ -0,0 +1 @@
1
+ export declare const renderPiControlWakeIdentitySource: () => string;
@@ -0,0 +1,19 @@
1
+ export const renderPiControlWakeIdentitySource = () => String.raw `const CONTROL_TOKEN_ENV = "SPAWNFILE_PI_CONTROL_TOKEN";
2
+ const DELIVERY_METADATA_INVALID_ERROR = "invalid delivery metadata";
3
+ // The authenticated principal stamped on control.wake.accepted/denied
4
+ // events for this endpoint (operator:control, specs/CAUSAL.md §3). Root
5
+ // has exactly one operator-control bearer token today, so one static
6
+ // operator identity is enough; a future multi-operator token scheme would
7
+ // resolve this from the verified token instead.
8
+ const CONTROL_OPERATOR_NAME = "control";
9
+
10
+ const controlWakeRequestId = (targetAgentId) =>
11
+ "wake-" + targetAgentId + "-" + Date.now() + "-" + Math.random().toString(16).slice(2);
12
+
13
+ // control.wake.accepted should chain to the real inbound moltnet event only
14
+ // for message-triggered wakes (the WakeEvent id moltnet's bridge stamped,
15
+ // see formatControlEventId above); schedule/dream-kind wakes legitimately
16
+ // have no moltnet cause and stay [].
17
+ const causeEventIdsForWake = (wakeKind, eventId) =>
18
+ wakeKind === "message" && typeof eventId === "string" && eventId.length > 0 ? [eventId] : [];
19
+ `;
@@ -0,0 +1,4 @@
1
+ export interface RenderPiCoreSourceOptions {
2
+ world?: boolean;
3
+ }
4
+ export declare const renderPiCoreSource: (options?: RenderPiCoreSourceOptions) => string;
@@ -0,0 +1,244 @@
1
+ import { renderPiControlSource } from "./appControlSource.js";
2
+ import { renderPiWakeContextSource } from "./appWakeContextSource.js";
3
+ export const renderPiCoreSource = (options = {}) => String.raw `const createConfigModel = (agentConfig) => ({
4
+ provider: typeof agentConfig?.model?.provider === "string" ? agentConfig.model.provider : "openai-codex",
5
+ name: typeof agentConfig?.model?.name === "string" ? agentConfig.model.name : "gpt-5.4-mini"
6
+ });
7
+
8
+ const normalizeWakeKind = (value) => {
9
+ return value === "manual" || value === "message" || value === "schedule" || value === "dream"
10
+ ? value
11
+ : "message";
12
+ };
13
+
14
+ ${renderPiWakeContextSource()}
15
+
16
+ ${renderPiControlSource()}
17
+
18
+ class PiManagedAgent {
19
+ constructor(config, paths, services) {
20
+ this.config = config;
21
+ this.paths = paths;
22
+ this.services = services;
23
+ this.engine = normalizeAgentEngineKind(config);
24
+ this.adapter = this.engine === "pi"
25
+ ? new PiHarnessAdapter({
26
+ authPath: path.join(paths.homePath, ".pi", "agent", "auth.json"),
27
+ modelsPath: path.join(paths.homePath, ".pi", "agent", "models.json"),
28
+ model: createConfigModel(config),
29
+ memory: createMemoryRuntimeOptions(config),
30
+ rawTrainingCapture: config.raw_training_capture,
31
+ thinkingLevel: config.thinking_level${options.world ? ",\n world: config.world" : ""}
32
+ })
33
+ : null;
34
+ this.running = false;
35
+ this.queued = [];
36
+ }
37
+ async start() {
38
+ if (this.engine === "pi") {
39
+ this.handle = await this.adapter.startAgent({
40
+ id: this.config.id,
41
+ name: this.config.name,
42
+ instructions: createAgentInstructions(this.config, this.paths.workspacePath),
43
+ runtimeHomePath: this.paths.runtimeHomePath,
44
+ tools: this.config.tools,
45
+ workspacePath: this.paths.workspacePath
46
+ });
47
+ } else {
48
+ this.handle = new CliEngineAgentHandle(this.config, this.paths);
49
+ }
50
+ this.publish("agent.loaded", { engine: this.engine });
51
+ }
52
+ listDreamEnvironmentKeys() {
53
+ return listDreamEnvironmentKeys(this.paths.workspacePath);
54
+ }
55
+ publish(type, fields = {}) {
56
+ this.services.activity?.publish({
57
+ type,
58
+ agent_id: this.config.id,
59
+ agent_name: this.config.name,
60
+ agent_slug: this.config.slug,
61
+ engine: this.engine,
62
+ ...fields
63
+ });
64
+ }
65
+ async wake(event) {
66
+ const enriched = await enrichWakeContext(this.paths.workspacePath, event);
67
+ const messageFrom = asStringOrUndefined(enriched.messageFrom);
68
+ const isRoomWake = enriched.isRoomWake;
69
+ const deliveryFrom = asStringOrUndefined(event.delivery?.sender);
70
+ const from = deliveryFrom ?? (isRoomWake
71
+ ? "moltnet"
72
+ : (asStringOrUndefined(enriched.eventFrom) ?? messageFrom ?? "moltnet"));
73
+ const kind = normalizeWakeKind(event.kind);
74
+ const rawText = typeof event.text === "string" ? event.text : "";
75
+ const resolvedContext = enriched.context;
76
+ const context = asObject(resolvedContext) ? {
77
+ ...resolvedContext,
78
+ activeEnvironment: enriched.activeEnvironment,
79
+ active_environment: enriched.activeEnvironment
80
+ } : enriched.context;
81
+ const promptFrom = isRoomWake ? messageFrom : from;
82
+ const contextualText = kind === "message" || kind === "manual"
83
+ ? controlEventText({ ...event, message: rawText, from: promptFrom, activeEnvironment: enriched.activeEnvironment })
84
+ : [
85
+ rawText,
86
+ ...formatActiveEnvironmentBlock(enriched.activeEnvironment)
87
+ ].filter((line) => line.trim().length > 0).join("\n\n");
88
+
89
+ const enrichedEvent = {
90
+ ...event,
91
+ context,
92
+ from,
93
+ text: contextualText,
94
+ };
95
+
96
+ return new Promise((resolve, reject) => {
97
+ this.queued.push({ event: enrichedEvent, reject, resolve });
98
+ this.publish("agent.wake.queued", {
99
+ queue_length: this.queued.length,
100
+ wake_id: event.id,
101
+ wake_kind: kind
102
+ });
103
+ void this.drainQueue();
104
+ });
105
+ }
106
+ async drainQueue() {
107
+ if (this.running) {
108
+ return;
109
+ }
110
+
111
+ this.running = true;
112
+ try {
113
+ while (this.queued.length > 0) {
114
+ const next = this.queued.shift();
115
+ try {
116
+ next.resolve(await this.runWake(next.event));
117
+ } catch (error) {
118
+ next.reject(error);
119
+ }
120
+ }
121
+ } finally {
122
+ this.running = false;
123
+ }
124
+ }
125
+ async runWake(event) {
126
+ const startedAt = Date.now();
127
+ this.publish("agent.turn.started", {
128
+ wake_id: event.id,
129
+ wake_kind: event.kind
130
+ });
131
+ try {
132
+ const result = await this.handle.wake({
133
+ context: event.context,
134
+ context_id: event.context_id,
135
+ delivery: event.delivery,
136
+ id: event.id,
137
+ kind: event.kind,
138
+ from: event.from,
139
+ text: event.text,
140
+ transportText: event.transportText
141
+ });
142
+ const finalText = typeof result.text === "string" ? result.text.trim() : "";
143
+ console.log("[pi:" + this.config.id + "] " + finalText);
144
+ if (finalText.length > 0) {
145
+ this.publish("agent.output.completed", {
146
+ text: finalText,
147
+ wake_id: event.id,
148
+ wake_kind: event.kind
149
+ });
150
+ }
151
+ this.publish("agent.turn.completed", {
152
+ duration_ms: result.durationMs ?? (Date.now() - startedAt),
153
+ output_length: finalText.length,
154
+ trace_path: turnTracePath(this.paths, event.id),
155
+ wake_id: event.id,
156
+ wake_kind: event.kind
157
+ });
158
+ return finalText;
159
+ } catch (error) {
160
+ console.error("[pi:" + this.config.id + "] failed " + event.id + ": " + (error instanceof Error ? error.message : String(error)));
161
+ this.publish("agent.turn.failed", {
162
+ duration_ms: Date.now() - startedAt,
163
+ error: formatActivityError(error),
164
+ trace_path: turnTracePath(this.paths, event.id),
165
+ wake_id: event.id,
166
+ wake_kind: event.kind
167
+ });
168
+ throw error;
169
+ }
170
+ }
171
+ stop() {
172
+ this.handle?.stop();
173
+ this.publish("agent.stopped");
174
+ }
175
+ }
176
+
177
+ const main = async () => {
178
+ const configPath = process.argv[2];
179
+ if (!configPath) {
180
+ throw new Error("Usage: node app.mjs <pi-app.json>");
181
+ }
182
+
183
+ const config = await readJson(configPath);
184
+ const instanceRoot = path.resolve(path.dirname(configPath), "..");
185
+ const activityLogPath = path.join(instanceRoot, "runtime", "activity.ndjson");
186
+ await mkdir(path.dirname(activityLogPath), { recursive: true });
187
+ const activity = createActivityBroker({ logPath: activityLogPath });
188
+ const services = { activity };
189
+ const agents = [];
190
+
191
+ for (const agentConfig of config.agents ?? []) {
192
+ const managed = new PiManagedAgent(
193
+ agentConfig,
194
+ {
195
+ runtimeHomePath: path.join(instanceRoot, "runtime", "agents", agentConfig.slug),
196
+ homePath: path.join(instanceRoot, "home"),
197
+ workspacePath: path.join(instanceRoot, "workspace", "agents", agentConfig.slug)
198
+ },
199
+ services
200
+ );
201
+ await managed.start();
202
+ agents.push(managed);
203
+ }
204
+
205
+ const timers = [];
206
+ const runOnce = process.env.SPAWNFILE_PI_RUN_ONCE === "1";
207
+ const controlServer = runOnce
208
+ ? null
209
+ : await startControlServer(agents, process.env.SPAWNFILE_PI_CONTROL_PORT, configPath, instanceRoot, services);
210
+
211
+ const scheduledCount = await installAgentSchedules(agents, timers, runOnce);
212
+
213
+ if (runOnce) {
214
+ if (scheduledCount === 0) {
215
+ console.log("[pi] no schedules to run");
216
+ }
217
+ for (const agent of agents) {
218
+ agent.stop();
219
+ }
220
+ return;
221
+ }
222
+
223
+ console.log("[pi] started " + agents.length + " agents");
224
+ const shutdown = () => {
225
+ for (const timer of timers) {
226
+ clearInterval(timer);
227
+ }
228
+ for (const agent of agents) {
229
+ agent.stop();
230
+ }
231
+ controlServer?.close(() => process.exit(0));
232
+ if (!controlServer) {
233
+ process.exit(0);
234
+ }
235
+ };
236
+ process.on("SIGINT", shutdown);
237
+ process.on("SIGTERM", shutdown);
238
+ };
239
+
240
+ main().catch((error) => {
241
+ console.error(error instanceof Error ? error.stack ?? error.message : String(error));
242
+ process.exit(1);
243
+ });
244
+ `;
@@ -0,0 +1 @@
1
+ export declare const renderPiPreludeSource: () => string;