@abloatai/ablo 0.36.0 → 0.37.1

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 (597) hide show
  1. package/AGENTS.md +2 -2
  2. package/CHANGELOG.md +55 -2014
  3. package/NOTICE +2 -2
  4. package/README.md +45 -63
  5. package/assets/banner.png +0 -0
  6. package/dist/auth.d.ts +2 -0
  7. package/dist/auth.d.ts.map +1 -0
  8. package/dist/auth.js +2 -0
  9. package/dist/auth.js.map +1 -0
  10. package/dist/client.d.ts +3 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +3 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/coordination.d.ts +2 -0
  15. package/dist/coordination.d.ts.map +1 -0
  16. package/dist/coordination.js +2 -0
  17. package/dist/coordination.js.map +1 -0
  18. package/dist/index.d.ts +3 -114
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +3 -163
  21. package/dist/index.js.map +1 -0
  22. package/dist/react.d.ts +4 -0
  23. package/dist/react.d.ts.map +1 -0
  24. package/dist/react.js +3 -0
  25. package/dist/react.js.map +1 -0
  26. package/dist/schema.d.ts +2 -0
  27. package/dist/schema.d.ts.map +1 -0
  28. package/dist/schema.js +2 -0
  29. package/dist/schema.js.map +1 -0
  30. package/dist/server.d.ts +2 -0
  31. package/dist/server.d.ts.map +1 -0
  32. package/dist/server.js +2 -0
  33. package/dist/server.js.map +1 -0
  34. package/dist/source-conformance.d.ts +2 -0
  35. package/dist/source-conformance.d.ts.map +1 -0
  36. package/dist/source-conformance.js +2 -0
  37. package/dist/source-conformance.js.map +1 -0
  38. package/dist/source-drizzle.d.ts +2 -0
  39. package/dist/source-drizzle.d.ts.map +1 -0
  40. package/dist/source-drizzle.js +2 -0
  41. package/dist/source-drizzle.js.map +1 -0
  42. package/dist/source-kysely.d.ts +2 -0
  43. package/dist/source-kysely.d.ts.map +1 -0
  44. package/dist/source-kysely.js +2 -0
  45. package/dist/source-kysely.js.map +1 -0
  46. package/dist/source-next.d.ts +2 -0
  47. package/dist/source-next.d.ts.map +1 -0
  48. package/dist/source-next.js +2 -0
  49. package/dist/source-next.js.map +1 -0
  50. package/dist/source.d.ts +2 -0
  51. package/dist/source.d.ts.map +1 -0
  52. package/dist/source.js +2 -0
  53. package/dist/source.js.map +1 -0
  54. package/dist/wire.d.ts +2 -0
  55. package/dist/wire.d.ts.map +1 -0
  56. package/dist/wire.js +2 -0
  57. package/dist/wire.js.map +1 -0
  58. package/docs/agents.md +1 -1
  59. package/docs/api-keys.md +7 -6
  60. package/docs/api.md +10 -10
  61. package/docs/client-behavior.md +5 -5
  62. package/docs/coordination.md +52 -62
  63. package/docs/data-sources.md +1 -1
  64. package/docs/examples/agent-human.md +4 -4
  65. package/docs/examples/ai-sdk-tool.md +1 -1
  66. package/docs/examples/existing-python-backend.md +15 -4
  67. package/docs/examples/nextjs.md +27 -6
  68. package/docs/examples/server-agent.md +2 -2
  69. package/docs/how-it-works.md +4 -4
  70. package/docs/identity.md +2 -1
  71. package/docs/integration-guide.md +24 -13
  72. package/docs/internal/README.md +18 -0
  73. package/docs/internal/agent-fleet-coordination-design.md +171 -0
  74. package/docs/internal/agent-orchestration.md +58 -0
  75. package/docs/internal/commit-identifiers.md +91 -0
  76. package/docs/internal/concurrency-open-decisions.md +37 -0
  77. package/docs/internal/data-source-reverse-channel.md +150 -0
  78. package/docs/internal/per-field-conflict-detection.md +165 -0
  79. package/docs/internal/postgres-replication.md +64 -0
  80. package/docs/internal/serializable-schema.md +119 -0
  81. package/docs/internal/structure.md +32 -0
  82. package/docs/mcp.md +2 -2
  83. package/docs/migration.md +3 -3
  84. package/docs/quickstart.md +2 -2
  85. package/docs/react.md +5 -5
  86. package/docs/schema-contract.md +3 -3
  87. package/docs/sessions.md +91 -37
  88. package/examples/README.md +2 -2
  89. package/examples/data-source/README.md +1 -1
  90. package/examples/data-source/ablo-driver.ts +1 -1
  91. package/examples/data-source/customer-server.ts +1 -1
  92. package/examples/data-source/run.ts +1 -1
  93. package/examples/data-source/schema.ts +1 -1
  94. package/examples/quickstart.ts +2 -2
  95. package/llms.txt +8 -8
  96. package/package.json +63 -166
  97. package/bin/ablo.cjs +0 -39
  98. package/dist/BaseSyncedStore.d.ts +0 -843
  99. package/dist/BaseSyncedStore.js +0 -1971
  100. package/dist/Database.d.ts +0 -323
  101. package/dist/Database.js +0 -1502
  102. package/dist/InstanceCache.d.ts +0 -237
  103. package/dist/InstanceCache.js +0 -1166
  104. package/dist/LazyReferenceCollection.d.ts +0 -177
  105. package/dist/LazyReferenceCollection.js +0 -461
  106. package/dist/Model.d.ts +0 -454
  107. package/dist/Model.js +0 -919
  108. package/dist/ModelRegistry.d.ts +0 -225
  109. package/dist/ModelRegistry.js +0 -539
  110. package/dist/NetworkMonitor.d.ts +0 -28
  111. package/dist/NetworkMonitor.js +0 -79
  112. package/dist/RuntimeContext.d.ts +0 -52
  113. package/dist/RuntimeContext.js +0 -80
  114. package/dist/SyncClient.d.ts +0 -541
  115. package/dist/SyncClient.js +0 -2202
  116. package/dist/adapters/alwaysOnline.d.ts +0 -14
  117. package/dist/adapters/alwaysOnline.js +0 -17
  118. package/dist/adapters/inMemoryStorage.d.ts +0 -31
  119. package/dist/adapters/inMemoryStorage.js +0 -110
  120. package/dist/ai-sdk/coordinatedTool.d.ts +0 -120
  121. package/dist/ai-sdk/coordinatedTool.js +0 -134
  122. package/dist/ai-sdk/coordinationContext.d.ts +0 -46
  123. package/dist/ai-sdk/coordinationContext.js +0 -106
  124. package/dist/ai-sdk/index.d.ts +0 -121
  125. package/dist/ai-sdk/index.js +0 -121
  126. package/dist/ai-sdk/wrap.d.ts +0 -65
  127. package/dist/ai-sdk/wrap.js +0 -39
  128. package/dist/auth/index.d.ts +0 -1
  129. package/dist/auth/index.js +0 -8
  130. package/dist/batching/index.d.ts +0 -55
  131. package/dist/batching/index.js +0 -147
  132. package/dist/client/Ablo.d.ts +0 -231
  133. package/dist/client/Ablo.js +0 -160
  134. package/dist/client/abloClient.d.ts +0 -309
  135. package/dist/client/abloClient.js +0 -13
  136. package/dist/client/clientPrelude.d.ts +0 -52
  137. package/dist/client/clientPrelude.js +0 -60
  138. package/dist/client/consoleLogger.d.ts +0 -35
  139. package/dist/client/consoleLogger.js +0 -44
  140. package/dist/client/coreClient.d.ts +0 -60
  141. package/dist/client/coreClient.js +0 -118
  142. package/dist/client/createInternalComponents.d.ts +0 -50
  143. package/dist/client/createInternalComponents.js +0 -98
  144. package/dist/client/createModelProxy.d.ts +0 -248
  145. package/dist/client/createModelProxy.js +0 -884
  146. package/dist/client/humans.d.ts +0 -69
  147. package/dist/client/humans.js +0 -78
  148. package/dist/client/modelRegistration.d.ts +0 -10
  149. package/dist/client/modelRegistration.js +0 -312
  150. package/dist/client/options.d.ts +0 -461
  151. package/dist/client/options.js +0 -7
  152. package/dist/client/reactiveEngine.d.ts +0 -53
  153. package/dist/client/reactiveEngine.js +0 -688
  154. package/dist/client/resourceTypes.d.ts +0 -12
  155. package/dist/client/resourceTypes.js +0 -10
  156. package/dist/client/schemaConfig.d.ts +0 -44
  157. package/dist/client/schemaConfig.js +0 -185
  158. package/dist/client/storeCluster.d.ts +0 -47
  159. package/dist/client/storeCluster.js +0 -118
  160. package/dist/client/storeLifecycle.d.ts +0 -61
  161. package/dist/client/storeLifecycle.js +0 -231
  162. package/dist/client/validateAbloOptions.d.ts +0 -42
  163. package/dist/client/validateAbloOptions.js +0 -43
  164. package/dist/client/wsMutationExecutor.d.ts +0 -27
  165. package/dist/client/wsMutationExecutor.js +0 -72
  166. package/dist/context.d.ts +0 -42
  167. package/dist/context.js +0 -81
  168. package/dist/coordination/ClaimLog.d.ts +0 -26
  169. package/dist/coordination/ClaimLog.js +0 -32
  170. package/dist/coordination/index.d.ts +0 -1
  171. package/dist/coordination/index.js +0 -8
  172. package/dist/core/index.d.ts +0 -33
  173. package/dist/core/index.js +0 -48
  174. package/dist/docs/catalog.d.ts +0 -72
  175. package/dist/docs/catalog.js +0 -230
  176. package/dist/docs/index.d.ts +0 -10
  177. package/dist/docs/index.js +0 -10
  178. package/dist/environment.d.ts +0 -1
  179. package/dist/environment.js +0 -8
  180. package/dist/interfaces/index.d.ts +0 -311
  181. package/dist/interfaces/index.js +0 -9
  182. package/dist/keys/index.d.ts +0 -1
  183. package/dist/keys/index.js +0 -8
  184. package/dist/mutators/RecordingMutation.d.ts +0 -36
  185. package/dist/mutators/RecordingMutation.js +0 -182
  186. package/dist/mutators/Transaction.d.ts +0 -40
  187. package/dist/mutators/Transaction.js +0 -58
  188. package/dist/mutators/UndoManager.d.ts +0 -258
  189. package/dist/mutators/UndoManager.js +0 -658
  190. package/dist/mutators/defineMutators.d.ts +0 -60
  191. package/dist/mutators/defineMutators.js +0 -18
  192. package/dist/mutators/inverseOp.d.ts +0 -126
  193. package/dist/mutators/inverseOp.js +0 -71
  194. package/dist/mutators/mutateActions.d.ts +0 -45
  195. package/dist/mutators/mutateActions.js +0 -105
  196. package/dist/mutators/readerActions.d.ts +0 -33
  197. package/dist/mutators/readerActions.js +0 -57
  198. package/dist/mutators/undoApply.d.ts +0 -51
  199. package/dist/mutators/undoApply.js +0 -117
  200. package/dist/policy/index.d.ts +0 -21
  201. package/dist/policy/index.js +0 -20
  202. package/dist/query/QueryProcessor.d.ts +0 -75
  203. package/dist/query/QueryProcessor.js +0 -255
  204. package/dist/query/client.d.ts +0 -64
  205. package/dist/query/client.js +0 -138
  206. package/dist/query/types.d.ts +0 -85
  207. package/dist/query/types.js +0 -16
  208. package/dist/react/AbloProvider.d.ts +0 -242
  209. package/dist/react/AbloProvider.js +0 -458
  210. package/dist/react/ClientSideSuspense.d.ts +0 -36
  211. package/dist/react/ClientSideSuspense.js +0 -17
  212. package/dist/react/DefaultFallback.d.ts +0 -24
  213. package/dist/react/DefaultFallback.js +0 -43
  214. package/dist/react/context.d.ts +0 -55
  215. package/dist/react/context.js +0 -29
  216. package/dist/react/createAbloReact.d.ts +0 -56
  217. package/dist/react/createAbloReact.js +0 -51
  218. package/dist/react/index.d.ts +0 -62
  219. package/dist/react/index.js +0 -69
  220. package/dist/react/internalContext.d.ts +0 -33
  221. package/dist/react/internalContext.js +0 -3
  222. package/dist/react/useAblo.d.ts +0 -82
  223. package/dist/react/useAblo.js +0 -120
  224. package/dist/react/useCurrentUserId.d.ts +0 -22
  225. package/dist/react/useCurrentUserId.js +0 -34
  226. package/dist/react/useErrorListener.d.ts +0 -20
  227. package/dist/react/useErrorListener.js +0 -38
  228. package/dist/react/useMutationFailureListener.d.ts +0 -26
  229. package/dist/react/useMutationFailureListener.js +0 -38
  230. package/dist/react/useMutators.d.ts +0 -56
  231. package/dist/react/useMutators.js +0 -84
  232. package/dist/react/useReactive.d.ts +0 -35
  233. package/dist/react/useReactive.js +0 -123
  234. package/dist/react/useSyncStatus.d.ts +0 -59
  235. package/dist/react/useSyncStatus.js +0 -76
  236. package/dist/react/useUndoScope.d.ts +0 -34
  237. package/dist/react/useUndoScope.js +0 -81
  238. package/dist/schema/coordination.d.ts +0 -112
  239. package/dist/schema/coordination.js +0 -133
  240. package/dist/schema/ddl.d.ts +0 -97
  241. package/dist/schema/ddl.js +0 -491
  242. package/dist/schema/ddlLock.d.ts +0 -35
  243. package/dist/schema/ddlLock.js +0 -46
  244. package/dist/schema/diff.d.ts +0 -225
  245. package/dist/schema/diff.js +0 -289
  246. package/dist/schema/generate.d.ts +0 -19
  247. package/dist/schema/generate.js +0 -86
  248. package/dist/schema/index.d.ts +0 -42
  249. package/dist/schema/index.js +0 -80
  250. package/dist/schema/queries.d.ts +0 -201
  251. package/dist/schema/queries.js +0 -144
  252. package/dist/schema/select.d.ts +0 -40
  253. package/dist/schema/select.js +0 -90
  254. package/dist/schema/serialize.d.ts +0 -115
  255. package/dist/schema/serialize.js +0 -265
  256. package/dist/schema/sugar.d.ts +0 -109
  257. package/dist/schema/sugar.js +0 -83
  258. package/dist/schema/syncDeltaRow.d.ts +0 -6
  259. package/dist/schema/syncDeltaRow.js +0 -6
  260. package/dist/server/adapter.d.ts +0 -173
  261. package/dist/server/adapter.js +0 -18
  262. package/dist/server/commit.d.ts +0 -107
  263. package/dist/server/commit.js +0 -1
  264. package/dist/server/index.d.ts +0 -14
  265. package/dist/server/index.js +0 -2
  266. package/dist/server/readConfig.d.ts +0 -80
  267. package/dist/server/readConfig.js +0 -8
  268. package/dist/server/storageMode.d.ts +0 -23
  269. package/dist/server/storageMode.js +0 -17
  270. package/dist/source/adapter.d.ts +0 -83
  271. package/dist/source/adapter.js +0 -24
  272. package/dist/source/adapters/drizzle.d.ts +0 -48
  273. package/dist/source/adapters/drizzle.js +0 -219
  274. package/dist/source/adapters/kysely.d.ts +0 -42
  275. package/dist/source/adapters/kysely.js +0 -205
  276. package/dist/source/adapters/kyselyMutationCore.d.ts +0 -76
  277. package/dist/source/adapters/kyselyMutationCore.js +0 -125
  278. package/dist/source/adapters/memory.d.ts +0 -13
  279. package/dist/source/adapters/memory.js +0 -130
  280. package/dist/source/adapters/prisma.d.ts +0 -63
  281. package/dist/source/adapters/prisma.js +0 -202
  282. package/dist/source/conformance.d.ts +0 -37
  283. package/dist/source/conformance.js +0 -215
  284. package/dist/source/connector.d.ts +0 -95
  285. package/dist/source/connector.js +0 -266
  286. package/dist/source/connectorProtocol.d.ts +0 -154
  287. package/dist/source/connectorProtocol.js +0 -163
  288. package/dist/source/contract.d.ts +0 -195
  289. package/dist/source/contract.js +0 -164
  290. package/dist/source/factory.d.ts +0 -92
  291. package/dist/source/factory.js +0 -286
  292. package/dist/source/idempotency.d.ts +0 -61
  293. package/dist/source/idempotency.js +0 -144
  294. package/dist/source/index.d.ts +0 -23
  295. package/dist/source/index.js +0 -30
  296. package/dist/source/migrations.d.ts +0 -21
  297. package/dist/source/migrations.js +0 -103
  298. package/dist/source/next.d.ts +0 -32
  299. package/dist/source/next.js +0 -25
  300. package/dist/source/pushQueue.d.ts +0 -134
  301. package/dist/source/pushQueue.js +0 -256
  302. package/dist/source/signing.d.ts +0 -92
  303. package/dist/source/signing.js +0 -162
  304. package/dist/source/types.d.ts +0 -401
  305. package/dist/source/types.js +0 -59
  306. package/dist/storeContract.d.ts +0 -145
  307. package/dist/storeContract.js +0 -12
  308. package/dist/stores/DatabaseManager.d.ts +0 -107
  309. package/dist/stores/DatabaseManager.js +0 -388
  310. package/dist/stores/ObjectStore.d.ts +0 -115
  311. package/dist/stores/ObjectStore.js +0 -393
  312. package/dist/stores/ObjectStoreContract.d.ts +0 -38
  313. package/dist/stores/ObjectStoreContract.js +0 -1
  314. package/dist/stores/StoreManager.d.ts +0 -114
  315. package/dist/stores/StoreManager.js +0 -304
  316. package/dist/stores/SyncActionStore.d.ts +0 -99
  317. package/dist/stores/SyncActionStore.js +0 -506
  318. package/dist/stores/openIDBWithTimeout.d.ts +0 -65
  319. package/dist/stores/openIDBWithTimeout.js +0 -153
  320. package/dist/stores/syncAction.d.ts +0 -26
  321. package/dist/stores/syncAction.js +0 -16
  322. package/dist/surface.d.ts +0 -36
  323. package/dist/surface.js +0 -75
  324. package/dist/sync/BootstrapFetcher.d.ts +0 -284
  325. package/dist/sync/BootstrapFetcher.js +0 -964
  326. package/dist/sync/ConnectionManager.d.ts +0 -8
  327. package/dist/sync/ConnectionManager.js +0 -8
  328. package/dist/sync/OnDemandLoader.d.ts +0 -231
  329. package/dist/sync/OnDemandLoader.js +0 -743
  330. package/dist/sync/SubscriptionManager.d.ts +0 -159
  331. package/dist/sync/SubscriptionManager.js +0 -243
  332. package/dist/sync/SyncWebSocket.d.ts +0 -173
  333. package/dist/sync/SyncWebSocket.js +0 -438
  334. package/dist/sync/awaitClaimGrant.d.ts +0 -6
  335. package/dist/sync/awaitClaimGrant.js +0 -6
  336. package/dist/sync/bootstrapApply.d.ts +0 -73
  337. package/dist/sync/bootstrapApply.js +0 -73
  338. package/dist/sync/commitFrames.d.ts +0 -8
  339. package/dist/sync/commitFrames.js +0 -8
  340. package/dist/sync/contextPorts.d.ts +0 -18
  341. package/dist/sync/contextPorts.js +0 -31
  342. package/dist/sync/createClaimStream.d.ts +0 -7
  343. package/dist/sync/createClaimStream.js +0 -7
  344. package/dist/sync/createPresenceStream.d.ts +0 -69
  345. package/dist/sync/createPresenceStream.js +0 -200
  346. package/dist/sync/createSnapshot.d.ts +0 -29
  347. package/dist/sync/createSnapshot.js +0 -118
  348. package/dist/sync/credentialLifecycle.d.ts +0 -7
  349. package/dist/sync/credentialLifecycle.js +0 -7
  350. package/dist/sync/deltaPipeline.d.ts +0 -114
  351. package/dist/sync/deltaPipeline.js +0 -278
  352. package/dist/sync/groupChange.d.ts +0 -116
  353. package/dist/sync/groupChange.js +0 -244
  354. package/dist/sync/participants.d.ts +0 -132
  355. package/dist/sync/participants.js +0 -346
  356. package/dist/sync/persistedPrefix.d.ts +0 -12
  357. package/dist/sync/persistedPrefix.js +0 -22
  358. package/dist/sync/schemaDrift.d.ts +0 -55
  359. package/dist/sync/schemaDrift.js +0 -53
  360. package/dist/sync/schemas.d.ts +0 -71
  361. package/dist/sync/schemas.js +0 -94
  362. package/dist/sync/syncCursor.d.ts +0 -40
  363. package/dist/sync/syncCursor.js +0 -55
  364. package/dist/sync/syncPlan.d.ts +0 -54
  365. package/dist/sync/syncPlan.js +0 -50
  366. package/dist/sync/wsFrameHandlers.d.ts +0 -8
  367. package/dist/sync/wsFrameHandlers.js +0 -8
  368. package/dist/syncLog/contract.d.ts +0 -20
  369. package/dist/syncLog/contract.js +0 -19
  370. package/dist/syncLog/index.d.ts +0 -1
  371. package/dist/syncLog/index.js +0 -1
  372. package/dist/transaction/ablo.d.ts +0 -88
  373. package/dist/transaction/ablo.js +0 -33
  374. package/dist/transaction/auth/apiKey.d.ts +0 -152
  375. package/dist/transaction/auth/apiKey.js +0 -419
  376. package/dist/transaction/auth/bootstrapScope.d.ts +0 -15
  377. package/dist/transaction/auth/bootstrapScope.js +0 -1
  378. package/dist/transaction/auth/capability.d.ts +0 -212
  379. package/dist/transaction/auth/capability.js +0 -224
  380. package/dist/transaction/auth/credentialEndpoint.d.ts +0 -61
  381. package/dist/transaction/auth/credentialEndpoint.js +0 -86
  382. package/dist/transaction/auth/credentialPolicy.d.ts +0 -148
  383. package/dist/transaction/auth/credentialPolicy.js +0 -125
  384. package/dist/transaction/auth/credentialSource.d.ts +0 -30
  385. package/dist/transaction/auth/credentialSource.js +0 -55
  386. package/dist/transaction/auth/hostedEndpoints.d.ts +0 -21
  387. package/dist/transaction/auth/hostedEndpoints.js +0 -21
  388. package/dist/transaction/auth/identity.d.ts +0 -55
  389. package/dist/transaction/auth/identity.js +0 -210
  390. package/dist/transaction/auth/index.d.ts +0 -162
  391. package/dist/transaction/auth/index.js +0 -304
  392. package/dist/transaction/auth/schemas.d.ts +0 -59
  393. package/dist/transaction/auth/schemas.js +0 -85
  394. package/dist/transaction/auth/sessionMint.d.ts +0 -28
  395. package/dist/transaction/auth/sessionMint.js +0 -85
  396. package/dist/transaction/coordination/awaitClaimGrant.d.ts +0 -56
  397. package/dist/transaction/coordination/awaitClaimGrant.js +0 -124
  398. package/dist/transaction/coordination/claimHeartbeatLoop.d.ts +0 -84
  399. package/dist/transaction/coordination/claimHeartbeatLoop.js +0 -108
  400. package/dist/transaction/coordination/claimMeta.d.ts +0 -49
  401. package/dist/transaction/coordination/claimMeta.js +0 -52
  402. package/dist/transaction/coordination/createClaimStream.d.ts +0 -64
  403. package/dist/transaction/coordination/createClaimStream.js +0 -475
  404. package/dist/transaction/coordination/events.d.ts +0 -74
  405. package/dist/transaction/coordination/events.js +0 -7
  406. package/dist/transaction/coordination/index.d.ts +0 -19
  407. package/dist/transaction/coordination/index.js +0 -45
  408. package/dist/transaction/coordination/locator.d.ts +0 -104
  409. package/dist/transaction/coordination/locator.js +0 -102
  410. package/dist/transaction/coordination/schema.d.ts +0 -1536
  411. package/dist/transaction/coordination/schema.js +0 -1177
  412. package/dist/transaction/coordination/targetConflict.d.ts +0 -2
  413. package/dist/transaction/coordination/targetConflict.js +0 -107
  414. package/dist/transaction/coordination/trace.d.ts +0 -78
  415. package/dist/transaction/coordination/trace.js +0 -138
  416. package/dist/transaction/durableWrites.d.ts +0 -62
  417. package/dist/transaction/durableWrites.js +0 -71
  418. package/dist/transaction/environment.d.ts +0 -105
  419. package/dist/transaction/environment.js +0 -108
  420. package/dist/transaction/errorCodes.d.ts +0 -403
  421. package/dist/transaction/errorCodes.js +0 -484
  422. package/dist/transaction/errors.d.ts +0 -428
  423. package/dist/transaction/errors.js +0 -686
  424. package/dist/transaction/footprint.d.ts +0 -111
  425. package/dist/transaction/footprint.js +0 -0
  426. package/dist/transaction/index.d.ts +0 -20
  427. package/dist/transaction/index.js +0 -20
  428. package/dist/transaction/keys/index.d.ts +0 -87
  429. package/dist/transaction/keys/index.js +0 -207
  430. package/dist/transaction/log/syncDeltaRow.d.ts +0 -158
  431. package/dist/transaction/log/syncDeltaRow.js +0 -95
  432. package/dist/transaction/logPosition.d.ts +0 -97
  433. package/dist/transaction/logPosition.js +0 -125
  434. package/dist/transaction/logger.d.ts +0 -16
  435. package/dist/transaction/logger.js +0 -7
  436. package/dist/transaction/observability.d.ts +0 -53
  437. package/dist/transaction/observability.js +0 -19
  438. package/dist/transaction/persistence.d.ts +0 -12
  439. package/dist/transaction/persistence.js +0 -11
  440. package/dist/transaction/plugin.d.ts +0 -285
  441. package/dist/transaction/plugin.js +0 -106
  442. package/dist/transaction/policy/types.d.ts +0 -217
  443. package/dist/transaction/policy/types.js +0 -126
  444. package/dist/transaction/resources/functionalUpdate.d.ts +0 -79
  445. package/dist/transaction/resources/functionalUpdate.js +0 -87
  446. package/dist/transaction/resources/httpResources.d.ts +0 -321
  447. package/dist/transaction/resources/httpResources.js +0 -7
  448. package/dist/transaction/resources/modelOperations.d.ts +0 -427
  449. package/dist/transaction/resources/modelOperations.js +0 -12
  450. package/dist/transaction/resources/mutationOptions.d.ts +0 -66
  451. package/dist/transaction/resources/mutationOptions.js +0 -9
  452. package/dist/transaction/resources/where.d.ts +0 -101
  453. package/dist/transaction/resources/where.js +0 -115
  454. package/dist/transaction/resources/writeOptionsSchema.d.ts +0 -47
  455. package/dist/transaction/resources/writeOptionsSchema.js +0 -73
  456. package/dist/transaction/schema/field.d.ts +0 -120
  457. package/dist/transaction/schema/field.js +0 -265
  458. package/dist/transaction/schema/fieldRef.d.ts +0 -38
  459. package/dist/transaction/schema/fieldRef.js +0 -11
  460. package/dist/transaction/schema/loadStrategy.d.ts +0 -45
  461. package/dist/transaction/schema/loadStrategy.js +0 -46
  462. package/dist/transaction/schema/model.d.ts +0 -379
  463. package/dist/transaction/schema/model.js +0 -123
  464. package/dist/transaction/schema/openapi.d.ts +0 -58
  465. package/dist/transaction/schema/openapi.js +0 -501
  466. package/dist/transaction/schema/relation.d.ts +0 -204
  467. package/dist/transaction/schema/relation.js +0 -104
  468. package/dist/transaction/schema/residency.d.ts +0 -29
  469. package/dist/transaction/schema/residency.js +0 -25
  470. package/dist/transaction/schema/roles.d.ts +0 -249
  471. package/dist/transaction/schema/roles.js +0 -230
  472. package/dist/transaction/schema/schema.d.ts +0 -351
  473. package/dist/transaction/schema/schema.js +0 -325
  474. package/dist/transaction/schema/tenancy.d.ts +0 -139
  475. package/dist/transaction/schema/tenancy.js +0 -190
  476. package/dist/transaction/transactionLayer.d.ts +0 -82
  477. package/dist/transaction/transactionLayer.js +0 -24
  478. package/dist/transaction/transactions/settlement/commitEnvelope.d.ts +0 -143
  479. package/dist/transaction/transactions/settlement/commitEnvelope.js +0 -161
  480. package/dist/transaction/transactions/settlement/httpCommitEnvelope.d.ts +0 -53
  481. package/dist/transaction/transactions/settlement/httpCommitEnvelope.js +0 -207
  482. package/dist/transaction/transactions/settlement/idempotencyKey.d.ts +0 -10
  483. package/dist/transaction/transactions/settlement/idempotencyKey.js +0 -9
  484. package/dist/transaction/transactions/settlement/pendingWrite.d.ts +0 -112
  485. package/dist/transaction/transactions/settlement/pendingWrite.js +0 -20
  486. package/dist/transaction/transport/commitFrames.d.ts +0 -90
  487. package/dist/transaction/transport/commitFrames.js +0 -134
  488. package/dist/transaction/transport/connectionManager.d.ts +0 -215
  489. package/dist/transaction/transport/connectionManager.js +0 -673
  490. package/dist/transaction/transport/credentialLifecycle.d.ts +0 -177
  491. package/dist/transaction/transport/credentialLifecycle.js +0 -324
  492. package/dist/transaction/transport/heartbeat.d.ts +0 -65
  493. package/dist/transaction/transport/heartbeat.js +0 -93
  494. package/dist/transaction/transport/httpClient.d.ts +0 -131
  495. package/dist/transaction/transport/httpClient.js +0 -146
  496. package/dist/transaction/transport/httpOptions.d.ts +0 -33
  497. package/dist/transaction/transport/httpOptions.js +0 -12
  498. package/dist/transaction/transport/httpTransport.d.ts +0 -8
  499. package/dist/transaction/transport/httpTransport.js +0 -1388
  500. package/dist/transaction/transport/networkProbe.d.ts +0 -84
  501. package/dist/transaction/transport/networkProbe.js +0 -207
  502. package/dist/transaction/transport/wsFrameHandlers.d.ts +0 -128
  503. package/dist/transaction/transport/wsFrameHandlers.js +0 -429
  504. package/dist/transaction/transport/wsTransport.d.ts +0 -574
  505. package/dist/transaction/transport/wsTransport.js +0 -1023
  506. package/dist/transaction/types/assertExact.d.ts +0 -17
  507. package/dist/transaction/types/assertExact.js +0 -1
  508. package/dist/transaction/types/global.d.ts +0 -107
  509. package/dist/transaction/types/global.js +0 -40
  510. package/dist/transaction/types/index.d.ts +0 -205
  511. package/dist/transaction/types/index.js +0 -56
  512. package/dist/transaction/types/modelData.d.ts +0 -10
  513. package/dist/transaction/types/modelData.js +0 -9
  514. package/dist/transaction/types/participant.d.ts +0 -20
  515. package/dist/transaction/types/participant.js +0 -10
  516. package/dist/transaction/types/streams.d.ts +0 -550
  517. package/dist/transaction/types/streams.js +0 -11
  518. package/dist/transaction/utils/asyncIterator.d.ts +0 -34
  519. package/dist/transaction/utils/asyncIterator.js +0 -135
  520. package/dist/transaction/utils/duration.d.ts +0 -50
  521. package/dist/transaction/utils/duration.js +0 -77
  522. package/dist/transaction/utils/json.d.ts +0 -57
  523. package/dist/transaction/utils/json.js +0 -276
  524. package/dist/transaction/wire/accountResponses.d.ts +0 -420
  525. package/dist/transaction/wire/accountResponses.js +0 -290
  526. package/dist/transaction/wire/auth.d.ts +0 -56
  527. package/dist/transaction/wire/auth.js +0 -63
  528. package/dist/transaction/wire/bootstrapReason.d.ts +0 -9
  529. package/dist/transaction/wire/bootstrapReason.js +0 -8
  530. package/dist/transaction/wire/claimEvent.d.ts +0 -76
  531. package/dist/transaction/wire/claimEvent.js +0 -73
  532. package/dist/transaction/wire/claims.d.ts +0 -530
  533. package/dist/transaction/wire/claims.js +0 -327
  534. package/dist/transaction/wire/commit.d.ts +0 -603
  535. package/dist/transaction/wire/commit.js +0 -321
  536. package/dist/transaction/wire/delta.d.ts +0 -250
  537. package/dist/transaction/wire/delta.js +0 -147
  538. package/dist/transaction/wire/errorEnvelope.d.ts +0 -72
  539. package/dist/transaction/wire/errorEnvelope.js +0 -123
  540. package/dist/transaction/wire/feedCursor.d.ts +0 -60
  541. package/dist/transaction/wire/feedCursor.js +0 -82
  542. package/dist/transaction/wire/feedEvent.d.ts +0 -204
  543. package/dist/transaction/wire/feedEvent.js +0 -65
  544. package/dist/transaction/wire/frames.d.ts +0 -194
  545. package/dist/transaction/wire/frames.js +0 -50
  546. package/dist/transaction/wire/inboundFrames.d.ts +0 -562
  547. package/dist/transaction/wire/inboundFrames.js +0 -116
  548. package/dist/transaction/wire/index.d.ts +0 -54
  549. package/dist/transaction/wire/index.js +0 -83
  550. package/dist/transaction/wire/listEnvelope.d.ts +0 -37
  551. package/dist/transaction/wire/listEnvelope.js +0 -42
  552. package/dist/transaction/wire/modelMutations.d.ts +0 -31
  553. package/dist/transaction/wire/modelMutations.js +0 -52
  554. package/dist/transaction/wire/modelResponses.d.ts +0 -85
  555. package/dist/transaction/wire/modelResponses.js +0 -43
  556. package/dist/transaction/wire/modelShape.d.ts +0 -78
  557. package/dist/transaction/wire/modelShape.js +0 -74
  558. package/dist/transaction/wire/protocol.d.ts +0 -38
  559. package/dist/transaction/wire/protocol.js +0 -38
  560. package/dist/transaction/wire/protocolVersion.d.ts +0 -73
  561. package/dist/transaction/wire/protocolVersion.js +0 -83
  562. package/dist/transactions/mutations/MutationQueue.d.ts +0 -661
  563. package/dist/transactions/mutations/MutationQueue.js +0 -2807
  564. package/dist/transactions/mutations/MutationStore.d.ts +0 -20
  565. package/dist/transactions/mutations/MutationStore.js +0 -53
  566. package/dist/transactions/mutations/UnconfirmedWrites.d.ts +0 -82
  567. package/dist/transactions/mutations/UnconfirmedWrites.js +0 -104
  568. package/dist/transactions/mutations/coalesceRules.d.ts +0 -58
  569. package/dist/transactions/mutations/coalesceRules.js +0 -140
  570. package/dist/transactions/mutations/commitLatency.d.ts +0 -52
  571. package/dist/transactions/mutations/commitLatency.js +0 -130
  572. package/dist/transactions/mutations/commitOutboxStore.d.ts +0 -28
  573. package/dist/transactions/mutations/commitOutboxStore.js +0 -26
  574. package/dist/transactions/mutations/commitPayload.d.ts +0 -165
  575. package/dist/transactions/mutations/commitPayload.js +0 -152
  576. package/dist/transactions/mutations/deltaConfirmation.d.ts +0 -63
  577. package/dist/transactions/mutations/deltaConfirmation.js +0 -235
  578. package/dist/transactions/mutations/durableWriteStore.d.ts +0 -14
  579. package/dist/transactions/mutations/durableWriteStore.js +0 -12
  580. package/dist/transactions/mutations/optimisticApply.d.ts +0 -49
  581. package/dist/transactions/mutations/optimisticApply.js +0 -65
  582. package/dist/transactions/mutations/replayValidation.d.ts +0 -187
  583. package/dist/transactions/mutations/replayValidation.js +0 -164
  584. package/dist/utils/mobxSetup.d.ts +0 -53
  585. package/dist/utils/mobxSetup.js +0 -330
  586. package/dist/views/QueryView.d.ts +0 -79
  587. package/dist/views/QueryView.js +0 -218
  588. package/dist/views/ViewRegistry.d.ts +0 -20
  589. package/dist/views/ViewRegistry.js +0 -55
  590. package/dist/views/incrementalView.d.ts +0 -45
  591. package/dist/views/incrementalView.js +0 -69
  592. package/dist/webhooks/events.d.ts +0 -43
  593. package/dist/webhooks/events.js +0 -42
  594. package/dist/webhooks/index.d.ts +0 -8
  595. package/dist/webhooks/index.js +0 -8
  596. package/dist/wire/index.d.ts +0 -1
  597. package/dist/wire/index.js +0 -8
