jazz-tools 2.0.0-alpha.29 → 2.0.0-alpha.31

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 (187) hide show
  1. package/bin/docs-index.db +0 -0
  2. package/bin/docs-index.txt +188 -56
  3. package/bin/jazz-tools.js +2 -1
  4. package/bin/native/jazz-tools-darwin-arm64 +0 -0
  5. package/bin/native/jazz-tools-darwin-x64 +0 -0
  6. package/bin/native/jazz-tools-linux-arm64 +0 -0
  7. package/bin/native/jazz-tools-linux-x64 +0 -0
  8. package/dist/backend/create-jazz-context.d.ts.map +1 -1
  9. package/dist/backend/create-jazz-context.js +21 -7
  10. package/dist/backend/create-jazz-context.js.map +1 -1
  11. package/dist/backend/create-jazz-context.test.js +1 -0
  12. package/dist/backend/create-jazz-context.test.js.map +1 -1
  13. package/dist/cli.d.ts +8 -1
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +85 -25
  16. package/dist/cli.js.map +1 -1
  17. package/dist/cli.test.js +260 -41
  18. package/dist/cli.test.js.map +1 -1
  19. package/dist/dev-tools/extension-panel.d.ts.map +1 -1
  20. package/dist/dev-tools/extension-panel.js +0 -2
  21. package/dist/dev-tools/extension-panel.js.map +1 -1
  22. package/dist/ir.d.ts +4 -0
  23. package/dist/ir.d.ts.map +1 -1
  24. package/dist/mcp/build-index.test.js +9 -6
  25. package/dist/mcp/build-index.test.js.map +1 -1
  26. package/dist/permissions/index.d.ts +2 -1
  27. package/dist/permissions/index.d.ts.map +1 -1
  28. package/dist/permissions/index.js +129 -23
  29. package/dist/permissions/index.js.map +1 -1
  30. package/dist/permissions/index.test.js +106 -0
  31. package/dist/permissions/index.test.js.map +1 -1
  32. package/dist/react-native/db.d.ts.map +1 -1
  33. package/dist/react-native/db.js +6 -0
  34. package/dist/react-native/db.js.map +1 -1
  35. package/dist/react-native/db.test.js +30 -1
  36. package/dist/react-native/db.test.js.map +1 -1
  37. package/dist/react-native/jazz-rn-runtime-adapter.d.ts +11 -5
  38. package/dist/react-native/jazz-rn-runtime-adapter.d.ts.map +1 -1
  39. package/dist/react-native/jazz-rn-runtime-adapter.js +26 -21
  40. package/dist/react-native/jazz-rn-runtime-adapter.js.map +1 -1
  41. package/dist/react-native/jazz-rn-runtime-adapter.test.js +28 -30
  42. package/dist/react-native/jazz-rn-runtime-adapter.test.js.map +1 -1
  43. package/dist/runtime/auth-secret-store.d.ts +12 -5
  44. package/dist/runtime/auth-secret-store.d.ts.map +1 -1
  45. package/dist/runtime/auth-secret-store.js +56 -14
  46. package/dist/runtime/auth-secret-store.js.map +1 -1
  47. package/dist/runtime/auth-secret-store.test.js +41 -0
  48. package/dist/runtime/auth-secret-store.test.js.map +1 -1
  49. package/dist/runtime/auth-state.d.ts +13 -2
  50. package/dist/runtime/auth-state.d.ts.map +1 -1
  51. package/dist/runtime/auth-state.js +42 -2
  52. package/dist/runtime/auth-state.js.map +1 -1
  53. package/dist/runtime/client-session.d.ts +2 -1
  54. package/dist/runtime/client-session.d.ts.map +1 -1
  55. package/dist/runtime/client-session.js +6 -18
  56. package/dist/runtime/client-session.js.map +1 -1
  57. package/dist/runtime/client-session.test.js +18 -0
  58. package/dist/runtime/client-session.test.js.map +1 -1
  59. package/dist/runtime/client.d.ts +210 -32
  60. package/dist/runtime/client.d.ts.map +1 -1
  61. package/dist/runtime/client.for-request.test.js +23 -3
  62. package/dist/runtime/client.for-request.test.js.map +1 -1
  63. package/dist/runtime/client.js +511 -187
  64. package/dist/runtime/client.js.map +1 -1
  65. package/dist/runtime/client.mutations.test.js +61 -0
  66. package/dist/runtime/client.mutations.test.js.map +1 -1
  67. package/dist/runtime/client.test.d.ts +2 -0
  68. package/dist/runtime/client.test.d.ts.map +1 -0
  69. package/dist/runtime/client.test.js +128 -0
  70. package/dist/runtime/client.test.js.map +1 -0
  71. package/dist/runtime/context.d.ts +7 -2
  72. package/dist/runtime/context.d.ts.map +1 -1
  73. package/dist/runtime/db.auth-state.test.js +123 -0
  74. package/dist/runtime/db.auth-state.test.js.map +1 -1
  75. package/dist/runtime/db.browser-storage-scope.test.d.ts +2 -0
  76. package/dist/runtime/db.browser-storage-scope.test.d.ts.map +1 -0
  77. package/dist/runtime/db.browser-storage-scope.test.js +49 -0
  78. package/dist/runtime/db.browser-storage-scope.test.js.map +1 -0
  79. package/dist/runtime/db.d.ts +119 -13
  80. package/dist/runtime/db.d.ts.map +1 -1
  81. package/dist/runtime/db.js +814 -68
  82. package/dist/runtime/db.js.map +1 -1
  83. package/dist/runtime/db.local-first-auth.test.js +12 -0
  84. package/dist/runtime/db.local-first-auth.test.js.map +1 -1
  85. package/dist/runtime/db.persisted.test.d.ts +2 -0
  86. package/dist/runtime/db.persisted.test.d.ts.map +1 -0
  87. package/dist/runtime/db.persisted.test.js +164 -0
  88. package/dist/runtime/db.persisted.test.js.map +1 -0
  89. package/dist/runtime/db.schema-order.test.js +93 -1
  90. package/dist/runtime/db.schema-order.test.js.map +1 -1
  91. package/dist/runtime/db.transaction.test.d.ts +2 -0
  92. package/dist/runtime/db.transaction.test.d.ts.map +1 -0
  93. package/dist/runtime/db.transaction.test.js +380 -0
  94. package/dist/runtime/db.transaction.test.js.map +1 -0
  95. package/dist/runtime/db.transport.test.d.ts +2 -0
  96. package/dist/runtime/db.transport.test.d.ts.map +1 -0
  97. package/dist/runtime/db.transport.test.js +73 -0
  98. package/dist/runtime/db.transport.test.js.map +1 -0
  99. package/dist/runtime/db.worker-bootstrap.test.js +32 -4
  100. package/dist/runtime/db.worker-bootstrap.test.js.map +1 -1
  101. package/dist/runtime/index.d.ts +3 -3
  102. package/dist/runtime/index.d.ts.map +1 -1
  103. package/dist/runtime/index.js +3 -3
  104. package/dist/runtime/index.js.map +1 -1
  105. package/dist/runtime/napi.auth-failure.test.d.ts +2 -0
  106. package/dist/runtime/napi.auth-failure.test.d.ts.map +1 -0
  107. package/dist/runtime/napi.auth-failure.test.js +55 -0
  108. package/dist/runtime/napi.auth-failure.test.js.map +1 -0
  109. package/dist/runtime/napi.for-request.test.js +2 -0
  110. package/dist/runtime/napi.for-request.test.js.map +1 -1
  111. package/dist/runtime/napi.integration.test.js +4 -340
  112. package/dist/runtime/napi.integration.test.js.map +1 -1
  113. package/dist/runtime/query-adapter.d.ts.map +1 -1
  114. package/dist/runtime/query-adapter.js +69 -6
  115. package/dist/runtime/query-adapter.js.map +1 -1
  116. package/dist/runtime/query-adapter.test.js +134 -0
  117. package/dist/runtime/query-adapter.test.js.map +1 -1
  118. package/dist/runtime/query-builder-shape.d.ts +10 -0
  119. package/dist/runtime/query-builder-shape.d.ts.map +1 -1
  120. package/dist/runtime/query-builder-shape.js +20 -0
  121. package/dist/runtime/query-builder-shape.js.map +1 -1
  122. package/dist/runtime/schema-fetch.d.ts +19 -1
  123. package/dist/runtime/schema-fetch.d.ts.map +1 -1
  124. package/dist/runtime/schema-fetch.js +39 -0
  125. package/dist/runtime/schema-fetch.js.map +1 -1
  126. package/dist/runtime/schema-fetch.test.js +93 -1
  127. package/dist/runtime/schema-fetch.test.js.map +1 -1
  128. package/dist/runtime/sync-transport.d.ts +8 -142
  129. package/dist/runtime/sync-transport.d.ts.map +1 -1
  130. package/dist/runtime/sync-transport.js +5 -451
  131. package/dist/runtime/sync-transport.js.map +1 -1
  132. package/dist/runtime/url.d.ts +13 -0
  133. package/dist/runtime/url.d.ts.map +1 -0
  134. package/dist/runtime/url.js +33 -0
  135. package/dist/runtime/url.js.map +1 -0
  136. package/dist/runtime/url.test.d.ts +2 -0
  137. package/dist/runtime/url.test.d.ts.map +1 -0
  138. package/dist/runtime/url.test.js +28 -0
  139. package/dist/runtime/url.test.js.map +1 -0
  140. package/dist/runtime/worker-bridge.d.ts +3 -0
  141. package/dist/runtime/worker-bridge.d.ts.map +1 -1
  142. package/dist/runtime/worker-bridge.js +13 -2
  143. package/dist/runtime/worker-bridge.js.map +1 -1
  144. package/dist/schema-permissions.d.ts.map +1 -1
  145. package/dist/schema-permissions.js +7 -0
  146. package/dist/schema-permissions.js.map +1 -1
  147. package/dist/testing/index.test.js +12 -36
  148. package/dist/testing/index.test.js.map +1 -1
  149. package/dist/testing/relation-ir-test-helpers.d.ts.map +1 -1
  150. package/dist/testing/relation-ir-test-helpers.js +7 -0
  151. package/dist/testing/relation-ir-test-helpers.js.map +1 -1
  152. package/dist/typed-app.d.ts +33 -3
  153. package/dist/typed-app.d.ts.map +1 -1
  154. package/dist/typed-app.js +91 -28
  155. package/dist/typed-app.js.map +1 -1
  156. package/dist/worker/jazz-worker.d.ts +34 -3
  157. package/dist/worker/jazz-worker.d.ts.map +1 -1
  158. package/dist/worker/jazz-worker.js +117 -289
  159. package/dist/worker/jazz-worker.js.map +1 -1
  160. package/dist/worker/jazz-worker.test.d.ts +9 -6
  161. package/dist/worker/jazz-worker.test.d.ts.map +1 -1
  162. package/dist/worker/jazz-worker.test.js +80 -69
  163. package/dist/worker/jazz-worker.test.js.map +1 -1
  164. package/dist/worker/jazz-worker.ts +137 -328
  165. package/dist/worker/worker-protocol.d.ts +11 -1
  166. package/dist/worker/worker-protocol.d.ts.map +1 -1
  167. package/package.json +4 -4
  168. package/dist/runtime/client.sync-auth.test.d.ts +0 -2
  169. package/dist/runtime/client.sync-auth.test.d.ts.map +0 -1
  170. package/dist/runtime/client.sync-auth.test.js +0 -183
  171. package/dist/runtime/client.sync-auth.test.js.map +0 -1
  172. package/dist/runtime/sync-transport.lazy-client-id.test.d.ts +0 -2
  173. package/dist/runtime/sync-transport.lazy-client-id.test.d.ts.map +0 -1
  174. package/dist/runtime/sync-transport.lazy-client-id.test.js +0 -48
  175. package/dist/runtime/sync-transport.lazy-client-id.test.js.map +0 -1
  176. package/dist/runtime/sync-transport.test.d.ts +0 -2
  177. package/dist/runtime/sync-transport.test.d.ts.map +0 -1
  178. package/dist/runtime/sync-transport.test.js +0 -538
  179. package/dist/runtime/sync-transport.test.js.map +0 -1
  180. package/dist/runtime/utils.d.ts +0 -2
  181. package/dist/runtime/utils.d.ts.map +0 -1
  182. package/dist/runtime/utils.js +0 -16
  183. package/dist/runtime/utils.js.map +0 -1
  184. package/dist/worker/server-payload-batcher.d.ts +0 -16
  185. package/dist/worker/server-payload-batcher.d.ts.map +0 -1
  186. package/dist/worker/server-payload-batcher.js +0 -33
  187. package/dist/worker/server-payload-batcher.js.map +0 -1
