@abloatai/transaction 0.59.2 → 0.60.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 (235) hide show
  1. package/dist/auth/apiKey.d.ts +10 -11
  2. package/dist/auth/apiKey.d.ts.map +1 -1
  3. package/dist/auth/apiKey.js +15 -29
  4. package/dist/auth/apiKey.js.map +1 -1
  5. package/dist/auth/browserCredentialSafety.js +1 -1
  6. package/dist/auth/browserCredentialSafety.js.map +1 -1
  7. package/dist/auth/capability.d.ts +15 -15
  8. package/dist/auth/capabilityLifecycle.d.ts +3 -3
  9. package/dist/auth/capabilityLifecycle.d.ts.map +1 -1
  10. package/dist/auth/capabilityLifecycle.js +2 -1
  11. package/dist/auth/capabilityLifecycle.js.map +1 -1
  12. package/dist/auth/credentialEndpoint.js +1 -1
  13. package/dist/auth/credentialEndpoint.js.map +1 -1
  14. package/dist/auth/credentialResult.d.ts +2 -1
  15. package/dist/auth/credentialResult.d.ts.map +1 -1
  16. package/dist/auth/credentialResult.js.map +1 -1
  17. package/dist/auth/credentialSource.js.map +1 -1
  18. package/dist/auth/identity.js.map +1 -1
  19. package/dist/auth/schemas.d.ts +5 -5
  20. package/dist/auth/sessionIssuanceProtocol.d.ts +8 -8
  21. package/dist/auth/sessionIssuanceProtocol.d.ts.map +1 -1
  22. package/dist/branches.d.ts +38 -38
  23. package/dist/claims/contract.d.ts +27 -27
  24. package/dist/claims/eventContract.d.ts +18 -18
  25. package/dist/claims/events.d.ts +1 -1
  26. package/dist/claims/events.d.ts.map +1 -1
  27. package/dist/claims/routes.d.ts +9 -9
  28. package/dist/claims/routes.d.ts.map +1 -1
  29. package/dist/claims/trace.d.ts.map +1 -1
  30. package/dist/claims/trace.js.map +1 -1
  31. package/dist/client/ablo.d.ts +11 -8
  32. package/dist/client/ablo.d.ts.map +1 -1
  33. package/dist/client/ablo.js +5 -6
  34. package/dist/client/ablo.js.map +1 -1
  35. package/dist/client/resources/httpResources.d.ts +1 -169
  36. package/dist/client/resources/httpResources.d.ts.map +1 -1
  37. package/dist/client/resources/httpResources.js +1 -1
  38. package/dist/client/resources/httpResources.js.map +1 -1
  39. package/dist/client/resources/modelOperations.d.ts +6 -15
  40. package/dist/client/resources/modelOperations.d.ts.map +1 -1
  41. package/dist/client/resources/where.d.ts +12 -12
  42. package/dist/client/surface.d.ts +1 -1
  43. package/dist/client/surface.d.ts.map +1 -1
  44. package/dist/client/surface.js +2 -4
  45. package/dist/client/surface.js.map +1 -1
  46. package/dist/commit/confirmation/commitEnvelope.d.ts +7 -7
  47. package/dist/commit/confirmation/httpCommitEnvelope.d.ts +1 -1
  48. package/dist/commit/confirmation/pendingWrite.d.ts +5 -5
  49. package/dist/commit/contract.d.ts +249 -249
  50. package/dist/commit/contract.d.ts.map +1 -1
  51. package/dist/coordination/index.d.ts +2 -2
  52. package/dist/coordination/index.d.ts.map +1 -1
  53. package/dist/coordination/index.js +3 -4
  54. package/dist/coordination/index.js.map +1 -1
  55. package/dist/coordination/schema.d.ts +57 -101
  56. package/dist/coordination/schema.d.ts.map +1 -1
  57. package/dist/coordination/schema.js +7 -69
  58. package/dist/coordination/schema.js.map +1 -1
  59. package/dist/environment.d.ts +3 -3
  60. package/dist/environment.d.ts.map +1 -1
  61. package/dist/environment.js.map +1 -1
  62. package/dist/errorCodes.d.ts +4 -5
  63. package/dist/errorCodes.d.ts.map +1 -1
  64. package/dist/errorCodes.js +3 -8
  65. package/dist/errorCodes.js.map +1 -1
  66. package/dist/errorObservation.d.ts +14 -14
  67. package/dist/errors.d.ts +11 -11
  68. package/dist/errors.d.ts.map +1 -1
  69. package/dist/errors.js.map +1 -1
  70. package/dist/keys/index.d.ts +1 -1
  71. package/dist/keys/index.d.ts.map +1 -1
  72. package/dist/keys/index.js.map +1 -1
  73. package/dist/observation/contract.d.ts +34 -34
  74. package/dist/observation/feedContract.d.ts +86 -86
  75. package/dist/observation/persistence/syncDeltaRow.d.ts +23 -23
  76. package/dist/observation/persistence/syncDeltaRow.d.ts.map +1 -1
  77. package/dist/pricing.d.ts +12 -12
  78. package/dist/schema/audit.js.map +1 -1
  79. package/dist/schema/ddl.js.map +1 -1
  80. package/dist/schema/ddlLock.js.map +1 -1
  81. package/dist/schema/deployment/contracts.d.ts +64 -64
  82. package/dist/schema/deployment/index.js.map +1 -1
  83. package/dist/schema/deployment/reconcile.js.map +1 -1
  84. package/dist/schema/diff.js.map +1 -1
  85. package/dist/schema/field.d.ts +1 -1
  86. package/dist/schema/field.d.ts.map +1 -1
  87. package/dist/schema/loadStrategy.d.ts +2 -2
  88. package/dist/schema/loadStrategy.d.ts.map +1 -1
  89. package/dist/schema/openapi.js.map +1 -1
  90. package/dist/schema/relation.d.ts +3 -3
  91. package/dist/schema/relation.d.ts.map +1 -1
  92. package/dist/schema/residency.d.ts +1 -1
  93. package/dist/schema/roles.d.ts +1 -1
  94. package/dist/schema/roles.d.ts.map +1 -1
  95. package/dist/schema/roles.js.map +1 -1
  96. package/dist/schema/schema.d.ts +1 -1
  97. package/dist/schema/schema.d.ts.map +1 -1
  98. package/dist/schema/serialize.js.map +1 -1
  99. package/dist/schema/sugar.d.ts.map +1 -1
  100. package/dist/schema/tenancy.d.ts +2 -2
  101. package/dist/server/storageMode.d.ts +1 -1
  102. package/dist/sessions/client.d.ts +29 -0
  103. package/dist/sessions/client.d.ts.map +1 -0
  104. package/dist/sessions/client.js +69 -0
  105. package/dist/sessions/client.js.map +1 -0
  106. package/dist/sessions/contract.d.ts +97 -0
  107. package/dist/sessions/contract.d.ts.map +1 -0
  108. package/dist/sessions/contract.js +5 -0
  109. package/dist/sessions/contract.js.map +1 -0
  110. package/dist/{auth/sessionMint.d.ts → sessions/create.d.ts} +4 -4
  111. package/dist/sessions/create.d.ts.map +1 -0
  112. package/dist/{auth/sessionMint.js → sessions/create.js} +11 -10
  113. package/dist/sessions/create.js.map +1 -0
  114. package/dist/sessions/handler.d.ts +23 -0
  115. package/dist/sessions/handler.d.ts.map +1 -0
  116. package/dist/sessions/handler.js +55 -0
  117. package/dist/sessions/handler.js.map +1 -0
  118. package/dist/sessions/index.d.ts +14 -0
  119. package/dist/sessions/index.d.ts.map +1 -0
  120. package/dist/sessions/index.js +14 -0
  121. package/dist/sessions/index.js.map +1 -0
  122. package/dist/{transport/connection/credentialLifecycle.d.ts → sessions/lifecycle.d.ts} +6 -6
  123. package/dist/sessions/lifecycle.d.ts.map +1 -0
  124. package/dist/{transport/connection/credentialLifecycle.js → sessions/lifecycle.js} +5 -5
  125. package/dist/sessions/lifecycle.js.map +1 -0
  126. package/dist/sessions/source.d.ts +24 -0
  127. package/dist/sessions/source.d.ts.map +1 -0
  128. package/dist/sessions/source.js +56 -0
  129. package/dist/sessions/source.js.map +1 -0
  130. package/dist/source/adapters/adapterProfile.d.ts +6 -6
  131. package/dist/source/adapters/conformance.js.map +1 -1
  132. package/dist/source/adapters/contract.d.ts +14 -14
  133. package/dist/source/adapters/kysely.js.map +1 -1
  134. package/dist/source/adapters/memory.js.map +1 -1
  135. package/dist/source/adapters/prisma.js.map +1 -1
  136. package/dist/source/connector/client.d.ts.map +1 -1
  137. package/dist/source/connector/client.js.map +1 -1
  138. package/dist/source/connector/protocol.d.ts.map +1 -1
  139. package/dist/source/delivery/pushQueue.d.ts.map +1 -1
  140. package/dist/source/delivery/pushQueue.js.map +1 -1
  141. package/dist/source/endpoint/signing.d.ts +4 -4
  142. package/dist/source/endpoint/signing.d.ts.map +1 -1
  143. package/dist/source/outbox/contract.d.ts +4 -4
  144. package/dist/testing/fixtures/httpResponses.d.ts +2 -2
  145. package/dist/testing/fixtures/httpResponses.d.ts.map +1 -1
  146. package/dist/testing/fixtures/httpResponses.js.map +1 -1
  147. package/dist/transport/connection/index.d.ts +0 -1
  148. package/dist/transport/connection/index.d.ts.map +1 -1
  149. package/dist/transport/connection/index.js +0 -1
  150. package/dist/transport/connection/index.js.map +1 -1
  151. package/dist/transport/connection/manager.d.ts +1 -1
  152. package/dist/transport/connection/manager.d.ts.map +1 -1
  153. package/dist/transport/connection/manager.js.map +1 -1
  154. package/dist/transport/connection/networkProbe.d.ts +5 -18
  155. package/dist/transport/connection/networkProbe.d.ts.map +1 -1
  156. package/dist/transport/connection/networkProbe.js.map +1 -1
  157. package/dist/transport/http/client.d.ts +11 -19
  158. package/dist/transport/http/client.d.ts.map +1 -1
  159. package/dist/transport/http/client.js +12 -14
  160. package/dist/transport/http/client.js.map +1 -1
  161. package/dist/transport/http/options.d.ts +4 -1
  162. package/dist/transport/http/options.d.ts.map +1 -1
  163. package/dist/transport/http/transport.d.ts +4 -10
  164. package/dist/transport/http/transport.d.ts.map +1 -1
  165. package/dist/transport/http/transport.js +9 -51
  166. package/dist/transport/http/transport.js.map +1 -1
  167. package/dist/transport/websocket/commitFrames.d.ts +1 -2
  168. package/dist/transport/websocket/commitFrames.d.ts.map +1 -1
  169. package/dist/transport/websocket/commitFrames.js.map +1 -1
  170. package/dist/transport/websocket/frameHandlers.d.ts +0 -14
  171. package/dist/transport/websocket/frameHandlers.d.ts.map +1 -1
  172. package/dist/transport/websocket/frameHandlers.js +1 -71
  173. package/dist/transport/websocket/frameHandlers.js.map +1 -1
  174. package/dist/transport/websocket/heartbeat.d.ts.map +1 -1
  175. package/dist/transport/websocket/heartbeat.js.map +1 -1
  176. package/dist/transport/websocket/session.d.ts.map +1 -1
  177. package/dist/transport/websocket/session.js +72 -32
  178. package/dist/transport/websocket/session.js.map +1 -1
  179. package/dist/transport/websocket/sessionContract.d.ts +3 -14
  180. package/dist/transport/websocket/sessionContract.d.ts.map +1 -1
  181. package/dist/transport/websocket/transport.d.ts +5 -42
  182. package/dist/transport/websocket/transport.d.ts.map +1 -1
  183. package/dist/transport/websocket/transport.js +14 -101
  184. package/dist/transport/websocket/transport.js.map +1 -1
  185. package/dist/wire/accountResponses.d.ts +31 -31
  186. package/dist/wire/auth.d.ts +3 -3
  187. package/dist/wire/bootstrapReason.d.ts +2 -2
  188. package/dist/wire/dataSourceResponses.d.ts +2 -2
  189. package/dist/wire/dataSourceResponses.d.ts.map +1 -1
  190. package/dist/wire/frames.d.ts +8 -8
  191. package/dist/wire/inboundFrames.d.ts +53 -63
  192. package/dist/wire/inboundFrames.d.ts.map +1 -1
  193. package/dist/wire/inboundFrames.js +1 -6
  194. package/dist/wire/inboundFrames.js.map +1 -1
  195. package/dist/wire/listEnvelope.js.map +1 -1
  196. package/dist/wire/modelResponses.d.ts +2 -2
  197. package/dist/wire/modelShape.d.ts +4 -4
  198. package/dist/wire/pricing.d.ts +3 -3
  199. package/dist/wire/protocolVersion.d.ts.map +1 -1
  200. package/package.json +6 -1
  201. package/src/auth/apiKey.ts +25 -44
  202. package/src/auth/browserCredentialSafety.ts +1 -1
  203. package/src/auth/capabilityLifecycle.ts +3 -2
  204. package/src/auth/credentialEndpoint.ts +1 -1
  205. package/src/auth/credentialResult.ts +2 -0
  206. package/src/claims/events.ts +1 -2
  207. package/src/client/ablo.ts +15 -10
  208. package/src/client/resources/httpResources.ts +2 -174
  209. package/src/client/resources/modelOperations.ts +0 -10
  210. package/src/client/surface.ts +2 -4
  211. package/src/coordination/index.ts +2 -9
  212. package/src/coordination/schema.ts +7 -81
  213. package/src/errorCodes.ts +3 -12
  214. package/src/sessions/client.ts +121 -0
  215. package/src/sessions/contract.ts +116 -0
  216. package/src/{auth/sessionMint.ts → sessions/create.ts} +13 -12
  217. package/src/sessions/handler.ts +96 -0
  218. package/src/sessions/index.ts +13 -0
  219. package/src/{transport/connection/credentialLifecycle.ts → sessions/lifecycle.ts} +5 -5
  220. package/src/sessions/source.ts +94 -0
  221. package/src/transport/connection/index.ts +0 -1
  222. package/src/transport/connection/manager.ts +1 -1
  223. package/src/transport/http/client.ts +21 -31
  224. package/src/transport/http/options.ts +4 -1
  225. package/src/transport/http/transport.ts +14 -74
  226. package/src/transport/websocket/commitFrames.ts +0 -2
  227. package/src/transport/websocket/frameHandlers.ts +0 -102
  228. package/src/transport/websocket/session.ts +88 -33
  229. package/src/transport/websocket/sessionContract.ts +3 -12
  230. package/src/transport/websocket/transport.ts +13 -137
  231. package/src/wire/inboundFrames.ts +0 -6
  232. package/dist/auth/sessionMint.d.ts.map +0 -1
  233. package/dist/auth/sessionMint.js.map +0 -1
  234. package/dist/transport/connection/credentialLifecycle.d.ts.map +0 -1
  235. package/dist/transport/connection/credentialLifecycle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/transport/websocket/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAoB3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,mBAAmB;IAKX,SAAS;IACT,aAAa;IALxB,cAAc,GAA0C,IAAI,CAAC;IAC7D,qBAAqB,GAAyC,IAAI,CAAC;IAE3E,YACmB,SAA6B,EAC7B,aAAa,GAA2B,uBAAuB;yBAD/D,SAAS;6BACT,aAAa;IAC7B,CAAC;IAEJ,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;gBAAE,OAAO;YAE3C,8DAA8D;YAC9D,mEAAmE;YACnE,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;oBACvC,OAAO,EAAE,uBAAuB;oBAChC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,uEAAuE;YACvE,gCAAgC;YAChC,IAAI,IAAI,CAAC,qBAAqB;gBAAE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzE,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3C,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;oBACvC,OAAO,EAAE,mBAAmB;iBAC7B,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACjD,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAC3B,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/transport/websocket/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAoB3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,mBAAmB;IAKX;IACA;IALX,cAAc,GAA0C,IAAI,CAAC;IAC7D,qBAAqB,GAAyC,IAAI,CAAC;IAE3E,YACmB,SAA6B,EAC7B,gBAAwC,uBAAuB;QAD/D,cAAS,GAAT,SAAS,CAAoB;QAC7B,kBAAa,GAAb,aAAa,CAAkD;IAC/E,CAAC;IAEJ,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;gBAAE,OAAO;YAE3C,8DAA8D;YAC9D,mEAAmE;YACnE,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;oBACvC,OAAO,EAAE,uBAAuB;oBAChC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,uEAAuE;YACvE,gCAAgC;YAChC,IAAI,IAAI,CAAC,qBAAqB;gBAAE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzE,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3C,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;oBACvC,OAAO,EAAE,mBAAmB;iBAC7B,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACjD,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAC3B,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/session.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,oBAAoB,EAQpB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAuZ9B,wBAAsB,sBAAsB,CAC1C,OAAO,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,uBAAuB,EAE3D,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CA4BxC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/session.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,oBAAoB,EAOpB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAmc9B,wBAAsB,sBAAsB,CAC1C,OAAO,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,uBAAuB,EAE3D,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAiCxC"}
