@dharma-ai-labs/agent-fabric 0.2.152 → 0.2.154

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 (309) hide show
  1. package/dist/bootstrapGitScope.test.d.ts +2 -0
  2. package/dist/bootstrapGitScope.test.d.ts.map +1 -0
  3. package/dist/bootstrapGitScope.test.js +115 -0
  4. package/dist/bootstrapGitScope.test.js.map +1 -0
  5. package/dist/bootstrapHostFiles.d.ts +5 -0
  6. package/dist/bootstrapHostFiles.d.ts.map +1 -0
  7. package/dist/bootstrapHostFiles.js +150 -0
  8. package/dist/bootstrapHostFiles.js.map +1 -0
  9. package/dist/bootstrapHostFiles.test.d.ts +2 -0
  10. package/dist/bootstrapHostFiles.test.d.ts.map +1 -0
  11. package/dist/bootstrapHostFiles.test.js +127 -0
  12. package/dist/bootstrapHostFiles.test.js.map +1 -0
  13. package/dist/bootstrapHostScope.d.ts +42 -0
  14. package/dist/bootstrapHostScope.d.ts.map +1 -0
  15. package/dist/bootstrapHostScope.js +224 -0
  16. package/dist/bootstrapHostScope.js.map +1 -0
  17. package/dist/bootstrapHostScope.test.d.ts +2 -0
  18. package/dist/bootstrapHostScope.test.d.ts.map +1 -0
  19. package/dist/bootstrapHostScope.test.js +577 -0
  20. package/dist/bootstrapHostScope.test.js.map +1 -0
  21. package/dist/bootstrapInstallationScope.test.d.ts +2 -0
  22. package/dist/bootstrapInstallationScope.test.d.ts.map +1 -0
  23. package/dist/bootstrapInstallationScope.test.js +68 -0
  24. package/dist/bootstrapInstallationScope.test.js.map +1 -0
  25. package/dist/bootstrapLauncherCaller.test.d.ts +2 -0
  26. package/dist/bootstrapLauncherCaller.test.d.ts.map +1 -0
  27. package/dist/bootstrapLauncherCaller.test.js +91 -0
  28. package/dist/bootstrapLauncherCaller.test.js.map +1 -0
  29. package/dist/bootstrapOwnedChildren.test.d.ts +2 -0
  30. package/dist/bootstrapOwnedChildren.test.d.ts.map +1 -0
  31. package/dist/bootstrapOwnedChildren.test.js +93 -0
  32. package/dist/bootstrapOwnedChildren.test.js.map +1 -0
  33. package/dist/bootstrapPolicyScope.test.d.ts +2 -0
  34. package/dist/bootstrapPolicyScope.test.d.ts.map +1 -0
  35. package/dist/bootstrapPolicyScope.test.js +261 -0
  36. package/dist/bootstrapPolicyScope.test.js.map +1 -0
  37. package/dist/bootstrapProcessCaller.test.d.ts +2 -0
  38. package/dist/bootstrapProcessCaller.test.d.ts.map +1 -0
  39. package/dist/bootstrapProcessCaller.test.js +262 -0
  40. package/dist/bootstrapProcessCaller.test.js.map +1 -0
  41. package/dist/bootstrapRegistryCaller.test.d.ts +2 -0
  42. package/dist/bootstrapRegistryCaller.test.d.ts.map +1 -0
  43. package/dist/bootstrapRegistryCaller.test.js +128 -0
  44. package/dist/bootstrapRegistryCaller.test.js.map +1 -0
  45. package/dist/bootstrapVaultScope.test.d.ts +2 -0
  46. package/dist/bootstrapVaultScope.test.d.ts.map +1 -0
  47. package/dist/bootstrapVaultScope.test.js +105 -0
  48. package/dist/bootstrapVaultScope.test.js.map +1 -0
  49. package/dist/codexBootstrapCompletion.test.d.ts +2 -0
  50. package/dist/codexBootstrapCompletion.test.d.ts.map +1 -0
  51. package/dist/codexBootstrapCompletion.test.js +630 -0
  52. package/dist/codexBootstrapCompletion.test.js.map +1 -0
  53. package/dist/codexBoundSession.d.ts +2 -2
  54. package/dist/codexBoundSession.d.ts.map +1 -1
  55. package/dist/codexBoundSession.js +23 -17
  56. package/dist/codexBoundSession.js.map +1 -1
  57. package/dist/codexBoundSession.test.js +3 -0
  58. package/dist/codexBoundSession.test.js.map +1 -1
  59. package/dist/codexInboxSession.d.ts.map +1 -1
  60. package/dist/codexInboxSession.js +3 -3
  61. package/dist/codexInboxSession.js.map +1 -1
  62. package/dist/codexScopedDispatch.test.d.ts +2 -0
  63. package/dist/codexScopedDispatch.test.d.ts.map +1 -0
  64. package/dist/codexScopedDispatch.test.js +56 -0
  65. package/dist/codexScopedDispatch.test.js.map +1 -0
  66. package/dist/codexSetupAdmission.d.ts +108 -0
  67. package/dist/codexSetupAdmission.d.ts.map +1 -0
  68. package/dist/codexSetupAdmission.js +214 -0
  69. package/dist/codexSetupAdmission.js.map +1 -0
  70. package/dist/codexSetupAdmission.test.d.ts +2 -0
  71. package/dist/codexSetupAdmission.test.d.ts.map +1 -0
  72. package/dist/codexSetupAdmission.test.js +578 -0
  73. package/dist/codexSetupAdmission.test.js.map +1 -0
  74. package/dist/codexSetupChildProvider.test.d.ts +2 -0
  75. package/dist/codexSetupChildProvider.test.d.ts.map +1 -0
  76. package/dist/codexSetupChildProvider.test.js +210 -0
  77. package/dist/codexSetupChildProvider.test.js.map +1 -0
  78. package/dist/codexSetupChildStartup.d.ts +38 -0
  79. package/dist/codexSetupChildStartup.d.ts.map +1 -0
  80. package/dist/codexSetupChildStartup.js +115 -0
  81. package/dist/codexSetupChildStartup.js.map +1 -0
  82. package/dist/codexSetupChildStartup.test.d.ts +2 -0
  83. package/dist/codexSetupChildStartup.test.d.ts.map +1 -0
  84. package/dist/codexSetupChildStartup.test.js +141 -0
  85. package/dist/codexSetupChildStartup.test.js.map +1 -0
  86. package/dist/codexSetupCliDispatch.test.d.ts +2 -0
  87. package/dist/codexSetupCliDispatch.test.d.ts.map +1 -0
  88. package/dist/codexSetupCliDispatch.test.js +138 -0
  89. package/dist/codexSetupCliDispatch.test.js.map +1 -0
  90. package/dist/codexSetupJournalOpen.test.d.ts +2 -0
  91. package/dist/codexSetupJournalOpen.test.d.ts.map +1 -0
  92. package/dist/codexSetupJournalOpen.test.js +101 -0
  93. package/dist/codexSetupJournalOpen.test.js.map +1 -0
  94. package/dist/codexSetupNativeHost.d.ts +31 -0
  95. package/dist/codexSetupNativeHost.d.ts.map +1 -0
  96. package/dist/codexSetupNativeHost.js +208 -0
  97. package/dist/codexSetupNativeHost.js.map +1 -0
  98. package/dist/codexSetupNativeHost.test.d.ts +2 -0
  99. package/dist/codexSetupNativeHost.test.d.ts.map +1 -0
  100. package/dist/codexSetupNativeHost.test.js +456 -0
  101. package/dist/codexSetupNativeHost.test.js.map +1 -0
  102. package/dist/codexSetupNativeWire.test.d.ts +2 -0
  103. package/dist/codexSetupNativeWire.test.d.ts.map +1 -0
  104. package/dist/codexSetupNativeWire.test.js +243 -0
  105. package/dist/codexSetupNativeWire.test.js.map +1 -0
  106. package/dist/codexSetupOwnedConnection.d.ts +14 -0
  107. package/dist/codexSetupOwnedConnection.d.ts.map +1 -0
  108. package/dist/codexSetupOwnedConnection.js +64 -0
  109. package/dist/codexSetupOwnedConnection.js.map +1 -0
  110. package/dist/codexSetupOwnedConnection.test.d.ts +2 -0
  111. package/dist/codexSetupOwnedConnection.test.d.ts.map +1 -0
  112. package/dist/codexSetupOwnedConnection.test.js +192 -0
  113. package/dist/codexSetupOwnedConnection.test.js.map +1 -0
  114. package/dist/codexSetupPortalCommand.test.d.ts +2 -0
  115. package/dist/codexSetupPortalCommand.test.d.ts.map +1 -0
  116. package/dist/codexSetupPortalCommand.test.js +146 -0
  117. package/dist/codexSetupPortalCommand.test.js.map +1 -0
  118. package/dist/codexSetupReadiness.d.ts +23 -0
  119. package/dist/codexSetupReadiness.d.ts.map +1 -0
  120. package/dist/codexSetupReadiness.js +74 -0
  121. package/dist/codexSetupReadiness.js.map +1 -0
  122. package/dist/codexSetupReadiness.test.d.ts +2 -0
  123. package/dist/codexSetupReadiness.test.d.ts.map +1 -0
  124. package/dist/codexSetupReadiness.test.js +145 -0
  125. package/dist/codexSetupReadiness.test.js.map +1 -0
  126. package/dist/codexSetupSessionCaller.test.d.ts +2 -0
  127. package/dist/codexSetupSessionCaller.test.d.ts.map +1 -0
  128. package/dist/codexSetupSessionCaller.test.js +352 -0
  129. package/dist/codexSetupSessionCaller.test.js.map +1 -0
  130. package/dist/codexSetupSessionHandoff.d.ts +48 -0
  131. package/dist/codexSetupSessionHandoff.d.ts.map +1 -0
  132. package/dist/codexSetupSessionHandoff.js +146 -0
  133. package/dist/codexSetupSessionHandoff.js.map +1 -0
  134. package/dist/codexSetupSessionHandoff.test.d.ts +2 -0
  135. package/dist/codexSetupSessionHandoff.test.d.ts.map +1 -0
  136. package/dist/codexSetupSessionHandoff.test.js +289 -0
  137. package/dist/codexSetupSessionHandoff.test.js.map +1 -0
  138. package/dist/codexSetupTransport.test.d.ts +2 -0
  139. package/dist/codexSetupTransport.test.d.ts.map +1 -0
  140. package/dist/codexSetupTransport.test.js +206 -0
  141. package/dist/codexSetupTransport.test.js.map +1 -0
  142. package/dist/codexSetupVaultJournal.d.ts +13 -0
  143. package/dist/codexSetupVaultJournal.d.ts.map +1 -0
  144. package/dist/codexSetupVaultJournal.js +28 -0
  145. package/dist/codexSetupVaultJournal.js.map +1 -0
  146. package/dist/codexSetupVaultJournal.test.d.ts +2 -0
  147. package/dist/codexSetupVaultJournal.test.d.ts.map +1 -0
  148. package/dist/codexSetupVaultJournal.test.js +104 -0
  149. package/dist/codexSetupVaultJournal.test.js.map +1 -0
  150. package/dist/containerChildCleanup.test.d.ts +2 -0
  151. package/dist/containerChildCleanup.test.d.ts.map +1 -0
  152. package/dist/containerChildCleanup.test.js +145 -0
  153. package/dist/containerChildCleanup.test.js.map +1 -0
  154. package/dist/containerRelayLifecycle.d.ts +1 -1
  155. package/dist/containerRelayLifecycle.d.ts.map +1 -1
  156. package/dist/containerRelayLifecycle.js +29 -37
  157. package/dist/containerRelayLifecycle.js.map +1 -1
  158. package/dist/containerRelayLifecycle.test.js +13 -0
  159. package/dist/containerRelayLifecycle.test.js.map +1 -1
  160. package/dist/cooperativeInboxSession.d.ts +2 -2
  161. package/dist/cooperativeInboxSession.d.ts.map +1 -1
  162. package/dist/cooperativeInboxSession.js +21 -13
  163. package/dist/cooperativeInboxSession.js.map +1 -1
  164. package/dist/cooperativeInboxSession.test.js +65 -0
  165. package/dist/cooperativeInboxSession.test.js.map +1 -1
  166. package/dist/demoWatchControl.d.ts +3 -3
  167. package/dist/index.d.ts +55 -14
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +1650 -557
  170. package/dist/index.js.map +1 -1
  171. package/dist/namedCodexSkillDiscovery.d.ts +15 -0
  172. package/dist/namedCodexSkillDiscovery.d.ts.map +1 -0
  173. package/dist/namedCodexSkillDiscovery.js +90 -0
  174. package/dist/namedCodexSkillDiscovery.js.map +1 -0
  175. package/dist/namedCodexSkillDiscovery.test.d.ts +2 -0
  176. package/dist/namedCodexSkillDiscovery.test.d.ts.map +1 -0
  177. package/dist/namedCodexSkillDiscovery.test.js +37 -0
  178. package/dist/namedCodexSkillDiscovery.test.js.map +1 -0
  179. package/dist/namedCodexThread.d.ts +2 -0
  180. package/dist/namedCodexThread.d.ts.map +1 -1
  181. package/dist/namedCodexThread.js +13 -4
  182. package/dist/namedCodexThread.js.map +1 -1
  183. package/dist/namedSessionChildOwner.d.ts +17 -0
  184. package/dist/namedSessionChildOwner.d.ts.map +1 -0
  185. package/dist/namedSessionChildOwner.js +122 -0
  186. package/dist/namedSessionChildOwner.js.map +1 -0
  187. package/dist/namedSessionChildOwner.test.d.ts +2 -0
  188. package/dist/namedSessionChildOwner.test.d.ts.map +1 -0
  189. package/dist/namedSessionChildOwner.test.js +203 -0
  190. package/dist/namedSessionChildOwner.test.js.map +1 -0
  191. package/dist/namedSessionEvidence.d.ts +2 -2
  192. package/dist/namedSessionEvidence.d.ts.map +1 -1
  193. package/dist/namedSessionEvidence.js +2 -2
  194. package/dist/namedSessionEvidence.js.map +1 -1
  195. package/dist/namedSessionEvidence.test.js +24 -1
  196. package/dist/namedSessionEvidence.test.js.map +1 -1
  197. package/dist/namedSessionRepositoryState.d.ts +2 -2
  198. package/dist/namedSessionRepositoryState.d.ts.map +1 -1
  199. package/dist/namedSessionService.d.ts +4 -2
  200. package/dist/namedSessionService.d.ts.map +1 -1
  201. package/dist/namedSessionService.js +18 -1
  202. package/dist/namedSessionService.js.map +1 -1
  203. package/dist/namedSessionService.test.js +31 -2
  204. package/dist/namedSessionService.test.js.map +1 -1
  205. package/dist/namedSessionTaskExportSync.d.ts +3 -3
  206. package/dist/namedSessionTaskExportSync.d.ts.map +1 -1
  207. package/dist/namedSessionTaskExportSync.js +6 -6
  208. package/dist/namedSessionTaskExportSync.js.map +1 -1
  209. package/dist/namedSessionTrust.d.ts +2 -2
  210. package/dist/namedSessionTrust.d.ts.map +1 -1
  211. package/dist/namedSessionTrust.js +3 -2
  212. package/dist/namedSessionTrust.js.map +1 -1
  213. package/dist/namedSessionTrust.test.js +2 -1
  214. package/dist/namedSessionTrust.test.js.map +1 -1
  215. package/dist/ownedChildLifecycle.d.ts +13 -0
  216. package/dist/ownedChildLifecycle.d.ts.map +1 -0
  217. package/dist/ownedChildLifecycle.js +87 -0
  218. package/dist/ownedChildLifecycle.js.map +1 -0
  219. package/dist/ownedChildLifecycle.test.d.ts +2 -0
  220. package/dist/ownedChildLifecycle.test.d.ts.map +1 -0
  221. package/dist/ownedChildLifecycle.test.js +133 -0
  222. package/dist/ownedChildLifecycle.test.js.map +1 -0
  223. package/dist/pidLock.test.js +242 -9
  224. package/dist/pidLock.test.js.map +1 -1
  225. package/dist/providerSessionChannel.d.ts +1 -1
  226. package/dist/providerSessionChannel.d.ts.map +1 -1
  227. package/dist/providerSessionChannel.js +7 -3
  228. package/dist/providerSessionChannel.js.map +1 -1
  229. package/dist/providerSessionChannel.test.js +20 -0
  230. package/dist/providerSessionChannel.test.js.map +1 -1
  231. package/dist/providerSessionReplyRecovery.d.ts +2 -2
  232. package/dist/providerSessionReplyRecovery.d.ts.map +1 -1
  233. package/dist/providerSessionReplyRecovery.js +3 -3
  234. package/dist/providerSessionReplyRecovery.js.map +1 -1
  235. package/dist/relayAutostart.d.ts.map +1 -1
  236. package/dist/relayAutostart.js +12 -9
  237. package/dist/relayAutostart.js.map +1 -1
  238. package/dist/relayRuntimeUpgrade.d.ts +1 -1
  239. package/dist/relayRuntimeUpgrade.d.ts.map +1 -1
  240. package/dist/relayRuntimeUpgrade.js +3 -1
  241. package/dist/relayRuntimeUpgrade.js.map +1 -1
  242. package/dist/relayRuntimeUpgrade.test.js +113 -0
  243. package/dist/relayRuntimeUpgrade.test.js.map +1 -1
  244. package/dist/relayRuntimeUpgradeCaller.test.js +12 -1
  245. package/dist/relayRuntimeUpgradeCaller.test.js.map +1 -1
  246. package/dist/relaySupervisor.d.ts.map +1 -1
  247. package/dist/relaySupervisor.js +19 -14
  248. package/dist/relaySupervisor.js.map +1 -1
  249. package/dist/relaySupervisor.test.js +26 -0
  250. package/dist/relaySupervisor.test.js.map +1 -1
  251. package/dist/relaySupervisorCleanup.test.d.ts +2 -0
  252. package/dist/relaySupervisorCleanup.test.d.ts.map +1 -0
  253. package/dist/relaySupervisorCleanup.test.js +69 -0
  254. package/dist/relaySupervisorCleanup.test.js.map +1 -0
  255. package/dist/repositoryInstallerFiles.d.ts +19 -1
  256. package/dist/repositoryInstallerFiles.d.ts.map +1 -1
  257. package/dist/repositoryInstallerFiles.js +205 -29
  258. package/dist/repositoryInstallerFiles.js.map +1 -1
  259. package/dist/repositoryInstallerScope.test.d.ts +2 -0
  260. package/dist/repositoryInstallerScope.test.d.ts.map +1 -0
  261. package/dist/repositoryInstallerScope.test.js +513 -0
  262. package/dist/repositoryInstallerScope.test.js.map +1 -0
  263. package/dist/repositoryKnowledge.d.ts.map +1 -1
  264. package/dist/repositoryKnowledge.js +177 -37
  265. package/dist/repositoryKnowledge.js.map +1 -1
  266. package/dist/repositoryKnowledgeScope.test.d.ts +2 -0
  267. package/dist/repositoryKnowledgeScope.test.d.ts.map +1 -0
  268. package/dist/repositoryKnowledgeScope.test.js +316 -0
  269. package/dist/repositoryKnowledgeScope.test.js.map +1 -0
  270. package/dist/repositoryOnboardingCaller.test.js +61 -4
  271. package/dist/repositoryOnboardingCaller.test.js.map +1 -1
  272. package/dist/repositoryPackage.d.ts.map +1 -1
  273. package/dist/repositoryPackage.js +340 -59
  274. package/dist/repositoryPackage.js.map +1 -1
  275. package/dist/repositoryPackageDelivery.test.js +65 -0
  276. package/dist/repositoryPackageDelivery.test.js.map +1 -1
  277. package/dist/repositoryPackageScope.test.d.ts +2 -0
  278. package/dist/repositoryPackageScope.test.d.ts.map +1 -0
  279. package/dist/repositoryPackageScope.test.js +578 -0
  280. package/dist/repositoryPackageScope.test.js.map +1 -0
  281. package/dist/schemas/codex-setup-child-start.schema.json +12 -0
  282. package/dist/schemas/codex-setup-intent.schema.json +27 -0
  283. package/dist/schemas/local-codex-setup-session.schema.json +39 -0
  284. package/dist/schemas/setup-claim-failure.schema.json +15 -0
  285. package/dist/skillInstallationScope.test.d.ts +2 -0
  286. package/dist/skillInstallationScope.test.d.ts.map +1 -0
  287. package/dist/skillInstallationScope.test.js +64 -0
  288. package/dist/skillInstallationScope.test.js.map +1 -0
  289. package/dist/skillPreparationCache.test.js +12 -4
  290. package/dist/skillPreparationCache.test.js.map +1 -1
  291. package/dist/skillPreparationCaller.test.js +31 -1
  292. package/dist/skillPreparationCaller.test.js.map +1 -1
  293. package/dist/startupCommitScope.test.d.ts +2 -0
  294. package/dist/startupCommitScope.test.d.ts.map +1 -0
  295. package/dist/startupCommitScope.test.js +172 -0
  296. package/dist/startupCommitScope.test.js.map +1 -0
  297. package/dist/workspaceRegistry.d.ts.map +1 -1
  298. package/dist/workspaceRegistry.js +7 -3
  299. package/dist/workspaceRegistry.js.map +1 -1
  300. package/dist/workspaceRegistry.test.js +51 -0
  301. package/dist/workspaceRegistry.test.js.map +1 -1
  302. package/dist/workspaceRegistryRecovery.d.ts.map +1 -1
  303. package/dist/workspaceRegistryRecovery.js +171 -64
  304. package/dist/workspaceRegistryRecovery.js.map +1 -1
  305. package/dist/workspaceRegistryRecoveryScope.test.d.ts +2 -0
  306. package/dist/workspaceRegistryRecoveryScope.test.d.ts.map +1 -0
  307. package/dist/workspaceRegistryRecoveryScope.test.js +416 -0
  308. package/dist/workspaceRegistryRecoveryScope.test.js.map +1 -0
  309. package/package.json +7 -7
