@abloatai/ablo 0.36.0 → 0.37.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 (597) hide show
  1. package/AGENTS.md +2 -2
  2. package/CHANGELOG.md +71 -2013
  3. package/NOTICE +2 -2
  4. package/README.md +25 -71
  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,54 +0,0 @@
1
- /**
2
- * The wire contract for the sync protocol: the HTTP envelope shapes and the
3
- * write-path frames, with no dependency on the client runtime. A server — a
4
- * route handler, an edge function — can import the envelope producers here
5
- * without pulling in the full sync client.
6
- *
7
- * It has two halves, used across every endpoint:
8
- * - Error responses — {@link errorEnvelope}, {@link ErrorEnvelope}, and
9
- * {@link statusForType} turn any thrown value into the uniform
10
- * `{ type, code, param, message, doc_url, request_id }` body.
11
- * - List responses — {@link listEnvelope} and {@link ListEnvelope} stamp the
12
- * uniform `{ object: 'list', data, has_more, next_cursor }` collection.
13
- *
14
- * The {@link AbloError} hierarchy, {@link docUrlForCode}, and the wire-parsing
15
- * helpers are re-exported too, so a single import lets a route throw the right
16
- * typed error and serialize it back out.
17
- */
18
- export { errorEnvelopeSchema, errorEnvelope, statusForType, INTERNAL_ERROR_PUBLIC_MESSAGE, } from './errorEnvelope.js';
19
- export type { ErrorEnvelope } from './errorEnvelope.js';
20
- export { listEnvelopeSchema, listEnvelope } from './listEnvelope.js';
21
- export type { ListEnvelope } from './listEnvelope.js';
22
- export { claimEventSchema } from './claimEvent.js';
23
- export type { ClaimEvent } from './claimEvent.js';
24
- export { feedEventSchema, logListResponseSchema, logQuerySchema, } from './feedEvent.js';
25
- export type { FeedEvent, LogListResponse, LogQuery } from './feedEvent.js';
26
- export { feedCursorSchema, parseFeedCursor, formatFeedCursor, feedCursorAdvanced, FEED_CURSOR_START, FEED_CURSOR_FORMAT, FEED_CURSOR_EXAMPLE, } from './feedCursor.js';
27
- export type { FeedCursor } from './feedCursor.js';
28
- export { bootstrapReasonSchema } from './bootstrapReason.js';
29
- export type { BootstrapReason } from './bootstrapReason.js';
30
- export { commitOperationSchema, wireCommitOperationSchema, commitPayloadSchema, commitMessageSchema, } from './frames.js';
31
- export { PROTOCOL_VERSION, MIN_SUPPORTED_PROTOCOL_VERSION, DEFAULT_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, WS_CLOSE_PROTOCOL_VERSION, PROTOCOL_VERSION_HEADER, protocolVersionProblem, resolveProtocolVersion, } from './protocolVersion.js';
32
- export type { SupportedProtocolVersion, ProtocolVersionProblem, } from './protocolVersion.js';
33
- export type { CommitOperation, WireCommitOperation, CommitMessage, MutationResultMessage, } from './frames.js';
34
- export { COMMIT_CORRELATION_ID_MAX_LENGTH, correlationIdSchema, commitStatusSchema, commitWaitSchema, commitSettlementSchema, commitReceiptSchema, rejectedCommitReceiptSchema, mutationResultPayloadSchema, mutationResultMessageSchema, commitAckSchema, mutationCommitResultSchema, commitOperationControlShape, commitOperationBodySchema, commitRequestSchema, } from './commit.js';
35
- export type { CommitOperationBody, CommitRequest, CorrelationId, CommitStatus, CommitWait, CommitSettlement, CommitReceiptWire, RejectedCommitReceiptWire, MutationResultPayload, MutationResultMessageWire, CommitAck, MutationCommitResultInput, MutationCommitResult, } from './commit.js';
36
- export { participantKindSchema, confirmationStateSchema, syncDeltaActionSchema, wireDeltaDataSchema, participantRefSchema, syncDeltaWireCoreSchema, clientSyncDeltaSchema, serverSyncDeltaSchema, deltaSchema, } from './delta.js';
37
- export type { ParticipantKind, ConfirmationState, SyncDeltaAction, WireDeltaData, ParticipantRef, SyncDeltaWireCore, ClientSyncDelta, ServerSyncDelta, Delta, } from './delta.js';
38
- export { AbloError, AbloAuthenticationError, AbloPermissionError, AbloValidationError, AbloRateLimitError, AbloIdempotencyError, AbloConnectionError, AbloNotFoundError, AbloServerError, AbloStaleContextError, AbloContentionError, AbloClaimedError, CapabilityError, AbloSessionError, SyncSessionError, docUrlForCode, translateHttpError, errorFromWire, toAbloError, ERROR_CONTRACT_VERSION, errorCodeSpec, } from '../errors.js';
39
- export type { ErrorCode, WireErrorCode, RequiredCapability } from '../errors.js';
40
- export { PING_INTERVAL_MS, LEASE_TTL_MS, WS_BEARER_SUBPROTOCOL_PREFIX, WS_SYNC_SUBPROTOCOL, } from './protocol.js';
41
- export { DEFAULT_CLAIM_TTL_MS, claimTtlSchema, claimTtlMs, claimTargetSchema, claimRequestSchema, claimHeartbeatRequestSchema, listQuerySchema, claimListQuerySchema, claimStateSchema, claimAcquiredResponseSchema, claimQueuedResponseSchema, claimAcquireResponseSchema, claimHeartbeatReplySchema, claimHeartbeatBatchReplySchema, claimListResponseSchema, claimReorderRequestSchema, claimReorderReplySchema, claimReleaseReplySchema, } from './claims.js';
42
- export type { ClaimTargetBody, ClaimRequest, ClaimHeartbeatRequest, ListQuery, ClaimListQuery, ClaimState, ClaimAcquiredResponse, ClaimQueuedResponse, ClaimAcquireResponse, ClaimHeartbeatReply, ClaimHeartbeatBatchReply, ClaimListResponse, ClaimReorderRequest, ClaimReorderReply, ClaimReleaseReply, } from './claims.js';
43
- export { modelReadResponseSchema, modelListResponseSchema, } from './modelResponses.js';
44
- export type { ModelReadResponse, ModelListResponse } from './modelResponses.js';
45
- export { fieldTypeSchema, fieldMetaSchema, relationTypeSchema, relationMetaSchema, } from './modelShape.js';
46
- export type { FieldType, FieldMeta, RelationType, RelationMeta, } from './modelShape.js';
47
- export { modelMutationRequestSchema } from './modelMutations.js';
48
- export type { ModelMutationRequest } from './modelMutations.js';
49
- export { projectResponseSchema, projectListResponseSchema, provisionedKeySchema, provisionKeyResponseSchema, conflictAxisWireSchema, schemaModelResponseSchema, schemaReadResponseSchema, logOpSchema, LOG_OP_BY_ACTION, logEventSchema, usageBucketSchema, usageReportResponseSchema, controlKeySchema, controlKeyListResponseSchema, keyMintedResponseSchema, keyRevokedResponseSchema, } from './accountResponses.js';
50
- export type { ProjectResponse, ProjectListResponse, ProvisionedKey, ProvisionKeyResponse, SchemaModelResponse, SchemaReadResponse, LogOp, LogEvent, UsageBucket, UsageReportResponse, ControlKey, ControlKeyListResponse, KeyMintedResponse, KeyRevokedResponse, } from './accountResponses.js';
51
- export { WS_INBOUND_FRAMES, wsInboundEnvelopeSchema, isKnownInboundFrame, isSchemaValidatedFrame, } from './inboundFrames.js';
52
- export type { InboundFrameContract, InboundFrameType, InboundFramePayload, SchemaValidatedFrameType, WsInboundEnvelope, } from './inboundFrames.js';
53
- export { ephemeralKeyUserSchema, ephemeralKeyRequestSchema, capabilityRequestSchema, capabilityMintResponseSchema, } from './auth.js';
54
- export type { EphemeralKeyUser, EphemeralKeyRequest, CapabilityRequest, CapabilityMintResponse, } from './auth.js';
@@ -1,83 +0,0 @@
1
- /**
2
- * The wire contract for the sync protocol: the HTTP envelope shapes and the
3
- * write-path frames, with no dependency on the client runtime. A server — a
4
- * route handler, an edge function — can import the envelope producers here
5
- * without pulling in the full sync client.
6
- *
7
- * It has two halves, used across every endpoint:
8
- * - Error responses — {@link errorEnvelope}, {@link ErrorEnvelope}, and
9
- * {@link statusForType} turn any thrown value into the uniform
10
- * `{ type, code, param, message, doc_url, request_id }` body.
11
- * - List responses — {@link listEnvelope} and {@link ListEnvelope} stamp the
12
- * uniform `{ object: 'list', data, has_more, next_cursor }` collection.
13
- *
14
- * The {@link AbloError} hierarchy, {@link docUrlForCode}, and the wire-parsing
15
- * helpers are re-exported too, so a single import lets a route throw the right
16
- * typed error and serialize it back out.
17
- */
18
- export { errorEnvelopeSchema, errorEnvelope, statusForType, INTERNAL_ERROR_PUBLIC_MESSAGE, } from './errorEnvelope.js';
19
- export { listEnvelopeSchema, listEnvelope } from './listEnvelope.js';
20
- // The `GET /v1/logs` feed — the two arms, their envelope, and the cursor that
21
- // carries a position in each.
22
- export { claimEventSchema } from './claimEvent.js';
23
- export { feedEventSchema, logListResponseSchema, logQuerySchema, } from './feedEvent.js';
24
- export { feedCursorSchema, parseFeedCursor, formatFeedCursor, feedCursorAdvanced, FEED_CURSOR_START, FEED_CURSOR_FORMAT, FEED_CURSOR_EXAMPLE, } from './feedCursor.js';
25
- export { bootstrapReasonSchema } from './bootstrapReason.js';
26
- // The write-path frame contract: the message shapes shared by the client and
27
- // the server. The runtime Zod validators sit beside the interfaces and are
28
- // pinned to them, and they gate every operation and payload on both commit
29
- // transports.
30
- export { commitOperationSchema, wireCommitOperationSchema, commitPayloadSchema, commitMessageSchema, } from './frames.js';
31
- // Protocol versioning: the single integer the client and server compare to
32
- // confirm they can speak to each other, plus the WebSocket close code used to
33
- // reject a mismatch. See protocolVersion.ts for the changelog and deploy rules.
34
- export { PROTOCOL_VERSION, MIN_SUPPORTED_PROTOCOL_VERSION, DEFAULT_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, WS_CLOSE_PROTOCOL_VERSION, PROTOCOL_VERSION_HEADER, protocolVersionProblem, resolveProtocolVersion, } from './protocolVersion.js';
35
- // Commit settlement backbone. The transport receipt, server execution cache,
36
- // and normalized client acknowledgement are different envelopes composed from
37
- // this one discriminated settlement vocabulary.
38
- export { COMMIT_CORRELATION_ID_MAX_LENGTH, correlationIdSchema, commitStatusSchema, commitWaitSchema, commitSettlementSchema, commitReceiptSchema, rejectedCommitReceiptSchema, mutationResultPayloadSchema, mutationResultMessageSchema, commitAckSchema, mutationCommitResultSchema,
39
- // The request side of the same boundary — one definition, which the published
40
- // OpenAPI reference derives from rather than describing separately.
41
- commitOperationControlShape, commitOperationBodySchema, commitRequestSchema, } from './commit.js';
42
- // The read-path delta contract: the shape the server broadcasts to clients as the
43
- // payload of a `delta` or `sync_response` frame, together with the shared
44
- // participant vocabulary it carries. Both ends derive their delta type from these
45
- // schemas, so the client and server cannot drift apart.
46
- export { participantKindSchema, confirmationStateSchema, syncDeltaActionSchema, wireDeltaDataSchema, participantRefSchema, syncDeltaWireCoreSchema, clientSyncDeltaSchema, serverSyncDeltaSchema, deltaSchema, } from './delta.js';
47
- // The error surface a wire consumer needs to throw, classify, and serialize.
48
- export { AbloError, AbloAuthenticationError, AbloPermissionError, AbloValidationError, AbloRateLimitError, AbloIdempotencyError, AbloConnectionError, AbloNotFoundError, AbloServerError, AbloStaleContextError, AbloContentionError, AbloClaimedError, CapabilityError, AbloSessionError, SyncSessionError, docUrlForCode, translateHttpError, errorFromWire, toAbloError, ERROR_CONTRACT_VERSION,
49
- // The table mapping each error code to its HTTP status and retryable flag —
50
- // plain data a server can use to resolve a code's canonical status the same
51
- // way the client's error serializer does.
52
- errorCodeSpec, } from '../errors.js';
53
- // Protocol timing constants — the 30-second ping cadence and the lease window
54
- // derived from it, shared by the client heartbeat and the server keepalive,
55
- // claim leasing, and presence expiry (see protocol.ts) — plus the WebSocket
56
- // subprotocols used during the authenticated handshake.
57
- export { PING_INTERVAL_MS, LEASE_TTL_MS, WS_BEARER_SUBPROTOCOL_PREFIX, WS_SYNC_SUBPROTOCOL, } from './protocol.js';
58
- // The claim routes' half of the boundary — requests and responses both, beside
59
- // the commit body for the same reason: the server answers in these shapes, the
60
- // client reads them back through the same schemas, and the OpenAPI reference
61
- // derives from them rather than describing them from memory.
62
- export {
63
- // The lease grammar and its one reading. The server parses TTLs with
64
- // `claimTtlMs` rather than carrying a second parser — which is how a bare
65
- // number came to mean seconds on one side and milliseconds on the other.
66
- DEFAULT_CLAIM_TTL_MS, claimTtlSchema, claimTtlMs, claimTargetSchema, claimRequestSchema, claimHeartbeatRequestSchema, listQuerySchema, claimListQuerySchema, claimStateSchema, claimAcquiredResponseSchema, claimQueuedResponseSchema, claimAcquireResponseSchema, claimHeartbeatReplySchema, claimHeartbeatBatchReplySchema, claimListResponseSchema, claimReorderRequestSchema, claimReorderReplySchema, claimReleaseReplySchema, } from './claims.js';
67
- // The model read routes' responses — the envelope around a row, which is
68
- // protocol, around `data`, which is the caller's schema.
69
- export { modelReadResponseSchema, modelListResponseSchema, } from './modelResponses.js';
70
- // What a model is made of — the artifact's own field and relation shapes, which
71
- // the schema read reports and every other layer derives its types from.
72
- export { fieldTypeSchema, fieldMetaSchema, relationTypeSchema, relationMetaSchema, } from './modelShape.js';
73
- // The model write routes' body — the record in `data`, the guards beside it.
74
- export { modelMutationRequestSchema } from './modelMutations.js';
75
- // The account routes' responses — projects, the deployed schema, the commit
76
- // log, usage. What the server, the CLI, and the MCP server agree on.
77
- export { projectResponseSchema, projectListResponseSchema, provisionedKeySchema, provisionKeyResponseSchema, conflictAxisWireSchema, schemaModelResponseSchema, schemaReadResponseSchema, logOpSchema, LOG_OP_BY_ACTION, logEventSchema, usageBucketSchema, usageReportResponseSchema, controlKeySchema, controlKeyListResponseSchema, keyMintedResponseSchema, keyRevokedResponseSchema, } from './accountResponses.js';
78
- // The inbound socket surface: every frame the server can send, and how each
79
- // one's payload is validated.
80
- export { WS_INBOUND_FRAMES, wsInboundEnvelopeSchema, isKnownInboundFrame, isSchemaValidatedFrame, } from './inboundFrames.js';
81
- // Credential minting — the first call any caller makes, so the contract cannot
82
- // omit it. Response side lives in `auth/schemas.ts`.
83
- export { ephemeralKeyUserSchema, ephemeralKeyRequestSchema, capabilityRequestSchema, capabilityMintResponseSchema, } from './auth.js';
@@ -1,37 +0,0 @@
1
- /**
2
- * The envelope every endpoint that returns a collection wraps its results in.
3
- * Because the shape is always the same — `{ object: 'list', data, has_more,
4
- * next_cursor }` — a consumer can detect and paginate any list the same way,
5
- * instead of learning a different payload key for each endpoint.
6
- *
7
- * The list endpoints emit this shape and the {@link listEnvelope} helper
8
- * produces it, so every list across the API reads from one definition. The
9
- * generic type parameter carries the row type of `data`.
10
- */
11
- import { z } from 'zod';
12
- /**
13
- * Builds the authoritative list-envelope schema for a row schema. Keeping the
14
- * item validator generic lets every endpoint share the same envelope contract
15
- * without weakening `data` to `unknown[]`.
16
- */
17
- export declare function listEnvelopeSchema<T>(itemSchema: z.ZodType<T>): z.ZodObject<{
18
- object: z.ZodLiteral<"list">;
19
- data: z.ZodReadonly<z.ZodArray<z.ZodType<T, unknown, z.core.$ZodTypeInternals<T, unknown>>>>;
20
- has_more: z.ZodBoolean;
21
- next_cursor: z.ZodNullable<z.ZodString>;
22
- }, z.core.$strip>;
23
- export type ListEnvelope<T> = Readonly<z.infer<ReturnType<typeof listEnvelopeSchema<T>>>>;
24
- /**
25
- * Wraps an already-fetched page of rows in the uniform {@link ListEnvelope}.
26
- *
27
- * Pagination stays the caller's job — fetch one more row than the limit to
28
- * decide `hasMore`, and derive the cursor from the last row's sort key. This
29
- * helper only applies the envelope so no endpoint has to build the shape by
30
- * hand. The defaults describe a small, unpaginated collection
31
- * (`has_more: false`, `next_cursor: null`); a paginated endpoint passes both
32
- * explicitly.
33
- */
34
- export declare function listEnvelope<T>(data: readonly T[], opts?: {
35
- hasMore?: boolean;
36
- nextCursor?: string | null;
37
- }): ListEnvelope<T>;
@@ -1,42 +0,0 @@
1
- /**
2
- * The envelope every endpoint that returns a collection wraps its results in.
3
- * Because the shape is always the same — `{ object: 'list', data, has_more,
4
- * next_cursor }` — a consumer can detect and paginate any list the same way,
5
- * instead of learning a different payload key for each endpoint.
6
- *
7
- * The list endpoints emit this shape and the {@link listEnvelope} helper
8
- * produces it, so every list across the API reads from one definition. The
9
- * generic type parameter carries the row type of `data`.
10
- */
11
- import { z } from 'zod';
12
- /**
13
- * Builds the authoritative list-envelope schema for a row schema. Keeping the
14
- * item validator generic lets every endpoint share the same envelope contract
15
- * without weakening `data` to `unknown[]`.
16
- */
17
- export function listEnvelopeSchema(itemSchema) {
18
- return z.object({
19
- object: z.literal('list'),
20
- data: z.array(itemSchema).readonly(),
21
- has_more: z.boolean(),
22
- next_cursor: z.string().nullable(),
23
- });
24
- }
25
- /**
26
- * Wraps an already-fetched page of rows in the uniform {@link ListEnvelope}.
27
- *
28
- * Pagination stays the caller's job — fetch one more row than the limit to
29
- * decide `hasMore`, and derive the cursor from the last row's sort key. This
30
- * helper only applies the envelope so no endpoint has to build the shape by
31
- * hand. The defaults describe a small, unpaginated collection
32
- * (`has_more: false`, `next_cursor: null`); a paginated endpoint passes both
33
- * explicitly.
34
- */
35
- export function listEnvelope(data, opts = {}) {
36
- return {
37
- object: 'list',
38
- data,
39
- has_more: opts.hasMore ?? false,
40
- next_cursor: opts.nextCursor ?? null,
41
- };
42
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * The body of a model-scoped write — `POST /v1/models/{model}`,
3
- * `PATCH /v1/models/{model}/{id}`, `DELETE /v1/models/{model}/{id}`.
4
- *
5
- * The record travels in `data`, and everything else is a control field beside
6
- * it rather than inside it. That separation is the point: a row with a column
7
- * called `claim` or `readAt` is not a reason for a write to stop being guarded,
8
- * and a flat body would make the two indistinguishable.
9
- *
10
- * This lived in `routes/commit.ts` and the published reference described these
11
- * routes as taking a bare row — so a client built from the document sent the
12
- * record flat, and every field of it went missing at once. The failure surfaced
13
- * as `not_null_violation` from the column, which reads as a schema problem
14
- * rather than an envelope one. One definition, derived, is what stops that:
15
- * the server validates against this and the reference is generated from it.
16
- */
17
- import { z } from 'zod';
18
- export declare const modelMutationRequestSchema: z.ZodObject<{
19
- data: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
20
- id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
- claim: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
- onStale: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
23
- reject: "reject";
24
- overwrite: "overwrite";
25
- notify: "notify";
26
- }>>>;
27
- readAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
- fenceToken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
29
- idempotencyKey: z.ZodOptional<z.ZodString>;
30
- }, z.core.$strip>;
31
- export type ModelMutationRequest = z.infer<typeof modelMutationRequestSchema>;
@@ -1,52 +0,0 @@
1
- /**
2
- * The body of a model-scoped write — `POST /v1/models/{model}`,
3
- * `PATCH /v1/models/{model}/{id}`, `DELETE /v1/models/{model}/{id}`.
4
- *
5
- * The record travels in `data`, and everything else is a control field beside
6
- * it rather than inside it. That separation is the point: a row with a column
7
- * called `claim` or `readAt` is not a reason for a write to stop being guarded,
8
- * and a flat body would make the two indistinguishable.
9
- *
10
- * This lived in `routes/commit.ts` and the published reference described these
11
- * routes as taking a bare row — so a client built from the document sent the
12
- * record flat, and every field of it went missing at once. The failure surfaced
13
- * as `not_null_violation` from the column, which reads as a schema problem
14
- * rather than an envelope one. One definition, derived, is what stops that:
15
- * the server validates against this and the reference is generated from it.
16
- */
17
- import { z } from 'zod';
18
- import { onStaleModeSchema } from '../coordination/schema.js';
19
- export const modelMutationRequestSchema = z.object({
20
- /** The record. Its shape is your schema's; everything around it is protocol. */
21
- data: z.record(z.string(), z.unknown()).nullish(),
22
- /**
23
- * The row id.
24
- *
25
- * On `POST` this is where it comes from, and it is **yours to choose** —
26
- * Ablo mints none. Derive it as UUID v5 of `"<model>:<Idempotency-Key>"` in
27
- * namespace `aa4ba6d4-bf0b-5b38-9c45-116f79a6e548` and a retry after a lost
28
- * response inserts the same id, colliding with the original rather than
29
- * writing a second row — with no server state to consult, so it holds across
30
- * instances and outlives any idempotency record.
31
- *
32
- * On `PATCH` and `DELETE` the path names the row and this is redundant.
33
- */
34
- id: z.string().nullish(),
35
- /** The claim this write is made under — a claim id you hold. */
36
- claim: z.string().nullish(),
37
- /** What to do when the row moved since `readAt`. Defaults to rejecting. */
38
- onStale: onStaleModeSchema.nullish(),
39
- /**
40
- * The watermark this write's decision was made against — the `stamp` from
41
- * the read. Ablo rejects the write if the row moved in between, which is
42
- * what makes read → decide → write safe without a lock across the deciding.
43
- */
44
- readAt: z.number().nullish(),
45
- /**
46
- * The fencing token from the claim's grant. Closes the window `readAt` alone
47
- * cannot: a lease that lapsed and whose successor came and went.
48
- */
49
- fenceToken: z.number().nullish(),
50
- /** @compat HTTP idempotency belongs in the `Idempotency-Key` header. */
51
- idempotencyKey: z.string().optional(),
52
- });
@@ -1,85 +0,0 @@
1
- /**
2
- * What the model read routes answer with — `GET /v1/models/{model}/{id}` and
3
- * `GET /v1/models/{model}`.
4
- *
5
- * `data` is `unknown` here on purpose. The transport that reads these responses
6
- * is schema-agnostic: it moves rows for whatever schema the caller declared, so
7
- * it validates the envelope around a row and leaves the row itself to the typed
8
- * surface above it. Everything outside `data` — the watermark, the claims, the
9
- * pagination — is protocol, and protocol is validated here.
10
- */
11
- import { z } from 'zod';
12
- /**
13
- * `GET /v1/models/{model}/{id}`.
14
- *
15
- * `stamp` is the row's watermark: the log position the read reflects. A write
16
- * that guards on this premise (`readAt`) is rejected if the row moved on in
17
- * between, which is what makes a read→decide→write sequence safe without a
18
- * lock. A missing row answers 404, so `data` is always present here.
19
- */
20
- export declare const modelReadResponseSchema: z.ZodObject<{
21
- object: z.ZodLiteral<"model">;
22
- model: z.ZodString;
23
- id: z.ZodString;
24
- data: z.ZodUnknown;
25
- stamp: z.ZodNumber;
26
- claims: z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
27
- id: z.ZodString;
28
- actor: z.ZodString;
29
- participantKind: z.ZodPreprocess<z.ZodEnum<{
30
- user: "user";
31
- agent: "agent";
32
- system: "system";
33
- }>>;
34
- onBehalfOfId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
- onBehalfOfKind: z.ZodOptional<z.ZodNullable<z.ZodPreprocess<z.ZodEnum<{
36
- user: "user";
37
- agent: "agent";
38
- system: "system";
39
- }>>>>;
40
- capabilityId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
- description: z.ZodOptional<z.ZodString>;
42
- status: z.ZodOptional<z.ZodEnum<{
43
- active: "active";
44
- queued: "queued";
45
- }>>;
46
- position: z.ZodOptional<z.ZodNumber>;
47
- expiresAt: z.ZodNumber;
48
- fenceToken: z.ZodOptional<z.ZodNumber>;
49
- target: z.ZodReadonly<z.ZodObject<{
50
- model: z.ZodString;
51
- id: z.ZodString;
52
- path: z.ZodOptional<z.ZodString>;
53
- range: z.ZodOptional<z.ZodObject<{
54
- startLine: z.ZodNumber;
55
- endLine: z.ZodNumber;
56
- startColumn: z.ZodOptional<z.ZodNumber>;
57
- endColumn: z.ZodOptional<z.ZodNumber>;
58
- }, z.core.$strip>>;
59
- field: z.ZodOptional<z.ZodString>;
60
- fields: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
61
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
62
- }, z.core.$strip>>;
63
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
64
- field: z.ZodOptional<z.ZodString>;
65
- }, z.core.$strip>>>>;
66
- }, z.core.$strip>;
67
- export type ModelReadResponse = z.infer<typeof modelReadResponseSchema>;
68
- /**
69
- * `GET /v1/models/{model}` — the list envelope, with the two fields the model
70
- * routes add to it: the model's name and the org-wide watermark the page was
71
- * read at.
72
- *
73
- * The envelope is derived, not restated. A schema-agnostic row is `z.unknown()`,
74
- * which the generic helper accepts like any other item schema, so there is no
75
- * layer at which the shared fields have to be spelled a second time.
76
- */
77
- export declare const modelListResponseSchema: z.ZodObject<{
78
- object: z.ZodLiteral<"list">;
79
- data: z.ZodReadonly<z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
80
- has_more: z.ZodBoolean;
81
- next_cursor: z.ZodNullable<z.ZodString>;
82
- model: z.ZodString;
83
- stamp: z.ZodNumber;
84
- }, z.core.$strip>;
85
- export type ModelListResponse = z.infer<typeof modelListResponseSchema>;
@@ -1,43 +0,0 @@
1
- /**
2
- * What the model read routes answer with — `GET /v1/models/{model}/{id}` and
3
- * `GET /v1/models/{model}`.
4
- *
5
- * `data` is `unknown` here on purpose. The transport that reads these responses
6
- * is schema-agnostic: it moves rows for whatever schema the caller declared, so
7
- * it validates the envelope around a row and leaves the row itself to the typed
8
- * surface above it. Everything outside `data` — the watermark, the claims, the
9
- * pagination — is protocol, and protocol is validated here.
10
- */
11
- import { z } from 'zod';
12
- import { modelClaimSchema } from '../coordination/schema.js';
13
- import { listEnvelopeSchema } from './listEnvelope.js';
14
- /**
15
- * `GET /v1/models/{model}/{id}`.
16
- *
17
- * `stamp` is the row's watermark: the log position the read reflects. A write
18
- * that guards on this premise (`readAt`) is rejected if the row moved on in
19
- * between, which is what makes a read→decide→write sequence safe without a
20
- * lock. A missing row answers 404, so `data` is always present here.
21
- */
22
- export const modelReadResponseSchema = z.object({
23
- object: z.literal('model'),
24
- model: z.string(),
25
- id: z.string(),
26
- data: z.unknown(),
27
- stamp: z.number(),
28
- /** Who holds this row right now — empty when no claim store is configured. */
29
- claims: z.array(modelClaimSchema).readonly(),
30
- });
31
- /**
32
- * `GET /v1/models/{model}` — the list envelope, with the two fields the model
33
- * routes add to it: the model's name and the org-wide watermark the page was
34
- * read at.
35
- *
36
- * The envelope is derived, not restated. A schema-agnostic row is `z.unknown()`,
37
- * which the generic helper accepts like any other item schema, so there is no
38
- * layer at which the shared fields have to be spelled a second time.
39
- */
40
- export const modelListResponseSchema = listEnvelopeSchema(z.unknown()).extend({
41
- model: z.string(),
42
- stamp: z.number(),
43
- });
@@ -1,78 +0,0 @@
1
- /**
2
- * What a model is made of — its fields and its edges.
3
- *
4
- * These shapes travel twice: they are what `ablo push` serializes into the
5
- * schema artifact, and what `GET /api/schema` reports back about the artifact
6
- * that is deployed. Two crossings, one definition, and the definition lives
7
- * here because `wire/` is the leaf every other layer may depend on.
8
- *
9
- * They were TypeScript interfaces, so the schema-read route could not send them
10
- * without hand-writing a second copy of the record it was refusing to send — the
11
- * shadow type wearing the fix's clothes. Declared as Zod and derived back into
12
- * TypeScript, there is nowhere for a second copy to live.
13
- *
14
- * **Vocabulary ownership.** `type` is a CLOSED enum: the engine owns the set of
15
- * types it can store and serialize, so a value outside it is a bug, not an
16
- * extension. `enumValues` is an OPEN list: the values belong to the application
17
- * that declared them, and the protocol never interprets one.
18
- */
19
- import { z } from 'zod';
20
- /**
21
- * The engine's type vocabulary — closed, and owned by the engine.
22
- *
23
- * Each member maps to storage and serialization behaviour, so this is the whole
24
- * set by construction. A schema's own richer types (a `z.email()`, a branded id)
25
- * narrow one of these; they do not add a member.
26
- */
27
- export declare const fieldTypeSchema: z.ZodEnum<{
28
- string: "string";
29
- number: "number";
30
- boolean: "boolean";
31
- date: "date";
32
- enum: "enum";
33
- json: "json";
34
- }>;
35
- export type FieldType = z.infer<typeof fieldTypeSchema>;
36
- /** One field of a model, as the schema artifact records it. */
37
- export declare const fieldMetaSchema: z.ZodObject<{
38
- type: z.ZodEnum<{
39
- string: "string";
40
- number: "number";
41
- boolean: "boolean";
42
- date: "date";
43
- enum: "enum";
44
- json: "json";
45
- }>;
46
- isOptional: z.ZodBoolean;
47
- isIndexed: z.ZodBoolean;
48
- column: z.ZodOptional<z.ZodString>;
49
- enumValues: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
50
- }, z.core.$strip>;
51
- export type FieldMeta = z.infer<typeof fieldMetaSchema>;
52
- /**
53
- * How one model points at another. Closed, like {@link fieldTypeSchema}: the
54
- * engine resolves exactly these three when it plans a read.
55
- */
56
- export declare const relationTypeSchema: z.ZodEnum<{
57
- belongsTo: "belongsTo";
58
- hasMany: "hasMany";
59
- hasOne: "hasOne";
60
- }>;
61
- export type RelationType = z.infer<typeof relationTypeSchema>;
62
- /**
63
- * One edge of a model — what a caller may expand, and what it expands into.
64
- *
65
- * Reported alongside the fields because half the answer is not an answer: an
66
- * agent asking what a model looks like wants its shape AND its edges, and
67
- * shipping only the scalars invites the second question immediately.
68
- */
69
- export declare const relationMetaSchema: z.ZodObject<{
70
- type: z.ZodEnum<{
71
- belongsTo: "belongsTo";
72
- hasMany: "hasMany";
73
- hasOne: "hasOne";
74
- }>;
75
- target: z.ZodString;
76
- foreignKey: z.ZodString;
77
- }, z.core.$strip>;
78
- export type RelationMeta = z.infer<typeof relationMetaSchema>;
@@ -1,74 +0,0 @@
1
- /**
2
- * What a model is made of — its fields and its edges.
3
- *
4
- * These shapes travel twice: they are what `ablo push` serializes into the
5
- * schema artifact, and what `GET /api/schema` reports back about the artifact
6
- * that is deployed. Two crossings, one definition, and the definition lives
7
- * here because `wire/` is the leaf every other layer may depend on.
8
- *
9
- * They were TypeScript interfaces, so the schema-read route could not send them
10
- * without hand-writing a second copy of the record it was refusing to send — the
11
- * shadow type wearing the fix's clothes. Declared as Zod and derived back into
12
- * TypeScript, there is nowhere for a second copy to live.
13
- *
14
- * **Vocabulary ownership.** `type` is a CLOSED enum: the engine owns the set of
15
- * types it can store and serialize, so a value outside it is a bug, not an
16
- * extension. `enumValues` is an OPEN list: the values belong to the application
17
- * that declared them, and the protocol never interprets one.
18
- */
19
- import { z } from 'zod';
20
- /**
21
- * The engine's type vocabulary — closed, and owned by the engine.
22
- *
23
- * Each member maps to storage and serialization behaviour, so this is the whole
24
- * set by construction. A schema's own richer types (a `z.email()`, a branded id)
25
- * narrow one of these; they do not add a member.
26
- */
27
- export const fieldTypeSchema = z.enum([
28
- 'string',
29
- 'number',
30
- 'boolean',
31
- 'date',
32
- 'enum',
33
- 'json',
34
- ]);
35
- /** One field of a model, as the schema artifact records it. */
36
- export const fieldMetaSchema = z.object({
37
- /** Sync-engine type tag, which maps to storage and serialization hints. */
38
- type: fieldTypeSchema,
39
- /** Whether the field was marked optional via `.optional()` or `.nullable()`. */
40
- isOptional: z.boolean(),
41
- /** Whether the field was marked indexed via `.indexed()`. */
42
- isIndexed: z.boolean(),
43
- /**
44
- * Physical database column name override. When absent, SQL layers derive the
45
- * column from the field name using the active casing convention.
46
- */
47
- column: z.string().optional(),
48
- /**
49
- * For enums: the allowed values.
50
- *
51
- * The application's vocabulary, carried verbatim — an open list, because the
52
- * protocol has no opinion about what a caller's statuses are called.
53
- */
54
- enumValues: z.array(z.string()).readonly().optional(),
55
- });
56
- /**
57
- * How one model points at another. Closed, like {@link fieldTypeSchema}: the
58
- * engine resolves exactly these three when it plans a read.
59
- */
60
- export const relationTypeSchema = z.enum(['belongsTo', 'hasMany', 'hasOne']);
61
- /**
62
- * One edge of a model — what a caller may expand, and what it expands into.
63
- *
64
- * Reported alongside the fields because half the answer is not an answer: an
65
- * agent asking what a model looks like wants its shape AND its edges, and
66
- * shipping only the scalars invites the second question immediately.
67
- */
68
- export const relationMetaSchema = z.object({
69
- type: relationTypeSchema,
70
- /** The schema key of the model on the other end. */
71
- target: z.string(),
72
- /** The field on the owning side that carries the link. */
73
- foreignKey: z.string(),
74
- });
@@ -1,38 +0,0 @@
1
- /**
2
- * The timing constants both sides of the protocol must agree on: the ping
3
- * cadence and the lease window derived from it. Defining them here once keeps
4
- * the client and the server from skewing apart — a change to the ping interval
5
- * that did not also move the lease window would make claim expiry and presence
6
- * timeouts disagree between the two.
7
- *
8
- * {@link PING_INTERVAL_MS} is how often the connection pings to prove it is
9
- * alive. {@link LEASE_TTL_MS} is how long a claim or presence entry stays valid
10
- * without a renewing ping. On the client, these set the heartbeat cadence and
11
- * the fallback expiry for a claim taken without an explicit lease. On the
12
- * server, they set the keepalive interval, the lease granted per keepalive, and
13
- * the presence-entry lifetime, so a silently disconnected client drops off the
14
- * roster within one lease window.
15
- *
16
- * The lease is three ping intervals long and is renewed on every ping, so a
17
- * live holder always has at least two intervals of runway and a silent one
18
- * lapses about two missed pings after it stops renewing. The window measures
19
- * liveness, not how long a task may run: widening the lease without also
20
- * widening the ping makes holders flap, and neither value should be redefined
21
- * anywhere else.
22
- */
23
- export declare const PING_INTERVAL_MS = 30000;
24
- export declare const LEASE_TTL_MS: number;
25
- /**
26
- * The WebSocket subprotocols that carry the bearer credential out of the URL.
27
- *
28
- * A browser cannot set an `Authorization` header on a WebSocket, so the client
29
- * offers the token as a `Sec-WebSocket-Protocol` value — `ablo.bearer.<token>` —
30
- * alongside the real `ablo.sync.v1` protocol the server selects. This keeps the
31
- * credential out of the query string, which access logs, proxies, and browser
32
- * history would otherwise capture. The server reads the token from the
33
- * subprotocol and echoes back only `ablo.sync.v1`, never the token-bearing
34
- * value. Both the client and the server import these constants, so the
35
- * handshake format cannot drift.
36
- */
37
- export declare const WS_BEARER_SUBPROTOCOL_PREFIX = "ablo.bearer.";
38
- export declare const WS_SYNC_SUBPROTOCOL = "ablo.sync.v1";