spawnfile 0.1.13 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (950) hide show
  1. package/README.md +61 -121
  2. package/dist/audit/auditCli.d.ts +19 -0
  3. package/dist/audit/auditCli.js +63 -0
  4. package/dist/audit/checks.d.ts +100 -0
  5. package/dist/audit/checks.js +279 -0
  6. package/dist/audit/checksShared.d.ts +74 -0
  7. package/dist/audit/checksShared.js +37 -0
  8. package/dist/audit/generateAudit.d.ts +19 -0
  9. package/dist/audit/generateAudit.js +122 -0
  10. package/dist/audit/index.d.ts +4 -0
  11. package/dist/audit/index.js +4 -0
  12. package/dist/audit/readAudit.d.ts +50 -0
  13. package/dist/audit/readAudit.js +59 -0
  14. package/dist/audit/types.d.ts +40 -0
  15. package/dist/audit/types.js +8 -0
  16. package/dist/auth/credentialEnvFile.d.ts +11 -0
  17. package/dist/auth/credentialEnvFile.js +60 -0
  18. package/dist/auth/credentialProvisioning.d.ts +15 -0
  19. package/dist/auth/credentialProvisioning.js +75 -0
  20. package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
  21. package/dist/auth/credentialProvisioningReceipt.js +70 -0
  22. package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
  23. package/dist/auth/credentialProvisioningRequest.js +169 -0
  24. package/dist/auth/credentialWorldBindings.d.ts +21 -0
  25. package/dist/auth/credentialWorldBindings.js +104 -0
  26. package/dist/auth/importers.d.ts +10 -0
  27. package/dist/auth/importers.js +29 -4
  28. package/dist/auth/index.d.ts +9 -0
  29. package/dist/auth/index.js +8 -0
  30. package/dist/auth/paths.d.ts +12 -1
  31. package/dist/auth/paths.js +21 -0
  32. package/dist/auth/profileStore.js +9 -9
  33. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  34. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  35. package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
  36. package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
  37. package/dist/auth/targetSecretSourceFsPublish.d.ts +17 -0
  38. package/dist/auth/targetSecretSourceFsPublish.js +51 -0
  39. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +17 -0
  40. package/dist/auth/targetSecretSourceFsPublishImmutable.js +468 -0
  41. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  42. package/dist/auth/targetSecretSourceFsRead.js +189 -0
  43. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  44. package/dist/auth/targetSecretSourceGrant.js +99 -0
  45. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  46. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  47. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  48. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  49. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  50. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  51. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  52. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  53. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  54. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  55. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  56. package/dist/auth/targetSecretSourceResolver.js +137 -0
  57. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  58. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  59. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  60. package/dist/auth/targetSecretSourceRotate.js +121 -0
  61. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  62. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  63. package/dist/auth/trainingAuth.d.ts +21 -0
  64. package/dist/auth/trainingAuth.js +86 -0
  65. package/dist/auth/types.d.ts +1 -1
  66. package/dist/cli/artifactsCommands.d.ts +27 -0
  67. package/dist/cli/artifactsCommands.js +132 -0
  68. package/dist/cli/authCommands.d.ts +5 -0
  69. package/dist/cli/authCommands.js +230 -0
  70. package/dist/cli/canaryCutoverCommand.d.ts +2 -0
  71. package/dist/cli/canaryCutoverCommand.js +30 -0
  72. package/dist/cli/capabilitiesCommand.d.ts +3 -0
  73. package/dist/cli/capabilitiesCommand.js +12 -0
  74. package/dist/cli/capabilitiesReceipt.d.ts +56 -0
  75. package/dist/cli/capabilitiesReceipt.js +56 -0
  76. package/dist/cli/compileBuildCommands.d.ts +3 -0
  77. package/dist/cli/compileBuildCommands.js +48 -0
  78. package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
  79. package/dist/cli/composedLifecycleContractSet.js +204 -0
  80. package/dist/cli/containerBundleCommand.d.ts +6 -0
  81. package/dist/cli/containerBundleCommand.js +116 -0
  82. package/dist/cli/devCommands.js +2 -0
  83. package/dist/cli/downCommand.d.ts +25 -0
  84. package/dist/cli/downCommand.js +145 -0
  85. package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
  86. package/dist/cli/evidenceExportHelperCommand.js +51 -0
  87. package/dist/cli/index.js +15 -3
  88. package/dist/cli/lifecycleCommands.d.ts +1 -1
  89. package/dist/cli/lifecycleCommands.js +11 -181
  90. package/dist/cli/lifecycleMachine.d.ts +25 -0
  91. package/dist/cli/lifecycleMachine.js +78 -0
  92. package/dist/cli/lifecyclePlan.d.ts +35 -0
  93. package/dist/cli/lifecyclePlan.js +240 -0
  94. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  95. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  96. package/dist/cli/paideiaDelegation.d.ts +17 -0
  97. package/dist/cli/paideiaDelegation.js +210 -0
  98. package/dist/cli/paideiaSupervisor.d.ts +17 -0
  99. package/dist/cli/paideiaSupervisor.js +48 -0
  100. package/dist/cli/productStateCloneCommand.d.ts +2 -0
  101. package/dist/cli/productStateCloneCommand.js +34 -0
  102. package/dist/cli/runCli.d.ts +19 -2
  103. package/dist/cli/runCli.js +58 -74
  104. package/dist/cli/runPublishCommands.d.ts +3 -0
  105. package/dist/cli/runPublishCommands.js +70 -0
  106. package/dist/cli/statusCommand.d.ts +3 -33
  107. package/dist/cli/statusCommand.js +19 -249
  108. package/dist/cli/statusCommandLive.d.ts +20 -0
  109. package/dist/cli/statusCommandLive.js +188 -0
  110. package/dist/cli/statusCommandOptions.d.ts +40 -0
  111. package/dist/cli/statusCommandOptions.js +42 -0
  112. package/dist/cli/targetCliRoute.d.ts +2 -0
  113. package/dist/cli/targetCliRoute.js +30 -0
  114. package/dist/cli/targetCommands.d.ts +30 -0
  115. package/dist/cli/targetCommands.js +227 -0
  116. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  117. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  118. package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
  119. package/dist/cli/targetConfigPreparedPlan.js +74 -0
  120. package/dist/cli/targetConfigResolver.d.ts +3 -0
  121. package/dist/cli/targetConfigResolver.js +111 -0
  122. package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
  123. package/dist/cli/targetConfigResolverCommand.js +43 -0
  124. package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
  125. package/dist/cli/targetConfigResolverContracts.js +30 -0
  126. package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
  127. package/dist/cli/targetConfigResolverDocker.js +47 -0
  128. package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
  129. package/dist/cli/targetConfigResolverValidation.js +94 -0
  130. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  131. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  132. package/dist/cli/targetDefaultAuthorities.d.ts +55 -0
  133. package/dist/cli/targetDefaultAuthorities.js +213 -0
  134. package/dist/cli/targetDefaultConfig.d.ts +75 -0
  135. package/dist/cli/targetDefaultConfig.js +334 -0
  136. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  137. package/dist/cli/targetDefaultConfigStdin.js +221 -0
  138. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  139. package/dist/cli/targetDefaultEnvelope.js +13 -0
  140. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  141. package/dist/cli/targetDefaultHandlerFactory.js +268 -0
  142. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  143. package/dist/cli/targetDefaultHandlers.js +72 -0
  144. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  145. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  146. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  147. package/dist/cli/targetDefaultWorldClock.js +14 -0
  148. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  149. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  150. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  151. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  152. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  153. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  154. package/dist/cli/targetLookupCli.d.ts +3 -0
  155. package/dist/cli/targetLookupCli.js +31 -0
  156. package/dist/cli/targetLookupCommands.d.ts +12 -0
  157. package/dist/cli/targetLookupCommands.js +69 -0
  158. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  159. package/dist/cli/targetOperationDispatch.js +21 -0
  160. package/dist/cli/targetProductionCommands.d.ts +5 -0
  161. package/dist/cli/targetProductionCommands.js +45 -0
  162. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  163. package/dist/cli/targetReceiptOutput.js +21 -0
  164. package/dist/cli/targetRequestFile.d.ts +14 -0
  165. package/dist/cli/targetRequestFile.js +63 -0
  166. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  167. package/dist/cli/targetSecretSourceInput.js +121 -0
  168. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  169. package/dist/cli/targetWorldClockCommand.js +42 -0
  170. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  171. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  172. package/dist/cli/trainCommand.d.ts +3 -0
  173. package/dist/cli/trainCommand.js +61 -0
  174. package/dist/cli/upCommand.d.ts +3 -0
  175. package/dist/cli/upCommand.js +162 -0
  176. package/dist/cli/upImageCommand.d.ts +11 -0
  177. package/dist/cli/upImageCommand.js +41 -0
  178. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  179. package/dist/cli/upLifecycleInvocation.js +48 -0
  180. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  181. package/dist/cli/upLifecycleRecovery.js +197 -0
  182. package/dist/cli/usageCommand.d.ts +40 -0
  183. package/dist/cli/usageCommand.js +284 -0
  184. package/dist/cli/usageCommandLive.d.ts +84 -0
  185. package/dist/cli/usageCommandLive.js +95 -0
  186. package/dist/cli/usageDeploymentSource.d.ts +9 -0
  187. package/dist/cli/usageDeploymentSource.js +22 -0
  188. package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
  189. package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
  190. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  191. package/dist/compiler/agentNodeMerge.js +79 -0
  192. package/dist/compiler/agentSurfaces.js +11 -1
  193. package/dist/compiler/buildCompilePlan.js +17 -0
  194. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  195. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  196. package/dist/compiler/buildCompilePlanTeams.d.ts +2 -1
  197. package/dist/compiler/buildCompilePlanTeams.js +9 -1
  198. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  199. package/dist/compiler/buildProject.d.ts +11 -0
  200. package/dist/compiler/buildProject.js +77 -2
  201. package/dist/compiler/compilePlanHelpers.js +5 -0
  202. package/dist/compiler/compileProject.d.ts +15 -0
  203. package/dist/compiler/compileProject.js +31 -75
  204. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  205. package/dist/compiler/compileProjectPolicy.js +21 -0
  206. package/dist/compiler/compileProjectReports.d.ts +9 -0
  207. package/dist/compiler/compileProjectReports.js +52 -0
  208. package/dist/compiler/compileProjectSupport.js +9 -0
  209. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  210. package/dist/compiler/containerArtifactSummaries.js +138 -0
  211. package/dist/compiler/containerArtifacts.d.ts +12 -0
  212. package/dist/compiler/containerArtifacts.js +180 -127
  213. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  214. package/dist/compiler/containerArtifactsPlans.js +54 -124
  215. package/dist/compiler/containerArtifactsRender.d.ts +5 -2
  216. package/dist/compiler/containerArtifactsRender.js +106 -70
  217. package/dist/compiler/containerArtifactsTypes.d.ts +20 -0
  218. package/dist/compiler/containerBackedMountRender.d.ts +56 -0
  219. package/dist/compiler/containerBackedMountRender.js +101 -0
  220. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  221. package/dist/compiler/containerConfigEnvRender.js +54 -0
  222. package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
  223. package/dist/compiler/containerDaimonBrokerRender.js +191 -0
  224. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
  225. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
  226. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
  227. package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
  228. package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
  229. package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
  230. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
  231. package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
  232. package/dist/compiler/containerEntrypointRender.d.ts +8 -0
  233. package/dist/compiler/containerEntrypointRender.js +82 -72
  234. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  235. package/dist/compiler/containerEntrypointShell.js +29 -0
  236. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  237. package/dist/compiler/containerPackageOverrides.js +63 -0
  238. package/dist/compiler/containerPersistentMounts.d.ts +30 -0
  239. package/dist/compiler/containerPersistentMounts.js +66 -0
  240. package/dist/compiler/containerReadinessPaths.d.ts +1 -0
  241. package/dist/compiler/containerReadinessPaths.js +1 -0
  242. package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
  243. package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
  244. package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
  245. package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
  246. package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
  247. package/dist/compiler/containerStateOwnershipRender.js +75 -0
  248. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  249. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  250. package/dist/compiler/containerTargetResources.d.ts +22 -1
  251. package/dist/compiler/containerTargetResources.js +94 -2
  252. package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
  253. package/dist/compiler/containerVolumeBootstrap.js +3 -0
  254. package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
  255. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  256. package/dist/compiler/daimonTelemetryArtifacts.js +56 -0
  257. package/dist/compiler/deploymentLineage.d.ts +40 -0
  258. package/dist/compiler/deploymentLineage.js +50 -0
  259. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  260. package/dist/compiler/dockerBuildContext.js +159 -0
  261. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  262. package/dist/compiler/dockerBuildSkip.js +81 -0
  263. package/dist/compiler/index.d.ts +7 -0
  264. package/dist/compiler/index.js +7 -0
  265. package/dist/compiler/initProject.d.ts +2 -0
  266. package/dist/compiler/initProject.js +39 -1
  267. package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
  268. package/dist/compiler/localMoltnetAuthority.js +177 -0
  269. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  270. package/dist/compiler/memoryArtifacts.js +210 -0
  271. package/dist/compiler/memoryResolution.d.ts +4 -0
  272. package/dist/compiler/memoryResolution.js +147 -0
  273. package/dist/compiler/modelEnv.d.ts +7 -0
  274. package/dist/compiler/modelEnv.js +13 -1
  275. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  276. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  277. package/dist/compiler/moltnetArtifactPaths.d.ts +31 -0
  278. package/dist/compiler/moltnetArtifactPaths.js +51 -0
  279. package/dist/compiler/moltnetArtifactTypes.d.ts +56 -0
  280. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  281. package/dist/compiler/moltnetArtifacts.d.ts +3 -41
  282. package/dist/compiler/moltnetArtifacts.js +87 -101
  283. package/dist/compiler/moltnetBinaries.d.ts +33 -4
  284. package/dist/compiler/moltnetBinaries.js +173 -26
  285. package/dist/compiler/moltnetClientConfig.js +7 -2
  286. package/dist/compiler/moltnetConfigLowering.d.ts +18 -1
  287. package/dist/compiler/moltnetConfigLowering.js +92 -6
  288. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  289. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  290. package/dist/compiler/moltnetNodeConfig.js +7 -2
  291. package/dist/compiler/moltnetReleaseAuthority.d.ts +40 -0
  292. package/dist/compiler/moltnetReleaseAuthority.js +102 -0
  293. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  294. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  295. package/dist/compiler/moltnetRepresentativeResolution.d.ts +2 -1
  296. package/dist/compiler/moltnetRepresentativeResolution.js +17 -3
  297. package/dist/compiler/moltnetResolution.js +67 -21
  298. package/dist/compiler/moltnetRoomMemberships.js +52 -9
  299. package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
  300. package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
  301. package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
  302. package/dist/compiler/moltnetRuntimeConfig.js +22 -2
  303. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  304. package/dist/compiler/moltnetServerPlans.js +151 -0
  305. package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
  306. package/dist/compiler/organizationExternalParticipants.js +176 -0
  307. package/dist/compiler/organizationIdentity.d.ts +21 -0
  308. package/dist/compiler/organizationIdentity.js +64 -0
  309. package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
  310. package/dist/compiler/organizationIdentityGraph.js +115 -0
  311. package/dist/compiler/organizationReadyEvidence.d.ts +57 -0
  312. package/dist/compiler/organizationReadyEvidence.js +281 -0
  313. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  314. package/dist/compiler/projectManifestGraph.js +24 -0
  315. package/dist/compiler/runProject.d.ts +8 -2
  316. package/dist/compiler/runProject.js +62 -27
  317. package/dist/compiler/runProjectAuth.d.ts +10 -2
  318. package/dist/compiler/runProjectAuth.js +105 -11
  319. package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
  320. package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
  321. package/dist/compiler/runProjectDocker.d.ts +11 -0
  322. package/dist/compiler/runProjectDocker.js +64 -16
  323. package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
  324. package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
  325. package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
  326. package/dist/compiler/runProjectDockerReservation.js +118 -0
  327. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  328. package/dist/compiler/runProjectLifecycle.js +40 -0
  329. package/dist/compiler/syncProjectAuth.js +4 -1
  330. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  331. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  332. package/dist/compiler/teamContextSupport.js +32 -40
  333. package/dist/compiler/teamContextTypes.d.ts +2 -0
  334. package/dist/compiler/training/broker/declaration.d.ts +45 -0
  335. package/dist/compiler/training/broker/declaration.js +55 -0
  336. package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
  337. package/dist/compiler/training/broker/entrypoint.js +111 -0
  338. package/dist/compiler/training/broker/index.d.ts +10 -0
  339. package/dist/compiler/training/broker/index.js +10 -0
  340. package/dist/compiler/training/broker/main.d.ts +2 -0
  341. package/dist/compiler/training/broker/main.js +14 -0
  342. package/dist/compiler/training/broker/paths.d.ts +196 -0
  343. package/dist/compiler/training/broker/paths.js +241 -0
  344. package/dist/compiler/training/broker/processes.d.ts +42 -0
  345. package/dist/compiler/training/broker/processes.js +99 -0
  346. package/dist/compiler/training/broker/projection.d.ts +51 -0
  347. package/dist/compiler/training/broker/projection.js +76 -0
  348. package/dist/compiler/training/broker/provisioning.d.ts +87 -0
  349. package/dist/compiler/training/broker/provisioning.js +213 -0
  350. package/dist/compiler/training/broker/receipt.d.ts +77 -0
  351. package/dist/compiler/training/broker/receipt.js +110 -0
  352. package/dist/compiler/training/broker/registration.d.ts +41 -0
  353. package/dist/compiler/training/broker/registration.js +102 -0
  354. package/dist/compiler/training/broker/runtime.d.ts +25 -0
  355. package/dist/compiler/training/broker/runtime.js +173 -0
  356. package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
  357. package/dist/compiler/training/broker/seccompRoutes.js +36 -0
  358. package/dist/compiler/training/broker/supervisor.d.ts +109 -0
  359. package/dist/compiler/training/broker/supervisor.js +173 -0
  360. package/dist/compiler/training/container/contract.d.ts +31 -0
  361. package/dist/compiler/training/container/contract.js +33 -0
  362. package/dist/compiler/training/container/index.d.ts +4 -0
  363. package/dist/compiler/training/container/index.js +2 -0
  364. package/dist/compiler/training/container/launch.d.ts +18 -0
  365. package/dist/compiler/training/container/launch.js +173 -0
  366. package/dist/compiler/training/container/prepare.d.ts +8 -0
  367. package/dist/compiler/training/container/prepare.js +80 -0
  368. package/dist/compiler/training/container/process.d.ts +14 -0
  369. package/dist/compiler/training/container/process.js +70 -0
  370. package/dist/compiler/training/container/security.d.ts +36 -0
  371. package/dist/compiler/training/container/security.js +58 -0
  372. package/dist/compiler/training/context.d.ts +7 -0
  373. package/dist/compiler/training/context.js +93 -0
  374. package/dist/compiler/training/contract.d.ts +142 -0
  375. package/dist/compiler/training/contract.js +34 -0
  376. package/dist/compiler/training/index.d.ts +4 -0
  377. package/dist/compiler/training/index.js +3 -0
  378. package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
  379. package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
  380. package/dist/compiler/training/preparation/broker.d.ts +21 -0
  381. package/dist/compiler/training/preparation/broker.js +43 -0
  382. package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
  383. package/dist/compiler/training/preparation/contextModes.js +38 -0
  384. package/dist/compiler/training/preparation/contract.d.ts +182 -0
  385. package/dist/compiler/training/preparation/contract.js +94 -0
  386. package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
  387. package/dist/compiler/training/preparation/copyAssets.js +8 -0
  388. package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
  389. package/dist/compiler/training/preparation/daimonParent.js +114 -0
  390. package/dist/compiler/training/preparation/files.d.ts +25 -0
  391. package/dist/compiler/training/preparation/files.js +85 -0
  392. package/dist/compiler/training/preparation/image.d.ts +28 -0
  393. package/dist/compiler/training/preparation/image.js +102 -0
  394. package/dist/compiler/training/preparation/index.d.ts +3 -0
  395. package/dist/compiler/training/preparation/index.js +2 -0
  396. package/dist/compiler/training/preparation/inputs.d.ts +23 -0
  397. package/dist/compiler/training/preparation/inputs.js +93 -0
  398. package/dist/compiler/training/preparation/prepare.d.ts +33 -0
  399. package/dist/compiler/training/preparation/prepare.js +186 -0
  400. package/dist/compiler/training/preparation/scratch.d.ts +19 -0
  401. package/dist/compiler/training/preparation/scratch.js +48 -0
  402. package/dist/compiler/training/repair/compatibility.d.ts +11 -0
  403. package/dist/compiler/training/repair/compatibility.js +34 -0
  404. package/dist/compiler/training/repair/contract.d.ts +506 -0
  405. package/dist/compiler/training/repair/contract.js +31 -0
  406. package/dist/compiler/training/repair/index.d.ts +3 -0
  407. package/dist/compiler/training/repair/index.js +3 -0
  408. package/dist/compiler/training/repair/prepare.d.ts +230 -0
  409. package/dist/compiler/training/repair/prepare.js +74 -0
  410. package/dist/compiler/training/repair/witness.d.ts +203 -0
  411. package/dist/compiler/training/repair/witness.js +42 -0
  412. package/dist/compiler/types.d.ts +84 -1
  413. package/dist/compiler/upProject.d.ts +31 -1
  414. package/dist/compiler/upProject.js +197 -22
  415. package/dist/compiler/upProjectHandoff.d.ts +62 -0
  416. package/dist/compiler/upProjectHandoff.js +204 -0
  417. package/dist/compiler/upReceipt.d.ts +36 -0
  418. package/dist/compiler/upReceipt.js +127 -0
  419. package/dist/compiler/updateProjectModels.js +43 -60
  420. package/dist/compiler/updateProjectRuntime.js +22 -35
  421. package/dist/compiler/updateProjectSurfaces.js +53 -47
  422. package/dist/compiler/view/types.d.ts +1 -1
  423. package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
  424. package/dist/compiler/workspaceBundleArtifacts.js +106 -0
  425. package/dist/compiler/workspaceResources.d.ts +4 -1
  426. package/dist/compiler/workspaceResources.js +12 -7
  427. package/dist/compiler/worldBindings.d.ts +39 -0
  428. package/dist/compiler/worldBindings.js +247 -0
  429. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  430. package/dist/compiler/worldBindingsFile.js +162 -0
  431. package/dist/deployment/artifactsExport.d.ts +49 -0
  432. package/dist/deployment/artifactsExport.js +217 -0
  433. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  434. package/dist/deployment/artifactsExportDocker.js +91 -0
  435. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  436. package/dist/deployment/artifactsExportPlan.js +185 -0
  437. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  438. package/dist/deployment/artifactsExportTypes.js +52 -0
  439. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  440. package/dist/deployment/buildImageCacheStore.js +54 -0
  441. package/dist/deployment/canaryCutover.d.ts +42 -0
  442. package/dist/deployment/canaryCutover.js +140 -0
  443. package/dist/deployment/candidateDiagnostics.d.ts +15 -0
  444. package/dist/deployment/candidateDiagnostics.js +90 -0
  445. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  446. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  447. package/dist/deployment/dockerInspect.d.ts +9 -0
  448. package/dist/deployment/dockerInspect.js +24 -1
  449. package/dist/deployment/dockerLabels.d.ts +2 -0
  450. package/dist/deployment/dockerLabels.js +2 -0
  451. package/dist/deployment/dockerLogs.js +5 -10
  452. package/dist/deployment/dockerManager.d.ts +51 -0
  453. package/dist/deployment/dockerManager.js +124 -1
  454. package/dist/deployment/dockerProbeGateway.d.ts +17 -0
  455. package/dist/deployment/dockerProbeGateway.js +80 -6
  456. package/dist/deployment/dockerRecover.js +9 -1
  457. package/dist/deployment/dockerTeardown.d.ts +32 -0
  458. package/dist/deployment/dockerTeardown.js +61 -0
  459. package/dist/deployment/downDeployment.d.ts +39 -0
  460. package/dist/deployment/downDeployment.js +248 -0
  461. package/dist/deployment/downReceiptTypes.d.ts +36 -0
  462. package/dist/deployment/downReceiptTypes.js +45 -0
  463. package/dist/deployment/index.d.ts +20 -0
  464. package/dist/deployment/index.js +21 -0
  465. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  466. package/dist/deployment/lifecycleCompletion.js +236 -0
  467. package/dist/deployment/lifecycleCompletionContracts.d.ts +224 -0
  468. package/dist/deployment/lifecycleCompletionContracts.js +140 -0
  469. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  470. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  471. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  472. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  473. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  474. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  475. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  476. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  477. package/dist/deployment/lifecycleCompletionPaths.d.ts +12 -0
  478. package/dist/deployment/lifecycleCompletionPaths.js +19 -0
  479. package/dist/deployment/lifecycleCompletionPublication.d.ts +7 -0
  480. package/dist/deployment/lifecycleCompletionPublication.js +49 -0
  481. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  482. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  483. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  484. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  485. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  486. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  487. package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
  488. package/dist/deployment/lifecycleUpRecords.js +127 -0
  489. package/dist/deployment/native/AGENTS.md +11 -0
  490. package/dist/deployment/native/rename-noreplace-arm64 +0 -0
  491. package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
  492. package/dist/deployment/native/rename-noreplace-x64 +0 -0
  493. package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
  494. package/dist/deployment/noReplaceActivation.d.ts +17 -0
  495. package/dist/deployment/noReplaceActivation.js +50 -0
  496. package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
  497. package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
  498. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  499. package/dist/deployment/organizationHandoffAuthorityFsClient.js +187 -0
  500. package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
  501. package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
  502. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  503. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +431 -0
  504. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  505. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  506. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
  507. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
  508. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  509. package/dist/deployment/organizationHandoffAuthorityStore.js +355 -0
  510. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  511. package/dist/deployment/organizationHandoffAuthorityTypes.js +149 -0
  512. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  513. package/dist/deployment/organizationHandoffTypes.js +80 -0
  514. package/dist/deployment/organizationReady.d.ts +54 -0
  515. package/dist/deployment/organizationReady.js +232 -0
  516. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  517. package/dist/deployment/privateArtifactsExport.js +80 -0
  518. package/dist/deployment/productStateClone.d.ts +43 -0
  519. package/dist/deployment/productStateClone.js +319 -0
  520. package/dist/deployment/record.d.ts +26 -1
  521. package/dist/deployment/record.js +49 -4
  522. package/dist/deployment/target.d.ts +1 -35
  523. package/dist/deployment/target.js +1 -96
  524. package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
  525. package/dist/deployment/upLifecycleRecoveryState.js +12 -0
  526. package/dist/deployment/upReceiptTypes.d.ts +137 -0
  527. package/dist/deployment/upReceiptTypes.js +191 -0
  528. package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
  529. package/dist/deployment/workspaceResourceMigration.js +315 -0
  530. package/dist/dev/project.d.ts +7 -0
  531. package/dist/dev/project.js +24 -9
  532. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  533. package/dist/distribution/buildDistributionReport.js +2 -1
  534. package/dist/distribution/consumeImage.d.ts +2 -0
  535. package/dist/distribution/consumeImage.js +98 -73
  536. package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
  537. package/dist/distribution/consumeImageDaimonDocker.js +45 -0
  538. package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
  539. package/dist/distribution/consumeImageLifecycle.js +231 -0
  540. package/dist/distribution/consumeImageSupport.d.ts +12 -0
  541. package/dist/distribution/consumeImageSupport.js +15 -0
  542. package/dist/distribution/distributionReportSchema.d.ts +16 -1
  543. package/dist/distribution/distributionReportSchema.js +21 -3
  544. package/dist/distribution/dockerRunner.d.ts +6 -1
  545. package/dist/distribution/dockerRunner.js +31 -4
  546. package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
  547. package/dist/distribution/imageRuntimeAuth.js +70 -1
  548. package/dist/distribution/index.d.ts +3 -3
  549. package/dist/distribution/index.js +2 -2
  550. package/dist/distribution/preflight.js +5 -1
  551. package/dist/distribution/types.d.ts +21 -1
  552. package/dist/distribution/types.js +4 -0
  553. package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
  554. package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
  555. package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
  556. package/dist/evidenceExportHelper/index.d.ts +4 -0
  557. package/dist/evidenceExportHelper/index.js +4 -0
  558. package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
  559. package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
  560. package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
  561. package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
  562. package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
  563. package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
  564. package/dist/evidenceExportHelper/recipe.d.ts +7 -0
  565. package/dist/evidenceExportHelper/recipe.js +83 -0
  566. package/dist/filesystem/io.d.ts +2 -0
  567. package/dist/filesystem/io.js +16 -1
  568. package/dist/filesystem/paths.js +10 -1
  569. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  570. package/dist/ledger/causalConformanceCli.js +41 -0
  571. package/dist/ledger/causeNamespace.d.ts +8 -0
  572. package/dist/ledger/causeNamespace.js +24 -0
  573. package/dist/ledger/conformance.d.ts +83 -0
  574. package/dist/ledger/conformance.js +259 -0
  575. package/dist/ledger/emitters.d.ts +76 -0
  576. package/dist/ledger/emitters.js +188 -0
  577. package/dist/ledger/index.d.ts +4 -0
  578. package/dist/ledger/index.js +4 -0
  579. package/dist/ledger/principal.d.ts +96 -0
  580. package/dist/ledger/principal.js +121 -0
  581. package/dist/manifest/executionSchemas.d.ts +27 -0
  582. package/dist/manifest/executionSchemas.js +21 -2
  583. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  584. package/dist/manifest/externalParticipantSchemas.js +17 -0
  585. package/dist/manifest/index.d.ts +1 -0
  586. package/dist/manifest/index.js +1 -0
  587. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  588. package/dist/manifest/inlineAgentMember.js +9 -0
  589. package/dist/manifest/loadManifest.js +14 -8
  590. package/dist/manifest/mcpSchemas.d.ts +18 -0
  591. package/dist/manifest/mcpSchemas.js +44 -0
  592. package/dist/manifest/memorySchemas.d.ts +245 -0
  593. package/dist/manifest/memorySchemas.js +148 -0
  594. package/dist/manifest/renderSpawnfile.js +22 -131
  595. package/dist/manifest/renderSpawnfileNetworks.js +20 -2
  596. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  597. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  598. package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
  599. package/dist/manifest/scheduleSchemas.d.ts +3 -1
  600. package/dist/manifest/scheduleSchemas.js +91 -5
  601. package/dist/manifest/schemas.d.ts +2034 -40
  602. package/dist/manifest/schemas.js +82 -33
  603. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  604. package/dist/manifest/surfaceSchemas.js +24 -1
  605. package/dist/manifest/teamNetworkAccessSchemas.d.ts +6 -2
  606. package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
  607. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  608. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  609. package/dist/manifest/teamNetworkSchemas.d.ts +25 -190
  610. package/dist/manifest/teamNetworkSchemas.js +21 -317
  611. package/dist/manifest/teamNetworkServerSchemas.d.ts +155 -0
  612. package/dist/manifest/teamNetworkServerSchemas.js +215 -0
  613. package/dist/manifest/workspaceSchemas.d.ts +16 -0
  614. package/dist/manifest/workspaceSchemas.js +11 -0
  615. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  616. package/dist/ownership/siblingBuildFreshness.js +20 -0
  617. package/dist/report/types.d.ts +173 -1
  618. package/dist/runtime/common.d.ts +63 -1
  619. package/dist/runtime/common.js +88 -3
  620. package/dist/runtime/container.d.ts +28 -1
  621. package/dist/runtime/container.js +78 -29
  622. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  623. package/dist/runtime/containerPackageOverrides.js +33 -0
  624. package/dist/runtime/daimon/adapter.d.ts +14 -0
  625. package/dist/runtime/daimon/adapter.js +243 -0
  626. package/dist/runtime/daimon/attention.d.ts +8 -0
  627. package/dist/runtime/daimon/attention.js +32 -0
  628. package/dist/runtime/daimon/config.d.ts +25 -0
  629. package/dist/runtime/daimon/config.js +272 -0
  630. package/dist/runtime/daimon/contractManifest.d.ts +295 -0
  631. package/dist/runtime/daimon/contractManifest.js +319 -0
  632. package/dist/runtime/daimon/grokModel.d.ts +19 -0
  633. package/dist/runtime/daimon/grokModel.js +33 -0
  634. package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
  635. package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
  636. package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
  637. package/dist/runtime/daimon/grokWorkerContract.js +48 -0
  638. package/dist/runtime/daimon/memory.d.ts +57 -0
  639. package/dist/runtime/daimon/memory.js +125 -0
  640. package/dist/runtime/daimon/runAuth.d.ts +51 -0
  641. package/dist/runtime/daimon/runAuth.js +279 -0
  642. package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
  643. package/dist/runtime/daimon/runtimeIdentity.js +22 -0
  644. package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
  645. package/dist/runtime/daimon/scheduleAuthority.js +17 -0
  646. package/dist/runtime/index.d.ts +6 -0
  647. package/dist/runtime/index.js +6 -0
  648. package/dist/runtime/install.d.ts +3 -0
  649. package/dist/runtime/install.js +3 -0
  650. package/dist/runtime/localDaimonAuthority.d.ts +11 -0
  651. package/dist/runtime/localDaimonAuthority.js +77 -0
  652. package/dist/runtime/mnemeMcp.d.ts +28 -0
  653. package/dist/runtime/mnemeMcp.js +135 -0
  654. package/dist/runtime/openclaw/adapter.js +17 -6
  655. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  656. package/dist/runtime/openclaw/mcp.js +69 -0
  657. package/dist/runtime/openclaw/runAuth.js +2 -2
  658. package/dist/runtime/openclaw/scaffold.js +1 -1
  659. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  660. package/dist/runtime/openclaw/schedules.js +74 -0
  661. package/dist/runtime/pi/adapter.d.ts +1 -2
  662. package/dist/runtime/pi/adapter.js +87 -58
  663. package/dist/runtime/pi/appActivitySource.js +114 -2
  664. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  665. package/dist/runtime/pi/appAgentConfig.js +264 -0
  666. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  667. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  668. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  669. package/dist/runtime/pi/appCliSource.js +353 -0
  670. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  671. package/dist/runtime/pi/appControlSource.js +390 -0
  672. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  673. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  674. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  675. package/dist/runtime/pi/appCoreSource.js +104 -214
  676. package/dist/runtime/pi/appPreludeSource.js +140 -52
  677. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  678. package/dist/runtime/pi/appScheduleSource.js +84 -0
  679. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  680. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  681. package/dist/runtime/pi/appSource.d.ts +4 -1
  682. package/dist/runtime/pi/appSource.js +6 -2
  683. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  684. package/dist/runtime/pi/appTemplate.js +9 -126
  685. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  686. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  687. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  688. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  689. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  690. package/dist/runtime/pi/containerTargets.js +57 -0
  691. package/dist/runtime/pi/runAuth.js +126 -9
  692. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  693. package/dist/runtime/pi/testHelpers.js +40 -0
  694. package/dist/runtime/picoclaw/adapter.js +25 -29
  695. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  696. package/dist/runtime/picoclaw/mcp.js +43 -0
  697. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  698. package/dist/runtime/picoclaw/memory.js +17 -0
  699. package/dist/runtime/picoclaw/runAuth.js +1 -1
  700. package/dist/runtime/picoclaw/scaffold.js +1 -1
  701. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  702. package/dist/runtime/picoclaw/schedules.js +62 -3
  703. package/dist/runtime/registry.d.ts +3 -0
  704. package/dist/runtime/registry.js +19 -2
  705. package/dist/runtime/scheduleUtils.d.ts +3 -0
  706. package/dist/runtime/scheduleUtils.js +19 -0
  707. package/dist/runtime/types.d.ts +50 -2
  708. package/dist/runtime/usageLedger.d.ts +158 -0
  709. package/dist/runtime/usageLedger.js +269 -0
  710. package/dist/runtime/usageLedgerRead.d.ts +48 -0
  711. package/dist/runtime/usageLedgerRead.js +102 -0
  712. package/dist/runtime/usageRequestLedger.d.ts +42 -0
  713. package/dist/runtime/usageRequestLedger.js +72 -0
  714. package/dist/shared/daimonCodexDocker.d.ts +32 -0
  715. package/dist/shared/daimonCodexDocker.js +120 -0
  716. package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
  717. package/dist/shared/daimonGrokSeccompProfile.js +11 -0
  718. package/dist/shared/errors.d.ts +1 -1
  719. package/dist/shared/errors.js +2 -2
  720. package/dist/shared/index.d.ts +3 -0
  721. package/dist/shared/index.js +3 -0
  722. package/dist/shared/redaction.d.ts +2 -0
  723. package/dist/shared/redaction.js +10 -0
  724. package/dist/shared/types.d.ts +1 -1
  725. package/dist/shared/volumeNames.d.ts +6 -0
  726. package/dist/shared/volumeNames.js +14 -0
  727. package/dist/status/buildStatus.d.ts +1 -0
  728. package/dist/status/buildStatus.js +2 -0
  729. package/dist/status/compileReport.d.ts +22 -0
  730. package/dist/status/compileReport.js +16 -2
  731. package/dist/status/compiledProbeCollection.d.ts +21 -0
  732. package/dist/status/compiledProbeCollection.js +27 -0
  733. package/dist/status/imageStatusReport.js +6 -0
  734. package/dist/status/index.d.ts +3 -0
  735. package/dist/status/index.js +3 -0
  736. package/dist/status/lifecycleProbes.d.ts +19 -0
  737. package/dist/status/lifecycleProbes.js +174 -0
  738. package/dist/status/moltnetProbes.d.ts +7 -8
  739. package/dist/status/moltnetProbes.js +27 -198
  740. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  741. package/dist/status/moltnetWiringProbes.js +178 -0
  742. package/dist/target/cleanupRun.d.ts +41 -0
  743. package/dist/target/cleanupRun.js +139 -0
  744. package/dist/target/cleanupRunDocker.d.ts +16 -0
  745. package/dist/target/cleanupRunDocker.js +66 -0
  746. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  747. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  748. package/dist/target/composedPreparation.d.ts +205 -0
  749. package/dist/target/composedPreparation.js +223 -0
  750. package/dist/target/containerBundle.d.ts +82 -0
  751. package/dist/target/containerBundle.js +243 -0
  752. package/dist/target/containerBundleArchive.d.ts +31 -0
  753. package/dist/target/containerBundleArchive.js +140 -0
  754. package/dist/target/containerBundleAuthority.d.ts +25 -0
  755. package/dist/target/containerBundleAuthority.js +65 -0
  756. package/dist/target/containerBundleContracts.d.ts +114 -0
  757. package/dist/target/containerBundleContracts.js +173 -0
  758. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  759. package/dist/target/containerBundleFilesystemStore.js +247 -0
  760. package/dist/target/containerBundlePolicy.d.ts +33 -0
  761. package/dist/target/containerBundlePolicy.js +64 -0
  762. package/dist/target/containerBundleStore.d.ts +127 -0
  763. package/dist/target/containerBundleStore.js +284 -0
  764. package/dist/target/contracts.d.ts +538 -0
  765. package/dist/target/contracts.js +373 -0
  766. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  767. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  768. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  769. package/dist/target/dockerArtifactInspection.js +125 -0
  770. package/dist/target/dockerArtifacts.d.ts +21 -0
  771. package/dist/target/dockerArtifacts.js +110 -0
  772. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  773. package/dist/target/dockerArtifactsProvider.js +476 -0
  774. package/dist/target/dockerBaseImage.d.ts +2 -0
  775. package/dist/target/dockerBaseImage.js +11 -0
  776. package/dist/target/dockerCommandExecutor.d.ts +38 -0
  777. package/dist/target/dockerCommandExecutor.js +251 -0
  778. package/dist/target/dockerCommandExecutorCore.d.ts +35 -0
  779. package/dist/target/dockerCommandExecutorCore.js +275 -0
  780. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  781. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  782. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  783. package/dist/target/dockerContextSnapshot.js +158 -0
  784. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  785. package/dist/target/dockerEndpointFingerprint.js +9 -0
  786. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  787. package/dist/target/dockerPreparedArtifact.js +131 -0
  788. package/dist/target/dockerProjectionJson.d.ts +1 -0
  789. package/dist/target/dockerProjectionJson.js +80 -0
  790. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  791. package/dist/target/dockerPublicArtifactSnapshot.js +83 -0
  792. package/dist/target/dockerResources.d.ts +26 -0
  793. package/dist/target/dockerResources.js +162 -0
  794. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  795. package/dist/target/dockerResourcesProvider.js +207 -0
  796. package/dist/target/dockerSecrets.d.ts +39 -0
  797. package/dist/target/dockerSecrets.js +249 -0
  798. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  799. package/dist/target/dockerSecretsAuthority.js +216 -0
  800. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  801. package/dist/target/dockerSecretsLifecycle.js +133 -0
  802. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  803. package/dist/target/dockerSecretsProvider.js +329 -0
  804. package/dist/target/dockerTarget.d.ts +53 -0
  805. package/dist/target/dockerTarget.js +48 -0
  806. package/dist/target/dockerTargetBinding.d.ts +13 -0
  807. package/dist/target/dockerTargetBinding.js +95 -0
  808. package/dist/target/dockerTargetExecFile.d.ts +19 -0
  809. package/dist/target/dockerTargetExecFile.js +194 -0
  810. package/dist/target/dockerWorldClock.d.ts +17 -0
  811. package/dist/target/dockerWorldClock.js +111 -0
  812. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  813. package/dist/target/dockerWorldReadiness.js +119 -0
  814. package/dist/target/dockerWorldService.d.ts +23 -0
  815. package/dist/target/dockerWorldService.js +216 -0
  816. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  817. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  818. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  819. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  820. package/dist/target/dockerWorldServiceProvider.d.ts +64 -0
  821. package/dist/target/dockerWorldServiceProvider.js +330 -0
  822. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  823. package/dist/target/dockerWorldServiceStore.js +367 -0
  824. package/dist/target/evidenceExport.d.ts +57 -0
  825. package/dist/target/evidenceExport.js +527 -0
  826. package/dist/target/evidenceExportArchive.d.ts +10 -0
  827. package/dist/target/evidenceExportArchive.js +302 -0
  828. package/dist/target/evidenceExportContract.d.ts +27 -0
  829. package/dist/target/evidenceExportContract.js +40 -0
  830. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  831. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  832. package/dist/target/evidenceExportProvider.d.ts +87 -0
  833. package/dist/target/evidenceExportProvider.js +197 -0
  834. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  835. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  836. package/dist/target/evidenceExportStore.d.ts +70 -0
  837. package/dist/target/evidenceExportStore.js +498 -0
  838. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  839. package/dist/target/evidenceExportStorePublication.js +395 -0
  840. package/dist/target/handles.d.ts +20 -0
  841. package/dist/target/handles.js +56 -0
  842. package/dist/target/index.d.ts +12 -0
  843. package/dist/target/index.js +11 -0
  844. package/dist/target/journal.d.ts +59 -0
  845. package/dist/target/journal.js +529 -0
  846. package/dist/target/journalFilesystem.d.ts +3 -0
  847. package/dist/target/journalFilesystem.js +111 -0
  848. package/dist/target/journalRoot.d.ts +4 -0
  849. package/dist/target/journalRoot.js +6 -0
  850. package/dist/target/organizationAttachment.d.ts +23 -0
  851. package/dist/target/organizationAttachment.js +263 -0
  852. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  853. package/dist/target/organizationAttachmentAuthority.js +161 -0
  854. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  855. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  856. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  857. package/dist/target/organizationAttachmentProvider.js +289 -0
  858. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  859. package/dist/target/organizationAttachmentStore.js +316 -0
  860. package/dist/target/publicArtifactSnapshot.d.ts +72 -0
  861. package/dist/target/publicArtifactSnapshot.js +184 -0
  862. package/dist/target/topologyActivation.d.ts +51 -0
  863. package/dist/target/topologyActivation.js +149 -0
  864. package/dist/target/topologyAttestation.d.ts +37 -0
  865. package/dist/target/topologyAttestation.js +300 -0
  866. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  867. package/dist/target/topologyAttestationErrors.js +1 -0
  868. package/dist/target/worldClock.d.ts +60 -0
  869. package/dist/target/worldClock.js +129 -0
  870. package/dist/target/worldReadiness.d.ts +103 -0
  871. package/dist/target/worldReadiness.js +153 -0
  872. package/examples/README.md +45 -0
  873. package/examples/agent-with-subagents/AGENTS.md +3 -0
  874. package/examples/agent-with-subagents/Spawnfile +30 -0
  875. package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
  876. package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
  877. package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
  878. package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
  879. package/examples/daimon-org/Spawnfile +68 -0
  880. package/examples/daimon-org/TEAM.md +4 -0
  881. package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
  882. package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
  883. package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
  884. package/examples/daimon-org/teams/review/Spawnfile +53 -0
  885. package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
  886. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
  887. package/examples/daimon-public-host/AGENTS.md +3 -0
  888. package/examples/daimon-public-host/Spawnfile +21 -0
  889. package/examples/distribution-org/Spawnfile +43 -0
  890. package/examples/distribution-org/TEAM.md +4 -0
  891. package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
  892. package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
  893. package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
  894. package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
  895. package/examples/jungian-daimon-org/Spawnfile +41 -0
  896. package/examples/jungian-daimon-org/TEAM.md +21 -0
  897. package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
  898. package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
  899. package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
  900. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
  901. package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
  902. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
  903. package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
  904. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
  905. package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
  906. package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
  907. package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
  908. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
  909. package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
  910. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
  911. package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
  912. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
  913. package/examples/mixed-runtime-org/Spawnfile +71 -0
  914. package/examples/mixed-runtime-org/TEAM.md +8 -0
  915. package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
  916. package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
  917. package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
  918. package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
  919. package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
  920. package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
  921. package/examples/moltnet-team-chat/Spawnfile +43 -0
  922. package/examples/moltnet-team-chat/TEAM.md +5 -0
  923. package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
  924. package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
  925. package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
  926. package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
  927. package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
  928. package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
  929. package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
  930. package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
  931. package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
  932. package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
  933. package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
  934. package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
  935. package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
  936. package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
  937. package/examples/single-agent/AGENTS.md +3 -0
  938. package/examples/single-agent/HEARTBEAT.md +3 -0
  939. package/examples/single-agent/IDENTITY.md +3 -0
  940. package/examples/single-agent/MEMORY.md +3 -0
  941. package/examples/single-agent/SOUL.md +3 -0
  942. package/examples/single-agent/Spawnfile +41 -0
  943. package/examples/single-agent/skills/web_search/SKILL.md +6 -0
  944. package/moltnet-releases.json +21 -0
  945. package/package.json +57 -14
  946. package/runtimes.yaml +11 -23
  947. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  948. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  949. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  950. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,173 @@