@@ -0,0 +1,289 @@
1
+ import assert from 'node:assert/strict';
2
+ import { spawn } from 'node:child_process';
3
+ import { randomBytes } from 'node:crypto';
4
+ import { mkdtemp, rm } from 'node:fs/promises';
5
+ import { tmpdir } from 'node:os';
6
+ import { resolve } from 'node:path';
7
+ import test from 'node:test';
8
+ import { LocalVault } from '@dharma-ai-labs/agent-fabric-local-vault';
9
+ import { prepareCodexBootstrapHost, runCodexBootstrapHostScope } from './bootstrapHostScope.js';
10
+ import { createCodexSetupAdmission } from './codexSetupAdmission.js';
11
+ import { createNamedSessionChildOwner } from './namedSessionChildOwner.js';
12
+ import { awaitCodexSetupSession, consumeCodexSetupSessions, currentAcceptedSetupSessionScope, originalCodexSetupSessionSender, withCodexSetupSessionSender } from './codexSetupSessionHandoff.js';
13
+ const uuid = (n) => `${String(n).padStart(8, '0')}-1111-4111-8111-111111111111`;
14
+ const digest = `sha256:${'a'.repeat(64)}`;
15
+ async function fixture(run) {
16
+ const root = await mkdtemp(resolve(tmpdir(), 'dharma-session-supervisor-'));
17
+ const vault = await LocalVault.open({ root, masterKey: randomBytes(32) }), controller = new AbortController();
18
+ const claim = vault.claimCodexSetupOperation(uuid(1), digest);
19
+ if (claim.state !== 'acquired')
20
+ throw new Error('fixture_claim_missing');
21
+ const request = { schema: 'dharma.local-codex-setup-session/v1', operationId: uuid(1),
22
+ intentDigest: digest, setupReference: uuid(99), senderPid: process.pid, senderStartTicks: '1',
23
+ organizationId: 'org_demo', membershipId: uuid(2), deviceId: uuid(3), workspaceId: uuid(4),
24
+ repositoryBindingId: uuid(5), endpointId: uuid(6), provider: 'codex', origin: 'https://hq.example',
25
+ repositoryFingerprint: digest, policyRevision: 'policy-v1', policyHash: digest, scopeDigest: digest,
26
+ contractDigest: digest, name: 'reviewer', workspaceRoot: root, maximumCostCents: 1000, maximumTurnCostCents: 25,
27
+ issuedAt: new Date(Date.now() - 1000).toISOString(), expiresAt: new Date(Date.now() + 60000).toISOString() };
28
+ const scope = { signal: controller.signal, current: async () => !controller.signal.aborted,
29
+ async assert() { if (controller.signal.aborted)
30
+ throw new Error('codex_setup_host_scope_unavailable'); },
31
+ close() { controller.abort(); }, async step(operation) { await this.assert(); const result = await operation(); await this.assert(); return result; } };
32
+ try {
33
+ await run({ vault, request, leaseId: claim.leaseId, signal: controller.signal, abort: () => controller.abort(), scope });
34
+ }
35
+ finally {
36
+ controller.abort();
37
+ vault.close();
38
+ await rm(root, { recursive: true, force: true });
39
+ }
40
+ }
41
+ const sender = (vault) => ({ async stageCodexSetupSession(...args) {
42
+ const submission = vault.stageCodexSetupSession(...args);
43
+ return { async withdraw() { submission.withdraw(); } };
44
+ }, async readCodexSetupSession(...args) { return vault.readCodexSetupSession(...args); } });
45
+ const unconfirmed = { state: 'unconfirmed', code: 'session_start_unconfirmed' };
46
+ test('sender and actual standing owner share one encrypted request and a fresh child, without another dispatch', async () => {
47
+ await fixture(async (f) => {
48
+ const owner = createNamedSessionChildOwner(f.signal);
49
+ const waiting = awaitCodexSetupSession({ vault: sender(f.vault), scope: f.scope, request: f.request, leaseId: f.leaseId });
50
+ await new Promise(resolveWait => setImmediate(resolveWait));
51
+ let starts = 0;
52
+ await owner.run(async () => {
53
+ assert.equal(await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
54
+ start: scope => scope.step(async () => {
55
+ starts++;
56
+ const child = await owner.spawn(scope.request.name, () => spawn(process.execPath, ['-e', 'setInterval(()=>{},1000)'], { stdio: 'ignore' }));
57
+ return { state: 'started', bindingId: uuid(9), sessionId: 'synthetic', sessionPid: child.pid,
58
+ supervisorPid: process.pid, sessionStartTicks: '1', supervisorStartTicks: '1' };
59
+ }) }), 1);
60
+ assert.equal((await waiting).state, 'started');
61
+ assert.equal(await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
62
+ start: async () => { starts++; return unconfirmed; } }), 0);
63
+ assert.equal(starts, 1);
64
+ });
65
+ });
66
+ });
67
+ test('a serialized or out-of-context owner cannot accept or start a request', async () => {
68
+ await fixture(async (f) => {
69
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
70
+ const owner = createNamedSessionChildOwner(f.signal);
71
+ let starts = 0;
72
+ try {
73
+ await assert.rejects(consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal,
74
+ authorize: async () => true, start: async () => { starts++; return unconfirmed; } }), /setup_session_owner_unavailable/);
75
+ }
76
+ finally {
77
+ await owner.close();
78
+ }
79
+ assert.equal(starts, 0);
80
+ assert.equal(f.vault.readCodexSetupSession(uuid(1), digest)?.state, 'pending');
81
+ });
82
+ });
83
+ test('policy rejection leaves pending request untouched and produces no provider effect', async () => {
84
+ await fixture(async (f) => {
85
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
86
+ const owner = createNamedSessionChildOwner(f.signal);
87
+ let starts = 0;
88
+ await owner.run(async () => {
89
+ assert.equal(await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => false,
90
+ start: async () => { starts++; return unconfirmed; } }), 0);
91
+ });
92
+ assert.equal(starts, 0);
93
+ assert.equal(f.vault.readCodexSetupSession(uuid(1), digest)?.state, 'pending');
94
+ });
95
+ });
96
+ test('withdrawal during authorization wins over acceptance without a start', async () => {
97
+ await fixture(async (f) => {
98
+ const submission = f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
99
+ const owner = createNamedSessionChildOwner(f.signal);
100
+ let starts = 0;
101
+ await owner.run(async () => {
102
+ assert.equal(await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal,
103
+ authorize: async () => { submission.withdraw(); return true; }, start: async () => { starts++; return unconfirmed; } }), 0);
104
+ });
105
+ assert.equal(starts, 0);
106
+ assert.equal(f.vault.readCodexSetupSession(uuid(1), digest)?.state, 'withdrawn');
107
+ });
108
+ });
109
+ test('post-acceptance policy change records bounded unconfirmed disposition and never repeats the start', async () => {
110
+ await fixture(async (f) => {
111
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
112
+ const owner = createNamedSessionChildOwner(f.signal);
113
+ let calls = 0, starts = 0;
114
+ await owner.run(async () => {
115
+ assert.equal(await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => ++calls === 1,
116
+ start: async () => { starts++; return unconfirmed; } }), 1);
117
+ assert.deepEqual(f.vault.readCodexSetupSession(uuid(1), digest)?.result, unconfirmed);
118
+ assert.equal(await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
119
+ start: async () => { starts++; return unconfirmed; } }), 0);
120
+ });
121
+ assert.equal(starts, 0);
122
+ });
123
+ });
124
+ test('claimed process metadata cannot substitute for the standing owner fresh child', async () => {
125
+ await fixture(async (f) => {
126
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
127
+ const owner = createNamedSessionChildOwner(f.signal);
128
+ await owner.run(async () => {
129
+ await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
130
+ start: async () => ({ state: 'started', bindingId: uuid(9), sessionId: 'foreign', sessionPid: process.pid,
131
+ supervisorPid: process.pid, sessionStartTicks: '1', supervisorStartTicks: '1' }) });
132
+ });
133
+ assert.deepEqual(f.vault.readCodexSetupSession(uuid(1), digest)?.result, unconfirmed);
134
+ });
135
+ });
136
+ test('late accepted-scope descendants cannot dispatch after callback completion', async () => {
137
+ await fixture(async (f) => {
138
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
139
+ const owner = createNamedSessionChildOwner(f.signal);
140
+ let retained, effects = 0;
141
+ await owner.run(async () => {
142
+ await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
143
+ start: async (scope) => { retained = scope; return unconfirmed; } });
144
+ await assert.rejects(retained.step(async () => { effects++; }), /setup_session_scope_unavailable/);
145
+ });
146
+ assert.equal(effects, 0);
147
+ });
148
+ });
149
+ test('sender timeout withdraws only pending authority and never invents successful startup', async () => {
150
+ await fixture(async (f) => {
151
+ await assert.rejects(awaitCodexSetupSession({ vault: sender(f.vault), scope: f.scope, request: f.request,
152
+ leaseId: f.leaseId, waitMs: 1 }), /setup_session_start_unconfirmed/);
153
+ assert.equal(f.vault.readCodexSetupSession(uuid(1), digest)?.state, 'withdrawn');
154
+ });
155
+ });
156
+ test('failed accepted startup drains only its new owned child and preserves a live sibling', async () => {
157
+ await fixture(async (f) => {
158
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
159
+ const owner = createNamedSessionChildOwner(f.signal);
160
+ await owner.run(async () => {
161
+ const sibling = await owner.spawn('implementer', () => spawn(process.execPath, ['-e', 'setInterval(()=>{},1000)'], { stdio: 'ignore' }));
162
+ let failedChild;
163
+ await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
164
+ start: async (scope) => {
165
+ failedChild = await owner.spawn(scope.request.name, () => spawn(process.execPath, ['-e', 'setInterval(()=>{},1000)'], { stdio: 'ignore' }));
166
+ throw new Error('private-canary');
167
+ } });
168
+ assert.ok(failedChild);
169
+ assert.ok(failedChild.exitCode !== null || failedChild.signalCode !== null);
170
+ assert.equal(owner.ownedPid('implementer'), sibling.pid);
171
+ assert.equal(sibling.exitCode, null);
172
+ assert.equal(sibling.signalCode, null);
173
+ assert.deepEqual(f.vault.readCodexSetupSession(uuid(1), digest)?.result, unconfirmed);
174
+ });
175
+ });
176
+ });
177
+ test('checkpoint cleanup does not stop a child that predates the request', async () => {
178
+ await fixture(async (f) => {
179
+ const owner = createNamedSessionChildOwner(f.signal);
180
+ await owner.run(async () => {
181
+ const child = await owner.spawn('reviewer', () => spawn(process.execPath, ['-e', 'setInterval(()=>{},1000)'], { stdio: 'ignore' }));
182
+ const checkpoint = owner.checkpoint('reviewer');
183
+ await checkpoint.stopFresh();
184
+ assert.equal(owner.ownedPid('reviewer'), child.pid);
185
+ assert.equal(child.exitCode, null);
186
+ assert.equal(child.signalCode, null);
187
+ });
188
+ });
189
+ });
190
+ test('a descendant cannot return tool results when callback settlement happens during its final policy yield', async () => {
191
+ await fixture(async (f) => {
192
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
193
+ const owner = createNamedSessionChildOwner(f.signal);
194
+ let pauseNext = false, release, reached, pending;
195
+ const gate = new Promise(resolveWait => { release = resolveWait; });
196
+ const waiting = new Promise(resolveWait => { reached = resolveWait; });
197
+ await owner.run(async () => {
198
+ await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal,
199
+ authorize: async () => { if (pauseNext) {
200
+ pauseNext = false;
201
+ reached();
202
+ await gate;
203
+ } return true; },
204
+ start: async (scope) => {
205
+ pending = scope.step(async () => { pauseNext = true; return 'synthetic-tool-result'; });
206
+ void pending.catch(() => { });
207
+ await waiting;
208
+ return unconfirmed;
209
+ } });
210
+ release();
211
+ await assert.rejects(pending, /setup_session_scope_unavailable/);
212
+ });
213
+ });
214
+ });
215
+ test('original sender requires the admitted lease and original context; copied and settled contexts are denied', async () => {
216
+ await fixture(async (f) => {
217
+ const prepared = prepareCodexBootstrapHost({ workspace: f.request.workspaceRoot, signal: f.signal, current: async () => true,
218
+ intent: { schema: 'dharma.codex-setup-intent/v1', operationId: uuid(18), setupReference: uuid(99),
219
+ organizationId: f.request.organizationId, recipientMembershipId: f.request.membershipId, origin: f.request.origin,
220
+ repositoryFingerprint: digest, policyRevision: 'policy-v1', scopeDigest: digest, contractDigest: digest,
221
+ hostContextId: uuid(19), issuedAt: f.request.issuedAt, expiresAt: f.request.expiresAt } });
222
+ const binding = { connectionId: uuid(20), threadId: 'synthetic_thread', turnId: 'synthetic_turn', hostContextId: uuid(19) };
223
+ let admitted = 0, late, executionError;
224
+ const owner = createCodexSetupAdmission({ ...binding, intent: prepared.intent,
225
+ current: async () => ({ ...binding, mode: 'setup' }), qualifyHost: async () => true,
226
+ journal: { claim: async (id, value) => f.vault.claimCodexSetupOperation(id, value),
227
+ read: async (id, value) => f.vault.readCodexSetupOperation(id, value),
228
+ finish: async (id, value, result) => f.vault.finishCodexSetupOperation(id, value, result) },
229
+ execute: async (_intent, _signal, _current, lease) => {
230
+ try {
231
+ return await runCodexBootstrapHostScope(prepared.scope, async () => {
232
+ await assert.rejects(withCodexSetupSessionSender({ scope: prepared.scope, vault: sender(f.vault), lease: { ...lease } }, async () => { admitted++; }), /execution_lease_unavailable/);
233
+ await withCodexSetupSessionSender({ scope: prepared.scope, vault: sender(f.vault), lease }, async () => {
234
+ assert.equal((await originalCodexSetupSessionSender(prepared.scope)).lease, lease);
235
+ admitted++;
236
+ await assert.rejects(withCodexSetupSessionSender({ scope: prepared.scope, vault: sender(f.vault), lease }, async () => { admitted++; }), /sender_conflict/);
237
+ late = () => originalCodexSetupSessionSender(prepared.scope);
238
+ });
239
+ await assert.rejects(late(), /sender_unavailable/);
240
+ return { state: 'unconfirmed', code: 'setup_execution_unconfirmed' };
241
+ });
242
+ }
243
+ catch (error) {
244
+ executionError = error;
245
+ throw error;
246
+ }
247
+ }, verifyReadiness: async () => false });
248
+ try {
249
+ const result = await owner.handler({ threadId: binding.threadId, turnId: binding.turnId, callId: 'synthetic_call',
250
+ tool: 'dharma_setup_reference', namespace: null, arguments: { operationId: uuid(18), setupReference: uuid(99) } }, { signal: f.signal });
251
+ await owner.settled;
252
+ if (executionError)
253
+ throw executionError;
254
+ assert.equal(result.success, false);
255
+ assert.equal(admitted, 1);
256
+ await assert.rejects(late(), /sender_unavailable/);
257
+ }
258
+ finally {
259
+ owner.close();
260
+ await owner.settled;
261
+ prepared.scope.close();
262
+ }
263
+ });
264
+ });
265
+ test('accepted receiver descendants retain a closed context instead of falling back to unscoped authority', async () => {
266
+ await fixture(async (f) => {
267
+ f.vault.stageCodexSetupSession(f.leaseId, digest, f.request);
268
+ const owner = createNamedSessionChildOwner(f.signal);
269
+ let release, pending, effects = 0;
270
+ const gate = new Promise(done => { release = done; });
271
+ await owner.run(async () => {
272
+ await consumeCodexSetupSessions({ vault: f.vault, owner, signal: f.signal, authorize: async () => true,
273
+ start: async (scope) => {
274
+ assert.equal(currentAcceptedSetupSessionScope(), scope);
275
+ pending = (async () => {
276
+ await gate;
277
+ assert.equal(currentAcceptedSetupSessionScope(), scope);
278
+ await assert.rejects(currentAcceptedSetupSessionScope().step(async () => { effects++; }), /scope_unavailable/);
279
+ })();
280
+ return unconfirmed;
281
+ } });
282
+ assert.equal(currentAcceptedSetupSessionScope(), undefined);
283
+ release();
284
+ await pending;
285
+ assert.equal(effects, 0);
286
+ });
287
+ });
288
+ });
289
+ //# sourceMappingURL=codexSetupSessionHandoff.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupSessionHandoff.test.js","sourceRoot":"","sources":["../src/codexSetupSessionHandoff.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codexSetupTransport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupTransport.test.d.ts","sourceRoot":"","sources":["../src/codexSetupTransport.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,206 @@
1
+ import assert from 'node:assert/strict';
2
+ import { randomBytes } from 'node:crypto';
3
+ import { mkdtemp, rm } from 'node:fs/promises';
4
+ import { tmpdir } from 'node:os';
5
+ import { resolve, sep } from 'node:path';
6
+ import test from 'node:test';
7
+ import { LocalVault } from '@dharma-ai-labs/agent-fabric-local-vault';
8
+ import { openCodexAppServerTransport } from '@dharma-ai-labs/agent-fabric-provider-adapters/experimental/codex-transport';
9
+ import { createCodexSetupAdmission } from './codexSetupAdmission.js';
10
+ import { createCodexSetupVaultJournal } from './codexSetupVaultJournal.js';
11
+ const id = (n) => `${String(n).padStart(8, '0')}-1111-4111-8111-111111111111`;
12
+ const hash = `sha256:${'a'.repeat(64)}`;
13
+ const intent = { schema: 'dharma.codex-setup-intent/v1', operationId: id(1), setupReference: id(2),
14
+ organizationId: 'org_demo', recipientMembershipId: id(3), origin: 'https://hq.example', hostContextId: id(4),
15
+ repositoryFingerprint: hash, policyRevision: 'policy-v1', scopeDigest: hash, contractDigest: hash,
16
+ issuedAt: '2026-10-05T18:00:00.000Z', expiresAt: '2026-10-05T18:15:00.000Z' };
17
+ const binding = { connectionId: id(5), threadId: 'synthetic_thread', turnId: 'synthetic_turn', hostContextId: id(4) };
18
+ // Real stdio transport, synthetic server frames: no provider or model process.
19
+ const server = `
20
+ const lines = require('node:readline').createInterface({input: process.stdin});
21
+ let call = 0;
22
+ const send = value => process.stdout.write(JSON.stringify(value) + '\\n');
23
+ lines.on('line', line => {
24
+ const value = JSON.parse(line);
25
+ if (value.method === 'initialize') send({id: value.id, result: {userAgent: 'setup-fixture'}});
26
+ else if (value.method === 'ping') send({id: value.id, result: {pong: true}});
27
+ else if (value.method === 'disconnect') {
28
+ if (value.params.mode === 'exit') process.exit(0);
29
+ else if (value.params.mode === 'eof') {require('node:fs').closeSync(1); setInterval(() => {}, 1000);}
30
+ else if (value.params.mode === 'timeout') return;
31
+ else process.stdout.write('invalid-json\\n');
32
+ }
33
+ else if (value.method === 'setup') {
34
+ send({id: value.id, result: {dispatched: true}});
35
+ send({id: 'fixture_' + (++call), method: 'item/tool/call', params: {
36
+ threadId: 'synthetic_thread', turnId: 'synthetic_turn', callId: 'fixture_' + call,
37
+ tool: 'dharma_setup_reference', namespace: null,
38
+ arguments: {operationId: '${id(1)}', setupReference: '${id(2)}'}
39
+ }});
40
+ } else if (typeof value.id === 'string' && value.result) {
41
+ send({method: 'setup/disposition', params: value.result});
42
+ }
43
+ });
44
+ `;
45
+ async function fixture(execute) {
46
+ const root = await mkdtemp(resolve(tmpdir(), 'fabric-setup-transport-'));
47
+ const vault = await LocalVault.open({ root, masterKey: randomBytes(32) });
48
+ const owner = createCodexSetupAdmission({ intent, ...binding, responseWaitMs: 10,
49
+ now: () => Date.parse('2026-10-05T18:01:00.000Z'),
50
+ current: async () => ({ ...binding, mode: 'setup' }), qualifyHost: async () => true,
51
+ journal: createCodexSetupVaultJournal(vault), execute, verifyReadiness: async () => true });
52
+ const clean = async () => {
53
+ vault.close();
54
+ if (!resolve(root).startsWith(`${resolve(tmpdir())}${sep}fabric-setup-transport-`))
55
+ throw new Error('fixture_cleanup_scope_invalid');
56
+ await rm(root, { recursive: true, force: true });
57
+ };
58
+ try {
59
+ const transport = await openCodexAppServerTransport({ command: process.execPath,
60
+ argv: ['-e', server], cwd: root, environment: process.platform === 'win32'
61
+ ? { SystemRoot: process.env.SystemRoot } : {}, requestTimeoutMs: 2000, toolCallTimeoutMs: 1000 });
62
+ const unregister = transport.onToolCall(owner.handler);
63
+ const lifetime = transport.signal;
64
+ const closeOwner = () => owner.close();
65
+ lifetime.addEventListener('abort', closeOwner, { once: true });
66
+ if (lifetime.aborted)
67
+ owner.close();
68
+ const close = async () => {
69
+ owner.close();
70
+ unregister();
71
+ try {
72
+ await transport.close();
73
+ }
74
+ finally {
75
+ await owner.settled;
76
+ lifetime.removeEventListener('abort', closeOwner);
77
+ await clean();
78
+ }
79
+ };
80
+ const request = async () => {
81
+ let timer;
82
+ let unregisterNotification = () => { };
83
+ const disposition = new Promise((done, fail) => {
84
+ timer = setTimeout(() => fail(new Error('fixture_disposition_missing')), 4000);
85
+ unregisterNotification = transport.onNotification((value) => {
86
+ if (value.method === 'setup/disposition')
87
+ done(value.params);
88
+ });
89
+ });
90
+ try {
91
+ assert.deepEqual(await transport.request('setup', {}), { dispatched: true });
92
+ return await disposition;
93
+ }
94
+ finally {
95
+ if (timer)
96
+ clearTimeout(timer);
97
+ unregisterNotification();
98
+ }
99
+ };
100
+ return { owner, transport, request, close };
101
+ }
102
+ catch (error) {
103
+ owner.close();
104
+ await owner.settled;
105
+ await clean();
106
+ throw error;
107
+ }
108
+ }
109
+ test('public stdio adapter returns bounded status and reconciles the same encrypted operation', async () => {
110
+ let release;
111
+ let executions = 0;
112
+ const finish = new Promise(done => { release = done; });
113
+ const f = await fixture(async () => { executions++; await finish; return { state: 'completed', readinessReceiptId: id(6) }; });
114
+ try {
115
+ const pending = await f.request();
116
+ assert.equal(pending.success, false);
117
+ assert.equal(JSON.parse(pending.contentItems[0].text).code, 'codex_setup_in_progress');
118
+ assert.equal(f.owner.pending, true);
119
+ assert.equal(executions, 1);
120
+ assert.deepEqual(await f.transport.request('ping', {}), { pong: true });
121
+ assert.equal(JSON.parse((await f.request()).contentItems[0].text).code, 'codex_setup_in_progress');
122
+ assert.equal(executions, 1);
123
+ release();
124
+ await f.owner.settled;
125
+ const complete = await f.request();
126
+ assert.equal(complete.success, true);
127
+ assert.deepEqual(JSON.parse(complete.contentItems[0].text), {
128
+ operationId: id(1), state: 'completed', readinessReceiptId: id(6)
129
+ });
130
+ assert.equal(executions, 1);
131
+ assert.deepEqual(await f.transport.request('ping', {}), { pong: true });
132
+ }
133
+ finally {
134
+ release();
135
+ await f.close();
136
+ }
137
+ });
138
+ test('normal owning lifecycle closes a returned callback operation without a protected effect', async () => {
139
+ let effects = 0;
140
+ let stopped = false;
141
+ let operationSignal;
142
+ const f = await fixture(async (_intent, signal, current) => {
143
+ operationSignal = signal;
144
+ await new Promise(done => { if (signal.aborted)
145
+ done();
146
+ else
147
+ signal.addEventListener('abort', () => done(), { once: true }); });
148
+ if (await current())
149
+ effects++;
150
+ stopped = true;
151
+ return { state: 'unconfirmed', code: 'setup_execution_unconfirmed' };
152
+ });
153
+ try {
154
+ assert.equal(JSON.parse((await f.request()).contentItems[0].text).code, 'codex_setup_in_progress');
155
+ assert.ok(operationSignal);
156
+ assert.equal(operationSignal.aborted, false);
157
+ assert.equal(f.owner.pending, true);
158
+ assert.equal(stopped, false);
159
+ }
160
+ finally {
161
+ await f.close();
162
+ }
163
+ assert.equal(operationSignal?.aborted, true);
164
+ assert.equal(stopped, true);
165
+ assert.equal(effects, 0);
166
+ assert.equal(f.owner.pending, false);
167
+ await assert.rejects(f.transport.request('ping', {}), /codex_app_server_unavailable/);
168
+ });
169
+ for (const mode of ['close', 'exit', 'eof', 'timeout', 'invalid-frame']) {
170
+ // Closing fd 1 on Windows did not close the child pipe; keep that fixture
171
+ // failure, and qualify actual EOF separately on the Linux client route.
172
+ test(`transport ${mode} withdraws setup authority after its callback has returned`, { skip: mode === 'eof' && process.platform !== 'linux' }, async () => {
173
+ let release;
174
+ let effects = 0;
175
+ let signal;
176
+ const finish = new Promise(done => { release = done; });
177
+ const f = await fixture(async (_intent, context, current) => {
178
+ signal = context;
179
+ await finish;
180
+ if (await current())
181
+ effects++;
182
+ return { state: 'unconfirmed', code: 'setup_execution_unconfirmed' };
183
+ });
184
+ try {
185
+ assert.equal(JSON.parse((await f.request()).contentItems[0].text).code, 'codex_setup_in_progress');
186
+ assert.ok(signal);
187
+ assert.equal(signal.aborted, false);
188
+ if (mode === 'close')
189
+ await f.transport.close();
190
+ else
191
+ await assert.rejects(f.transport.request('disconnect', { mode }), mode === 'timeout' ? /codex_app_server_request_timeout:disconnect/
192
+ : /codex_app_server_closed|codex_app_server_frame_invalid|codex_app_server_write_failed/);
193
+ release();
194
+ await f.owner.settled;
195
+ assert.equal(f.transport.signal.aborted, true);
196
+ assert.equal(signal.aborted, true);
197
+ assert.equal(effects, 0);
198
+ assert.equal(f.owner.pending, false);
199
+ }
200
+ finally {
201
+ release();
202
+ await f.close();
203
+ }
204
+ });
205
+ }
206
+ //# sourceMappingURL=codexSetupTransport.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupTransport.test.js","sourceRoot":"","sources":["../src/codexSetupTransport.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,OAAO,EAAE,EAAE,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAE,GAAG,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAC,2BAA2B,EAAC,MAAM,6EAA6E,CAAC;AACxH,OAAO,EAAC,yBAAyB,EAAwB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AAEzE,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,8BAA8B,CAAC;AACtF,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AACxC,MAAM,MAAM,GAAqB,EAAC,MAAM,EAAE,8BAA8B,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;IACjH,cAAc,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5G,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI;IACjG,QAAQ,EAAE,0BAA0B,EAAE,SAAS,EAAE,0BAA0B,EAAC,CAAC;AAC/E,MAAM,OAAO,GAAG,EAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;AAGpH,+EAA+E;AAC/E,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;kCAmBmB,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;;;;;;CAMlE,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,OAAgB;IACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,yBAAyB,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,EAAE;QAC7E,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;QACjD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACjF,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAC,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,yBAAyB,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrI,MAAM,EAAE,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,QAAQ;YAC5E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;gBACxE,CAAC,CAAC,EAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAC,CAAC,CAAC;QACnG,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,OAAO;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACvB,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC;gBAAA,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YAAA,CAAC;oBAAS,CAAC;gBACtC,MAAM,KAAK,CAAC,OAAO,CAAC;gBAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAAC,MAAM,KAAK,EAAE,CAAC;YACxF,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,KAAiC,CAAC;YAAC,IAAI,sBAAsB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,IAAI,OAAO,CAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAClD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/E,sBAAsB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,KAAU,EAAE,EAAE;oBAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB;wBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBAAA,MAAM,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;gBAAC,OAAO,MAAM,WAAW,CAAC;YAAA,CAAC;oBACnG,CAAC;gBAAA,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,sBAAsB,EAAE,CAAC;YAAA,CAAC;QACrE,CAAC,CAAC;QACF,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAA,KAAK,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC,OAAO,CAAC;QAAC,MAAM,KAAK,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC;IAAA,CAAC;AACnF,CAAC;AAED,IAAI,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;IACzG,IAAI,OAAoB,CAAC;IAAC,IAAI,UAAU,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,IAAI,CAAC,EAAE,GAAE,OAAO,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,GAAE,UAAU,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,EAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC3H,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACnG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC1D,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;SAAC,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QAAA,OAAO,EAAE,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAAA,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;IACzG,IAAI,OAAO,GAAG,CAAC,CAAC;IAAC,IAAI,OAAO,GAAG,KAAK,CAAC;IAAC,IAAI,eAAwC,CAAC;IACnF,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QACzD,eAAe,GAAG,MAAM,CAAC;QACzB,MAAM,IAAI,OAAO,CAAO,IAAI,CAAC,EAAE,GAAE,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,EAAE,CAAC;;YAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;QAClI,IAAI,MAAM,OAAO,EAAE;YAAE,OAAO,EAAE,CAAC;QAC/B,OAAO,GAAG,IAAI,CAAC;QAAC,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,6BAA6B,EAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACnG,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QAAA,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAAA,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,8BAA8B,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEH,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,CAAU,EAAE,CAAC;IACjF,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,CAAC,aAAa,IAAI,4DAA4D,EAChF,EAAC,IAAI,EAAE,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAC,EAAE,KAAK,IAAI,EAAE;QACnE,IAAI,OAAoB,CAAC;QAAC,IAAI,OAAO,GAAG,CAAC,CAAC;QAAC,IAAI,MAA+B,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,IAAI,CAAC,EAAE,GAAE,OAAO,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,GAAG,OAAO,CAAC;YAAC,MAAM,MAAM,CAAC;YAC/B,IAAI,MAAM,OAAO,EAAE;gBAAE,OAAO,EAAE,CAAC;YAC/B,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,6BAA6B,EAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;YACnG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,IAAI,KAAK,OAAO;gBAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;;gBAC3C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,CAAC,EACjE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,6CAA6C;oBAChE,CAAC,CAAC,sFAAsF,CAAC,CAAC;YAC9F,OAAO,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YAAA,OAAO,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAAA,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { LocalVault, ScopedCodexSetupJournal } from '@dharma-ai-labs/agent-fabric-local-vault';
2
+ import type { SecureSecretStore } from '@dharma-ai-labs/agent-fabric-secure-store';
3
+ import type { BootstrapHostScope } from './bootstrapHostScope.js';
4
+ import type { CodexSetupJournal } from './codexSetupAdmission.js';
5
+ export declare function createCodexSetupVaultJournal(vault: Pick<LocalVault, 'claimCodexSetupOperation' | 'readCodexSetupOperation' | 'finishCodexSetupOperation'> | ScopedCodexSetupJournal): CodexSetupJournal;
6
+ export declare function openCodexSetupVaultJournal(input: {
7
+ root: string;
8
+ scope: BootstrapHostScope;
9
+ store?: SecureSecretStore;
10
+ }): Promise<CodexSetupJournal & {
11
+ close(): void;
12
+ }>;
13
+ //# sourceMappingURL=codexSetupVaultJournal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupVaultJournal.d.ts","sourceRoot":"","sources":["../src/codexSetupVaultJournal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,uBAAuB,EAAC,MAAM,0CAA0C,CAAC;AAClG,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EACjE,0BAA0B,GAAG,yBAAyB,GAAG,2BAA2B,CAAC,GAAG,uBAAuB,GAAG,iBAAiB,CAMpI;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAC;IAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpE,GAAG,OAAO,CAAC,iBAAiB,GAAG;IAAC,KAAK,IAAI,IAAI,CAAA;CAAC,CAAC,CAe/C"}
@@ -0,0 +1,28 @@
1
+ export function createCodexSetupVaultJournal(vault) {
2
+ return {
3
+ claim: async (operationId, intentDigest) => vault.claimCodexSetupOperation(operationId, intentDigest),
4
+ read: async (operationId, intentDigest) => vault.readCodexSetupOperation(operationId, intentDigest),
5
+ finish: async (leaseId, intentDigest, result) => vault.finishCodexSetupOperation(leaseId, intentDigest, result),
6
+ };
7
+ }
8
+ export async function openCodexSetupVaultJournal(input) {
9
+ const { root, scope, store } = input;
10
+ let backend, masterKey;
11
+ try {
12
+ const vault = await scope.step(() => import('@dharma-ai-labs/agent-fabric-local-vault'));
13
+ masterKey = await vault.loadOrCreateVaultMasterKey(store, scope);
14
+ await scope.step(async () => {
15
+ // Capture the owned handle before the host's post-open qualification.
16
+ backend = await vault.LocalVault.openSetupJournal({ root, masterKey: masterKey }, scope);
17
+ });
18
+ return Object.freeze({ ...createCodexSetupVaultJournal(backend), close: () => backend.close() });
19
+ }
20
+ catch (error) {
21
+ backend?.close();
22
+ throw error;
23
+ }
24
+ finally {
25
+ masterKey?.fill(0);
26
+ }
27
+ }
28
+ //# sourceMappingURL=codexSetupVaultJournal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupVaultJournal.js","sourceRoot":"","sources":["../src/codexSetupVaultJournal.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,4BAA4B,CAAC,KACoE;IAC/G,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,WAAW,EAAE,YAAY,CAAC;QACrG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,WAAW,EAAE,YAAY,CAAC;QACnG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC;KAChH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAEhD;IACC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IACnC,IAAI,OAA4C,EAAE,SAA6B,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzF,SAAS,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC1B,sEAAsE;YACtE,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,SAAU,EAAC,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAC,GAAG,4BAA4B,CAAC,OAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAQ,CAAC,KAAK,EAAE,EAAC,CAAC,CAAC;IACnG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QAAA,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;AACjC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codexSetupVaultJournal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupVaultJournal.test.d.ts","sourceRoot":"","sources":["../src/codexSetupVaultJournal.test.ts"],"names":[],"mappings":""}