@noopolis/daimon 0.1.2 → 0.2.0

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 (330) hide show
  1. package/README.md +269 -51
  2. package/dist/contracts/attentionContract.d.ts +117 -0
  3. package/dist/contracts/attentionContract.d.ts.map +1 -0
  4. package/dist/contracts/attentionContract.js +14 -0
  5. package/dist/contracts/canonicalJson.d.ts +3 -0
  6. package/dist/contracts/canonicalJson.d.ts.map +1 -0
  7. package/dist/contracts/canonicalJson.js +54 -0
  8. package/dist/contracts/grokWorkerContract.d.ts +74 -0
  9. package/dist/contracts/grokWorkerContract.d.ts.map +1 -0
  10. package/dist/contracts/grokWorkerContract.js +88 -0
  11. package/dist/contracts/organizationRuntimeContract.d.ts +765 -0
  12. package/dist/contracts/organizationRuntimeContract.d.ts.map +1 -0
  13. package/dist/contracts/organizationRuntimeContract.js +121 -0
  14. package/dist/contracts/runtimeContractManifest.d.ts +1615 -0
  15. package/dist/contracts/runtimeContractManifest.d.ts.map +1 -0
  16. package/dist/contracts/runtimeContractManifest.js +181 -0
  17. package/dist/core/credentialRedaction.d.ts +4 -0
  18. package/dist/core/credentialRedaction.d.ts.map +1 -0
  19. package/dist/core/credentialRedaction.js +28 -0
  20. package/dist/mcp/toolServer.d.ts +19 -2
  21. package/dist/mcp/toolServer.d.ts.map +1 -1
  22. package/dist/mcp/toolServer.js +57 -17
  23. package/dist/observability/causalEvents.d.ts +3 -3
  24. package/dist/observability/causalEvents.d.ts.map +1 -1
  25. package/dist/observability/causalEvents.js +103 -15
  26. package/dist/observability/orgObserver.d.ts.map +1 -1
  27. package/dist/observability/orgObserver.js +3 -3
  28. package/dist/pi/agyHeadlessResult.d.ts +60 -0
  29. package/dist/pi/agyHeadlessResult.d.ts.map +1 -0
  30. package/dist/pi/agyHeadlessResult.js +95 -0
  31. package/dist/pi/cliChildOutput.d.ts +67 -0
  32. package/dist/pi/cliChildOutput.d.ts.map +1 -0
  33. package/dist/pi/cliChildOutput.js +269 -0
  34. package/dist/pi/cliEngineRun.d.ts +16 -0
  35. package/dist/pi/cliEngineRun.d.ts.map +1 -0
  36. package/dist/pi/cliEngineRun.js +27 -0
  37. package/dist/pi/cliEngineSpawn.d.ts +55 -0
  38. package/dist/pi/cliEngineSpawn.d.ts.map +1 -0
  39. package/dist/pi/cliEngineSpawn.js +164 -0
  40. package/dist/pi/cliEnvironment.d.ts +12 -0
  41. package/dist/pi/cliEnvironment.d.ts.map +1 -0
  42. package/dist/pi/cliEnvironment.js +32 -0
  43. package/dist/pi/cliMcpRegistration.d.ts +61 -0
  44. package/dist/pi/cliMcpRegistration.d.ts.map +1 -0
  45. package/dist/pi/cliMcpRegistration.js +75 -0
  46. package/dist/pi/cliProcess.d.ts +7 -0
  47. package/dist/pi/cliProcess.d.ts.map +1 -0
  48. package/dist/pi/cliProcess.js +132 -0
  49. package/dist/pi/cliSession.d.ts +84 -24
  50. package/dist/pi/cliSession.d.ts.map +1 -1
  51. package/dist/pi/cliSession.js +313 -158
  52. package/dist/pi/cliTurnMetering.d.ts +60 -0
  53. package/dist/pi/cliTurnMetering.d.ts.map +1 -0
  54. package/dist/pi/cliTurnMetering.js +60 -0
  55. package/dist/pi/codexFilesystemRules.d.ts +3 -0
  56. package/dist/pi/codexFilesystemRules.d.ts.map +1 -0
  57. package/dist/pi/codexFilesystemRules.js +28 -0
  58. package/dist/pi/codexHeadlessResult.d.ts +68 -0
  59. package/dist/pi/codexHeadlessResult.d.ts.map +1 -0
  60. package/dist/pi/codexHeadlessResult.js +122 -0
  61. package/dist/pi/codexRolloutUsage.d.ts +95 -0
  62. package/dist/pi/codexRolloutUsage.d.ts.map +1 -0
  63. package/dist/pi/codexRolloutUsage.js +221 -0
  64. package/dist/pi/engineWakeLimits.d.ts +39 -0
  65. package/dist/pi/engineWakeLimits.d.ts.map +1 -0
  66. package/dist/pi/engineWakeLimits.js +55 -0
  67. package/dist/pi/grokHeadlessResult.d.ts +36 -0
  68. package/dist/pi/grokHeadlessResult.d.ts.map +1 -0
  69. package/dist/pi/grokHeadlessResult.js +118 -0
  70. package/dist/pi/grokHomeMcpRegistration.d.ts +21 -0
  71. package/dist/pi/grokHomeMcpRegistration.d.ts.map +1 -0
  72. package/dist/pi/grokHomeMcpRegistration.js +57 -0
  73. package/dist/pi/grokSandbox.d.ts +11 -0
  74. package/dist/pi/grokSandbox.d.ts.map +1 -0
  75. package/dist/pi/grokSandbox.js +216 -0
  76. package/dist/pi/grokStreamUsage.d.ts +31 -0
  77. package/dist/pi/grokStreamUsage.d.ts.map +1 -0
  78. package/dist/pi/grokStreamUsage.js +51 -0
  79. package/dist/pi/piAgentHandle.d.ts +4 -3
  80. package/dist/pi/piAgentHandle.d.ts.map +1 -1
  81. package/dist/pi/piAgentHandle.js +37 -10
  82. package/dist/pi/piAgentWakeSupport.d.ts +35 -0
  83. package/dist/pi/piAgentWakeSupport.d.ts.map +1 -1
  84. package/dist/pi/piAgentWakeSupport.js +4 -0
  85. package/dist/pi/piHarness.d.ts +10 -1
  86. package/dist/pi/piHarness.d.ts.map +1 -1
  87. package/dist/pi/piHarness.js +61 -8
  88. package/dist/pi/prompts.d.ts +1 -0
  89. package/dist/pi/prompts.d.ts.map +1 -1
  90. package/dist/pi/prompts.js +24 -0
  91. package/dist/pi/turnTrace.d.ts.map +1 -1
  92. package/dist/pi/turnTrace.js +5 -8
  93. package/dist/pi/worldTrajectory.d.ts +1 -1
  94. package/dist/pi/worldTrajectory.d.ts.map +1 -1
  95. package/dist/pi/worldTrajectory.js +3 -3
  96. package/dist/runtime/agySubscriptionBootstrap.d.ts +16 -0
  97. package/dist/runtime/agySubscriptionBootstrap.d.ts.map +1 -0
  98. package/dist/runtime/agySubscriptionBootstrap.js +80 -0
  99. package/dist/runtime/agySubscriptionRealm.d.ts +38 -0
  100. package/dist/runtime/agySubscriptionRealm.d.ts.map +1 -0
  101. package/dist/runtime/agySubscriptionRealm.js +242 -0
  102. package/dist/runtime/attention.d.ts +21 -0
  103. package/dist/runtime/attention.d.ts.map +1 -0
  104. package/dist/runtime/attention.js +36 -0
  105. package/dist/runtime/attentionDispatcher.d.ts +66 -0
  106. package/dist/runtime/attentionDispatcher.d.ts.map +1 -0
  107. package/dist/runtime/attentionDispatcher.js +271 -0
  108. package/dist/runtime/cli.d.ts +7 -0
  109. package/dist/runtime/cli.d.ts.map +1 -0
  110. package/dist/runtime/cli.js +251 -0
  111. package/dist/runtime/codexSandboxProjection.d.ts +17 -0
  112. package/dist/runtime/codexSandboxProjection.d.ts.map +1 -0
  113. package/dist/runtime/codexSandboxProjection.js +40 -0
  114. package/dist/runtime/contract-manifest.json +1 -0
  115. package/dist/runtime/contract-manifest.sha256 +1 -0
  116. package/dist/runtime/contractManifest.d.ts +8 -0
  117. package/dist/runtime/contractManifest.d.ts.map +1 -0
  118. package/dist/runtime/contractManifest.js +4 -0
  119. package/dist/runtime/engineBrokerCapabilities.d.ts +30 -0
  120. package/dist/runtime/engineBrokerCapabilities.d.ts.map +1 -0
  121. package/dist/runtime/engineBrokerCapabilities.js +59 -0
  122. package/dist/runtime/engineBrokerControlClient.d.ts +44 -0
  123. package/dist/runtime/engineBrokerControlClient.d.ts.map +1 -0
  124. package/dist/runtime/engineBrokerControlClient.js +132 -0
  125. package/dist/runtime/engineBrokerCredentialJournal.d.ts +10 -0
  126. package/dist/runtime/engineBrokerCredentialJournal.d.ts.map +1 -0
  127. package/dist/runtime/engineBrokerCredentialJournal.js +17 -0
  128. package/dist/runtime/engineBrokerInferenceProtocol.d.ts +52 -0
  129. package/dist/runtime/engineBrokerInferenceProtocol.d.ts.map +1 -0
  130. package/dist/runtime/engineBrokerInferenceProtocol.js +65 -0
  131. package/dist/runtime/engineBrokerMcpCallLog.d.ts +160 -0
  132. package/dist/runtime/engineBrokerMcpCallLog.d.ts.map +1 -0
  133. package/dist/runtime/engineBrokerMcpCallLog.js +219 -0
  134. package/dist/runtime/engineBrokerMcpFacade.d.ts +56 -0
  135. package/dist/runtime/engineBrokerMcpFacade.d.ts.map +1 -0
  136. package/dist/runtime/engineBrokerMcpFacade.js +343 -0
  137. package/dist/runtime/engineBrokerNativeClient.d.ts +52 -0
  138. package/dist/runtime/engineBrokerNativeClient.d.ts.map +1 -0
  139. package/dist/runtime/engineBrokerNativeClient.js +151 -0
  140. package/dist/runtime/engineBrokerProtocol.d.ts +135 -0
  141. package/dist/runtime/engineBrokerProtocol.d.ts.map +1 -0
  142. package/dist/runtime/engineBrokerProtocol.js +274 -0
  143. package/dist/runtime/engineBrokerSealLedger.d.ts +70 -0
  144. package/dist/runtime/engineBrokerSealLedger.d.ts.map +1 -0
  145. package/dist/runtime/engineBrokerSealLedger.js +123 -0
  146. package/dist/runtime/engineBrokerService.d.ts +37 -0
  147. package/dist/runtime/engineBrokerService.d.ts.map +1 -0
  148. package/dist/runtime/engineBrokerService.js +138 -0
  149. package/dist/runtime/engineBrokerServiceCli.d.ts +5 -0
  150. package/dist/runtime/engineBrokerServiceCli.d.ts.map +1 -0
  151. package/dist/runtime/engineBrokerServiceCli.js +32 -0
  152. package/dist/runtime/engineBrokerServiceConfig.d.ts +50 -0
  153. package/dist/runtime/engineBrokerServiceConfig.d.ts.map +1 -0
  154. package/dist/runtime/engineBrokerServiceConfig.js +92 -0
  155. package/dist/runtime/engineBrokerSingleflight.d.ts +13 -0
  156. package/dist/runtime/engineBrokerSingleflight.d.ts.map +1 -0
  157. package/dist/runtime/engineBrokerSingleflight.js +24 -0
  158. package/dist/runtime/engineBrokerTurnAccounting.d.ts +76 -0
  159. package/dist/runtime/engineBrokerTurnAccounting.d.ts.map +1 -0
  160. package/dist/runtime/engineBrokerTurnAccounting.js +108 -0
  161. package/dist/runtime/engineBrokerTurnRegistry.d.ts +57 -0
  162. package/dist/runtime/engineBrokerTurnRegistry.d.ts.map +1 -0
  163. package/dist/runtime/engineBrokerTurnRegistry.js +158 -0
  164. package/dist/runtime/engineDispatcher.d.ts +36 -0
  165. package/dist/runtime/engineDispatcher.d.ts.map +1 -0
  166. package/dist/runtime/engineDispatcher.js +216 -0
  167. package/dist/runtime/engineReadiness.d.ts +23 -0
  168. package/dist/runtime/engineReadiness.d.ts.map +1 -0
  169. package/dist/runtime/engineReadiness.js +222 -0
  170. package/dist/runtime/grokAuthenticationError.d.ts +8 -0
  171. package/dist/runtime/grokAuthenticationError.d.ts.map +1 -0
  172. package/dist/runtime/grokAuthenticationError.js +20 -0
  173. package/dist/runtime/grokBrokerCredentialAuthority.d.ts +22 -0
  174. package/dist/runtime/grokBrokerCredentialAuthority.d.ts.map +1 -0
  175. package/dist/runtime/grokBrokerCredentialAuthority.js +124 -0
  176. package/dist/runtime/grokBrokerCredentialReader.d.ts +5 -0
  177. package/dist/runtime/grokBrokerCredentialReader.d.ts.map +1 -0
  178. package/dist/runtime/grokBrokerCredentialReader.js +37 -0
  179. package/dist/runtime/grokBrokerModelPolicy.d.ts +23 -0
  180. package/dist/runtime/grokBrokerModelPolicy.d.ts.map +1 -0
  181. package/dist/runtime/grokBrokerModelPolicy.js +28 -0
  182. package/dist/runtime/grokBrokerProjection.d.ts +106 -0
  183. package/dist/runtime/grokBrokerProjection.d.ts.map +1 -0
  184. package/dist/runtime/grokBrokerProjection.js +94 -0
  185. package/dist/runtime/grokBrokerProxy.d.ts +55 -0
  186. package/dist/runtime/grokBrokerProxy.d.ts.map +1 -0
  187. package/dist/runtime/grokBrokerProxy.js +262 -0
  188. package/dist/runtime/grokBrokerProxyRequest.d.ts +30 -0
  189. package/dist/runtime/grokBrokerProxyRequest.d.ts.map +1 -0
  190. package/dist/runtime/grokBrokerProxyRequest.js +74 -0
  191. package/dist/runtime/grokBrokerRealmLease.d.ts +4 -0
  192. package/dist/runtime/grokBrokerRealmLease.d.ts.map +1 -0
  193. package/dist/runtime/grokBrokerRealmLease.js +33 -0
  194. package/dist/runtime/grokBrokerRefresh.d.ts +2 -0
  195. package/dist/runtime/grokBrokerRefresh.d.ts.map +1 -0
  196. package/dist/runtime/grokBrokerRefresh.js +15 -0
  197. package/dist/runtime/grokBrokerTurnMeter.d.ts +128 -0
  198. package/dist/runtime/grokBrokerTurnMeter.d.ts.map +1 -0
  199. package/dist/runtime/grokBrokerTurnMeter.js +251 -0
  200. package/dist/runtime/grokBrokerWorkerConfig.d.ts +86 -0
  201. package/dist/runtime/grokBrokerWorkerConfig.d.ts.map +1 -0
  202. package/dist/runtime/grokBrokerWorkerConfig.js +135 -0
  203. package/dist/runtime/grokEngineBroker.d.ts +48 -0
  204. package/dist/runtime/grokEngineBroker.d.ts.map +1 -0
  205. package/dist/runtime/grokEngineBroker.js +114 -0
  206. package/dist/runtime/grokEngineBrokerLedger.d.ts +52 -0
  207. package/dist/runtime/grokEngineBrokerLedger.d.ts.map +1 -0
  208. package/dist/runtime/grokEngineBrokerLedger.js +114 -0
  209. package/dist/runtime/grokEngineBrokerMetering.d.ts +51 -0
  210. package/dist/runtime/grokEngineBrokerMetering.d.ts.map +1 -0
  211. package/dist/runtime/grokEngineBrokerMetering.js +34 -0
  212. package/dist/runtime/grokEngineBrokerTurn.d.ts +58 -0
  213. package/dist/runtime/grokEngineBrokerTurn.d.ts.map +1 -0
  214. package/dist/runtime/grokEngineBrokerTurn.js +165 -0
  215. package/dist/runtime/grokInferenceClientConfig.d.ts +41 -0
  216. package/dist/runtime/grokInferenceClientConfig.d.ts.map +1 -0
  217. package/dist/runtime/grokInferenceClientConfig.js +62 -0
  218. package/dist/runtime/grokInferenceGrants.d.ts +77 -0
  219. package/dist/runtime/grokInferenceGrants.d.ts.map +1 -0
  220. package/dist/runtime/grokInferenceGrants.js +116 -0
  221. package/dist/runtime/grokInferenceProxy.d.ts +29 -0
  222. package/dist/runtime/grokInferenceProxy.d.ts.map +1 -0
  223. package/dist/runtime/grokInferenceProxy.js +82 -0
  224. package/dist/runtime/grokInferenceProxyRequest.d.ts +23 -0
  225. package/dist/runtime/grokInferenceProxyRequest.d.ts.map +1 -0
  226. package/dist/runtime/grokInferenceProxyRequest.js +63 -0
  227. package/dist/runtime/grokSlotPreflightReceipt.d.ts +70 -0
  228. package/dist/runtime/grokSlotPreflightReceipt.d.ts.map +1 -0
  229. package/dist/runtime/grokSlotPreflightReceipt.js +101 -0
  230. package/dist/runtime/grokSubscriptionRealm.d.ts +4 -0
  231. package/dist/runtime/grokSubscriptionRealm.d.ts.map +1 -0
  232. package/dist/runtime/grokSubscriptionRealm.js +435 -0
  233. package/dist/runtime/grokSubscriptionRealmTypes.d.ts +26 -0
  234. package/dist/runtime/grokSubscriptionRealmTypes.d.ts.map +1 -0
  235. package/dist/runtime/grokSubscriptionRealmTypes.js +1 -0
  236. package/dist/runtime/grokWorkerAttestation.d.ts +170 -0
  237. package/dist/runtime/grokWorkerAttestation.d.ts.map +1 -0
  238. package/dist/runtime/grokWorkerAttestation.js +266 -0
  239. package/dist/runtime/grokWorkerDenyPlacement.d.ts +80 -0
  240. package/dist/runtime/grokWorkerDenyPlacement.d.ts.map +1 -0
  241. package/dist/runtime/grokWorkerDenyPlacement.js +128 -0
  242. package/dist/runtime/grokWorkerHomeAttestation.d.ts +30 -0
  243. package/dist/runtime/grokWorkerHomeAttestation.d.ts.map +1 -0
  244. package/dist/runtime/grokWorkerHomeAttestation.js +69 -0
  245. package/dist/runtime/grokWorkerSandboxProfile.d.ts +27 -0
  246. package/dist/runtime/grokWorkerSandboxProfile.d.ts.map +1 -0
  247. package/dist/runtime/grokWorkerSandboxProfile.js +44 -0
  248. package/dist/runtime/grokWorkerTmpAttestation.d.ts +55 -0
  249. package/dist/runtime/grokWorkerTmpAttestation.d.ts.map +1 -0
  250. package/dist/runtime/grokWorkerTmpAttestation.js +63 -0
  251. package/dist/runtime/index.d.ts +26 -0
  252. package/dist/runtime/index.d.ts.map +1 -0
  253. package/dist/runtime/index.js +23 -0
  254. package/dist/runtime/inferenceUsageLedger.d.ts +38 -0
  255. package/dist/runtime/inferenceUsageLedger.d.ts.map +1 -0
  256. package/dist/runtime/inferenceUsageLedger.js +53 -0
  257. package/dist/runtime/mcpToolResult.d.ts +127 -0
  258. package/dist/runtime/mcpToolResult.d.ts.map +1 -0
  259. package/dist/runtime/mcpToolResult.js +214 -0
  260. package/dist/runtime/moltnetMachineRead.d.ts +97 -0
  261. package/dist/runtime/moltnetMachineRead.d.ts.map +1 -0
  262. package/dist/runtime/moltnetMachineRead.js +183 -0
  263. package/dist/runtime/native/daimon-engine-broker +0 -0
  264. package/dist/runtime/organizationRuntime.d.ts +165 -0
  265. package/dist/runtime/organizationRuntime.d.ts.map +1 -0
  266. package/dist/runtime/organizationRuntime.js +3 -0
  267. package/dist/runtime/organizationRuntimeControl.d.ts +42 -0
  268. package/dist/runtime/organizationRuntimeControl.d.ts.map +1 -0
  269. package/dist/runtime/organizationRuntimeControl.js +235 -0
  270. package/dist/runtime/organizationRuntimeHost.d.ts +19 -0
  271. package/dist/runtime/organizationRuntimeHost.d.ts.map +1 -0
  272. package/dist/runtime/organizationRuntimeHost.js +359 -0
  273. package/dist/runtime/organizationRuntimeParsing.d.ts +6 -0
  274. package/dist/runtime/organizationRuntimeParsing.d.ts.map +1 -0
  275. package/dist/runtime/organizationRuntimeParsing.js +370 -0
  276. package/dist/runtime/organizationRuntimeReadiness.d.ts +12 -0
  277. package/dist/runtime/organizationRuntimeReadiness.d.ts.map +1 -0
  278. package/dist/runtime/organizationRuntimeReadiness.js +59 -0
  279. package/dist/runtime/physicalReadiness.d.ts +47 -0
  280. package/dist/runtime/physicalReadiness.d.ts.map +1 -0
  281. package/dist/runtime/physicalReadiness.js +142 -0
  282. package/dist/runtime/portableCredentialAuth.d.ts +6 -0
  283. package/dist/runtime/portableCredentialAuth.d.ts.map +1 -0
  284. package/dist/runtime/portableCredentialAuth.js +70 -0
  285. package/dist/runtime/portableCredentialMaterial.d.ts +8 -0
  286. package/dist/runtime/portableCredentialMaterial.d.ts.map +1 -0
  287. package/dist/runtime/portableCredentialMaterial.js +169 -0
  288. package/dist/runtime/productionAgentTools.d.ts +5 -0
  289. package/dist/runtime/productionAgentTools.d.ts.map +1 -0
  290. package/dist/runtime/productionAgentTools.js +328 -0
  291. package/dist/runtime/runtimeHomeLayout.d.ts +48 -0
  292. package/dist/runtime/runtimeHomeLayout.d.ts.map +1 -0
  293. package/dist/runtime/runtimeHomeLayout.js +84 -0
  294. package/dist/runtime/schedule.d.ts +40 -0
  295. package/dist/runtime/schedule.d.ts.map +1 -0
  296. package/dist/runtime/schedule.js +371 -0
  297. package/dist/runtime/storeCoordination.d.ts +23 -0
  298. package/dist/runtime/storeCoordination.d.ts.map +1 -0
  299. package/dist/runtime/storeCoordination.js +94 -0
  300. package/dist/runtime/toolResultSpill.d.ts +152 -0
  301. package/dist/runtime/toolResultSpill.d.ts.map +1 -0
  302. package/dist/runtime/toolResultSpill.js +351 -0
  303. package/dist/runtime/turnRequestLedger.d.ts +160 -0
  304. package/dist/runtime/turnRequestLedger.d.ts.map +1 -0
  305. package/dist/runtime/turnRequestLedger.js +249 -0
  306. package/dist/runtime/turnUsageLedger.d.ts +143 -0
  307. package/dist/runtime/turnUsageLedger.d.ts.map +1 -0
  308. package/dist/runtime/turnUsageLedger.js +203 -0
  309. package/dist/runtime/wakeAcceptanceProcessIdentity.d.ts +17 -0
  310. package/dist/runtime/wakeAcceptanceProcessIdentity.d.ts.map +1 -0
  311. package/dist/runtime/wakeAcceptanceProcessIdentity.js +50 -0
  312. package/dist/runtime/wakeAcceptanceReconciliation.d.ts +211 -0
  313. package/dist/runtime/wakeAcceptanceReconciliation.d.ts.map +1 -0
  314. package/dist/runtime/wakeAcceptanceReconciliation.js +289 -0
  315. package/dist/runtime/wakeAcceptanceRecord.d.ts +23 -0
  316. package/dist/runtime/wakeAcceptanceRecord.d.ts.map +1 -0
  317. package/dist/runtime/wakeAcceptanceRecord.js +56 -0
  318. package/dist/runtime/wakeAcceptanceRetention.d.ts +12 -0
  319. package/dist/runtime/wakeAcceptanceRetention.d.ts.map +1 -0
  320. package/dist/runtime/wakeAcceptanceRetention.js +12 -0
  321. package/dist/runtime/wakeAcceptanceStore.d.ts +113 -0
  322. package/dist/runtime/wakeAcceptanceStore.d.ts.map +1 -0
  323. package/dist/runtime/wakeAcceptanceStore.js +558 -0
  324. package/dist/runtime/wakeAcceptanceTypes.d.ts +179 -0
  325. package/dist/runtime/wakeAcceptanceTypes.d.ts.map +1 -0
  326. package/dist/runtime/wakeAcceptanceTypes.js +95 -0
  327. package/dist/runtime/wakeFuse.d.ts +69 -0
  328. package/dist/runtime/wakeFuse.d.ts.map +1 -0
  329. package/dist/runtime/wakeFuse.js +367 -0
  330. package/package.json +20 -9
