@rocicorp/zero 0.17.2025031200 → 0.17.2025031300

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 (90) hide show
  1. package/out/advanced.js +1 -1
  2. package/out/{chunk-2Y24MEEQ.js → chunk-5X3DESC6.js} +1 -1
  3. package/out/{chunk-2Y24MEEQ.js.map → chunk-5X3DESC6.js.map} +1 -1
  4. package/out/{chunk-6CQ6CUML.js → chunk-7ARRNDLF.js} +37 -15
  5. package/out/{chunk-6CQ6CUML.js.map → chunk-7ARRNDLF.js.map} +3 -3
  6. package/out/{chunk-VNV6U5BQ.js → chunk-APXCO5Z2.js} +296 -134
  7. package/out/chunk-APXCO5Z2.js.map +7 -0
  8. package/out/react.js +7 -1
  9. package/out/react.js.map +2 -2
  10. package/out/replicache/src/dag/lazy-store.d.ts +2 -2
  11. package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
  12. package/out/replicache/src/db/write.d.ts +1 -1
  13. package/out/replicache/src/db/write.d.ts.map +1 -1
  14. package/out/replicache/src/persist/persist.d.ts +2 -1
  15. package/out/replicache/src/persist/persist.d.ts.map +1 -1
  16. package/out/replicache/src/persist/refresh.d.ts +7 -1
  17. package/out/replicache/src/persist/refresh.d.ts.map +1 -1
  18. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  19. package/out/replicache/src/replicache-options.d.ts +10 -5
  20. package/out/replicache/src/replicache-options.d.ts.map +1 -1
  21. package/out/replicache/src/sync/pull.d.ts +2 -0
  22. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  23. package/out/solid.js +16 -8
  24. package/out/solid.js.map +2 -2
  25. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +3 -0
  26. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  27. package/out/zero-cache/src/services/mutagen/mutagen.js +1 -1
  28. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  29. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  30. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +1 -0
  31. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  32. package/out/zero-client/src/client/context.d.ts +7 -3
  33. package/out/zero-client/src/client/context.d.ts.map +1 -1
  34. package/out/zero-client/src/client/custom.d.ts +5 -4
  35. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  36. package/out/zero-client/src/client/ivm-branch.d.ts +6 -3
  37. package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
  38. package/out/zero-client/src/client/query-manager.d.ts +1 -0
  39. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  40. package/out/zero-client/src/client/zero-rep.d.ts +15 -0
  41. package/out/zero-client/src/client/zero-rep.d.ts.map +1 -0
  42. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  43. package/out/zero-pg/src/custom.d.ts +2 -1
  44. package/out/zero-pg/src/custom.d.ts.map +1 -1
  45. package/out/zero-pg/src/custom.js +4 -1
  46. package/out/zero-pg/src/custom.js.map +1 -1
  47. package/out/zero-pg/src/query.d.ts +4 -2
  48. package/out/zero-pg/src/query.d.ts.map +1 -1
  49. package/out/zero-pg/src/query.js +3 -0
  50. package/out/zero-pg/src/query.js.map +1 -1
  51. package/out/zero-pg/src/web.d.ts +2 -1
  52. package/out/zero-pg/src/web.d.ts.map +1 -1
  53. package/out/zero-pg/src/web.js +59 -35
  54. package/out/zero-pg/src/web.js.map +1 -1
  55. package/out/zero-react/src/use-query.d.ts.map +1 -1
  56. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  57. package/out/zero.js +3 -3
  58. package/out/zql/src/ivm/memory-source.d.ts +3 -3
  59. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  60. package/out/zql/src/ivm/memory-source.js +16 -0
  61. package/out/zql/src/ivm/memory-source.js.map +1 -1
  62. package/out/zql/src/ivm/source.d.ts +5 -1
  63. package/out/zql/src/ivm/source.d.ts.map +1 -1
  64. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
  65. package/out/zql/src/ivm/view-apply-change.js +40 -8
  66. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  67. package/out/zql/src/query/expression.d.ts +20 -0
  68. package/out/zql/src/query/expression.d.ts.map +1 -1
  69. package/out/zql/src/query/expression.js +1 -1
  70. package/out/zql/src/query/expression.js.map +1 -1
  71. package/out/zql/src/query/query-impl.d.ts +3 -0
  72. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  73. package/out/zql/src/query/query-impl.js +3 -0
  74. package/out/zql/src/query/query-impl.js.map +1 -1
  75. package/out/zql/src/query/query-internal.d.ts +1 -0
  76. package/out/zql/src/query/query-internal.d.ts.map +1 -1
  77. package/out/zql/src/query/static-query.d.ts +2 -0
  78. package/out/zql/src/query/static-query.d.ts.map +1 -1
  79. package/out/zql/src/query/static-query.js +3 -0
  80. package/out/zql/src/query/static-query.js.map +1 -1
  81. package/out/zql/src/query/ttl.d.ts +1 -0
  82. package/out/zql/src/query/ttl.d.ts.map +1 -1
  83. package/out/zql/src/query/ttl.js +22 -0
  84. package/out/zql/src/query/ttl.js.map +1 -1
  85. package/out/zqlite/src/table-source.d.ts +3 -3
  86. package/out/zqlite/src/table-source.d.ts.map +1 -1
  87. package/out/zqlite/src/table-source.js +17 -0
  88. package/out/zqlite/src/table-source.js.map +1 -1
  89. package/package.json +1 -1
  90. package/out/chunk-VNV6U5BQ.js.map +0 -7
@@ -1,12 +1,15 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { NoIndexDiff } from '../../../replicache/src/btree/node.ts';
3
+ import type { Hash } from '../../../replicache/src/hash.ts';
3
4
  import type { AST } from '../../../zero-protocol/src/ast.ts';
