@abloatai/transaction 0.57.0 → 0.58.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 (737) hide show
  1. package/CONVENTIONS.md +51 -41
  2. package/README.md +3 -1
  3. package/dist/ai-sdk/modelTools.d.ts +3 -3
  4. package/dist/ai-sdk/modelTools.d.ts.map +1 -1
  5. package/dist/ai-sdk/modelTools.js +1 -1
  6. package/dist/ai-sdk/modelTools.js.map +1 -1
  7. package/dist/ai-sdk/updateTool.d.ts +5 -7
  8. package/dist/ai-sdk/updateTool.d.ts.map +1 -1
  9. package/dist/ai-sdk/updateTool.js +3 -5
  10. package/dist/ai-sdk/updateTool.js.map +1 -1
  11. package/dist/auth/capability.d.ts +5 -0
  12. package/dist/auth/capability.d.ts.map +1 -1
  13. package/dist/auth/capability.js +5 -0
  14. package/dist/auth/capability.js.map +1 -1
  15. package/dist/auth/capabilityLifecycle.d.ts +1 -1
  16. package/dist/auth/capabilityLifecycle.d.ts.map +1 -1
  17. package/dist/auth/credentialPolicy.d.ts +1 -1
  18. package/dist/auth/credentialPolicy.d.ts.map +1 -1
  19. package/dist/auth/identity.d.ts +3 -3
  20. package/dist/auth/identity.d.ts.map +1 -1
  21. package/dist/auth/identity.js +5 -5
  22. package/dist/auth/identity.js.map +1 -1
  23. package/dist/auth/index.d.ts +4 -208
  24. package/dist/auth/index.d.ts.map +1 -1
  25. package/dist/auth/index.js +4 -330
  26. package/dist/auth/index.js.map +1 -1
  27. package/dist/auth/runtime.d.ts +218 -0
  28. package/dist/auth/runtime.d.ts.map +1 -0
  29. package/dist/auth/runtime.js +336 -0
  30. package/dist/auth/runtime.js.map +1 -0
  31. package/dist/auth/sessionMint.d.ts +1 -1
  32. package/dist/auth/sessionMint.d.ts.map +1 -1
  33. package/dist/auth/sessionMint.js +2 -1
  34. package/dist/auth/sessionMint.js.map +1 -1
  35. package/dist/branches.d.ts +25 -21
  36. package/dist/branches.d.ts.map +1 -1
  37. package/dist/branches.js +3 -0
  38. package/dist/branches.js.map +1 -1
  39. package/dist/{coordination/awaitClaimGrant.d.ts → claims/awaitGrant.d.ts} +1 -1
  40. package/dist/claims/awaitGrant.d.ts.map +1 -0
  41. package/dist/{coordination/awaitClaimGrant.js → claims/awaitGrant.js} +4 -4
  42. package/dist/claims/awaitGrant.js.map +1 -0
  43. package/dist/{wire/claims.d.ts → claims/contract.d.ts} +1 -1
  44. package/dist/claims/contract.d.ts.map +1 -0
  45. package/dist/{wire/claims.js → claims/contract.js} +2 -2
  46. package/dist/claims/contract.js.map +1 -0
  47. package/dist/{wire/claimEvent.d.ts → claims/eventContract.d.ts} +1 -1
  48. package/dist/claims/eventContract.d.ts.map +1 -0
  49. package/dist/{wire/claimEvent.js → claims/eventContract.js} +1 -1
  50. package/dist/claims/eventContract.js.map +1 -0
  51. package/dist/{coordination → claims}/events.d.ts +7 -11
  52. package/dist/claims/events.d.ts.map +1 -0
  53. package/dist/claims/events.js +8 -0
  54. package/dist/claims/events.js.map +1 -0
  55. package/dist/{coordination/claimHeartbeatLoop.d.ts → claims/heartbeat.d.ts} +1 -1
  56. package/dist/claims/heartbeat.d.ts.map +1 -0
  57. package/dist/{coordination/claimHeartbeatLoop.js → claims/heartbeat.js} +1 -1
  58. package/dist/claims/heartbeat.js.map +1 -0
  59. package/dist/claims/index.d.ts +17 -0
  60. package/dist/claims/index.d.ts.map +1 -0
  61. package/dist/claims/index.js +16 -0
  62. package/dist/claims/index.js.map +1 -0
  63. package/dist/claims/lifetime.d.ts +26 -0
  64. package/dist/claims/lifetime.d.ts.map +1 -0
  65. package/dist/claims/lifetime.js +62 -0
  66. package/dist/claims/lifetime.js.map +1 -0
  67. package/dist/{coordination → claims}/locator.d.ts +1 -1
  68. package/dist/claims/locator.d.ts.map +1 -0
  69. package/dist/{coordination → claims}/locator.js +2 -2
  70. package/dist/claims/locator.js.map +1 -0
  71. package/dist/{coordination/claimMeta.d.ts → claims/meta.d.ts} +1 -1
  72. package/dist/claims/meta.d.ts.map +1 -0
  73. package/dist/{coordination/claimMeta.js → claims/meta.js} +1 -1
  74. package/dist/claims/meta.js.map +1 -0
  75. package/dist/claims/routes.d.ts +59 -0
  76. package/dist/claims/routes.d.ts.map +1 -0
  77. package/dist/claims/routes.js +69 -0
  78. package/dist/claims/routes.js.map +1 -0
  79. package/dist/claims/targetConflict.d.ts.map +1 -0
  80. package/dist/claims/targetConflict.js.map +1 -0
  81. package/dist/{coordination → claims}/trace.d.ts +2 -2
  82. package/dist/claims/trace.d.ts.map +1 -0
  83. package/dist/{coordination → claims}/trace.js +5 -5
  84. package/dist/claims/trace.js.map +1 -0
  85. package/dist/{ablo.d.ts → client/ablo.d.ts} +6 -15
  86. package/dist/client/ablo.d.ts.map +1 -0
  87. package/dist/{ablo.js → client/ablo.js} +2 -2
  88. package/dist/client/ablo.js.map +1 -0
  89. package/dist/{transactionLayer.d.ts → client/contract.d.ts} +12 -14
  90. package/dist/client/contract.d.ts.map +1 -0
  91. package/dist/{transactionLayer.js → client/contract.js} +4 -5
  92. package/dist/client/contract.js.map +1 -0
  93. package/dist/{headlessClient.d.ts → client/headless.d.ts} +4 -4
  94. package/dist/client/headless.d.ts.map +1 -0
  95. package/dist/{headlessClient.js → client/headless.js} +8 -10
  96. package/dist/{headlessClient.js.map → client/headless.js.map} +1 -1
  97. package/dist/client/index.d.ts +11 -0
  98. package/dist/client/index.d.ts.map +1 -0
  99. package/dist/client/index.js +11 -0
  100. package/dist/client/index.js.map +1 -0
  101. package/dist/{resources → client/resources}/functionalUpdate.d.ts +4 -4
  102. package/dist/client/resources/functionalUpdate.d.ts.map +1 -0
  103. package/dist/{resources → client/resources}/functionalUpdate.js +3 -3
  104. package/dist/client/resources/functionalUpdate.js.map +1 -0
  105. package/dist/{resources → client/resources}/httpResources.d.ts +51 -57
  106. package/dist/client/resources/httpResources.d.ts.map +1 -0
  107. package/dist/{resources → client/resources}/httpResources.js +1 -1
  108. package/dist/client/resources/httpResources.js.map +1 -0
  109. package/dist/{resources → client/resources}/modelCreate.d.ts +1 -1
  110. package/dist/client/resources/modelCreate.d.ts.map +1 -0
  111. package/dist/{resources → client/resources}/modelCreate.js +1 -1
  112. package/dist/client/resources/modelCreate.js.map +1 -0
  113. package/dist/{resources → client/resources}/modelOperations.d.ts +35 -51
  114. package/dist/client/resources/modelOperations.d.ts.map +1 -0
  115. package/dist/{resources → client/resources}/modelOperations.js +1 -1
  116. package/dist/client/resources/modelOperations.js.map +1 -0
  117. package/dist/{resources → client/resources}/mutationOptions.d.ts +4 -17
  118. package/dist/client/resources/mutationOptions.d.ts.map +1 -0
  119. package/dist/client/resources/mutationOptions.js.map +1 -0
  120. package/dist/client/resources/where.d.ts.map +1 -0
  121. package/dist/{resources → client/resources}/where.js +1 -1
  122. package/dist/client/resources/where.js.map +1 -0
  123. package/dist/{resources → client/resources}/writeOptionsSchema.d.ts +2 -35
  124. package/dist/client/resources/writeOptionsSchema.d.ts.map +1 -0
  125. package/dist/{resources → client/resources}/writeOptionsSchema.js +5 -18
  126. package/dist/client/resources/writeOptionsSchema.js.map +1 -0
  127. package/dist/{transactions → commit}/confirmation/commitEnvelope.d.ts +1 -37
  128. package/dist/commit/confirmation/commitEnvelope.d.ts.map +1 -0
  129. package/dist/{transactions → commit}/confirmation/commitEnvelope.js +2 -7
  130. package/dist/commit/confirmation/commitEnvelope.js.map +1 -0
  131. package/dist/commit/confirmation/httpCommitEnvelope.d.ts.map +1 -0
  132. package/dist/{transactions → commit}/confirmation/httpCommitEnvelope.js +1 -1
  133. package/dist/commit/confirmation/httpCommitEnvelope.js.map +1 -0
  134. package/dist/commit/confirmation/idempotencyKey.d.ts.map +1 -0
  135. package/dist/commit/confirmation/idempotencyKey.js.map +1 -0
  136. package/dist/{transactions → commit}/confirmation/pendingWrite.d.ts +2 -33
  137. package/dist/commit/confirmation/pendingWrite.d.ts.map +1 -0
  138. package/dist/{transactions → commit}/confirmation/pendingWrite.js +1 -1
  139. package/dist/commit/confirmation/pendingWrite.js.map +1 -0
  140. package/dist/commit/contract.d.ts +1404 -0
  141. package/dist/commit/contract.d.ts.map +1 -0
  142. package/dist/{wire/commit.js → commit/contract.js} +13 -20
  143. package/dist/commit/contract.js.map +1 -0
  144. package/dist/{durableWrites.d.ts → commit/durableWrites.d.ts} +6 -6
  145. package/dist/commit/durableWrites.d.ts.map +1 -0
  146. package/dist/{durableWrites.js → commit/durableWrites.js} +5 -5
  147. package/dist/commit/durableWrites.js.map +1 -0
  148. package/dist/{transport/httpCommitRequest.d.ts → commit/httpRequest.d.ts} +6 -6
  149. package/dist/commit/httpRequest.d.ts.map +1 -0
  150. package/dist/{transport/httpCommitRequest.js → commit/httpRequest.js} +2 -3
  151. package/dist/commit/httpRequest.js.map +1 -0
  152. package/dist/commit/index.d.ts +17 -0
  153. package/dist/commit/index.d.ts.map +1 -0
  154. package/dist/commit/index.js +17 -0
  155. package/dist/commit/index.js.map +1 -0
  156. package/dist/{readSetContext.d.ts → commit/readSetContext.d.ts} +7 -15
  157. package/dist/commit/readSetContext.d.ts.map +1 -0
  158. package/dist/{readSetContext.js → commit/readSetContext.js} +10 -25
  159. package/dist/commit/readSetContext.js.map +1 -0
  160. package/dist/{commitRecordRuntime.d.ts → commit/recordRuntime.d.ts} +3 -5
  161. package/dist/commit/recordRuntime.d.ts.map +1 -0
  162. package/dist/{commitRecordRuntime.js → commit/recordRuntime.js} +13 -54
  163. package/dist/commit/recordRuntime.js.map +1 -0
  164. package/dist/coordination/index.d.ts +6 -8
  165. package/dist/coordination/index.d.ts.map +1 -1
  166. package/dist/coordination/index.js +3 -9
  167. package/dist/coordination/index.js.map +1 -1
  168. package/dist/coordination/schema.d.ts +11 -459
  169. package/dist/coordination/schema.d.ts.map +1 -1
  170. package/dist/coordination/schema.js +13 -261
  171. package/dist/coordination/schema.js.map +1 -1
  172. package/dist/errorCodes.d.ts +15 -9
  173. package/dist/errorCodes.d.ts.map +1 -1
  174. package/dist/errorCodes.js +13 -6
  175. package/dist/errorCodes.js.map +1 -1
  176. package/dist/errorObservation.d.ts +2 -2
  177. package/dist/errors.d.ts +3 -2
  178. package/dist/errors.d.ts.map +1 -1
  179. package/dist/errors.js +27 -11
  180. package/dist/errors.js.map +1 -1
  181. package/dist/index.d.ts +7 -7
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +3 -3
  184. package/dist/index.js.map +1 -1
  185. package/dist/internal/read-set.d.ts +3 -3
  186. package/dist/internal/read-set.d.ts.map +1 -1
  187. package/dist/internal/read-set.js +2 -2
  188. package/dist/internal/read-set.js.map +1 -1
  189. package/dist/observability.d.ts +4 -4
  190. package/dist/observability.d.ts.map +1 -1
  191. package/dist/observability.js +2 -2
  192. package/dist/{wire/delta.d.ts → observation/contract.d.ts} +8 -8
  193. package/dist/observation/contract.d.ts.map +1 -0
  194. package/dist/{wire/delta.js → observation/contract.js} +3 -3
  195. package/dist/observation/contract.js.map +1 -0
  196. package/dist/{wire/feedCursor.d.ts → observation/cursor.d.ts} +1 -1
  197. package/dist/observation/cursor.d.ts.map +1 -0
  198. package/dist/{wire/feedCursor.js → observation/cursor.js} +1 -1
  199. package/dist/observation/cursor.js.map +1 -0
  200. package/dist/{wire/deltaDelivery.d.ts → observation/deliveryContract.d.ts} +1 -1
  201. package/dist/observation/deliveryContract.d.ts.map +1 -0
  202. package/dist/{wire/deltaDelivery.js → observation/deliveryContract.js} +1 -1
  203. package/dist/observation/deliveryContract.js.map +1 -0
  204. package/dist/{wire/feedEvent.d.ts → observation/feedContract.d.ts} +10 -10
  205. package/dist/observation/feedContract.d.ts.map +1 -0
  206. package/dist/{wire/feedEvent.js → observation/feedContract.js} +4 -4
  207. package/dist/observation/feedContract.js.map +1 -0
  208. package/dist/observation/httpFeed.d.ts +4 -0
  209. package/dist/observation/httpFeed.d.ts.map +1 -0
  210. package/dist/{transport → observation}/httpFeed.js +1 -1
  211. package/dist/{transport → observation}/httpFeed.js.map +1 -1
  212. package/dist/observation/index.d.ts +13 -0
  213. package/dist/observation/index.d.ts.map +1 -0
  214. package/dist/observation/index.js +13 -0
  215. package/dist/observation/index.js.map +1 -0
  216. package/dist/{log → observation/persistence}/syncDeltaRow.d.ts +8 -8
  217. package/dist/observation/persistence/syncDeltaRow.d.ts.map +1 -0
  218. package/dist/{log → observation/persistence}/syncDeltaRow.js +4 -4
  219. package/dist/observation/persistence/syncDeltaRow.js.map +1 -0
  220. package/dist/pricing.d.ts +20 -12
  221. package/dist/pricing.d.ts.map +1 -1
  222. package/dist/pricing.js +46 -26
  223. package/dist/pricing.js.map +1 -1
  224. package/dist/schema/index.d.ts +5 -6
  225. package/dist/schema/index.d.ts.map +1 -1
  226. package/dist/schema/index.js +4 -7
  227. package/dist/schema/index.js.map +1 -1
  228. package/dist/schema/model.d.ts +0 -27
  229. package/dist/schema/model.d.ts.map +1 -1
  230. package/dist/schema/model.js +0 -2
  231. package/dist/schema/model.js.map +1 -1
  232. package/dist/schema/openapi.d.ts.map +1 -1
  233. package/dist/schema/openapi.js +45 -6
  234. package/dist/schema/openapi.js.map +1 -1
  235. package/dist/schema/schema.d.ts +11 -3
  236. package/dist/schema/schema.d.ts.map +1 -1
  237. package/dist/schema/schema.js +9 -2
  238. package/dist/schema/schema.js.map +1 -1
  239. package/dist/schema/serialize.d.ts +1 -4
  240. package/dist/schema/serialize.d.ts.map +1 -1
  241. package/dist/schema/serialize.js +0 -4
  242. package/dist/schema/serialize.js.map +1 -1
  243. package/dist/schema/tenancy.d.ts +1 -1
  244. package/dist/server/adapter.d.ts +1 -1
  245. package/dist/server/adapter.d.ts.map +1 -1
  246. package/dist/server/commit.d.ts +6 -14
  247. package/dist/server/commit.d.ts.map +1 -1
  248. package/dist/server/index.d.ts +1 -1
  249. package/dist/server/index.d.ts.map +1 -1
  250. package/dist/server/index.js +1 -1
  251. package/dist/server/index.js.map +1 -1
  252. package/dist/server/storageMode.d.ts +1 -1
  253. package/dist/source/{adapter.d.ts → adapters/adapter.d.ts} +10 -4
  254. package/dist/source/adapters/adapter.d.ts.map +1 -0
  255. package/dist/source/adapters/adapter.js.map +1 -0
  256. package/dist/source/adapters/adapterFactory.d.ts.map +1 -0
  257. package/dist/source/{adapterFactory.js → adapters/adapterFactory.js} +1 -1
  258. package/dist/source/adapters/adapterFactory.js.map +1 -0
  259. package/dist/source/adapters/adapterProfile.d.ts.map +1 -0
  260. package/dist/source/adapters/adapterProfile.js.map +1 -0
  261. package/dist/source/{conformance.d.ts → adapters/conformance.d.ts} +1 -1
  262. package/dist/source/adapters/conformance.d.ts.map +1 -0
  263. package/dist/source/{conformance.js → adapters/conformance.js} +1 -1
  264. package/dist/source/adapters/conformance.js.map +1 -0
  265. package/dist/source/{contract.d.ts → adapters/contract.d.ts} +8 -77
  266. package/dist/source/adapters/contract.d.ts.map +1 -0
  267. package/dist/source/{contract.js → adapters/contract.js} +12 -57
  268. package/dist/source/adapters/contract.js.map +1 -0
  269. package/dist/source/adapters/drizzle.d.ts +1 -1
  270. package/dist/source/adapters/drizzle.d.ts.map +1 -1
  271. package/dist/source/adapters/drizzle.js +21 -23
  272. package/dist/source/adapters/drizzle.js.map +1 -1
  273. package/dist/source/adapters/idempotency.d.ts.map +1 -0
  274. package/dist/source/{idempotency.js → adapters/idempotency.js} +2 -2
  275. package/dist/source/adapters/idempotency.js.map +1 -0
  276. package/dist/source/adapters/index.d.ts +21 -0
  277. package/dist/source/adapters/index.d.ts.map +1 -0
  278. package/dist/source/adapters/index.js +21 -0
  279. package/dist/source/adapters/index.js.map +1 -0
  280. package/dist/source/adapters/kysely.d.ts +1 -1
  281. package/dist/source/adapters/kysely.d.ts.map +1 -1
  282. package/dist/source/adapters/kysely.js +18 -20
  283. package/dist/source/adapters/kysely.js.map +1 -1
  284. package/dist/source/adapters/kyselyMutationCore.d.ts +2 -2
  285. package/dist/source/adapters/kyselyMutationCore.d.ts.map +1 -1
  286. package/dist/source/adapters/kyselyMutationCore.js +1 -1
  287. package/dist/source/adapters/kyselyMutationCore.js.map +1 -1
  288. package/dist/source/adapters/memory.d.ts +3 -3
  289. package/dist/source/adapters/memory.d.ts.map +1 -1
  290. package/dist/source/adapters/memory.js +19 -7
  291. package/dist/source/adapters/memory.js.map +1 -1
  292. package/dist/source/adapters/migration.d.ts +8 -0
  293. package/dist/source/adapters/migration.d.ts.map +1 -0
  294. package/dist/source/adapters/migration.js +9 -0
  295. package/dist/source/adapters/migration.js.map +1 -0
  296. package/dist/source/{migrations.d.ts → adapters/migrations.d.ts} +3 -4
  297. package/dist/source/adapters/migrations.d.ts.map +1 -0
  298. package/dist/source/{migrations.js → adapters/migrations.js} +4 -52
  299. package/dist/source/adapters/migrations.js.map +1 -0
  300. package/dist/source/adapters/prisma.d.ts +1 -1
  301. package/dist/source/adapters/prisma.d.ts.map +1 -1
  302. package/dist/source/adapters/prisma.js +21 -28
  303. package/dist/source/adapters/prisma.js.map +1 -1
  304. package/dist/source/{subjectAuthorization.d.ts → adapters/subjectAuthorization.d.ts} +1 -1
  305. package/dist/source/adapters/subjectAuthorization.d.ts.map +1 -0
  306. package/dist/source/{subjectAuthorization.js → adapters/subjectAuthorization.js} +2 -2
  307. package/dist/source/adapters/subjectAuthorization.js.map +1 -0
  308. package/dist/source/{connector.d.ts → connector/client.d.ts} +6 -1
  309. package/dist/source/connector/client.d.ts.map +1 -0
  310. package/dist/source/{connector.js → connector/client.js} +28 -11
  311. package/dist/source/connector/client.js.map +1 -0
  312. package/dist/source/connector/index.d.ts +4 -0
  313. package/dist/source/connector/index.d.ts.map +1 -0
  314. package/dist/source/connector/index.js +4 -0
  315. package/dist/source/connector/index.js.map +1 -0
  316. package/dist/source/{connectorProtocol.d.ts → connector/protocol.d.ts} +8 -1
  317. package/dist/source/connector/protocol.d.ts.map +1 -0
  318. package/dist/source/{connectorProtocol.js → connector/protocol.js} +10 -3
  319. package/dist/source/connector/protocol.js.map +1 -0
  320. package/dist/source/delivery/index.d.ts +3 -0
  321. package/dist/source/delivery/index.d.ts.map +1 -0
  322. package/dist/source/delivery/index.js +3 -0
  323. package/dist/source/delivery/index.js.map +1 -0
  324. package/dist/source/{pushQueue.d.ts → delivery/pushQueue.d.ts} +1 -1
  325. package/dist/source/delivery/pushQueue.d.ts.map +1 -0
  326. package/dist/source/{pushQueue.js → delivery/pushQueue.js} +1 -1
  327. package/dist/source/delivery/pushQueue.js.map +1 -0
  328. package/dist/source/{factory.d.ts → endpoint/factory.d.ts} +3 -3
  329. package/dist/source/endpoint/factory.d.ts.map +1 -0
  330. package/dist/source/{factory.js → endpoint/factory.js} +9 -4
  331. package/dist/source/endpoint/factory.js.map +1 -0
  332. package/dist/source/endpoint/index.d.ts +5 -0
  333. package/dist/source/endpoint/index.d.ts.map +1 -0
  334. package/dist/source/endpoint/index.js +5 -0
  335. package/dist/source/endpoint/index.js.map +1 -0
  336. package/dist/source/{next.d.ts → endpoint/next.d.ts} +2 -2
  337. package/dist/source/endpoint/next.d.ts.map +1 -0
  338. package/dist/source/{next.js → endpoint/next.js} +1 -1
  339. package/dist/source/endpoint/next.js.map +1 -0
  340. package/dist/source/{signing.d.ts → endpoint/signing.d.ts} +1 -1
  341. package/dist/source/endpoint/signing.d.ts.map +1 -0
  342. package/dist/source/{signing.js → endpoint/signing.js} +1 -1
  343. package/dist/source/endpoint/signing.js.map +1 -0
  344. package/dist/source/index.d.ts +14 -12
  345. package/dist/source/index.d.ts.map +1 -1
  346. package/dist/source/index.js +13 -11
  347. package/dist/source/index.js.map +1 -1
  348. package/dist/source/outbox/contract.d.ts +50 -0
  349. package/dist/source/outbox/contract.d.ts.map +1 -0
  350. package/dist/source/outbox/contract.js +50 -0
  351. package/dist/source/outbox/contract.js.map +1 -0
  352. package/dist/source/outbox/envelope.d.ts +9 -0
  353. package/dist/source/outbox/envelope.d.ts.map +1 -0
  354. package/dist/source/outbox/envelope.js +36 -0
  355. package/dist/source/outbox/envelope.js.map +1 -0
  356. package/dist/source/outbox/index.d.ts +11 -0
  357. package/dist/source/outbox/index.d.ts.map +1 -0
  358. package/dist/source/outbox/index.js +11 -0
  359. package/dist/source/outbox/index.js.map +1 -0
  360. package/dist/source/outbox/migrations.d.ts +4 -0
  361. package/dist/source/outbox/migrations.d.ts.map +1 -0
  362. package/dist/source/outbox/migrations.js +67 -0
  363. package/dist/source/outbox/migrations.js.map +1 -0
  364. package/dist/source/outbox/retention.d.ts +3 -0
  365. package/dist/source/outbox/retention.d.ts.map +1 -0
  366. package/dist/source/outbox/retention.js +3 -0
  367. package/dist/source/outbox/retention.js.map +1 -0
  368. package/dist/source/types.d.ts +16 -17
  369. package/dist/source/types.d.ts.map +1 -1
  370. package/dist/source/types.js +1 -0
  371. package/dist/source/types.js.map +1 -1
  372. package/dist/syncLog/contract.d.ts +19 -2
  373. package/dist/syncLog/contract.d.ts.map +1 -1
  374. package/dist/syncLog/contract.js +19 -2
  375. package/dist/syncLog/contract.js.map +1 -1
  376. package/dist/transport/{credentialLifecycle.d.ts → connection/credentialLifecycle.d.ts} +3 -3
  377. package/dist/transport/connection/credentialLifecycle.d.ts.map +1 -0
  378. package/dist/transport/{credentialLifecycle.js → connection/credentialLifecycle.js} +2 -2
  379. package/dist/transport/connection/credentialLifecycle.js.map +1 -0
  380. package/dist/transport/connection/index.d.ts +5 -0
  381. package/dist/transport/connection/index.d.ts.map +1 -0
  382. package/dist/transport/connection/index.js +5 -0
  383. package/dist/transport/connection/index.js.map +1 -0
  384. package/dist/transport/{connectionManager.d.ts → connection/manager.d.ts} +13 -5
  385. package/dist/transport/connection/manager.d.ts.map +1 -0
  386. package/dist/transport/{connectionManager.js → connection/manager.js} +6 -4
  387. package/dist/transport/connection/manager.js.map +1 -0
  388. package/dist/transport/{networkProbe.d.ts → connection/networkProbe.d.ts} +2 -2
  389. package/dist/transport/connection/networkProbe.d.ts.map +1 -0
  390. package/dist/transport/{networkProbe.js → connection/networkProbe.js} +4 -4
  391. package/dist/transport/connection/networkProbe.js.map +1 -0
  392. package/dist/transport/{httpClient.d.ts → http/client.d.ts} +26 -45
  393. package/dist/transport/http/client.d.ts.map +1 -0
  394. package/dist/transport/{httpClient.js → http/client.js} +84 -124
  395. package/dist/transport/http/client.js.map +1 -0
  396. package/dist/transport/{httpTransportHelpers.d.ts → http/helpers.d.ts} +5 -5
  397. package/dist/transport/http/helpers.d.ts.map +1 -0
  398. package/dist/transport/{httpTransportHelpers.js → http/helpers.js} +5 -5
  399. package/dist/transport/http/helpers.js.map +1 -0
  400. package/dist/transport/http/index.d.ts +6 -0
  401. package/dist/transport/http/index.d.ts.map +1 -0
  402. package/dist/transport/http/index.js +6 -0
  403. package/dist/transport/http/index.js.map +1 -0
  404. package/dist/transport/{httpOptions.d.ts → http/options.d.ts} +7 -7
  405. package/dist/transport/{httpOptions.d.ts.map → http/options.d.ts.map} +1 -1
  406. package/dist/transport/{httpOptions.js → http/options.js} +1 -1
  407. package/dist/transport/http/options.js.map +1 -0
  408. package/dist/transport/http/subscription.d.ts +16 -0
  409. package/dist/transport/http/subscription.d.ts.map +1 -0
  410. package/dist/transport/http/subscription.js +146 -0
  411. package/dist/transport/http/subscription.js.map +1 -0
  412. package/dist/transport/{httpTransport.d.ts → http/transport.d.ts} +9 -6
  413. package/dist/transport/http/transport.d.ts.map +1 -0
  414. package/dist/transport/{httpTransport.js → http/transport.js} +95 -93
  415. package/dist/transport/http/transport.js.map +1 -0
  416. package/dist/transport/index.d.ts +8 -0
  417. package/dist/transport/index.d.ts.map +1 -0
  418. package/dist/transport/index.js +8 -0
  419. package/dist/transport/index.js.map +1 -0
  420. package/dist/transport/{commitFrames.d.ts → websocket/commitFrames.d.ts} +8 -20
  421. package/dist/transport/websocket/commitFrames.d.ts.map +1 -0
  422. package/dist/transport/{commitFrames.js → websocket/commitFrames.js} +6 -25
  423. package/dist/transport/websocket/commitFrames.js.map +1 -0
  424. package/dist/transport/{wsFrameHandlers.d.ts → websocket/frameHandlers.d.ts} +5 -5
  425. package/dist/transport/websocket/frameHandlers.d.ts.map +1 -0
  426. package/dist/transport/{wsFrameHandlers.js → websocket/frameHandlers.js} +10 -51
  427. package/dist/transport/websocket/frameHandlers.js.map +1 -0
  428. package/dist/transport/{heartbeat.d.ts → websocket/heartbeat.d.ts} +1 -1
  429. package/dist/transport/websocket/heartbeat.d.ts.map +1 -0
  430. package/dist/transport/{heartbeat.js → websocket/heartbeat.js} +2 -2
  431. package/dist/transport/websocket/heartbeat.js.map +1 -0
  432. package/dist/transport/websocket/index.d.ts +6 -0
  433. package/dist/transport/websocket/index.d.ts.map +1 -0
  434. package/dist/transport/websocket/index.js +6 -0
  435. package/dist/transport/websocket/index.js.map +1 -0
  436. package/dist/transport/{wsTransport.d.ts → websocket/transport.d.ts} +13 -25
  437. package/dist/transport/websocket/transport.d.ts.map +1 -0
  438. package/dist/transport/{wsTransport.js → websocket/transport.js} +14 -14
  439. package/dist/transport/websocket/transport.js.map +1 -0
  440. package/dist/types/index.d.ts +1 -1
  441. package/dist/types/index.d.ts.map +1 -1
  442. package/dist/types/streams.d.ts +8 -48
  443. package/dist/types/streams.d.ts.map +1 -1
  444. package/dist/types/streams.js +2 -2
  445. package/dist/wire/accountResponses.d.ts +4 -72
  446. package/dist/wire/accountResponses.d.ts.map +1 -1
  447. package/dist/wire/accountResponses.js +2 -10
  448. package/dist/wire/accountResponses.js.map +1 -1
  449. package/dist/wire/frames.d.ts +6 -83
  450. package/dist/wire/frames.d.ts.map +1 -1
  451. package/dist/wire/frames.js +4 -11
  452. package/dist/wire/frames.js.map +1 -1
  453. package/dist/wire/inboundFrames.d.ts +6 -131
  454. package/dist/wire/inboundFrames.d.ts.map +1 -1
  455. package/dist/wire/inboundFrames.js +3 -3
  456. package/dist/wire/inboundFrames.js.map +1 -1
  457. package/dist/wire/index.d.ts +17 -15
  458. package/dist/wire/index.d.ts.map +1 -1
  459. package/dist/wire/index.js +11 -8
  460. package/dist/wire/index.js.map +1 -1
  461. package/dist/wire/modelMutations.d.ts +1 -32
  462. package/dist/wire/modelMutations.d.ts.map +1 -1
  463. package/dist/wire/modelMutations.js +1 -8
  464. package/dist/wire/modelMutations.js.map +1 -1
  465. package/package.json +130 -10
  466. package/src/ai-sdk/modelTools.ts +5 -5
  467. package/src/ai-sdk/updateTool.ts +5 -7
  468. package/src/auth/capability.ts +5 -0
  469. package/src/auth/capabilityLifecycle.ts +1 -1
  470. package/src/auth/credentialPolicy.ts +1 -1
  471. package/src/auth/identity.ts +7 -7
  472. package/src/auth/index.ts +4 -663
  473. package/src/auth/runtime.ts +669 -0
  474. package/src/auth/sessionMint.ts +3 -2
  475. package/src/branches.ts +3 -0
  476. package/src/{coordination/awaitClaimGrant.ts → claims/awaitGrant.ts} +4 -4
  477. package/src/{wire/claims.ts → claims/contract.ts} +1 -1
  478. package/src/{coordination → claims}/events.ts +7 -11
  479. package/src/claims/index.ts +21 -0
  480. package/src/claims/lifetime.ts +78 -0
  481. package/src/{coordination → claims}/locator.ts +3 -3
  482. package/src/claims/routes.ts +81 -0
  483. package/src/{coordination → claims}/trace.ts +5 -5
  484. package/src/{ablo.ts → client/ablo.ts} +8 -20
  485. package/src/{transactionLayer.ts → client/contract.ts} +11 -13
  486. package/src/{headlessClient.ts → client/headless.ts} +13 -15
  487. package/src/client/index.ts +10 -0
  488. package/src/{resources → client/resources}/functionalUpdate.ts +4 -4
  489. package/src/{resources → client/resources}/httpResources.ts +48 -68
  490. package/src/{resources → client/resources}/modelCreate.ts +2 -2
  491. package/src/{resources → client/resources}/modelOperations.ts +46 -55
  492. package/src/{resources → client/resources}/mutationOptions.ts +4 -17
  493. package/src/{resources → client/resources}/where.ts +1 -1
  494. package/src/{resources → client/resources}/writeOptionsSchema.ts +7 -27
  495. package/src/{transactions → commit}/confirmation/commitEnvelope.ts +2 -12
  496. package/src/{transactions → commit}/confirmation/httpCommitEnvelope.ts +1 -1
  497. package/src/{transactions → commit}/confirmation/pendingWrite.ts +1 -1
  498. package/src/{wire/commit.ts → commit/contract.ts} +11 -25
  499. package/src/{durableWrites.ts → commit/durableWrites.ts} +7 -7
  500. package/src/{transport/httpCommitRequest.ts → commit/httpRequest.ts} +6 -7
  501. package/src/commit/index.ts +16 -0
  502. package/src/{readSetContext.ts → commit/readSetContext.ts} +16 -41
  503. package/src/{commitRecordRuntime.ts → commit/recordRuntime.ts} +12 -67
  504. package/src/coordination/index.ts +4 -52
  505. package/src/coordination/schema.ts +15 -302
  506. package/src/errorCodes.ts +56 -10
  507. package/src/errors.ts +32 -10
  508. package/src/index.ts +8 -8
  509. package/src/internal/read-set.ts +3 -6
  510. package/src/observability.ts +4 -4
  511. package/src/{wire/delta.ts → observation/contract.ts} +2 -2
  512. package/src/{wire/feedEvent.ts → observation/feedContract.ts} +3 -4
  513. package/src/{transport → observation}/httpFeed.ts +3 -3
  514. package/src/observation/index.ts +12 -0
  515. package/src/{log → observation/persistence}/syncDeltaRow.ts +6 -7
  516. package/src/pricing.ts +46 -25
  517. package/src/schema/index.ts +4 -20
  518. package/src/schema/model.ts +0 -33
  519. package/src/schema/openapi.ts +47 -7
  520. package/src/schema/schema.ts +23 -3
  521. package/src/schema/serialize.ts +0 -8
  522. package/src/server/adapter.ts +1 -1
  523. package/src/server/commit.ts +6 -14
  524. package/src/server/index.ts +1 -1
  525. package/src/source/{adapter.ts → adapters/adapter.ts} +9 -5
  526. package/src/source/{adapterFactory.ts → adapters/adapterFactory.ts} +1 -1
  527. package/src/source/{conformance.ts → adapters/conformance.ts} +1 -1
  528. package/src/source/{contract.ts → adapters/contract.ts} +16 -64
  529. package/src/source/adapters/drizzle.ts +29 -27
  530. package/src/source/{idempotency.ts → adapters/idempotency.ts} +2 -2
  531. package/src/source/adapters/index.ts +20 -0
  532. package/src/source/adapters/kysely.ts +32 -25
  533. package/src/source/adapters/kyselyMutationCore.ts +3 -3
  534. package/src/source/adapters/memory.ts +25 -9
  535. package/src/source/adapters/migration.ts +11 -0
  536. package/src/source/{migrations.ts → adapters/migrations.ts} +6 -54
  537. package/src/source/adapters/prisma.ts +33 -32
  538. package/src/source/{subjectAuthorization.ts → adapters/subjectAuthorization.ts} +2 -2
  539. package/src/source/{connector.ts → connector/client.ts} +35 -12
  540. package/src/source/connector/index.ts +3 -0
  541. package/src/source/{connectorProtocol.ts → connector/protocol.ts} +10 -2
  542. package/src/source/delivery/index.ts +2 -0
  543. package/src/source/{pushQueue.ts → delivery/pushQueue.ts} +2 -2
  544. package/src/source/{factory.ts → endpoint/factory.ts} +13 -8
  545. package/src/source/endpoint/index.ts +4 -0
  546. package/src/source/{next.ts → endpoint/next.ts} +2 -2
  547. package/src/source/{signing.ts → endpoint/signing.ts} +1 -1
  548. package/src/source/index.ts +22 -19
  549. package/src/source/outbox/contract.ts +56 -0
  550. package/src/source/outbox/envelope.ts +47 -0
  551. package/src/source/outbox/index.ts +15 -0
  552. package/src/source/outbox/migrations.ts +71 -0
  553. package/src/source/outbox/retention.ts +2 -0
  554. package/src/source/types.ts +17 -17
  555. package/src/syncLog/contract.ts +19 -2
  556. package/src/transport/{credentialLifecycle.ts → connection/credentialLifecycle.ts} +3 -3
  557. package/src/transport/connection/index.ts +4 -0
  558. package/src/transport/{connectionManager.ts → connection/manager.ts} +13 -4
  559. package/src/transport/{networkProbe.ts → connection/networkProbe.ts} +4 -4
  560. package/src/transport/{httpClient.ts → http/client.ts} +128 -209
  561. package/src/transport/{httpTransportHelpers.ts → http/helpers.ts} +7 -7
  562. package/src/transport/http/index.ts +5 -0
  563. package/src/transport/{httpOptions.ts → http/options.ts} +6 -6
  564. package/src/transport/http/subscription.ts +174 -0
  565. package/src/transport/{httpTransport.ts → http/transport.ts} +127 -113
  566. package/src/transport/index.ts +7 -0
  567. package/src/transport/{commitFrames.ts → websocket/commitFrames.ts} +14 -46
  568. package/src/transport/{wsFrameHandlers.ts → websocket/frameHandlers.ts} +11 -54
  569. package/src/transport/{heartbeat.ts → websocket/heartbeat.ts} +2 -2
  570. package/src/transport/websocket/index.ts +5 -0
  571. package/src/transport/{wsTransport.ts → websocket/transport.ts} +16 -30
  572. package/src/types/index.ts +2 -6
  573. package/src/types/streams.ts +7 -61
  574. package/src/webhooks/events.ts +1 -1
  575. package/src/wire/accountResponses.ts +3 -12
  576. package/src/wire/frames.ts +5 -15
  577. package/src/wire/inboundFrames.ts +3 -3
  578. package/src/wire/index.ts +19 -15
  579. package/src/wire/modelMutations.ts +1 -14
  580. package/dist/ablo.d.ts.map +0 -1
  581. package/dist/ablo.js.map +0 -1
  582. package/dist/commitRecordRuntime.d.ts.map +0 -1
  583. package/dist/commitRecordRuntime.js.map +0 -1
  584. package/dist/coordination/awaitClaimGrant.d.ts.map +0 -1
  585. package/dist/coordination/awaitClaimGrant.js.map +0 -1
  586. package/dist/coordination/claimHeartbeatLoop.d.ts.map +0 -1
  587. package/dist/coordination/claimHeartbeatLoop.js.map +0 -1
  588. package/dist/coordination/claimMeta.d.ts.map +0 -1
  589. package/dist/coordination/claimMeta.js.map +0 -1
  590. package/dist/coordination/events.d.ts.map +0 -1
  591. package/dist/coordination/events.js +0 -8
  592. package/dist/coordination/events.js.map +0 -1
  593. package/dist/coordination/locator.d.ts.map +0 -1
  594. package/dist/coordination/locator.js.map +0 -1
  595. package/dist/coordination/targetConflict.d.ts.map +0 -1
  596. package/dist/coordination/targetConflict.js.map +0 -1
  597. package/dist/coordination/trace.d.ts.map +0 -1
  598. package/dist/coordination/trace.js.map +0 -1
  599. package/dist/durableWrites.d.ts.map +0 -1
  600. package/dist/durableWrites.js.map +0 -1
  601. package/dist/headlessClient.d.ts.map +0 -1
  602. package/dist/log/syncDeltaRow.d.ts.map +0 -1
  603. package/dist/log/syncDeltaRow.js.map +0 -1
  604. package/dist/policy/types.d.ts +0 -226
  605. package/dist/policy/types.d.ts.map +0 -1
  606. package/dist/policy/types.js +0 -127
  607. package/dist/policy/types.js.map +0 -1
  608. package/dist/readSetContext.d.ts.map +0 -1
  609. package/dist/readSetContext.js.map +0 -1
  610. package/dist/resources/functionalUpdate.d.ts.map +0 -1
  611. package/dist/resources/functionalUpdate.js.map +0 -1
  612. package/dist/resources/httpResources.d.ts.map +0 -1
  613. package/dist/resources/httpResources.js.map +0 -1
  614. package/dist/resources/modelCreate.d.ts.map +0 -1
  615. package/dist/resources/modelCreate.js.map +0 -1
  616. package/dist/resources/modelOperations.d.ts.map +0 -1
  617. package/dist/resources/modelOperations.js.map +0 -1
  618. package/dist/resources/mutationOptions.d.ts.map +0 -1
  619. package/dist/resources/mutationOptions.js.map +0 -1
  620. package/dist/resources/where.d.ts.map +0 -1
  621. package/dist/resources/where.js.map +0 -1
  622. package/dist/resources/writeOptionsSchema.d.ts.map +0 -1
  623. package/dist/resources/writeOptionsSchema.js.map +0 -1
  624. package/dist/schema/coordination.d.ts +0 -113
  625. package/dist/schema/coordination.d.ts.map +0 -1
  626. package/dist/schema/coordination.js +0 -134
  627. package/dist/schema/coordination.js.map +0 -1
  628. package/dist/source/adapter.d.ts.map +0 -1
  629. package/dist/source/adapter.js.map +0 -1
  630. package/dist/source/adapterFactory.d.ts.map +0 -1
  631. package/dist/source/adapterFactory.js.map +0 -1
  632. package/dist/source/adapterProfile.d.ts.map +0 -1
  633. package/dist/source/adapterProfile.js.map +0 -1
  634. package/dist/source/conformance.d.ts.map +0 -1
  635. package/dist/source/conformance.js.map +0 -1
  636. package/dist/source/connector.d.ts.map +0 -1
  637. package/dist/source/connector.js.map +0 -1
  638. package/dist/source/connectorProtocol.d.ts.map +0 -1
  639. package/dist/source/connectorProtocol.js.map +0 -1
  640. package/dist/source/contract.d.ts.map +0 -1
  641. package/dist/source/contract.js.map +0 -1
  642. package/dist/source/drizzle.d.ts +0 -2
  643. package/dist/source/drizzle.d.ts.map +0 -1
  644. package/dist/source/drizzle.js +0 -2
  645. package/dist/source/drizzle.js.map +0 -1
  646. package/dist/source/factory.d.ts.map +0 -1
  647. package/dist/source/factory.js.map +0 -1
  648. package/dist/source/idempotency.d.ts.map +0 -1
  649. package/dist/source/idempotency.js.map +0 -1
  650. package/dist/source/kysely.d.ts +0 -3
  651. package/dist/source/kysely.d.ts.map +0 -1
  652. package/dist/source/kysely.js +0 -3
  653. package/dist/source/kysely.js.map +0 -1
  654. package/dist/source/migrations.d.ts.map +0 -1
  655. package/dist/source/migrations.js.map +0 -1
  656. package/dist/source/next.d.ts.map +0 -1
  657. package/dist/source/next.js.map +0 -1
  658. package/dist/source/pushQueue.d.ts.map +0 -1
  659. package/dist/source/pushQueue.js.map +0 -1
  660. package/dist/source/signing.d.ts.map +0 -1
  661. package/dist/source/signing.js.map +0 -1
  662. package/dist/source/subjectAuthorization.d.ts.map +0 -1
  663. package/dist/source/subjectAuthorization.js.map +0 -1
  664. package/dist/transactionLayer.d.ts.map +0 -1
  665. package/dist/transactionLayer.js.map +0 -1
  666. package/dist/transactions/confirmation/commitEnvelope.d.ts.map +0 -1
  667. package/dist/transactions/confirmation/commitEnvelope.js.map +0 -1
  668. package/dist/transactions/confirmation/httpCommitEnvelope.d.ts.map +0 -1
  669. package/dist/transactions/confirmation/httpCommitEnvelope.js.map +0 -1
  670. package/dist/transactions/confirmation/idempotencyKey.d.ts.map +0 -1
  671. package/dist/transactions/confirmation/idempotencyKey.js.map +0 -1
  672. package/dist/transactions/confirmation/pendingWrite.d.ts.map +0 -1
  673. package/dist/transactions/confirmation/pendingWrite.js.map +0 -1
  674. package/dist/transport/commitFrames.d.ts.map +0 -1
  675. package/dist/transport/commitFrames.js.map +0 -1
  676. package/dist/transport/connectionManager.d.ts.map +0 -1
  677. package/dist/transport/connectionManager.js.map +0 -1
  678. package/dist/transport/credentialLifecycle.d.ts.map +0 -1
  679. package/dist/transport/credentialLifecycle.js.map +0 -1
  680. package/dist/transport/heartbeat.d.ts.map +0 -1
  681. package/dist/transport/heartbeat.js.map +0 -1
  682. package/dist/transport/httpClient.d.ts.map +0 -1
  683. package/dist/transport/httpClient.js.map +0 -1
  684. package/dist/transport/httpCommitRequest.d.ts.map +0 -1
  685. package/dist/transport/httpCommitRequest.js.map +0 -1
  686. package/dist/transport/httpFeed.d.ts +0 -4
  687. package/dist/transport/httpFeed.d.ts.map +0 -1
  688. package/dist/transport/httpOptions.js.map +0 -1
  689. package/dist/transport/httpTransport.d.ts.map +0 -1
  690. package/dist/transport/httpTransport.js.map +0 -1
  691. package/dist/transport/httpTransportHelpers.d.ts.map +0 -1
  692. package/dist/transport/httpTransportHelpers.js.map +0 -1
  693. package/dist/transport/networkProbe.d.ts.map +0 -1
  694. package/dist/transport/networkProbe.js.map +0 -1
  695. package/dist/transport/wsFrameHandlers.d.ts.map +0 -1
  696. package/dist/transport/wsFrameHandlers.js.map +0 -1
  697. package/dist/transport/wsTransport.d.ts.map +0 -1
  698. package/dist/transport/wsTransport.js.map +0 -1
  699. package/dist/wire/claimEvent.d.ts.map +0 -1
  700. package/dist/wire/claimEvent.js.map +0 -1
  701. package/dist/wire/claims.d.ts.map +0 -1
  702. package/dist/wire/claims.js.map +0 -1
  703. package/dist/wire/commit.d.ts +0 -2866
  704. package/dist/wire/commit.d.ts.map +0 -1
  705. package/dist/wire/commit.js.map +0 -1
  706. package/dist/wire/delta.d.ts.map +0 -1
  707. package/dist/wire/delta.js.map +0 -1
  708. package/dist/wire/deltaDelivery.d.ts.map +0 -1
  709. package/dist/wire/deltaDelivery.js.map +0 -1
  710. package/dist/wire/feedCursor.d.ts.map +0 -1
  711. package/dist/wire/feedCursor.js.map +0 -1
  712. package/dist/wire/feedEvent.d.ts.map +0 -1
  713. package/dist/wire/feedEvent.js.map +0 -1
  714. package/src/policy/types.ts +0 -300
  715. package/src/schema/coordination.ts +0 -161
  716. package/src/source/drizzle.ts +0 -1
  717. package/src/source/kysely.ts +0 -2
  718. /package/dist/{coordination → claims}/targetConflict.d.ts +0 -0
  719. /package/dist/{coordination → claims}/targetConflict.js +0 -0
  720. /package/dist/{resources → client/resources}/mutationOptions.js +0 -0
  721. /package/dist/{resources → client/resources}/where.d.ts +0 -0
  722. /package/dist/{transactions → commit}/confirmation/httpCommitEnvelope.d.ts +0 -0
  723. /package/dist/{transactions → commit}/confirmation/idempotencyKey.d.ts +0 -0
  724. /package/dist/{transactions → commit}/confirmation/idempotencyKey.js +0 -0
  725. /package/dist/source/{adapter.js → adapters/adapter.js} +0 -0
  726. /package/dist/source/{adapterFactory.d.ts → adapters/adapterFactory.d.ts} +0 -0
  727. /package/dist/source/{adapterProfile.d.ts → adapters/adapterProfile.d.ts} +0 -0
  728. /package/dist/source/{adapterProfile.js → adapters/adapterProfile.js} +0 -0
  729. /package/dist/source/{idempotency.d.ts → adapters/idempotency.d.ts} +0 -0
  730. /package/src/{wire/claimEvent.ts → claims/eventContract.ts} +0 -0
  731. /package/src/{coordination/claimHeartbeatLoop.ts → claims/heartbeat.ts} +0 -0
  732. /package/src/{coordination/claimMeta.ts → claims/meta.ts} +0 -0
  733. /package/src/{coordination → claims}/targetConflict.ts +0 -0
  734. /package/src/{transactions → commit}/confirmation/idempotencyKey.ts +0 -0
  735. /package/src/{wire/feedCursor.ts → observation/cursor.ts} +0 -0
  736. /package/src/{wire/deltaDelivery.ts → observation/deliveryContract.ts} +0 -0
  737. /package/src/source/{adapterProfile.ts → adapters/adapterProfile.ts} +0 -0
