jazz-tools 2.0.0-alpha.18 → 2.0.0-alpha.19

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 (57) hide show
  1. package/bin/native/jazz-tools-darwin-arm64 +0 -0
  2. package/bin/native/jazz-tools-darwin-x64 +0 -0
  3. package/bin/native/jazz-tools-linux-arm64 +0 -0
  4. package/bin/native/jazz-tools-linux-x64 +0 -0
  5. package/bin/native/jazz-tools-windows-x64.exe +0 -0
  6. package/dist/backend/create-jazz-context.d.ts +23 -11
  7. package/dist/backend/create-jazz-context.d.ts.map +1 -1
  8. package/dist/backend/create-jazz-context.js +54 -12
  9. package/dist/backend/create-jazz-context.js.map +1 -1
  10. package/dist/backend/create-jazz-context.test.js +84 -29
  11. package/dist/backend/create-jazz-context.test.js.map +1 -1
  12. package/dist/backend/index.d.ts +3 -2
  13. package/dist/backend/index.d.ts.map +1 -1
  14. package/dist/backend/index.js +1 -1
  15. package/dist/backend/index.js.map +1 -1
  16. package/dist/codegen/codegen.test.js +23 -20
  17. package/dist/codegen/codegen.test.js.map +1 -1
  18. package/dist/codegen/query-builder-generator.d.ts.map +1 -1
  19. package/dist/codegen/query-builder-generator.js +23 -14
  20. package/dist/codegen/query-builder-generator.js.map +1 -1
  21. package/dist/codegen/type-generator.d.ts.map +1 -1
  22. package/dist/codegen/type-generator.js +18 -11
  23. package/dist/codegen/type-generator.js.map +1 -1
  24. package/dist/runtime/client.d.ts +39 -0
  25. package/dist/runtime/client.d.ts.map +1 -1
  26. package/dist/runtime/client.js +75 -4
  27. package/dist/runtime/client.js.map +1 -1
  28. package/dist/runtime/db.d.ts +31 -0
  29. package/dist/runtime/db.d.ts.map +1 -1
  30. package/dist/runtime/db.js +116 -0
  31. package/dist/runtime/db.js.map +1 -1
  32. package/dist/runtime/file-storage.d.ts +69 -0
  33. package/dist/runtime/file-storage.d.ts.map +1 -0
  34. package/dist/runtime/file-storage.js +305 -0
  35. package/dist/runtime/file-storage.js.map +1 -0
  36. package/dist/runtime/file-storage.test.d.ts +2 -0
  37. package/dist/runtime/file-storage.test.d.ts.map +1 -0
  38. package/dist/runtime/file-storage.test.js +228 -0
  39. package/dist/runtime/file-storage.test.js.map +1 -0
  40. package/dist/runtime/index.d.ts +1 -0
  41. package/dist/runtime/index.d.ts.map +1 -1
  42. package/dist/runtime/index.js +1 -0
  43. package/dist/runtime/index.js.map +1 -1
  44. package/dist/runtime/napi.integration.test.js +242 -209
  45. package/dist/runtime/napi.integration.test.js.map +1 -1
  46. package/dist/runtime/query-adapter.d.ts.map +1 -1
  47. package/dist/runtime/query-adapter.js +11 -0
  48. package/dist/runtime/query-adapter.js.map +1 -1
  49. package/dist/runtime/query-adapter.test.js +138 -0
  50. package/dist/runtime/query-adapter.test.js.map +1 -1
  51. package/dist/runtime/query-builder-shape.d.ts +2 -0
  52. package/dist/runtime/query-builder-shape.d.ts.map +1 -1
  53. package/dist/runtime/query-builder-shape.js +12 -1
  54. package/dist/runtime/query-builder-shape.js.map +1 -1
  55. package/dist/testing/index.test.js +2 -2
  56. package/dist/testing/index.test.js.map +1 -1
  57. package/package.json +4 -4
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,7 @@
1
1
  import type { WasmSchema } from "../drivers/types.js";
2
- import { JazzClient, type RequestLike, type SessionClient } from "../runtime/client.js";
2
+ import { type RequestLike } from "../runtime/client.js";
3
3
  import type { AppContext, Session } from "../runtime/context.js";