@@ -1,4 +1,7 @@
1
- import { AbloClaimedError, AbloConnectionError, AbloSessionError, errorFromWire, } from '../../errors.js';
1
+ import { AbloClaimedError, AbloConnectionError, AbloSessionError, errorFromWire, isAccessCredentialExpiryCloseReason, } from '../../errors.js';
2
+ import { classifyCredentialKind } from '../../auth/credentialKind.js';
3
+ import { credentialToken, } from '../../auth/credentialResult.js';
4
+ import { CredentialLifecycle } from '../../sessions/lifecycle.js';
2
5
  import { clientSyncDeltaSchema, } from '../../observation/contract.js';
3
6
  import { WsTransport, } from './transport.js';
4
7
  const MAX_BUFFERED_OBSERVATION_DELTAS = 1_024;
@@ -75,15 +78,23 @@ class WebSocketSession {
75
78
  closed = false;
76
79
  currentToken;
77
80
  acknowledgeLane = Promise.resolve();
81
+ terminalError = null;
82
+ terminalListeners = new Set();
83
+ credentialLifecycle;
84
+ pendingSessionError = null;
78
85
  presence;
79
86
  collaboration;
80
- constructor(options, position, token) {
87
+ constructor(options, position, credential) {
81
88
  this.options = options;
89
+ const token = credentialToken(credential);
90
+ if (!token) {
91
+ throw new AbloSessionError('The WebSocket transport requires an authenticated credential.');
92
+ }
82
93
  this.currentToken = token;
83
94
  this.cursorKey = options.cursorKey ?? 'websocket';
84
95
  this.socket = new AgentWebSocket({
85
96
  baseUrl: options.baseUrl,
86
- kind: 'agent',
97
+ kind: classifyCredentialKind(token) === 'ephemeral' ? 'user' : 'agent',
87
98
  getAuthToken: () => this.currentToken,
88
99
  syncGroups: [...(options.syncGroups ?? [])],
89
100
  collaborationEvents: [...(options.collaborationEvents ?? [])],
@@ -96,25 +107,60 @@ class WebSocketSession {
96
107
  this.collaboration = {
97
108
  send: (event, payload) => this.socket.sendCollaborationEvent(event, payload),
98
109
  };
99
- this.socket.subscribe('session_error', () => {
100
- void this.refreshExpiredCredential();
110
+ this.socket.subscribe('session_error', (error) => {
111
+ this.handleSessionError(error);
101
112
  });
113
+ this.credentialLifecycle = options.access.renewable
114
+ ? new CredentialLifecycle({
115
+ setAuthToken: (freshToken) => {
116
+ this.currentToken = freshToken;
117
+ },
118
+ nudgeReconnect: () => {
119
+ if (this.closed || this.terminalError)
120
+ return;
121
+ this.socket.clearSessionError();
122
+ this.socket.resetReconnectAttempts();
123
+ this.socket.connect();
124
+ },
125
+ reportSessionExpired: () => {
126
+ this.failTerminal(this.pendingSessionError ?? new AbloSessionError('The application session ended while renewing its Ablo session.'));
127
+ },
128
+ })
129
+ : null;
130
+ if (this.credentialLifecycle) {
131
+ this.credentialLifecycle.start(() => this.loadCredential(), { proactiveInNode: true });
132
+ this.credentialLifecycle.accept(credential);
133
+ }
102
134
  }
103
- async refreshExpiredCredential() {
104
- if (this.closed)
135
+ async loadCredential() {
136
+ return this.options.access.credential();
137
+ }
138
+ handleSessionError(error) {
139
+ if (!this.credentialLifecycle
140
+ || !isAccessCredentialExpiryCloseReason(error.message)) {
141
+ this.failTerminal(error);
105
142
  return;
106
- try {
107
- const next = await this.options.getAuthToken();
108
- if (!next || next === this.currentToken)
109
- return;
110
- this.currentToken = next;
111
- this.socket.clearSessionError();
112
- this.socket.connect();
113
143
  }
114
- catch {
115
- // The terminal session_error remains the public signal. A later explicit
116
- // ready() call can retry after the caller repairs its credential source.
144
+ this.pendingSessionError = error;
145
+ void this.credentialLifecycle.recoverFromAuthRejection('access_credential_expiry');
146
+ }
147
+ failTerminal(error) {
148
+ if (this.terminalError || this.closed)
149
+ return;
150
+ this.terminalError = error;
151
+ this.socket.setSessionErrorDetected();
152
+ this.socket.disconnect();
153
+ for (const listener of this.terminalListeners)
154
+ listener(error);
155
+ }
156
+ onTerminal(listener) {
157
+ if (this.terminalError) {
158
+ const error = this.terminalError;
159
+ queueMicrotask(() => listener(error));
160
+ return () => undefined;
117
161
  }
162
+ this.terminalListeners.add(listener);
163
+ return () => this.terminalListeners.delete(listener);
118
164
  }
119
165
  get connected() {
120
166
  return this.socket.isConnected();
@@ -123,6 +169,8 @@ class WebSocketSession {
123
169
  if (this.closed) {
124
170
  return Promise.reject(new AbloConnectionError('The WebSocket session is closed.'));
125
171
  }
172
+ if (this.terminalError)
173
+ return Promise.reject(this.terminalError);
126
174
  if (this.socket.isConnected())
127
175
  return Promise.resolve();
128
176
  if (this.readyPromise)
@@ -140,7 +188,7 @@ class WebSocketSession {
140
188
  cleanup();
141
189
  resolve();
142
190
  });
143
- const failed = this.socket.subscribe('session_error', (error) => {
191
+ const failed = this.onTerminal((error) => {
144
192
  rejectConnection(error);
145
193
  });
146
194
  const mismatch = this.socket.subscribe('protocol_mismatch', () => {
@@ -241,17 +289,6 @@ class WebSocketSession {
241
289
  release(input) {
242
290
  this.socket.send({ type: 'claim_abandon', payload: input });
243
291
  }
244
- async join(input) {
245
- await this.ready();
246
- return this.socket.sendClaim(input.claimId, input.syncGroups, {
247
- capabilityToken: input.capabilityToken,
248
- ttlSeconds: input.ttlSeconds,
249
- timeoutMs: input.timeoutMs,
250
- });
251
- }
252
- leave(claimId) {
253
- this.socket.sendRelease(claimId);
254
- }
255
292
  subscribe(event, listener) {
256
293
  return this.socket.subscribe(event, listener);
257
294
  }
@@ -277,7 +314,7 @@ class WebSocketSession {
277
314
  wake?.();
278
315
  wake = undefined;
279
316
  });
280
- const offError = this.socket.subscribe('session_error', (error) => {
317
+ const offError = this.onTerminal((error) => {
281
318
  failure = error;
282
319
  wake?.();
283
320
  wake = undefined;
@@ -343,6 +380,8 @@ class WebSocketSession {
343
380
  if (this.closed)
344
381
  return;
345
382
  this.closed = true;
383
+ this.credentialLifecycle?.stop();
384
+ this.terminalListeners.clear();
346
385
  this.rejectReady?.(new AbloConnectionError('The WebSocket session was disposed.'));
347
386
  await this.acknowledgeLane;
348
387
  this.socket.disconnect();
@@ -354,11 +393,12 @@ class WebSocketSession {
354
393
  export async function createWebSocketSession(options, signal) {
355
394
  const cursorKey = options.cursorKey ?? 'websocket';
356
395
  const stored = await options.cursorStore?.load(cursorKey) ?? null;
357
- const token = await options.getAuthToken();
396
+ const credential = await options.access.credential();
397
+ const token = credentialToken(credential);
358
398
  if (!token) {
359
399
  throw new AbloSessionError('The WebSocket transport requires an authenticated credential.');
360
400
  }
361
- const session = new WebSocketSession(options, parsePosition(stored), token);
401
+ const session = new WebSocketSession(options, parsePosition(stored), credential);
362
402
  let rejectOpening;
363
403
  const aborted = new Promise((_resolve, reject) => {
364
404
  rejectOpening = reject;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/transport/websocket/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/transport/websocket/session.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ import type { ReadDependency } from '../../coordination/schema.js';
3
3
  import type { ClaimAcquired, ClaimBeginPayload, ClaimGranted, ClaimQueued } from '../../coordination/schema.js';
4
4
  import type { ClientSyncDelta } from '../../observation/contract.js';
5
5
  import type { ObserveCursorStore } from '../../client/contract.js';
6
+ import type { SessionAccess } from '../../sessions/source.js';
6
7
  import type { CommitFrameOperation } from '../websocket/commitFrames.js';
7
8
  import type { CoreSyncEventMap, EventMap, PresenceUpdate, SyncWebSocketEventMap } from '../websocket/transport.js';
8
9
  export interface WebSocketSessionOptions {
9
10
  readonly baseUrl?: string;
10
- readonly getAuthToken: () => string | undefined | Promise<string | undefined>;
11
+ /** Normalized once at the client boundary; transports do not infer policy. */
12
+ readonly access: SessionAccess;
11
13
  readonly syncGroups?: readonly string[];
12
14
  readonly collaborationEvents?: readonly string[];
13
15
  readonly cursorKey?: string;
@@ -29,14 +31,6 @@ export interface WebSocketObservedDelta extends ClientSyncDelta {
29
31
  export interface WebSocketObserveOptions {
30
32
  readonly signal?: AbortSignal;
31
33
  }
32
- /** A multiplexed participant-scope registration on the shared socket. */
33
- export interface WebSocketJoinInput {
34
- readonly claimId: string;
35
- readonly syncGroups: readonly string[];
36
- readonly capabilityToken?: string;
37
- readonly ttlSeconds?: number;
38
- readonly timeoutMs?: number;
39
- }
40
34
  /** A durable row/field claim carried over the same live protocol. */
41
35
  export type WebSocketClaimInput = ClaimBeginPayload & {
42
36
  readonly timeoutMs?: number;
@@ -68,11 +62,6 @@ export interface AbloWebSocketSession<TEvents extends EventMap<TEvents> = OpenCo
68
62
  readonly entityType?: string;
69
63
  readonly entityId?: string;
70
64
  }): void;
71
- join(input: WebSocketJoinInput): Promise<{
72
- syncGroups: string[];
73
- ttlSeconds?: number;
74
- }>;
75
- leave(claimId: string): void;
76
65
  subscribe<K extends keyof SyncWebSocketEventMap<TEvents>>(event: K, listener: (...args: SyncWebSocketEventMap<TEvents>[K]) => void): () => void;
77
66
  observe(options?: WebSocketObserveOptions): AsyncIterable<WebSocketObservedDelta>;
78
67
  updateSubscription(syncGroups: readonly string[], options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionContract.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/sessionContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionContract.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/sessionContract.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import { EventEmitter } from 'events';
21
21
  import type { ParticipantKind } from '../../types/participant.js';
22
22
  import type { BootstrapReason } from '../../wire/bootstrapReason.js';
23
23
  import type { ClientSyncDelta } from '../../observation/contract.js';
24
- import type { ClaimAcquired, PresenceUpdate, ClaimExpired, ClaimGranted, ClaimHeartbeatAckPayload, ClaimLost, ClaimQueue, ClaimQueued, ClaimRejection, ParticipantClaimPayload, ReadDependency } from '../../coordination/schema.js';
24
+ import type { ClaimAcquired, PresenceUpdate, ClaimGranted, ClaimHeartbeatAckPayload, ClaimLost, ClaimQueue, ClaimQueued, ClaimRejection, ReadDependency } from '../../coordination/schema.js';
25
25
  import { type AuthTokenGetter } from '../../auth/credentialSource.js';
26
26
  import { type CommitAck, type CommitFrameOperation } from './commitFrames.js';
27
27
  import type { CommitReceiptWire } from '../../commit/contract.js';
@@ -166,14 +166,6 @@ export interface CoreSyncEventMap {
166
166
  reconnect_failed: [{
167
167
  attempts: number;
168
168
  }];
169
- /**
170
- * Server-initiated notification that a previously-active claim's
171
- * TTL has expired. Consumers (e.g., the participant SDK) re-mint
172
- * a fresh capability and re-claim, OR accept the drop. The claim
173
- * is already inactive on the server side by the time this fires —
174
- * no client-side action needed unless re-claiming.
175
- */
176
- claim_expired: [ClaimExpired];
177
169
  /**
178
170
  * Server rejected an `claim_begin` because another participant
179
171
  * already holds an open claim on the same target (cooperative
@@ -282,6 +274,10 @@ export declare class WsTransport<TCollaboration extends EventMap<TCollaboration>
282
274
  * server rejected the upgrade" since browsers hide the HTTP status (e.g.
283
275
  * 401) behind the opaque 1006 close code. */
284
276
  private _everOpened;
277
+ /** True after any socket in this logical transport has opened. Unlike
278
+ * `_everOpened`, this survives socket replacement so a failed reconnect
279
+ * handshake is retried instead of being mistaken for a failed first login. */
280
+ private _hasConnected;
285
281
  /**
286
282
  * Diagnostic snapshot of the last connection lifecycle. Persisted across
287
283
  * the lifetime of the transport so that any subsequent "not connected"
@@ -315,13 +311,6 @@ export declare class WsTransport<TCollaboration extends EventMap<TCollaboration>
315
311
  * sent over the same socket that streams deltas.
316
312
  */
317
313
  private pendingMutations;
318
- /**
319
- * In-flight `claim` requests keyed by claimId. Resolved when the matching
320
- * `claim_ack` arrives, or rejected on timeout or disconnect — the same
321
- * request/response pattern as `pendingMutations`, multiplexed over the one
322
- * connection.
323
- */
324
- private pendingClaims;
325
314
  /**
326
315
  * In-flight `update_subscription` frames awaiting `subscription_ack`.
327
316
  * A FIFO queue rather than a keyed Map because the wire ack carries no
@@ -453,32 +442,6 @@ export declare class WsTransport<TCollaboration extends EventMap<TCollaboration>
453
442
  * instance because no pending resolver is registered.
454
443
  */
455
444
  sendCommitQueued(operations: readonly CommitFrameOperation[], clientTxId: string, reads?: readonly ReadDependency[] | null): void;
456
- /**
457
- * Activates a participant claim on this connection. One connection can hold
458
- * several concurrent claims at once, each scoped to a different set of sync
459
- * groups, so the SDK reuses the existing connection instead of opening a
460
- * separate socket per scope.
461
- *
462
- * Returns a promise that resolves with the server-canonicalized `syncGroups`
463
- * and effective `ttlSeconds` once `claim_ack` arrives, or rejects with a typed
464
- * error on a failed ack, a timeout, or a disconnect.
465
- */
466
- sendClaim(claimId: string, syncGroups: readonly string[], options?: Pick<ParticipantClaimPayload, 'capabilityToken' | 'ttlSeconds'> & {
467
- timeoutMs?: number;
468
- }): Promise<{
469
- syncGroups: string[];
470
- ttlSeconds?: number;
471
- }>;
472
- /**
473
- * Drop a previously-active claim. Idempotent — `release` is
474
- * fire-and-forget per the wire contract; the server accepts
475
- * unknown claimIds silently so disconnect-time release storms
476
- * never error. No ack is expected.
477
- *
478
- * If a claim's send promise is still pending (no claim_ack yet),
479
- * we reject it locally — the user explicitly chose to release.
480
- */
481
- sendRelease(claimId: string): void;
482
445
  /**
483
446
  * Moves this connection's read interest — replaces the connection-level sync
484
447
  * groups mid-session as the user opens and closes entities. This is the
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/transport/websocket/transport.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@
18
18
  * the local copy it never wanted.
19
19
  */
20
20
  import { EventEmitter } from 'events';
21
- import { AbloConnectionError, AbloError, AbloSessionError, AbloValidationError, toAbloError, } from '../../errors.js';
22
- import { participantClaimPayloadSchema, updateSubscriptionPayloadSchema, } from '../../coordination/schema.js';
21
+ import { AbloConnectionError, AbloSessionError, AbloValidationError, toAbloError, } from '../../errors.js';
22
+ import { updateSubscriptionPayloadSchema } from '../../coordination/schema.js';
23
23
  import { PROTOCOL_VERSION, WS_CLOSE_PROTOCOL_VERSION } from '../../wire/protocolVersion.js';
24
24
  import { WS_BEARER_SUBPROTOCOL_PREFIX, WS_SYNC_SUBPROTOCOL, } from '../../auth/credentialSource.js';
25
25
  import { buildCommitFrame } from './commitFrames.js';
@@ -86,6 +86,10 @@ export class WsTransport extends EventEmitter {
86
86
  * server rejected the upgrade" since browsers hide the HTTP status (e.g.
87
87
  * 401) behind the opaque 1006 close code. */
88
88
  _everOpened = false;
89
+ /** True after any socket in this logical transport has opened. Unlike
90
+ * `_everOpened`, this survives socket replacement so a failed reconnect
91
+ * handshake is retried instead of being mistaken for a failed first login. */
92
+ _hasConnected = false;
89
93
  /**
90
94
  * Diagnostic snapshot of the last connection lifecycle. Persisted across
91
95
  * the lifetime of the transport so that any subsequent "not connected"
@@ -119,13 +123,6 @@ export class WsTransport extends EventEmitter {
119
123
  * sent over the same socket that streams deltas.
120
124
  */
121
125
  pendingMutations = new Map();
122
- /**
123
- * In-flight `claim` requests keyed by claimId. Resolved when the matching
124
- * `claim_ack` arrives, or rejected on timeout or disconnect — the same
125
- * request/response pattern as `pendingMutations`, multiplexed over the one
126
- * connection.
127
- */
128
- pendingClaims = new Map();
129
126
  /**
130
127
  * In-flight `update_subscription` frames awaiting `subscription_ack`.
131
128
  * A FIFO queue rather than a keyed Map because the wire ack carries no
@@ -183,7 +180,6 @@ export class WsTransport extends EventEmitter {
183
180
  logger: this.logger,
184
181
  observability: this.observability,
185
182
  pendingMutations: this.pendingMutations,
186
- pendingClaims: this.pendingClaims,
187
183
  shiftPendingSubscription: () => this.pendingSubscriptions.shift(),
188
184
  options: this.options,
189
185
  collaborationEventTypes: this.collaborationEventTypes,
@@ -400,6 +396,7 @@ export class WsTransport extends EventEmitter {
400
396
  this.isConnecting = false;
401
397
  this.reconnectAttempts = 0;
402
398
  this._everOpened = true;
399
+ this._hasConnected = true;
403
400
  this.lastOpenAt = Date.now();
404
401
  this.emit('connected');
405
402
  // The subclass's open ritual (presence, ack, incremental sync,
@@ -510,17 +507,6 @@ export class WsTransport extends EventEmitter {
510
507
  }
511
508
  this.pendingMutations.clear();
512
509
  }
513
- // Cancel in-flight claims — same rationale. Server-side
514
- // claims are bound to the connection; a reconnect will need
515
- // to re-claim. Higher-level retry belongs to whoever holds
516
- // the participant handle (typically the SDK's claim manager).
517
- if (this.pendingClaims.size > 0) {
518
- for (const pending of this.pendingClaims.values()) {
519
- clearTimeout(pending.timeout);
520
- pending.reject(new AbloConnectionError(`WebSocket closed while claim was in flight (code=${event.code})`));
521
- }
522
- this.pendingClaims.clear();
523
- }
524
510
  // Cancel in-flight subscription updates — the reconnect handshake
525
511
  // re-sends `options.syncGroups` (the last acked interest) in the
526
512
  // upgrade URL, so a pending change that never acked is simply
@@ -581,7 +567,7 @@ export class WsTransport extends EventEmitter {
581
567
  // from a transient network issue and transition the UI accordingly.
582
568
  // Reconnecting blindly is what produced the infinite
583
569
  // "offline → reconnecting → offline" loop on stale cookies.
584
- if (!everOpened && !this.isManualClose) {
570
+ if (!everOpened && !this._hasConnected && !this.isManualClose) {
585
571
  this.observability.captureWebSocketError({
586
572
  context: 'handshake-failed-close',
587
573
  code: event.code,
@@ -768,84 +754,6 @@ export class WsTransport extends EventEmitter {
768
754
  const frame = buildCommitFrame(operations, clientTxId, reads);
769
755
  this.ws.send(JSON.stringify(frame));
770
756
  }
771
- /**
772
- * Activates a participant claim on this connection. One connection can hold
773
- * several concurrent claims at once, each scoped to a different set of sync
774
- * groups, so the SDK reuses the existing connection instead of opening a
775
- * separate socket per scope.
776
- *
777
- * Returns a promise that resolves with the server-canonicalized `syncGroups`
778
- * and effective `ttlSeconds` once `claim_ack` arrives, or rejects with a typed
779
- * error on a failed ack, a timeout, or a disconnect.
780
- */
781
- sendClaim(claimId, syncGroups, options) {
782
- if (this.ws?.readyState !== WebSocket.OPEN) {
783
- return Promise.reject(this.notConnectedError('claim'));
784
- }
785
- // Checked against the schema the server ingests it with, for the same
786
- // reason `updateSubscription` below is: the two frames name their scopes
787
- // identically, so a group that would be refused there is refused here, at
788
- // the call that asked for it, rather than coming back as a failed ack a
789
- // round trip later with nothing to point at.
790
- const payload = participantClaimPayloadSchema.safeParse({
791
- claimId,
792
- syncGroups: [...syncGroups],
793
- capabilityToken: options?.capabilityToken,
794
- ttlSeconds: options?.ttlSeconds,
795
- });
796
- if (!payload.success) {
797
- return Promise.reject(new AbloValidationError(`join was given a sync group the protocol does not accept: ${payload.error.issues[0]?.message ?? 'unreadable'}. A group is 'default' or 'kind:id'.`, { code: 'malformed_claim' }));
798
- }
799
- const timeoutMs = options?.timeoutMs ?? 15_000;
800
- return new Promise((resolve, reject) => {
801
- const timeout = setTimeout(() => {
802
- this.pendingClaims.delete(claimId);
803
- reject(new AbloConnectionError(`claim timed out after ${timeoutMs}ms (claimId=${claimId})`, {
804
- code: 'wait_for_timeout',
805
- }));
806
- }, timeoutMs);
807
- this.pendingClaims.set(claimId, { resolve, reject, timeout });
808
- try {
809
- this.ws.send(JSON.stringify({ type: 'claim', payload: payload.data }));
810
- }
811
- catch (error) {
812
- clearTimeout(timeout);
813
- this.pendingClaims.delete(claimId);
814
- reject(toAbloError(error));
815
- }
816
- });
817
- }
818
- /**
819
- * Drop a previously-active claim. Idempotent — `release` is
820
- * fire-and-forget per the wire contract; the server accepts
821
- * unknown claimIds silently so disconnect-time release storms
822
- * never error. No ack is expected.
823
- *
824
- * If a claim's send promise is still pending (no claim_ack yet),
825
- * we reject it locally — the user explicitly chose to release.
826
- */
827
- sendRelease(claimId) {
828
- // Cancel any in-flight claim that hadn't acked yet — the user
829
- // changed their mind. Without this the timer would eventually
830
- // reject; doing it now matches the user's claim immediately.
831
- const pending = this.pendingClaims.get(claimId);
832
- if (pending) {
833
- clearTimeout(pending.timeout);
834
- this.pendingClaims.delete(claimId);
835
- pending.reject(new AbloError(`claim ${claimId} released before ack`, {
836
- code: 'claim_wait_aborted',
837
- httpStatus: 409,
838
- }));
839
- }
840
- if (this.ws?.readyState !== WebSocket.OPEN)
841
- return;
842
- try {
843
- this.ws.send(JSON.stringify({ type: 'release', payload: { claimId } }));
844
- }
845
- catch {
846
- // Idempotent contract — silent failure is acceptable here.
847
- }
848
- }
849
757
  /**
850
758
  * Moves this connection's read interest — replaces the connection-level sync
851
759
  * groups mid-session as the user opens and closes entities. This is the
@@ -992,8 +900,13 @@ export class WsTransport extends EventEmitter {
992
900
  this.reconnectTimer = null;
993
901
  }
994
902
  if (this.ws) {
995
- this.ws.close(1000, 'Manual disconnect');
903
+ // Detach before close: Node/undici may synchronously fire `onerror` from
904
+ // close(). The handler's stale-socket guard then suppresses that expected
905
+ // manual-close error instead of emitting EventEmitter's fatal unhandled
906
+ // `error` event. `onclose` deliberately accepts a null owner below.
907
+ const socket = this.ws;
996
908
  this.ws = null;
909
+ socket.close(1000, 'Manual disconnect');
997
910
  }
998
911
  }
999
912
  /**