spawnfile 0.1.13 → 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 (598) hide show
  1. package/README.md +50 -11
  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/targetSecretSourceAuthor.d.ts +18 -0
  31. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  32. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  33. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  34. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  36. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  37. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  38. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  39. package/dist/auth/targetSecretSourceGrant.js +99 -0
  40. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  42. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  43. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  44. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  46. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  48. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  50. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  51. package/dist/auth/targetSecretSourceResolver.js +137 -0
  52. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  53. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  54. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  55. package/dist/auth/targetSecretSourceRotate.js +121 -0
  56. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  58. package/dist/cli/artifactsCommands.d.ts +27 -0
  59. package/dist/cli/artifactsCommands.js +132 -0
  60. package/dist/cli/authCommands.d.ts +5 -0
  61. package/dist/cli/authCommands.js +221 -0
  62. package/dist/cli/compileBuildCommands.d.ts +3 -0
  63. package/dist/cli/compileBuildCommands.js +35 -0
  64. package/dist/cli/containerBundleCommand.d.ts +6 -0
  65. package/dist/cli/containerBundleCommand.js +116 -0
  66. package/dist/cli/downCommand.d.ts +25 -0
  67. package/dist/cli/downCommand.js +134 -0
  68. package/dist/cli/index.js +6 -3
  69. package/dist/cli/lifecycleCommands.d.ts +1 -1
  70. package/dist/cli/lifecycleCommands.js +11 -181
  71. package/dist/cli/lifecycleMachine.d.ts +19 -0
  72. package/dist/cli/lifecycleMachine.js +78 -0
  73. package/dist/cli/lifecyclePlan.d.ts +35 -0
  74. package/dist/cli/lifecyclePlan.js +240 -0
  75. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  76. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  77. package/dist/cli/runCli.d.ts +9 -2
  78. package/dist/cli/runCli.js +27 -71
  79. package/dist/cli/runPublishCommands.d.ts +3 -0
  80. package/dist/cli/runPublishCommands.js +70 -0
  81. package/dist/cli/statusCommand.d.ts +3 -33
  82. package/dist/cli/statusCommand.js +19 -249
  83. package/dist/cli/statusCommandLive.d.ts +20 -0
  84. package/dist/cli/statusCommandLive.js +188 -0
  85. package/dist/cli/statusCommandOptions.d.ts +40 -0
  86. package/dist/cli/statusCommandOptions.js +42 -0
  87. package/dist/cli/targetCliRoute.d.ts +2 -0
  88. package/dist/cli/targetCliRoute.js +30 -0
  89. package/dist/cli/targetCommands.d.ts +33 -0
  90. package/dist/cli/targetCommands.js +257 -0
  91. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  92. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  93. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  94. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  95. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  96. package/dist/cli/targetDefaultAuthorities.js +210 -0
  97. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  98. package/dist/cli/targetDefaultConfig.js +317 -0
  99. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  100. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  101. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  102. package/dist/cli/targetDefaultEnvelope.js +13 -0
  103. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  104. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  105. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  106. package/dist/cli/targetDefaultHandlers.js +72 -0
  107. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  108. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  109. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  110. package/dist/cli/targetDefaultWorldClock.js +14 -0
  111. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  112. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  113. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  114. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  115. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  116. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  117. package/dist/cli/targetLookupCli.d.ts +3 -0
  118. package/dist/cli/targetLookupCli.js +31 -0
  119. package/dist/cli/targetLookupCommands.d.ts +12 -0
  120. package/dist/cli/targetLookupCommands.js +69 -0
  121. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  122. package/dist/cli/targetOperationDispatch.js +21 -0
  123. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  124. package/dist/cli/targetReceiptOutput.js +21 -0
  125. package/dist/cli/targetRequestFile.d.ts +14 -0
  126. package/dist/cli/targetRequestFile.js +63 -0
  127. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  128. package/dist/cli/targetSecretSourceInput.js +121 -0
  129. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  130. package/dist/cli/targetWorldClockCommand.js +42 -0
  131. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  132. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  133. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  134. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  135. package/dist/cli/upCommand.d.ts +3 -0
  136. package/dist/cli/upCommand.js +133 -0
  137. package/dist/cli/upImageCommand.d.ts +11 -0
  138. package/dist/cli/upImageCommand.js +41 -0
  139. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  140. package/dist/cli/upLifecycleInvocation.js +48 -0
  141. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  142. package/dist/cli/upLifecycleRecovery.js +53 -0
  143. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  144. package/dist/compiler/agentNodeMerge.js +79 -0
  145. package/dist/compiler/agentSurfaces.js +11 -1
  146. package/dist/compiler/buildCompilePlan.js +17 -0
  147. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  148. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  149. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  150. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  151. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  152. package/dist/compiler/buildProject.d.ts +11 -0
  153. package/dist/compiler/buildProject.js +77 -2
  154. package/dist/compiler/compilePlanHelpers.js +2 -0
  155. package/dist/compiler/compileProject.d.ts +13 -0
  156. package/dist/compiler/compileProject.js +26 -74
  157. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  158. package/dist/compiler/compileProjectPolicy.js +21 -0
  159. package/dist/compiler/compileProjectReports.d.ts +9 -0
  160. package/dist/compiler/compileProjectReports.js +52 -0
  161. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  162. package/dist/compiler/containerArtifactSummaries.js +138 -0
  163. package/dist/compiler/containerArtifacts.d.ts +10 -0
  164. package/dist/compiler/containerArtifacts.js +126 -125
  165. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  166. package/dist/compiler/containerArtifactsPlans.js +31 -118
  167. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  168. package/dist/compiler/containerArtifactsRender.js +15 -12
  169. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  170. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  171. package/dist/compiler/containerConfigEnvRender.js +54 -0
  172. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  173. package/dist/compiler/containerEntrypointRender.js +56 -52
  174. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  175. package/dist/compiler/containerEntrypointShell.js +29 -0
  176. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  177. package/dist/compiler/containerPackageOverrides.js +63 -0
  178. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  179. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  180. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  181. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  182. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  183. package/dist/compiler/dockerBuildContext.js +159 -0
  184. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  185. package/dist/compiler/dockerBuildSkip.js +81 -0
  186. package/dist/compiler/index.d.ts +4 -0
  187. package/dist/compiler/index.js +4 -0
  188. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  189. package/dist/compiler/memoryArtifacts.js +134 -0
  190. package/dist/compiler/memoryResolution.d.ts +4 -0
  191. package/dist/compiler/memoryResolution.js +147 -0
  192. package/dist/compiler/modelEnv.d.ts +2 -0
  193. package/dist/compiler/modelEnv.js +6 -0
  194. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  195. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  196. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  197. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  198. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  199. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  200. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  201. package/dist/compiler/moltnetArtifacts.js +43 -97
  202. package/dist/compiler/moltnetBinaries.d.ts +21 -4
  203. package/dist/compiler/moltnetBinaries.js +134 -27
  204. package/dist/compiler/moltnetClientConfig.js +7 -2
  205. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  206. package/dist/compiler/moltnetConfigLowering.js +67 -5
  207. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  208. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  209. package/dist/compiler/moltnetNodeConfig.js +7 -2
  210. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  211. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  212. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  213. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  214. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  215. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  216. package/dist/compiler/moltnetResolution.js +72 -20
  217. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  218. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  219. package/dist/compiler/moltnetServerPlans.js +132 -0
  220. package/dist/compiler/organizationIdentity.d.ts +27 -0
  221. package/dist/compiler/organizationIdentity.js +297 -0
  222. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  223. package/dist/compiler/organizationReadyEvidence.js +261 -0
  224. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  225. package/dist/compiler/projectManifestGraph.js +24 -0
  226. package/dist/compiler/runProject.d.ts +4 -0
  227. package/dist/compiler/runProject.js +30 -21
  228. package/dist/compiler/runProjectAuth.d.ts +7 -1
  229. package/dist/compiler/runProjectAuth.js +87 -9
  230. package/dist/compiler/runProjectDocker.d.ts +7 -0
  231. package/dist/compiler/runProjectDocker.js +31 -8
  232. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  233. package/dist/compiler/runProjectLifecycle.js +40 -0
  234. package/dist/compiler/syncProjectAuth.js +4 -1
  235. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  236. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  237. package/dist/compiler/teamContextSupport.js +32 -40
  238. package/dist/compiler/teamContextTypes.d.ts +2 -0
  239. package/dist/compiler/types.d.ts +82 -1
  240. package/dist/compiler/upProject.d.ts +5 -0
  241. package/dist/compiler/upProject.js +256 -20
  242. package/dist/compiler/upReceipt.d.ts +36 -0
  243. package/dist/compiler/upReceipt.js +82 -0
  244. package/dist/compiler/updateProjectModels.js +42 -60
  245. package/dist/compiler/updateProjectRuntime.js +22 -35
  246. package/dist/compiler/updateProjectSurfaces.js +53 -47
  247. package/dist/compiler/worldBindings.d.ts +39 -0
  248. package/dist/compiler/worldBindings.js +247 -0
  249. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  250. package/dist/compiler/worldBindingsFile.js +162 -0
  251. package/dist/deployment/artifactsExport.d.ts +49 -0
  252. package/dist/deployment/artifactsExport.js +217 -0
  253. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  254. package/dist/deployment/artifactsExportDocker.js +91 -0
  255. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  256. package/dist/deployment/artifactsExportPlan.js +135 -0
  257. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  258. package/dist/deployment/artifactsExportTypes.js +52 -0
  259. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  260. package/dist/deployment/buildImageCacheStore.js +54 -0
  261. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  262. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  263. package/dist/deployment/dockerInspect.d.ts +9 -0
  264. package/dist/deployment/dockerInspect.js +24 -1
  265. package/dist/deployment/dockerLabels.d.ts +2 -0
  266. package/dist/deployment/dockerLabels.js +2 -0
  267. package/dist/deployment/dockerLogs.js +2 -10
  268. package/dist/deployment/dockerManager.d.ts +51 -0
  269. package/dist/deployment/dockerManager.js +118 -1
  270. package/dist/deployment/dockerProbeGateway.js +64 -5
  271. package/dist/deployment/dockerRecover.js +9 -1
  272. package/dist/deployment/dockerTeardown.d.ts +32 -0
  273. package/dist/deployment/dockerTeardown.js +61 -0
  274. package/dist/deployment/downDeployment.d.ts +34 -0
  275. package/dist/deployment/downDeployment.js +147 -0
  276. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  277. package/dist/deployment/downReceiptTypes.js +30 -0
  278. package/dist/deployment/index.d.ts +16 -0
  279. package/dist/deployment/index.js +17 -0
  280. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  281. package/dist/deployment/lifecycleCompletion.js +236 -0
  282. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  283. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  284. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  285. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  286. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  287. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  288. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  289. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  290. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  291. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  292. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  293. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  294. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  295. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  296. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  297. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  298. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  299. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  300. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  301. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  302. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  303. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  304. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  305. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  306. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  307. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  308. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  309. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  310. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  311. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  312. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  313. package/dist/deployment/organizationHandoffTypes.js +80 -0
  314. package/dist/deployment/organizationReady.d.ts +52 -0
  315. package/dist/deployment/organizationReady.js +200 -0
  316. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  317. package/dist/deployment/privateArtifactsExport.js +80 -0
  318. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  319. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  320. package/dist/deployment/record.d.ts +26 -1
  321. package/dist/deployment/record.js +49 -4
  322. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  323. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  324. package/dist/deployment/target.d.ts +1 -35
  325. package/dist/deployment/target.js +1 -96
  326. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  327. package/dist/deployment/upReceiptTypes.js +164 -0
  328. package/dist/dev/project.js +15 -9
  329. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  330. package/dist/distribution/buildDistributionReport.js +2 -1
  331. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  332. package/dist/distribution/distributionReportSchema.js +7 -2
  333. package/dist/distribution/index.d.ts +2 -2
  334. package/dist/distribution/index.js +1 -1
  335. package/dist/distribution/types.d.ts +7 -0
  336. package/dist/distribution/types.js +1 -0
  337. package/dist/filesystem/paths.js +10 -1
  338. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  339. package/dist/ledger/causalConformanceCli.js +41 -0
  340. package/dist/ledger/causeNamespace.d.ts +8 -0
  341. package/dist/ledger/causeNamespace.js +24 -0
  342. package/dist/ledger/conformance.d.ts +83 -0
  343. package/dist/ledger/conformance.js +259 -0
  344. package/dist/ledger/emitters.d.ts +76 -0
  345. package/dist/ledger/emitters.js +188 -0
  346. package/dist/ledger/index.d.ts +4 -0
  347. package/dist/ledger/index.js +4 -0
  348. package/dist/ledger/principal.d.ts +96 -0
  349. package/dist/ledger/principal.js +121 -0
  350. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  351. package/dist/manifest/externalParticipantSchemas.js +17 -0
  352. package/dist/manifest/index.d.ts +1 -0
  353. package/dist/manifest/index.js +1 -0
  354. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  355. package/dist/manifest/inlineAgentMember.js +9 -0
  356. package/dist/manifest/loadManifest.js +14 -8
  357. package/dist/manifest/mcpSchemas.d.ts +17 -0
  358. package/dist/manifest/mcpSchemas.js +41 -0
  359. package/dist/manifest/memorySchemas.d.ts +245 -0
  360. package/dist/manifest/memorySchemas.js +148 -0
  361. package/dist/manifest/renderSpawnfile.js +22 -131
  362. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  363. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  364. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  365. package/dist/manifest/schemas.d.ts +1868 -99
  366. package/dist/manifest/schemas.js +78 -32
  367. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  368. package/dist/manifest/surfaceSchemas.js +24 -1
  369. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  370. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  371. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  372. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  373. package/dist/manifest/teamNetworkSchemas.js +3 -317
  374. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  375. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  376. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  377. package/dist/ownership/siblingBuildFreshness.js +20 -0
  378. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  379. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  380. package/dist/report/types.d.ts +142 -0
  381. package/dist/runtime/common.d.ts +35 -0
  382. package/dist/runtime/common.js +55 -0
  383. package/dist/runtime/container.d.ts +28 -1
  384. package/dist/runtime/container.js +38 -5
  385. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  386. package/dist/runtime/containerPackageOverrides.js +33 -0
  387. package/dist/runtime/index.d.ts +2 -0
  388. package/dist/runtime/index.js +2 -0
  389. package/dist/runtime/mnemeMcp.d.ts +15 -0
  390. package/dist/runtime/mnemeMcp.js +109 -0
  391. package/dist/runtime/openclaw/adapter.js +15 -4
  392. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  393. package/dist/runtime/openclaw/mcp.js +69 -0
  394. package/dist/runtime/openclaw/runAuth.js +2 -2
  395. package/dist/runtime/openclaw/scaffold.js +1 -1
  396. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  397. package/dist/runtime/openclaw/schedules.js +74 -0
  398. package/dist/runtime/pi/adapter.d.ts +1 -1
  399. package/dist/runtime/pi/adapter.js +86 -53
  400. package/dist/runtime/pi/appActivitySource.js +114 -2
  401. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  402. package/dist/runtime/pi/appAgentConfig.js +264 -0
  403. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  404. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  405. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  406. package/dist/runtime/pi/appCliSource.js +353 -0
  407. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  408. package/dist/runtime/pi/appControlSource.js +390 -0
  409. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  410. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  411. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  412. package/dist/runtime/pi/appCoreSource.js +104 -214
  413. package/dist/runtime/pi/appPreludeSource.js +140 -52
  414. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  415. package/dist/runtime/pi/appScheduleSource.js +80 -0
  416. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  417. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  418. package/dist/runtime/pi/appSource.d.ts +4 -1
  419. package/dist/runtime/pi/appSource.js +6 -2
  420. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  421. package/dist/runtime/pi/appTemplate.js +9 -126
  422. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  423. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  424. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  425. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  426. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  427. package/dist/runtime/pi/containerTargets.js +57 -0
  428. package/dist/runtime/pi/runAuth.js +126 -9
  429. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  430. package/dist/runtime/pi/testHelpers.js +40 -0
  431. package/dist/runtime/picoclaw/adapter.js +23 -27
  432. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  433. package/dist/runtime/picoclaw/mcp.js +43 -0
  434. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  435. package/dist/runtime/picoclaw/memory.js +17 -0
  436. package/dist/runtime/picoclaw/runAuth.js +1 -1
  437. package/dist/runtime/picoclaw/scaffold.js +1 -1
  438. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  439. package/dist/runtime/picoclaw/schedules.js +62 -3
  440. package/dist/runtime/scheduleUtils.d.ts +2 -0
  441. package/dist/runtime/scheduleUtils.js +15 -0
  442. package/dist/runtime/types.d.ts +25 -2
  443. package/dist/shared/errors.d.ts +1 -1
  444. package/dist/shared/errors.js +2 -2
  445. package/dist/shared/index.d.ts +1 -0
  446. package/dist/shared/index.js +1 -0
  447. package/dist/shared/redaction.d.ts +2 -0
  448. package/dist/shared/redaction.js +10 -0
  449. package/dist/status/buildStatus.d.ts +1 -0
  450. package/dist/status/buildStatus.js +2 -0
  451. package/dist/status/compileReport.d.ts +22 -0
  452. package/dist/status/compileReport.js +16 -2
  453. package/dist/status/compiledProbeCollection.d.ts +21 -0
  454. package/dist/status/compiledProbeCollection.js +27 -0
  455. package/dist/status/imageStatusReport.js +6 -0
  456. package/dist/status/index.d.ts +3 -0
  457. package/dist/status/index.js +3 -0
  458. package/dist/status/lifecycleProbes.d.ts +19 -0
  459. package/dist/status/lifecycleProbes.js +174 -0
  460. package/dist/status/moltnetProbes.d.ts +7 -8
  461. package/dist/status/moltnetProbes.js +27 -198
  462. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  463. package/dist/status/moltnetWiringProbes.js +178 -0
  464. package/dist/target/cleanupRun.d.ts +41 -0
  465. package/dist/target/cleanupRun.js +139 -0
  466. package/dist/target/cleanupRunDocker.d.ts +16 -0
  467. package/dist/target/cleanupRunDocker.js +66 -0
  468. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  469. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  470. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  471. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  472. package/dist/target/composedPreparation.d.ts +205 -0
  473. package/dist/target/composedPreparation.js +223 -0
  474. package/dist/target/containerBundle.d.ts +82 -0
  475. package/dist/target/containerBundle.js +243 -0
  476. package/dist/target/containerBundleArchive.d.ts +31 -0
  477. package/dist/target/containerBundleArchive.js +140 -0
  478. package/dist/target/containerBundleAuthority.d.ts +25 -0
  479. package/dist/target/containerBundleAuthority.js +65 -0
  480. package/dist/target/containerBundleContracts.d.ts +114 -0
  481. package/dist/target/containerBundleContracts.js +173 -0
  482. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  483. package/dist/target/containerBundleFilesystemStore.js +247 -0
  484. package/dist/target/containerBundlePolicy.d.ts +33 -0
  485. package/dist/target/containerBundlePolicy.js +64 -0
  486. package/dist/target/containerBundleStore.d.ts +127 -0
  487. package/dist/target/containerBundleStore.js +284 -0
  488. package/dist/target/contracts.d.ts +538 -0
  489. package/dist/target/contracts.js +373 -0
  490. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  491. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  492. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  493. package/dist/target/dockerArtifactInspection.js +125 -0
  494. package/dist/target/dockerArtifacts.d.ts +21 -0
  495. package/dist/target/dockerArtifacts.js +110 -0
  496. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  497. package/dist/target/dockerArtifactsProvider.js +449 -0
  498. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  499. package/dist/target/dockerCommandExecutor.js +200 -0
  500. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  501. package/dist/target/dockerCommandExecutorCore.js +273 -0
  502. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  503. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  504. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  505. package/dist/target/dockerContextSnapshot.js +158 -0
  506. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  507. package/dist/target/dockerEndpointFingerprint.js +9 -0
  508. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  509. package/dist/target/dockerPreparedArtifact.js +131 -0
  510. package/dist/target/dockerProjectionJson.d.ts +1 -0
  511. package/dist/target/dockerProjectionJson.js +80 -0
  512. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  513. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  514. package/dist/target/dockerResources.d.ts +26 -0
  515. package/dist/target/dockerResources.js +162 -0
  516. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  517. package/dist/target/dockerResourcesProvider.js +207 -0
  518. package/dist/target/dockerSecrets.d.ts +39 -0
  519. package/dist/target/dockerSecrets.js +249 -0
  520. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  521. package/dist/target/dockerSecretsAuthority.js +216 -0
  522. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  523. package/dist/target/dockerSecretsLifecycle.js +133 -0
  524. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  525. package/dist/target/dockerSecretsProvider.js +329 -0
  526. package/dist/target/dockerTarget.d.ts +52 -0
  527. package/dist/target/dockerTarget.js +48 -0
  528. package/dist/target/dockerTargetBinding.d.ts +14 -0
  529. package/dist/target/dockerTargetBinding.js +96 -0
  530. package/dist/target/dockerWorldClock.d.ts +17 -0
  531. package/dist/target/dockerWorldClock.js +111 -0
  532. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  533. package/dist/target/dockerWorldReadiness.js +119 -0
  534. package/dist/target/dockerWorldService.d.ts +23 -0
  535. package/dist/target/dockerWorldService.js +216 -0
  536. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  537. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  538. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  539. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  540. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  541. package/dist/target/dockerWorldServiceProvider.js +318 -0
  542. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  543. package/dist/target/dockerWorldServiceStore.js +367 -0
  544. package/dist/target/evidenceExport.d.ts +55 -0
  545. package/dist/target/evidenceExport.js +518 -0
  546. package/dist/target/evidenceExportArchive.d.ts +10 -0
  547. package/dist/target/evidenceExportArchive.js +302 -0
  548. package/dist/target/evidenceExportContract.d.ts +27 -0
  549. package/dist/target/evidenceExportContract.js +40 -0
  550. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  551. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  552. package/dist/target/evidenceExportProvider.d.ts +85 -0
  553. package/dist/target/evidenceExportProvider.js +187 -0
  554. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  555. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  556. package/dist/target/evidenceExportStore.d.ts +70 -0
  557. package/dist/target/evidenceExportStore.js +498 -0
  558. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  559. package/dist/target/evidenceExportStorePublication.js +395 -0
  560. package/dist/target/handles.d.ts +20 -0
  561. package/dist/target/handles.js +56 -0
  562. package/dist/target/index.d.ts +12 -0
  563. package/dist/target/index.js +11 -0
  564. package/dist/target/journal.d.ts +59 -0
  565. package/dist/target/journal.js +529 -0
  566. package/dist/target/journalFilesystem.d.ts +3 -0
  567. package/dist/target/journalFilesystem.js +111 -0
  568. package/dist/target/journalRoot.d.ts +4 -0
  569. package/dist/target/journalRoot.js +6 -0
  570. package/dist/target/organizationAttachment.d.ts +23 -0
  571. package/dist/target/organizationAttachment.js +263 -0
  572. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  573. package/dist/target/organizationAttachmentAuthority.js +161 -0
  574. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  575. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  576. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  577. package/dist/target/organizationAttachmentProvider.js +289 -0
  578. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  579. package/dist/target/organizationAttachmentStore.js +316 -0
  580. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  581. package/dist/target/publicArtifactSnapshot.js +150 -0
  582. package/dist/target/topologyActivation.d.ts +51 -0
  583. package/dist/target/topologyActivation.js +149 -0
  584. package/dist/target/topologyAttestation.d.ts +37 -0
  585. package/dist/target/topologyAttestation.js +300 -0
  586. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  587. package/dist/target/topologyAttestationErrors.js +1 -0
  588. package/dist/target/worldClock.d.ts +60 -0
  589. package/dist/target/worldClock.js +129 -0
  590. package/dist/target/worldReadiness.d.ts +103 -0
  591. package/dist/target/worldReadiness.js +153 -0
  592. package/moltnet-releases.json +20 -0
  593. package/package.json +27 -11
  594. package/runtimes.yaml +8 -23
  595. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  596. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  597. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  598. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -1,180 +1,108 @@