@@ -21,7 +21,7 @@ import {
21
21
  formatClaimedErrorMessage,
22
22
  claimTargetLabel,
23
23
  } from '../errors.js';
24
- import type { ClaimRejection } from './schema.js';
24
+ import type { ClaimRejection } from '../coordination/schema.js';
25
25
  import { modelTarget } from './locator.js';
26
26
  import { noopLogger, type Logger } from '../logger.js';
27
27
 
@@ -189,7 +189,7 @@ export function awaitClaimGrant(
189
189
  settle(() => {
190
190
  const error = new CapabilityError(
191
191
  'capability_scope_denied',
192
- rejection.policyReason ??
192
+ rejection.message ??
193
193
  `This credential may not claim ${target}.`,
194
194
  );
195
195
  observe(() => options?.onFailed?.(error));
@@ -200,7 +200,7 @@ export function awaitClaimGrant(
200
200
  if (rejection.reason === 'invalid_target') {
201
201
  settle(() => {
202
202
  const error = new AbloValidationError(
203
- rejection.policyReason ?? `Invalid claim target ${target}.`,
203
+ rejection.message ?? `Invalid claim target ${target}.`,
204
204
  { code: 'invalid_body' },
205
205
  );
206
206
  observe(() => options?.onFailed?.(error));
@@ -214,7 +214,7 @@ export function awaitClaimGrant(
214
214
  targetLabel: target,
215
215
  heldBy: rejection.heldBy,
216
216
  claim: rejection.heldByClaim,
217
- policyReason: rejection.policyReason,
217
+ detail: rejection.message,
218
218
  fallback: `Claim rejected for ${target}.`,
219
219
  }),
220
220
  {
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { z } from 'zod';
14
14
  import { durationSchema, parseDurationMs } from '../utils/duration.js';
15
- import { listEnvelopeSchema } from './listEnvelope.js';
15
+ import { listEnvelopeSchema } from '../wire/listEnvelope.js';
16
16
  import {
17
17
  publicClaimStatusSchema,
18
18
  wireParticipantKindSchema,
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * In-process observation events emitted by the transaction layer's
3
- * coordination protocol. The wire claim and stale-write contracts live in
4
- * `coordination/schema.ts`; these two projections are the stable event shapes
3
+ * coordination protocol. The wire contracts live in `coordination/schema.ts`;
4
+ * these projections are the stable event shapes
5
5
  * an observer receives after those frames have been interpreted.
6
6
  */
7
7
 
8
8
  import type { ParticipantKind } from '../types/participant.js';
9
9
 
10
- export type { ClaimEventReason } from './schema.js';
11
- import type { ClaimEventReason } from './schema.js';
10
+ export type { ClaimEventReason } from '../coordination/schema.js';
11
+ import type { ClaimEventReason } from '../coordination/schema.js';
12
12
 
13
13
  /** The participant that blocked a claim — present on `rejected`. */
14
14
  export interface ClaimCounterparty {
@@ -55,12 +55,8 @@ export interface ClaimEvent {
55
55
  description?: string;
56
56
  /** Why the claim ended or was refused. Absent while it is simply alive. */
57
57
  reason?: ClaimEventReason;
58
- /**
59
- * A policy's own words when a policy decided the outcome — free text by
60
- * nature, and kept beside the closed {@link ClaimEvent.reason} rather than
61
- * collapsed into it.
62
- */
63
- policyReason?: string;
58
+ /** Human-readable detail accompanying the machine-readable reason. */
59
+ message?: string;
64
60
  /**
65
61
  * Who blocked this claim. Present on `rejected`, where the wire already
66
62
  * carried the holder and this projection used to discard it.
@@ -68,7 +64,7 @@ export interface ClaimEvent {
68
64
  heldBy?: ClaimCounterparty;
69
65
  }
70
66
 
71
- /** A committed notify-instead-of-abort stale-write collision. */
67
+ /** A rejected stale-write or foreign-claim collision. */
72
68
  export interface ConflictEvent {
73
69
  clientTxId: string;
74
70
  rows: readonly {
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Claim subsystem.
3
+ *
4
+ * Start here and descend through contracts, target location, admission,
5
+ * heartbeat, metadata, events, and diagnostics.
6
+ */
7
+ export * from './contract.js';
8
+ export * from './routes.js';
9
+ export * from './eventContract.js';
10
+ export * from './locator.js';
11
+ export * from './awaitGrant.js';
12
+ export * from './heartbeat.js';
13
+ export * from './meta.js';
14
+ export type {
15
+ ClaimCounterparty,
16
+ ClaimEvent as ClaimObservationEvent,
17
+ ConflictEvent,
18
+ CoordinationObserver,
19
+ } from './events.js';
20
+ export * from './targetConflict.js';
21
+ export * from './trace.js';
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Package-internal lifecycle for one granted claim handle.
3
+ *
4
+ * A handle is bound to one server grant. Wrappers may add row data or model
5
+ * typing, but they all share this object so a loss observed at the transport
6
+ * boundary removes the same handle from every client-side index. The public
7
+ * cancellation surface is deliberately not defined here yet; this file first
8
+ * establishes one truthful terminal transition for the existing API.
9
+ */
10
+
11
+ export interface ClaimLifetime {
12
+ /** Whether this exact grant has ended. */
13
+ readonly ended: boolean;
14
+ /** Why it ended, when the transport supplied a typed error. */
15
+ readonly reason: Error | undefined;
16
+ /** End the grant once. Later calls are no-ops. */
17
+ end(reason?: Error): void;
18
+ /** Run when the grant ends. An already-ended grant invokes immediately. */
19
+ onEnd(listener: (reason: Error | undefined) => void): () => void;
20
+ }
21
+
22
+ const lifetimeByHandle = new WeakMap<object, ClaimLifetime>();
23
+
24
+ /** Create the single lifecycle shared by every wrapper around one grant. */
25
+ export function createClaimLifetime(): ClaimLifetime {
26
+ let ended = false;
27
+ let reason: Error | undefined;
28
+ const listeners = new Set<(reason: Error | undefined) => void>();
29
+
30
+ return {
31
+ get ended() {
32
+ return ended;
33
+ },
34
+ get reason() {
35
+ return reason;
36
+ },
37
+ end(nextReason?: Error) {
38
+ if (ended) return;
39
+ ended = true;
40
+ reason = nextReason;
41
+ for (const listener of listeners) {
42
+ try {
43
+ listener(reason);
44
+ } catch {
45
+ // A cleanup observer cannot keep sibling cleanup from running.
46
+ }
47
+ }
48
+ listeners.clear();
49
+ },
50
+ onEnd(listener) {
51
+ if (ended) {
52
+ listener(reason);
53
+ return () => undefined;
54
+ }
55
+ listeners.add(listener);
56
+ return () => {
57
+ listeners.delete(listener);
58
+ };
59
+ },
60
+ };
61
+ }
62
+
63
+ /** Associate a wrapper with the lifecycle of the grant it represents. */
64
+ export function bindClaimLifetime<T extends object>(
65
+ handle: T,
66
+ lifetime: ClaimLifetime,
67
+ ): T {
68
+ lifetimeByHandle.set(handle, lifetime);
69
+ return handle;
70
+ }
71
+
72
+ /** Read a handle's package-internal lifecycle, if it was minted by this SDK. */
73
+ export function claimLifetimeOf(handle: unknown): ClaimLifetime | undefined {
74
+ if ((typeof handle !== 'object' && typeof handle !== 'function') || handle === null) {
75
+ return undefined;
76
+ }
77
+ return lifetimeByHandle.get(handle);
78
+ }
@@ -16,18 +16,18 @@
16
16
  * the locator again should touch this module and the schema, not every hop.
17
17
  */
18
18
 
19
- import type { ClaimPart, ModelTarget, TargetRef, WireClaim } from './schema.js';
19
+ import type { ClaimPart, ModelTarget, TargetRef, WireClaim } from '../coordination/schema.js';
20
20
  import {
21
21
  fieldSelection,
22
22
  type FieldRef,
23
23
  type FieldSelector,
24
24
  } from '../schema/fieldRef.js';
25
- import { partName } from './schema.js';
25
+ import { partName } from '../coordination/schema.js';
26
26
  import type { ClaimTarget, PresenceTarget } from '../types/streams.js';
27
27
  import type { ResolveClaimMeta } from '../types/global.js';
28
28
  // The one declared→wire conversion for claim metadata; `declaredMeta` is its
29
29
  // counterpart, called by the decodes that build a public claim.
30
- import { wireMeta } from './claimMeta.js';
30
+ import { wireMeta } from './meta.js';
31
31
 
32
32
  /**
33
33
  * The part of a claim that narrows it below the whole entity. A claim with none
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Where the claim routes live, named once.
3
+ *
4
+ * A path is a contract between two programs, and it was being stated twice: the
5
+ * server registered `/v1/models/:model/:id/claim` and every client wrote the
6
+ * same string out again with its parameters interpolated. Nothing held the two
7
+ * spellings together, so a rename would have compiled on both sides and failed
8
+ * at the first request — the one class of drift that survives a green build.
9
+ *
10
+ * The two ends need the path differently. A router wants the `:param` pattern;
11
+ * a caller wants the filled URL. Both come from the same literal here: the
12
+ * pattern is the definition, and every builder below is a substitution into it,
13
+ * so a path can be corrected in exactly one place.
14
+ *
15
+ * Percent-encoding belongs here too. A model or row id is caller-supplied, and
16
+ * an id containing `/` silently addressed a different route when each call site
17
+ * remembered to encode on its own.
18
+ */
19
+
20
+ /**
21
+ * Claim route patterns, in the `:param` spelling a router registers.
22
+ *
23
+ * `as const` is load-bearing: it keeps each value a literal type, which is what
24
+ * lets a typed router infer a route's parameter names from the pattern it is
25
+ * handed. Widening these to `string` would compile and quietly cost the server
26
+ * its `c.req.param()` typing.
27
+ */
28
+ export const CLAIM_ROUTES = {
29
+ /** List claims, and take one. */
30
+ collection: '/v1/claims',
31
+ /** Beat every lease this caller holds, in one call. */
32
+ collectionHeartbeat: '/v1/claims/heartbeat',
33
+ /** Poll one claim, or release it. */
34
+ byId: '/v1/claims/:claimId',
35
+ /** Beat one named lease. */
36
+ byIdHeartbeat: '/v1/claims/:claimId/heartbeat',
37
+ /** The model-scoped surface, mirroring `ablo.<model>.claim({ id })`. */
38
+ onModel: '/v1/models/:model/:id/claim',
39
+ onModelHeartbeat: '/v1/models/:model/:id/claim/heartbeat',
40
+ onModelReorder: '/v1/models/:model/:id/claim/reorder',
41
+ /** The pre-`/v1` spelling, still mounted for clients that predate it. */
42
+ legacyCollection: '/sync/claims',
43
+ legacyById: '/sync/claims/:claimId',
44
+ } as const;
45
+
46
+ /** The row a model-scoped claim route addresses. */
47
+ export interface ClaimRouteTarget {
48
+ readonly model: string;
49
+ readonly id: string;
50
+ }
51
+
52
+ function forTarget(pattern: string, target: ClaimRouteTarget): string {
53
+ return pattern
54
+ .replace(':model', encodeURIComponent(target.model))
55
+ .replace(':id', encodeURIComponent(target.id));
56
+ }
57
+
58
+ /** `POST` to take the lease on a row, `DELETE` to give it back. */
59
+ export function claimOnModelPath(target: ClaimRouteTarget): string {
60
+ return forTarget(CLAIM_ROUTES.onModel, target);
61
+ }
62
+
63
+ /** `POST` to say the holder is still working. */
64
+ export function claimHeartbeatOnModelPath(target: ClaimRouteTarget): string {
65
+ return forTarget(CLAIM_ROUTES.onModelHeartbeat, target);
66
+ }
67
+
68
+ /** `POST` to move a waiter within the line. */
69
+ export function claimReorderOnModelPath(target: ClaimRouteTarget): string {
70
+ return forTarget(CLAIM_ROUTES.onModelReorder, target);
71
+ }
72
+
73
+ /** `GET` to poll one claim's state, `DELETE` to release it by its own id. */
74
+ export function claimByIdPath(claimId: string): string {
75
+ return CLAIM_ROUTES.byId.replace(':claimId', encodeURIComponent(claimId));
76
+ }
77
+
78
+ /** `POST` to beat one named lease. */
79
+ export function claimHeartbeatByIdPath(claimId: string): string {
80
+ return CLAIM_ROUTES.byIdHeartbeat.replace(':claimId', encodeURIComponent(claimId));
81
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * A claim log — the simplest way to watch agents collide. The engine reports
3
3
  * the claim lifecycle (`acquired → queued → granted → lost / rejected /
4
- * expired`) and the notify-instead-of-abort stale write through two channels:
4
+ * expired`) and rejected write collisions through two channels:
5
5
  * human-readable `logger` lines (shown with `new Ablo({ debug: true })`) and
6
6
  * structured `observability.captureClaim` / `captureConflict` calls.
7
7
  *
@@ -36,19 +36,19 @@ export function formatClaim(e: ClaimEvent): string {
36
36
  ? ` — held by ${actor}`
37
37
  : ` — by ${actor}`
38
38
  : '';
39
- // The cause when there is one, in the policy's own words when a policy
40
- // decided; otherwise what the holder said they were doing. A line never
39
+ // The cause when there is one, with human-readable detail when supplied;
40
+ // otherwise what the holder said they were doing. A line never
41
41
  // shows both, because a claim that ended has a cause and a claim that is
42
42
  // simply alive has only its description.
43
43
  const why = e.reason
44
- ? `: ${e.policyReason ?? e.reason}`
44
+ ? `: ${e.message ?? e.reason}`
45
45
  : e.description
46
46
  ? `: ${e.description}`
47
47
  : '';
48
48
  return `claim ${e.phase}: ${target}${scope}${pos}${by}${why}`;
49
49
  }
50
50
 
51
- /** A notify-instead-of-abort stale write as one readable line. */
51
+ /** A rejected stale write or foreign-claim collision as one readable line. */
52
52
  export function formatConflict(e: ConflictEvent): string {
53
53
  const rows = e.rows
54
54
  .map((r) => {
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * ```ts
11
11
  * import { Ablo } from '@abloatai/ablo';
12
- * import { schema } from './schema';
12
+ * import { schema } from '../schema';
13
13
  *
14
14
  * const ablo = Ablo({ schema, apiKey: process.env.ABLO_API_KEY, transport: 'http' });
15
15
  * await ablo.items.update({ id: itemId, data: { status: 'done' } });
@@ -24,12 +24,11 @@ import {
24
24
  createAbloHttpClient,
25
25
  type AbloHttpClient,
26
26
  type AbloHttpClientOptions,
27
- } from './transport/httpClient.js';
28
- import type { SchemaRecord } from './schema/schema.js';
29
- import type * as _Streams from './types/streams.js';
30
- import type * as _SchemaTypes from './schema/schema.js';
31
- import type * as _Global from './types/global.js';
32
- import type * as _Policy from './policy/types.js';
27
+ } from '../transport/http/client.js';
28
+ import type { SchemaRecord } from '../schema/schema.js';
29
+ import type * as _Streams from '../types/streams.js';
30
+ import type * as _SchemaTypes from '../schema/schema.js';
31
+ import type * as _Global from '../types/global.js';
33
32
  import type * as _Http from './resources/httpResources.js';
34
33
 
35
34
  /**
@@ -54,8 +53,8 @@ export function Ablo<const S extends SchemaRecord>(
54
53
  // its own `Ablo` export: every entry a consumer of THIS client would write
55
54
  // out (`Ablo.Activity`, `Ablo.Commit.Receipt`, and so on), and nothing that
56
55
  // needs a store or a socket behind it. The
57
- // types live in their canonical homes (`types/streams`, `policy/types`,
58
- // `resources/httpResources`, `schema/schema`); the namespace is a convenience
56
+ // types live in their canonical homes (`types/streams`, `claims/policy`,
57
+ // `client/resources/httpResources`, `schema/schema`); the namespace is a convenience
59
58
  // path, not a second definition.
60
59
  // eslint-disable-next-line @typescript-eslint/no-namespace
61
60
  export namespace Ablo {
@@ -115,17 +114,6 @@ export namespace Ablo {
115
114
  _SchemaTypes.InferModelNames<S>;
116
115
  }
117
116
 
118
- // ── Conflict (type + sub-namespace via declaration merge) ─────────
119
- export type Conflict = _Policy.Conflict;
120
- // eslint-disable-next-line @typescript-eslint/no-namespace
121
- export namespace Conflict {
122
- export type Kind = _Policy.ConflictKind;
123
- export type Operation = _Policy.ConflictOperation;
124
- export type Decision = _Policy.ConflictDecision;
125
- export type Policy = _Policy.ConflictPolicy;
126
- export type Axis = _Policy.ConflictAxis;
127
- }
128
-
129
117
  // ── Commit (sub-namespace — write-side cohort) ────────────────────
130
118
  // eslint-disable-next-line @typescript-eslint/no-namespace
131
119
  export namespace Commit {
@@ -10,10 +10,9 @@
10
10
  * transaction layer never calls up into it.
11
11
  *
12
12
  * `participant` stays the WHO (user | agent | system), never the name of this.
13
- * The taught verbs map onto the seam directly: `create`/`update`/`delete` are
14
- * operations inside a `commit()` payload; `claim` is `claim()`; `track` rides
15
- * the commit payload's `track` field (a durable premise is a zero-operation
16
- * commit). Presence (`join`) is deliberately absent: it is live observation
13
+ * The taught verbs map onto the seam directly: `read` returns settled state,
14
+ * `create`/`update`/`delete` are operations inside a `commit()` payload, and
15
+ * `claim` is `claim()`. Presence (`join`) is deliberately absent: it is live observation
17
16
  * over a socket, and it joins the seam when its core carrier type exists —
18
17
  * see docs/plans/transaction-core-language.md, Tier 3.
19
18
  *
@@ -22,11 +21,11 @@
22
21
  * compile-time conformance pin against this interface.
23
22
  */
24
23
 
25
- import type { CommitMessage } from './wire/frames.js';
26
- import type { ClientCommitReceipt } from './wire/commit.js';
27
- import type { Delta, HeldClaim, ClaimTarget, ClaimLeaseOptions } from './types/streams.js';
28
- import type { ModelData } from './types/modelData.js';
29
- import type { ModelScope } from './types/index.js';
24
+ import type { CommitMessage } from '../wire/frames.js';
25
+ import type { ClientCommitReceipt } from '../commit/contract.js';
26
+ import type { Delta, HeldClaim, ClaimTarget, ClaimLeaseOptions } from '../types/streams.js';
27
+ import type { ModelData } from '../types/modelData.js';
28
+ import type { ModelScope } from '../types/index.js';
30
29
 
31
30
  /**
32
31
  * A commit's durable acceptance — `{ status: 'queued' }` with the correlation
@@ -93,15 +92,14 @@ export interface TransactionLayer {
93
92
  ready(): Promise<void>;
94
93
 
95
94
  /** Read one settled row by id, or `null` when absent. */
96
- get(model: string, id: string): Promise<ModelData | null>;
95
+ read(model: string, id: string): Promise<ModelData | null>;
97
96
 
98
97
  /** Read settled rows matching a {@link ListQuery}. */
99
98
  list(model: string, query?: ListQuery): Promise<ModelData[]>;
100
99
 
101
100
  /**
102
- * Submit a batch of operations with its idempotent `clientTxId`, its
103
- * `reads` premise, and any durable `track` registrations — and receive
104
- * durable acceptance.
101
+ * Submit a batch of operations with its idempotent `clientTxId` and compact
102
+ * `reads` evidence, then receive durable acceptance.
105
103
  */
106
104
  commit(payload: CommitMessage['payload']): Promise<CommitReceipt>;
107
105
 
@@ -2,20 +2,20 @@ import {
2
2
  createAbloHttpClient,
3
3
  type AbloHttpClient,
4
4
  type AbloHttpClientOptions,
5
- } from './transport/httpClient.js';
6
- import { createHttpFeed } from './transport/httpFeed.js';
7
- import type { SchemaRecord } from './schema/schema.js';
8
- import { fieldRef } from './schema/fieldRef.js';
5
+ } from '../transport/http/client.js';
6
+ import { createHttpFeed } from '../observation/httpFeed.js';
7
+ import type { SchemaRecord } from '../schema/schema.js';
8
+ import { fieldRef } from '../schema/fieldRef.js';
9
9
  import type { ClaimParams, ServerReadOptions } from './resources/modelOperations.js';
10
- import type { ModelData } from './types/modelData.js';
11
- import type { ClaimLeaseOptions, ClaimTarget, HeldClaim } from './types/streams.js';
12
- import type { CommitMessage } from './wire/frames.js';
10
+ import type { ModelData } from '../types/modelData.js';
11
+ import type { ClaimLeaseOptions, ClaimTarget, HeldClaim } from '../types/streams.js';
12
+ import type { CommitMessage } from '../wire/frames.js';
13
13
  import type {
14
14
  CommitReceipt,
15
15
  ListQuery,
16
16
  TransactionLayer,
17
- } from './transactionLayer.js';
18
- import { AbloConnectionError } from './errors.js';
17
+ } from './contract.js';
18
+ import { AbloConnectionError } from '../errors.js';
19
19
 
20
20
  export interface TransactionClientOptions<S extends SchemaRecord>
21
21
  extends AbloHttpClientOptions<S> {}
@@ -26,14 +26,14 @@ export type TransactionClient<S extends SchemaRecord> =
26
26
  & { dispose(): Promise<void> };
27
27
 
28
28
  type DynamicModel = {
29
- get(options: { id: string }): Promise<ModelData | undefined>;
29
+ read(options: { id: string }): Promise<ModelData | undefined>;
30
30
  list(options?: ServerReadOptions<ModelData>): Promise<ModelData[]>;
31
31
  claim(options: ClaimParams<ModelData>): Promise<HeldClaim>;
32
32
  };
33
33
 
34
34
  const LAYER_MEMBERS = new Set<PropertyKey>([
35
35
  'ready',
36
- 'get',
36
+ 'read',
37
37
  'list',
38
38
  'commit',
39
39
  'settled',
@@ -56,12 +56,10 @@ function toCommitOptions(payload: CommitMessage['payload']) {
56
56
  id: operation.id,
57
57
  data: operation.input,
58
58
  readAt: operation.readAt,
59
- onStale: operation.onStale,
60
59
  transactionId: operation.transactionId,
61
60
  fenceToken: operation.fenceToken,
62
61
  })),
63
62
  reads: payload.reads,
64
- track: payload.track,
65
63
  } as const;
66
64
  }
67
65
 
@@ -86,8 +84,8 @@ export function createTransactionClient<S extends SchemaRecord>(
86
84
 
87
85
  const layer: TransactionLayer & { dispose(): Promise<void> } = {
88
86
  ready: () => http.ready(),
89
- async get(modelName, id) {
90
- return (await model(modelName).get({ id })) ?? null;
87
+ async read(modelName, id) {
88
+ return (await model(modelName).read({ id })) ?? null;
91
89
  },
92
90
  list(modelName, query?: ListQuery) {
93
91
  return model(modelName).list({
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Public transaction client subsystem.
3
+ *
4
+ * Start here and descend through the transaction contract, headless runtime,
5
+ * typed Ablo factory, and model resource contracts.
6
+ */
7
+ export * from './contract.js';
8
+ export * from './headless.js';
9
+ export * from './ablo.js';
10
+ export * from './resources/functionalUpdate.js';
@@ -10,7 +10,7 @@
10
10
  * caller. The write either lands or, at the extreme, throws a single
11
11
  * {@link AbloContentionError} once the reconcile budget is spent.
12
12
  *
13
- * Correctness comes from the `readAt` watermark plus `onStale: 'reject'`
13
+ * Correctness comes from the `readAt` watermark
14
14
  * (optimistic concurrency, or compare-and-swap), not from participant identity.
15
15
  * That is why it is immune to the shared-credential silent-overwrite hazard and
16
16
  * behaves identically on both transports: the HTTP and WebSocket clients inject
@@ -27,8 +27,8 @@ import {
27
27
  AbloStaleContextError,
28
28
  AbloClaimedError,
29
29
  AbloContentionError,
30
- } from '../errors.js';
31
- import type { ReadDependency } from '../coordination/schema.js';
30
+ } from '../../errors.js';
31
+ import type { ReadDependency } from '../../coordination/schema.js';
32
32
 
33
33
  /**
34
34
  * The functional form of an update: given the freshly-read row, return the
@@ -81,7 +81,7 @@ function backoffMs(attempt: number): number {
81
81
  * and retry" rather than a genuine failure to surface. These are the
82
82
  * optimistic-concurrency signals the functional update reconciles against:
83
83
  * - `stale_context` — the `readAt` watermark was overtaken by a concurrent write
84
- * - `claim_lost` — a holder preempted the write (for example a human under `humansOverwrite`)
84
+ * - `claim_lost` — the write's holder lost its lease
85
85
  * - `claim_queued` — a holder is actively editing the row right now
86
86
  */
87
87
  export function isReconcilableConflict(err: unknown): boolean {