4
+ import { type Db } from "../runtime/db.js";
4
5
  export interface BackendSchemaSource {
5
6
  wasmSchema: WasmSchema;
6
7
  }
@@ -26,9 +27,9 @@ export interface BackendContextConfig extends Omit<AppContext, "schema" | "drive
26
27
  /**
27
28
  * Server-side Jazz context with lazy runtime setup.
28
29
  *
29
- * The first call to `client()`, `asBackend()`, `forRequest()`, or `forSession()` initializes
30
- * a NAPI runtime and JazzClient using the provided app/schema source. Later
31
- * calls reuse the same initialized runtime.
30
+ * The first call to `db()`, `asBackend()`, `forRequest()`, or `forSession()`
31
+ * initializes a NAPI runtime and backing client using the provided app/schema source.
32
+ * Later calls reuse the same initialized runtime.
32
33
  */
33
34
  export declare class JazzContext {
34
35
  private readonly config;
@@ -39,22 +40,33 @@ export declare class JazzContext {
39
40
  constructor(config: BackendContextConfig);
40
41
  private resolveSchema;
41
42
  private createClient;
43
+ private buildDbConfig;
44
+ private wrapDb;
42
45
  /**
43
46
  * Get the shared Jazz client, lazily creating it on first access.
44
47
  */
45
- client(source?: BackendSchemaInput): JazzClient;
48
+ private getClient;
46
49
  /**
47
- * Get a backend-scoped client authenticated with `backendSecret`.
50
+ * Get a high-level `Db` using the context's configured auth/runtime identity.
48
51
  */
49
- asBackend(source?: BackendSchemaInput): JazzClient;
52
+ db(source?: BackendSchemaInput): Db;
50
53
  /**
51
- * Build a requester-scoped client from an authenticated request.
54
+ * Get a backend-scoped `Db` authenticated with `backendSecret`.
52
55
  */
53
- forRequest(request: RequestLike, source?: BackendSchemaInput): SessionClient;
56
+ asBackend(source?: BackendSchemaInput): Db;
54
57
  /**
55
- * Build a session-scoped client for server-side impersonation flows.
58
+ * Enable backend-authenticated sync for a scoped `Db` when this context is connected
59
+ * to a sync server. Local-only runtimes can scope sessions without backend auth.
56
60
  */
57
- forSession(session: Session, source?: BackendSchemaInput): SessionClient;
61
+ private enableBackendSyncIfConfigured;
62
+ /**
63
+ * Build a requester-scoped `Db` from an authenticated request.
64
+ */
65
+ forRequest(request: RequestLike, source?: BackendSchemaInput): Db;
66
+ /**
67
+ * Build a session-scoped `Db` for server-side impersonation flows.
68
+ */
69
+ forSession(session: Session, source?: BackendSchemaInput): Db;
58
70
  /**
59
71
  * Flush the underlying runtime if initialized.
60
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create-jazz-context.d.ts","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AAE7F,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,UAAU,EACV,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAC1C;IACC,uDAAuD;IACvD,MAAM,EAAE,aAAa,CAAC;IACtB,yEAAyE;IACzE,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrC;AA8CD;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAqB;IACzD,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAa;gBAExB,MAAM,EAAE,oBAAoB;IAMxC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IA4CpB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAiB/C;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAIlD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,aAAa;IAI5E;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,aAAa;IAIxE;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW,CAE3E"}
1
+ {"version":3,"file":"create-jazz-context.d.ts","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAsB,KAAK,EAAE,EAAiB,MAAM,kBAAkB,CAAC;AAG9E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AAE7F,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,UAAU,EACV,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAC1C;IACC,uDAAuD;IACvD,MAAM,EAAE,aAAa,CAAC;IACtB,yEAAyE;IACzE,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrC;AA8CD;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAqB;IACzD,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAa;gBAExB,MAAM,EAAE,oBAAoB;IAMxC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,EAAE,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAInC;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAI1C;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAYrC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAOjE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAM7D;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW,CAE3E"}
@@ -1,6 +1,7 @@
1
1
  import { NapiRuntime } from "jazz-napi";
2
2
  import { serializeRuntimeSchema } from "../drivers/schema-wire.js";
3
- import { JazzClient } from "../runtime/client.js";
3
+ import { JazzClient, sessionFromRequest } from "../runtime/client.js";
4
+ import { createDbFromClient } from "../runtime/db.js";
4
5
  import { resolveLocalAuthDefaults } from "../runtime/local-auth.js";
5
6
  function assertValidBackendConfig(config) {
6
7
  if (config.driver.type === "memory" && !config.serverUrl) {
@@ -34,9 +35,9 @@ function resolveSchema(input) {
34
35
  /**
35
36
  * Server-side Jazz context with lazy runtime setup.
36
37
  *
37
- * The first call to `client()`, `asBackend()`, `forRequest()`, or `forSession()` initializes
38
- * a NAPI runtime and JazzClient using the provided app/schema source. Later
39
- * calls reuse the same initialized runtime.
38
+ * The first call to `db()`, `asBackend()`, `forRequest()`, or `forSession()`
39
+ * initializes a NAPI runtime and backing client using the provided app/schema source.
40
+ * Later calls reuse the same initialized runtime.
40
41
  */
41
42
  export class JazzContext {
42
43
  config;
@@ -52,7 +53,7 @@ export class JazzContext {
52
53
  resolveSchema(source) {
53
54
  const selected = source ?? this.defaultSchemaInput;
54
55
  if (!selected) {
55
- throw new Error("No schema source provided. Pass `app` to createJazzContext or provide a schema source when calling client()/asBackend()/forRequest()/forSession().");
56
+ throw new Error("No schema source provided. Pass `app` to createJazzContext or provide a schema source when calling db()/asBackend()/forRequest()/forSession().");
56
57
  }
57
58
  return resolveSchema(selected);
58
59
  }
@@ -84,10 +85,27 @@ export class JazzContext {
84
85
  this.clientInstance = JazzClient.connectWithRuntime(this.runtime, context);
85
86
  return this.clientInstance;
86
87
  }
88
+ buildDbConfig() {
89
+ return {
90
+ appId: this.config.appId,
91
+ driver: this.config.driver.type === "memory" ? { type: "memory" } : { type: "persistent" },
92
+ serverUrl: this.config.serverUrl,
93
+ serverPathPrefix: this.config.serverPathPrefix,
94
+ env: this.config.env,
95
+ userBranch: this.config.userBranch,
96
+ jwtToken: this.config.jwtToken,
97
+ localAuthMode: this.config.localAuthMode,
98
+ localAuthToken: this.config.localAuthToken,
99
+ adminSecret: this.config.adminSecret,
100
+ };
101
+ }
102
+ wrapDb(client, session) {
103
+ return createDbFromClient(this.buildDbConfig(), client, session);
104
+ }
87
105
  /**
88
106
  * Get the shared Jazz client, lazily creating it on first access.
89
107
  */
90
- client(source) {
108
+ getClient(source) {
91
109
  const schema = this.resolveSchema(source);
92
110
  const schemaJson = serializeRuntimeSchema(schema);
93
111
  if (!this.clientInstance) {
@@ -99,22 +117,46 @@ export class JazzContext {
99
117
  return this.clientInstance;
100
118
  }
101
119
  /**
102
- * Get a backend-scoped client authenticated with `backendSecret`.
120
+ * Get a high-level `Db` using the context's configured auth/runtime identity.
121
+ */
122
+ db(source) {
123
+ return this.wrapDb(this.getClient(source));
124
+ }
125
+ /**
126
+ * Get a backend-scoped `Db` authenticated with `backendSecret`.
103
127
  */
104
128
  asBackend(source) {
105
- return this.client(source).asBackend();
129
+ return this.wrapDb(this.getClient(source).asBackend());
130
+ }
131
+ /**
132
+ * Enable backend-authenticated sync for a scoped `Db` when this context is connected
133
+ * to a sync server. Local-only runtimes can scope sessions without backend auth.
134
+ */
135
+ enableBackendSyncIfConfigured(client) {
136
+ if (!this.config.serverUrl) {
137
+ return;
138
+ }
139
+ if (!this.config.backendSecret) {
140
+ throw new Error("backendSecret required for request/session-scoped sync when serverUrl is configured.");
141
+ }
142
+ client.asBackend();
106
143
  }
107
144
  /**
108
- * Build a requester-scoped client from an authenticated request.
145
+ * Build a requester-scoped `Db` from an authenticated request.
109
146
  */
110
147
  forRequest(request, source) {
111
- return this.client(source).forRequest(request);
148
+ const client = this.getClient(source);
149
+ const session = sessionFromRequest(request);
150
+ this.enableBackendSyncIfConfigured(client);
151
+ return this.wrapDb(client, session);
112
152
  }
113
153
  /**
114
- * Build a session-scoped client for server-side impersonation flows.
154
+ * Build a session-scoped `Db` for server-side impersonation flows.
115
155
  */
116
156
  forSession(session, source) {
117
- return this.client(source).forSession(session);
157
+ const client = this.getClient(source);
158
+ this.enableBackendSyncIfConfigured(client);
159
+ return this.wrapDb(client, session);
118
160
  }
119
161
  /**
120
162
  * 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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"}
@@ -6,19 +6,27 @@ const mocks = vi.hoisted(() => {
6
6
  const runtimeCtor = vi.fn();
7
7
  const inMemoryRuntimeCtor = vi.fn();
8
8
  const runtimeInstances = [];
9
+ const createdDbs = [];
9
10
  const clients = [];
10
11
  const connectWithRuntime = vi.fn((_runtime, _context) => {
11
12
  const client = {
12
13
  asBackend: vi.fn(function () {
13
14
  return this;
14
15
  }),
15
- forRequest: vi.fn(() => ({ kind: "request-client" })),
16
- forSession: vi.fn(() => ({ kind: "session-client" })),
17
16
  shutdown: vi.fn(async () => undefined),
18
17
  };
19
18
  clients.push(client);
20
19
  return client;
21
20
  });
21
+ const createDbFromClient = vi.fn((_config, client, session) => {
22
+ const db = {
23
+ kind: session ? "scoped-db" : "db",
24
+ client,
25
+ ...(session ? { session } : {}),
26
+ };
27
+ createdDbs.push(db);
28
+ return db;
29
+ });
22
30
  class MockNapiRuntime {
23
31
  flush = vi.fn();
24
32
  constructor(schemaJson, appId, env, userBranch, dataPath, tier) {
@@ -43,6 +51,8 @@ const mocks = vi.hoisted(() => {
43
51
  runtimeInstances,
44
52
  connectWithRuntime,
45
53
  clients,
54
+ createDbFromClient,
55
+ createdDbs,
46
56
  reset() {
47
57
  resolveLocalAuthDefaults.mockReset();
48
58
  runtimeCtor.mockReset();
@@ -50,6 +60,8 @@ const mocks = vi.hoisted(() => {
50
60
  runtimeInstances.length = 0;
51
61
  connectWithRuntime.mockClear();
52
62
  clients.length = 0;
63
+ createDbFromClient.mockClear();
64
+ createdDbs.length = 0;
53
65
  },
54
66
  };
55
67
  });
@@ -66,8 +78,19 @@ vi.mock("../runtime/client.js", async () => {
66
78
  vi.mock("../runtime/local-auth.js", () => ({
67
79
  resolveLocalAuthDefaults: mocks.resolveLocalAuthDefaults,
68
80
  }));
81
+ vi.mock("../runtime/db.js", () => ({
82
+ createDbFromClient: mocks.createDbFromClient,
83
+ }));
69
84
  const SCHEMA_A = {};
70
85
  const SCHEMA_B = { todos: { columns: [] } };
86
+ function makeJwt(payload) {
87
+ const encode = (value) => Buffer.from(JSON.stringify(value), "utf8")
88
+ .toString("base64")
89
+ .replace(/\+/g, "-")
90
+ .replace(/\//g, "_")
91
+ .replace(/=+$/g, "");
92
+ return `${encode({ alg: "none", typ: "JWT" })}.${encode(payload)}.signature`;
93
+ }
71
94
  describe("backend/create-jazz-context", () => {
72
95
  beforeEach(() => {
73
96
  mocks.reset();
@@ -81,88 +104,120 @@ describe("backend/create-jazz-context", () => {
81
104
  });
82
105
  expect(mocks.runtimeCtor).not.toHaveBeenCalled();
83
106
  expect(mocks.connectWithRuntime).not.toHaveBeenCalled();
84
- const clientA = context.client();
85
- const clientB = context.client();
86
- expect(clientA).toBe(clientB);
107
+ const dbA = context.db();
108
+ const dbB = context.db();
109
+ expect(dbA).not.toBe(dbB);
87
110
  expect(mocks.runtimeCtor).toHaveBeenCalledTimes(1);
88
111
  expect(mocks.connectWithRuntime).toHaveBeenCalledTimes(1);
112
+ expect(mocks.createDbFromClient).toHaveBeenCalledTimes(2);
113
+ expect(mocks.createdDbs[0]?.client).toBe(mocks.createdDbs[1]?.client);
89
114
  expect(mocks.runtimeCtor).toHaveBeenCalledWith(serializeRuntimeSchema(SCHEMA_A), "server-app", "dev", "main", "/tmp/jazz.db", "edge");
90
115
  });
91
- it("BC-U02: supports backend/request/session-scoped helpers", () => {
116
+ it("BC-U02: supports high-level db/backend/request/session helpers", () => {
92
117
  const context = createJazzContext({
93
118
  appId: "server-app",
94
119
  app: { wasmSchema: SCHEMA_A },
95
120
  driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
121
+ serverUrl: "http://localhost:1625",
96
122
  backendSecret: "secret",
97
123
  });
98
124
  const req = {
99
- header: (name) => (name === "authorization" ? "Bearer a.b.c" : undefined),
125
+ header: (name) => name === "authorization" ? `Bearer ${makeJwt({ sub: "u1" })}` : undefined,
100
126
  };
101
127
  const session = { user_id: "u1", claims: {} };
102
- const backendClient = context.asBackend();
103
- const requestClient = context.forRequest(req);
104
- const sessionClient = context.forSession(session);
105
- expect(backendClient).toBe(mocks.clients[0]);
106
- expect(requestClient).toEqual({ kind: "request-client" });
107
- expect(sessionClient).toEqual({ kind: "session-client" });
128
+ const db = context.db();
129
+ const backendDb = context.asBackend();
130
+ const requestDb = context.forRequest(req);
131
+ const sessionDb = context.forSession(session);
132
+ expect(db).toEqual({
133
+ kind: "db",
134
+ client: mocks.clients[0],
135
+ });
136
+ expect(backendDb).toEqual({
137
+ kind: "db",
138
+ client: mocks.clients[0],
139
+ });
140
+ expect(requestDb).toEqual({
141
+ kind: "scoped-db",
142
+ client: mocks.clients[0],
143
+ session: { user_id: "u1", claims: {} },
144
+ });
145
+ expect(sessionDb).toEqual({
146
+ kind: "scoped-db",
147
+ client: mocks.clients[0],
148
+ session,
149
+ });
108
150
  expect(mocks.clients).toHaveLength(1);
109
- expect(mocks.clients[0].asBackend).toHaveBeenCalledTimes(1);
110
- expect(mocks.clients[0].forRequest).toHaveBeenCalledWith(req);
111
- expect(mocks.clients[0].forSession).toHaveBeenCalledWith(session);
151
+ expect(mocks.clients[0].asBackend).toHaveBeenCalledTimes(3);
152
+ expect(mocks.createDbFromClient).toHaveBeenCalledTimes(4);
153
+ });
154
+ it("BC-U03: request/session helpers work locally without backend sync config", () => {
155
+ const context = createJazzContext({
156
+ appId: "server-app",
157
+ app: { wasmSchema: SCHEMA_A },
158
+ driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
159
+ });
160
+ const req = {
161
+ header: (name) => name === "authorization" ? `Bearer ${makeJwt({ sub: "u1" })}` : undefined,
162
+ };
163
+ const session = { user_id: "u1", claims: {} };
164
+ expect(() => context.forRequest(req)).not.toThrow();
165
+ expect(() => context.forSession(session)).not.toThrow();
166
+ expect(mocks.clients[0].asBackend).not.toHaveBeenCalled();
112
167
  });
113
- it("BC-U03: throws when no schema source is available", () => {
168
+ it("BC-U04: throws when no schema source is available", () => {
114
169
  const context = createJazzContext({
115
170
  appId: "server-app",
116
171
  driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
117
172
  });
118
- expect(() => context.client()).toThrow("No schema source provided");
173
+ expect(() => context.db()).toThrow("No schema source provided");
119
174
  });
120
- it("BC-U04: rejects switching to a different schema after initialization", () => {
175
+ it("BC-U05: rejects switching to a different schema after initialization", () => {
121
176
  const context = createJazzContext({
122
177
  appId: "server-app",
123
178
  driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
124
179
  });
125
- context.client({ wasmSchema: SCHEMA_A });
126
- expect(() => context.client({ wasmSchema: SCHEMA_B })).toThrow("already initialized with a different schema");
180
+ context.db({ wasmSchema: SCHEMA_A });
181
+ expect(() => context.db({ wasmSchema: SCHEMA_B })).toThrow("already initialized with a different schema");
127
182
  });
128
- it("BC-U05: flush is safe before init and delegates after init", () => {
183
+ it("BC-U06: flush is safe before init and delegates after init", () => {
129
184
  const context = createJazzContext({
130
185
  appId: "server-app",
131
186
  app: { wasmSchema: SCHEMA_A },
132
187
  driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
133
188
  });
134
189
  expect(() => context.flush()).not.toThrow();
135
- context.client();
190
+ context.db();
136
191
  context.flush();
137
192
  expect(mocks.runtimeInstances).toHaveLength(1);
138
193
  expect(mocks.runtimeInstances[0].flush).toHaveBeenCalledTimes(1);
139
194
  });
140
- it("BC-U06: shutdown releases client and allows re-init", async () => {
195
+ it("BC-U07: shutdown releases client and allows re-init", async () => {
141
196
  const context = createJazzContext({
142
197
  appId: "server-app",
143
198
  app: { wasmSchema: SCHEMA_A },
144
199
  driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
145
200
  });
146
- context.client();
201
+ context.db();
147
202
  expect(mocks.clients).toHaveLength(1);
148
203
  await context.shutdown();
149
204
  expect(mocks.clients[0].shutdown).toHaveBeenCalledTimes(1);
150
- context.client();
205
+ context.db();
151
206
  expect(mocks.connectWithRuntime).toHaveBeenCalledTimes(2);
152
207
  expect(mocks.runtimeCtor).toHaveBeenCalledTimes(2);
153
208
  });
154
- it("BC-U07: uses in-memory runtime when driver.type is memory", () => {
209
+ it("BC-U08: uses in-memory runtime when driver.type is memory", () => {
155
210
  const context = createJazzContext({
156
211
  appId: "server-app",
157
212
  app: { wasmSchema: SCHEMA_A },
158
213
  driver: { type: "memory" },
159
214
  serverUrl: "http://localhost:1625",
160
215
  });
161
- context.client();
216
+ context.db();
162
217
  expect(mocks.inMemoryRuntimeCtor).toHaveBeenCalledTimes(1);
163
218
  expect(mocks.runtimeCtor).toHaveBeenCalledWith(serializeRuntimeSchema(SCHEMA_A), "server-app", "dev", "main", "__memory__", "edge");
164
219
  });
165
- it("BC-U08: rejects memory driver without serverUrl", () => {
220
+ it("BC-U09: rejects memory driver without serverUrl", () => {
166
221
  expect(() => createJazzContext({
167
222
  appId: "server-app",
168
223
  app: { wasmSchema: SCHEMA_A },
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  export { createJazzContext, JazzContext, type BackendContextConfig, type BackendQuerySchemaSource, type BackendSchemaInput, type BackendSchemaSource, } from "./create-jazz-context.js";
2
- export type { Value, WasmSchema } from "../drivers/types.js";
3
- export * from "../runtime/index.js";
2
+ export type { WasmSchema } from "../drivers/types.js";
3
+ export type { Session } from "../runtime/context.js";
4
+ export { Db, type QueryBuilder, type QueryOptions, type TableProxy } from "../runtime/db.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { createJazzContext, JazzContext, } from "./create-jazz-context.js";
2
- export * from "../runtime/index.js";
2
+ export { Db } from "../runtime/db.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,GAKZ,MAAM,0BAA0B,CAAC;AAElC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,GAKZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,EAAE,EAAyD,MAAM,kBAAkB,CAAC"}