@@ -1 +1 @@
1
- {"version":3,"file":"piAgentHandle.d.ts","sourceRoot":"","sources":["../../src/pi/piAgentHandle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piAgentHandle.d.ts","sourceRoot":"","sources":["../../src/pi/piAgentHandle.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { createTrustedPiMemoryToolContext } from "./memoryTools.js";
2
- import { formatWakePrompt } from "./prompts.js";
2
+ import { formatWakePrompt, preserveModelFacingWakeIdentity } from "./prompts.js";
3
3
  import { stampTurnInputSubmitted, stampTurnOutputCompleted } from "./turnCausal.js";
4
4
  import { WakeAcceptanceStore } from "./wakeAcceptance.js";
5
5
  import { persistPiTurnTrace } from "./turnTrace.js";
@@ -7,7 +7,7 @@ import { formatDreamPrompt } from "./wakeModes.js";
7
7
  import { createPiRawTrainingCapture } from "./rawTrainingCapture.js";
8
8
  import { formatWorldWakePrompt, worldWakeContext } from "./worldNudge.js";
9
9
  import { createPiWorldTrajectoryCapture } from "./worldTrajectory.js";
10
- import { cloneWakeEvent, persistPiTurnArtifacts, PiWakeDeliveryQueue, selectPiSessionForWake, subscribeToPiTurnEvents } from "./piAgentWakeSupport.js";
10
+ import { cloneWakeEvent, disposePiSession, persistPiTurnArtifacts, PiWakeDeliveryQueue, selectPiSessionForWake, subscribeToPiTurnEvents } from "./piAgentWakeSupport.js";
11
11
  import { readMemoryContext } from "@noopolis/mneme";
12
12
  export class PiAgentHandle {
13
13
  id;
@@ -22,6 +22,7 @@ export class PiAgentHandle {
22
22
  rawTrainingCaptureOptions;
23
23
  worldTrajectoryIdentity;
24
24
  piSessionForRawCapture;
25
+ wakeEnvironmentContext;
25
26
  state = "idle";
26
27
  lastWakeAt;
27
28
  lastError;
@@ -29,7 +30,7 @@ export class PiAgentHandle {
29
30
  stampTurnInputSubmitted;
30
31
  stampTurnOutputCompleted;
31
32
  persistTrace;
32
- constructor(id, session, createSession, runtimeHomePath, traceModel, memory, memoryToolContext, dependencies = {}, worldToolContext, rawTrainingCaptureRef, rawTrainingCaptureOptions, worldTrajectoryIdentity, piSessionForRawCapture) {
33
+ constructor(id, session, createSession, runtimeHomePath, traceModel, memory, memoryToolContext, dependencies = {}, worldToolContext, rawTrainingCaptureRef, rawTrainingCaptureOptions, worldTrajectoryIdentity, piSessionForRawCapture, wakeEnvironmentContext) {
33
34
  this.id = id;
34
35
  this.session = session;
35
36
  this.createSession = createSession;
@@ -42,6 +43,7 @@ export class PiAgentHandle {
42
43
  this.rawTrainingCaptureOptions = rawTrainingCaptureOptions;
43
44
  this.worldTrajectoryIdentity = worldTrajectoryIdentity;
44
45
  this.piSessionForRawCapture = piSessionForRawCapture;
46
+ this.wakeEnvironmentContext = wakeEnvironmentContext;
45
47
  this.stampTurnInputSubmitted = dependencies.runWake ?? stampTurnInputSubmitted;
46
48
  this.stampTurnOutputCompleted = dependencies.completeTurn ?? stampTurnOutputCompleted;
47
49
  this.persistTrace = dependencies.traceTurn ?? persistPiTurnTrace;
@@ -88,7 +90,7 @@ export class PiAgentHandle {
88
90
  ? undefined
89
91
  : createPiWorldTrajectoryCapture();
90
92
  const request = {
91
- eventId: event.id,
93
+ eventId: /^(simfile|moltnet|mneme|daimon):.+$/u.test(event.id) ? event.id : `daimon:${event.id}`,
92
94
  kind: event.kind,
93
95
  text: safeWakeText,
94
96
  from: event.from,
@@ -98,6 +100,10 @@ export class PiAgentHandle {
98
100
  ? formatWakePrompt(event)
99
101
  : safeWakeText;
100
102
  try {
103
+ if (this.wakeEnvironmentContext !== undefined) {
104
+ this.wakeEnvironmentContext.current = event.id;
105
+ this.wakeEnvironmentContext.spokeFor = undefined;
106
+ }
101
107
  if (this.worldToolContext !== undefined) {
102
108
  this.worldToolContext.current = worldContext;
103
109
  }
@@ -139,7 +145,7 @@ export class PiAgentHandle {
139
145
  prepared,
140
146
  status: "completed"
141
147
  };
142
- promptText = prepared.promptText;
148
+ promptText = preserveModelFacingWakeIdentity(prepared.promptText, event, request.eventId);
143
149
  if (this.memoryToolContext !== undefined) {
144
150
  this.memoryToolContext.observeTool = (toolEvent) => tools.push(toolEvent);
145
151
  this.memoryToolContext.current = createTrustedPiMemoryToolContext({
@@ -169,6 +175,7 @@ export class PiAgentHandle {
169
175
  }
170
176
  stage = "engine_prompt";
171
177
  const engineStartedAt = Date.now();
178
+ selectedSession.session.bindWake?.(event);
172
179
  await selectedSession.session.prompt(promptText, { expandPromptTemplates: false });
173
180
  enginePromptMs = Date.now() - engineStartedAt;
174
181
  this.state = "idle";
@@ -181,6 +188,10 @@ export class PiAgentHandle {
181
188
  runtimeHomePath: this.runtimeHomePath,
182
189
  turnId: event.id
183
190
  });
191
+ if (this.memory !== undefined && prepared !== undefined) {
192
+ await this.memory.recordTurn({ principal: prepared.principal, prompt: prepared.packet, request, recall: prepared.recall, result: "completed", outputText, toolEvents: tools })
193
+ .catch((recordError) => { this.lastError = `memory record failed: ${recordError instanceof Error ? recordError.message : String(recordError)}`; });
194
+ }
184
195
  await this.persistTrace({
185
196
  agentId: this.id,
186
197
  enginePromptMs,
@@ -203,9 +214,6 @@ export class PiAgentHandle {
203
214
  if (rawTrainingCapture !== undefined
204
215
  && this.rawTrainingCaptureOptions !== undefined
205
216
  && this.piSessionForRawCapture !== undefined) {
206
- // Do not retry a partially failed private capture in the catch path.
207
- // The first failure is authoritative and retrying the same immutable
208
- // turn path would only mask it with an EEXIST/partial-write error.
209
217
  rawTrainingCapturePersistAttempted = true;
210
218
  }
211
219
  await persistPiTurnArtifacts({
@@ -225,9 +233,18 @@ export class PiAgentHandle {
225
233
  worldTrajectory,
226
234
  worldTrajectoryIdentity: this.worldTrajectoryIdentity
227
235
  });
236
+ // An agent with a mounted `moltnet_send` tool has exactly one
237
+ // legitimate publication channel; its terminal text is always a
238
+ // private note to the runtime — whether it spoke, stayed silent, or
239
+ // narrated a failure back as its reply — never the bridge's
240
+ // terminal-text fallback (moltnet/internal/bridge/daimon/
241
+ // receipt_tracker.go), which is reserved for agents with no send tool
242
+ // at all. `outputText` itself stays intact for the turn trace and
243
+ // memory record above.
244
+ const hasSendCapability = this.wakeEnvironmentContext?.hasSendCapability === true;
228
245
  return {
229
246
  agentId: this.id,
230
- text: outputText,
247
+ text: hasSendCapability ? "" : outputText,
231
248
  durationMs: Date.now() - startedAtMs
232
249
  };
233
250
  }
@@ -264,6 +281,9 @@ export class PiAgentHandle {
264
281
  ? {}
265
282
  : { worldContextBound: worldContext !== undefined })
266
283
  }).catch(() => undefined);
284
+ if (this.memory !== undefined && prepared !== undefined) {
285
+ await this.memory.recordTurn({ principal: prepared.principal, prompt: prepared.packet, request, recall: prepared.recall, result: "failed", error: message, outputText: chunks.join("\n").trim(), toolEvents: tools }).catch(() => undefined);
286
+ }
267
287
  const persistRawCapture = !rawTrainingCapturePersistAttempted
268
288
  && selectedSession !== undefined;
269
289
  if (persistRawCapture && rawTrainingCapture !== undefined) {
@@ -293,6 +313,11 @@ export class PiAgentHandle {
293
313
  throw error;
294
314
  }
295
315
  finally {
316
+ selectedSession?.session.bindWake?.();
317
+ if (this.wakeEnvironmentContext !== undefined) {
318
+ this.wakeEnvironmentContext.current = undefined;
319
+ this.wakeEnvironmentContext.spokeFor = undefined;
320
+ }
296
321
  if (this.memoryToolContext !== undefined) {
297
322
  this.memoryToolContext.current = undefined;
298
323
  this.memoryToolContext.observeTool = undefined;
@@ -318,7 +343,9 @@ export class PiAgentHandle {
318
343
  };
319
344
  }
320
345
  async stop() {
321
- this.session.dispose();
346
+ // CLI-backed sessions may own a process group, while native Pi remains
347
+ // source-compatible through the synchronous dispose() hook.
348
+ await disposePiSession(this.session);
322
349
  this.state = "stopped";
323
350
  }
324
351
  }
@@ -10,8 +10,43 @@ export type PiSession = Awaited<ReturnType<typeof createAgentSession>>["session"
10
10
  export interface PiSessionLike {
11
11
  subscribe(listener: Parameters<PiSession["subscribe"]>[0]): () => void;
12
12
  prompt(text: string, options?: Parameters<PiSession["prompt"]>[1]): Promise<void>;
13
+ /** Optional per-turn context for isolated CLI child environments. */
14
+ bindWake?(event?: WakeEvent): void;
15
+ /** Kept synchronous for existing Pi session implementations. */
13
16
  dispose(): void;
17
+ /** Optional additive hook for sessions that must asynchronously quiesce children. */
18
+ disposeAsync?(): Promise<void>;
14
19
  }
20
+ export type PiWakeEnvironmentContextRef = {
21
+ current?: string;
22
+ /**
23
+ * Set to the delivery id of the current wake once `moltnet_send` has been
24
+ * accepted during it. Bookkeeping only: it no longer gates whether the wake
25
+ * completion path publishes terminal text (see `hasSendCapability`), but it
26
+ * still records, per wake, whether this agent actually spoke. Never a
27
+ * boolean: a boolean could survive a stale reset and silently misattribute
28
+ * a later wake.
29
+ */
30
+ spokeFor?: string;
31
+ /**
32
+ * Set once per agent, at harness construction, to whether a `moltnet_send`
33
+ * tool is mounted for it (`piHarness.ts`, from `productionTools`) — never
34
+ * reset per wake, unlike `current`/`spokeFor`.
35
+ *
36
+ * A turn that fails partway (a tool error the model narrates back as
37
+ * terminal text, e.g. "Blocked: Moltnet auth is not mounted...") still
38
+ * completes structurally and used to publish that narration through the
39
+ * terminal-text fallback even though `moltnet_send` was never actually
40
+ * called — a second, unintended echo into the room. An agent with a
41
+ * mounted send tool has exactly one legitimate publication channel
42
+ * (`moltnet_send`); its terminal text is always a private note to the
43
+ * runtime, whether it spoke, stayed silent, or failed. Only an agent with
44
+ * no send tool at all keeps the documented terminal-text fallback
45
+ * (`moltnet/internal/bridge/daimon/AGENTS.md`).
46
+ */
47
+ hasSendCapability?: boolean;
48
+ };
49
+ export declare function disposePiSession(session: PiSessionLike): Promise<void>;
15
50
  export type PiSessionCreator = (mode: MemoryWakeMode, sessionDirectory: string) => Promise<PiSessionLike>;
16
51
  export type PiNativeSessionCreator = (mode: MemoryWakeMode, sessionDirectory: string) => Promise<PiSession>;
17
52
  export interface WakeSessionSelection {
@@ -1 +1 @@
1
- {"version":3,"file":"piAgentWakeSupport.d.ts","sourceRoot":"","sources":["../../src/pi/piAgentWakeSupport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piAgentWakeSupport.d.ts","sourceRoot":"","sources":["../../src/pi/piAgentWakeSupport.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ import { summarizeSessionEvent, } from "./turnTrace.js";
3
3
  import { createAwakeThreadId, createDreamSessionDirectory, createDreamSessionKey, createDreamThreadId, } from "./wakeModes.js";
4
4
  import { WakeAcceptanceError, } from "./wakeAcceptance.js";
5
5
  import { capturePiWorldTrajectoryEvent, persistPiWorldTrajectory, } from "./worldTrajectory.js";
6
+ export async function disposePiSession(session) {
7
+ await Promise.resolve(session.dispose());
8
+ await session.disposeAsync?.();
9
+ }
6
10
  export class PiWakeDeliveryQueue {
7
11
  agentId;
8
12
  acceptance;
@@ -1,7 +1,8 @@
1
- import { createAgentSession } from "@earendil-works/pi-coding-agent";
1
+ import { createAgentSession, type ToolDefinition } from "@earendil-works/pi-coding-agent";
2
2
  import { type MemoryAuthorityConfig } from "@noopolis/mneme";
3
3
  import type { AgentHandle, AgentHarnessAdapter, AgentStartInput, HarnessModelSpec } from "../core/types.js";
4
4
  import { type PiSessionLike } from "./piAgentHandle.js";
5
+ import { type PiWakeEnvironmentContextRef } from "./piAgentWakeSupport.js";
5
6
  import { type PiWorldBinding } from "./worldTools.js";
6
7
  import { type PiRawTrainingCaptureOptions } from "./rawTrainingCapture.js";
7
8
  type HarnessMemoryEmbeddingProvider = {
@@ -18,6 +19,8 @@ type PiHarnessBaseOptions = {
18
19
  name: string;
19
20
  };
20
21
  modelsPath?: string;
22
+ /** Host-only names removed from every engine and Pi bash child environment. */
23
+ protectedEnvironmentNames?: readonly string[];
21
24
  memory?: {
22
25
  authority?: MemoryAuthorityConfig;
23
26
  embeddingProvider?: HarnessMemoryEmbeddingProvider;
@@ -27,6 +30,10 @@ type PiHarnessBaseOptions = {
27
30
  };
28
31
  thinkingLevel?: PiThinkingLevel;
29
32
  world?: PiWorldBinding;
33
+ productionTools?: readonly ToolDefinition[];
34
+ /** Engine-owned default; an empty list disables Pi builtins for confined CLI engines. */
35
+ toolNames?: readonly string[];
36
+ wakeEnvironmentContext?: PiWakeEnvironmentContextRef;
30
37
  };
31
38
  export type PiHarnessOptions = PiHarnessBaseOptions & ({
32
39
  rawTrainingCapture?: PiRawTrainingCaptureOptions;
@@ -37,6 +44,8 @@ export type PiHarnessOptions = PiHarnessBaseOptions & ({
37
44
  });
38
45
  export type PiSessionFactoryInput = Exclude<Parameters<typeof createAgentSession>[0], undefined> & {
39
46
  daimonSecretEnvironmentNames?: readonly string[];
47
+ /** The isolated runtime home assigned by Daimon to this one agent. */
48
+ runtimeHomePath?: string;
40
49
  };
41
50
  export type PiSessionFactory = (input: PiSessionFactoryInput) => Promise<{
42
51
  session: PiSessionLike;
@@ -1 +1 @@
1
- {"version":3,"file":"piHarness.d.ts","sourceRoot":"","sources":["../../src/pi/piHarness.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,kBAAkB,EAInB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAM5G,OAAO,EAAqE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3H,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EAGL,KAAK,2BAA2B,EAEjC,MAAM,yBAAyB,CAAC;AAEjC,KAAK,8BAA8B,GAAG;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,WAAW,CACvC,WAAW,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CACvE,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,qBAAqB,CAAC;QAClC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;QACnD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,CAClD;IACA,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,cAAc,CAAC,EAAE,KAAK,CAAC;CACxB,GACC;IACA,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC3B,cAAc,EAAE,gBAAgB,CAAC;CAClC,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IACjG,4BAA4B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAErG,qBAAa,gBAAiB,YAAW,mBAAmB;IAK9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;gBAErB,OAAO,EAAE,gBAAgB;IAMhD,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CA4I/D"}
1
+ {"version":3,"file":"piHarness.d.ts","sourceRoot":"","sources":["../../src/pi/piHarness.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { mkdir } from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { AuthStorage, createAgentSession, SessionManager, SettingsManager } from "@earendil-works/pi-coding-agent";
3
+ import { AuthStorage, createBashTool, createAgentSession, SessionManager, SettingsManager } from "@earendil-works/pi-coding-agent";
4
4
  import { createMemoryRuntime } from "@noopolis/mneme";
5
5
  import { resolvePiHarnessModel } from "./modelConfig.js";
6
6
  import { createPiModelRegistry } from "./modelRegistry.js";
7
7
  import { createPiMemoryTools, piMemoryToolNames } from "./memoryTools.js";
8
8
  import { createResourceLoader } from "./prompts.js";
9
9
  import { PiAgentHandle } from "./piAgentHandle.js";
10
+ import { DAIMON_WAKE_ID_ENV } from "./cliEnvironment.js";
10
11
  import { createPiWorldTools, piWorldToolNames } from "./worldTools.js";
12
+ import { ensureRuntimeHome, ensureRuntimeHomeDirectory } from "../runtime/runtimeHomeLayout.js";
11
13
  import { bindPiRawTrainingCapture, validatePiRawTrainingCaptureOptions } from "./rawTrainingCapture.js";
12
14
  export class PiHarnessAdapter {
13
15
  options;
@@ -22,10 +24,12 @@ export class PiHarnessAdapter {
22
24
  }
23
25
  async startAgent(input) {
24
26
  validatePiRawTrainingCaptureOptions(this.options.rawTrainingCapture);
25
- await mkdir(input.runtimeHomePath, { recursive: true });
27
+ await ensureRuntimeHome(input.runtimeHomePath);
28
+ await Promise.all([".config", ".local/share", ".local/state", ".cache", ".tmp", "tool-state"]
29
+ .map((relative) => ensureRuntimeHomeDirectory(input.runtimeHomePath, relative)));
26
30
  await mkdir(input.workspacePath, { recursive: true });
27
31
  const memoryRuntimeHomePath = this.options.memory?.runtimeHomePath ?? input.runtimeHomePath;
28
- await mkdir(memoryRuntimeHomePath, { recursive: true });
32
+ await ensureRuntimeHome(memoryRuntimeHomePath);
29
33
  const modelSpec = this.options.model ?? {
30
34
  auth: { method: "codex" },
31
35
  provider: "openai",
@@ -49,6 +53,11 @@ export class PiHarnessAdapter {
49
53
  const memoryToolContext = memory === undefined ? undefined : {};
50
54
  const worldToolContext = this.options.world === undefined ? undefined : {};
51
55
  const rawTrainingCaptureRef = this.options.rawTrainingCapture === undefined ? undefined : {};
56
+ const wakeEnvironmentContext = this.options.wakeEnvironmentContext ?? {};
57
+ // Fixed for the life of this agent, not per wake: whether it can publish
58
+ // through `moltnet_send` at all. Gates the terminal-text fallback in
59
+ // `PiAgentHandle.runWake` (see `PiWakeEnvironmentContextRef.hasSendCapability`).
60
+ wakeEnvironmentContext.hasSendCapability = (this.options.productionTools ?? []).some((tool) => tool.name === "moltnet_send");
52
61
  const sessionInput = (mode, sessionDirectory) => {
53
62
  const memoryTools = memory === undefined || memoryToolContext === undefined
54
63
  ? []
@@ -64,14 +73,26 @@ export class PiHarnessAdapter {
64
73
  world: this.options.world,
65
74
  contextRef: worldToolContext
66
75
  });
76
+ // Every child tool inherits the same denylist: host control values,
77
+ // Daimon-held world/model secrets, and caller-protected names.
78
+ const protectedNames = [...new Set([
79
+ ...(this.options.protectedEnvironmentNames ?? []),
80
+ ...(this.options.world === undefined ? [] : [this.options.world.tokenEnv])
81
+ ])];
82
+ const requestedTools = this.options.toolNames ?? input.tools;
83
+ const protectedBash = protectedNames.length === 0 || requestedTools?.includes("bash") === false
84
+ ? []
85
+ : [createProtectedBashTool(input.workspacePath, input.runtimeHomePath, protectedNames, wakeEnvironmentContext)];
67
86
  const toolNames = [
68
- ...(input.tools ?? ["read", "write", "edit", "bash", "grep", "find", "ls"]),
87
+ ...(requestedTools ?? ["read", "write", "edit", "bash", "grep", "find", "ls"]),
69
88
  ...piMemoryToolNames(memoryTools),
70
- ...(worldTools === undefined ? [] : piWorldToolNames(worldTools))
89
+ ...(worldTools === undefined ? [] : piWorldToolNames(worldTools)),
90
+ ...(this.options.productionTools ?? []).map((tool) => tool.name)
71
91
  ];
72
92
  return {
73
93
  cwd: input.workspacePath,
74
94
  agentDir: input.runtimeHomePath,
95
+ runtimeHomePath: input.runtimeHomePath,
75
96
  daimonSecretEnvironmentNames: this.options.world === undefined ? [] : [this.options.world.tokenEnv],
76
97
  authStorage: this.authStorage,
77
98
  modelRegistry: this.modelRegistry,
@@ -82,7 +103,9 @@ export class PiHarnessAdapter {
82
103
  world: worldTools !== undefined
83
104
  }),
84
105
  tools: [...new Set(toolNames)],
85
- customTools: worldTools === undefined ? memoryTools : [...memoryTools, ...worldTools],
106
+ customTools: worldTools === undefined
107
+ ? [...protectedBash, ...memoryTools, ...(this.options.productionTools ?? [])]
108
+ : [...protectedBash, ...memoryTools, ...worldTools, ...(this.options.productionTools ?? [])],
86
109
  sessionManager: SessionManager.create(input.workspacePath, sessionDirectory),
87
110
  settingsManager: SettingsManager.inMemory({
88
111
  compaction: { enabled: false },
@@ -105,7 +128,7 @@ export class PiHarnessAdapter {
105
128
  provider: resolvedModel.provider
106
129
  }, memory, memoryToolContext, {}, worldToolContext, rawTrainingCaptureRef, this.options.rawTrainingCapture, worldToolContext === undefined
107
130
  ? undefined
108
- : { instructions: input.instructions, thinkingLevel: this.options.thinkingLevel ?? "off" }, session);
131
+ : { instructions: input.instructions, thinkingLevel: this.options.thinkingLevel ?? "off" }, session, wakeEnvironmentContext);
109
132
  }
110
133
  const createSession = async (mode, sessionDirectory) => {
111
134
  const { session } = await (this.options.sessionFactory ?? createAgentSession)(sessionInput(mode, sessionDirectory));
@@ -121,6 +144,36 @@ export class PiHarnessAdapter {
121
144
  : {
122
145
  instructions: input.instructions,
123
146
  thinkingLevel: this.options.thinkingLevel ?? "off"
124
- }, undefined);
147
+ }, undefined, wakeEnvironmentContext);
125
148
  }
126
149
  }
150
+ function createProtectedBashTool(workspacePath, runtimeHomePath, protectedNames, wakeEnvironmentContext) {
151
+ const bash = createBashTool(workspacePath, {
152
+ spawnHook: (context) => ({
153
+ ...context,
154
+ env: {
155
+ ...Object.fromEntries(Object.entries(context.env).filter(([name]) => !protectedNames.includes(name))),
156
+ HOME: runtimeHomePath,
157
+ XDG_CONFIG_HOME: `${runtimeHomePath}/.config`,
158
+ XDG_DATA_HOME: `${runtimeHomePath}/.local/share`,
159
+ XDG_STATE_HOME: `${runtimeHomePath}/.local/state`,
160
+ XDG_CACHE_HOME: `${runtimeHomePath}/.cache`,
161
+ TMPDIR: `${runtimeHomePath}/.tmp`,
162
+ ...(wakeEnvironmentContext.current === undefined
163
+ ? {}
164
+ : { [DAIMON_WAKE_ID_ENV]: wakeEnvironmentContext.current })
165
+ }
166
+ })
167
+ });
168
+ return {
169
+ name: bash.name,
170
+ label: bash.label,
171
+ description: bash.description,
172
+ parameters: bash.parameters,
173
+ ...(bash.prepareArguments === undefined ? {} : { prepareArguments: bash.prepareArguments }),
174
+ ...(bash.executionMode === undefined ? {} : { executionMode: bash.executionMode }),
175
+ async execute(toolCallId, params, signal, onUpdate) {
176
+ return bash.execute(toolCallId, params, signal, onUpdate);
177
+ }
178
+ };
179
+ }
@@ -2,6 +2,7 @@ import { type ResourceLoader } from "@earendil-works/pi-coding-agent";
2
2
  import { type MemoryWakeMode } from "@noopolis/mneme";
3
3
  import type { AgentStartInput, WakeEvent } from "../core/types.js";
4
4
  export declare const formatWakePrompt: (event: WakeEvent) => string;
5
+ export declare const preserveModelFacingWakeIdentity: (promptText: string, event: WakeEvent, memoryEventId: string) => string;
5
6
  export declare const createResourceLoader: (input: AgentStartInput, mode: MemoryWakeMode, capabilities: Readonly<{
6
7
  memory: boolean;
7
8
  world: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/pi/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEnE,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,KAAG,MAKtC,CAAC;AAEf,eAAO,MAAM,oBAAoB,GAC/B,OAAO,eAAe,EACtB,MAAM,cAAc,EACpB,cAAc,QAAQ,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,KAC1D,cA+BF,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/pi/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEnE,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,KAAG,MAKtC,CAAC;AAYf,eAAO,MAAM,+BAA+B,GAC1C,YAAY,MAAM,EAClB,OAAO,SAAS,EAChB,eAAe,MAAM,KACpB,MAiBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,eAAe,EACtB,MAAM,cAAc,EACpB,cAAc,QAAQ,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,KAC1D,cA+BF,CAAC"}
@@ -6,6 +6,30 @@ export const formatWakePrompt = (event) => `Wake event:
6
6
  - from: ${event.from === undefined ? "[no attribution supplied] (absence)" : JSON.stringify(event.from)}
7
7
 
8
8
  ${event.text}`;
9
+ const WAKE_HEADER_PATTERN = /(^|\r?\n)## Wake\r?\nid: ([^\r\n]*)(?=\r?\n|$)/u;
10
+ const formatAuthoritativeWakeIdentity = (event) => [
11
+ "Wake identity:",
12
+ "Use this exact wake id as the delivery id/event key when a tool asks for event_key.",
13
+ `- id: ${event.id}`,
14
+ `- kind: ${event.kind}`,
15
+ `- from: ${event.from === undefined ? "[no attribution supplied] (absence)" : JSON.stringify(event.from)}`
16
+ ].join("\n");
17
+ export const preserveModelFacingWakeIdentity = (promptText, event, memoryEventId) => {
18
+ if (event.id === memoryEventId)
19
+ return promptText;
20
+ const match = WAKE_HEADER_PATTERN.exec(promptText);
21
+ if (match === null) {
22
+ return `${formatAuthoritativeWakeIdentity(event)}\n\n${promptText}`;
23
+ }
24
+ const currentId = match[2];
25
+ if (currentId === event.id)
26
+ return promptText;
27
+ if (currentId !== memoryEventId) {
28
+ throw new Error("memory-prepared wake prompt carried an unexpected wake id");
29
+ }
30
+ const idStart = match.index + match[0].length - currentId.length;
31
+ return `${promptText.slice(0, idStart)}${event.id}${promptText.slice(idStart + currentId.length)}`;
32
+ };
9
33
  export const createResourceLoader = (input, mode, capabilities) => {
10
34
  const systemPrompt = [
11
35
  `You are ${input.name} (${input.id}).`,
@@ -1 +1 @@
1
- {"version":3,"file":"turnTrace.d.ts","sourceRoot":"","sources":["../../src/pi/turnTrace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QACN,WAAW,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,EAAE,IAAI,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE;YACR,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE;gBACV,QAAQ,EAAE,MAAM,CAAC;gBACjB,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC;aACf,CAAC;YACF,MAAM,CAAC,EAAE;gBACP,eAAe,EAAE,MAAM,CAAC;gBACxB,cAAc,EAAE,MAAM,CAAC;gBACvB,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,gBAAgB,EAAE,MAAM,CAAC;aAC1B,CAAC;YACF,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;SAChC,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,sBAAsB,EAAE,OAAO,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC;QACxB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE;QACP,kBAAkB,EAAE,OAAO,CAAC;QAC5B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE;QACV,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAC;QAC1B,IAAI,EAAE,cAAc,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,2BAA2B,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3G,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,MAWhD,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,iBAAiB,CAAC,QAAQ,CAOzE,CAAC;AA+BH,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,oBAAoB,GAAG,SAsB7E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAGnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,2BAA2B,KAAG,iBAuD1E,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAC/B,iBAAiB,MAAM,EACvB,QAAQ,iBAAiB,KACxB,OAAO,CAAC,IAAI,CAOd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,OAAO,uBAAuB,KAAG,OAAO,CAAC,IAAI,CAWrF,CAAC"}
1
+ {"version":3,"file":"turnTrace.d.ts","sourceRoot":"","sources":["../../src/pi/turnTrace.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { createHash } from "node:crypto";
2
- import { appendFile, mkdir, writeFile } from "node:fs/promises";
2
+ import { appendFile, writeFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
+ import { redactCredentialText } from "../core/credentialRedaction.js";
5
+ import { ensureRuntimeHomeDirectory } from "../runtime/runtimeHomeLayout.js";
4
6
  export const redactTraceText = (value) => {
5
- let redacted = String(value);
6
- redacted = redacted.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{12,}/giu, "Bearer [REDACTED]");
7
- redacted = redacted.replace(/\bmagt_v1_[A-Za-z0-9_-]{16,}\b/gu, "[REDACTED]");
8
- redacted = redacted.replace(/\b(?:sk|sk-proj)-[A-Za-z0-9_-]{20,}\b/gu, "[REDACTED]");
9
- redacted = redacted.replace(/("([^"]*(?:api[_-]?key|token|secret|password)[^"]*)"\s*:\s*")([^"]+)(")/giu, "$1[REDACTED]$4");
7
+ let redacted = redactCredentialText(value, [], 4_096);
10
8
  redacted = redacted.replace(/\/(?:Users|home|private|tmp|var|opt|run)\/[^\s"']+/gu, "[path]");
11
9
  return redacted.length > 1000 ? `${redacted.slice(0, 1000)}...` : redacted;
12
10
  };
@@ -121,8 +119,7 @@ export const buildPiTurnTraceRecord = (input) => ({
121
119
  });
122
120
  export const writeTurnTraceRecord = async (runtimeHomePath, record) => {
123
121
  const telemetryPath = path.join(runtimeHomePath, "telemetry");
124
- const turnsPath = path.join(telemetryPath, "turns");
125
- await mkdir(turnsPath, { recursive: true });
122
+ const turnsPath = await ensureRuntimeHomeDirectory(runtimeHomePath, "telemetry/turns");
126
123
  const body = `${JSON.stringify(record, null, 2)}\n`;
127
124
  await writeFile(path.join(turnsPath, `${sanitizeTraceFileId(record.turn_id)}.json`), body, "utf8");
128
125
  await appendFile(path.join(telemetryPath, "turns.ndjson"), `${JSON.stringify(record)}\n`, "utf8");
@@ -5,7 +5,7 @@ export declare const WORLD_TRAJECTORY_SCHEMA: "daimon.world_trajectory.v1";
5
5
  * Pi's SessionManager remains the private raw session recorder. This module
6
6
  * derives a minimized public/evaluation projection from the same subscribed
7
7
  * session events. Raw training capture is deliberately separate; see
8
- * docs/WORLD_TRAJECTORIES.md.
8
+ * docs/observability.md.
9
9
  */
10
10
  export interface PiWorldTrajectoryToolCall {
11
11
  arguments?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"worldTrajectory.d.ts","sourceRoot":"","sources":["../../src/pi/worldTrajectory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,eAAO,MAAM,uBAAuB,EAAG,4BAAqC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,wBAAwB,CAAC;IAClC,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAaD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,OAAO,OAAO,EACd,cAAS,KACR,OAsBF,CAAC;AAKF,eAAO,MAAM,8BAA8B,QAAO,wBAGhD,CAAC;AAEH,eAAO,MAAM,6BAA6B,GACxC,SAAS,wBAAwB,EACjC,OAAO,OAAO,EACd,UAAgB,KACf,IAqCF,CAAC;AAKF,eAAO,MAAM,wBAAwB,GACnC,OAAO,6BAA6B,KACnC,OAAO,CAAC,IAAI,CAkDd,CAAC"}
1
+ {"version":3,"file":"worldTrajectory.d.ts","sourceRoot":"","sources":["../../src/pi/worldTrajectory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,eAAO,MAAM,uBAAuB,EAAG,4BAAqC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,wBAAwB,CAAC;IAClC,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAaD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,OAAO,OAAO,EACd,cAAS,KACR,OAsBF,CAAC;AAKF,eAAO,MAAM,8BAA8B,QAAO,wBAGhD,CAAC;AAEH,eAAO,MAAM,6BAA6B,GACxC,SAAS,wBAAwB,EACjC,OAAO,OAAO,EACd,UAAgB,KACf,IAqCF,CAAC;AAKF,eAAO,MAAM,wBAAwB,GACnC,OAAO,6BAA6B,KACnC,OAAO,CAAC,IAAI,CAiDd,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { createHash } from "node:crypto";
2
- import { appendFile, mkdir, writeFile } from "node:fs/promises";
2
+ import { appendFile, writeFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { redactTraceText, sanitizeTraceFileId } from "./turnTrace.js";
5
+ import { ensureRuntimeHomeDirectory } from "../runtime/runtimeHomeLayout.js";
5
6
  export const WORLD_TRAJECTORY_SCHEMA = "daimon.world_trajectory.v1";
6
7
  const asObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value)
7
8
  ? value
@@ -123,8 +124,7 @@ export const persistPiWorldTrajectory = async (input) => {
123
124
  }
124
125
  };
125
126
  const telemetryPath = path.join(input.runtimeHomePath, "telemetry");
126
- const trajectoriesPath = path.join(telemetryPath, "world-trajectories");
127
- await mkdir(trajectoriesPath, { recursive: true });
127
+ const trajectoriesPath = await ensureRuntimeHomeDirectory(input.runtimeHomePath, "telemetry/world-trajectories");
128
128
  const bytes = `${JSON.stringify(record, null, 2)}\n`;
129
129
  await writeFile(path.join(trajectoriesPath, `${sanitizeTraceFileId(input.turnId)}.json`), bytes, { encoding: "utf8", mode: 0o600 });
130
130
  await appendFile(path.join(telemetryPath, "world-trajectories.ndjson"), `${JSON.stringify(record)}\n`, { encoding: "utf8", mode: 0o600 });
@@ -0,0 +1,16 @@
1
+ import { type AgySubscriptionRealm } from "./agySubscriptionRealm.js";
2
+ import type { OrganizationRuntimeConfig } from "./organizationRuntime.js";
3
+ export type AgyBootstrapInvocation = Readonly<{
4
+ args: readonly string[];
5
+ command: string;
6
+ cwd: string;
7
+ env: NodeJS.ProcessEnv;
8
+ }>;
9
+ export declare const createAgyBootstrapInvocation: (input: {
10
+ busAddress: string;
11
+ executablePath: string;
12
+ runtimeHomePath: string;
13
+ workspacePath: string;
14
+ }) => AgyBootstrapInvocation;
15
+ export declare function runAgySubscriptionBootstrap(config: OrganizationRuntimeConfig, startRealm?: () => Promise<AgySubscriptionRealm>): Promise<void>;
16
+ //# sourceMappingURL=agySubscriptionBootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agySubscriptionBootstrap.d.ts","sourceRoot":"","sources":["../../src/runtime/agySubscriptionBootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAG1E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,CAAC,CAAC;AAEH,eAAO,MAAM,4BAA4B,GAAI,OAAO;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,sBAaF,CAAC;AAEH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,yBAAyB,EACjC,UAAU,GAAE,MAAM,OAAO,CAAC,oBAAoB,CAA6B,GAC1E,OAAO,CAAC,IAAI,CAAC,CA2Cf"}