package/bin/docs-index.db CHANGED
Binary file
@@ -110,6 +110,7 @@ On a live client, `db.updateAuthToken(jwt)` is only for replacing the bearer tok
110
110
  the same principal:
111
111
 
112
112
  - `db.updateAuthToken(jwt)` refreshes bearer auth for the same principal on the live client.
113
+ - Backend-scoped wrappers from `createJazzContext().asBackend()`, `.forRequest()`, and `.forSession()` do not own shared bearer auth and ignore `updateAuthToken(...)`.
113
114
  - Do not use `db.updateAuthToken(null)` for logout or local-first fallback on a live client.
114
115
  - Switching from one principal to another, like `alice -> bob`, is not supported on a live `Db`.
115
116
  Recreate `Db` or `JazzProvider` when the authenticated user changes.
@@ -167,6 +168,7 @@ NODE_ENV=production \
167
168
  jazz-tools server "$JAZZ_APP_ID" \
168
169
  --port 1625 \
169
170
  --data-dir ./data \
171
+ --allow-local-first-auth \
170
172
  --jwks-url https://auth.example.com/.well-known/jwks.json \
171
173
  --backend-secret "$JAZZ_BACKEND_SECRET" \
172
174
  --admin-secret "$JAZZ_ADMIN_SECRET"