4
5
  import type { Input, Storage } from '../../../zql/src/ivm/operator.ts';
5
6
  import type { Source } from '../../../zql/src/ivm/source.ts';
6
7
  import type { CommitListener, GotCallback, QueryDelegate } from '../../../zql/src/query/query-impl.ts';
7
8
  import type { TTL } from '../../../zql/src/query/ttl.ts';
8
9
  import { type IVMSourceBranch } from './ivm-branch.ts';
9
- export type AddQuery = (ast: AST, ttl: TTL, gotCallback: GotCallback | undefined) => () => void;
10
+ import type { QueryManager } from './query-manager.ts';
11
+ export type AddQuery = QueryManager['add'];
12
+ export type UpdateQuery = QueryManager['update'];
10
13
  /**
11
14
  * ZeroContext glues together zql and Replicache. It listens to changes in
12
15
  * Replicache data and pushes them into IVM and on tells the server about new
@@ -17,14 +20,15 @@ export declare class ZeroContext implements QueryDelegate {
17
20
  readonly slowMaterializeThreshold: number;
18
21
  readonly lc: LogContext;
19
22
  readonly staticQueryParameters: undefined;
20
- constructor(lc: LogContext, mainSources: IVMSourceBranch, addQuery: AddQuery, batchViewUpdates: (applyViewUpdates: () => void) => void, slowMaterializeThreshold: number);
23
+ constructor(lc: LogContext, mainSources: IVMSourceBranch, addQuery: AddQuery, updateQuery: UpdateQuery, batchViewUpdates: (applyViewUpdates: () => void) => void, slowMaterializeThreshold: number);
21
24
  getSource(name: string): Source | undefined;
22
25
  addServerQuery(ast: AST, ttl: TTL, gotCallback?: GotCallback | undefined): () => void;
26
+ updateServerQuery(ast: AST, ttl: TTL): void;
23
27
  onQueryMaterialized(hash: string, ast: AST, duration: number): void;
24
28
  createStorage(): Storage;
25
29
  decorateInput(input: Input): Input;
26
30
  onTransactionCommit(cb: CommitListener): () => void;
27
31
  batchViewUpdates<T>(applyViewUpdates: () => T): T;
28
- processChanges(changes: NoIndexDiff): void;
32
+ processChanges(expectedHead: Hash | undefined, newHead: Hash, changes: NoIndexDiff): void;
29
33
  }
30
34
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,uCAAuC,CAAC;AAEvE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAG3D,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAC3D,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,CACrB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,GAAG,SAAS,KACjC,MAAM,IAAI,CAAC;AAEhB;;;;GAIG;AACH,qBAAa,WAAY,YAAW,aAAa;;IAU/C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,qBAAqB,YAAa;gBAGzC,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,MAAM,IAAI,KAAK,IAAI,EACxD,wBAAwB,EAAE,MAAM;IASlC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,SAvC/D,IAAI;IA2Cb,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqBnE,aAAa,IAAI,OAAO;IAIxB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIlC,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI;IAOnD,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,GAW1B,CAAC;IAGpB,cAAc,CAAC,OAAO,EAAE,WAAW;CAwDpC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AAE1D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAE3D,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAC3D,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,WAAY,YAAW,aAAa;;IAW/C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,qBAAqB,YAAa;gBAGzC,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,MAAM,IAAI,KAAK,IAAI,EACxD,wBAAwB,EAAE,MAAM;IAUlC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS;IAIxE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAI3C,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqBnE,aAAa,IAAI,OAAO;IAIxB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIlC,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI;IAOnD,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,GAW1B,CAAC;IAGpB,cAAc,CACZ,YAAY,EAAE,IAAI,GAAG,SAAS,EAC9B,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,WAAW;CAuBvB"}
@@ -1,8 +1,9 @@
1
- import type { Schema } from '../../../zero-schema/src/builder/schema-builder.ts';
1
+ import type { LogContext } from '@rocicorp/logger';
2
2
  import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
3
+ import type { Schema } from '../../../zero-schema/src/builder/schema-builder.ts';
4
+ import type { SchemaCRUD, SchemaQuery, TransactionBase } from '../../../zql/src/mutate/custom.ts';
3
5
  import type { ClientID } from '../types/client-state.ts';
4
6
  import type { WriteTransaction } from './replicache-types.ts';
5
- import type { SchemaCRUD, SchemaQuery, TransactionBase } from '../../../zql/src/mutate/custom.ts';
6
7
  /**
7
8
  * An instance of this is passed to custom mutator implementations and
8
9
  * allows reading and writing to the database and IVM at the head
@@ -39,7 +40,7 @@ export type MakeCustomMutatorInterfaces<S extends Schema, MD extends CustomMutat
39
40
  };
40
41
  export type MakeCustomMutatorInterface<S extends Schema, F> = F extends (tx: Transaction<S>, ...args: infer Args) => Promise<void> ? (...args: Args) => Promise<void> : never;
41
42
  export declare class TransactionImpl implements Transaction<Schema> {
42
- constructor(repTx: WriteTransaction, schema: Schema);
43
+ constructor(lc: LogContext, repTx: WriteTransaction, schema: Schema, slowMaterializeThreshold: number);
43
44
  readonly clientID: ClientID;
44
45
  readonly mutationID: number;
45
46
  readonly reason: 'optimistic' | 'rebase';
@@ -47,5 +48,5 @@ export declare class TransactionImpl implements Transaction<Schema> {
47
48
  readonly mutate: SchemaCRUD<Schema>;
48
49
  readonly query: SchemaQuery<Schema>;
49
50
  }
50
- export declare function makeReplicacheMutator(mutator: CustomMutatorImpl<Schema>, schema: Schema): (repTx: WriteTransaction, args: ReadonlyJSONValue) => Promise<void>;
51
+ export declare function makeReplicacheMutator(lc: LogContext, mutator: CustomMutatorImpl<Schema>, schema: Schema, slowMaterializeThreshold: number): (repTx: WriteTransaction, args: ReadonlyJSONValue) => Promise<void>;
51
52
  //# sourceMappingURL=custom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/custom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAE/E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAGV,UAAU,EACV,WAAW,EAEX,eAAe,EAGhB,MAAM,mCAAmC,CAAC;AAM3C;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;IAChD,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACtC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAC9C;CACF,GAAG;IAGF,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;KACrC,CAAC;CACH,CAAC;AAGF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,GAAG,GAAG,IAAI,CAC7D,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAGlB,IAAI,EAAE,KAAK,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,EAChB,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,IAC7B;IACF,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE,GAAG;QAC5B,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,0BAA0B,CACzD,CAAC,EACD,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACb;KACF;CACF,CAAC;AAEF,MAAM,MAAM,0BAA0B,CACpC,CAAC,SAAS,MAAM,EAEhB,CAAC,IACC,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GACpE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAChC,KAAK,CAAC;AAEV,qBAAa,eAAgB,YAAW,WAAW,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAgBnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAClC,MAAM,EAAE,MAAM,WAEC,gBAAgB,QAAQ,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC,CAIzE"}
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/custom.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,10 @@ import { MemorySource } from '../../../zql/src/ivm/memory-source.ts';
2
2
  import type { TableSchema } from '../../../zero-schema/src/table-schema.ts';
3
3
  import { type Store } from '../../../replicache/src/dag/store.ts';
4
4
  import type { Hash } from '../../../replicache/src/hash.ts';
5
- import type { InternalDiff } from '../../../replicache/src/btree/node.ts';
5
+ import type { NoIndexDiff } from '../../../replicache/src/btree/node.ts';
6
+ import type { ZeroReadOptions } from '../../../replicache/src/replicache-options.ts';
7
+ import type { TransactionReason } from '../../../replicache/src/transactions.ts';
8
+ import type { LazyStore } from '../../../replicache/src/dag/lazy-store.ts';
6
9
  /**
7
10
  * Replicache needs to rebase mutations onto different
8
11
  * commits of it's b-tree. These mutations can have reads
@@ -29,11 +32,11 @@ export declare class IVMSourceBranch {
29
32
  * Mutates the current branch, advancing it to the new head
30
33
  * by applying the given diffs.
31
34
  */