1
+ import { Buffer } from "node:buffer";
2
+ import { createHash } from "node:crypto";
3
+ import { z } from "zod";
4
+ import { assertOrdinaryJsonGraph, opaqueTargetHandleSchema, selectedTargetSchema } from "./contracts.js";
5
+ export const TARGET_LOCAL_BUNDLE_PREPARE_REQUEST_VERSION = "spawnfile.target-local-container-bundle.prepare-request.v1";
6
+ export const TARGET_LOCAL_BUNDLE_PREPARE_RECEIPT_VERSION = "spawnfile.target-local-container-bundle.prepare-receipt.v1";
7
+ export const TARGET_LOCAL_BUNDLE_LOOKUP_VERSION = "spawnfile.target-local-container-bundle.lookup.v1";
8
+ const digest = z.string().regex(/^sha256:[a-f0-9]{64}$/u);
9
+ const idempotency = z.string().regex(/^idem_[a-z0-9]{16,64}$/u);
10
+ const alias = z.string().regex(/^[a-z][a-z0-9-]{0,62}$/u);
11
+ const archivePath = z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._/-]{0,255}$/u)
12
+ .refine((value) => !value.includes("//") && !value.split("/").some((part) => part === "." || part === ".."))
13
+ .refine((value) => {
14
+ if (Buffer.byteLength(value, "utf8") <= 100)
15
+ return true;
16
+ const split = value.lastIndexOf("/");
17
+ return split > 0 && Buffer.byteLength(value.slice(0, split), "utf8") <= 155
18
+ && Buffer.byteLength(value.slice(split + 1), "utf8") <= 100;
19
+ });
20
+ const platform = z.object({ architecture: z.enum(["amd64", "arm64"]), os: z.literal("linux") }).strict();
21
+ const canonicalBase64 = (value) => {
22
+ if (value.length > 5_592_408 || value.length % 4 !== 0)
23
+ return false;
24
+ let padding = 0;
25
+ for (let index = 0; index < value.length; index += 1) {
26
+ const code = value.charCodeAt(index);
27
+ const equals = code === 61;
28
+ const ordinary = code >= 65 && code <= 90 || code >= 97 && code <= 122 || code >= 48 && code <= 57 || code === 43 || code === 47;
29
+ if (!equals && !ordinary || equals && index < value.length - 2)
30
+ return false;
31
+ if (equals)
32
+ padding += 1;
33
+ else if (padding > 0)
34
+ return false;
35
+ }
36
+ if (padding > 2 || padding === 1 && value.at(-1) !== "=" || padding === 2 && !value.endsWith("=="))
37
+ return false;
38
+ const bytes = Buffer.from(value, "base64");
39
+ return bytes.byteLength <= 4_194_304 && bytes.toString("base64") === value;
40
+ };
41
+ const archiveBytes = z.string().refine(canonicalBase64);
42
+ const canonicalEntries = (items) => items.every((item, index) => (index === 0 || items[index - 1] < item) && archivePath.safeParse(item).success);
43
+ export const targetLocalBundlePrepareRequestSchema = z.object({
44
+ archive_base64: archiveBytes,
45
+ archive_digest: digest,
46
+ archive_entries: z.array(archivePath).min(1).max(32).superRefine((items, context) => {
47
+ if (!canonicalEntries(items)) {
48
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "archive entries must be canonical" });
49
+ }
50
+ }),
51
+ artifact_digest: digest,
52
+ build_policy_digest: digest,
53
+ bundle_digest: digest,
54
+ entrypoint: archivePath,
55
+ idempotency_key: idempotency,
56
+ launcher_digest: digest,
57
+ network_alias: alias,
58
+ platform,
59
+ platform_digest: digest,
60
+ selected_target: selectedTargetSchema,
61
+ version: z.literal(TARGET_LOCAL_BUNDLE_PREPARE_REQUEST_VERSION)
62
+ }).strict().superRefine((value, context) => {
63
+ if (new Set([value.archive_digest, value.artifact_digest, value.build_policy_digest,
64
+ value.bundle_digest, value.launcher_digest, value.platform_digest]).size !== 6) {
65
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "bundle correlations must be distinct" });
66
+ }
67
+ if (!value.archive_entries.includes(value.entrypoint)) {
68
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "entrypoint must be an admitted archive entry" });
69
+ }
70
+ });
71
+ const receiptBodySchema = z.object({
72
+ archive_digest: digest,
73
+ artifact_digest: digest,
74
+ build_policy_digest: digest,
75
+ bundle_digest: digest,
76
+ launcher_digest: digest,
77
+ mapping_handle: opaqueTargetHandleSchema,
78
+ network_alias: alias,
79
+ operation_handle: opaqueTargetHandleSchema,
80
+ platform,
81
+ platform_digest: digest,
82
+ receipt_digest: digest,
83
+ request_digest: digest,
84
+ selected_target: selectedTargetSchema,
85
+ version: z.literal(TARGET_LOCAL_BUNDLE_PREPARE_RECEIPT_VERSION)
86
+ }).strict();
87
+ export const targetLocalBundlePrepareReceiptSchema = receiptBodySchema;
88
+ const lookupBase = {
89
+ idempotency_key: idempotency,
90
+ request_digest: digest,
91
+ version: z.literal(TARGET_LOCAL_BUNDLE_LOOKUP_VERSION)
92
+ };
93
+ export const targetLocalBundleLookupSchema = z.discriminatedUnion("status", [
94
+ z.object({ ...lookupBase, status: z.literal("not_applied") }).strict(),
95
+ z.object({ ...lookupBase, operation_handle: opaqueTargetHandleSchema, status: z.literal("pending") }).strict(),
96
+ z.object({ ...lookupBase, operation_handle: opaqueTargetHandleSchema, receipt: receiptBodySchema, status: z.literal("completed") }).strict()
97
+ ]);
98
+ export const targetLocalBundleLookupRequestSchema = z.object({
99
+ idempotency_key: idempotency,
100
+ request_digest: digest,
101
+ version: z.literal(TARGET_LOCAL_BUNDLE_LOOKUP_VERSION)
102
+ }).strict();
103
+ /* The generic JSON graph guard intentionally caps ordinary control messages at
104
+ * 64 KiB. A bundle request is the one bounded binary envelope: its canonical
105
+ * base64 may be 5,592,408 bytes for a 4 MiB archive. Clone descriptor values
106
+ * first, replacing only that field for graph admission, so schema parsing
107
+ * never invokes caller-owned accessors or proxies. */
108
+ const safeBundleRequestGraph = (raw) => {
109
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
110
+ assertOrdinaryJsonGraph(raw);
111
+ return raw;
112
+ }
113
+ const prototype = Object.getPrototypeOf(raw);
114
+ const descriptors = Object.getOwnPropertyDescriptors(raw);
115
+ const archive = descriptors.archive_base64;
116
+ if (prototype !== Object.prototype || !archive || !("value" in archive) || typeof archive.value !== "string") {
117
+ assertOrdinaryJsonGraph(raw);
118
+ return raw;
119
+ }
120
+ const admitted = Object.create(Object.prototype);
121
+ Object.defineProperties(admitted, descriptors);
122
+ Object.defineProperty(admitted, "archive_base64", { configurable: true, enumerable: true, value: "", writable: true });
123
+ assertOrdinaryJsonGraph(admitted);
124
+ Object.defineProperty(admitted, "archive_base64", { configurable: true, enumerable: true, value: archive.value, writable: true });
125
+ return admitted;
126
+ };
127
+ export const parseTargetLocalBundlePrepareRequest = (raw) => {
128
+ return targetLocalBundlePrepareRequestSchema.parse(safeBundleRequestGraph(raw));
129
+ };
130
+ export const parseTargetLocalBundlePrepareReceipt = (raw) => {
131
+ assertOrdinaryJsonGraph(raw);
132
+ const parsed = targetLocalBundlePrepareReceiptSchema.parse(raw);
133
+ if (parsed.receipt_digest !== createTargetLocalBundleReceiptDigest(parsed))
134
+ throw new Error("Container bundle receipt failed");
135
+ return parsed;
136
+ };
137
+ export const parseTargetLocalBundleLookup = (raw) => {
138
+ assertOrdinaryJsonGraph(raw);
139
+ const parsed = targetLocalBundleLookupSchema.parse(raw);
140
+ if (parsed.status === "completed") {
141
+ const receipt = parseTargetLocalBundlePrepareReceipt(parsed.receipt);
142
+ if (receipt.operation_handle !== parsed.operation_handle || receipt.request_digest !== parsed.request_digest) {
143
+ throw new Error("Container bundle lookup failed");
144
+ }
145
+ }
146
+ return parsed;
147
+ };
148
+ export const parseTargetLocalBundleLookupRequest = (raw) => {
149
+ assertOrdinaryJsonGraph(raw);
150
+ return targetLocalBundleLookupRequestSchema.parse(raw);
151
+ };
152
+ const canonical = (value, trusted = false) => {
153
+ if (!trusted)
154
+ assertOrdinaryJsonGraph(value);
155
+ if (Array.isArray(value))
156
+ return `[${value.map((item) => canonical(item, true)).join(",")}]`;
157
+ if (value !== null && typeof value === "object") {
158
+ const record = value;
159
+ return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${canonical(record[key], true)}`).join(",")}}`;
160
+ }
161
+ return JSON.stringify(value);
162
+ };
163
+ const hashed = (domain, value, trusted = false) => `sha256:${createHash("sha256")
164
+ .update(`spawnfile.target-local-container-bundle.${domain}.v1\0`, "utf8")
165
+ .update(canonical(value, trusted), "utf8").digest("hex")}`;
166
+ export const createTargetLocalBundleRequestDigest = (raw) => hashed("request", parseTargetLocalBundlePrepareRequest(raw), true);
167
+ export const createTargetLocalBundleReceiptDigest = (raw) => {
168
+ assertOrdinaryJsonGraph(raw);
169
+ const { receipt_digest: _digest, ...body } = targetLocalBundlePrepareReceiptSchema.parse(raw);
170
+ return hashed("receipt", body);
171
+ };
172
+ export const createCanonicalTargetLocalBundleReceiptBytes = (raw) => canonical(parseTargetLocalBundlePrepareReceipt(raw));
173
+ export const createCanonicalTargetLocalBundleLookupBytes = (raw) => canonical(parseTargetLocalBundleLookup(raw));
@@ -0,0 +1,3 @@
1
+ import { type TargetLocalBundleStore } from "./containerBundleStore.js";
2
+ /** Secure single-file persistence around the strict exact-key store. */
3
+ export declare const initializeFilesystemTargetLocalBundleStore: (root: unknown) => Promise<TargetLocalBundleStore>;
@@ -0,0 +1,247 @@
1
+ import { constants } from "node:fs";
2
+ import { chmod, lstat, mkdir, open, realpath, rename, unlink } from "node:fs/promises";
3
+ import { Buffer } from "node:buffer";
4
+ import { createHash, randomUUID } from "node:crypto";
5
+ import path from "node:path";
6
+ import { createMemoryTargetLocalBundleStore } from "./containerBundleStore.js";
7
+ const ERROR = "Target-local container bundle store failed";
8
+ const OWNER = process.getuid?.() ?? -1;
9
+ const MAX_RECORD_BYTES = 4_194_304;
10
+ const STALE_LOCK_MS = 60_000;
11
+ const fail = () => { throw new Error(ERROR); };
12
+ const replayInput = (raw) => {
13
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
14
+ return fail();
15
+ const value = raw;
16
+ if (Object.keys(value).sort().join("\0") !== "idempotency_key\0maximum_wait_ms\0request_digest"
17
+ || typeof value.idempotency_key !== "string" || !/^idem_[a-z0-9]{16,64}$/u.test(value.idempotency_key)
18
+ || typeof value.request_digest !== "string" || !/^sha256:[a-f0-9]{64}$/u.test(value.request_digest)
19
+ || !Number.isSafeInteger(value.maximum_wait_ms) || value.maximum_wait_ms < 0 || value.maximum_wait_ms > 30_000)
20
+ return fail();
21
+ return Object.freeze({ idempotency_key: value.idempotency_key, maximum_wait_ms: value.maximum_wait_ms, request_digest: value.request_digest });
22
+ };
23
+ const secureDirectory = async (raw) => {
24
+ if (typeof raw !== "string" || !path.isAbsolute(raw) || path.parse(raw).root === raw || raw.length > 4096 || path.normalize(raw) !== raw)
25
+ fail();
26
+ /* Resolve pre-existing platform aliases once, then retain physical ancestor
27
+ identities. Subsequent alias/root swaps cannot redirect a state operation. */
28
+ const requested = raw;
29
+ const root = path.join(await realpath(path.dirname(requested)).catch(fail), path.basename(requested));
30
+ const parsed = path.parse(root);
31
+ let current = parsed.root;
32
+ const identities = [];
33
+ for (const part of root.slice(parsed.root.length).split(path.sep).filter(Boolean)) {
34
+ current = path.join(current, part);
35
+ let info;
36
+ try {
37
+ info = await lstat(current);
38
+ }
39
+ catch (error) {
40
+ if (error.code !== "ENOENT")
41
+ fail();
42
+ await mkdir(current, { mode: 0o700 });
43
+ info = await lstat(current).catch(fail);
44
+ }
45
+ if (!info.isDirectory() || info.isSymbolicLink())
46
+ fail();
47
+ identities.push(Object.freeze({ dev: info.dev, ino: info.ino, path: current }));
48
+ }
49
+ await chmod(root, 0o700).catch(fail);
50
+ const final = await lstat(root).catch(fail);
51
+ const rootIdentity = identities.at(-1);
52
+ if (!rootIdentity || final.dev !== rootIdentity.dev || final.ino !== rootIdentity.ino
53
+ || final.uid !== OWNER || (final.mode & 0o777) !== 0o700)
54
+ fail();
55
+ return Object.freeze({ identities: Object.freeze(identities), path: root });
56
+ };
57
+ const assertSecureDirectory = async (directory) => {
58
+ for (const expected of directory.identities) {
59
+ const current = await lstat(expected.path).catch(fail);
60
+ if (!current.isDirectory() || current.isSymbolicLink() || current.dev !== expected.dev || current.ino !== expected.ino)
61
+ fail();
62
+ }
63
+ const root = await lstat(directory.path).catch(fail);
64
+ if (root.uid !== OWNER || (root.mode & 0o777) !== 0o700)
65
+ fail();
66
+ };
67
+ const read = async (directory, file, maximum = MAX_RECORD_BYTES) => {
68
+ await assertSecureDirectory(directory);
69
+ let handle;
70
+ try {
71
+ handle = await open(file, constants.O_RDONLY | constants.O_NOFOLLOW);
72
+ }
73
+ catch (error) {
74
+ if (error.code === "ENOENT") {
75
+ await assertSecureDirectory(directory);
76
+ return null;
77
+ }
78
+ fail();
79
+ }
80
+ try {
81
+ const opened = handle;
82
+ const stat = await opened.stat();
83
+ if (!stat.isFile() || stat.nlink !== 1 || stat.uid !== OWNER || (stat.mode & 0o777) !== 0o600 || stat.size > maximum)
84
+ fail();
85
+ const bytes = await opened.readFile();
86
+ await assertSecureDirectory(directory);
87
+ return bytes;
88
+ }
89
+ finally {
90
+ await handle?.close().catch(() => undefined);
91
+ }
92
+ };
93
+ const syncDirectory = async (directory) => { const handle = await open(directory, constants.O_RDONLY); try {
94
+ await handle.sync();
95
+ }
96
+ finally {
97
+ await handle.close();
98
+ } };
99
+ const write = async (directory, file, content) => {
100
+ await assertSecureDirectory(directory);
101
+ const temp = `${file}.${process.pid}.${randomUUID()}.tmp`;
102
+ let handle;
103
+ try {
104
+ handle = await open(temp, constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW, 0o600);
105
+ await handle.writeFile(content);
106
+ await handle.sync();
107
+ await handle.close();
108
+ handle = undefined;
109
+ await assertSecureDirectory(directory);
110
+ await rename(temp, file);
111
+ await syncDirectory(path.dirname(file));
112
+ await assertSecureDirectory(directory);
113
+ }
114
+ catch {
115
+ await handle?.close().catch(() => undefined);
116
+ fail();
117
+ }
118
+ };
119
+ const acquire = async (directory, lock) => {
120
+ for (let attempt = 0; attempt < 600; attempt += 1) {
121
+ await assertSecureDirectory(directory);
122
+ try {
123
+ const handle = await open(lock, constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW, 0o600);
124
+ await handle.close();
125
+ await assertSecureDirectory(directory);
126
+ return async () => { await assertSecureDirectory(directory); await unlink(lock).catch(fail); await assertSecureDirectory(directory); };
127
+ }
128
+ catch (error) {
129
+ if (error.code !== "EEXIST")
130
+ fail();
131
+ const current = await lstat(lock).catch(() => null);
132
+ if (!current)
133
+ continue;
134
+ if (!current.isFile() || current.isSymbolicLink() || current.nlink !== 1 || current.uid !== OWNER || (current.mode & 0o777) !== 0o600)
135
+ fail();
136
+ if (Date.now() - current.mtimeMs > STALE_LOCK_MS) {
137
+ await unlink(lock).catch(() => undefined);
138
+ continue;
139
+ }
140
+ await new Promise((resolve) => setTimeout(resolve, 10));
141
+ }
142
+ }
143
+ return fail();
144
+ };
145
+ /** Secure single-file persistence around the strict exact-key store. */
146
+ export const initializeFilesystemTargetLocalBundleStore = async (root) => {
147
+ const directory = await secureDirectory(root);
148
+ const archives = await secureDirectory(path.join(directory.path, "archives"));
149
+ const file = path.join(directory.path, "container-bundles.json");
150
+ const lock = `${file}.lock`;
151
+ const archive = async (digest) => {
152
+ if (typeof digest !== "string" || !/^sha256:[a-f0-9]{64}$/u.test(digest))
153
+ fail();
154
+ const exactDigest = digest;
155
+ const bytes = await read(archives, path.join(archives.path, exactDigest.slice(7)), 4_194_304);
156
+ if (!bytes || bytes.byteLength > 4_194_304 || `sha256:${createHash("sha256").update(bytes).digest("hex")}` !== exactDigest)
157
+ fail();
158
+ return bytes;
159
+ };
160
+ const writeArchive = async (request) => {
161
+ const bytes = Buffer.from(request.archive_base64, "base64");
162
+ if (bytes.byteLength > 4_194_304 || `sha256:${createHash("sha256").update(bytes).digest("hex")}` !== request.archive_digest)
163
+ fail();
164
+ const target = path.join(archives.path, request.archive_digest.slice(7));
165
+ const current = await read(archives, target, 4_194_304);
166
+ if (current && !current.equals(bytes))
167
+ fail();
168
+ else if (!current)
169
+ await write(archives, target, bytes);
170
+ };
171
+ const load = async () => {
172
+ await assertSecureDirectory(directory);
173
+ await assertSecureDirectory(archives);
174
+ const store = createMemoryTargetLocalBundleStore();
175
+ const text = await read(directory, file);
176
+ if (!text)
177
+ return store;
178
+ let state;
179
+ try {
180
+ state = JSON.parse(text.toString("utf8"));
181
+ }
182
+ catch {
183
+ fail();
184
+ }
185
+ if (!state || typeof state !== "object" || Array.isArray(state))
186
+ fail();
187
+ const value = state;
188
+ const records = value.records;
189
+ if (!Array.isArray(records) || Object.keys(value).sort().join("\0") !== "records\0version"
190
+ || value.version !== "spawnfile.target-local-container-bundle.private.v2")
191
+ fail();
192
+ const hydrated = await Promise.all(records.map(async (raw) => {
193
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
194
+ fail();
195
+ const record = raw;
196
+ if (!record.request || typeof record.request !== "object" || Array.isArray(record.request))
197
+ fail();
198
+ const request = record.request;
199
+ if (Object.keys(request).includes("archive_base64") || typeof request.archive_digest !== "string")
200
+ fail();
201
+ return { ...record, request: { ...request, archive_base64: (await archive(request.archive_digest)).toString("base64") } };
202
+ }));
203
+ store.restore(hydrated);
204
+ return store;
205
+ };
206
+ const save = async (store) => {
207
+ const records = store.snapshot();
208
+ await Promise.all(records.map((record) => writeArchive(record.request)));
209
+ const privateRecords = records.map(({ request, ...record }) => { const { archive_base64: _archive, ...metadata } = request; return { ...record, request: metadata }; });
210
+ await write(directory, file, JSON.stringify({ records: privateRecords, version: "spawnfile.target-local-container-bundle.private.v2" }));
211
+ };
212
+ const mutate = async (action) => { const release = await acquire(directory, lock); try {
213
+ const store = await load();
214
+ const result = await action(store);
215
+ await save(store);
216
+ return result;
217
+ }
218
+ finally {
219
+ await release();
220
+ } };
221
+ /* The production adapter persists its exact mapping separately; this store keeps
222
+ admissions strict and intentionally exposes no scan/list primitive. */
223
+ const store = {
224
+ awaitReplay: async (raw) => {
225
+ const value = replayInput(raw);
226
+ const deadline = Date.now() + value.maximum_wait_ms;
227
+ for (;;) {
228
+ const result = await load().then((memory) => memory.lookup(value));
229
+ if (result.status !== "pending" || Date.now() >= deadline)
230
+ return result;
231
+ await new Promise((resolve) => setTimeout(resolve, 25));
232
+ }
233
+ },
234
+ beginBuild: (value) => mutate((memory) => memory.beginBuild(value)),
235
+ reserve: (raw) => mutate((memory) => memory.reserve(raw)),
236
+ renew: (value) => mutate((memory) => memory.renew(value)),
237
+ retryMissingCompleted: (value) => mutate((memory) => memory.retryMissingCompleted(value)),
238
+ retryPrebuild: (value) => mutate((memory) => memory.retryPrebuild(value)),
239
+ complete: (value) => mutate((memory) => memory.complete(value)),
240
+ markIncomplete: (value) => mutate((memory) => memory.markIncomplete(value)),
241
+ resolve: (value) => load().then((memory) => memory.resolve(value)),
242
+ resolvePrepared: (value) => load().then((memory) => memory.resolvePrepared(value)),
243
+ stagePostbuild: (value) => mutate((memory) => memory.stagePostbuild(value)),
244
+ lookup: (value) => load().then((memory) => memory.lookup(value))
245
+ };
246
+ return Object.freeze(store);
247
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Private policy derivation for a target-local Docker bundle build. This
3
+ * intentionally produces only commitment digests; the base-image config ID
4
+ * remains an operator-side configuration input and is never a public receipt
5
+ * field.
6
+ */
7
+ export declare const TARGET_LOCAL_CONTAINER_BUNDLE_POLICY: Readonly<{
8
+ builder: Readonly<{
9
+ dockerfile: "FROM pinned-config; WORKDIR /opt/bundle; COPY bundle; ENTRYPOINT node /opt/bundle/<entrypoint>; CMD []";
10
+ network: "none";
11
+ pull: false;
12
+ version: "spawnfile.target-local-container-bundle.builder.v1";
13
+ }>;
14
+ version: "spawnfile.target-local-container-bundle-policy.v1";
15
+ }>;
16
+ export interface TargetLocalContainerBundlePolicyInput {
17
+ readonly archiveDigest: string;
18
+ readonly artifactDigest: string;
19
+ readonly baseImageConfigDigest: string;
20
+ readonly bundleDigest: string;
21
+ readonly entrypoint: string;
22
+ readonly launcherDigest: string;
23
+ readonly networkAlias: string;
24
+ readonly platform: {
25
+ readonly architecture: "amd64" | "arm64";
26
+ readonly os: "linux";
27
+ };
28
+ }
29
+ /** One frozen derivation binds immutable bundle claims to the generic builder. */
30
+ export declare const deriveTargetLocalContainerBundlePolicy: (raw: TargetLocalContainerBundlePolicyInput) => Readonly<{
31
+ readonly buildPolicyDigest: `sha256:${string}`;
32
+ readonly platformDigest: `sha256:${string}`;
33
+ }>;
@@ -0,0 +1,64 @@
1
+ import { createHash } from "node:crypto";
2
+ /**
3
+ * Private policy derivation for a target-local Docker bundle build. This
4
+ * intentionally produces only commitment digests; the base-image config ID
5
+ * remains an operator-side configuration input and is never a public receipt
6
+ * field.
7
+ */
8
+ export const TARGET_LOCAL_CONTAINER_BUNDLE_POLICY = Object.freeze({
9
+ builder: Object.freeze({
10
+ dockerfile: "FROM pinned-config; WORKDIR /opt/bundle; COPY bundle; ENTRYPOINT node /opt/bundle/<entrypoint>; CMD []",
11
+ network: "none",
12
+ pull: false,
13
+ version: "spawnfile.target-local-container-bundle.builder.v1"
14
+ }),
15
+ version: "spawnfile.target-local-container-bundle-policy.v1"
16
+ });
17
+ const DIGEST = /^sha256:[a-f0-9]{64}$/u;
18
+ const ENTRYPOINT = /^[A-Za-z0-9][A-Za-z0-9._/-]{0,239}$/u;
19
+ const ALIAS = /^[a-z][a-z0-9-]{0,62}$/u;
20
+ const fail = () => {
21
+ throw new Error("Target-local container bundle policy failed");
22
+ };
23
+ const canonical = (value) => {
24
+ if (Array.isArray(value))
25
+ return `[${value.map(canonical).join(",")}]`;
26
+ if (value !== null && typeof value === "object") {
27
+ const entry = value;
28
+ return `{${Object.keys(entry).sort().map((key) => `${JSON.stringify(key)}:${canonical(entry[key])}`).join(",")}}`;
29
+ }
30
+ return JSON.stringify(value);
31
+ };
32
+ const digest = (domain, value) => `sha256:${createHash("sha256")
33
+ .update(`spawnfile.target-local-container-bundle.${domain}.v1\0`, "utf8")
34
+ .update(canonical(value), "utf8").digest("hex")}`;
35
+ /** One frozen derivation binds immutable bundle claims to the generic builder. */
36
+ export const deriveTargetLocalContainerBundlePolicy = (raw) => {
37
+ if (!raw || typeof raw !== "object"
38
+ || ![raw.archiveDigest, raw.artifactDigest, raw.baseImageConfigDigest, raw.bundleDigest, raw.launcherDigest]
39
+ .every((value) => typeof value === "string" && DIGEST.test(value))
40
+ || typeof raw.entrypoint !== "string" || !ENTRYPOINT.test(raw.entrypoint)
41
+ || raw.entrypoint.includes("//") || raw.entrypoint.split("/").some((part) => part === "." || part === "..")
42
+ || typeof raw.networkAlias !== "string" || !ALIAS.test(raw.networkAlias)
43
+ || !raw.platform || raw.platform.os !== "linux"
44
+ || (raw.platform.architecture !== "amd64" && raw.platform.architecture !== "arm64"))
45
+ fail();
46
+ const platform = Object.freeze({ architecture: raw.platform.architecture, os: "linux" });
47
+ const platformDigest = digest("platform", platform);
48
+ const buildPolicyDigest = digest("build-policy", {
49
+ builder: TARGET_LOCAL_CONTAINER_BUNDLE_POLICY.builder,
50
+ claims: {
51
+ archive_digest: raw.archiveDigest,
52
+ artifact_digest: raw.artifactDigest,
53
+ base_image_config_digest: raw.baseImageConfigDigest,
54
+ bundle_digest: raw.bundleDigest,
55
+ entrypoint: raw.entrypoint,
56
+ launcher_digest: raw.launcherDigest,
57
+ network_alias: raw.networkAlias,
58
+ platform,
59
+ platform_digest: platformDigest
60
+ },
61
+ version: TARGET_LOCAL_CONTAINER_BUNDLE_POLICY.version
62
+ });
63
+ return Object.freeze({ buildPolicyDigest, platformDigest });
64
+ };
@@ -0,0 +1,127 @@
1
+ import { type TargetLocalBundleLookup, type TargetLocalBundlePrepareReceipt, type TargetLocalBundlePrepareRequest } from "./containerBundleContracts.js";
2
+ import { type OpaqueTargetHandle } from "./contracts.js";
3
+ export interface TargetLocalBundlePrivateMapping {
4
+ readonly archive_digest: string;
5
+ readonly artifact_digest: string;
6
+ readonly base_image_config_digest: string;
7
+ readonly build_policy_digest: string;
8
+ readonly bundle_digest: string;
9
+ readonly config_id: string;
10
+ readonly daemon_epoch: string;
11
+ readonly entrypoint: string;
12
+ readonly gc_tag: string;
13
+ readonly identity_kind: "docker_image_config_digest";
14
+ readonly launcher_digest: string;
15
+ readonly network_alias: string;
16
+ readonly operation_handle: OpaqueTargetHandle;
17
+ readonly platform: {
18
+ readonly architecture: "amd64" | "arm64";
19
+ readonly os: "linux";
20
+ };
21
+ readonly platform_digest: string;
22
+ readonly request_digest: string;
23
+ readonly selected_target: TargetLocalBundlePrepareRequest["selected_target"];
24
+ }
25
+ export interface TargetLocalBundleLease {
26
+ readonly generation: number;
27
+ readonly lease_id: string;
28
+ readonly operation_handle: OpaqueTargetHandle;
29
+ readonly request_digest: string;
30
+ }
31
+ export type TargetLocalBundleWorkState = "prebuild" | "inflight" | "postbuild";
32
+ export type TargetLocalBundleReservation = {
33
+ readonly kind: "owner";
34
+ readonly lease: TargetLocalBundleLease;
35
+ readonly mapping?: TargetLocalBundlePrivateMapping;
36
+ readonly operation_handle: OpaqueTargetHandle;
37
+ readonly request_digest: string;
38
+ readonly state: TargetLocalBundleWorkState;
39
+ } | {
40
+ readonly generation: number;
41
+ readonly kind: "replay";
42
+ readonly mapping: TargetLocalBundlePrivateMapping;
43
+ readonly receipt: TargetLocalBundlePrepareReceipt;
44
+ } | {
45
+ readonly kind: "pending";
46
+ readonly operation_handle: OpaqueTargetHandle;
47
+ readonly request_digest: string;
48
+ readonly state: TargetLocalBundleWorkState;
49
+ } | {
50
+ readonly kind: "incomplete";
51
+ readonly operation_handle: OpaqueTargetHandle;
52
+ readonly request_digest: string;
53
+ };
54
+ export interface TargetLocalBundleStore {
55
+ /** Read-only, bounded join for another durable owner. It never reserves or recovers work. */
56
+ awaitReplay(input: {
57
+ readonly idempotency_key: unknown;
58
+ readonly maximum_wait_ms: unknown;
59
+ readonly request_digest: unknown;
60
+ }): Promise<TargetLocalBundleLookup>;
61
+ beginBuild(input: {
62
+ readonly lease: unknown;
63
+ }): Promise<TargetLocalBundleLease>;
64
+ complete(input: {
65
+ readonly lease: unknown;
66
+ readonly mapping: TargetLocalBundlePrivateMapping;
67
+ readonly receipt: unknown;
68
+ }): Promise<TargetLocalBundlePrepareReceipt>;
69
+ lookup(input: {
70
+ readonly idempotency_key: unknown;
71
+ readonly request_digest: unknown;
72
+ }): Promise<TargetLocalBundleLookup>;
73
+ markIncomplete(input: {
74
+ readonly lease: unknown;
75
+ readonly operation_handle: unknown;
76
+ readonly request_digest: unknown;
77
+ }): Promise<void>;
78
+ reserve(raw: unknown): Promise<TargetLocalBundleReservation>;
79
+ renew(input: {
80
+ readonly lease: unknown;
81
+ }): Promise<TargetLocalBundleLease>;
82
+ /** Atomically reclaims only the completed generation whose exact anchor was proven absent. */
83
+ retryMissingCompleted(input: {
84
+ readonly generation: unknown;
85
+ readonly operation_handle: unknown;
86
+ readonly request_digest: unknown;
87
+ }): Promise<TargetLocalBundleReservation>;
88
+ /** A reclaimed owner may retry only a proven absent pre-effect. */
89
+ retryPrebuild(input: {
90
+ readonly lease: unknown;
91
+ }): Promise<TargetLocalBundleLease>;
92
+ resolve(input: {
93
+ readonly operation_handle: unknown;
94
+ readonly request_digest: unknown;
95
+ }): Promise<TargetLocalBundlePrivateMapping | null>;
96
+ resolvePrepared(input: {
97
+ readonly artifact_digest: unknown;
98
+ readonly build_policy_digest: unknown;
99
+ readonly bundle_digest: unknown;
100
+ readonly selected_target: unknown;
101
+ }): Promise<{
102
+ readonly mapping: TargetLocalBundlePrivateMapping;
103
+ readonly request: TargetLocalBundlePrepareRequest;
104
+ } | null>;
105
+ stagePostbuild(input: {
106
+ readonly lease: unknown;
107
+ readonly mapping: TargetLocalBundlePrivateMapping;
108
+ }): Promise<TargetLocalBundleLease>;
109
+ }
110
+ export interface TargetLocalBundleStoredRecord {
111
+ readonly generation: number;
112
+ readonly idempotency_key: string;
113
+ readonly lease_expires_at: number | null;
114
+ readonly lease_id: string | null;
115
+ readonly mapping?: TargetLocalBundlePrivateMapping;
116
+ readonly operation_handle: OpaqueTargetHandle;
117
+ readonly receipt?: TargetLocalBundlePrepareReceipt;
118
+ readonly request: TargetLocalBundlePrepareRequest;
119
+ readonly request_digest: string;
120
+ readonly state: TargetLocalBundleWorkState | "completed" | "incomplete";
121
+ }
122
+ export interface TargetLocalBundleMemoryStore extends TargetLocalBundleStore {
123
+ restore(records: readonly unknown[]): void;
124
+ snapshot(): readonly TargetLocalBundleStoredRecord[];
125
+ }
126
+ /** Exact-key private store. It never enumerates Docker state or admits inverse config-ID lookup. */
127
+ export declare const createMemoryTargetLocalBundleStore: () => TargetLocalBundleMemoryStore;