orez 0.6.0 → 0.7.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.
@@ -0,0 +1,3 @@
1
+ export declare function internalSchema(appId: string): string;
2
+ export declare function publicationName(appId: string): string;
3
+ //# sourceMappingURL=naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD"}
package/dist/naming.js ADDED
@@ -0,0 +1,7 @@
1
+ export function internalSchema(appId) {
2
+ return `${appId}_0`;
3
+ }
4
+ export function publicationName(appId) {
5
+ return `zero_${appId}`;
6
+ }
7
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,GAAG,KAAK,IAAI,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,QAAQ,KAAK,EAAE,CAAA;AACxB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import type { BrowserSyncHost, BrowserSyncHostConfig } from './types.js';
2
2
  import type { Schema } from '@rocicorp/zero';
3
+ import type { AuthData } from 'orez-sync-executor';
3
4
  export type BrowserHostTestFaultPoint = 'before_mutation' | 'after_app_write_before_sqlite_commit' | 'after_sqlite_commit_before_idb_commit' | 'after_idb_commit_before_response' | 'during_response_delivery';
4
5
  export type BrowserHostTestHooks = {
5
6
  reach(point: BrowserHostTestFaultPoint): void | Promise<void>;
6
7
  };
7
- export declare function createBrowserSyncHostInternal<S extends Schema>(config: BrowserSyncHostConfig<S>, hooks?: BrowserHostTestHooks): Promise<BrowserSyncHost<S>>;
8
- export declare function createBrowserSyncHost<S extends Schema>(config: BrowserSyncHostConfig<S>): Promise<BrowserSyncHost<S>>;
8
+ export declare function createBrowserSyncHostInternal<S extends Schema, A extends AuthData>(config: BrowserSyncHostConfig<S, A>, hooks?: BrowserHostTestHooks): Promise<BrowserSyncHost<S>>;
9
+ export declare function createBrowserSyncHost<S extends Schema, A extends AuthData>(config: BrowserSyncHostConfig<S, A>): Promise<BrowserSyncHost<S>>;
9
10
  //# sourceMappingURL=host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../packages/sync-browser-host/src/host.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAY,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAiB5C,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,sCAAsC,GACtC,uCAAuC,GACvC,kCAAkC,GAClC,0BAA0B,CAAA;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,CAAA;AAsiBD,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,MAAM,EAC5D,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAChC,KAAK,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../packages/sync-browser-host/src/host.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAY,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAGV,QAAQ,EAOT,MAAM,oBAAoB,CAAA;AAO3B,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,sCAAsC,GACtC,uCAAuC,GACvC,kCAAkC,GAClC,0BAA0B,CAAA;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,CAAA;AAgjBD,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EAChF,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,KAAK,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EACxE,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B"}
@@ -261,15 +261,18 @@ class BrowserSyncHostImpl {
261
261
  await this.#checkpoint();
262
262
  return value;
263
263
  }
264
- async #claims(request) {
265
- const claims = await this.config.authenticate(request);
266
- if (!claims || typeof claims.userID !== 'string' || claims.userID.length === 0) {
264
+ async #auth(request) {
265
+ const authData = await this.config.authenticate(request);
266
+ if (!authData || typeof authData.id !== 'string' || authData.id.length === 0) {
267
267
  throw requestError('missing authentication', 401);
268
268
  }
269
- if (!(await this.config.authorize(request, claims, this.config.storageKey))) {
269
+ if (!(await this.config.authorize(request, authData, this.config.storageKey))) {
270
270
  throw requestError('forbidden', 403);
271
271
  }
272
- return claims;
272
+ const claims = { userID: authData?.id ?? 'anon' };
273
+ if (authData)
274
+ claims.authData = authData;
275
+ return { authData, claims: claims };
273
276
  }
274
277
  async #runExecutorPush(body, claims, testHooks) {
275
278
  this.#assertAvailable();
@@ -317,7 +320,7 @@ class BrowserSyncHostImpl {
317
320
  }),