32
- advance(expectedHead: Hash | undefined, newHead: Hash, diffs: InternalDiff): void;
35
+ advance(expectedHead: Hash | undefined, newHead: Hash, diffs: NoIndexDiff): void;
33
36
  /**
34
37
  * Fork the branch and patch it up to match the desired head.
35
38
  */
36
- forkToHead(store: Store, expectedHead: Hash, desiredHead: Hash): Promise<IVMSourceBranch>;
39
+ forkToHead(reason: TransactionReason, store: LazyStore, desiredHead: Hash, readOptions?: ZeroReadOptions | undefined): Promise<IVMSourceBranch>;
37
40
  /**
38
41
  * Creates a new IVMSourceBranch that is a copy of the current one.
39
42
  * This is a cheap operation since the b-trees are shared until a write is performed
@@ -1 +1 @@
1
- {"version":3,"file":"ivm-branch.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/ivm-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uCAAuC,CAAC;AACnE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAY,KAAK,KAAK,EAAC,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AAO1D,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,uCAAuC,CAAC;AAI/C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;;IAG1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;gBAGrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,EACvB,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAa;IAO5D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAajD,KAAK;IAIL;;;OAGG;IACH,OAAO,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY;IAW1E;;OAEG;IACG,UAAU,CACd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,IAAI,EAClB,WAAW,EAAE,IAAI,GAChB,OAAO,CAAC,eAAe,CAAC;IAiB3B;;;;;;;OAOG;IACH,IAAI;CAYL;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,iBAkBb"}
1
+ {"version":3,"file":"ivm-branch.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/ivm-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uCAAuC,CAAC;AACnE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAY,KAAK,KAAK,EAAC,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AAO1D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,2CAA2C,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;;IAG1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;gBAGrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,EACvB,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAa;IAO5D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAajD,KAAK;IAIL;;;OAGG;IACH,OAAO,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW;IAWzE;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,IAAI,EACjB,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,GACxC,OAAO,CAAC,eAAe,CAAC;IAoB3B;;;;;;;OAOG;IACH,IAAI;CAYL;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,iBAkBb"}
@@ -32,5 +32,6 @@ export declare class QueryManager {
32
32
  */
33
33
  getQueriesPatch(tx: ReadTransaction, lastPatch?: Map<string, QueriesPatchOp> | undefined): Promise<Map<string, QueriesPatchOp>>;
34
34
  add(ast: AST, ttl: TTL, gotCallback?: GotCallback | undefined): () => void;
35
+ update(ast: AST, ttl: TTL): void;
35
36
  }
36
37
  //# sourceMappingURL=query-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/query-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAC/E,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAGlE,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,sDAAsD,CAAC;AACtG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6CAA6C,CAAC;AAKhF,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAuB,KAAK,GAAG,EAAC,MAAM,+BAA+B,CAAC;AAE7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAW3D;;;;GAIG;AACH,qBAAa,YAAY;;gBAUrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,EACnD,iBAAiB,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACtD,oBAAoB,EAAE,MAAM;IAoC9B;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACnB,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAsCvC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI;CAqF3E"}