@@ -1,428 +0,0 @@
1
- /**
2
- * The typed error hierarchy for this package. Every error the SDK throws is an
3
- * {@link AbloError} or one of its subclasses, so a consumer can catch broadly or
4
- * narrowly. There are two equivalent ways to tell errors apart:
5
- *
6
- * ```ts
7
- * // By class, with instanceof
8
- * if (err instanceof AbloRateLimitError) backoff(err.retryAfterSeconds);
9
- *
10
- * // By discriminator string, for cases where class identity is lost —
11
- * // for example after an error crosses a web worker boundary
12
- * if (err.type === 'AbloRateLimitError') { ... }
13
- * ```
14
- *
15
- * Both work on every subclass.
16
- */
17
- import { z } from 'zod';
18
- import type { ErrorCode } from './errorCodes.js';
19
- import { type WireClaimSummary, type ModelClaim, type ModelTarget, type ParticipantKind } from './coordination/schema.js';
20
- export type { ErrorCode, WireErrorCode, ErrorCategory, ErrorCodeSpec, RecoveryClass } from './errorCodes.js';
21
- export { ERROR_CODES, ERROR_CONTRACT_VERSION, errorCodeSpec, isRetryableCode, classifyRecovery, recoveryClassSchema, RECOVERY_CLASSES, } from './errorCodes.js';
22
- /**
23
- * The base class for every error this SDK throws. It carries the fields common
24
- * to all of them — a {@link type} discriminator, an optional stable {@link code},
25
- * and optional HTTP and diagnostic metadata — and defines the shared JSON and
26
- * string serialization. Every other error class extends it.
27
- */
28
- export declare class AbloError extends Error {
29
- /** A discriminator string equal to the class name. Switch on `error.type` to
30
- * distinguish error kinds when `instanceof` is unreliable, such as after an
31
- * error has crossed a serialization boundary. */
32
- readonly type: string;
33
- /** A stable, machine-readable identifier for the error, drawn from the
34
- * {@link ErrorCode} registry — for example `'apikey_invalid'` or
35
- * `'capability_scope_denied'` — suitable for logs, metrics, and `switch`
36
- * handling. It is typed as a plain `string` rather than {@link ErrorCode} so
37
- * this client can still surface a code from a newer server that it does not
38
- * yet recognize; code producers are constrained at the constructor instead. */
39
- readonly code?: string;
40
- /** HTTP status code, when the error originated from an HTTP response. */
41
- readonly httpStatus?: number;
42
- /** A correlation id for tracing a request through the server, present when the
43
- * server returned one on the `x-request-id` header. Include it in support
44
- * requests. */
45
- readonly requestId?: string;
46
- /** The specific input that caused the error, as a model or field path such as
47
- * `'dataroomMember.grants.subject'`, so tooling can point at the exact
48
- * offending value. */
49
- readonly param?: string;
50
- /** A link to the documentation for this error's {@link code}. When not set
51
- * explicitly, it is derived from the code by {@link docUrlForCode}. */
52
- readonly docUrl?: string;
53
- /** Extra structured data specific to this error, merged into the serialized
54
- * envelope — for example a schema push's `{ warnings, unexecutable }`, or the
55
- * conflicting rows of a stale write. This detail is preserved through
56
- * {@link toJSON} rather than flattened into the message. */
57
- readonly details?: Readonly<Record<string, unknown>>;
58
- constructor(message: string, options?: {
59
- code?: ErrorCode;
60
- httpStatus?: number;
61
- requestId?: string;
62
- cause?: unknown;
63
- param?: string;
64
- docUrl?: string;
65
- details?: Readonly<Record<string, unknown>>;
66
- });
67
- /**
68
- * Serializes the error to its wire shape: `{ type, code, param, message,
69
- * doc_url, request_id }`, with any {@link details} merged in. This is the same
70
- * JSON shape the SDK uses across HTTP bodies, WebSocket frames, and logs, so a
71
- * consumer parses every Ablo error the same way.
72
- */
73
- toJSON(): {
74
- type: string;
75
- code?: string;
76
- param?: string;
77
- message: string;
78
- doc_url?: string;
79
- request_id?: string;
80
- [key: string]: unknown;
81
- };
82
- /**
83
- * Formats the error as a single line for logs and string interpolation:
84
- * `AbloValidationError [code]: message (see docs) [request_id: …]`.
85
- *
86
- * It intentionally omits {@link details}, the cause, and the stack, which are
87
- * what turn a logged rich error into an unreadable wall of text. The full
88
- * structured payload remains available through {@link toJSON}; this is the
89
- * concise human-readable form.
90
- */
91
- toString(): string;
92
- }
93
- /**
94
- * Builds the documentation URL for a stable error {@link ErrorCode}. This is the
95
- * single place the URL convention lives, so every error that carries a code gets
96
- * a `doc_url` automatically.
97
- */
98
- export declare function docUrlForCode(code: ErrorCode): string;
99
- /** 401 — invalid/missing/expired credentials. */
100
- export declare class AbloAuthenticationError extends AbloError {
101
- readonly type: "AbloAuthenticationError";
102
- }
103
- /** 403 — credentials were valid but the action is forbidden (scope
104
- * denial, revoked capability, role not authorized). */
105
- export declare class AbloPermissionError extends AbloError {
106
- readonly type: "AbloPermissionError";
107
- }
108
- /** 429 — rate limit exceeded. Consumers should back off before retry. */
109
- export declare class AbloRateLimitError extends AbloError {
110
- readonly type: "AbloRateLimitError";
111
- readonly retryAfterSeconds?: number;
112
- constructor(message: string, options?: {
113
- code?: ErrorCode;
114
- httpStatus?: number;
115
- requestId?: string;
116
- cause?: unknown;
117
- retryAfterSeconds?: number;
118
- details?: Readonly<Record<string, unknown>>;
119
- });
120
- }
121
- /** 409 — same `Idempotency-Key` reused with a different request body. */
122
- export declare class AbloIdempotencyError extends AbloError {
123
- readonly type: "AbloIdempotencyError";
124
- }
125
- /** Network / transport failure — TCP reset, DNS, timeout, abort. */
126
- export declare class AbloConnectionError extends AbloError {
127
- readonly type: "AbloConnectionError";
128
- }
129
- /** 400 / 422 — request payload was invalid. */
130
- export declare class AbloValidationError extends AbloError {
131
- readonly type: "AbloValidationError";
132
- }
133
- /**
134
- * An update or delete addressed a row that does not exist, or lies outside the
135
- * caller's organization (HTTP 404). Raw commit responses may report those
136
- * targets as `missingIds`; typed model methods raise this error instead of
137
- * returning a successful result for a write that quietly matched zero rows.
138
- * The absent ids are carried on {@link missingIds}.
139
- */
140
- export declare class AbloNotFoundError extends AbloError {
141
- readonly type: "AbloNotFoundError";
142
- /** The id(s) that matched no row. */
143
- readonly missingIds: readonly string[];
144
- constructor(message: string, missingIds: readonly string[], options?: {
145
- requestId?: string;
146
- });
147
- }
148
- /** 5xx — server-side error. Usually retryable with backoff. */
149
- export declare class AbloServerError extends AbloError {
150
- readonly type: "AbloServerError";
151
- }
152
- /**
153
- * A write carried a `readAt` watermark, but the target row has changed since
154
- * that point (HTTP 409). The snapshot the caller reasoned from is stale, so the
155
- * safe response is to re-read the row and regenerate the write.
156
- *
157
- * {@link conflicts} lists the specific model-and-id pairs that changed during
158
- * the window between the read and the write, which lets a caller regenerate only
159
- * the rows that actually moved rather than everything.
160
- */
161
- export declare class AbloStaleContextError extends AbloError {
162
- readonly type: "AbloStaleContextError";
163
- /** Sync id at the caller's `readAt` when the write was attempted. */
164
- readonly readAt?: number;
165
- /** Entities that received deltas between `readAt` and the write. */
166
- readonly conflicts?: readonly {
167
- readonly model: string;
168
- readonly id: string;
169
- readonly observedSyncId: number;
170
- }[];
171
- constructor(message: string, options?: {
172
- code?: ErrorCode;
173
- httpStatus?: number;
174
- requestId?: string;
175
- cause?: unknown;
176
- readAt?: number;
177
- conflicts?: readonly {
178
- readonly model: string;
179
- readonly id: string;
180
- readonly observedSyncId: number;
181
- }[];
182
- });
183
- }
184
- /**
185
- * The functional `update(id, current => next)` form gave up after exhausting its
186
- * reconcile budget, because the row stayed continuously contended under
187
- * sustained concurrent writes and no attempt could land its compare-and-swap.
188
- *
189
- * The SDK reaches this only at the extreme: it has already re-read, recomputed,
190
- * and retried on every intervening conflict on the caller's behalf. Catch it to
191
- * back off and retry later, raise the `retries` budget, or move the row to the
192
- * WebSocket transport, which queues writers fairly instead of racing them. The
193
- * last underlying conflict is available on `cause`.
194
- */
195
- export declare class AbloContentionError extends AbloError {
196
- readonly type: "AbloContentionError";
197
- /** The contended model + row that could not be written. */
198
- readonly model: string;
199
- readonly id: string;
200
- /** How many reconcile rounds were attempted before giving up. */
201
- readonly attempts: number;
202
- constructor(model: string, id: string, attempts: number, options?: {
203
- cause?: unknown;
204
- });
205
- }
206
- export interface ClaimContext {
207
- readonly id?: string;
208
- readonly claimId?: string;
209
- readonly actor?: string;
210
- readonly participantKind?: ParticipantKind;
211
- /** Human-readable phase the holder is in (`'editing'`). */
212
- readonly reason?: string;
213
- readonly description?: string;
214
- readonly field?: string;
215
- readonly status?: string;
216
- readonly position?: number;
217
- /** The epoch-milliseconds timestamp at which the claim expires. */
218
- readonly expiresAt?: number;
219
- readonly declaredAt?: number;
220
- readonly entityType?: string;
221
- readonly entityId?: string;
222
- readonly target?: Partial<ModelTarget>;
223
- readonly meta?: Record<string, unknown>;
224
- }
225
- export type ClaimErrorClaim = WireClaimSummary | ClaimContext;
226
- export declare function formatClaimedErrorMessage(args: {
227
- readonly targetLabel: string;
228
- readonly heldBy?: string;
229
- readonly claim?: ClaimErrorClaim;
230
- readonly policyReason?: string;
231
- readonly fallback?: string;
232
- }): string;
233
- /**
234
- * The target entity is currently claimed by another participant and the caller
235
- * asked the SDK not to read/write through that claim.
236
- *
237
- * Pass `ifClaimed: 'return'` to inspect active claims yourself instead of
238
- * throwing; to wait for the claim to clear, take `ablo.<model>.claim({ id })`
239
- * (it queues fairly) rather than blocking the read.
240
- */
241
- export declare class AbloClaimedError extends AbloError {
242
- readonly type: "AbloClaimedError";
243
- readonly claims?: readonly ClaimErrorClaim[];
244
- constructor(message: string, options?: {
245
- code?: ErrorCode;
246
- httpStatus?: number;
247
- requestId?: string;
248
- cause?: unknown;
249
- claims?: readonly ClaimErrorClaim[];
250
- });
251
- }
252
- /**
253
- * Builds a human-readable label for a claim target by joining its `model`, `id`,
254
- * and `field` with `/`, omitting any absent parts and falling back to `'target'`
255
- * when none are present.
256
- */
257
- export declare function claimTargetLabel(target: {
258
- readonly model?: string;
259
- readonly id?: string;
260
- readonly field?: string;
261
- }): string;
262
- /**
263
- * Builds the {@link AbloClaimedError} for a write that was rejected because the
264
- * row is claimed. The first entry in `claims` is treated as the current holder,
265
- * and its metadata shapes the error message.
266
- */
267
- export declare function claimedError(target: {
268
- readonly model?: string;
269
- readonly id?: string;
270
- readonly field?: string;
271
- }, claims: readonly ModelClaim[], code: 'model_claimed' | 'model_claimed_timeout' | 'queue_too_deep'): AbloClaimedError;
272
- /**
273
- * A structured description of the capability that would be needed to satisfy a
274
- * denied request. The server emits enough detail for the client to request, or
275
- * narrow an existing capability into, one that would pass on retry.
276
- */
277
- export interface RequiredCapability {
278
- /** The operation or capability scope, for example `"report.update"` or
279
- * `"subscribe"`. */
280
- readonly scope: string;
281
- /** The concrete constraints the capability must satisfy — for example
282
- * `{ syncGroup: ["org_abc"] }` for a rejected subscription. Treat unknown
283
- * keys as forward-compatible additions and ignore them. */
284
- readonly constraints?: Readonly<Record<string, readonly string[] | string>>;
285
- /** A hint at the issuer — a public-key fingerprint or well-known URL
286
- * fragment. */
287
- readonly issuer?: string;
288
- /** The maximum lifetime, in seconds, the server suggests for the narrowed
289
- * capability. */
290
- readonly ttlSeconds?: number;
291
- /** A single-use value to embed in the retried request's capability, which
292
- * ties the retry to this specific denial and prevents replaying an old
293
- * capability. */
294
- readonly nonce?: string;
295
- }
296
- /**
297
- * A scoped credential was denied, either because the key is unknown, revoked, or
298
- * expired (`capability_invalid`), or because the connection's scope does not
299
- * cover the attempted action (`capability_scope_denied`). For restricted (`rk_`)
300
- * API keys this is a server-side check against the key's granted sync groups and
301
- * operations.
302
- *
303
- * It extends {@link AbloPermissionError}, so it is caught both by code that
304
- * specifically checks for `CapabilityError` and by code that only distinguishes
305
- * the broader permission category. When present, {@link requiredCapability}
306
- * describes the scope a key would need to carry for the request to succeed on
307
- * retry.
308
- */
309
- export declare class CapabilityError extends AbloPermissionError {
310
- readonly requiredCapability?: RequiredCapability;
311
- constructor(code: 'capability_scope_denied' | 'capability_invalid', message: string, requiredCapability?: RequiredCapability);
312
- }
313
- /**
314
- * Thrown when the login session itself is invalid or expired, signaling that the
315
- * user should be sent to sign in again rather than offered a generic retry.
316
- *
317
- * It extends {@link AbloAuthenticationError}, so it is caught both by code using
318
- * the {@link AbloSessionError.isSessionError} check and by code that catches the
319
- * authentication category in general.
320
- */
321
- export declare class AbloSessionError extends AbloAuthenticationError {
322
- readonly isSessionError = true;
323
- readonly statusCode: number;
324
- constructor(message: string, statusCode?: number);
325
- /**
326
- * Returns true when a value is a {@link AbloSessionError}, or any error-like
327
- * object that reports itself as a session error through an `isSessionError`
328
- * flag.
329
- */
330
- static isSessionError(error: unknown): error is AbloSessionError;
331
- /**
332
- * Determines whether an HTTP response means the login session has expired and
333
- * the user should sign in again. When the body carries a structured Ablo error
334
- * code, the decision is made from that code's recovery class; otherwise a bare
335
- * 401 is treated as an expiry and a 403 is not.
336
- */
337
- static isSessionErrorResponse(status: number, body?: string): boolean;
338
- }
339
- /**
340
- * @deprecated Renamed to {@link AbloSessionError} — the one engine-named class
341
- * in the Ablo* hierarchy, brought in line with the family. Same class, same
342
- * `instanceof` identity. Removed in 0.36.0.
343
- */
344
- export declare const SyncSessionError: typeof AbloSessionError;
345
- /**
346
- * @deprecated Renamed to {@link AbloSessionError}. Removed in 0.36.0.
347
- */
348
- export type SyncSessionError = AbloSessionError;
349
- /**
350
- * The WebSocket-close counterpart to {@link AbloSessionError.isSessionErrorResponse}:
351
- * returns true for close reasons that mean the short-lived access credential
352
- * (`ek_` or `rk_`) has expired. The server closes such sockets with code 4001
353
- * and reason `'credential_expired'`. Because the credential is re-mintable from
354
- * the still-valid login, the connection layer re-mints it and reconnects rather
355
- * than signing the user out or clearing local data. Every other session close
356
- * reason, such as a revoked key or a genuinely lost login, stays terminal.
357
- */
358
- export declare function isAccessCredentialExpiryCloseReason(reason: string): boolean;
359
- /**
360
- * The one definition of the {@link RequiredCapability} wire shape. Every
361
- * boundary that carries a denial's capability detail — the error body parsed
362
- * here, and the rejected commit receipt in `wire/commit.ts` — composes this
363
- * schema rather than restating the fields, so a new member cannot reach one
364
- * boundary and miss the other.
365
- *
366
- * Unknown keys pass through: the server may describe a capability in more
367
- * detail than this build knows, and dropping those keys would leave a caller
368
- * unable to act on a denial it could otherwise satisfy.
369
- */
370
- export declare const requiredCapabilityWireSchema: z.ZodObject<{
371
- scope: z.ZodString;
372
- constraints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodString]>>>;
373
- issuer: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
374
- ttlSeconds: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
375
- nonce: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
376
- }, z.core.$loose>;
377
- /**
378
- * Coerces any thrown value into an {@link AbloError}, so a consumer never catches
379
- * an untyped error from the SDK. An error that is already an {@link AbloError}
380
- * passes through unchanged, preserving its subclass, `code`, and `httpStatus`; a
381
- * plain `Error` keeps its message and is retained as the `cause` (carrying any
382
- * `code` attached to it); anything else is stringified.
383
- *
384
- * The SDK applies this at its public async boundaries so that `instanceof
385
- * AbloError` and `error.type` hold for whatever a consumer catches, no matter
386
- * which internal layer — transport, local storage, bootstrap, or a third-party
387
- * throw — produced the original error.
388
- */
389
- export declare function toAbloError(err: unknown): AbloError;
390
- /**
391
- * Builds the appropriate typed {@link AbloError} from a wire error. This is the
392
- * single code-to-class mapping shared by every transport that can reject a
393
- * request — HTTP responses through {@link translateHttpError}, WebSocket result
394
- * frames, and agent-job receipts.
395
- *
396
- * It decides by code first, then by status. Because a known {@link ErrorCode}
397
- * carries its canonical HTTP status in the registry, a transport that has no
398
- * status of its own (such as the WebSocket commit path) still produces the right
399
- * subclass, with its `code`, status, and retryability intact.
400
- */
401
- export declare function errorFromWire(message: string, opts?: {
402
- code?: string;
403
- /** Explicit transport status (HTTP). When omitted, derived from the
404
- * registry spec for `code` so frame transports map correctly too. */
405
- httpStatus?: number;
406
- requestId?: string;
407
- requiredCapability?: RequiredCapability;
408
- claims?: readonly ClaimErrorClaim[];
409
- /** Everything the producer attached beyond the envelope's own fields. */
410
- details?: Readonly<Record<string, unknown>>;
411
- }): AbloError;
412
- export declare function translateHttpError(status: number, body: unknown, requestId?: string): AbloError;
413
- /**
414
- * Reports whether an HTTP error body carries a code that {@link translateHttpError}
415
- * can read — a top-level `code`, a nested `error.code`, or a string `error`. A
416
- * caller that has a meaningful fallback code uses this to choose between routing
417
- * a structured body through {@link translateHttpError} and throwing its own typed
418
- * error with the fallback when the body is bare, rather than producing an error
419
- * with no code.
420
- */
421
- export declare function hasWireCode(body: unknown): boolean;
422
- /**
423
- * Extracts the canonical error `code` from a raw HTTP error body string — the
424
- * top-level `code` or a nested `error.code` — returning `undefined` for a
425
- * non-JSON or code-less body. Session-error detection uses it to tell a genuine
426
- * session expiry apart from other authentication failures.
427
- */
428
- export declare function extractWireCode(body?: string): string | undefined;