1
- export const renderPiCoreSource = () => String.raw `const registerAgentKeys = (map, agent) => { map.set(agent.config.id, agent); map.set(agent.config.slug, agent); map.set(agent.config.name, agent); };
2
- const rebuildAgentKeys = (agents) => { const map = new Map(); for (const agent of agents) registerAgentKeys(map, agent); return map; };
3
- const loadManagedAgent = async (agents, configPath, slug, instanceRoot, services) => { const config = await readJson(configPath); const agentConfig = (config.agents ?? []).find((agent) => agent.slug === slug || agent.id === slug || agent.name === slug); if (!agentConfig) throw new Error("unknown agent " + slug); const oldIndex = agents.findIndex((agent) => agent.config.slug === agentConfig.slug || agent.config.id === agentConfig.id || agent.config.name === agentConfig.name); if (oldIndex >= 0) { agents[oldIndex].stop(); agents.splice(oldIndex, 1); } const managed = new PiManagedAgent(agentConfig, { runtimeHomePath: path.join(instanceRoot, "runtime", "agents", agentConfig.slug), workspacePath: path.join(instanceRoot, "workspace", "agents", agentConfig.slug) }, services); await managed.start(); agents.push(managed); return managed; };
4
- const startControlServer = async (agents, portValue, configPath, instanceRoot, services) => {
5
- if (!portValue) {
6
- return null;
7
- }
8
-
9
- const port = Number(portValue);
10
- if (!Number.isInteger(port) || port <= 0 || port > 65535) {
11
- throw new Error("Invalid SPAWNFILE_PI_CONTROL_PORT: " + portValue);
12
- }
13
-
14
- let agentsByKey = rebuildAgentKeys(agents);
15
-
16
- const server = createServer(async (request, response) => {
17
- const url = new URL(request.url ?? "/", "http://127.0.0.1");
18
-
19
- if (request.method === "GET" && url.pathname === "/healthz") {
20
- sendJson(response, 200, { status: "ok" });
21
- return;
22
- }
23
-
24
- if (request.method === "GET" && url.pathname === "/spawnfile/agents") {
25
- sendJson(response, 200, { agents: agents.map((agent) => ({ id: agent.config.id, name: agent.config.name, slug: agent.config.slug })) });
26
- return;
27
- }
28
-
29
- if (request.method === "GET" && url.pathname === "/spawnfile/activity") {
30
- sendJson(response, 200, { events: services.activity.list(url.searchParams.get("agent"), url.searchParams.get("tail")) });
31
- return;
32
- }
33
-
34
- if (request.method === "GET" && url.pathname === "/spawnfile/activity/stream") {
35
- services.activity.stream(request, response, url.searchParams.get("agent"), url.searchParams.get("tail"));
36
- return;
37
- }
38
-
39
- const activityMatch = /^\/spawnfile\/agents\/([^/]+)\/activity(\/stream)?$/u.exec(url.pathname);
40
- if (request.method === "GET" && activityMatch) {
41
- const agentFilter = decodeURIComponent(activityMatch[1]);
42
- if (activityMatch[2]) {
43
- services.activity.stream(request, response, agentFilter, url.searchParams.get("tail"));
44
- } else {
45
- sendJson(response, 200, { events: services.activity.list(agentFilter, url.searchParams.get("tail")) });
46
- }
47
- return;
48
- }
49
-
50
- if (request.method === "POST" && (url.pathname === "/spawnfile/agents/load" || url.pathname === "/spawnfile/agents/restart")) {
51
- try { const payload = await readRequestJson(request); const slug = typeof payload.slug === "string" ? payload.slug : typeof payload.agent === "string" ? payload.agent : ""; const agent = await loadManagedAgent(agents, configPath, slug, instanceRoot, services); agentsByKey = rebuildAgentKeys(agents); sendJson(response, 200, { id: agent.config.id, loaded: true, name: agent.config.name, slug: agent.config.slug }); } catch (error) { sendJson(response, 400, { error: error instanceof Error ? error.message : String(error) }); }
52
- return;
53
- }
54
-
55
- const match = /^\/agents\/([^/]+)\/wake$/u.exec(url.pathname);
56
- if (request.method !== "POST" || !match) {
57
- sendJson(response, 404, { error: "not found" });
58
- return;
59
- }
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
+ });
60
7
 
61
- const key = decodeURIComponent(match[1]);
62
- const agent = agentsByKey.get(key);
63
- if (!agent) {
64
- sendJson(response, 404, { error: "unknown agent " + key });
65
- return;
66
- }
8
+ const normalizeWakeKind = (value) => {
9
+ return value === "manual" || value === "message" || value === "schedule" || value === "dream"
10
+ ? value
11
+ : "message";
12
+ };
67
13
 
68
- try {
69
- const payload = await readRequestJson(request);
70
- const eventId =
71
- typeof payload.event_id === "string" ? payload.event_id :
72
- typeof payload.context_id === "string" ? payload.context_id + ":" + Date.now() :
73
- "moltnet-" + Date.now();
14
+ ${renderPiWakeContextSource()}
74
15
 
75
- const message = await agent.wake({
76
- id: eventId,
77
- kind: "moltnet",
78
- text: controlEventText(payload)
79
- });
80
-
81
- sendJson(response, 200, {
82
- from: agent.config.id,
83
- message
84
- });
85
- } catch (error) {
86
- sendJson(response, 400, {
87
- error: error instanceof Error ? error.message : String(error)
88
- });
89
- }
90
- });
91
-
92
- await new Promise((resolve, reject) => {
93
- server.once("error", reject);
94
- server.listen(port, "127.0.0.1", () => {
95
- server.off("error", reject);
96
- resolve();
97
- });
98
- });
99
- console.log("[pi] control listening on 127.0.0.1:" + port);
100
- return server;
101
- };
16
+ ${renderPiControlSource()}
102
17
 
103
18
  class PiManagedAgent {
104
19
  constructor(config, paths, services) {
105
20
  this.config = config;
106
21
  this.paths = paths;
107
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;
108
34
  this.running = false;
109
35
  this.queued = [];
110
36
  }
111
-
112
37
  async start() {
113
- await mkdir(this.paths.workspacePath, { recursive: true });
114
- await mkdir(this.paths.runtimeHomePath, { recursive: true });
115
- const model = this.services.modelRegistry.find(this.config.model.provider, this.config.model.name);
116
- if (!model) {
117
- throw new Error("Pi model not found for " + this.config.id + ": " + this.config.model.provider + "/" + this.config.model.name);
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);
118
49
  }
119
-
120
- const loader = new DefaultResourceLoader({
121
- agentDir: this.paths.runtimeHomePath,
122
- additionalSkillPaths: [
123
- path.join(this.paths.workspacePath, "skills"),
124
- path.join(this.paths.workspacePath, ".agents", "skills"),
125
- path.join(this.paths.workspacePath, ".codex", "skills")
126
- ],
127
- appendSystemPrompt: [createIdentityPrompt(this.config, this.paths.workspacePath)],
128
- cwd: this.paths.workspacePath,
129
- noExtensions: true
130
- });
131
- await loader.reload();
132
-
133
- const { session } = await createAgentSession({
134
- agentDir: this.paths.runtimeHomePath,
135
- authStorage: this.services.authStorage,
136
- cwd: this.paths.workspacePath,
137
- model,
138
- modelRegistry: this.services.modelRegistry,
139
- resourceLoader: loader,
140
- sessionManager: SessionManager.create(
141
- this.paths.workspacePath,
142
- path.join(this.paths.runtimeHomePath, "sessions")
143
- ),
144
- settingsManager: SettingsManager.inMemory({
145
- compaction: { enabled: false },
146
- retry: { enabled: true, maxRetries: 1 }
147
- }),
148
- thinkingLevel: "off",
149
- tools: this.config.tools
150
- });
151
-
152
- this.session = session;
153
- this.publish("agent.loaded");
50
+ this.publish("agent.loaded", { engine: this.engine });
51
+ }
52
+ listDreamEnvironmentKeys() {
53
+ return listDreamEnvironmentKeys(this.paths.workspacePath);
154
54
  }
155
-
156
55
  publish(type, fields = {}) {
157
56
  this.services.activity?.publish({
158
57
  type,
159
58
  agent_id: this.config.id,
160
59
  agent_name: this.config.name,
161
60
  agent_slug: this.config.slug,
61
+ engine: this.engine,
162
62
  ...fields
163
63
  });
164
64
  }
165
-
166
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
+
167
96
  return new Promise((resolve, reject) => {
168
- this.queued.push({ event, reject, resolve });
97
+ this.queued.push({ event: enrichedEvent, reject, resolve });
169
98
  this.publish("agent.wake.queued", {
170
99
  queue_length: this.queued.length,
171
100
  wake_id: event.id,
172
- wake_kind: event.kind
101
+ wake_kind: kind
173
102
  });
174
103
  void this.drainQueue();
175
104
  });
176
105
  }
177
-
178
106
  async drainQueue() {
179
107
  if (this.running) {
180
108
  return;
@@ -194,47 +122,36 @@ class PiManagedAgent {
194
122
  this.running = false;
195
123
  }
196
124
  }
197
-
198
125
  async runWake(event) {
199
126
  const startedAt = Date.now();
200
- const chunks = [];
201
- console.log("[pi:" + this.config.id + "] wake " + event.kind + " " + event.id);
202
127
  this.publish("agent.turn.started", {
203
128
  wake_id: event.id,
204
129
  wake_kind: event.kind
205
130
  });
206
- const unsubscribe = this.session.subscribe((piEvent) => {
207
- this.publish("agent.runtime.event", {
208
- runtime_event_type: typeof piEvent.type === "string" ? piEvent.type : "unknown",
209
- wake_id: event.id,
210
- wake_kind: event.kind
211
- });
212
- if (piEvent.type === "turn_end") {
213
- const text = textFromMessage(piEvent.message).trim();
214
- if (text.length > 0) {
215
- chunks.push(text);
216
- this.publish("agent.output.completed", {
217
- text,
218
- wake_id: event.id,
219
- wake_kind: event.kind
220
- });
221
- }
222
- }
223
- });
224
131
  try {
225
- await this.session.prompt([
226
- "Wake event: " + event.kind,
227
- "Event id: " + event.id,
228
- event.text
229
- ].join("\n\n"), { expandPromptTemplates: false });
230
- const finalText = collapseExactDouble(chunks.join("\n").trim());
231
- console.log("[pi:" + this.config.id + "] completed " + event.id + " in " + (Date.now() - startedAt) + "ms");
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);
232
144
  if (finalText.length > 0) {
233
- console.log("[pi:" + this.config.id + "] " + finalText);
145
+ this.publish("agent.output.completed", {
146
+ text: finalText,
147
+ wake_id: event.id,
148
+ wake_kind: event.kind
149
+ });
234
150
  }
235
151
  this.publish("agent.turn.completed", {
236
- duration_ms: Date.now() - startedAt,
152
+ duration_ms: result.durationMs ?? (Date.now() - startedAt),
237
153
  output_length: finalText.length,
154
+ trace_path: turnTracePath(this.paths, event.id),
238
155
  wake_id: event.id,
239
156
  wake_kind: event.kind
240
157
  });
@@ -244,17 +161,15 @@ class PiManagedAgent {
244
161
  this.publish("agent.turn.failed", {
245
162
  duration_ms: Date.now() - startedAt,
246
163
  error: formatActivityError(error),
164
+ trace_path: turnTracePath(this.paths, event.id),
247
165
  wake_id: event.id,
248
166
  wake_kind: event.kind
249
167
  });
250
168
  throw error;
251
- } finally {
252
- unsubscribe();
253
169
  }
254
170
  }
255
-
256
171
  stop() {
257
- this.session?.dispose();
172
+ this.handle?.stop();
258
173
  this.publish("agent.stopped");
259
174
  }
260
175
  }
@@ -264,20 +179,21 @@ const main = async () => {
264
179
  if (!configPath) {
265
180
  throw new Error("Usage: node app.mjs <pi-app.json>");
266
181
  }
182
+
267
183
  const config = await readJson(configPath);
268
184
  const instanceRoot = path.resolve(path.dirname(configPath), "..");
269
- const homePath = path.join(instanceRoot, "home");
270
- const authStorage = AuthStorage.create(path.join(homePath, ".pi", "agent", "auth.json"));
271
- const modelRegistry = ModelRegistry.create(authStorage, path.join(homePath, ".pi", "agent", "models.json"));
272
- const activity = createActivityBroker();
273
- const services = { activity, authStorage, modelRegistry };
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 };
274
189
  const agents = [];
275
190
 
276
191
  for (const agentConfig of config.agents ?? []) {
277
192
  const managed = new PiManagedAgent(
278
- agentConfig,
279
- {
280
- runtimeHomePath: path.join(instanceRoot, "runtime", "agents", agentConfig.slug),
193
+ agentConfig,
194
+ {
195
+ runtimeHomePath: path.join(instanceRoot, "runtime", "agents", agentConfig.slug),
196
+ homePath: path.join(instanceRoot, "home"),
281
197
  workspacePath: path.join(instanceRoot, "workspace", "agents", agentConfig.slug)
282
198
  },
283
199
  services
@@ -291,34 +207,8 @@ const main = async () => {
291
207
  const controlServer = runOnce
292
208
  ? null
293
209
  : await startControlServer(agents, process.env.SPAWNFILE_PI_CONTROL_PORT, configPath, instanceRoot, services);
294
- let scheduledCount = 0;
295
- for (const agent of agents) {
296
- if (agent.config.schedule?.kind !== "every" || !agent.config.schedule.every) {
297
- continue;
298
- }
299
- const intervalMs = parseEveryMs(agent.config.schedule.every);
300
- const createEvent = () => ({
301
- id: "schedule-" + agent.config.id + "-" + Date.now(),
302
- kind: "schedule",
303
- text: agent.config.schedule.prompt ?? "Run the scheduled Spawnfile task."
304
- });
305
- scheduledCount += 1;
306
- if (runOnce) {
307
- await agent.wake(createEvent());
308
- continue;
309
- }
310
- const timer = setInterval(() => {
311
- void agent.wake(createEvent()).catch((error) => {
312
- console.error("[pi:" + agent.config.id + "] scheduled wake error: " + (error instanceof Error ? error.message : String(error)));
313
- });
314
- }, intervalMs);
315
- timers.push(timer);
316
- setTimeout(() => {
317
- void agent.wake(createEvent()).catch((error) => {
318
- console.error("[pi:" + agent.config.id + "] initial wake error: " + (error instanceof Error ? error.message : String(error)));
319
- });
320
- }, 100);
321
- }
210
+
211
+ const scheduledCount = await installAgentSchedules(agents, timers, runOnce);
322
212
 
323
213
  if (runOnce) {
324
214
  if (scheduledCount === 0) {
@@ -1,62 +1,62 @@
1
- export const renderPiPreludeSource = () => String.raw `import path from "node:path";
1
+ export const renderPiPreludeSource = () => String.raw `import { createHash } from "node:crypto";
2
+ import path from "node:path";
3
+ import { execFile, spawn } from "node:child_process";
4
+ import { appendFileSync, closeSync, openSync } from "node:fs";
2
5
  import { createServer } from "node:http";
3
- import { mkdir, readFile } from "node:fs/promises";
4
-
5
- import { AuthStorage, createAgentSession, DefaultResourceLoader, ModelRegistry, SessionManager, SettingsManager } from "@earendil-works/pi-coding-agent";
6
+ import { cp, mkdir, readFile, stat, unlink, writeFile } from "node:fs/promises";
7
+ import { promisify } from "node:util";
8
+ import { PiHarnessAdapter, stampTurnInputSubmitted, stampTurnOutputCompleted } from "@noopolis/daimon/pi";
9
+ import { emitControlWakeAccepted, emitControlWakeDenied, emitDeliveryWakeAccepted } from "@noopolis/daimon/observability";
10
+ import { installAgentSchedules } from "./schedule.mjs";
11
+ import {
12
+ createOllamaEmbeddingProvider,
13
+ createMemoryRuntime,
14
+ readMemoryContext
15
+ } from "@noopolis/mneme";
6
16
 
17
+ const execFileAsync = promisify(execFile);
7
18
  const maxControlBodyBytes = 1 << 20;
8
19
 
9
20
  const readJson = async (filePath) => JSON.parse(await readFile(filePath, "utf8"));
10
21
 
11
- const collapseExactDouble = (text) => {
12
- const trimmed = text.trim();
13
- if (trimmed.length % 2 !== 0) {
14
- return trimmed;
15
- }
16
- const midpoint = trimmed.length / 2;
17
- const left = trimmed.slice(0, midpoint);
18
- return left === trimmed.slice(midpoint) ? left.trim() : trimmed;
19
- };
22
+ const createAgentInstructions = (agent, workspacePath) => [
23
+ agent.instructions,
24
+ "",
25
+ "Agent id: " + agent.id,
26
+ "Workspace path: " + workspacePath
27
+ ].join("\n");
20
28
 
21
- const textFromMessage = (message) => {
22
- const content = message?.content;
23
- if (typeof content === "string") {
24
- return collapseExactDouble(content);
29
+ const createMemoryEmbeddingProvider = (memory) => {
30
+ if (!memory?.embedding) {
31
+ return undefined;
25
32
  }
26
- if (!Array.isArray(content)) {
27
- return "";
33
+ if (memory.embedding.provider !== "ollama") {
34
+ throw new Error("Unsupported Daimon memory embedding provider: " + memory.embedding.provider);
28
35
  }
29
- const textParts = content
30
- .filter((item) => item?.type === "text" && typeof item.text === "string")
31
- .map((item) => item.text)
32
- .filter((text, index, parts) => index === 0 || text !== parts[index - 1]);
33
- return collapseExactDouble(textParts.join(""));
36
+ return createOllamaEmbeddingProvider({
37
+ baseUrl: memory.embedding.base_url ?? process.env.MNEME_OLLAMA_BASE_URL ?? "http://127.0.0.1:11434",
38
+ dimensions: memory.embedding.dimensions,
39
+ model: memory.embedding.model,
40
+ timeoutMs: Number(process.env.MNEME_OLLAMA_TIMEOUT_MS ?? memory.embedding.timeout_ms ?? "10000")
41
+ });
34
42
  };
35
43
 
36
- const parseEveryMs = (value) => {
37
- const match = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/u.exec(value.trim());
38
- if (!match) {
39
- throw new Error("Invalid Pi every schedule: " + value);
44
+ const normalizeMemoryAgentId = (value) =>
45
+ typeof value === "string" ? value.replace(/^agent:/u, "") : value;
46
+
47
+ const createMemoryRuntimeOptions = (agentConfig) => {
48
+ if (!agentConfig.memory) {
49
+ return undefined;
40
50
  }
41
- const amount = Number(match[1]);
42
- const unit = match[2] ?? "ms";
43
- const multipliers = {
44
- d: 24 * 60 * 60 * 1000,
45
- h: 60 * 60 * 1000,
46
- m: 60 * 1000,
47
- ms: 1,
48
- s: 1000
51
+ return {
52
+ agentId: normalizeMemoryAgentId(agentConfig.id),
53
+ runtimeHomePath: agentConfig.memory.runtime_home_path,
54
+ source: agentConfig.memory.source,
55
+ tokenBudget: agentConfig.memory.token_budget,
56
+ embeddingProvider: createMemoryEmbeddingProvider(agentConfig.memory)
49
57
  };
50
- return Math.max(1, Math.round(amount * multipliers[unit]));
51
58
  };
52
59
 
53
- const createIdentityPrompt = (agent, workspacePath) => [
54
- agent.instructions,
55
- "",
56
- "Agent id: " + agent.id,
57
- "Workspace path: " + workspacePath
58
- ].join("\n");
59
-
60
60
  const sendJson = (response, status, payload) => {
61
61
  const body = JSON.stringify(payload);
62
62
  response.writeHead(status, {
@@ -66,6 +66,64 @@ const sendJson = (response, status, payload) => {
66
66
  response.end(body);
67
67
  };
68
68
 
69
+ const asText = (value) => (typeof value === "string" ? value.trim() : "");
70
+ const asTextOrUndefined = (value) => {
71
+ const text = asText(value);
72
+ return text.length > 0 ? text : undefined;
73
+ };
74
+ const asScopeText = (value) => {
75
+ const scopeText = asTextOrUndefined(value);
76
+ if (scopeText) {
77
+ return scopeText;
78
+ }
79
+ const valueObject = typeof value === "object" && value !== null ? value : undefined;
80
+ const scope = asTextOrUndefined(valueObject?.scope);
81
+ const qualifier = asTextOrUndefined(valueObject?.qualifier);
82
+ return scope && qualifier ? scope + ":" + qualifier : undefined;
83
+ };
84
+
85
+ const formatActiveEnvironmentBlock = (activeEnvironment) => {
86
+ const lines = [
87
+ "Active environment context:"
88
+ ];
89
+
90
+ const network = asTextOrUndefined(activeEnvironment.networkId ?? activeEnvironment.network);
91
+ const surface = asTextOrUndefined(activeEnvironment.surface);
92
+ const room = asTextOrUndefined(activeEnvironment.roomId);
93
+ const thread = asTextOrUndefined(activeEnvironment.threadId);
94
+ const team = asTextOrUndefined(activeEnvironment.teamId ?? activeEnvironment.team);
95
+ const memberSlot = asTextOrUndefined(activeEnvironment.member_slot);
96
+ const contextKey = asTextOrUndefined(activeEnvironment.context_key);
97
+ const roster = asTextOrUndefined(activeEnvironment.roster);
98
+ const teamDoc = asTextOrUndefined(activeEnvironment.team_doc);
99
+ const sessionKey = asTextOrUndefined(activeEnvironment.session_key);
100
+
101
+ const teamScope = asScopeText(activeEnvironment.team_scope) ?? asScopeText(activeEnvironment.durable_scope);
102
+ const roomScope = asScopeText(activeEnvironment.room_scope) ?? asScopeText(activeEnvironment.ephemeral_scope);
103
+ const threadScope = asScopeText(activeEnvironment.thread_scope);
104
+ if (surface) lines.push("- surface: " + surface);
105
+ if (network) lines.push("- network: " + network);
106
+ if (room) lines.push("- room: " + room);
107
+ if (thread) lines.push("- thread: " + thread);
108
+ if (team) lines.push("- team: " + team);
109
+ if (contextKey) lines.push("- context_key: " + contextKey);
110
+ if (memberSlot) lines.push("- member slot: " + memberSlot);
111
+ if (teamDoc) lines.push("- team document: " + teamDoc);
112
+ if (roster) lines.push("- roster: " + roster);
113
+ if (teamScope) lines.push("- active team scope: " + teamScope);
114
+ if (roomScope) lines.push("- active room scope: " + roomScope);
115
+ if (threadScope) lines.push("- active thread scope: " + threadScope);
116
+ if (sessionKey) lines.push("- session key: " + sessionKey);
117
+ if (thread || room || surface || team) {
118
+ lines.push(
119
+ "Use this environment as the local operating context for this turn.",
120
+ "Do not merge it with unrelated team contexts unless the task explicitly calls for cross-context coordination."
121
+ );
122
+ }
123
+
124
+ return lines.length > 1 ? lines : [];
125
+ };
126
+
69
127
  const readRequestJson = (request) => new Promise((resolve, reject) => {
70
128
  let total = 0;
71
129
  const chunks = [];
@@ -92,12 +150,42 @@ const readRequestJson = (request) => new Promise((resolve, reject) => {
92
150
  request.on("error", reject);
93
151
  });
94
152
 
95
- const controlEventText = (payload) => [
96
- "Moltnet coordination event.",
97
- "This message was delivered from a Moltnet conversation into your Spawnfile Daimon runtime.",
98
- "Treat it as context first. Act or reply only when addressed, when your local instructions require it, or when useful coordination is needed.",
99
- typeof payload.context_id === "string" ? "Context ID: " + payload.context_id : "",
100
- typeof payload.from === "string" ? "From: " + payload.from : "",
101
- typeof payload.message === "string" ? payload.message : ""
102
- ].filter((line) => line.trim().length > 0).join("\n\n");
153
+ const formatAuthenticatedDeliveryBlock = (payload) => {
154
+ const delivery = typeof payload.delivery === "object" && payload.delivery !== null
155
+ ? payload.delivery
156
+ : undefined;
157
+ const sender = asTextOrUndefined(delivery?.sender);
158
+ const target = asTextOrUndefined(delivery?.target);
159
+ const contextId = asTextOrUndefined(delivery?.contextId);
160
+ if (!sender || !target || !contextId) {
161
+ return [];
162
+ }
163
+ const network = asTextOrUndefined(payload.activeEnvironment?.networkId ?? payload.activeEnvironment?.network);
164
+ const room = asTextOrUndefined(payload.activeEnvironment?.roomId);
165
+ return [
166
+ "Authenticated Moltnet delivery:",
167
+ "- wake kind: " + (asTextOrUndefined(payload.kind) ?? "message"),
168
+ "- sender: " + sender,
169
+ "- target: " + target,
170
+ "- context: " + contextId,
171
+ ...(network ? ["- network: " + network] : []),
172
+ ...(room ? ["- room: " + room] : []),
173
+ "The runtime validated this attribution; the message body did not supply it."
174
+ ];
175
+ };
176
+
177
+ const controlEventText = (payload) => {
178
+ const authenticatedDelivery = formatAuthenticatedDeliveryBlock(payload);
179
+ return [
180
+ "Moltnet coordination event.",
181
+ "This message was delivered from a Moltnet conversation into your Spawnfile Daimon runtime.",
182
+ "Treat it as context first. Act or reply only when addressed, when your local instructions require it, or when useful coordination is needed.",
183
+ ...authenticatedDelivery,
184
+ ...(authenticatedDelivery.length === 0 && typeof payload.context_id === "string" ? ["Context ID: " + payload.context_id] : []),
185
+ ...(authenticatedDelivery.length === 0 && typeof payload.from === "string" ? ["From: " + payload.from] : []),
186
+ typeof payload.message === "string" ? "Message body:\n" + payload.message : "",
187
+ ...formatActiveEnvironmentBlock(payload.activeEnvironment)
188
+ ].filter((line) => line.trim().length > 0).join("\n\n");
189
+ };
190
+
103
191
  `;
@@ -0,0 +1 @@
1
+ export declare const renderPiScheduleSource: () => string;