1
+ {"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/query-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAC/E,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAIlE,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,sDAAsD,CAAC;AACtG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6CAA6C,CAAC;AAKhF,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAuB,KAAK,GAAG,EAAC,MAAM,+BAA+B,CAAC;AAE7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAW3D;;;;GAIG;AACH,qBAAa,YAAY;;gBAUrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,EACnD,iBAAiB,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACtD,oBAAoB,EAAE,MAAM;IAoC9B;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACnB,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAsCvC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI;IA6C1E,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAkD1B"}
@@ -0,0 +1,15 @@
1
+ import type { InternalDiff } from '../../../replicache/src/btree/node.ts';
2
+ import type { Hash } from '../../../replicache/src/hash.ts';
3
+ import type { ZeroContext } from './context.ts';
4
+ import type { IVMSourceBranch } from './ivm-branch.ts';
5
+ import type { LazyStore } from '../../../replicache/src/dag/lazy-store.ts';
6
+ import type { ZeroOption, ZeroReadOptions } from '../../../replicache/src/replicache-options.ts';
7
+ import type { TransactionReason } from '../../../replicache/src/transactions.ts';
8
+ export declare class ZeroRep implements ZeroOption {
9
+ #private;
10
+ constructor(context: ZeroContext, ivmMain: IVMSourceBranch, customMutatorsEnabled: boolean);
11
+ init(hash: Hash, store: LazyStore): Promise<void>;
12
+ getTxData: (reason: TransactionReason, desiredHead: Hash, readOptions?: ZeroReadOptions | undefined) => Promise<IVMSourceBranch> | undefined;
13
+ advance: (expectedHash: Hash, newHash: Hash, diffs: InternalDiff) => void;
14
+ }
15
+ //# sourceMappingURL=zero-rep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zero-rep.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero-rep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AAE1D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAGrD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,2CAA2C,CAAC;AACzE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAChB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAE/E,qBAAa,OAAQ,YAAW,UAAU;;gBAOtC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,OAAO;IAO1B,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;IAoBvC,SAAS,WACC,iBAAiB,eACZ,IAAI,gBACH,eAAe,GAAG,SAAS,KACxC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,CAcrC;IAEF,OAAO,iBAAkB,IAAI,WAAW,IAAI,SAAS,YAAY,KAAG,IAAI,CAEtE;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,KAAK,QAAQ,EAAW,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EACL,cAAc,EAEf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAC,MAAM,EAAe,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAC,MAAM,EAAe,MAAM,mCAAmC,CAAC;AAE5E,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAQtD,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,6CAA6C,CAAC;AAI9E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8CAA8C,CAAC;AAyBpF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6CAA6C,CAAC;AAEhF,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EACL,KAAK,MAAM,EAEZ,MAAM,oDAAoD,CAAC;AAO5D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAG3D,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAIf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,iBAAiB,EAEjB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EAGd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAC,KAAK,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AASnE,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAkBhD,KAAK,eAAe,GAAG,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;AAGpD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1D,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;CACxD,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,eAAe,EAAE,MAAM,eAAe,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAW,CAAC;AACnD,eAAO,MAAM,sBAAsB,eAAW,CAAC;AAC/C,eAAO,MAAM,sBAAsB,eAAW,CAAC;AAkB/C,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,eAAe,OAAQ,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAQ,CAAC;AAErC,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAkDzC,MAAM,WAAW,qBAAqB;IACpC,cAAc,IAAI,MAAM,CAAC;CAC1B;AAID,wBAAgB,mCAAmC,CACjD,CAAC,EAAE,MAAM,GACR,cAAc,CAAC,WAAW,CAAC,CAG7B;AAMD,qBAAa,IAAI,CACf,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS;;IAEvD,QAAQ,CAAC,OAAO,SAAW;IAI3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IA8G5B,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAU/C;;OAEG;gBACS,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;IA0QvC;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,GAAG,IAAI,CAE9B;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAE1C;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,GAC5C,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,GAClC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAk5BtB;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;CAqGF;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,QAAQ,EACtB,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,OAAO,EAClB,EAAE,EAAE,UAAU,EACd,eAAe,SAAW,EAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC3D,OAAO,CACR;IACE,SAAS;IACT,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS;IACvC,iBAAiB,GAAG,SAAS;CAC9B,CACF,CAmEA"}
1
+ {"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ReadonlyJSONValue } from '../../shared/src/json.ts';
2
2
  import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
3
3
  import type { SchemaCRUD, SchemaQuery, TransactionBase, ConnectionProvider, DBTransaction } from '../../zql/src/mutate/custom.ts';
4
4
  import { type PushHandler } from './web.ts';
5
+ import type { ShardID } from '../../zero-cache/src/types/shards.ts';
5
6
  export interface Transaction<S extends Schema, TWrappedTransaction> extends TransactionBase<S> {
6
7
  readonly location: 'server';
7
8
  readonly reason: 'authoritative';
@@ -22,7 +23,7 @@ type Options<S extends Schema, TDBTransaction, MD extends CustomMutatorDefs<S, T
22
23
  schema: S;
23
24
  dbConnectionProvider: ConnectionProvider<TDBTransaction>;
24
25
  mutators: MD;
25
- shardID?: string;
26
+ shardID?: ShardID;
26
27
  };
27
28
  export declare function createPushHandler<S extends Schema, TDBTransaction, MD extends CustomMutatorDefs<S, TDBTransaction>>({ schema, dbConnectionProvider, mutators, shardID, }: Options<S, TDBTransaction, MD>): PushHandler;
28
29
  export declare class TransactionImpl<S extends Schema, TWrappedTransaction> implements Transaction<S, TWrappedTransaction> {
@@ -1 +1 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../zero-pg/src/custom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../zero-pg/src/custom.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import { PushProcessor } from "./web.js";
2
2
  import { formatPg, sql } from "../../z2s/src/sql.js";
3
3
  export function createPushHandler({ schema, dbConnectionProvider, mutators, shardID, }) {
4
- const processor = new PushProcessor(shardID ?? '0', schema, dbConnectionProvider, mutators);
4
+ const processor = new PushProcessor(shardID ?? {
5
+ appID: 'zero',
6
+ shardNum: 0,
7
+ }, schema, dbConnectionProvider, mutators);
5
8
  return (headers, body) => processor.process(headers, body);
6
9
  }
7
10
  export class TransactionImpl {
@@ -1 +1 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../zero-pg/src/custom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../zero-pg/src/custom.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
2
- import type { SchemaQuery, DBTransaction } from '../../zql/src/mutate/custom.ts';
3
1
  import type { AST } from '../../zero-protocol/src/ast.ts';
2
+ import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
4
3
  import type { Format } from '../../zql/src/ivm/view.ts';
4
+ import type { DBTransaction, SchemaQuery } from '../../zql/src/mutate/custom.ts';
5
5
  import { AbstractQuery } from '../../zql/src/query/query-impl.ts';
6
6
  import type { HumanReadable, PullRow } from '../../zql/src/query/query.ts';
7
+ import type { TTL } from '../../zql/src/query/ttl.ts';
7
8
  import type { TypedView } from '../../zql/src/query/typed-view.ts';
8
9
  export declare function makeSchemaQuery<S extends Schema>(schema: S): (dbTransaction: DBTransaction<unknown>) => SchemaQuery<S>;
9
10
  export declare class Z2SQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn = PullRow<TTable, TSchema>> extends AbstractQuery<TSchema, TTable, TReturn> {
@@ -17,5 +18,6 @@ export declare class Z2SQuery<TSchema extends Schema, TTable extends keyof TSche
17
18
  complete: Promise<void>;
18
19
  };
19
20
  materialize(): TypedView<HumanReadable<TReturn>>;
21
+ updateTTL(_ttl: TTL): void;
20
22
  }
21
23
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../zero-pg/src/query.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAC,aAAa,EAAE,OAAO,EAAQ,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAEjE,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,CAAC,GACR,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CA2B3D;AAED,qBAAa,QAAQ,CACnB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAClC,SAAQ,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;;gBAU7C,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EACrC,GAAG,GAAE,GAAwB,EAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAM7B,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAiB;IAE3C,SAAS,CAAC,SAAS,CACjB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAI/B,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAoB5C,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;IAID,WAAW,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;CAGjD"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../zero-pg/src/query.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAC,aAAa,EAAE,OAAO,EAAQ,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAEjE,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,CAAC,GACR,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CA2B3D;AAED,qBAAa,QAAQ,CACnB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAClC,SAAQ,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;;gBAU7C,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EACrC,GAAG,GAAE,GAAwB,EAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAM7B,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAiB;IAE3C,SAAS,CAAC,SAAS,CACjB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAI/B,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAoB5C,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;IAID,WAAW,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAIhD,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAG3B"}
@@ -48,5 +48,8 @@ export class Z2SQuery extends AbstractQuery {
48
48
  materialize() {
49
49
  throw new Error('Z2SQuery cannot be materialized');
50
50
  }
51
+ updateTTL(_ttl) {
52
+ throw new Error('Z2SQuery cannot have a TTL');
53
+ }
51
54
  }
52
55
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../zero-pg/src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAIhE,MAAM,UAAU,eAAe,CAC7B,MAAS;IAET,MAAM,kBAAkB;QACb,cAAc,CAAyB;QAChD,YAAY,aAAqC;YAC/C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACtC,CAAC;QAED,GAAG,CACD,MAIC,EACD,IAAY;YAEZ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;KACF;IAED,OAAO,CAAC,aAAqC,EAAE,EAAE,CAC/C,IAAI,KAAK,CAAC,EAAE,EAAE,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAmB,CAAC;AAC3E,CAAC;AAED,MAAM,OAAO,QAIX,SAAQ,aAAuC;IACtC,cAAc,CAAyB;IAChD,MAAM,CAKQ;IAEd,YACE,MAAe,EACf,SAAiB,EACjB,aAAqC,EACrC,MAAW,EAAC,KAAK,EAAE,SAAS,EAAC,EAC7B,MAA2B;QAE3B,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAEkB,OAAO,GAAG,aAAa,CAAC;IAEjC,SAAS,CAKjB,MAAe,EACf,SAAiB,EACjB,GAAQ,EACR,MAA0B;QAE1B,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAC5C,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,MAAM,CAChB,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAgC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,CAA2B,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,GAAG,MAAM,CAA2B,CAAC;IAC/C,CAAC;IAED,OAAO;QAIL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../zero-pg/src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAKhE,MAAM,UAAU,eAAe,CAC7B,MAAS;IAET,MAAM,kBAAkB;QACb,cAAc,CAAyB;QAChD,YAAY,aAAqC;YAC/C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACtC,CAAC;QAED,GAAG,CACD,MAIC,EACD,IAAY;YAEZ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;KACF;IAED,OAAO,CAAC,aAAqC,EAAE,EAAE,CAC/C,IAAI,KAAK,CAAC,EAAE,EAAE,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAmB,CAAC;AAC3E,CAAC;AAED,MAAM,OAAO,QAIX,SAAQ,aAAuC;IACtC,cAAc,CAAyB;IAChD,MAAM,CAKQ;IAEd,YACE,MAAe,EACf,SAAiB,EACjB,aAAqC,EACrC,MAAW,EAAC,KAAK,EAAE,SAAS,EAAC,EAC7B,MAA2B;QAE3B,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAEkB,OAAO,GAAG,aAAa,CAAC;IAEjC,SAAS,CAKjB,MAAe,EACf,SAAiB,EACjB,GAAQ,EACR,MAA0B;QAE1B,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAC5C,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,MAAM,CAChB,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAgC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,CAA2B,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,GAAG,MAAM,CAA2B,CAAC;IAC/C,CAAC;IAED,OAAO;QAIL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,IAAS;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -3,13 +3,14 @@ import type { PushResponse } from '../../zero-protocol/src/push.ts';
3
3
  import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
4
4
  import { type CustomMutatorDefs } from './custom.ts';
5
5
  import { type ConnectionProvider } from '../../zql/src/mutate/custom.ts';
6
+ import { type ShardID } from '../../zero-cache/src/types/shards.ts';
6
7
  export type PushHandler = (headers: Headers, body: ReadonlyJSONObject) => Promise<PushResponse>;
7
8
  type Headers = {
8
9
  authorization?: string | undefined;
9
10
  };
10
11
  export declare class PushProcessor<S extends Schema, TDBTransaction, MD extends CustomMutatorDefs<S, TDBTransaction>> {
11
12
  #private;
12
- constructor(shardID: string, schema: S, dbConnectionProvider: ConnectionProvider<TDBTransaction>, customMutatorDefs: MD);
13
+ constructor(shardID: ShardID, schema: S, dbConnectionProvider: ConnectionProvider<TDBTransaction>, customMutatorDefs: MD);
13
14
  process(headers: Headers, body: ReadonlyJSONObject): Promise<PushResponse>;
14
15
  }
15
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../../zero-pg/src/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAG5E,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,MAAM,WAAW,GAAG,CACxB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC,YAAY,CAAC,CAAC;AAE3B,KAAK,OAAO,GAAG;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,CAAC;AAMpD,qBAAa,aAAa,CACxB,CAAC,SAAS,MAAM,EAChB,cAAc,EACd,EAAE,SAAS,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC;;gBAU7C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,EACT,oBAAoB,EAAE,kBAAkB,CAAC,cAAc,CAAC,EACxD,iBAAiB,EAAE,EAAE;IAUjB,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,YAAY,CAAC;CAiJzB"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../../zero-pg/src/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAG5E,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAEL,KAAK,OAAO,EACb,MAAM,sCAAsC,CAAC;AAK9C,MAAM,MAAM,WAAW,GAAG,CACxB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC,YAAY,CAAC,CAAC;AAE3B,KAAK,OAAO,GAAG;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,CAAC;AAEpD,qBAAa,aAAa,CACxB,CAAC,SAAS,MAAM,EAChB,cAAc,EACd,EAAE,SAAS,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC;;gBAU7C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EACT,oBAAoB,EAAE,kBAAkB,CAAC,cAAc,CAAC,EACxD,iBAAiB,EAAE,EAAE;IAUjB,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,YAAY,CAAC;CAmJzB"}
@@ -1,14 +1,15 @@
1
1
  import * as v from "../../shared/src/valita.js";
