@abloatai/ablo 0.35.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 (622) hide show
  1. package/AGENTS.md +2 -2
  2. package/CHANGELOG.md +71 -1929
  3. package/NOTICE +2 -2
  4. package/README.md +23 -532
  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 -112
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +3 -161
  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 +2 -2
  59. package/docs/api-keys.md +13 -12
  60. package/docs/api.md +15 -53
  61. package/docs/audit.md +4 -3
  62. package/docs/cli.md +11 -11
  63. package/docs/client-behavior.md +9 -9
  64. package/docs/concurrency-convention.md +28 -42
  65. package/docs/coordination.md +228 -86
  66. package/docs/data-sources.md +5 -5
  67. package/docs/debugging.md +34 -12
  68. package/docs/deployment.md +8 -8
  69. package/docs/examples/agent-human.md +4 -4
  70. package/docs/examples/ai-sdk-tool.md +1 -1
  71. package/docs/examples/existing-python-backend.md +15 -4
  72. package/docs/examples/nextjs.md +27 -6
  73. package/docs/examples/scoped-agent.md +3 -3
  74. package/docs/examples/server-agent.md +2 -2
  75. package/docs/groups.md +57 -3
  76. package/docs/guarantees.md +37 -10
  77. package/docs/how-it-works.md +32 -8
  78. package/docs/idempotency.md +6 -6
  79. package/docs/identity.md +24 -24
  80. package/docs/index.md +8 -8
  81. package/docs/integration-guide.md +38 -16
  82. package/docs/internal/README.md +18 -0
  83. package/docs/internal/agent-fleet-coordination-design.md +171 -0
  84. package/docs/internal/agent-orchestration.md +58 -0
  85. package/docs/internal/commit-identifiers.md +91 -0
  86. package/docs/internal/concurrency-open-decisions.md +37 -0
  87. package/docs/internal/data-source-reverse-channel.md +150 -0
  88. package/docs/internal/per-field-conflict-detection.md +165 -0
  89. package/docs/internal/postgres-replication.md +64 -0
  90. package/docs/internal/serializable-schema.md +119 -0
  91. package/docs/internal/structure.md +32 -0
  92. package/docs/mcp.md +9 -9
  93. package/docs/migration.md +37 -18
  94. package/docs/projects.md +1 -1
  95. package/docs/quickstart.md +2 -2
  96. package/docs/react.md +24 -13
  97. package/docs/schema-contract.md +3 -3
  98. package/docs/sessions.md +91 -37
  99. package/docs/webhooks.md +9 -9
  100. package/examples/README.md +2 -2
  101. package/examples/data-source/README.md +1 -1
  102. package/examples/data-source/ablo-driver.ts +1 -1
  103. package/examples/data-source/customer-server.ts +1 -1
  104. package/examples/data-source/run.ts +1 -1
  105. package/examples/data-source/schema.ts +1 -1
  106. package/examples/quickstart.ts +2 -2
  107. package/llms.txt +12 -12
  108. package/package.json +64 -174
  109. package/dist/BaseSyncedStore.d.ts +0 -823
  110. package/dist/BaseSyncedStore.js +0 -1955
  111. package/dist/Database.d.ts +0 -335
  112. package/dist/Database.js +0 -1500
  113. package/dist/InstanceCache.d.ts +0 -233
  114. package/dist/InstanceCache.js +0 -1164
  115. package/dist/LazyReferenceCollection.d.ts +0 -177
  116. package/dist/LazyReferenceCollection.js +0 -461
  117. package/dist/Model.d.ts +0 -444
  118. package/dist/Model.js +0 -909
  119. package/dist/ModelRegistry.d.ts +0 -221
  120. package/dist/ModelRegistry.js +0 -537
  121. package/dist/NetworkMonitor.d.ts +0 -26
  122. package/dist/NetworkMonitor.js +0 -77
  123. package/dist/RuntimeContext.d.ts +0 -52
  124. package/dist/RuntimeContext.js +0 -80
  125. package/dist/SyncClient.d.ts +0 -551
  126. package/dist/SyncClient.js +0 -2199
  127. package/dist/adapters/alwaysOnline.d.ts +0 -14
  128. package/dist/adapters/alwaysOnline.js +0 -17
  129. package/dist/adapters/inMemoryStorage.d.ts +0 -31
  130. package/dist/adapters/inMemoryStorage.js +0 -110
  131. package/dist/ai-sdk/coordinatedTool.d.ts +0 -120
  132. package/dist/ai-sdk/coordinatedTool.js +0 -134
  133. package/dist/ai-sdk/coordinationContext.d.ts +0 -46
  134. package/dist/ai-sdk/coordinationContext.js +0 -106
  135. package/dist/ai-sdk/index.d.ts +0 -121
  136. package/dist/ai-sdk/index.js +0 -121
  137. package/dist/ai-sdk/wrap.d.ts +0 -65
  138. package/dist/ai-sdk/wrap.js +0 -39
  139. package/dist/auth/index.d.ts +0 -1
  140. package/dist/auth/index.js +0 -8
  141. package/dist/batching/index.d.ts +0 -55
  142. package/dist/batching/index.js +0 -147
  143. package/dist/cli.cjs +0 -288600
  144. package/dist/client/Ablo.d.ts +0 -231
  145. package/dist/client/Ablo.js +0 -149
  146. package/dist/client/abloClient.d.ts +0 -309
  147. package/dist/client/abloClient.js +0 -13
  148. package/dist/client/clientPrelude.d.ts +0 -52
  149. package/dist/client/clientPrelude.js +0 -60
  150. package/dist/client/consoleLogger.d.ts +0 -35
  151. package/dist/client/consoleLogger.js +0 -44
  152. package/dist/client/coreClient.d.ts +0 -60
  153. package/dist/client/coreClient.js +0 -118
  154. package/dist/client/createInternalComponents.d.ts +0 -46
  155. package/dist/client/createInternalComponents.js +0 -92
  156. package/dist/client/createModelProxy.d.ts +0 -228
  157. package/dist/client/createModelProxy.js +0 -818
  158. package/dist/client/humans.d.ts +0 -48
  159. package/dist/client/humans.js +0 -52
  160. package/dist/client/modelRegistration.d.ts +0 -10
  161. package/dist/client/modelRegistration.js +0 -312
  162. package/dist/client/options.d.ts +0 -461
  163. package/dist/client/options.js +0 -7
  164. package/dist/client/reactiveEngine.d.ts +0 -48
  165. package/dist/client/reactiveEngine.js +0 -910
  166. package/dist/client/resourceTypes.d.ts +0 -12
  167. package/dist/client/resourceTypes.js +0 -10
  168. package/dist/client/schemaConfig.d.ts +0 -44
  169. package/dist/client/schemaConfig.js +0 -185
  170. package/dist/client/validateAbloOptions.d.ts +0 -42
  171. package/dist/client/validateAbloOptions.js +0 -43
  172. package/dist/client/wsMutationExecutor.d.ts +0 -27
  173. package/dist/client/wsMutationExecutor.js +0 -72
  174. package/dist/context.d.ts +0 -29
  175. package/dist/context.js +0 -58
  176. package/dist/coordination/ClaimLog.d.ts +0 -26
  177. package/dist/coordination/ClaimLog.js +0 -32
  178. package/dist/coordination/index.d.ts +0 -1
  179. package/dist/coordination/index.js +0 -8
  180. package/dist/core/DatabaseManager.d.ts +0 -105
  181. package/dist/core/DatabaseManager.js +0 -387
  182. package/dist/core/QueryProcessor.d.ts +0 -75
  183. package/dist/core/QueryProcessor.js +0 -255
  184. package/dist/core/QueryView.d.ts +0 -79
  185. package/dist/core/QueryView.js +0 -218
  186. package/dist/core/StoreManager.d.ts +0 -112
  187. package/dist/core/StoreManager.js +0 -302
  188. package/dist/core/ViewRegistry.d.ts +0 -20
  189. package/dist/core/ViewRegistry.js +0 -55
  190. package/dist/core/index.d.ts +0 -33
  191. package/dist/core/index.js +0 -48
  192. package/dist/core/openIDBWithTimeout.d.ts +0 -65
  193. package/dist/core/openIDBWithTimeout.js +0 -153
  194. package/dist/core/queryUtils.d.ts +0 -45
  195. package/dist/core/queryUtils.js +0 -69
  196. package/dist/core/storeContract.d.ts +0 -145
  197. package/dist/core/storeContract.js +0 -12
  198. package/dist/docs/catalog.d.ts +0 -72
  199. package/dist/docs/catalog.js +0 -227
  200. package/dist/docs/index.d.ts +0 -10
  201. package/dist/docs/index.js +0 -10
  202. package/dist/environment.d.ts +0 -1
  203. package/dist/environment.js +0 -8
  204. package/dist/interfaces/index.d.ts +0 -311
  205. package/dist/interfaces/index.js +0 -9
  206. package/dist/keys/index.d.ts +0 -1
  207. package/dist/keys/index.js +0 -8
  208. package/dist/mutators/RecordingMutation.d.ts +0 -36
  209. package/dist/mutators/RecordingMutation.js +0 -182
  210. package/dist/mutators/Transaction.d.ts +0 -40
  211. package/dist/mutators/Transaction.js +0 -58
  212. package/dist/mutators/UndoManager.d.ts +0 -258
  213. package/dist/mutators/UndoManager.js +0 -658
  214. package/dist/mutators/defineMutators.d.ts +0 -60
  215. package/dist/mutators/defineMutators.js +0 -18
  216. package/dist/mutators/inverseOp.d.ts +0 -126
  217. package/dist/mutators/inverseOp.js +0 -71
  218. package/dist/mutators/mutateActions.d.ts +0 -45
  219. package/dist/mutators/mutateActions.js +0 -105
  220. package/dist/mutators/readerActions.d.ts +0 -33
  221. package/dist/mutators/readerActions.js +0 -57
  222. package/dist/mutators/undoApply.d.ts +0 -51
  223. package/dist/mutators/undoApply.js +0 -117
  224. package/dist/policy/index.d.ts +0 -21
  225. package/dist/policy/index.js +0 -20
  226. package/dist/query/client.d.ts +0 -61
  227. package/dist/query/client.js +0 -137
  228. package/dist/query/types.d.ts +0 -85
  229. package/dist/query/types.js +0 -16
  230. package/dist/react/AbloProvider.d.ts +0 -230
  231. package/dist/react/AbloProvider.js +0 -455
  232. package/dist/react/ClientSideSuspense.d.ts +0 -36
  233. package/dist/react/ClientSideSuspense.js +0 -17
  234. package/dist/react/DefaultFallback.d.ts +0 -24
  235. package/dist/react/DefaultFallback.js +0 -43
  236. package/dist/react/context.d.ts +0 -55
  237. package/dist/react/context.js +0 -29
  238. package/dist/react/index.d.ts +0 -61
  239. package/dist/react/index.js +0 -66
  240. package/dist/react/internalContext.d.ts +0 -33
  241. package/dist/react/internalContext.js +0 -3
  242. package/dist/react/useAblo.d.ts +0 -75
  243. package/dist/react/useAblo.js +0 -102
  244. package/dist/react/useCurrentUserId.d.ts +0 -22
  245. package/dist/react/useCurrentUserId.js +0 -34
  246. package/dist/react/useErrorListener.d.ts +0 -20
  247. package/dist/react/useErrorListener.js +0 -38
  248. package/dist/react/useMutationFailureListener.d.ts +0 -26
  249. package/dist/react/useMutationFailureListener.js +0 -38
  250. package/dist/react/useMutators.d.ts +0 -56
  251. package/dist/react/useMutators.js +0 -84
  252. package/dist/react/useReactive.d.ts +0 -35
  253. package/dist/react/useReactive.js +0 -123
  254. package/dist/react/useSyncStatus.d.ts +0 -59
  255. package/dist/react/useSyncStatus.js +0 -76
  256. package/dist/react/useUndoScope.d.ts +0 -34
  257. package/dist/react/useUndoScope.js +0 -81
  258. package/dist/schema/coordination.d.ts +0 -112
  259. package/dist/schema/coordination.js +0 -129
  260. package/dist/schema/ddl.d.ts +0 -97
  261. package/dist/schema/ddl.js +0 -491
  262. package/dist/schema/ddlLock.d.ts +0 -35
  263. package/dist/schema/ddlLock.js +0 -46
  264. package/dist/schema/diff.d.ts +0 -225
  265. package/dist/schema/diff.js +0 -289
  266. package/dist/schema/generate.d.ts +0 -19
  267. package/dist/schema/generate.js +0 -86
  268. package/dist/schema/index.d.ts +0 -41
  269. package/dist/schema/index.js +0 -76
  270. package/dist/schema/queries.d.ts +0 -201
  271. package/dist/schema/queries.js +0 -144
  272. package/dist/schema/select.d.ts +0 -40
  273. package/dist/schema/select.js +0 -87
  274. package/dist/schema/serialize.d.ts +0 -115
  275. package/dist/schema/serialize.js +0 -262
  276. package/dist/schema/sugar.d.ts +0 -109
  277. package/dist/schema/sugar.js +0 -83
  278. package/dist/schema/syncDeltaRow.d.ts +0 -6
  279. package/dist/schema/syncDeltaRow.js +0 -6
  280. package/dist/server/adapter.d.ts +0 -173
  281. package/dist/server/adapter.js +0 -18
  282. package/dist/server/commit.d.ts +0 -107
  283. package/dist/server/commit.js +0 -1
  284. package/dist/server/index.d.ts +0 -14
  285. package/dist/server/index.js +0 -2
  286. package/dist/server/readConfig.d.ts +0 -80
  287. package/dist/server/readConfig.js +0 -8
  288. package/dist/server/storageMode.d.ts +0 -23
  289. package/dist/server/storageMode.js +0 -17
  290. package/dist/source/adapter.d.ts +0 -81
  291. package/dist/source/adapter.js +0 -22
  292. package/dist/source/adapters/drizzle.d.ts +0 -48
  293. package/dist/source/adapters/drizzle.js +0 -219
  294. package/dist/source/adapters/kysely.d.ts +0 -42
  295. package/dist/source/adapters/kysely.js +0 -205
  296. package/dist/source/adapters/kyselyMutationCore.d.ts +0 -76
  297. package/dist/source/adapters/kyselyMutationCore.js +0 -125
  298. package/dist/source/adapters/memory.d.ts +0 -13
  299. package/dist/source/adapters/memory.js +0 -130
  300. package/dist/source/adapters/prisma.d.ts +0 -63
  301. package/dist/source/adapters/prisma.js +0 -202
  302. package/dist/source/conformance.d.ts +0 -37
  303. package/dist/source/conformance.js +0 -215
  304. package/dist/source/connector.d.ts +0 -95
  305. package/dist/source/connector.js +0 -266
  306. package/dist/source/connectorProtocol.d.ts +0 -154
  307. package/dist/source/connectorProtocol.js +0 -163
  308. package/dist/source/contract.d.ts +0 -195
  309. package/dist/source/contract.js +0 -164
  310. package/dist/source/factory.d.ts +0 -92
  311. package/dist/source/factory.js +0 -286
  312. package/dist/source/footprint.d.ts +0 -111
  313. package/dist/source/footprint.js +0 -0
  314. package/dist/source/idempotency.d.ts +0 -61
  315. package/dist/source/idempotency.js +0 -144
  316. package/dist/source/index.d.ts +0 -23
  317. package/dist/source/index.js +0 -30
  318. package/dist/source/migrations.d.ts +0 -21
  319. package/dist/source/migrations.js +0 -103
  320. package/dist/source/next.d.ts +0 -32
  321. package/dist/source/next.js +0 -25
  322. package/dist/source/pushQueue.d.ts +0 -134
  323. package/dist/source/pushQueue.js +0 -256
  324. package/dist/source/signing.d.ts +0 -92
  325. package/dist/source/signing.js +0 -162
  326. package/dist/source/types.d.ts +0 -401
  327. package/dist/source/types.js +0 -59
  328. package/dist/stores/ObjectStore.d.ts +0 -115
  329. package/dist/stores/ObjectStore.js +0 -393
  330. package/dist/stores/ObjectStoreContract.d.ts +0 -38
  331. package/dist/stores/ObjectStoreContract.js +0 -1
  332. package/dist/stores/SyncActionStore.d.ts +0 -97
  333. package/dist/stores/SyncActionStore.js +0 -504
  334. package/dist/stores/syncAction.d.ts +0 -26
  335. package/dist/stores/syncAction.js +0 -16
  336. package/dist/surface.d.ts +0 -36
  337. package/dist/surface.js +0 -75
  338. package/dist/sync/BootstrapFetcher.d.ts +0 -280
  339. package/dist/sync/BootstrapFetcher.js +0 -962
  340. package/dist/sync/ConnectionManager.d.ts +0 -8
  341. package/dist/sync/ConnectionManager.js +0 -8
  342. package/dist/sync/OnDemandLoader.d.ts +0 -228
  343. package/dist/sync/OnDemandLoader.js +0 -742
  344. package/dist/sync/SubscriptionManager.d.ts +0 -159
  345. package/dist/sync/SubscriptionManager.js +0 -243
  346. package/dist/sync/SyncWebSocket.d.ts +0 -173
  347. package/dist/sync/SyncWebSocket.js +0 -438
  348. package/dist/sync/awaitClaimGrant.d.ts +0 -6
  349. package/dist/sync/awaitClaimGrant.js +0 -6
  350. package/dist/sync/bootstrapApply.d.ts +0 -70
  351. package/dist/sync/bootstrapApply.js +0 -73
  352. package/dist/sync/commitFrames.d.ts +0 -8
  353. package/dist/sync/commitFrames.js +0 -8
  354. package/dist/sync/contextPorts.d.ts +0 -18
  355. package/dist/sync/contextPorts.js +0 -31
  356. package/dist/sync/createClaimStream.d.ts +0 -7
  357. package/dist/sync/createClaimStream.js +0 -7
  358. package/dist/sync/createPresenceStream.d.ts +0 -69
  359. package/dist/sync/createPresenceStream.js +0 -200
  360. package/dist/sync/createSnapshot.d.ts +0 -29
  361. package/dist/sync/createSnapshot.js +0 -118
  362. package/dist/sync/credentialLifecycle.d.ts +0 -7
  363. package/dist/sync/credentialLifecycle.js +0 -7
  364. package/dist/sync/deltaPipeline.d.ts +0 -113
  365. package/dist/sync/deltaPipeline.js +0 -261
  366. package/dist/sync/groupChange.d.ts +0 -113
  367. package/dist/sync/groupChange.js +0 -242
  368. package/dist/sync/participants.d.ts +0 -115
  369. package/dist/sync/participants.js +0 -344
  370. package/dist/sync/persistedPrefix.d.ts +0 -12
  371. package/dist/sync/persistedPrefix.js +0 -22
  372. package/dist/sync/schemaDrift.d.ts +0 -55
  373. package/dist/sync/schemaDrift.js +0 -53
  374. package/dist/sync/schemas.d.ts +0 -70
  375. package/dist/sync/schemas.js +0 -94
  376. package/dist/sync/syncCursor.d.ts +0 -40
  377. package/dist/sync/syncCursor.js +0 -55
  378. package/dist/sync/syncPlan.d.ts +0 -54
  379. package/dist/sync/syncPlan.js +0 -50
  380. package/dist/sync/wsFrameHandlers.d.ts +0 -8
  381. package/dist/sync/wsFrameHandlers.js +0 -8
  382. package/dist/testing/fixtures/bootstrap.d.ts +0 -49
  383. package/dist/testing/fixtures/bootstrap.js +0 -59
  384. package/dist/testing/fixtures/deltas.d.ts +0 -83
  385. package/dist/testing/fixtures/deltas.js +0 -136
  386. package/dist/testing/fixtures/httpResponses.d.ts +0 -70
  387. package/dist/testing/fixtures/httpResponses.js +0 -90
  388. package/dist/testing/fixtures/models.d.ts +0 -83
  389. package/dist/testing/fixtures/models.js +0 -272
  390. package/dist/testing/helpers/reactWrapper.d.ts +0 -69
  391. package/dist/testing/helpers/reactWrapper.js +0 -67
  392. package/dist/testing/helpers/syncEngineHarness.d.ts +0 -54
  393. package/dist/testing/helpers/syncEngineHarness.js +0 -73
  394. package/dist/testing/helpers/wait.d.ts +0 -30
  395. package/dist/testing/helpers/wait.js +0 -49
  396. package/dist/testing/index.d.ts +0 -23
  397. package/dist/testing/index.js +0 -33
  398. package/dist/testing/mocks/FakeDatabase.d.ts +0 -18
  399. package/dist/testing/mocks/FakeDatabase.js +0 -10
  400. package/dist/testing/mocks/MockMutationExecutor.d.ts +0 -87
  401. package/dist/testing/mocks/MockMutationExecutor.js +0 -186
  402. package/dist/testing/mocks/MockNetworkMonitor.d.ts +0 -20
  403. package/dist/testing/mocks/MockNetworkMonitor.js +0 -46
  404. package/dist/testing/mocks/MockSyncContext.d.ts +0 -51
  405. package/dist/testing/mocks/MockSyncContext.js +0 -72
  406. package/dist/testing/mocks/MockSyncStore.d.ts +0 -88
  407. package/dist/testing/mocks/MockSyncStore.js +0 -171
  408. package/dist/testing/mocks/MockWebSocket.d.ts +0 -71
  409. package/dist/testing/mocks/MockWebSocket.js +0 -118
  410. package/dist/transaction/ablo.d.ts +0 -88
  411. package/dist/transaction/ablo.js +0 -33
  412. package/dist/transaction/auth/apiKey.d.ts +0 -152
  413. package/dist/transaction/auth/apiKey.js +0 -419
  414. package/dist/transaction/auth/bootstrapScope.d.ts +0 -15
  415. package/dist/transaction/auth/bootstrapScope.js +0 -1
  416. package/dist/transaction/auth/capability.d.ts +0 -177
  417. package/dist/transaction/auth/capability.js +0 -199
  418. package/dist/transaction/auth/credentialEndpoint.d.ts +0 -61
  419. package/dist/transaction/auth/credentialEndpoint.js +0 -86
  420. package/dist/transaction/auth/credentialPolicy.d.ts +0 -148
  421. package/dist/transaction/auth/credentialPolicy.js +0 -125
  422. package/dist/transaction/auth/credentialSource.d.ts +0 -30
  423. package/dist/transaction/auth/credentialSource.js +0 -55
  424. package/dist/transaction/auth/hostedEndpoints.d.ts +0 -21
  425. package/dist/transaction/auth/hostedEndpoints.js +0 -21
  426. package/dist/transaction/auth/identity.d.ts +0 -55
  427. package/dist/transaction/auth/identity.js +0 -210
  428. package/dist/transaction/auth/index.d.ts +0 -162
  429. package/dist/transaction/auth/index.js +0 -304
  430. package/dist/transaction/auth/schemas.d.ts +0 -59
  431. package/dist/transaction/auth/schemas.js +0 -85
  432. package/dist/transaction/auth/sessionMint.d.ts +0 -28
  433. package/dist/transaction/auth/sessionMint.js +0 -85
  434. package/dist/transaction/coordination/awaitClaimGrant.d.ts +0 -49
  435. package/dist/transaction/coordination/awaitClaimGrant.js +0 -112
  436. package/dist/transaction/coordination/claimHeartbeatLoop.d.ts +0 -50
  437. package/dist/transaction/coordination/claimHeartbeatLoop.js +0 -88
  438. package/dist/transaction/coordination/claimMeta.d.ts +0 -49
  439. package/dist/transaction/coordination/claimMeta.js +0 -52
  440. package/dist/transaction/coordination/createClaimStream.d.ts +0 -64
  441. package/dist/transaction/coordination/createClaimStream.js +0 -475
  442. package/dist/transaction/coordination/events.d.ts +0 -74
  443. package/dist/transaction/coordination/events.js +0 -7
  444. package/dist/transaction/coordination/index.d.ts +0 -19
  445. package/dist/transaction/coordination/index.js +0 -44
  446. package/dist/transaction/coordination/locator.d.ts +0 -83
  447. package/dist/transaction/coordination/locator.js +0 -82
  448. package/dist/transaction/coordination/schema.d.ts +0 -1473
  449. package/dist/transaction/coordination/schema.js +0 -1013
  450. package/dist/transaction/coordination/targetConflict.d.ts +0 -2
  451. package/dist/transaction/coordination/targetConflict.js +0 -103
  452. package/dist/transaction/coordination/trace.d.ts +0 -78
  453. package/dist/transaction/coordination/trace.js +0 -138
  454. package/dist/transaction/durableWrites.d.ts +0 -62
  455. package/dist/transaction/durableWrites.js +0 -71
  456. package/dist/transaction/environment.d.ts +0 -105
  457. package/dist/transaction/environment.js +0 -108
  458. package/dist/transaction/errorCodes.d.ts +0 -403
  459. package/dist/transaction/errorCodes.js +0 -480
  460. package/dist/transaction/errors.d.ts +0 -428
  461. package/dist/transaction/errors.js +0 -686
  462. package/dist/transaction/index.d.ts +0 -20
  463. package/dist/transaction/index.js +0 -20
  464. package/dist/transaction/keys/index.d.ts +0 -87
  465. package/dist/transaction/keys/index.js +0 -207
  466. package/dist/transaction/log/syncDeltaRow.d.ts +0 -158
  467. package/dist/transaction/log/syncDeltaRow.js +0 -95
  468. package/dist/transaction/logPosition.d.ts +0 -97
  469. package/dist/transaction/logPosition.js +0 -125
  470. package/dist/transaction/logger.d.ts +0 -16
  471. package/dist/transaction/logger.js +0 -7
  472. package/dist/transaction/observability.d.ts +0 -53
  473. package/dist/transaction/observability.js +0 -19
  474. package/dist/transaction/persistence.d.ts +0 -12
  475. package/dist/transaction/persistence.js +0 -11
  476. package/dist/transaction/plugin.d.ts +0 -192
  477. package/dist/transaction/plugin.js +0 -87
  478. package/dist/transaction/policy/types.d.ts +0 -217
  479. package/dist/transaction/policy/types.js +0 -126
  480. package/dist/transaction/resources/functionalUpdate.d.ts +0 -79
  481. package/dist/transaction/resources/functionalUpdate.js +0 -87
  482. package/dist/transaction/resources/httpResources.d.ts +0 -266
  483. package/dist/transaction/resources/httpResources.js +0 -7
  484. package/dist/transaction/resources/modelOperations.d.ts +0 -319
  485. package/dist/transaction/resources/modelOperations.js +0 -12
  486. package/dist/transaction/resources/mutationOptions.d.ts +0 -66
  487. package/dist/transaction/resources/mutationOptions.js +0 -9
  488. package/dist/transaction/resources/where.d.ts +0 -85
  489. package/dist/transaction/resources/where.js +0 -70
  490. package/dist/transaction/resources/writeOptionsSchema.d.ts +0 -47
  491. package/dist/transaction/resources/writeOptionsSchema.js +0 -73
  492. package/dist/transaction/schema/field.d.ts +0 -126
  493. package/dist/transaction/schema/field.js +0 -265
  494. package/dist/transaction/schema/loadStrategy.d.ts +0 -45
  495. package/dist/transaction/schema/loadStrategy.js +0 -46
  496. package/dist/transaction/schema/model.d.ts +0 -379
  497. package/dist/transaction/schema/model.js +0 -123
  498. package/dist/transaction/schema/openapi.d.ts +0 -57
  499. package/dist/transaction/schema/openapi.js +0 -340
  500. package/dist/transaction/schema/relation.d.ts +0 -199
  501. package/dist/transaction/schema/relation.js +0 -104
  502. package/dist/transaction/schema/residency.d.ts +0 -29
  503. package/dist/transaction/schema/residency.js +0 -25
  504. package/dist/transaction/schema/roles.d.ts +0 -249
  505. package/dist/transaction/schema/roles.js +0 -230
  506. package/dist/transaction/schema/schema.d.ts +0 -324
  507. package/dist/transaction/schema/schema.js +0 -305
  508. package/dist/transaction/schema/tenancy.d.ts +0 -139
  509. package/dist/transaction/schema/tenancy.js +0 -190
  510. package/dist/transaction/transactionLayer.d.ts +0 -82
  511. package/dist/transaction/transactionLayer.js +0 -24
  512. package/dist/transaction/transactions/settlement/commitEnvelope.d.ts +0 -143
  513. package/dist/transaction/transactions/settlement/commitEnvelope.js +0 -161
  514. package/dist/transaction/transactions/settlement/httpCommitEnvelope.d.ts +0 -53
  515. package/dist/transaction/transactions/settlement/httpCommitEnvelope.js +0 -207
  516. package/dist/transaction/transactions/settlement/idempotencyKey.d.ts +0 -10
  517. package/dist/transaction/transactions/settlement/idempotencyKey.js +0 -9
  518. package/dist/transaction/transactions/settlement/pendingWrite.d.ts +0 -112
  519. package/dist/transaction/transactions/settlement/pendingWrite.js +0 -20
  520. package/dist/transaction/transport/commitFrames.d.ts +0 -90
  521. package/dist/transaction/transport/commitFrames.js +0 -134
  522. package/dist/transaction/transport/connectionManager.d.ts +0 -215
  523. package/dist/transaction/transport/connectionManager.js +0 -673
  524. package/dist/transaction/transport/credentialLifecycle.d.ts +0 -177
  525. package/dist/transaction/transport/credentialLifecycle.js +0 -324
  526. package/dist/transaction/transport/heartbeat.d.ts +0 -65
  527. package/dist/transaction/transport/heartbeat.js +0 -93
  528. package/dist/transaction/transport/httpClient.d.ts +0 -123
  529. package/dist/transaction/transport/httpClient.js +0 -145
  530. package/dist/transaction/transport/httpOptions.d.ts +0 -33
  531. package/dist/transaction/transport/httpOptions.js +0 -12
  532. package/dist/transaction/transport/httpTransport.d.ts +0 -8
  533. package/dist/transaction/transport/httpTransport.js +0 -1276
  534. package/dist/transaction/transport/networkProbe.d.ts +0 -84
  535. package/dist/transaction/transport/networkProbe.js +0 -207
  536. package/dist/transaction/transport/wsFrameHandlers.d.ts +0 -128
  537. package/dist/transaction/transport/wsFrameHandlers.js +0 -429
  538. package/dist/transaction/transport/wsTransport.d.ts +0 -576
  539. package/dist/transaction/transport/wsTransport.js +0 -1017
  540. package/dist/transaction/types/assertExact.d.ts +0 -17
  541. package/dist/transaction/types/assertExact.js +0 -1
  542. package/dist/transaction/types/global.d.ts +0 -107
  543. package/dist/transaction/types/global.js +0 -40
  544. package/dist/transaction/types/index.d.ts +0 -205
  545. package/dist/transaction/types/index.js +0 -56
  546. package/dist/transaction/types/modelData.d.ts +0 -10
  547. package/dist/transaction/types/modelData.js +0 -9
  548. package/dist/transaction/types/participant.d.ts +0 -20
  549. package/dist/transaction/types/participant.js +0 -10
  550. package/dist/transaction/types/streams.d.ts +0 -540
  551. package/dist/transaction/types/streams.js +0 -11
  552. package/dist/transaction/utils/asyncIterator.d.ts +0 -34
  553. package/dist/transaction/utils/asyncIterator.js +0 -135
  554. package/dist/transaction/utils/duration.d.ts +0 -25
  555. package/dist/transaction/utils/duration.js +0 -45
  556. package/dist/transaction/utils/json.d.ts +0 -57
  557. package/dist/transaction/utils/json.js +0 -276
  558. package/dist/transaction/wire/accountResponses.d.ts +0 -351
  559. package/dist/transaction/wire/accountResponses.js +0 -255
  560. package/dist/transaction/wire/auth.d.ts +0 -49
  561. package/dist/transaction/wire/auth.js +0 -57
  562. package/dist/transaction/wire/bootstrapReason.d.ts +0 -9
  563. package/dist/transaction/wire/bootstrapReason.js +0 -8
  564. package/dist/transaction/wire/claimEvent.d.ts +0 -76
  565. package/dist/transaction/wire/claimEvent.js +0 -73
  566. package/dist/transaction/wire/claims.d.ts +0 -463
  567. package/dist/transaction/wire/claims.js +0 -229
  568. package/dist/transaction/wire/commit.d.ts +0 -603
  569. package/dist/transaction/wire/commit.js +0 -321
  570. package/dist/transaction/wire/delta.d.ts +0 -250
  571. package/dist/transaction/wire/delta.js +0 -147
  572. package/dist/transaction/wire/errorEnvelope.d.ts +0 -72
  573. package/dist/transaction/wire/errorEnvelope.js +0 -123
  574. package/dist/transaction/wire/feedCursor.d.ts +0 -60
  575. package/dist/transaction/wire/feedCursor.js +0 -82
  576. package/dist/transaction/wire/feedEvent.d.ts +0 -177
  577. package/dist/transaction/wire/feedEvent.js +0 -39
  578. package/dist/transaction/wire/frames.d.ts +0 -194
  579. package/dist/transaction/wire/frames.js +0 -50
  580. package/dist/transaction/wire/inboundFrames.d.ts +0 -552
  581. package/dist/transaction/wire/inboundFrames.js +0 -116
  582. package/dist/transaction/wire/index.d.ts +0 -50
  583. package/dist/transaction/wire/index.js +0 -74
  584. package/dist/transaction/wire/listEnvelope.d.ts +0 -37
  585. package/dist/transaction/wire/listEnvelope.js +0 -42
  586. package/dist/transaction/wire/modelResponses.d.ts +0 -85
  587. package/dist/transaction/wire/modelResponses.js +0 -43
  588. package/dist/transaction/wire/protocol.d.ts +0 -38
  589. package/dist/transaction/wire/protocol.js +0 -38
  590. package/dist/transaction/wire/protocolVersion.d.ts +0 -73
  591. package/dist/transaction/wire/protocolVersion.js +0 -83
  592. package/dist/transactions/mutations/MutationQueue.d.ts +0 -655
  593. package/dist/transactions/mutations/MutationQueue.js +0 -2797
  594. package/dist/transactions/mutations/MutationStore.d.ts +0 -20
  595. package/dist/transactions/mutations/MutationStore.js +0 -53
  596. package/dist/transactions/mutations/UnconfirmedWrites.d.ts +0 -82
  597. package/dist/transactions/mutations/UnconfirmedWrites.js +0 -104
  598. package/dist/transactions/mutations/coalesceRules.d.ts +0 -58
  599. package/dist/transactions/mutations/coalesceRules.js +0 -140
  600. package/dist/transactions/mutations/commitLatency.d.ts +0 -52
  601. package/dist/transactions/mutations/commitLatency.js +0 -130
  602. package/dist/transactions/mutations/commitOutboxStore.d.ts +0 -28
  603. package/dist/transactions/mutations/commitOutboxStore.js +0 -26
  604. package/dist/transactions/mutations/commitPayload.d.ts +0 -164
  605. package/dist/transactions/mutations/commitPayload.js +0 -152
  606. package/dist/transactions/mutations/deltaConfirmation.d.ts +0 -59
  607. package/dist/transactions/mutations/deltaConfirmation.js +0 -233
  608. package/dist/transactions/mutations/durableWriteStore.d.ts +0 -14
  609. package/dist/transactions/mutations/durableWriteStore.js +0 -12
  610. package/dist/transactions/mutations/optimisticApply.d.ts +0 -49
  611. package/dist/transactions/mutations/optimisticApply.js +0 -65
  612. package/dist/transactions/mutations/replayValidation.d.ts +0 -186
  613. package/dist/transactions/mutations/replayValidation.js +0 -163
  614. package/dist/utils/mobxSetup.d.ts +0 -53
  615. package/dist/utils/mobxSetup.js +0 -330
  616. package/dist/webhooks/events.d.ts +0 -43
  617. package/dist/webhooks/events.js +0 -42
  618. package/dist/webhooks/index.d.ts +0 -8
  619. package/dist/webhooks/index.js +0 -8
  620. package/dist/wire/index.d.ts +0 -1
  621. package/dist/wire/index.js +0 -8
  622. package/docs/interaction-model.md +0 -99