@@ -199,7 +201,7 @@ Users on local-first auth can sign up with an external provider and keep the sam
199
201
  TITLE:Local-first auth
200
202
  DESCRIPTION:"Authenticate users without a server using self-signed tokens, and optionally upgrade to an external provider while preserving identity."
201
203
 
202
- Local-first auth lets users start using your app immediately — no sign-up, no server round-trip. Jazz generates a stable identity from a secret stored on the device. Users can later sign up with an external provider like [BetterAuth](https://www.better-auth.com/) and keep the same identity.
204
+ Local-first auth lets users start using your app immediately — no sign-up, no server round-trip. Jazz generates a stable identity from a secret stored on the device. Without a recovery mechanism, that identity lives only on the device — if the secret is lost, it's gone. Linking to an external provider at sign-up is one way to make the identity durable and recoverable.
203
205
 
204
206
  | Mode | Identity source | Server needed? | Best for |
205
207
  | ------------- | ----------------------- | -------------- | ------------------------------------------------------ |
@@ -400,6 +402,43 @@ You can restrict what local-first users can do until they sign up. Define an `is
400
402
  });
401
403
  ```
402
404
 
405
+ ## Signing up with other providers
406
+
407
+ The BetterAuth example above uses a framework-specific middleware hook. With any other provider the pattern is the same — you need a server endpoint that:
408
+
409
+ 1. Accepts `proofToken` alongside the sign-up credentials
410
+ 2. Verifies it with `verifyLocalFirstIdentityProof` from `jazz-napi`
411
+ 3. Stores the proven Jazz user ID linked to the new user account
412
+ 4. Issues JWTs with either `sub: jazzId` or `jazz_principal_id: jazzId`
413
+
414
+ ```ts title="server.ts"
415
+
416
+ // POST /signup
417
+ app.post("/signup", async (req, res) => {
418
+ const { email, password, proofToken } = req.body;
419
+
420
+ const {
421
+ ok,
422
+ id: jazzUserId,
423
+ error,
424
+ } = verifyLocalFirstIdentityProof(
425
+ proofToken,
426
+ "my-app-signup", // must match the audience used on the client
427
+ );
428
+ if (!ok) return res.status(400).json({ error });
429
+
430
+ // Store jazzUserId so you can include it in future JWTs as `sub`
431
+ // or, for managed providers with provider-owned `sub`, as `jazz_principal_id`
432
+ const user = await db.users.create({ email, password, jazzId: jazzUserId });
433
+
434
+ res.json({ token: issueJwt({ sub: user.jazzId /* ... */ }) });
435
+ });
436
+ ```
437
+
438
+ The `audience` string on the client and server must match. `jazz-napi` normalizes it internally, so any consistent string works.
439
+
440
+ If your provider lets you control the JWT subject, you can set `sub` directly to the Jazz ID. Many managed providers keep `sub` fixed to their own user ID. In that case, call a dedicated `/link-jazz-identity` endpoint immediately after sign-up, store the Jazz ID in provider metadata or your own database, and mint or refresh JWTs with `jazz_principal_id: <jazzId>`. Jazz uses `jazz_principal_id` as `session.user_id` when present and falls back to `sub` otherwise.
441
+
403
442
  ## Under the hood
404
443
 
405
444
  Local-first auth uses Ed25519 cryptography to derive a stable identity from a secret:
@@ -430,6 +469,11 @@ DESCRIPTION:Jazz's approach to row-level security using relationship-based acces
430
469
 
431
470
  Permissions control who can read, insert, update, and delete rows. Jazz enforces them server-side using row-level policies defined in `permissions.ts`. Clients that fail a policy check have their writes rejected and their reads filtered.
432
471
 
472
+ Locally, Jazz distinguishes between two runtime states:
473
+
474
+ - no compiled policy bundle loaded: local session-scoped reads and writes stay permissive
475
+ - compiled policy bundle loaded: every read, insert, update, and delete needs an explicit grant, or it is denied
476
+
433
477
  ## Authoring workflow
434
478
 
435
479
  Permissions are authored in TypeScript.
@@ -470,11 +514,11 @@ We can define permissions in `permissions.ts`:
470
514
 
471
515
  ```
472
516
 
473
- Write your permissions policies in `permissions.ts` at the root of your project (next to `schema.ts`).
517
+ Write your permissions policies in `permissions.ts` next to `schema.ts`. By default Jazz looks for both files at your project root — except in SvelteKit projects, where they should live in `src/lib/` (the standard location for shared app code).
474
518
 
475
- Run `npx jazz-tools@alpha validate` before publishing to identify any issues. You do not need to write a schema migration to update permissions policies. Push the updated policies by running `npx jazz-tools@alpha permissions push`.
519
+ Run `npx jazz-tools@alpha validate` before publishing to identify any issues. You do not need to write a schema migration to update permissions policies. Push the updated policies by running `npx jazz-tools@alpha deploy`.
476
520
 
477
- Apps that do not need user-scoped filtering can still define explicit allow-all policies (`policy.todos.allowRead.always()` or `policy.todos.allowRead.where({})`).
521
+ Apps that do not need user-scoped filtering should still declare explicit grants (`policy.todos.allowRead.always()` or `policy.todos.allowRead.where({})`) once a compiled bundle is loaded.
478
522
 
479
523
  ## Basic policies
480
524
 
@@ -639,9 +683,9 @@ Every policy is evaluated against a session. On the frontend, this is the authen
639
683
 
640
684
  See [Server Setup](/docs/getting-started/server-setup#backend-context-setup) for backend context setup details.
641
685
 
642
- Policies are enforced on the sync server, not on the client. A client can write any data locally,
643
- but the server will reject writes that violate policies when they sync. Reads are filtered
644
- server-side before data is sent to the client.
686
+ Structural-only client runtimes stay permissive locally so offline reads and writes keep working.
687
+ Once a compiled bundle is loaded, Jazz enforces explicit grants locally too. Sync servers still
688
+ reject violating writes, and server-scoped reads are filtered before data is sent to the client.
645
689
 
646
690
  ## Magic columns
647
691
 
@@ -1445,16 +1489,16 @@ npx jazz-tools@alpha server "$JAZZ_APP_ID" \
1445
1489
 
1446
1490
  `jazz-tools server ` currently supports:
1447
1491
 
1448
- | Option | Purpose | Environment variable | Default |
1449
- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------- |
1450
- | `` (positional) | App namespace identifier (required) | - | - |
1451
- | `-p, --port ` | Listen port | - | `1625` |
1452
- | `-d, --data-dir ` | Persistent storage directory | - | `./data` |
1453
- | `--in-memory` | Use in-memory storage instead of files; data is lost when the process exits | - | off |
1454
- | `--jwks-url ` | JWKS endpoint for external JWT validation | `JAZZ_JWKS_URL` | unset |
1455
- | `--allow-local-first-auth` | Allow local-first auth (`Authorization: Bearer <self-signed Jazz JWT>`) | `JAZZ_ALLOW_LOCAL_FIRST_AUTH` | see `NODE_ENV` note below |
1456
- | `--backend-secret ` | Enable backend session impersonation | `JAZZ_BACKEND_SECRET` | unset |
1457
- | `--admin-secret ` | Required for `permissions push`, `migrations push`, and schema catalogue reads. In development mode, structural schema auto-sync works without it. | `JAZZ_ADMIN_SECRET` | unset |
1492
+ | Option | Purpose | Environment variable | Default |
1493
+ | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------- |
1494
+ | `` (positional) | App namespace identifier (required) | - | - |
1495
+ | `-p, --port ` | Listen port | - | `1625` |
1496
+ | `-d, --data-dir ` | Persistent storage directory | - | `./data` |
1497
+ | `--in-memory` | Use in-memory storage instead of files; data is lost when the process exits | - | off |
1498
+ | `--jwks-url ` | JWKS endpoint for external JWT validation | `JAZZ_JWKS_URL` | unset |
1499
+ | `--allow-local-first-auth` | Allow local-first auth (`Authorization: Bearer <self-signed Jazz JWT>`) | `JAZZ_ALLOW_LOCAL_FIRST_AUTH` | see `NODE_ENV` note below |
1500
+ | `--backend-secret ` | Enable backend session impersonation | `JAZZ_BACKEND_SECRET` | unset |
1501
+ | `--admin-secret ` | Required for `deploy`, `migrations push`, and schema catalogue reads. In development mode, structural schema auto-sync works without it. | `JAZZ_ADMIN_SECRET` | unset |
1458
1502
 
1459
1503
  Local-first auth is enabled by default in development and requires `--allow-local-first-auth` in production. External JWT auth requires `--jwks-url`.
1460
1504
 
@@ -1689,7 +1733,7 @@ Start with a fresh app. If you already have one, skip to [Install](#install).
1689
1733
 
1690
1734
  ## Define your schema
1691
1735
 
1692
- Create `schema.ts` at the root of your project. This is the source of truth for your data model.
1736
+ Create `schema.ts` at the root of your project (or `src/lib/schema.ts` for SvelteKit). This is the source of truth for your data model.
1693
1737
 
1694
1738
  ```ts
1695
1739
 
@@ -2149,7 +2193,7 @@ The server rejects all reads and writes unless you define [permissions](/docs/au
2149
2193
  Then publish the permissions bundle:
2150
2194
 
2151
2195
  ```bash title="Terminal"
2152
- npx jazz-tools@alpha permissions push \
2196
+ npx jazz-tools@alpha deploy \
2153
2197
  --server-url http://127.0.0.1:1625 \
2154
2198
  --admin-secret secret
2155
2199
  ```
@@ -2168,7 +2212,7 @@ Update your client config to use the same app ID, and add `serverUrl`:
2168
2212
 
2169
2213
  Clients pick up the schema from the server when they connect. If you update `schema.ts` you need to [create and push a migration to the new schema](/docs/schemas/migrations) so that clients can understand existing data with the new schema.
2170
2214
 
2171
- Permissions can be updated without adding a new schema by using `npx jazz-tools@alpha permissions push`.
2215
+ Permissions can be updated without adding a new schema by using `npx jazz-tools@alpha deploy`.
2172
2216
 
2173
2217
  For production deployment and hosting options, see [Server Setup](/docs/getting-started/server-setup).
2174
2218
 
@@ -2209,7 +2253,7 @@ pnpm add -D typescript tsx
2209
2253
 
2210
2254
  ## Define your schema
2211
2255
 
2212
- Create `schema.ts` at the root of your project. This is the source of truth for your data model.
2256
+ Create `schema.ts` at the root of your project (or `src/lib/schema.ts` for SvelteKit). This is the source of truth for your data model.
2213
2257
 
2214
2258
  ```ts
2215
2259
 
@@ -2743,6 +2787,52 @@ pub fn composing_queries() {
2743
2787
 
2744
2788
  See [Filters & Sorting](/docs/reading/filters-and-sorting) for the full list of `where` operators, `orderBy`, `limit`, and `offset`.
2745
2789
 
2790
+ ## Read durability
2791
+
2792
+ Queries and subscriptions return results as soon as they are available locally by default. Local reads are effectively instant, and remote updates stream in as they arrive, which is normally a good default. When you need a stronger guarantee for the first result, pass a `tier` option to fetch data from a different tier before returning.
2793
+
2794
+ For background on how data flows between tiers, see [How Sync Works](/docs/concepts/how-sync-works#infrastructure-tiers).
2795
+
2796
+ ### Choosing a tier
2797
+
2798
+ Pass a tier when you need the first result to be authoritative at a specific level&hairsp;—&hairsp;for example, when a user has just navigated to a page and a stale local snapshot would mislead them.
2799
+
2800
+ - `"worker"`&hairsp;—&hairsp;Local storage only. The default on browsers and clients. Fastest, but reflects only what this device has already synced.
2801
+ - `"edge"`&hairsp;—&hairsp;Wait for the nearest sync server to respond. The default on backends and servers. A good middle ground when you want confirmation that the query has fetched data from the network.
2802
+ - `"global"`&hairsp;—&hairsp;Wait for the central server. Use when you need a globally-consistent snapshot, accepting the extra round-trip latency.
2803
+
2804
+ ```ts
2805
+
2806
+ return db.all(app.todos.where({ done: false }), { tier: "edge", localUpdates: "immediate" });
2807
+ }
2808
+ ```
2809
+
2810
+ ```rs
2811
+ pub async fn read_todos_at_edge_durability(client: &JazzClient) -> jazz_tools::Result<usize> {
2812
+ let query = QueryBuilder::new("todos").build();
2813
+ let rows = client
2814
+ .query(query, Some(DurabilityTier::EdgeServer))
2815
+ .await?;
2816
+ Ok(rows.len())
2817
+ }
2818
+ ```
2819
+
2820
+ The read tier gates the **first** delivery of a subscription only. After the initial snapshot
2821
+ arrives at the requested tier, subsequent updates are delivered as they reach the local node,
2822
+ regardless of which tier they've propagated to. For example, a subscription with `tier: "global"`
2823
+ guarantees a globally-consistent initial snapshot, but later incremental updates from other
2824
+ clients may arrive through edge tiers before being globally available **even if the durability of
2825
+ the write is set to `"global"`**.
2826
+
2827
+ ### Local updates and propagation
2828
+
2829
+ Two additional options control how the subscription interacts with local writes and upstream servers:
2830
+
2831
+ - `localUpdates` (`"immediate"` \| `"deferred"`, default `"immediate"`)&hairsp;—&hairsp;With `"immediate"`, your own local writes appear in the subscription while it's still waiting for the tier to confirm the initial snapshot (only once the subscription has settled at least once). With `"deferred"`, all delivery is held until the tier confirms.
2832
+ - `propagation` (`"full"` \| `"local-only"`, default `"full"`)&hairsp;—&hairsp;With `"full"`, the subscription is sent to upstream servers, which push matching data back. With `"local-only"`, only local storage is queried and no server communication happens.
2833
+
2834
+ See [Durability Tiers](/docs/reference/durability-tiers) for the full reference, including which APIs accept these options and how they compose.
2835
+
2746
2836
  ## Magic columns
2747
2837
 
2748
2838
  You can select and filter on Jazz's magic columns just like other columns. They are omitted from
@@ -2840,8 +2930,8 @@ const todos = useAll(app.todos);
2840
2930
  ```
2841
2931
 
2842
2932
  You're unlikely to see `undefined` in practice unless you're awaiting a more [durable
2843
- tier](/docs/reference/durability-tiers). Local storage reads are effectively instant and resolve
2844
- to `[]` if no data exists yet.
2933
+ tier](#read-durability). Local storage reads are effectively instant and resolve to `[]` if no
2934
+ data exists yet.
2845
2935
 
2846
2936
  ### Conditional queries
2847
2937
 
@@ -2896,33 +2986,6 @@ const filtered = useAll(query);
2896
2986
 
2897
2987
  ```
2898
2988
 
2899
- ### Read durability
2900
-
2901
- By default, queries deliver results from local storage immediately. Pass a `tier` option to wait for
2902
- a specific durability level before the first result arrives.
2903
-
2904
- ```ts
2905
-
2906
- return db.all(app.todos.where({ done: false }), { tier: "edge", localUpdates: "immediate" });
2907
- }
2908
- ```
2909
-
2910
- ```rs
2911
- pub async fn read_todos_at_edge_durability(client: &JazzClient) -> jazz_tools::Result<usize> {
2912
- let query = QueryBuilder::new("todos").build();
2913
- let rows = client
2914
- .query(query, Some(DurabilityTier::EdgeServer))
2915
- .await?;
2916
- Ok(rows.len())
2917
- }
2918
- ```
2919
-
2920
- For subscriptions, the durability tier applies only to the first result. After that, updates
2921
- stream in as they become available and are not guaranteed to have reached any particular tier.
2922
-
2923
- See [Durability Tiers](/docs/reference/durability-tiers) for the full reference, including
2924
- `localUpdates`, `propagation`, and how tiers interact with subscriptions.
2925
-
2926
2989
  ### React Suspense and Transitions
2927
2990
 
2928
2991
  `useAllSuspense` is a React-specific variant that suspends instead of returning `undefined`, keeping the previous result visible while the next one loads.
@@ -3040,7 +3103,7 @@ Jazz supports external JWT-based authentication for production use. This recipe
3040
3103
  1. The user signs in with your auth provider and gets a JWT.
3041
3104
  2. Your client passes that JWT to Jazz.
3042
3105
  3. The Jazz server validates the JWT signature against the provider's JWKS endpoint.
3043
- 4. On success, Jazz derives `session.user_id` from the JWT's `sub` claim and issuer.
3106
+ 4. On success, Jazz derives `session.user_id` from `jazz_principal_id` when present, otherwise from the JWT's `sub` claim.
3044
3107
 
3045
3108
  If you're unfamiliar with JWTs and JWKS, see the [explainer on the Authentication page](/docs/auth/authentication#external-auth-for-production).
3046
3109
 
@@ -3187,7 +3250,7 @@ Any provider that issues JWTs and exposes a JWKS endpoint will work. The key pat
3187
3250
  | Auth0 | `https://<tenant>.auth0.com/.well-known/jwks.json` | `auth0\|<id>` |