2
2
  import { pushBodySchema } from "../../zero-protocol/src/push.js";
3
3
  import { makeSchemaCRUD, TransactionImpl, } from "./custom.js";
4
- import { first } from "../../shared/src/iterables.js";
5
4
  import { LogContext } from '@rocicorp/logger';
6
5
  import { createLogContext } from "./logging.js";
7
6
  import { splitMutatorKey, } from "../../zql/src/mutate/custom.js";
8
7
  import { makeSchemaQuery } from "./query.js";
9
- function pgZeroSchema(shardID) {
10
- return `zero_${shardID}`;
11
- }
8
+ import { assert } from "../../shared/src/asserts.js";
9
+ import { upstreamSchema, } from "../../zero-cache/src/types/shards.js";
10
+ import { formatPg } from "../../z2s/src/sql.js";
11
+ import { sql } from "../../z2s/src/sql.js";
12
+ import { MutationAlreadyProcessedError } from "../../zero-cache/src/services/mutagen/mutagen.js";
12
13
  export class PushProcessor {
13
14
  #dbConnectionProvider;
14
15
  #customMutatorDefs;
@@ -49,6 +50,28 @@ export class PushProcessor {
49
50
  return await this.#processMutationImpl(dbConnection, headers, req, m, false);
50
51
  }
51
52
  catch (e) {
53
+ if (e instanceof OutOfOrderMutation) {
54
+ return {
55
+ id: {
56
+ clientID: m.clientID,
57
+ id: m.id,
58
+ },
59
+ result: {
60
+ error: 'ooo-mutation',
61
+ details: e.message,
62
+ },
63
+ };
64
+ }
65
+ if (e instanceof MutationAlreadyProcessedError) {
66
+ this.#lc.warn?.(e.message);
67
+ return {
68
+ id: {
69
+ clientID: m.clientID,
70
+ id: m.id,
71
+ },
72
+ result: {},
73
+ };
74
+ }
52
75
  const ret = await this.#processMutationImpl(dbConnection, headers, req, m, true);
53
76
  if ('error' in ret.result) {
54
77
  return ret;
@@ -68,48 +91,49 @@ export class PushProcessor {
68
91
  if (m.type === 'crud') {
69
92
  throw new Error('crud mutators are deprecated in favor of custom mutators.');
70
93
  }
71
- const pgSchema = pgZeroSchema(this.#shardID);
72
94
  return dbConnection.transaction(async (dbTx) => {
73
- const id = {
74
- clientID: m.clientID,
75
- id: m.id,
76
- };
77
- const client = first(await dbTx.query(`select * from "${pgSchema}"."clients" where "clientID" = $1`, [m.clientID]));
78
- const lmid = client?.lastMutationID ?? 0n;
79
- const expected = lmid + 1n;
80
- if (m.id < expected) {
81
- this.#lc.warn?.(`Mutation ${m.id} already processed. Skipping.`);
82
- return { id, result: {} };
83
- }
84
- if (m.id > expected) {
85
- // if m.id is 1, then client can interpret this like client-not-found
86
- // and nuke client state.
87
- return {
88
- id,
89
- result: {
90
- error: 'ooo-mutation',
91
- },
92
- };
93
- }
95
+ await checkAndIncrementLastMutationID(dbTx, this.#shardID, req.clientGroupID, m.clientID, m.id);
94
96
  if (!errorMode) {
95
97
  await this.#dispatchMutation(dbTx, headers, m);
96
98
  }
97
- if (expected === 1n) {
98
- await dbTx.query(`insert into "${pgSchema}"."clients" ("clientGroupID", "clientID", "lastMutationID") values ($1, $2, $3)`, [req.clientGroupID, m.clientID, expected]);
99
- }
100
- else {
101
- await dbTx.query(`update "${pgSchema}"."clients" set "lastMutationID" = $1 where "clientID" = $2 and "clientGroupID" = $3`, [expected, m.clientID, req.clientGroupID]);
102
- }
103
99
  return {
104
- id,
100
+ id: {
101
+ clientID: m.clientID,
102
+ id: m.id,
103
+ },
105
104
  result: {},
106
105
  };
107
106
  });
108
107
  }
109
108
  #dispatchMutation(dbTx, headers, m) {
110
- const zeroTx = new TransactionImpl(dbTx, headers.authorization, m.clientID, m.id, this.#mutate(dbTx), this.#query(dbTx));
109
+ let { authorization } = headers;
110
+ if (authorization !== undefined) {
111
+ assert(authorization.toLowerCase().startsWith('bearer '), 'Authorization header must start with `Bearer `. This is a bug in the Zero Pusher service.');
112
+ authorization = authorization.substring('Bearer '.length);
113
+ }
114
+ const zeroTx = new TransactionImpl(dbTx, authorization, m.clientID, m.id, this.#mutate(dbTx), this.#query(dbTx));
111
115
  const [namespace, name] = splitMutatorKey(m.name);
112
- return this.#customMutatorDefs[namespace][name](zeroTx, m.args);
116
+ return this.#customMutatorDefs[namespace][name](zeroTx, m.args[0]);
117
+ }
118
+ }
119
+ async function checkAndIncrementLastMutationID(tx, shard, clientGroupID, clientID, receivedMutationID) {
120
+ const formatted = formatPg(sql `INSERT INTO ${sql.ident(upstreamSchema(shard))}.clients
121
+ as current ("clientGroupID", "clientID", "lastMutationID")
122
+ VALUES (${clientGroupID}, ${clientID}, ${1})
123
+ ON CONFLICT ("clientGroupID", "clientID")
124
+ DO UPDATE SET "lastMutationID" = current."lastMutationID" + 1
125
+ RETURNING "lastMutationID"`);
126
+ const [{ lastMutationID }] = (await tx.query(formatted.text, formatted.values));
127
+ if (receivedMutationID < lastMutationID) {
128
+ throw new MutationAlreadyProcessedError(clientID, receivedMutationID, lastMutationID);
129
+ }
130
+ else if (receivedMutationID > lastMutationID) {
131
+ throw new OutOfOrderMutation(clientID, receivedMutationID, lastMutationID);
132
+ }
133
+ }
134
+ class OutOfOrderMutation extends Error {
135
+ constructor(clientID, receivedMutationID, lastMutationID) {
136
+ super(`Client ${clientID} sent mutation ID ${receivedMutationID} but expected ${lastMutationID}`);
113
137
  }
114
138
  }
115
139
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../zero-pg/src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../zero-pg/src/web.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-query.d.ts","sourceRoot":"","sources":["../../../../zero-react/src/use-query.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAC,KAAK,aAAa,EAAE,KAAK,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAc,KAAK,GAAG,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAC,UAAU,EAAY,MAAM,mCAAmC,CAAC;AAG7E,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS;IAC1C,aAAa,CAAC,OAAO,CAAC;IACtB,kBAAkB;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,QAAQ,CACtB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAkBtB;AAuDD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAKlE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;;;IASpB,OAAO,CACL,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAC9C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,GACP;QACD,WAAW,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;KAChE;CAgCF"}
1
+ {"version":3,"file":"use-query.d.ts","sourceRoot":"","sources":["../../../../zero-react/src/use-query.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAC,KAAK,aAAa,EAAE,KAAK,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAc,KAAK,GAAG,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAC,UAAU,EAAY,MAAM,mCAAmC,CAAC;AAG7E,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS;IAC1C,aAAa,CAAC,OAAO,CAAC;IACtB,kBAAkB;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,QAAQ,CACtB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAkBtB;AAuDD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAKlE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;;;IASpB,OAAO,CACL,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAC9C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,GACP;QACD,WAAW,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;KAChE;CAkCF"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-query.d.ts","sourceRoot":"","sources":["../../../../zero-solid/src/use-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAC,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAEV,aAAa,EACb,KAAK,EACN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,GAAG,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAmB,KAAK,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAE1E,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS;IAC1C,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,QAAQ,CACtB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,WAAW,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,GACpD,WAAW,CAAC,OAAO,CAAC,CAkBtB"}
1
+ {"version":3,"file":"use-query.d.ts","sourceRoot":"","sources":["../../../../zero-solid/src/use-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAC,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAEV,aAAa,EACb,KAAK,EACN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,GAAG,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS;IAC1C,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,QAAQ,CACtB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EAEP,WAAW,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,GACpD,WAAW,CAAC,OAAO,CAAC,CActB"}
package/out/zero.js CHANGED
@@ -19,11 +19,11 @@ import {
19
19
  relationships,
20
20
  string,
21
21
  table
22
- } from "./chunk-VNV6U5BQ.js";
22
+ } from "./chunk-APXCO5Z2.js";
23
23
  import {
24
24
  DEFAULT_TTL
25
- } from "./chunk-2Y24MEEQ.js";
26
- import "./chunk-6CQ6CUML.js";
25
+ } from "./chunk-5X3DESC6.js";
26
+ import "./chunk-7ARRNDLF.js";
27
27
  import "./chunk-424PT5DM.js";
28
28
  export {
29
29
  ANYONE_CAN,
@@ -7,7 +7,7 @@ import { type NoSubqueryCondition } from '../builder/filter.ts';
7
7
  import { type Constraint } from './constraint.ts';
8
8
  import { type Comparator, type Node } from './data.ts';
9
9
  import { type Input, type Output, type Start } from './operator.ts';
10
- import type { Source, SourceChange, SourceInput } from './source.ts';
10
+ import type { Source, SourceChange, SourceChangeSet, SourceInput } from './source.ts';
11
11
  import type { Stream } from './stream.ts';
12
12
  export type Overlay = {
13
13
  outputIndex: number;
@@ -46,8 +46,8 @@ export declare class MemorySource implements Source {
46
46
  fork(): MemorySource;
47
47
  connect(sort: Ordering, filters?: Condition | undefined, splitEditKeys?: Set<string> | undefined): SourceInput;
48
48
  getIndexKeys(): string[];
49
- push(change: SourceChange): void;
50
- genPush(change: SourceChange): Generator<undefined, void, unknown>;
49
+ push(change: SourceChange | SourceChangeSet): void;
50
+ genPush(change: SourceChange | SourceChangeSet): Generator<undefined, void, unknown>;
51
51
  }
52
52
  export declare function genPush(change: SourceChange, exists: (row: Row) => boolean, connections: Iterable<[number, Connection]>, setOverlay: (o: Overlay | undefined) => void, setSplitEditOverlay: (o: Overlay | undefined) => void): Generator<undefined, void, unknown>;
53
53
  export declare function generateWithStart(nodes: Iterable<Node>, start: Start | undefined, compare: (r1: Row, r2: Row) => number): Stream<Node>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAE1D,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EAET,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAQ,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,KAAK,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,eAAe,EACf,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;CACzB,CAAC;AAQF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACvC,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EACH;QACE,SAAS,EAAE,mBAAmB,CAAC;QAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;KAClC,GACD,SAAS,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,MAAM;;gBAYvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,UAAU,EAAE,UAAU,EACtB,gBAAgB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS;IAgB9C,aAAa;;;;;IAQb,IAAI;IAuBJ,OAAO,CACL,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,EAC/B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GACtC,WAAW;IA6Fd,YAAY,IAAI,MAAM,EAAE;IAyFxB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI;IAMjD,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe;CAiEhD;AAsBD,wBAAiB,OAAO,CACtB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAC7B,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAC3C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,EAC5C,mBAAmB,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,uCAuFtD;AAED,wBAAiB,iBAAiB,CAChC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GACpC,MAAM,CAAC,IAAI,CAAC,CAsBd;AAED;;;;;;;;;;;GAWG;AACH,wBAAiB,mBAAmB,CAClC,OAAO,EAAE,GAAG,GAAG,SAAS,EACxB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EACnB,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,gBAAgB,EAAE,OAAO,GAAG,SAAS,EACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,UAAU,EACnB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,SAAS;;;kBAgBpD;AAiDD,OAAO,EAAC,kBAAkB,IAAI,yBAAyB,EAAC,CAAC;AAEzD,iBAAS,kBAAkB,CACzB,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,QAAQ,EACvB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,UAAU,GAClB,QAAQ,CAOV;AAED,OAAO,EAAC,qBAAqB,IAAI,4BAA4B,EAAC,CAAC;AAE/D,iBAAS,qBAAqB,CAC5B,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,QAAQ,EACvB,UAAU,EAAE,UAAU,GACrB,QAAQ,CAUV;AAeD,wBAAiB,wBAAwB,CACvC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM;;;kBA0BtC;AAyDD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,UAI7C"}
@@ -218,6 +218,22 @@ export class MemorySource {
218
218
  const exists = (row) => data.has(row);
219
219
  const setOverlay = (o) => (this.#overlay = o);
220
220
  const setSplitEditOverlay = (o) => (this.#splitEditOverlay = o);
221
+ if (change.type === 'set') {
222
+ const existing = data.get(change.row);
223
+ if (existing !== undefined) {
224
+ change = {
225
+ type: 'edit',
226
+ row: change.row,
227
+ oldRow: existing,
228
+ };
229
+ }
230
+ else {
231
+ change = {
232
+ type: 'add',
233
+ row: change.row,
234
+ };
235
+ }
236
+ }
221
237
  for (const x of genPush(change, exists, this.#connections.entries(), setOverlay, setSplitEditOverlay)) {
222
238
  yield x;
223
239
  }