@@ -1,351 +0,0 @@
1
- /**
2
- * What the ACCOUNT routes answer with — the surface you reach through the
3
- * `ablo` CLI rather than through a model: `GET /v1/projects`, `GET /api/schema`,
4
- * `GET /v1/logs`, `GET /v1/usage`.
5
- *
6
- * These are the shapes the server, the CLI, and the MCP server all have to
7
- * agree on. Before this module each of them spelled the shape out again — the
8
- * server inline in `c.json({ … })`, the others in hand-written interfaces — so
9
- * a renamed field broke a consumer at runtime with nothing failing in between.
10
- *
11
- * None of these endpoints appear in the published OpenAPI contract yet (they
12
- * sit in the spec test's `NOT_YET_PUBLISHED` set). Deriving the spec from these
13
- * schemas is what removes them from it.
14
- */
15
- import { z } from 'zod';
16
- import type { SyncDeltaAction } from './delta.js';
17
- /**
18
- * One project — an app's own schema, data planes, and keys. `default` marks the
19
- * organization's implicit project, whose id is the organization's own.
20
- */
21
- export declare const projectResponseSchema: z.ZodObject<{
22
- object: z.ZodLiteral<"project">;
23
- id: z.ZodString;
24
- slug: z.ZodString;
25
- name: z.ZodString;
26
- default: z.ZodBoolean;
27
- created_at: z.ZodString;
28
- }, z.core.$strip>;
29
- export type ProjectResponse = z.infer<typeof projectResponseSchema>;
30
- /**
31
- * `GET /v1/projects`.
32
- *
33
- * Note what this is NOT: the canonical {@link ListEnvelope}. An org's projects
34
- * are returned whole, so the route emits `data` with no `has_more`/`next_cursor`
35
- * beside it. That divergence is real and this schema states it rather than
36
- * describing a pagination the endpoint does not implement — adding the two
37
- * fields is an API change, not a documentation fix.
38
- */
39
- export declare const projectListResponseSchema: z.ZodObject<{
40
- object: z.ZodLiteral<"list">;
41
- data: z.ZodReadonly<z.ZodArray<z.ZodObject<{
42
- object: z.ZodLiteral<"project">;
43
- id: z.ZodString;
44
- slug: z.ZodString;
45
- name: z.ZodString;
46
- default: z.ZodBoolean;
47
- created_at: z.ZodString;
48
- }, z.core.$strip>>>;
49
- }, z.core.$strip>;
50
- export type ProjectListResponse = z.infer<typeof projectListResponseSchema>;
51
- /** One minted key, returned exactly once — the plaintext is never readable again. */
52
- export declare const provisionedKeySchema: z.ZodObject<{
53
- apiKey: z.ZodString;
54
- expiresAt: z.ZodOptional<z.ZodString>;
55
- }, z.core.$strip>;
56
- export type ProvisionedKey = z.infer<typeof provisionedKeySchema>;
57
- /**
58
- * What the CLI device flow gets back once a browser approval is exchanged for
59
- * credentials: the sandbox key `ablo push` authors with, and the restricted
60
- * production key that only observes.
61
- *
62
- * `project` is the project both keys are scoped to, resolved SERVER-SIDE from
63
- * the requested slug — null means the organization's default. The server's
64
- * answer is authoritative because it is what resolved the slug to an id, so the
65
- * CLI stores keys under the project named here rather than the one it asked
66
- * for.
67
- */
68
- export declare const provisionKeyResponseSchema: z.ZodObject<{
69
- test: z.ZodObject<{
70
- apiKey: z.ZodString;
71
- expiresAt: z.ZodOptional<z.ZodString>;
72
- }, z.core.$strip>;
73
- live: z.ZodOptional<z.ZodObject<{
74
- apiKey: z.ZodString;
75
- expiresAt: z.ZodOptional<z.ZodString>;
76
- }, z.core.$strip>>;
77
- organizationId: z.ZodOptional<z.ZodString>;
78
- organizationSlug: z.ZodOptional<z.ZodString>;
79
- project: z.ZodOptional<z.ZodNullable<z.ZodObject<{
80
- id: z.ZodString;
81
- slug: z.ZodString;
82
- }, z.core.$strip>>>;
83
- }, z.core.$strip>;
84
- export type ProvisionKeyResponse = z.infer<typeof provisionKeyResponseSchema>;
85
- /**
86
- * A model's declared conflict disposition as it travels on the wire, keyed by
87
- * committer kind.
88
- *
89
- * Spelled here rather than imported from the policy layer, which states the same
90
- * three members as a TypeScript interface: `wire/` holds runtime-validatable
91
- * schemas, and it is the protocol leaf — everything depends on it and it depends
92
- * on nothing. The check that the two never drift therefore lives on the policy
93
- * side of that edge, next to the interface, in `../policy/types.ts`.
94
- */
95
- export declare const conflictAxisWireSchema: z.ZodObject<{
96
- user: z.ZodOptional<z.ZodEnum<{
97
- reject: "reject";
98
- overwrite: "overwrite";
99
- notify: "notify";
100
- }>>;
101
- agent: z.ZodOptional<z.ZodEnum<{
102
- reject: "reject";
103
- overwrite: "overwrite";
104
- notify: "notify";
105
- }>>;
106
- system: z.ZodOptional<z.ZodEnum<{
107
- reject: "reject";
108
- overwrite: "overwrite";
109
- notify: "notify";
110
- }>>;
111
- }, z.core.$strip>;
112
- /** One model in the deployed schema, as the schema read reports it. */
113
- export declare const schemaModelResponseSchema: z.ZodObject<{
114
- key: z.ZodString;
115
- typename: z.ZodString;
116
- conflict: z.ZodNullable<z.ZodObject<{
117
- user: z.ZodOptional<z.ZodEnum<{
118
- reject: "reject";
119
- overwrite: "overwrite";
120
- notify: "notify";
121
- }>>;
122
- agent: z.ZodOptional<z.ZodEnum<{
123
- reject: "reject";
124
- overwrite: "overwrite";
125
- notify: "notify";
126
- }>>;
127
- system: z.ZodOptional<z.ZodEnum<{
128
- reject: "reject";
129
- overwrite: "overwrite";
130
- notify: "notify";
131
- }>>;
132
- }, z.core.$strip>>;
133
- hash: z.ZodString;
134
- }, z.core.$strip>;
135
- export type SchemaModelResponse = z.infer<typeof schemaModelResponseSchema>;
136
- /**
137
- * `GET /api/schema` — the schema active on the caller's plane.
138
- *
139
- * A discriminated union because the two answers carry different fields, and the
140
- * difference is the one a caller must act on: `active: false` means nothing has
141
- * been pushed to this plane, so `models` is empty and `ablo push` is the fix.
142
- * Reporting that as an inactive artifact with absent metadata, rather than as
143
- * optional fields on one shape, is what stops a consumer from reading a missing
144
- * `version` as a version of zero.
145
- */
146
- export declare const schemaReadResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
147
- active: z.ZodLiteral<false>;
148
- environment: z.ZodString;
149
- project: z.ZodNullable<z.ZodString>;
150
- models: z.ZodReadonly<z.ZodArray<z.ZodObject<{
151
- key: z.ZodString;
152
- typename: z.ZodString;
153
- conflict: z.ZodNullable<z.ZodObject<{
154
- user: z.ZodOptional<z.ZodEnum<{
155
- reject: "reject";
156
- overwrite: "overwrite";
157
- notify: "notify";
158
- }>>;
159
- agent: z.ZodOptional<z.ZodEnum<{
160
- reject: "reject";
161
- overwrite: "overwrite";
162
- notify: "notify";
163
- }>>;
164
- system: z.ZodOptional<z.ZodEnum<{
165
- reject: "reject";
166
- overwrite: "overwrite";
167
- notify: "notify";
168
- }>>;
169
- }, z.core.$strip>>;
170
- hash: z.ZodString;
171
- }, z.core.$strip>>>;
172
- }, z.core.$strip>, z.ZodObject<{
173
- active: z.ZodLiteral<true>;
174
- environment: z.ZodString;
175
- project: z.ZodNullable<z.ZodString>;
176
- models: z.ZodReadonly<z.ZodArray<z.ZodObject<{
177
- key: z.ZodString;
178
- typename: z.ZodString;
179
- conflict: z.ZodNullable<z.ZodObject<{
180
- user: z.ZodOptional<z.ZodEnum<{
181
- reject: "reject";
182
- overwrite: "overwrite";
183
- notify: "notify";
184
- }>>;
185
- agent: z.ZodOptional<z.ZodEnum<{
186
- reject: "reject";
187
- overwrite: "overwrite";
188
- notify: "notify";
189
- }>>;
190
- system: z.ZodOptional<z.ZodEnum<{
191
- reject: "reject";
192
- overwrite: "overwrite";
193
- notify: "notify";
194
- }>>;
195
- }, z.core.$strip>>;
196
- hash: z.ZodString;
197
- }, z.core.$strip>>>;
198
- schemaId: z.ZodString;
199
- version: z.ZodNumber;
200
- hash: z.ZodString;
201
- pushedAt: z.ZodNullable<z.ZodString>;
202
- }, z.core.$strip>], "active">;
203
- export type SchemaReadResponse = z.infer<typeof schemaReadResponseSchema>;
204
- /**
205
- * What a log reader calls each kind of entry.
206
- *
207
- * The log carries the full delta vocabulary, not just writes, so this has a
208
- * word for every one of them — a reader should never be shown the stored
209
- * letter. The eight are the plain-language face of {@link SyncDeltaAction}.
210
- */
211
- export declare const logOpSchema: z.ZodEnum<{
212
- update: "update";
213
- visible: "visible";
214
- create: "create";
215
- delete: "delete";
216
- archive: "archive";
217
- revive: "revive";
218
- group_added: "group_added";
219
- group_removed: "group_removed";
220
- }>;
221
- export type LogOp = z.infer<typeof logOpSchema>;
222
- /**
223
- * The stored action letter, as a log reader sees it.
224
- *
225
- * Typed against {@link SyncDeltaAction} so it is total by construction: adding
226
- * a ninth action to the vocabulary stops this compiling until it has a word.
227
- * The alternative — a lookup with a fallback — is what let `A` reach callers
228
- * as the bare letter "a".
229
- */
230
- export declare const LOG_OP_BY_ACTION: Readonly<Record<SyncDeltaAction, LogOp>>;
231
- /** One entry in the log: what changed, and who changed it. */
232
- export declare const logEventSchema: z.ZodObject<{
233
- object: z.ZodLiteral<"log_event">;
234
- id: z.ZodNumber;
235
- at: z.ZodString;
236
- model: z.ZodString;
237
- op: z.ZodEnum<{
238
- update: "update";
239
- visible: "visible";
240
- create: "create";
241
- delete: "delete";
242
- archive: "archive";
243
- revive: "revive";
244
- group_added: "group_added";
245
- group_removed: "group_removed";
246
- }>;
247
- recordId: z.ZodString;
248
- actor: z.ZodNullable<z.ZodString>;
249
- }, z.core.$strip>;
250
- export type LogEvent = z.infer<typeof logEventSchema>;
251
- /**
252
- * One day's usage. `results` is one row per `group_by` combination, carrying
253
- * the requested dimensions plus `total` and `count`; with no `group_by` it is a
254
- * single ungrouped row. The keys therefore depend on the request, which is why
255
- * the row stays open rather than claiming a fixed shape.
256
- *
257
- * `total` arrives as a string — it is a bigint in the database, and JSON has no
258
- * lossless number for it.
259
- */
260
- export declare const usageBucketSchema: z.ZodObject<{
261
- starting_at: z.ZodString;
262
- ending_at: z.ZodString;
263
- results: z.ZodReadonly<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
264
- }, z.core.$strip>;
265
- export type UsageBucket = z.infer<typeof usageBucketSchema>;
266
- /**
267
- * One of the org's keys, as a management surface may show it.
268
- *
269
- * Everything here is safe to display: the prefix identifies a key without being
270
- * one. There is deliberately no field for the key itself — plaintext exists only
271
- * in the response to the mint that created it, and the store keeps a SHA-256
272
- * hash, so no later read can return it.
273
- */
274
- export declare const controlKeySchema: z.ZodObject<{
275
- id: z.ZodString;
276
- keyPrefix: z.ZodString;
277
- label: z.ZodNullable<z.ZodString>;
278
- kind: z.ZodString;
279
- scopes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
280
- createdAt: z.ZodString;
281
- lastUsedAt: z.ZodNullable<z.ZodString>;
282
- expiresAt: z.ZodNullable<z.ZodString>;
283
- projectId: z.ZodNullable<z.ZodString>;
284
- }, z.core.$strip>;
285
- export type ControlKey = z.infer<typeof controlKeySchema>;
286
- /**
287
- * `GET /v1/dashboard/keys` — the org's live, hand-managed keys.
288
- *
289
- * Like the project list, this is not the canonical {@link ListEnvelope}: it
290
- * answers with a bare `keys` array. Stated as it is rather than as the envelope
291
- * it resembles.
292
- */
293
- export declare const controlKeyListResponseSchema: z.ZodObject<{
294
- keys: z.ZodReadonly<z.ZodArray<z.ZodObject<{
295
- id: z.ZodString;
296
- keyPrefix: z.ZodString;
297
- label: z.ZodNullable<z.ZodString>;
298
- kind: z.ZodString;
299
- scopes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
300
- createdAt: z.ZodString;
301
- lastUsedAt: z.ZodNullable<z.ZodString>;
302
- expiresAt: z.ZodNullable<z.ZodString>;
303
- projectId: z.ZodNullable<z.ZodString>;
304
- }, z.core.$strip>>>;
305
- }, z.core.$strip>;
306
- export type ControlKeyListResponse = z.infer<typeof controlKeyListResponseSchema>;
307
- /**
308
- * `POST /v1/dashboard/keys` — the mint.
309
- *
310
- * `plaintext` is the only place the secret ever appears. The store keeps a
311
- * SHA-256 hash, so nothing can return it again: a consumer that reads the wrong
312
- * field name here does not get an error, it gets `undefined`, and the key is
313
- * gone. That is the whole reason this shape is defined once rather than
314
- * described at each end.
315
- */
316
- export declare const keyMintedResponseSchema: z.ZodObject<{
317
- id: z.ZodString;
318
- label: z.ZodNullable<z.ZodString>;
319
- keyPrefix: z.ZodString;
320
- createdAt: z.ZodString;
321
- createdBy: z.ZodNullable<z.ZodString>;
322
- projectId: z.ZodNullable<z.ZodString>;
323
- plaintext: z.ZodString;
324
- }, z.core.$strip>;
325
- export type KeyMintedResponse = z.infer<typeof keyMintedResponseSchema>;
326
- /**
327
- * `DELETE /v1/dashboard/keys/:id`. `activeSessionsClosed` reports how many live
328
- * connections the revocation cut, so a caller can see it took effect on sessions
329
- * already open rather than only on future ones. A second revoke of the same key
330
- * is not an error — it answers `alreadyRevoked` and closes nothing.
331
- */
332
- export declare const keyRevokedResponseSchema: z.ZodObject<{
333
- id: z.ZodString;
334
- revoked: z.ZodLiteral<true>;
335
- revokedAt: z.ZodOptional<z.ZodString>;
336
- alreadyRevoked: z.ZodOptional<z.ZodBoolean>;
337
- activeSessionsClosed: z.ZodOptional<z.ZodNumber>;
338
- }, z.core.$strip>;
339
- export type KeyRevokedResponse = z.infer<typeof keyRevokedResponseSchema>;
340
- /** `GET /v1/usage` — daily buckets, shaped after a usage report. */
341
- export declare const usageReportResponseSchema: z.ZodObject<{
342
- object: z.ZodLiteral<"usage_report">;
343
- buckets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
344
- starting_at: z.ZodString;
345
- ending_at: z.ZodString;
346
- results: z.ZodReadonly<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
347
- }, z.core.$strip>>>;
348
- has_more: z.ZodBoolean;
349
- data_freshness_seconds: z.ZodNumber;
350
- }, z.core.$strip>;
351
- export type UsageReportResponse = z.infer<typeof usageReportResponseSchema>;
@@ -1,255 +0,0 @@
1
- /**
2
- * What the ACCOUNT routes answer with — the surface you reach through the
3
- * `ablo` CLI rather than through a model: `GET /v1/projects`, `GET /api/schema`,
4
- * `GET /v1/logs`, `GET /v1/usage`.
5
- *
6
- * These are the shapes the server, the CLI, and the MCP server all have to
7
- * agree on. Before this module each of them spelled the shape out again — the
8
- * server inline in `c.json({ … })`, the others in hand-written interfaces — so
9
- * a renamed field broke a consumer at runtime with nothing failing in between.
10
- *
11
- * None of these endpoints appear in the published OpenAPI contract yet (they
12
- * sit in the spec test's `NOT_YET_PUBLISHED` set). Deriving the spec from these
13
- * schemas is what removes them from it.
14
- */
15
- import { z } from 'zod';
16
- import { onStaleModeSchema } from '../coordination/schema.js';
17
- /**
18
- * One project — an app's own schema, data planes, and keys. `default` marks the
19
- * organization's implicit project, whose id is the organization's own.
20
- */
21
- export const projectResponseSchema = z.object({
22
- object: z.literal('project'),
23
- id: z.string(),
24
- slug: z.string(),
25
- name: z.string(),
26
- default: z.boolean(),
27
- created_at: z.string(),
28
- });
29
- /**
30
- * `GET /v1/projects`.
31
- *
32
- * Note what this is NOT: the canonical {@link ListEnvelope}. An org's projects
33
- * are returned whole, so the route emits `data` with no `has_more`/`next_cursor`
34
- * beside it. That divergence is real and this schema states it rather than
35
- * describing a pagination the endpoint does not implement — adding the two
36
- * fields is an API change, not a documentation fix.
37
- */
38
- export const projectListResponseSchema = z.object({
39
- object: z.literal('list'),
40
- data: z.array(projectResponseSchema).readonly(),
41
- });
42
- /** One minted key, returned exactly once — the plaintext is never readable again. */
43
- export const provisionedKeySchema = z.object({
44
- apiKey: z.string(),
45
- expiresAt: z.string().optional(),
46
- });
47
- /**
48
- * What the CLI device flow gets back once a browser approval is exchanged for
49
- * credentials: the sandbox key `ablo push` authors with, and the restricted
50
- * production key that only observes.
51
- *
52
- * `project` is the project both keys are scoped to, resolved SERVER-SIDE from
53
- * the requested slug — null means the organization's default. The server's
54
- * answer is authoritative because it is what resolved the slug to an id, so the
55
- * CLI stores keys under the project named here rather than the one it asked
56
- * for.
57
- */
58
- export const provisionKeyResponseSchema = z.object({
59
- test: provisionedKeySchema,
60
- live: provisionedKeySchema.optional(),
61
- organizationId: z.string().optional(),
62
- organizationSlug: z.string().optional(),
63
- project: z.object({ id: z.string(), slug: z.string() }).nullable().optional(),
64
- });
65
- /**
66
- * A model's declared conflict disposition as it travels on the wire, keyed by
67
- * committer kind.
68
- *
69
- * Spelled here rather than imported from the policy layer, which states the same
70
- * three members as a TypeScript interface: `wire/` holds runtime-validatable
71
- * schemas, and it is the protocol leaf — everything depends on it and it depends
72
- * on nothing. The check that the two never drift therefore lives on the policy
73
- * side of that edge, next to the interface, in `../policy/types.ts`.
74
- */
75
- export const conflictAxisWireSchema = z.object({
76
- user: onStaleModeSchema.optional(),
77
- agent: onStaleModeSchema.optional(),
78
- system: onStaleModeSchema.optional(),
79
- });
80
- /** One model in the deployed schema, as the schema read reports it. */
81
- export const schemaModelResponseSchema = z.object({
82
- /** The key local code addresses (`ablo.documents`). */
83
- key: z.string(),
84
- /** The wire typename the engine routes and gates on. */
85
- typename: z.string(),
86
- /** Declared disposition, or null for the engine default. */
87
- conflict: conflictAxisWireSchema.nullable(),
88
- /** Per-model content hash — the unit of the client's drift check. */
89
- hash: z.string(),
90
- });
91
- /**
92
- * `GET /api/schema` — the schema active on the caller's plane.
93
- *
94
- * A discriminated union because the two answers carry different fields, and the
95
- * difference is the one a caller must act on: `active: false` means nothing has
96
- * been pushed to this plane, so `models` is empty and `ablo push` is the fix.
97
- * Reporting that as an inactive artifact with absent metadata, rather than as
98
- * optional fields on one shape, is what stops a consumer from reading a missing
99
- * `version` as a version of zero.
100
- */
101
- export const schemaReadResponseSchema = z.discriminatedUnion('active', [
102
- z.object({
103
- active: z.literal(false),
104
- environment: z.string(),
105
- project: z.string().nullable(),
106
- models: z.array(schemaModelResponseSchema).readonly(),
107
- }),
108
- z.object({
109
- active: z.literal(true),
110
- environment: z.string(),
111
- project: z.string().nullable(),
112
- models: z.array(schemaModelResponseSchema).readonly(),
113
- schemaId: z.string(),
114
- version: z.number(),
115
- hash: z.string(),
116
- pushedAt: z.string().nullable(),
117
- }),
118
- ]);
119
- /**
120
- * What a log reader calls each kind of entry.
121
- *
122
- * The log carries the full delta vocabulary, not just writes, so this has a
123
- * word for every one of them — a reader should never be shown the stored
124
- * letter. The eight are the plain-language face of {@link SyncDeltaAction}.
125
- */
126
- export const logOpSchema = z.enum([
127
- 'create',
128
- 'update',
129
- 'delete',
130
- 'archive',
131
- 'revive',
132
- 'visible',
133
- 'group_added',
134
- 'group_removed',
135
- ]);
136
- /**
137
- * The stored action letter, as a log reader sees it.
138
- *
139
- * Typed against {@link SyncDeltaAction} so it is total by construction: adding
140
- * a ninth action to the vocabulary stops this compiling until it has a word.
141
- * The alternative — a lookup with a fallback — is what let `A` reach callers
142
- * as the bare letter "a".
143
- */
144
- export const LOG_OP_BY_ACTION = {
145
- I: 'create',
146
- U: 'update',
147
- D: 'delete',
148
- A: 'archive',
149
- V: 'revive',
150
- C: 'visible',
151
- G: 'group_added',
152
- S: 'group_removed',
153
- };
154
- /** One entry in the log: what changed, and who changed it. */
155
- export const logEventSchema = z.object({
156
- /**
157
- * Which arm of the feed this is. `GET /v1/logs` can carry claim transitions
158
- * alongside commits, and the two are told apart by this tag rather than by
159
- * sniffing for `op` versus `status` — a discriminator a consumer has to infer
160
- * is one every consumer infers differently.
161
- */
162
- object: z.literal('log_event'),
163
- id: z.number(),
164
- at: z.string(),
165
- model: z.string(),
166
- op: logOpSchema,
167
- recordId: z.string(),
168
- /** `kind:id` of the committer, or null when the log recorded none. */
169
- actor: z.string().nullable(),
170
- });
171
- /**
172
- * One day's usage. `results` is one row per `group_by` combination, carrying
173
- * the requested dimensions plus `total` and `count`; with no `group_by` it is a
174
- * single ungrouped row. The keys therefore depend on the request, which is why
175
- * the row stays open rather than claiming a fixed shape.
176
- *
177
- * `total` arrives as a string — it is a bigint in the database, and JSON has no
178
- * lossless number for it.
179
- */
180
- export const usageBucketSchema = z.object({
181
- starting_at: z.string(),
182
- ending_at: z.string(),
183
- results: z.array(z.record(z.string(), z.unknown())).readonly(),
184
- });
185
- /**
186
- * One of the org's keys, as a management surface may show it.
187
- *
188
- * Everything here is safe to display: the prefix identifies a key without being
189
- * one. There is deliberately no field for the key itself — plaintext exists only
190
- * in the response to the mint that created it, and the store keeps a SHA-256
191
- * hash, so no later read can return it.
192
- */
193
- export const controlKeySchema = z.object({
194
- id: z.string(),
195
- /** The leading, non-secret segment — enough to recognise a key by. */
196
- keyPrefix: z.string(),
197
- label: z.string().nullable(),
198
- kind: z.string(),
199
- scopes: z.array(z.string()).readonly(),
200
- createdAt: z.string(),
201
- lastUsedAt: z.string().nullable(),
202
- expiresAt: z.string().nullable(),
203
- /** The project this key is scoped to; null = the org-default project. */
204
- projectId: z.string().nullable(),
205
- });
206
- /**
207
- * `GET /v1/dashboard/keys` — the org's live, hand-managed keys.
208
- *
209
- * Like the project list, this is not the canonical {@link ListEnvelope}: it
210
- * answers with a bare `keys` array. Stated as it is rather than as the envelope
211
- * it resembles.
212
- */
213
- export const controlKeyListResponseSchema = z.object({
214
- keys: z.array(controlKeySchema).readonly(),
215
- });
216
- /**
217
- * `POST /v1/dashboard/keys` — the mint.
218
- *
219
- * `plaintext` is the only place the secret ever appears. The store keeps a
220
- * SHA-256 hash, so nothing can return it again: a consumer that reads the wrong
221
- * field name here does not get an error, it gets `undefined`, and the key is
222
- * gone. That is the whole reason this shape is defined once rather than
223
- * described at each end.
224
- */
225
- export const keyMintedResponseSchema = z.object({
226
- id: z.string(),
227
- label: z.string().nullable(),
228
- keyPrefix: z.string(),
229
- createdAt: z.string(),
230
- createdBy: z.string().nullable(),
231
- projectId: z.string().nullable(),
232
- /** The secret, in the only response that will ever carry it. */
233
- plaintext: z.string(),
234
- });
235
- /**
236
- * `DELETE /v1/dashboard/keys/:id`. `activeSessionsClosed` reports how many live
237
- * connections the revocation cut, so a caller can see it took effect on sessions
238
- * already open rather than only on future ones. A second revoke of the same key
239
- * is not an error — it answers `alreadyRevoked` and closes nothing.
240
- */
241
- export const keyRevokedResponseSchema = z.object({
242
- id: z.string(),
243
- revoked: z.literal(true),
244
- revokedAt: z.string().optional(),
245
- alreadyRevoked: z.boolean().optional(),
246
- activeSessionsClosed: z.number().optional(),
247
- });
248
- /** `GET /v1/usage` — daily buckets, shaped after a usage report. */
249
- export const usageReportResponseSchema = z.object({
250
- object: z.literal('usage_report'),
251
- buckets: z.array(usageBucketSchema).readonly(),
252
- has_more: z.boolean(),
253
- /** How stale the rollup behind these numbers may be. */
254
- data_freshness_seconds: z.number(),
255
- });
@@ -1,49 +0,0 @@
1
- /**
2
- * The request body for minting a session credential.
3
- *
4
- * `POST /v1/ephemeral_keys` is the first call any caller makes — nothing else in
5
- * the API is reachable without the credential it returns. That makes it the one
6
- * route a published contract cannot omit, so its shape lives here beside the
7
- * rest of the boundary rather than being read field-by-field out of the handler.
8
- *
9
- * The response side already had a home: `EphemeralKeyResponseSchema` in
10
- * `auth/schemas.ts`.
11
- */
12
- import { z } from 'zod';
13
- /** The participant this session acts as. */
14
- export declare const ephemeralKeyUserSchema: z.ZodObject<{
15
- id: z.ZodString;
16
- teamIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
- }, z.core.$strip>;
18
- export type EphemeralKeyUser = z.infer<typeof ephemeralKeyUserSchema>;
19
- /**
20
- * `POST /v1/ephemeral_keys` — mint a short-lived session credential.
21
- *
22
- * Only a secret key (`sk_`) may call this: a session cannot mint itself. By
23
- * default the key mints into the caller's own organization; naming a different
24
- * `organizationId` is the multi-tenant case and requires the
25
- * `ephemeral:mint-any-org` scope, which is the same privilege that allows
26
- * binding the session's schema to another organization's project.
27
- */
28
- export declare const ephemeralKeyRequestSchema: z.ZodObject<{
29
- user: z.ZodOptional<z.ZodObject<{
30
- id: z.ZodString;
31
- teamIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
- }, z.core.$strip>>;
33
- userId: z.ZodOptional<z.ZodString>;
34
- organizationId: z.ZodOptional<z.ZodString>;
35
- schemaProjectId: z.ZodOptional<z.ZodString>;
36
- schemaOwnerOrgId: z.ZodOptional<z.ZodString>;
37
- syncGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
- ttlSeconds: z.ZodOptional<z.ZodNumber>;
39
- label: z.ZodOptional<z.ZodString>;
40
- }, z.core.$strip>;
41
- export type EphemeralKeyRequest = z.infer<typeof ephemeralKeyRequestSchema>;
42
- /**
43
- * The capability mint body lives with the rest of the capability vocabulary in
44
- * `auth/capability.ts` — the grant is one structure, and its request form is a
45
- * face of it rather than a separate shape. Re-exported here so the wire barrel
46
- * stays the single import path for the boundary.
47
- */
48
- export { capabilityRequestSchema, grantedOperationSchema, capabilityOperationSchema, } from '../auth/capability.js';
49
- export type { CapabilityRequest, GrantedOperation, CapabilityOperation, } from '../auth/capability.js';