318
321
  };
319
322
  }
320
- async #resolvePullQueries(body, claims, queryAware, transformVersion) {
323
+ async #resolvePullQueries(body, authData, queryAware, transformVersion) {
321
324
  if (!queryAware || !body.queries)
322
325
  return body;
323
326
  const queries = body.queries;
@@ -342,7 +345,7 @@ class BrowserSyncHostImpl {
342
345
  }
343
346
  let ast;
344
347
  try {
345
- ast = await this.config.resolveQuery(entry.name, entry.args, claims);
348
+ ast = await this.config.resolveQuery(entry.name, entry.args, authData);
346
349
  }
347
350
  catch {
348
351
  throw requestError(`unknown or unsupported named query: ${entry.name}`);
@@ -354,22 +357,22 @@ class BrowserSyncHostImpl {
354
357
  async handlePull(request) {
355
358
  try {
356
359
  this.#assertAccepting();
357
- const claims = await this.#claims(request);
360
+ const { authData, claims } = await this.#auth(request);
358
361
  const input = await requestObject(request);
359
362
  return await this.#queue.run(async () => {
360
363
  this.#assertAvailable();
361
364
  const queryAware = typeof this.config.queryAware === 'function'
362
- ? this.config.queryAware(claims)
365
+ ? this.config.queryAware(authData)
363
366
  : (this.config.queryAware ?? Boolean(this.config.resolveQuery));
364
367
  const transformVersion = queryAware
365
368
  ? typeof this.config.queryTransformVersion === 'function'
366
- ? this.config.queryTransformVersion(claims)
369
+ ? this.config.queryTransformVersion(authData)
367
370
  : (this.config.queryTransformVersion ?? 0)
368
371
  : 0;
369
372
  if (!Number.isSafeInteger(transformVersion) || transformVersion < 0) {
370
373
  throw new TypeError('queryTransformVersion must be a non-negative safe integer');
371
374
  }
372
- let body = await this.#resolvePullQueries(input, claims, queryAware, transformVersion);
375
+ let body = await this.#resolvePullQueries(input, authData, queryAware, transformVersion);
373
376
  if (queryAware) {
374
377
  body = { ...body, _serverQueryTransformVersion: transformVersion };
375
378
  }
@@ -386,7 +389,7 @@ class BrowserSyncHostImpl {
386
389
  async handlePush(request) {
387
390
  try {
388
391
  this.#assertAccepting();
389
- const claims = await this.#claims(request);
392
+ const { claims } = await this.#auth(request);
390
393
  const body = await requestObject(request);
391
394
  return await this.#queue.run(async () => {
392
395
  this.#assertAvailable();
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../packages/sync-browser-host/src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../packages/sync-browser-host/src/host.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Schema } from '@rocicorp/zero';
2
2
  import type { TransactionQueryBudget } from 'orez-sync-cf-host/transaction-query';
3
- import type { ExecResult, MutatorRegistry, NormalizedClaims, QueryResolver, SqlStatementMetadata, SyncExecutor, VisibilityConfig } from 'orez-sync-executor';
3
+ import type { AuthData, ExecResult, JsonValue, MutatorRegistry, SqlStatementMetadata, SyncExecutor, VisibilityConfig } from 'orez-sync-executor';
4
4
  export { visibility, type VisibilityExpression, type VisibilityFilter, type VisibilityOperand, type VisibilityValue, } from 'orez-sync-cf-host/visibility';
5
5
  export type { VisibilityConfig } from 'orez-sync-executor';
6
6
  export interface SyncSql {
@@ -15,18 +15,18 @@ export type BrowserSyncHostAssets = {
15
15
  sqliteWasmUrl?: string | URL;
16
16
  syncWasmUrl?: string | URL;
17
17
  };
18
- export type BrowserSyncHostConfig<S extends Schema = Schema> = {
18
+ export type BrowserSyncHostConfig<S extends Schema = Schema, A extends AuthData = AuthData> = {
19
19
  storageKey: string;
20
20
  assets?: BrowserSyncHostAssets;
21
21
  schema: S;
22
22
  initialize(sql: SyncSql): void;
23
- authenticate(request: Request): NormalizedClaims | null | Promise<NormalizedClaims | null>;
24
- authorize(request: Request, claims: NormalizedClaims, namespace: string): boolean | Promise<boolean>;
23
+ authenticate(request: Request): A | null | Promise<A | null>;
24
+ authorize(request: Request, authData: A | null, namespace: string): boolean | Promise<boolean>;
25
25
  mutators: MutatorRegistry<S>;
26
26
  visibility?: VisibilityConfig;
27
- queryAware?: boolean | ((claims: NormalizedClaims) => boolean);
28
- resolveQuery?: QueryResolver;
29
- queryTransformVersion?: number | ((claims: NormalizedClaims) => number);
27
+ queryAware?: boolean | ((authData: A | null) => boolean);
28
+ resolveQuery?: (name: string, args: readonly JsonValue[], authData: A | null) => JsonValue | Promise<JsonValue>;
29
+ queryTransformVersion?: number | ((authData: A | null) => number);
30
30
  retainChanges?: number;
31
31
  caps?: Partial<PullCaps>;
32
32
  transactionQueryBudget?: Partial<TransactionQueryBudget>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/sync-browser-host/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/sync-browser-host/src/types.ts"],"names":[],"mappings":"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"}
package/dist/wake.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ export type WakeCapability = {
2
+ readonly namespace: string;
3
+ readonly identity: string;
4
+ readonly expiresAt: number;
5
+ };
6
+ export type MintWakeCapabilityOptions = {
7
+ readonly namespace: string;
8
+ readonly identity: string;
9
+ readonly ttlMs: number;
10
+ };
11
+ export type VerifyWakeCapabilityOptions = {
12
+ readonly namespace: string;
13
+ readonly ttlMs: number;
14
+ };
15
+ export declare function timingSafeEqual(left: string | Uint8Array, right: string | Uint8Array): boolean;
16
+ export declare function verifySharedSecretHeader(request: Request, secret: string, headerName?: string): boolean;
17
+ export declare function mintWakeCapability(secret: string, options: MintWakeCapabilityOptions): Promise<{
18
+ readonly token: string;
19
+ readonly expiresAt: number;
20
+ }>;
21
+ export declare function verifyWakeCapability(secret: string, token: string | null | undefined, options: VerifyWakeCapabilityOptions): Promise<WakeCapability | null>;
22
+ //# sourceMappingURL=wake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wake.d.ts","sourceRoot":"","sources":["../src/wake.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAqDD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,WASpF;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,SAAgB,GACzB,OAAO,CAGT;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBjE;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAwChC"}
package/dist/wake.js ADDED
@@ -0,0 +1,114 @@
1
+ const TOKEN_VERSION = 'v1';
2
+ const SIGNATURE_CONTEXT = 'orez-wake-capability-v1:';
3
+ const MAX_TOKEN_LENGTH = 2048;
4
+ const MAX_NAMESPACE_LENGTH = 200;
5
+ const MAX_IDENTITY_LENGTH = 200;
6
+ const encoder = new TextEncoder();
7
+ const decoder = new TextDecoder();
8
+ function validateSecret(secret) {
9
+ if (!secret)
10
+ throw new TypeError('wake capability secret must not be empty');
11
+ }
12
+ function validateNamespace(namespace) {
13
+ if (!namespace || namespace.length > MAX_NAMESPACE_LENGTH) {
14
+ throw new TypeError('wake capability namespace is invalid');
15
+ }
16
+ }
17
+ function validateIdentity(identity) {
18
+ if (!identity || identity.length > MAX_IDENTITY_LENGTH) {
19
+ throw new TypeError('wake capability identity is invalid');
20
+ }
21
+ }
22
+ function validateTtl(ttlMs) {
23
+ if (!Number.isSafeInteger(ttlMs) || ttlMs <= 0) {
24
+ throw new TypeError('wake capability ttlMs must be a positive integer');
25
+ }
26
+ }
27
+ function encodeBase64Url(bytes) {
28
+ let binary = '';
29
+ for (const byte of bytes)
30
+ binary += String.fromCharCode(byte);
31
+ return btoa(binary).replaceAll('+', '-').replaceAll('/', '_').replace(/=+$/, '');
32
+ }
33
+ function decodeBase64Url(value) {
34
+ if (!/^[A-Za-z0-9_-]+$/.test(value))
35
+ throw new TypeError('invalid base64url');
36
+ const base64 = value.replaceAll('-', '+').replaceAll('_', '/');
37
+ const binary = atob(base64.padEnd(Math.ceil(base64.length / 4) * 4, '='));
38
+ return Uint8Array.from(binary, (character) => character.charCodeAt(0));
39
+ }
40
+ async function sign(secret, payload) {
41
+ const key = await crypto.subtle.importKey('raw', encoder.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
42
+ return new Uint8Array(await crypto.subtle.sign('HMAC', key, encoder.encode(SIGNATURE_CONTEXT + payload)));
43
+ }
44
+ export function timingSafeEqual(left, right) {
45
+ const leftBytes = typeof left === 'string' ? encoder.encode(left) : left;
46
+ const rightBytes = typeof right === 'string' ? encoder.encode(right) : right;
47
+ const length = Math.max(leftBytes.length, rightBytes.length);
48
+ let difference = leftBytes.length ^ rightBytes.length;
49
+ for (let index = 0; index < length; index++) {
50
+ difference |= (leftBytes[index] ?? 0) ^ (rightBytes[index] ?? 0);
51
+ }
52
+ return difference === 0;
53
+ }
54
+ export function verifySharedSecretHeader(request, secret, headerName = 'x-admin-key') {
55
+ const received = request.headers.get(headerName);
56
+ return received !== null && secret.length > 0 && timingSafeEqual(received, secret);
57
+ }
58
+ export async function mintWakeCapability(secret, options) {
59
+ validateSecret(secret);
60
+ validateNamespace(options.namespace);
61
+ validateIdentity(options.identity);
62
+ validateTtl(options.ttlMs);
63
+ const expiresAt = Date.now() + options.ttlMs;
64
+ const payload = encodeBase64Url(encoder.encode(JSON.stringify({
65
+ namespace: options.namespace,
66
+ identity: options.identity,
67
+ expiresAt,
68
+ })));
69
+ const signature = encodeBase64Url(await sign(secret, payload));
70
+ return { token: `${TOKEN_VERSION}.${payload}.${signature}`, expiresAt };
71
+ }
72
+ export async function verifyWakeCapability(secret, token, options) {
73
+ validateSecret(secret);
74
+ validateNamespace(options.namespace);
75
+ validateTtl(options.ttlMs);
76
+ if (!token || token.length > MAX_TOKEN_LENGTH)
77
+ return null;
78
+ const parts = token.split('.');
79
+ if (parts.length !== 3 || parts[0] !== TOKEN_VERSION)
80
+ return null;
81
+ const payload = parts[1];
82
+ const encodedSignature = parts[2];
83
+ if (!payload || !encodedSignature)
84
+ return null;
85
+ try {
86
+ const signature = decodeBase64Url(encodedSignature);
87
+ if (!timingSafeEqual(signature, await sign(secret, payload)))
88
+ return null;
89
+ const value = JSON.parse(decoder.decode(decodeBase64Url(payload)));
90
+ if (!value || typeof value !== 'object' || Array.isArray(value))
91
+ return null;
92
+ const capability = value;
93
+ const now = Date.now();
94
+ if (capability.namespace !== options.namespace ||
95
+ typeof capability.identity !== 'string' ||
96
+ !capability.identity ||
97
+ capability.identity.length > MAX_IDENTITY_LENGTH ||
98
+ typeof capability.expiresAt !== 'number' ||
99
+ !Number.isSafeInteger(capability.expiresAt) ||
100
+ capability.expiresAt <= now ||
101
+ capability.expiresAt > now + options.ttlMs) {
102
+ return null;
103
+ }
104
+ return {
105
+ namespace: options.namespace,
106
+ identity: capability.identity,
107
+ expiresAt: capability.expiresAt,
108
+ };
109
+ }
110
+ catch {
111
+ return null;
112
+ }
113
+ }
114
+ //# sourceMappingURL=wake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wake.js","sourceRoot":"","sources":["../src/wake.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Schema } from '@rocicorp/zero';
2
- import type { ApplicationDatabase, ApplicationTransaction, EffectScheduler, MutatorRegistry, NormalizedClaims } from 'orez-sync-executor';
2
+ import type { ApplicationDatabase, ApplicationTransaction, AuthData, EffectScheduler, MutatorRegistry, PushDiagnosticsOptions, PushResult } from 'orez-sync-executor';
3
3
  export type ZeroHttpSyncDb = {
4
4
  exec(sql: string, params?: readonly unknown[]): void;
5
5
  all(sql: string, params?: readonly unknown[]): Record<string, unknown>[];
@@ -42,8 +42,8 @@ export declare function createZeroHttpSyncServer<S extends Schema>(options: {
42
42
  ready: () => Promise<void>;
43
43
  watermark(): Promise<number>;
44
44
  invalidate(): Promise<void>;
45
- handlePull(value: unknown, claims: NormalizedClaims): Promise<unknown>;
46
- handlePush(value: unknown, claims: NormalizedClaims): Promise<unknown>;
45
+ handlePull(value: unknown, authData: AuthData | null): Promise<unknown>;
46
+ handlePush(value: unknown, authData: AuthData | null): Promise<PushResult>;
47
47
  };
48
48
  export type ZeroHttpSyncServer<S extends Schema = Schema> = ReturnType<typeof createZeroHttpSyncServer<S>>;
49
49
  export type ZeroHttpOperation = 'pull' | 'push';
@@ -51,11 +51,20 @@ export type ZeroHttpRoute = {
51
51
  databaseID: string;
52
52
  operation: ZeroHttpOperation;
53
53
  };
54
+ export type ZeroHttpRequestServer = {
55
+ handlePull(body: unknown, authData: AuthData | null): Promise<unknown>;
56
+ handlePush(body: unknown, authData: AuthData | null): Promise<PushResult>;
57
+ };
54
58
  export declare function createZeroHttpMount(options: {
55
59
  readonly pathPrefix: string;
56
- server(databaseID: string): ZeroHttpSyncServer<any>;
60
+ readonly databaseID?: string;
61
+ server(databaseID: string): ZeroHttpRequestServer;
62
+ authenticate(request: Request, route: ZeroHttpRoute): AuthData | null | Response | Promise<AuthData | null | Response>;
63
+ beforePush?(request: Request, bodyText: string): Response | null | Promise<Response | null>;
64
+ readonly diagnostics?: PushDiagnosticsOptions;
57
65
  }): {
58
- match(pathname: string): ZeroHttpRoute | null;
59
- handle(route: ZeroHttpRoute, body: unknown, claims: NormalizedClaims): Promise<unknown>;
66
+ match: (pathname: string) => ZeroHttpRoute | null;
67
+ handle: (route: ZeroHttpRoute, body: unknown, authData: AuthData | null) => Promise<unknown>;
68
+ handleRequest(request: Request): Promise<Response | null>;
60
69
  };
61
70
  //# sourceMappingURL=mount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/zero-http/mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/zero-http/mount.ts"],"names":[],"mappings":"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"}