3188
3251
  | Firebase | `https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com` | Firebase UID |
3189
3252
 
3190
- The `sub` claim identifies the user. Jazz derives `session.user_id` from it (combined with the JWT issuer when present).
3253
+ By default, the `sub` claim identifies the user. If your provider supports custom claims but keeps `sub` fixed to its own user ID, include `jazz_principal_id` in the JWT instead. Jazz uses `jazz_principal_id` as `session.user_id` when present and falls back to `sub` otherwise.
3191
3254
 
3192
3255
  Full working examples: [Better Auth chat](https://github.com/garden-co/jazz/tree/main/examples/auth-betterauth-chat), [WorkOS chat](https://github.com/garden-co/jazz/tree/main/examples/auth-workos-chat).
3193
3256
 
@@ -3564,7 +3627,7 @@ See [Defining tables](/docs/schemas/defining-tables) for the full schema DSL.
3564
3627
 
3565
3628
  ## Permissions
3566
3629
 
3567
- Match `$createdBy` to the `session.user_id` to validate whether the current user is the one who created the data. Because `$createdBy` is set automatically, we can allow all users to insert.
3630
+ Match `$createdBy` to the `session.user_id` to validate whether the current user is the one who created the data. Because `$createdBy` is set automatically, we can declare insert explicitly with `.always()`.
3568
3631
 
3569
3632
  ```ts
3570
3633
  s.definePermissions(app, ({ policy, session }) => {
@@ -3748,7 +3811,7 @@ await db.deleteClientStorage();
3748
3811
  - Browser worker-backed `Db` only.
3749
3812
  - Must be called from the leader tab; otherwise it logs an error and returns without deleting. Close other tabs first.
3750
3813
  - Deletes OPFS storage only (`${namespace}.opfsbtree` for the active namespace).
3751
- - Does not clear `localStorage` auth/synthetic-user data.
3814
+ - Does not clear `localStorage` local-first auth data.
3752
3815
  - Reopens a clean worker runtime, so the same `db` instance remains usable.
3753
3816
 
3754
3817
  This is useful when iterating on your schema during development.
@@ -4607,8 +4670,18 @@ Traditional migration systems run a linear sequence and require peers to converg
4607
4670
  npx jazz-tools@alpha migrations push <fromHash> <toHash>
4608
4671
  ```
4609
4672
 
4673
+ If you also want to publish the current schema, the migration and permissions in one step, you can run:
4674
+
4675
+ ```bash
4676
+ npx jazz-tools@alpha deploy
4677
+ ```
4678
+
4679
+ `deploy` publishes the current schema if the server does not already know it, checks whether the
4680
+ previous permissions schema is connected to the new one on the server, pushes the local migration
4681
+ if needed, and then publishes the current permissions.
4682
+
4610
4683
  Permission-only changes in `permissions.ts` do not need migrations, but they do still require
4611
- `npx jazz-tools@alpha permissions push`. See [Permissions](/docs/auth/permissions) for details.
4684
+ `npx jazz-tools@alpha deploy`. See [Permissions](/docs/auth/permissions) for details.
4612
4685
 
4613
4686
  ## Generated stub
4614
4687
 
@@ -5162,6 +5235,12 @@ DESCRIPTION:Insert, update, and delete APIs with local-first execution, framewor
5162
5235
 
5163
5236
  All writes execute against the local database first. `insert`, `update`, and `delete` return immediately, while their `Durable` variants (`insertDurable`, `updateDurable`, `deleteDurable`) return a promise that resolves once the write reaches the requested [durability tier](#write-durability-tiers).
5164
5237
 
5238
+ For TypeScript callers that need a replayable handle instead of awaiting immediately, Jazz also exposes persisted-write helpers and explicit batch builders:
5239
+
5240
+ - `insertPersisted`, `updatePersisted`, `deletePersisted` return `DbPersistedWrite`
5241
+ - `beginTransaction(...)` returns `DbTransaction`
5242
+ - `beginDirectBatch(...)` returns `DbDirectBatch`
5243
+
5165
5244
  For browser `Blob`, `File`, or `ReadableStream` uploads, use `db.createFileFromBlob(...)`
5166
5245
  or `db.createFileFromStream(...)` and store the returned file ID on your own row.
5167
5246
 
@@ -5313,4 +5392,57 @@ pub async fn write_todo_with_default_durability(
5313
5392
 
5314
5393
  See [Durability Tiers](/docs/reference/durability-tiers) for the full reference, including read durability, data flow between tiers, and consistency semantics.
5315
5394
 
5316
- Need to clear local data during development? See [How do I reset browser storage?](/docs/reference/faq#reset-browser-storage)
5395
+ Need to clear local data during development? See [How do I reset browser storage?](/docs/reference/faq#reset-browser-storage)
5396
+
5397
+ ## Persisted write handles
5398
+
5399
+ Use the persisted variants when you want to keep a stable handle to a write after issuing it locally.
5400
+
5401
+ ```ts
5402
+ const pending = db.insertPersisted(app.todos, {
5403
+ title: "Ship review fixes",
5404
+ done: false,
5405
+ });
5406
+
5407
+ console.log(pending.batchId());
5408
+ console.log(pending.localBatchRecord());
5409
+
5410
+ try {
5411
+ const row = await pending.wait();
5412
+ console.log(row.id);
5413
+ } catch (error) {
5414
+ if (error instanceof PersistedWriteRejectedError) {
5415
+ console.error(error.code, error.reason);
5416
+ pending.acknowledgeRejectedBatch();
5417
+ }
5418
+ }
5419
+ ```
5420
+
5421
+ `wait()` resolves when the batch reaches the requested durability tier. If the batch is replayably rejected, it rejects with `PersistedWriteRejectedError` instead of hanging.
5422
+
5423
+ ## Explicit batches
5424
+
5425
+ Use an explicit transaction when several writes should settle together after an authority validates the sealed batch:
5426
+
5427
+ ```ts
5428
+ const tx = db.beginTransaction(app.todos);
5429
+
5430
+ tx.insert(app.todos, { title: "Draft copy", done: false });
5431
+ tx.update(app.todos, todoId, { done: true });
5432
+
5433
+ const batchId = tx.commit();
5434
+ console.log(batchId);
5435
+ ```
5436
+
5437
+ Use a direct batch when you want to group several ordinary writes under one batch id without sealing:
5438
+
5439
+ ```ts
5440
+ const batch = db.beginDirectBatch(app.todos);
5441
+
5442
+ batch.insert(app.todos, { title: "Grouped direct write", done: false });
5443
+ batch.update(app.todos, todoId, { done: true });
5444
+
5445
+ console.log(batch.batchId());
5446
+ ```
5447
+
5448
+ Both builders can also issue persisted writes, expose `localBatchRecord()` / `localBatchRecords()`, and let you acknowledge replayable rejections by batch id.
package/bin/jazz-tools.js CHANGED
@@ -101,8 +101,8 @@ function printWrapperHelp() {
101
101
  console.log(
102
102
  " schema export Print structural schema JSON from schema.ts or a schema hash",
103
103
  );
104
+ console.log(" deploy Publish the current schema and permissions to the server");
104
105
  console.log(" permissions status Show the current server permissions head for this app");
105
- console.log(" permissions push Publish the current permissions.ts with head-parent checks");
106
106
  console.log(
107
107
  " migrations create Generate a typed structural migration stub from snapshots or schema hashes",
108
108
  );
@@ -135,6 +135,7 @@ if (!command || command === "--help" || command === "-h") {
135
135
  fail("`jazz-tools build` has been renamed to `jazz-tools validate`.");
136
136
  } else if (
137
137
  command === "validate" ||
138
+ command === "deploy" ||
138
139
  command === "migrations" ||
139
140
  command === "permissions" ||
140
141
  command === "schema"
Binary file
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"create-jazz-context.d.ts","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-jazz-context.d.ts","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,14 @@ export class JazzContext {
91
91
  defaultDurabilityTier: "edge",
92
92
  };
93
93
  this.clientInstance = JazzClient.connectWithRuntime(this.runtime, context);
94
+ // Wire Rust-owned WebSocket transport when a server URL is configured.
95
+ if (this.config.serverUrl) {
96
+ this.clientInstance.connectTransport(this.config.serverUrl, {
97
+ backend_secret: this.config.backendSecret,
98
+ admin_secret: this.config.adminSecret,
99
+ jwt_token: this.config.jwtToken,
100
+ }, this.config.serverPathPrefix);
101
+ }
94
102
  return this.clientInstance;
95
103
  }
96
104
  buildDbConfig() {
@@ -105,8 +113,14 @@ export class JazzContext {
105
113
  adminSecret: this.config.adminSecret,
106
114
  };
107
115
  }
108
- wrapDb(client, session, attribution) {
109
- return createDbFromClient(this.buildDbConfig(), client, session, attribution);
116
+ wrapDb(client, session, attribution, backendScoped = false) {
117
+ return createDbFromClient(this.buildDbConfig(), client, session, attribution, backendScoped
118
+ ? {
119
+ status: "authenticated",
120
+ transport: "backend",
121
+ session: session ?? null,
122
+ }
123
+ : undefined);
110
124
  }
111
125
  /**
112
126
  * Get the shared Jazz client, lazily creating it on first access.
@@ -134,7 +148,7 @@ export class JazzContext {
134
148
  * Get a backend-scoped `Db` authenticated with `backendSecret`.
135
149
  */
136
150
  asBackend(source) {
137
- return this.wrapDb(this.getClient(source).asBackend());
151
+ return this.wrapDb(this.getClient(source).asBackend(), undefined, undefined, true);
138
152
  }
139
153
  /**
140
154
  * Build a backend-scoped `Db` that stamps write provenance as `principalId`
@@ -143,7 +157,7 @@ export class JazzContext {
143
157
  withAttribution(principalId, source) {
144
158
  const client = this.getClient(source);
145
159
  this.enableBackendSyncIfConfigured(client);
146
- return this.wrapDb(client, undefined, principalId);
160
+ return this.wrapDb(client, undefined, principalId, true);
147
161
  }
148
162
  /**
149
163
  * Enable backend-authenticated sync for a scoped `Db` when this context is connected
@@ -172,7 +186,7 @@ export class JazzContext {
172
186
  const client = this.getClient(source);
173
187
  const session = await this.resolveRequestSession(request);
174
188
  this.enableBackendSyncIfConfigured(client);
175
- return this.wrapDb(client, session);
189
+ return this.wrapDb(client, session, undefined, true);
176
190
  }
177
191
  /**
178
192
  * Build a backend-scoped `Db` that stamps write provenance using the
@@ -181,7 +195,7 @@ export class JazzContext {
181
195
  withAttributionForSession(session, source) {
182
196
  const client = this.getClient(source);
183
197
  this.enableBackendSyncIfConfigured(client);
184
- return this.wrapDb(client, undefined, session.user_id);
198
+ return this.wrapDb(client, undefined, session.user_id, true);
185
199
  }
186
200
  /**
187
201
  * Build a backend-scoped `Db` that stamps write provenance using the
@@ -196,7 +210,7 @@ export class JazzContext {
196
210
  forSession(session, source) {
197
211
  const client = this.getClient(source);
198
212
  this.enableBackendSyncIfConfigured(client);
199
- return this.wrapDb(client, session);
213
+ return this.wrapDb(client, session, undefined, true);
200
214
  }
201
215
  /**
202
216
  * Flush the underlying runtime if initialized.
@@ -1 +1 @@
1
- {"version":3,"file":"create-jazz-context.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-jazz-context.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const mocks = vi.hoisted(() => {
13
13
  asBackend: vi.fn(function () {
14
14
  return this;
15
15
  }),
16
+ connectTransport: vi.fn(),
16
17
  shutdown: vi.fn(async () => undefined),
17
18
  };
18
19
  clients.push(client);
@@ -1 +1 @@
1
- {"version":3,"file":"create-jazz-context.test.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-jazz-context.test.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.test.ts"],"names":[],"mappings":"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"}