@rocicorp/zero 0.25.0-canary.6 → 0.25.0-canary.7

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 (128) hide show
  1. package/out/{chunk-WWNKZSEE.js → chunk-FODUNUAD.js} +77 -84
  2. package/out/chunk-FODUNUAD.js.map +7 -0
  3. package/out/{chunk-PFM5IJC4.js → chunk-S633A55A.js} +2 -2
  4. package/out/{chunk-PFM5IJC4.js.map → chunk-S633A55A.js.map} +1 -1
  5. package/out/react.js +1 -1
  6. package/out/shared/src/options.d.ts +2 -0
  7. package/out/shared/src/options.d.ts.map +1 -1
  8. package/out/shared/src/options.js +8 -4
  9. package/out/shared/src/options.js.map +1 -1
  10. package/out/solid.js +2 -2
  11. package/out/zero/package.json +2 -2
  12. package/out/zero/src/zero-cache-dev.js +2 -0
  13. package/out/zero/src/zero-cache-dev.js.map +1 -1
  14. package/out/zero-cache/src/db/mode-enum.d.ts +2 -0
  15. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -1
  16. package/out/zero-cache/src/db/mode-enum.js +1 -0
  17. package/out/zero-cache/src/db/mode-enum.js.map +1 -1
  18. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  19. package/out/zero-cache/src/server/syncer.js +1 -1
  20. package/out/zero-cache/src/server/syncer.js.map +1 -1
  21. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +1 -1
  22. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +1 -1
  23. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +6 -2
  24. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  25. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -2
  26. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  27. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +7 -0
  28. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  29. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -1
  30. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  31. package/out/zero-cache/src/services/change-streamer/change-streamer.js +5 -1
  32. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  33. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +58 -0
  34. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +1 -1
  35. package/out/zero-cache/src/services/change-streamer/snapshot.js +19 -0
  36. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
  37. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -0
  38. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  39. package/out/zero-cache/src/services/change-streamer/storer.js +5 -0
  40. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  41. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  42. package/out/zero-cache/src/services/litestream/commands.js +43 -11
  43. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  44. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  45. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +5 -6
  46. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  47. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  48. package/out/zero-cache/src/services/view-syncer/cvr-store.js +8 -4
  49. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  50. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  51. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +93 -78
  52. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  53. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  54. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +6 -3
  56. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  57. package/out/zero-cache/src/types/websocket-handoff.d.ts +2 -2
  58. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
  59. package/out/zero-cache/src/types/websocket-handoff.js +2 -2
  60. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  61. package/out/zero-client/src/client/connection.d.ts +2 -2
  62. package/out/zero-client/src/client/connection.d.ts.map +1 -1
  63. package/out/zero-client/src/client/context.d.ts +2 -2
  64. package/out/zero-client/src/client/context.d.ts.map +1 -1
  65. package/out/zero-client/src/client/custom.d.ts +3 -3
  66. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  67. package/out/zero-client/src/client/delete-clients-manager.d.ts +2 -2
  68. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  69. package/out/zero-client/src/client/metrics.d.ts +2 -2
  70. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  71. package/out/zero-client/src/client/mutation-tracker.d.ts +2 -2
  72. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  73. package/out/zero-client/src/client/query-manager.d.ts +2 -2
  74. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  75. package/out/zero-client/src/client/reload-error-handler.d.ts +3 -3
  76. package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -1
  77. package/out/zero-client/src/client/zero-poke-handler.d.ts +2 -2
  78. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  79. package/out/zero-client/src/client/zero.d.ts +2 -2
  80. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  81. package/out/zero-server/src/adapters/drizzle.js +1 -1
  82. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  83. package/out/zero-server/src/adapters/pg.d.ts +1 -1
  84. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  85. package/out/zero-server/src/adapters/pg.js +1 -1
  86. package/out/zero-server/src/adapters/pg.js.map +1 -1
  87. package/out/zero-server/src/adapters/postgresjs.d.ts +1 -1
  88. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  89. package/out/zero-server/src/adapters/postgresjs.js +1 -1
  90. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  91. package/out/zero-server/src/custom.js +1 -1
  92. package/out/zero-server/src/custom.js.map +1 -1
  93. package/out/zero.js +2 -2
  94. package/out/zql/src/mutate/custom.d.ts +1 -1
  95. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  96. package/out/zql/src/planner/planner-connection.d.ts +7 -0
  97. package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
  98. package/out/zql/src/planner/planner-connection.js +2 -1
  99. package/out/zql/src/planner/planner-connection.js.map +1 -1
  100. package/out/zql/src/planner/planner-debug.d.ts +2 -1
  101. package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
  102. package/out/zql/src/planner/planner-debug.js.map +1 -1
  103. package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
  104. package/out/zql/src/planner/planner-fan-in.js +5 -0
  105. package/out/zql/src/planner/planner-fan-in.js.map +1 -1
  106. package/out/zql/src/planner/planner-graph.d.ts +1 -2
  107. package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
  108. package/out/zql/src/planner/planner-graph.js +49 -68
  109. package/out/zql/src/planner/planner-graph.js.map +1 -1
  110. package/out/zql/src/planner/planner-join.d.ts +6 -2
  111. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  112. package/out/zql/src/planner/planner-join.js +26 -10
  113. package/out/zql/src/planner/planner-join.js.map +1 -1
  114. package/out/zql/src/planner/planner-node.d.ts +2 -1
  115. package/out/zql/src/planner/planner-node.d.ts.map +1 -1
  116. package/out/zql/src/query/define-query.d.ts +3 -3
  117. package/out/zql/src/query/define-query.d.ts.map +1 -1
  118. package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -1
  119. package/out/zqlite/src/sqlite-cost-model.js +10 -3
  120. package/out/zqlite/src/sqlite-cost-model.js.map +1 -1
  121. package/out/zqlite/src/sqlite-stat-fanout.d.ts +121 -0
  122. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -0
  123. package/out/zqlite/src/sqlite-stat-fanout.js +377 -0
  124. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  125. package/package.json +2 -2
  126. package/out/chunk-WWNKZSEE.js.map +0 -7
  127. package/out/zero-client/src/client/zero-log-context.d.ts +0 -7
  128. package/out/zero-client/src/client/zero-log-context.d.ts.map +0 -1
@@ -4,7 +4,7 @@ import {
4
4
  clientToServer,
5
5
  defaultFormat,
6
6
  queryWithContext
7
- } from "./chunk-WWNKZSEE.js";
7
+ } from "./chunk-FODUNUAD.js";
8
8
  import {
9
9
  mapCondition,
10
10
  toStaticParam
@@ -492,4 +492,4 @@ export {
492
492
  defineQueryWithContextType,
493
493
  escapeLike
494
494
  };
495
- //# sourceMappingURL=chunk-PFM5IJC4.js.map
495
+ //# sourceMappingURL=chunk-S633A55A.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../zero-schema/src/builder/relationship-builder.ts", "../../zql/src/query/static-query.ts", "../../zero-schema/src/permissions.ts", "../../zql/src/query/chained-query.ts", "../../zql/src/query/root-named-query.ts", "../../zql/src/query/define-query.ts", "../../zql/src/query/escape-like.ts"],
4
- "sourcesContent": ["/* oxlint-disable @typescript-eslint/no-explicit-any */\nimport type {Relationship, TableSchema} from '../table-schema.ts';\nimport type {TableBuilderWithColumns} from './table-builder.ts';\n\ntype ConnectArg<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TableBuilderWithColumns<TDest>;\n};\n\ntype ManyConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'many';\n};\n\ntype OneConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'one';\n};\n\ntype Prev = [-1, 0, 1, 2, 3, 4, 5, 6];\n\nexport type PreviousSchema<\n TSource extends TableSchema,\n K extends number,\n TDests extends TableSchema[],\n> = K extends 0 ? TSource : TDests[Prev[K]];\n\nexport type Relationships = {\n name: string; // table name\n relationships: Record<string, Relationship>; // relationships for that table\n};\n\n// Overloaded types for better inference\ntype ManyConnector<TSource extends TableSchema> = {\n // Single direct relationship\n <TDest extends TableSchema>(\n arg: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n ManyConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n\n // Junction relationship (two hops)\n <TJunction extends TableSchema, TDest extends TableSchema>(\n firstHop: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TJunction['columns'] & string)[],\n TJunction\n >,\n secondHop: ConnectArg<\n readonly (keyof TJunction['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n ManyConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TJunction['columns'] & string)[],\n TJunction\n >,\n ManyConnection<\n readonly (keyof TJunction['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n};\n\ntype OneConnector<TSource extends TableSchema> = {\n // Single direct relationship\n <TDest extends TableSchema>(\n arg: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n OneConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n\n // Two-hop relationship (e.g., invoice_line -> invoice -> customer)\n <TIntermediate extends TableSchema, TDest extends TableSchema>(\n firstHop: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TIntermediate['columns'] & string)[],\n TIntermediate\n >,\n secondHop: ConnectArg<\n readonly (keyof TIntermediate['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n OneConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TIntermediate['columns'] & string)[],\n TIntermediate\n >,\n OneConnection<\n readonly (keyof TIntermediate['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n};\n\nexport function relationships<\n TSource extends TableSchema,\n TRelationships extends Record<string, Relationship>,\n>(\n table: TableBuilderWithColumns<TSource>,\n cb: (connects: {\n many: ManyConnector<TSource>;\n one: OneConnector<TSource>;\n }) => TRelationships,\n): {name: TSource['name']; relationships: TRelationships} {\n const relationships = cb({many, one} as any);\n\n return {\n name: table.schema.name,\n relationships,\n };\n}\n\nfunction many(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): ManyConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'many',\n }));\n}\n\nfunction one(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): OneConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'one',\n }));\n}\n", "import {assert} from '../../../shared/src/asserts.ts';\nimport type {AST, System} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {defaultFormat} from '../ivm/default-format.ts';\nimport type {Format} from '../ivm/view.ts';\nimport {ExpressionBuilder} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {AbstractQuery} from './query-impl.ts';\nimport type {PullRow, Query} from './query.ts';\n\nexport function staticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn = PullRow<TTable, TSchema>,\n TContext = unknown,\n>(\n schema: TSchema,\n tableName: TTable,\n): Query<TSchema, TTable, TReturn, TContext> {\n return new StaticQuery<TSchema, TTable, TReturn>(\n schema,\n tableName,\n {table: tableName},\n defaultFormat,\n );\n}\n\n/**\n * A query that cannot be run.\n * Only serves to generate ASTs.\n */\nexport class StaticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn = PullRow<TTable, TSchema>,\n TContext = unknown,\n> extends AbstractQuery<TSchema, TTable, TReturn, TContext> {\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System = 'permissions',\n customQueryID?: CustomQueryID,\n currentJunction?: string,\n ) {\n super(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n (tableName, ast, format, _customQueryID, _currentJunction) =>\n new StaticQuery(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n ),\n );\n }\n\n expressionBuilder() {\n return new ExpressionBuilder(this._exists);\n }\n}\n\nexport function asStaticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n>(\n q: Query<TSchema, TTable, TReturn, TContext>,\n): StaticQuery<TSchema, TTable, TReturn, TContext> {\n assert(q instanceof StaticQuery);\n return q;\n}\n", "import {assert} from '../../shared/src/asserts.ts';\nimport {\n mapCondition,\n toStaticParam,\n type Condition,\n type Parameter,\n} from '../../zero-protocol/src/ast.ts';\nimport {defaultFormat} from '../../zero-types/src/format.ts';\nimport type {Schema} from '../../zero-types/src/schema.ts';\nimport type {ExpressionBuilder} from '../../zql/src/query/expression.ts';\nimport type {Query} from '../../zql/src/query/query.ts';\nimport {StaticQuery} from '../../zql/src/query/static-query.ts';\nimport type {\n AssetPermissions as CompiledAssetPermissions,\n PermissionsConfig as CompiledPermissionsConfig,\n} from './compiled-permissions.ts';\nimport {clientToServer, NameMapper} from './name-mapper.ts';\n\nexport const ANYONE_CAN = [\n (_: unknown, eb: ExpressionBuilder<Schema, never>) => eb.and(),\n];\n\n/**\n * @deprecated Use {@link ANYONE_CAN} instead.\n */\nexport const ANYONE_CAN_DO_ANYTHING = {\n row: {\n select: ANYONE_CAN,\n insert: ANYONE_CAN,\n update: {\n preMutation: ANYONE_CAN,\n postMutation: ANYONE_CAN,\n },\n delete: ANYONE_CAN,\n },\n};\n\nexport const NOBODY_CAN = [];\n\nexport type Anchor = 'authData' | 'preMutationRow';\n\nexport type Queries<TSchema extends Schema> = {\n [K in keyof TSchema['tables']]: Query<Schema, K & string>;\n};\n\nexport type PermissionRule<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = (\n authData: TAuthDataShape,\n eb: ExpressionBuilder<TSchema, TTable>,\n) => Condition;\n\nexport type AssetPermissions<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = {\n // Why an array of rules?: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n select?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n insert?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n update?:\n | {\n preMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n postMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n }\n | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n delete?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n};\n\nexport type PermissionsConfig<TAuthDataShape, TSchema extends Schema> = {\n [K in keyof TSchema['tables']]?: {\n row?: AssetPermissions<TAuthDataShape, TSchema, K & string> | undefined;\n cell?:\n | {\n [C in keyof TSchema['tables'][K]['columns']]?: Omit<\n AssetPermissions<TAuthDataShape, TSchema, K & string>,\n 'cell'\n >;\n }\n | undefined;\n };\n};\n\nexport async function definePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n definer: () =>\n | Promise<PermissionsConfig<TAuthDataShape, TSchema>>\n | PermissionsConfig<TAuthDataShape, TSchema>,\n): Promise<CompiledPermissionsConfig | undefined> {\n const expressionBuilders = {} as Record<\n string,\n ExpressionBuilder<Schema, string>\n >;\n for (const name of Object.keys(schema.tables)) {\n expressionBuilders[name] = new StaticQuery(\n schema,\n name,\n {table: name},\n defaultFormat,\n ).expressionBuilder();\n }\n\n const config = await definer();\n return compilePermissions(schema, config, expressionBuilders);\n}\n\nfunction compilePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n authz: PermissionsConfig<TAuthDataShape, TSchema> | undefined,\n expressionBuilders: Record<string, ExpressionBuilder<Schema, string>>,\n): CompiledPermissionsConfig | undefined {\n if (!authz) {\n return undefined;\n }\n const nameMapper = clientToServer(schema.tables);\n const ret: CompiledPermissionsConfig = {tables: {}};\n for (const [tableName, tableConfig] of Object.entries(authz)) {\n const serverName = schema.tables[tableName].serverName ?? tableName;\n ret.tables[serverName] = {\n row: compileRowConfig(\n nameMapper,\n tableName,\n tableConfig.row,\n expressionBuilders[tableName],\n ),\n cell: compileCellConfig(\n nameMapper,\n tableName,\n tableConfig.cell,\n expressionBuilders[tableName],\n ),\n };\n }\n\n return ret;\n}\n\nfunction compileRowConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rowRules: AssetPermissions<TAuthDataShape, TSchema, TTable> | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): CompiledAssetPermissions | undefined {\n if (!rowRules) {\n return undefined;\n }\n return {\n select: compileRules(\n clientToServer,\n tableName,\n rowRules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rowRules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rowRules.delete,\n expressionBuilder,\n ),\n };\n}\n\n/**\n * What is this \"allow\" and why are permissions policies an array of rules?\n *\n * Please read: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n */\nfunction compileRules<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rules: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): ['allow', Condition][] | undefined {\n if (!rules) {\n return undefined;\n }\n\n return rules.map(rule => {\n const cond = rule(authDataRef as TAuthDataShape, expressionBuilder);\n return ['allow', mapCondition(cond, tableName, clientToServer)] as const;\n });\n}\n\nfunction compileCellConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n cellRules:\n | Record<string, AssetPermissions<TAuthDataShape, TSchema, TTable>>\n | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): Record<string, CompiledAssetPermissions> | undefined {\n if (!cellRules) {\n return undefined;\n }\n const ret: Record<string, CompiledAssetPermissions> = {};\n for (const [columnName, rules] of Object.entries(cellRules)) {\n ret[columnName] = {\n select: compileRules(\n clientToServer,\n tableName,\n rules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rules.delete,\n expressionBuilder,\n ),\n };\n }\n return ret;\n}\n\nclass CallTracker {\n readonly #anchor: Anchor;\n readonly #path: string[];\n constructor(anchor: Anchor, path: string[]) {\n this.#anchor = anchor;\n this.#path = path;\n }\n\n get(target: {[toStaticParam]: () => Parameter}, prop: string | symbol) {\n if (prop === toStaticParam) {\n return target[toStaticParam];\n }\n assert(typeof prop === 'string');\n const path = [...this.#path, prop];\n return new Proxy(\n {\n [toStaticParam]: () => staticParam(this.#anchor, path),\n },\n new CallTracker(this.#anchor, path),\n );\n }\n}\n\nfunction baseTracker(anchor: Anchor) {\n return new Proxy(\n {\n [toStaticParam]: () => {\n throw new Error('no JWT field specified');\n },\n },\n new CallTracker(anchor, []),\n );\n}\n\nexport const authDataRef = baseTracker('authData');\nexport const preMutationRowRef = baseTracker('preMutationRow');\nexport function staticParam(\n anchorClass: 'authData' | 'preMutationRow',\n field: string | string[],\n): Parameter {\n return {\n type: 'static',\n anchor: anchorClass,\n // for backwards compatibility\n field: field.length === 1 ? field[0] : field,\n };\n}\n", "import type {SimpleOperator} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport type {ExpressionFactory, ParameterReference} from './expression.ts';\nimport type {\n AnyQuery,\n AvailableRelationships,\n DestTableName,\n ExistsOptions,\n GetFilterType,\n NoCompoundTypeSelector,\n PullRow,\n PullTableSchema,\n Query,\n} from './query.ts';\n\n/**\n * Function type for chaining one query to another.\n */\ntype ChainQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn1,\n TReturn2,\n TContext,\n> = (\n q: Query<TSchema, TTable, TReturn1, TContext>,\n) => Query<TSchema, TTable, TReturn2, TContext>;\n\nexport type AnyChainQuery = ChainQuery<\n Schema,\n string,\n PullRow<string, Schema>,\n PullRow<string, Schema>,\n unknown\n>;\n\n/**\n * Chained query that applies a transformation function to a parent query.\n * This represents a query operation that builds on top of another query.\n */\nexport class ChainedQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n> implements Query<TSchema, TTable, TReturn, TContext>\n{\n readonly #parent: {\n withContext(ctx: TContext): Query<TSchema, TTable, unknown>;\n };\n readonly #chainFn: AnyChainQuery;\n #q: Query<TSchema, TTable, TReturn> | undefined;\n\n constructor(\n parent: {withContext(ctx: TContext): Query<TSchema, TTable, unknown>},\n chainFn: AnyChainQuery,\n ) {\n this.#parent = parent;\n this.#chainFn = chainFn;\n }\n\n withContext(ctx: TContext): Query<TSchema, TTable, TReturn> {\n if (this.#q) {\n return this.#q;\n }\n\n // This is a chained query - get the parent query and apply the chain function\n const parentQuery = this.#parent.withContext(ctx);\n this.#q = this.#chainFn(parentQuery as AnyQuery) as Query<\n TSchema,\n TTable,\n TReturn\n >;\n return this.#q;\n }\n\n #withChain<TNewReturn>(\n fn: (\n q: Query<TSchema, TTable, TReturn>,\n ) => Query<TSchema, TTable, TNewReturn>,\n ): ChainedQuery<TSchema, TTable, TNewReturn, TContext> {\n return new ChainedQuery(\n this as {withContext(ctx: TContext): Query<TSchema, TTable, unknown>},\n fn as AnyChainQuery,\n );\n }\n\n // Query interface methods\n\n one(): ChainedQuery<TSchema, TTable, TReturn | undefined, TContext> {\n return this.#withChain(q => q.one());\n }\n\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => Query<TSchema, string, TContext>,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists(\n relationship: AvailableRelationships<TTable, TSchema>,\n cbOrOptions?:\n | ((\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>)\n | ExistsOptions,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof cbOrOptions === 'function') {\n return this.#withChain(q =>\n q.whereExists(\n relationship as string,\n cbOrOptions as unknown as (q: AnyQuery) => AnyQuery,\n options,\n ),\n );\n }\n return this.#withChain(q =>\n q.whereExists(relationship as string, cbOrOptions),\n );\n }\n\n related<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related<\n TRelationship extends AvailableRelationships<TTable, TSchema>,\n TSub extends Query<TSchema, string, unknown>,\n >(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => TSub,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related(\n relationship: AvailableRelationships<TTable, TSchema>,\n cb?: (\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>,\n ): ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n > {\n if (cb) {\n return this.#withChain(q =>\n q.related(\n relationship as string,\n cb as unknown as (q: AnyQuery) => AnyQuery,\n ),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n return this.#withChain(q =>\n q.related(relationship as string),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n TOperator extends SimpleOperator,\n >(\n field: TSelector,\n op: TOperator,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n >(\n field: TSelector,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n expressionFactory: ExpressionFactory<TSchema, TTable>,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n fieldOrExpressionFactory:\n | NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>\n | ExpressionFactory<TSchema, TTable>,\n opOrValue?: unknown,\n value?: unknown,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof fieldOrExpressionFactory === 'function') {\n return this.#withChain(q => q.where(fieldOrExpressionFactory));\n }\n if (value !== undefined) {\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(\n field: unknown,\n op: unknown,\n val: unknown,\n ): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue, value),\n );\n }\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(field: unknown, val: unknown): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue),\n );\n }\n\n start(\n row: Partial<PullRow<TTable, TSchema>>,\n opts?: {inclusive: boolean},\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.start(row, opts));\n }\n\n limit(limit: number): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.limit(limit));\n }\n\n orderBy<TSelector extends keyof PullTableSchema<TTable, TSchema>['columns']>(\n field: TSelector,\n direction: 'asc' | 'desc',\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.orderBy(field as string, direction));\n }\n}\n", "import type {StandardSchemaV1} from '@standard-schema/spec';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport type {SimpleOperator} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {ChainedQuery, type AnyChainQuery} from './chained-query.ts';\nimport type {DefineQueryFunc} from './define-query.ts';\nimport type {ExpressionFactory, ParameterReference} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {queryWithContext} from './query-internals.ts';\nimport type {AnyQuery} from './query.ts';\nimport {\n type AvailableRelationships,\n type DestTableName,\n type ExistsOptions,\n type GetFilterType,\n type NoCompoundTypeSelector,\n type PullRow,\n type PullTableSchema,\n type Query,\n} from './query.ts';\n\n/**\n * Root named query that has a name, input validation, and a function to execute.\n * This is the base query that doesn't chain from another query.\n */\nexport class RootNamedQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput,\n> implements Query<TSchema, TTable, TReturn, TContext>\n{\n readonly #name: TName;\n readonly #input: TInput;\n readonly #func: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>;\n readonly #validator: StandardSchemaV1<TInput, TOutput> | undefined;\n #cachedQuery: Query<TSchema, TTable, TReturn, TContext> | undefined;\n\n constructor(\n name: TName,\n func: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n input: TInput,\n validator: StandardSchemaV1<TInput, TOutput> | undefined,\n ) {\n this.#name = name;\n this.#func = func;\n this.#input = input;\n this.#validator = validator;\n }\n\n withContext(ctx: TContext): Query<TSchema, TTable, TReturn, TContext> {\n if (this.#cachedQuery) {\n return this.#cachedQuery;\n }\n\n // This is a root query - call the function with the context\n let output: TOutput;\n if (!this.#validator) {\n // No validator, so input and output are the same\n output = this.#input as unknown as TOutput;\n } else {\n const result = this.#validator['~standard'].validate(this.#input);\n if (result instanceof Promise) {\n throw new Error(\n `Async validators are not supported. Query name ${this.#name}`,\n );\n }\n if (result.issues) {\n throw new Error(\n `Validation failed for query ${this.#name}: ${result.issues\n .map(issue => issue.message)\n .join(', ')}`,\n );\n }\n output = result.value;\n }\n\n // TODO: Refactor to deal with the name and args at a different abstraction\n // layer.\n this.#cachedQuery = queryWithContext(\n this.#func({ctx, args: output}),\n ctx,\n ).nameAndArgs(\n this.#name,\n this.#input === undefined ? [] : [this.#input as ReadonlyJSONValue],\n );\n return this.#cachedQuery;\n }\n\n #withChain<TNewReturn>(\n fn: (\n q: Query<TSchema, TTable, TReturn>,\n ) => Query<TSchema, TTable, TNewReturn>,\n ): ChainedQuery<TSchema, TTable, TNewReturn, TContext> {\n return new ChainedQuery(\n this as {withContext(ctx: TContext): Query<TSchema, TTable, unknown>},\n fn as AnyChainQuery,\n );\n }\n\n // Query interface methods\n\n one(): ChainedQuery<TSchema, TTable, TReturn | undefined, TContext> {\n return this.#withChain(q => q.one());\n }\n\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => Query<TSchema, string, TContext>,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists(\n relationship: AvailableRelationships<TTable, TSchema>,\n cbOrOptions?:\n | ((\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>)\n | ExistsOptions,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof cbOrOptions === 'function') {\n return this.#withChain(q =>\n q.whereExists(\n relationship as string,\n cbOrOptions as unknown as (q: AnyQuery) => AnyQuery,\n options,\n ),\n );\n }\n return this.#withChain(q =>\n q.whereExists(relationship as string, cbOrOptions),\n );\n }\n\n related<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related<\n TRelationship extends AvailableRelationships<TTable, TSchema>,\n TSub extends Query<TSchema, string, unknown>,\n >(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => TSub,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related(\n relationship: AvailableRelationships<TTable, TSchema>,\n cb?: (\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>,\n ): ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n > {\n if (cb) {\n return this.#withChain(q =>\n q.related(\n relationship as string,\n cb as unknown as (q: AnyQuery) => AnyQuery,\n ),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n return this.#withChain(q =>\n q.related(relationship as string),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n TOperator extends SimpleOperator,\n >(\n field: TSelector,\n op: TOperator,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n >(\n field: TSelector,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n expressionFactory: ExpressionFactory<TSchema, TTable>,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n fieldOrExpressionFactory:\n | NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>\n | ExpressionFactory<TSchema, TTable>,\n opOrValue?: unknown,\n value?: unknown,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof fieldOrExpressionFactory === 'function') {\n return this.#withChain(q => q.where(fieldOrExpressionFactory));\n }\n if (value !== undefined) {\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(\n field: unknown,\n op: unknown,\n val: unknown,\n ): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue, value),\n );\n }\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(field: unknown, val: unknown): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue),\n );\n }\n\n start(\n row: Partial<PullRow<TTable, TSchema>>,\n opts?: {inclusive: boolean},\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.start(row, opts));\n }\n\n limit(limit: number): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.limit(limit));\n }\n\n orderBy<TSelector extends keyof PullTableSchema<TTable, TSchema>['columns']>(\n field: TSelector,\n direction: 'asc' | 'desc',\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.orderBy(field as string, direction));\n }\n\n get customQueryID(): CustomQueryID {\n return {\n name: this.#name,\n args: this.#input === undefined ? [] : [this.#input as ReadonlyJSONValue],\n };\n }\n}\n", "import type {StandardSchemaV1} from '@standard-schema/spec';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport type {Query} from './query.ts';\nimport {RootNamedQuery} from './root-named-query.ts';\n\nexport type DefineQueryOptions<Input, Output> = {\n validator?: StandardSchemaV1<Input, Output> | undefined;\n};\n\n/**\n * Function type for root query functions that take context and args.\n */\nexport type DefineQueryFunc<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs,\n> = (options: {\n ctx: TContext;\n args: TArgs;\n}) => Query<TSchema, TTable, TReturn, TContext>;\n\nexport type NamedQueryFunction<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends ReadonlyJSONValue | undefined,\n> = ([TOutput] extends [undefined]\n ? (() => Query<TSchema, TTable, TReturn, TContext>) &\n ((args: undefined) => Query<TSchema, TTable, TReturn, TContext>)\n : undefined extends TOutput\n ? (args?: TInput) => Query<TSchema, TTable, TReturn, TContext>\n : (args: TInput) => Query<TSchema, TTable, TReturn, TContext>) & {\n queryName: TName;\n};\n\nexport type AnyNamedQueryFunction = NamedQueryFunction<\n string,\n Schema,\n string,\n // oxlint-disable-next-line no-explicit-any\n any,\n // oxlint-disable-next-line no-explicit-any\n any,\n ReadonlyJSONValue | undefined,\n ReadonlyJSONValue | undefined\n>;\n\n// Overload for no options parameter with default inference for untyped functions\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs extends ReadonlyJSONValue | undefined,\n>(\n name: TName,\n queryFn: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TArgs>,\n): NamedQueryFunction<TName, TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n// Overload for options parameter with validator - Input and Output can be different\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends ReadonlyJSONValue | undefined = TOutput,\n>(\n name: TName,\n options: DefineQueryOptions<TInput, TOutput>,\n queryFn: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n): NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n>;\n\n// Overload for options parameter without validator with default inference\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs extends ReadonlyJSONValue | undefined,\n>(\n name: TName,\n options: {},\n queryFn: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TArgs>,\n): NamedQueryFunction<TName, TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n// Implementation\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends ReadonlyJSONValue | undefined = TOutput,\n>(\n name: TName,\n optionsOrQueryFn:\n | DefineQueryOptions<TInput, TOutput>\n | DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n queryFn?: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n): NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n> {\n // Handle different parameter patterns\n let defineOptions: DefineQueryOptions<TInput, TOutput> | undefined;\n let actualQueryFn: DefineQueryFunc<\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput\n >;\n\n if (typeof optionsOrQueryFn === 'function') {\n // defineQuery(name, queryFn) - no options\n defineOptions = undefined;\n actualQueryFn = optionsOrQueryFn;\n } else {\n // defineQuery(name, options, queryFn) - with options\n defineOptions = optionsOrQueryFn;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n actualQueryFn = queryFn!;\n }\n\n const f = ((args?: TInput) =>\n new RootNamedQuery(\n name,\n actualQueryFn,\n args,\n defineOptions?.validator,\n )) as unknown as NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n >;\n f.queryName = name;\n return f;\n}\n\n/**\n * Creates a type-safe query definition function that is parameterized by a\n * custom context type.\n *\n * This utility allows you to define queries with explicit context typing,\n * ensuring that the query function receives the correct context type. It\n * returns a function that can be used to define named queries with schema,\n * table, input, and output types.\n *\n * @typeParam TContext - The type of the context object that will be passed to\n * the query function.\n *\n * @returns A function for defining named queries with the specified context\n * type.\n *\n * @example\n * ```ts\n * const defineQuery = defineQueryWithContextType<MyContext>();\n * const myQuery = defineQuery(\n * \"getUser\",\n * {validator: z.string()},\n * ({ctx, args}) => {\n * ctx satisfies MyContext;\n * ...\n * },\n * );\n * ```\n */\nexport function defineQueryWithContextType<TContext>(): <\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends ReadonlyJSONValue | undefined = TOutput,\n>(\n name: TName,\n optionsOrQueryFn:\n | DefineQueryOptions<TInput, TOutput>\n | DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n queryFn?: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n) => NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n> {\n return defineQuery as <\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends ReadonlyJSONValue | undefined = TOutput,\n >(\n name: TName,\n optionsOrQueryFn:\n | DefineQueryOptions<TInput, TOutput>\n | DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n queryFn?: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n ) => NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n >;\n}\n", "export function escapeLike(val: string) {\n return val.replace(/[%_]/g, '\\\\$&');\n}\n"],
4
+ "sourcesContent": ["/* oxlint-disable @typescript-eslint/no-explicit-any */\nimport type {Relationship, TableSchema} from '../table-schema.ts';\nimport type {TableBuilderWithColumns} from './table-builder.ts';\n\ntype ConnectArg<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TableBuilderWithColumns<TDest>;\n};\n\ntype ManyConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'many';\n};\n\ntype OneConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'one';\n};\n\ntype Prev = [-1, 0, 1, 2, 3, 4, 5, 6];\n\nexport type PreviousSchema<\n TSource extends TableSchema,\n K extends number,\n TDests extends TableSchema[],\n> = K extends 0 ? TSource : TDests[Prev[K]];\n\nexport type Relationships = {\n name: string; // table name\n relationships: Record<string, Relationship>; // relationships for that table\n};\n\n// Overloaded types for better inference\ntype ManyConnector<TSource extends TableSchema> = {\n // Single direct relationship\n <TDest extends TableSchema>(\n arg: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n ManyConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n\n // Junction relationship (two hops)\n <TJunction extends TableSchema, TDest extends TableSchema>(\n firstHop: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TJunction['columns'] & string)[],\n TJunction\n >,\n secondHop: ConnectArg<\n readonly (keyof TJunction['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n ManyConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TJunction['columns'] & string)[],\n TJunction\n >,\n ManyConnection<\n readonly (keyof TJunction['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n};\n\ntype OneConnector<TSource extends TableSchema> = {\n // Single direct relationship\n <TDest extends TableSchema>(\n arg: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n OneConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n\n // Two-hop relationship (e.g., invoice_line -> invoice -> customer)\n <TIntermediate extends TableSchema, TDest extends TableSchema>(\n firstHop: ConnectArg<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TIntermediate['columns'] & string)[],\n TIntermediate\n >,\n secondHop: ConnectArg<\n readonly (keyof TIntermediate['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ): [\n OneConnection<\n readonly (keyof TSource['columns'] & string)[],\n readonly (keyof TIntermediate['columns'] & string)[],\n TIntermediate\n >,\n OneConnection<\n readonly (keyof TIntermediate['columns'] & string)[],\n readonly (keyof TDest['columns'] & string)[],\n TDest\n >,\n ];\n};\n\nexport function relationships<\n TSource extends TableSchema,\n TRelationships extends Record<string, Relationship>,\n>(\n table: TableBuilderWithColumns<TSource>,\n cb: (connects: {\n many: ManyConnector<TSource>;\n one: OneConnector<TSource>;\n }) => TRelationships,\n): {name: TSource['name']; relationships: TRelationships} {\n const relationships = cb({many, one} as any);\n\n return {\n name: table.schema.name,\n relationships,\n };\n}\n\nfunction many(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): ManyConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'many',\n }));\n}\n\nfunction one(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): OneConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'one',\n }));\n}\n", "import {assert} from '../../../shared/src/asserts.ts';\nimport type {AST, System} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {defaultFormat} from '../ivm/default-format.ts';\nimport type {Format} from '../ivm/view.ts';\nimport {ExpressionBuilder} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {AbstractQuery} from './query-impl.ts';\nimport type {PullRow, Query} from './query.ts';\n\nexport function staticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn = PullRow<TTable, TSchema>,\n TContext = unknown,\n>(\n schema: TSchema,\n tableName: TTable,\n): Query<TSchema, TTable, TReturn, TContext> {\n return new StaticQuery<TSchema, TTable, TReturn>(\n schema,\n tableName,\n {table: tableName},\n defaultFormat,\n );\n}\n\n/**\n * A query that cannot be run.\n * Only serves to generate ASTs.\n */\nexport class StaticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn = PullRow<TTable, TSchema>,\n TContext = unknown,\n> extends AbstractQuery<TSchema, TTable, TReturn, TContext> {\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System = 'permissions',\n customQueryID?: CustomQueryID,\n currentJunction?: string,\n ) {\n super(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n (tableName, ast, format, _customQueryID, _currentJunction) =>\n new StaticQuery(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n ),\n );\n }\n\n expressionBuilder() {\n return new ExpressionBuilder(this._exists);\n }\n}\n\nexport function asStaticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n>(\n q: Query<TSchema, TTable, TReturn, TContext>,\n): StaticQuery<TSchema, TTable, TReturn, TContext> {\n assert(q instanceof StaticQuery);\n return q;\n}\n", "import {assert} from '../../shared/src/asserts.ts';\nimport {\n mapCondition,\n toStaticParam,\n type Condition,\n type Parameter,\n} from '../../zero-protocol/src/ast.ts';\nimport {defaultFormat} from '../../zero-types/src/format.ts';\nimport type {Schema} from '../../zero-types/src/schema.ts';\nimport type {ExpressionBuilder} from '../../zql/src/query/expression.ts';\nimport type {Query} from '../../zql/src/query/query.ts';\nimport {StaticQuery} from '../../zql/src/query/static-query.ts';\nimport type {\n AssetPermissions as CompiledAssetPermissions,\n PermissionsConfig as CompiledPermissionsConfig,\n} from './compiled-permissions.ts';\nimport {clientToServer, NameMapper} from './name-mapper.ts';\n\nexport const ANYONE_CAN = [\n (_: unknown, eb: ExpressionBuilder<Schema, never>) => eb.and(),\n];\n\n/**\n * @deprecated Use {@link ANYONE_CAN} instead.\n */\nexport const ANYONE_CAN_DO_ANYTHING = {\n row: {\n select: ANYONE_CAN,\n insert: ANYONE_CAN,\n update: {\n preMutation: ANYONE_CAN,\n postMutation: ANYONE_CAN,\n },\n delete: ANYONE_CAN,\n },\n};\n\nexport const NOBODY_CAN = [];\n\nexport type Anchor = 'authData' | 'preMutationRow';\n\nexport type Queries<TSchema extends Schema> = {\n [K in keyof TSchema['tables']]: Query<Schema, K & string>;\n};\n\nexport type PermissionRule<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = (\n authData: TAuthDataShape,\n eb: ExpressionBuilder<TSchema, TTable>,\n) => Condition;\n\nexport type AssetPermissions<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = {\n // Why an array of rules?: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n select?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n insert?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n update?:\n | {\n preMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n postMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n }\n | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n delete?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n};\n\nexport type PermissionsConfig<TAuthDataShape, TSchema extends Schema> = {\n [K in keyof TSchema['tables']]?: {\n row?: AssetPermissions<TAuthDataShape, TSchema, K & string> | undefined;\n cell?:\n | {\n [C in keyof TSchema['tables'][K]['columns']]?: Omit<\n AssetPermissions<TAuthDataShape, TSchema, K & string>,\n 'cell'\n >;\n }\n | undefined;\n };\n};\n\nexport async function definePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n definer: () =>\n | Promise<PermissionsConfig<TAuthDataShape, TSchema>>\n | PermissionsConfig<TAuthDataShape, TSchema>,\n): Promise<CompiledPermissionsConfig | undefined> {\n const expressionBuilders = {} as Record<\n string,\n ExpressionBuilder<Schema, string>\n >;\n for (const name of Object.keys(schema.tables)) {\n expressionBuilders[name] = new StaticQuery(\n schema,\n name,\n {table: name},\n defaultFormat,\n ).expressionBuilder();\n }\n\n const config = await definer();\n return compilePermissions(schema, config, expressionBuilders);\n}\n\nfunction compilePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n authz: PermissionsConfig<TAuthDataShape, TSchema> | undefined,\n expressionBuilders: Record<string, ExpressionBuilder<Schema, string>>,\n): CompiledPermissionsConfig | undefined {\n if (!authz) {\n return undefined;\n }\n const nameMapper = clientToServer(schema.tables);\n const ret: CompiledPermissionsConfig = {tables: {}};\n for (const [tableName, tableConfig] of Object.entries(authz)) {\n const serverName = schema.tables[tableName].serverName ?? tableName;\n ret.tables[serverName] = {\n row: compileRowConfig(\n nameMapper,\n tableName,\n tableConfig.row,\n expressionBuilders[tableName],\n ),\n cell: compileCellConfig(\n nameMapper,\n tableName,\n tableConfig.cell,\n expressionBuilders[tableName],\n ),\n };\n }\n\n return ret;\n}\n\nfunction compileRowConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rowRules: AssetPermissions<TAuthDataShape, TSchema, TTable> | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): CompiledAssetPermissions | undefined {\n if (!rowRules) {\n return undefined;\n }\n return {\n select: compileRules(\n clientToServer,\n tableName,\n rowRules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rowRules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rowRules.delete,\n expressionBuilder,\n ),\n };\n}\n\n/**\n * What is this \"allow\" and why are permissions policies an array of rules?\n *\n * Please read: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n */\nfunction compileRules<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rules: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): ['allow', Condition][] | undefined {\n if (!rules) {\n return undefined;\n }\n\n return rules.map(rule => {\n const cond = rule(authDataRef as TAuthDataShape, expressionBuilder);\n return ['allow', mapCondition(cond, tableName, clientToServer)] as const;\n });\n}\n\nfunction compileCellConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n cellRules:\n | Record<string, AssetPermissions<TAuthDataShape, TSchema, TTable>>\n | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): Record<string, CompiledAssetPermissions> | undefined {\n if (!cellRules) {\n return undefined;\n }\n const ret: Record<string, CompiledAssetPermissions> = {};\n for (const [columnName, rules] of Object.entries(cellRules)) {\n ret[columnName] = {\n select: compileRules(\n clientToServer,\n tableName,\n rules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rules.delete,\n expressionBuilder,\n ),\n };\n }\n return ret;\n}\n\nclass CallTracker {\n readonly #anchor: Anchor;\n readonly #path: string[];\n constructor(anchor: Anchor, path: string[]) {\n this.#anchor = anchor;\n this.#path = path;\n }\n\n get(target: {[toStaticParam]: () => Parameter}, prop: string | symbol) {\n if (prop === toStaticParam) {\n return target[toStaticParam];\n }\n assert(typeof prop === 'string');\n const path = [...this.#path, prop];\n return new Proxy(\n {\n [toStaticParam]: () => staticParam(this.#anchor, path),\n },\n new CallTracker(this.#anchor, path),\n );\n }\n}\n\nfunction baseTracker(anchor: Anchor) {\n return new Proxy(\n {\n [toStaticParam]: () => {\n throw new Error('no JWT field specified');\n },\n },\n new CallTracker(anchor, []),\n );\n}\n\nexport const authDataRef = baseTracker('authData');\nexport const preMutationRowRef = baseTracker('preMutationRow');\nexport function staticParam(\n anchorClass: 'authData' | 'preMutationRow',\n field: string | string[],\n): Parameter {\n return {\n type: 'static',\n anchor: anchorClass,\n // for backwards compatibility\n field: field.length === 1 ? field[0] : field,\n };\n}\n", "import type {SimpleOperator} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport type {ExpressionFactory, ParameterReference} from './expression.ts';\nimport type {\n AnyQuery,\n AvailableRelationships,\n DestTableName,\n ExistsOptions,\n GetFilterType,\n NoCompoundTypeSelector,\n PullRow,\n PullTableSchema,\n Query,\n} from './query.ts';\n\n/**\n * Function type for chaining one query to another.\n */\ntype ChainQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn1,\n TReturn2,\n TContext,\n> = (\n q: Query<TSchema, TTable, TReturn1, TContext>,\n) => Query<TSchema, TTable, TReturn2, TContext>;\n\nexport type AnyChainQuery = ChainQuery<\n Schema,\n string,\n PullRow<string, Schema>,\n PullRow<string, Schema>,\n unknown\n>;\n\n/**\n * Chained query that applies a transformation function to a parent query.\n * This represents a query operation that builds on top of another query.\n */\nexport class ChainedQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n> implements Query<TSchema, TTable, TReturn, TContext>\n{\n readonly #parent: {\n withContext(ctx: TContext): Query<TSchema, TTable, unknown>;\n };\n readonly #chainFn: AnyChainQuery;\n #q: Query<TSchema, TTable, TReturn> | undefined;\n\n constructor(\n parent: {withContext(ctx: TContext): Query<TSchema, TTable, unknown>},\n chainFn: AnyChainQuery,\n ) {\n this.#parent = parent;\n this.#chainFn = chainFn;\n }\n\n withContext(ctx: TContext): Query<TSchema, TTable, TReturn> {\n if (this.#q) {\n return this.#q;\n }\n\n // This is a chained query - get the parent query and apply the chain function\n const parentQuery = this.#parent.withContext(ctx);\n this.#q = this.#chainFn(parentQuery as AnyQuery) as Query<\n TSchema,\n TTable,\n TReturn\n >;\n return this.#q;\n }\n\n #withChain<TNewReturn>(\n fn: (\n q: Query<TSchema, TTable, TReturn>,\n ) => Query<TSchema, TTable, TNewReturn>,\n ): ChainedQuery<TSchema, TTable, TNewReturn, TContext> {\n return new ChainedQuery(\n this as {withContext(ctx: TContext): Query<TSchema, TTable, unknown>},\n fn as AnyChainQuery,\n );\n }\n\n // Query interface methods\n\n one(): ChainedQuery<TSchema, TTable, TReturn | undefined, TContext> {\n return this.#withChain(q => q.one());\n }\n\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => Query<TSchema, string, TContext>,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists(\n relationship: AvailableRelationships<TTable, TSchema>,\n cbOrOptions?:\n | ((\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>)\n | ExistsOptions,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof cbOrOptions === 'function') {\n return this.#withChain(q =>\n q.whereExists(\n relationship as string,\n cbOrOptions as unknown as (q: AnyQuery) => AnyQuery,\n options,\n ),\n );\n }\n return this.#withChain(q =>\n q.whereExists(relationship as string, cbOrOptions),\n );\n }\n\n related<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related<\n TRelationship extends AvailableRelationships<TTable, TSchema>,\n TSub extends Query<TSchema, string, unknown>,\n >(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => TSub,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related(\n relationship: AvailableRelationships<TTable, TSchema>,\n cb?: (\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>,\n ): ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n > {\n if (cb) {\n return this.#withChain(q =>\n q.related(\n relationship as string,\n cb as unknown as (q: AnyQuery) => AnyQuery,\n ),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n return this.#withChain(q =>\n q.related(relationship as string),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n TOperator extends SimpleOperator,\n >(\n field: TSelector,\n op: TOperator,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n >(\n field: TSelector,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n expressionFactory: ExpressionFactory<TSchema, TTable>,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n fieldOrExpressionFactory:\n | NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>\n | ExpressionFactory<TSchema, TTable>,\n opOrValue?: unknown,\n value?: unknown,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof fieldOrExpressionFactory === 'function') {\n return this.#withChain(q => q.where(fieldOrExpressionFactory));\n }\n if (value !== undefined) {\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(\n field: unknown,\n op: unknown,\n val: unknown,\n ): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue, value),\n );\n }\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(field: unknown, val: unknown): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue),\n );\n }\n\n start(\n row: Partial<PullRow<TTable, TSchema>>,\n opts?: {inclusive: boolean},\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.start(row, opts));\n }\n\n limit(limit: number): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.limit(limit));\n }\n\n orderBy<TSelector extends keyof PullTableSchema<TTable, TSchema>['columns']>(\n field: TSelector,\n direction: 'asc' | 'desc',\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.orderBy(field as string, direction));\n }\n}\n", "import type {StandardSchemaV1} from '@standard-schema/spec';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport type {SimpleOperator} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {ChainedQuery, type AnyChainQuery} from './chained-query.ts';\nimport type {DefineQueryFunc} from './define-query.ts';\nimport type {ExpressionFactory, ParameterReference} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {queryWithContext} from './query-internals.ts';\nimport type {AnyQuery} from './query.ts';\nimport {\n type AvailableRelationships,\n type DestTableName,\n type ExistsOptions,\n type GetFilterType,\n type NoCompoundTypeSelector,\n type PullRow,\n type PullTableSchema,\n type Query,\n} from './query.ts';\n\n/**\n * Root named query that has a name, input validation, and a function to execute.\n * This is the base query that doesn't chain from another query.\n */\nexport class RootNamedQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput,\n> implements Query<TSchema, TTable, TReturn, TContext>\n{\n readonly #name: TName;\n readonly #input: TInput;\n readonly #func: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>;\n readonly #validator: StandardSchemaV1<TInput, TOutput> | undefined;\n #cachedQuery: Query<TSchema, TTable, TReturn, TContext> | undefined;\n\n constructor(\n name: TName,\n func: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n input: TInput,\n validator: StandardSchemaV1<TInput, TOutput> | undefined,\n ) {\n this.#name = name;\n this.#func = func;\n this.#input = input;\n this.#validator = validator;\n }\n\n withContext(ctx: TContext): Query<TSchema, TTable, TReturn, TContext> {\n if (this.#cachedQuery) {\n return this.#cachedQuery;\n }\n\n // This is a root query - call the function with the context\n let output: TOutput;\n if (!this.#validator) {\n // No validator, so input and output are the same\n output = this.#input as unknown as TOutput;\n } else {\n const result = this.#validator['~standard'].validate(this.#input);\n if (result instanceof Promise) {\n throw new Error(\n `Async validators are not supported. Query name ${this.#name}`,\n );\n }\n if (result.issues) {\n throw new Error(\n `Validation failed for query ${this.#name}: ${result.issues\n .map(issue => issue.message)\n .join(', ')}`,\n );\n }\n output = result.value;\n }\n\n // TODO: Refactor to deal with the name and args at a different abstraction\n // layer.\n this.#cachedQuery = queryWithContext(\n this.#func({ctx, args: output}),\n ctx,\n ).nameAndArgs(\n this.#name,\n this.#input === undefined ? [] : [this.#input as ReadonlyJSONValue],\n );\n return this.#cachedQuery;\n }\n\n #withChain<TNewReturn>(\n fn: (\n q: Query<TSchema, TTable, TReturn>,\n ) => Query<TSchema, TTable, TNewReturn>,\n ): ChainedQuery<TSchema, TTable, TNewReturn, TContext> {\n return new ChainedQuery(\n this as {withContext(ctx: TContext): Query<TSchema, TTable, unknown>},\n fn as AnyChainQuery,\n );\n }\n\n // Query interface methods\n\n one(): ChainedQuery<TSchema, TTable, TReturn | undefined, TContext> {\n return this.#withChain(q => q.one());\n }\n\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => Query<TSchema, string, TContext>,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n whereExists(\n relationship: AvailableRelationships<TTable, TSchema>,\n cbOrOptions?:\n | ((\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>)\n | ExistsOptions,\n options?: ExistsOptions,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof cbOrOptions === 'function') {\n return this.#withChain(q =>\n q.whereExists(\n relationship as string,\n cbOrOptions as unknown as (q: AnyQuery) => AnyQuery,\n options,\n ),\n );\n }\n return this.#withChain(q =>\n q.whereExists(relationship as string, cbOrOptions),\n );\n }\n\n related<TRelationship extends AvailableRelationships<TTable, TSchema>>(\n relationship: TRelationship,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related<\n TRelationship extends AvailableRelationships<TTable, TSchema>,\n TSub extends Query<TSchema, string, unknown>,\n >(\n relationship: TRelationship,\n cb: (\n q: Query<\n TSchema,\n DestTableName<TTable, TSchema, TRelationship>,\n TContext\n >,\n ) => TSub,\n ): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;\n related(\n relationship: AvailableRelationships<TTable, TSchema>,\n cb?: (\n q: Query<TSchema, string, TContext>,\n ) => Query<TSchema, string, TContext>,\n ): ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n > {\n if (cb) {\n return this.#withChain(q =>\n q.related(\n relationship as string,\n cb as unknown as (q: AnyQuery) => AnyQuery,\n ),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n return this.#withChain(q =>\n q.related(relationship as string),\n ) as ChainedQuery<\n TSchema,\n TTable,\n TReturn & Record<string, unknown>,\n TContext\n >;\n }\n\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n TOperator extends SimpleOperator,\n >(\n field: TSelector,\n op: TOperator,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where<\n TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>,\n >(\n field: TSelector,\n value:\n | GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='>\n | ParameterReference,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n expressionFactory: ExpressionFactory<TSchema, TTable>,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext>;\n where(\n fieldOrExpressionFactory:\n | NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>\n | ExpressionFactory<TSchema, TTable>,\n opOrValue?: unknown,\n value?: unknown,\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n if (typeof fieldOrExpressionFactory === 'function') {\n return this.#withChain(q => q.where(fieldOrExpressionFactory));\n }\n if (value !== undefined) {\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(\n field: unknown,\n op: unknown,\n val: unknown,\n ): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue, value),\n );\n }\n return this.#withChain(q =>\n // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility\n (\n q as unknown as {\n where(field: unknown, val: unknown): Query<TSchema, TTable, TReturn>;\n }\n ).where(fieldOrExpressionFactory, opOrValue),\n );\n }\n\n start(\n row: Partial<PullRow<TTable, TSchema>>,\n opts?: {inclusive: boolean},\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.start(row, opts));\n }\n\n limit(limit: number): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.limit(limit));\n }\n\n orderBy<TSelector extends keyof PullTableSchema<TTable, TSchema>['columns']>(\n field: TSelector,\n direction: 'asc' | 'desc',\n ): ChainedQuery<TSchema, TTable, TReturn, TContext> {\n return this.#withChain(q => q.orderBy(field as string, direction));\n }\n\n get customQueryID(): CustomQueryID {\n return {\n name: this.#name,\n args: this.#input === undefined ? [] : [this.#input as ReadonlyJSONValue],\n };\n }\n}\n", "import type {StandardSchemaV1} from '@standard-schema/spec';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport type {Query} from './query.ts';\nimport {RootNamedQuery} from './root-named-query.ts';\n\nexport type DefineQueryOptions<Input, Output> = {\n validator?: StandardSchemaV1<Input, Output> | undefined;\n};\n\n/**\n * Function type for root query functions that take context and args.\n */\nexport type DefineQueryFunc<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs,\n> = (options: {\n ctx: TContext;\n args: TArgs;\n}) => Query<TSchema, TTable, TReturn, TContext>;\n\nexport type NamedQueryFunction<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends TOutput,\n> = ([TOutput] extends [undefined]\n ? (() => Query<TSchema, TTable, TReturn, TContext>) &\n ((args: undefined) => Query<TSchema, TTable, TReturn, TContext>)\n : undefined extends TOutput\n ? (args?: TInput) => Query<TSchema, TTable, TReturn, TContext>\n : (args: TInput) => Query<TSchema, TTable, TReturn, TContext>) & {\n queryName: TName;\n};\n\nexport type AnyNamedQueryFunction = NamedQueryFunction<\n string,\n Schema,\n string,\n // oxlint-disable-next-line no-explicit-any\n any,\n // oxlint-disable-next-line no-explicit-any\n any,\n ReadonlyJSONValue | undefined,\n ReadonlyJSONValue | undefined\n>;\n\n// Overload for no options parameter with default inference for untyped functions\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs extends ReadonlyJSONValue | undefined,\n>(\n name: TName,\n queryFn: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TArgs>,\n): NamedQueryFunction<TName, TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n// Overload for options parameter with validator - Input and Output can be different\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends TOutput = TOutput,\n>(\n name: TName,\n options: DefineQueryOptions<TInput, TOutput>,\n queryFn: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n): NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n>;\n\n// Overload for options parameter without validator with default inference\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs extends ReadonlyJSONValue | undefined,\n>(\n name: TName,\n options: {},\n queryFn: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TArgs>,\n): NamedQueryFunction<TName, TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n// Implementation\nexport function defineQuery<\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends TOutput = TOutput,\n>(\n name: TName,\n optionsOrQueryFn:\n | DefineQueryOptions<TInput, TOutput>\n | DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n queryFn?: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n): NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n> {\n // Handle different parameter patterns\n let defineOptions: DefineQueryOptions<TInput, TOutput> | undefined;\n let actualQueryFn: DefineQueryFunc<\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput\n >;\n\n if (typeof optionsOrQueryFn === 'function') {\n // defineQuery(name, queryFn) - no options\n defineOptions = undefined;\n actualQueryFn = optionsOrQueryFn;\n } else {\n // defineQuery(name, options, queryFn) - with options\n defineOptions = optionsOrQueryFn;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n actualQueryFn = queryFn!;\n }\n\n const f = ((args?: TInput) =>\n new RootNamedQuery(\n name,\n actualQueryFn,\n args,\n defineOptions?.validator,\n )) as unknown as NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n >;\n f.queryName = name;\n return f;\n}\n\n/**\n * Creates a type-safe query definition function that is parameterized by a\n * custom context type.\n *\n * This utility allows you to define queries with explicit context typing,\n * ensuring that the query function receives the correct context type. It\n * returns a function that can be used to define named queries with schema,\n * table, input, and output types.\n *\n * @typeParam TContext - The type of the context object that will be passed to\n * the query function.\n *\n * @returns A function for defining named queries with the specified context\n * type.\n *\n * @example\n * ```ts\n * const defineQuery = defineQueryWithContextType<MyContext>();\n * const myQuery = defineQuery(\n * \"getUser\",\n * {validator: z.string()},\n * ({ctx, args}) => {\n * ctx satisfies MyContext;\n * ...\n * },\n * );\n * ```\n */\nexport function defineQueryWithContextType<TContext>(): <\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends TOutput = TOutput,\n>(\n name: TName,\n optionsOrQueryFn:\n | DefineQueryOptions<TInput, TOutput>\n | DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n queryFn?: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n) => NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n> {\n return defineQuery as <\n TName extends string,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TOutput extends ReadonlyJSONValue | undefined,\n TInput extends TOutput = TOutput,\n >(\n name: TName,\n optionsOrQueryFn:\n | DefineQueryOptions<TInput, TOutput>\n | DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n queryFn?: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>,\n ) => NamedQueryFunction<\n TName,\n TSchema,\n TTable,\n TReturn,\n TContext,\n TOutput,\n TInput\n >;\n}\n", "export function escapeLike(val: string) {\n return val.replace(/[%_]/g, '\\\\$&');\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["table", "relationships", "tableName", "ast", "format", "clientToServer"]
7
7
  }
package/out/react.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  Zero,
6
6
  bindingsForZero,
7
7
  connection_status_enum_exports
8
- } from "./chunk-WWNKZSEE.js";
8
+ } from "./chunk-FODUNUAD.js";
9
9
  import "./chunk-ASRS2LFV.js";
10
10
  import {
11
11
  DEFAULT_TTL_MS,
@@ -137,6 +137,8 @@ export type ParseOptions = {
137
137
  env?: NodeJS.ProcessEnv;
138
138
  /** Defaults to `true`. */
139
139
  emitDeprecationWarnings?: boolean;
140
+ /** Defaults to `true`. When false, excludes default values from both config and env return values. */
141
+ includeDefaults?: boolean;
140
142
  /** Defaults to `console` */
141
143
  logger?: OptionalLogger;
142
144
  /** Defaults to `process.exit` */
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../shared/src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../shared/src/options.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ export function parseOptions(appOptions, opts = {}) {
96
96
  return parseOptionsAdvanced(appOptions, opts).config;
97
97
  }
98
98
  export function parseOptionsAdvanced(appOptions, opts = {}) {
99
- const { argv = process.argv.slice(2), envNamePrefix = '', description = [], allowUnknown = false, allowPartial = false, env: processEnv = process.env, emitDeprecationWarnings = true, logger = console, exit = process.exit, } = opts;
99
+ const { argv = process.argv.slice(2), envNamePrefix = '', description = [], allowUnknown = false, allowPartial = false, env: processEnv = process.env, emitDeprecationWarnings = true, includeDefaults = true, logger = console, exit = process.exit, } = opts;
100
100
  // The main logic for converting a valita Type spec to an Option (i.e. flag) spec.
101
101
  function addOption(field, option, group) {
102
102
  const { type, desc = [], deprecated, alias, hidden } = option;
@@ -217,10 +217,14 @@ export function parseOptionsAdvanced(appOptions, opts = {}) {
217
217
  }
218
218
  break;
219
219
  }
220
- const parsedArgs = defu(withoutDefaults, fromEnv, defaults);
221
- const env = { ...env1, ...env2, ...env3 };
220
+ const parsedArgs = includeDefaults
221
+ ? defu(withoutDefaults, fromEnv, defaults)
222
+ : defu(withoutDefaults, fromEnv);
223
+ const env = includeDefaults
224
+ ? { ...env1, ...env2, ...env3 }
225
+ : { ...env2, ...env3 };
222
226
  let schema = configSchema(appOptions, envNamePrefix);
223
- if (allowPartial) {
227
+ if (allowPartial || !includeDefaults) {
224
228
  // TODO: Type configSchema() to return a v.ObjectType<...>
225
229
  schema = v.deepPartial(schema);
226
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../shared/src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../shared/src/options.ts"],"names":[],"mappings":"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"}
package/out/solid.js CHANGED
@@ -1,11 +1,11 @@
1
- import "./chunk-PFM5IJC4.js";
1
+ import "./chunk-S633A55A.js";
2
2
  import {
3
3
  Zero,
4
4
  applyChange,
5
5
  bindingsForZero,
6
6
  connection_status_enum_exports,
7
7
  idSymbol
8
- } from "./chunk-WWNKZSEE.js";
8
+ } from "./chunk-FODUNUAD.js";
9
9
  import "./chunk-ASRS2LFV.js";
10
10
  import {
11
11
  DEFAULT_TTL_MS
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.25.0-canary.6",
3
+ "version": "0.25.0-canary.7",
4
4
  "description": "Zero is a web framework for serverless web development.",
5
5
  "author": "Rocicorp, Inc.",
6
6
  "repository": {
@@ -90,7 +90,7 @@
90
90
  "shared": "0.0.0",
91
91
  "typedoc": "^0.28.2",
92
92
  "typedoc-plugin-markdown": "^4.6.1",
93
- "typescript": "~5.8.2",
93
+ "typescript": "~5.9.3",
94
94
  "vitest": "3.2.4",
95
95
  "zero-cache": "0.0.0",
96
96
  "zero-client": "0.0.0",
@@ -49,10 +49,12 @@ async function main() {
49
49
  const { env: deployPermissionsEnv } = parseOptionsAdvanced(deployPermissionsOptions, {
50
50
  envNamePrefix: ZERO_ENV_VAR_PREFIX,
51
51
  allowUnknown: true,
52
+ includeDefaults: false,
52
53
  });
53
54
  const { env: zeroCacheEnv } = parseOptionsAdvanced(zeroOptions, {
54
55
  envNamePrefix: ZERO_ENV_VAR_PREFIX,
55
56
  allowUnknown: true,
57
+ includeDefaults: false,
56
58
  });
57
59
  let permissionsProcess;
58
60
  let zeroCacheProcess;
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-dev.js","sourceRoot":"","sources":["../../../src/zero-cache-dev.ts"],"names":[],"mappings":";AAEA,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAoB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,WAAW,GACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AAErF,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,SAAS,WAAW,CAAC,YAAsC;IACzD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,QAAQ,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,kDAAkD;IAClD,0DAA0D;IAC1D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAC,MAAM,EAAC,GAAG,oBAAoB,CACnC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC3B,IAAI,EAAE;oBACJ,6DAA6D;oBAC7D,2DAA2D;iBAC5D;gBACD,KAAK,EAAE,GAAG;aACX;SACF;QACD,GAAG,WAAW;KACf,EACD;QACE,aAAa,EAAE,mBAAmB;QAClC,wEAAwE;QACxE,YAAY,EAAE,IAAI,EAAE,sCAAsC;KAC3D,CACF,CAAC;IAEF,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE;QACxC,EAAE,CAAC,KAAK,EAAE,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;QACtD,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,EAAC,GAAG,EAAE,oBAAoB,EAAC,GAAG,oBAAoB,CACtD,wBAAwB,EACxB;QACE,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,IAAI;KACnB,CACF,CAAC;IACF,MAAM,EAAC,GAAG,EAAE,YAAY,EAAC,GAAG,oBAAoB,CAAC,WAAW,EAAE;QAC5D,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,kBAA4C,CAAC;IACjD,IAAI,gBAA0C,CAAC;IAE/C,gEAAgE;IAChE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,iBAAiB;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAClC,EAAE,CAAC,IAAI,EAAE,CACP,uCAAuC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CACvE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACtC,kBAAkB,GAAG,SAAS,CAAC;QAE/B,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,uBAAuB,GAAG,CAAC,CAAC;QACjD,kBAAkB,GAAG,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE;YACtD,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,oBAAoB,EAAC;YAC9C,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,QAAQ,EAAU,CAAC;QACpD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,uBAAuB,0BAA0B,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,UAAU,cAAc;QAC3B,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpC,gBAAgB,GAAG,SAAS,CAAC;QAE7B,EAAE,CAAC,IAAI,EAAE,CACP,WAAW,eAAe,6BAA6B,MAAM,CAAC,IAAI,IAAI,CACvE,CAAC;QACF,MAAM,GAAG,GAAsB;YAC7B,sEAAsE;YACtE,sCAAsC;YACtC,CAAC,uBAAuB,CAAC,EAAE,GAAG;YAC9B,CAAC,oBAAoB,CAAC,EAAE,GAAG;YAC3B,CAAC,yBAAyB,CAAC,EAAE,GAAG;YAEhC,wCAAwC;YACxC,8DAA8D;YAC9D,CAAC,UAAU,CAAC,EAAE,aAAa;YAE3B,4DAA4D;YAC5D,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,YAAY;SAChB,CAAC;QACF,gBAAgB,GAAG,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE;YAC5C,GAAG;YACH,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,eAAe,mBAAmB,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,kCAAkC;QAC/C,IAAI,MAAM,iBAAiB,EAAE,EAAE,CAAC;YAC9B,MAAM,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,kCAAkC,EAAE,CAAC;QAE3C,yBAAyB;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACxC,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,EAAC,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAC;SAC/D,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;YACpD,MAAM,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"zero-cache-dev.js","sourceRoot":"","sources":["../../../src/zero-cache-dev.ts"],"names":[],"mappings":";AAEA,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAoB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,WAAW,GACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AAErF,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,SAAS,WAAW,CAAC,YAAsC;IACzD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,QAAQ,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,kDAAkD;IAClD,0DAA0D;IAC1D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAC,MAAM,EAAC,GAAG,oBAAoB,CACnC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC3B,IAAI,EAAE;oBACJ,6DAA6D;oBAC7D,2DAA2D;iBAC5D;gBACD,KAAK,EAAE,GAAG;aACX;SACF;QACD,GAAG,WAAW;KACf,EACD;QACE,aAAa,EAAE,mBAAmB;QAClC,wEAAwE;QACxE,YAAY,EAAE,IAAI,EAAE,sCAAsC;KAC3D,CACF,CAAC;IAEF,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE;QACxC,EAAE,CAAC,KAAK,EAAE,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;QACtD,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,EAAC,GAAG,EAAE,oBAAoB,EAAC,GAAG,oBAAoB,CACtD,wBAAwB,EACxB;QACE,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACvB,CACF,CAAC;IACF,MAAM,EAAC,GAAG,EAAE,YAAY,EAAC,GAAG,oBAAoB,CAAC,WAAW,EAAE;QAC5D,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,IAAI,kBAA4C,CAAC;IACjD,IAAI,gBAA0C,CAAC;IAE/C,gEAAgE;IAChE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,iBAAiB;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAClC,EAAE,CAAC,IAAI,EAAE,CACP,uCAAuC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CACvE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACtC,kBAAkB,GAAG,SAAS,CAAC;QAE/B,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,uBAAuB,GAAG,CAAC,CAAC;QACjD,kBAAkB,GAAG,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE;YACtD,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,oBAAoB,EAAC;YAC9C,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,QAAQ,EAAU,CAAC;QACpD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,uBAAuB,0BAA0B,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,UAAU,cAAc;QAC3B,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpC,gBAAgB,GAAG,SAAS,CAAC;QAE7B,EAAE,CAAC,IAAI,EAAE,CACP,WAAW,eAAe,6BAA6B,MAAM,CAAC,IAAI,IAAI,CACvE,CAAC;QACF,MAAM,GAAG,GAAsB;YAC7B,sEAAsE;YACtE,sCAAsC;YACtC,CAAC,uBAAuB,CAAC,EAAE,GAAG;YAC9B,CAAC,oBAAoB,CAAC,EAAE,GAAG;YAC3B,CAAC,yBAAyB,CAAC,EAAE,GAAG;YAEhC,wCAAwC;YACxC,8DAA8D;YAC9D,CAAC,UAAU,CAAC,EAAE,aAAa;YAE3B,4DAA4D;YAC5D,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,YAAY;SAChB,CAAC;QACF,gBAAgB,GAAG,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE;YAC5C,GAAG;YACH,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,eAAe,mBAAmB,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,kCAAkC;QAC/C,IAAI,MAAM,iBAAiB,EAAE,EAAE,CAAC;YAC9B,MAAM,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,kCAAkC,EAAE,CAAC;QAE3C,yBAAyB;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACxC,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,EAAC,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAC;SAC/D,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;YACpD,MAAM,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export declare const SERIALIZABLE = "ISOLATION LEVEL SERIALIZABLE";
2
+ export declare const READ_COMMITTED = "ISOLATION LEVEL READ COMMITTED";
2
3
  export declare const READONLY = "ISOLATION LEVEL REPEATABLE READ READ ONLY";
3
4
  export type SERIALIZABLE = typeof SERIALIZABLE;
5
+ export type READ_COMMITTED = typeof READ_COMMITTED;
4
6
  export type READONLY = typeof READONLY;
5
7
  //# sourceMappingURL=mode-enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mode-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/mode-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iCAAiC,CAAC;AAC3D,eAAO,MAAM,QAAQ,8CAA8C,CAAC;AAEpE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC"}
1
+ {"version":3,"file":"mode-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/mode-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iCAAiC,CAAC;AAC3D,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAC/D,eAAO,MAAM,QAAQ,8CAA8C,CAAC;AAEpE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export const SERIALIZABLE = 'ISOLATION LEVEL SERIALIZABLE';
2
+ export const READ_COMMITTED = 'ISOLATION LEVEL READ COMMITTED';
2
3
  export const READONLY = 'ISOLATION LEVEL REPEATABLE READ READ ONLY';
3
4
  //# sourceMappingURL=mode-enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mode-enum.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/mode-enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAG,2CAA2C,CAAC"}
1
+ {"version":3,"file":"mode-enum.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/mode-enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,2CAA2C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/syncer.ts"],"names":[],"mappings":"AAqBA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAc/B,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAmIf"}
1
+ {"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/syncer.ts"],"names":[],"mappings":"AAqBA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAc/B,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAqIf"}
@@ -62,7 +62,7 @@ export default function runWorker(parent, env, ...args) {
62
62
  .withContext('component', 'view-syncer')
63
63
  .withContext('clientGroupID', id)
64
64
  .withContext('instance', randomID());
65
- lc.debug?.(`creating view syncer`);
65
+ lc.debug?.(`creating view syncer. Query Planner Enabled: ${config.enableQueryPlanner}`);
66
66
  // Create the custom query transformer if configured
67
67
  const { getQueries } = config;
68
68
  const customQueryTransformer = getQueries.url &&
@@ -1 +1 @@
1
- {"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAC,eAAe,EAAC,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,SAAS,QAAQ;IACf,OAAO,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,MAAc,EACd,GAAsB,EACtB,GAAG,IAAc;IAEjB,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IAEnE,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,IAAI,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE1B,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAEzD,MAAM,EAAC,GAAG,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;IACnE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnE,EAAE,CAAC,KAAK,EAAE,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;QACjC,GAAG,EAAE,GAAG,CAAC,iBAAiB;QAC1B,UAAU,EAAE,EAAC,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,GAAG,MAAM,EAAC;KAClE,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;QAC3C,GAAG,EAAE,QAAQ,CAAC,iBAAiB;QAC/B,UAAU,EAAE,EAAC,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,GAAG,WAAW,EAAC;KACvE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC;QACnC,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC;KAC9C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE,CAAC;IAClD,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC5C,EAAE,EACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CACrE,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,iBAAiB,GAAG,CACxB,EAAU,EACV,GAA+B,EAC/B,gBAAkC,EAClC,EAAE;QACF,MAAM,MAAM,GAAG,EAAE;aACd,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC;aACvC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;aAChC,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvC,EAAE,CAAC,KAAK,EAAE,CAAC,sBAAsB,CAAC,CAAC;QAEnC,oDAAoD;QACpD,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,CAAC;QAC5B,MAAM,sBAAsB,GAC1B,UAAU,CAAC,GAAG;YACd,IAAI,sBAAsB,CACxB,MAAM,EACN,EAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAC,EAChE,KAAK,CACN,CAAC;QAEJ,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QAExE,OAAO,IAAI,iBAAiB,CAC1B,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,CAAC,MAAM,EACb,EAAE,EACF,KAAK,EACL,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACtD,IAAI,cAAc,CAChB,MAAM,EACN,MAAM,CAAC,GAAG,EACV,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAC3C,KAAK,EACL,eAAe,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAC5C,EAAE,EACF,iBAAiB,EACjB,MAAM,CAAC,kBAAkB,CAC1B,EACD,GAAG,EACH,gBAAgB,EAChB,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAC/B,iBAAiB,EACjB,sBAAsB,CACvB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE,CACpC,IAAI,cAAc,CAChB,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,EACvE,KAAK,EACL,EAAE,EACF,UAAU,EACV,MAAM,CACP,CAAC;IAEJ,MAAM,aAAa,GACjB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;QAC9D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,EAAU,EAAE,EAAE,CACb,IAAI,aAAa,CACf,UAAU,EACV,MAAM,EACN;YACE,GAAG,MAAM,CAAC,IAAI;YACd,GAAG,MAAM,CAAC,MAAM;YAChB,GAAG,EAAE,IAAI,CACP,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EACpC,kCAAkC,CACnC;SACF,EACD,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,EACnC,EAAE,CACH,CAAC;IAEV,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,EACF,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,MAAM,CACP,CAAC;IAEF,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAEpC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,OAAO,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS;AACT,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;IACzB,KAAK,SAAS,CAAC,GAAG,EAAE,CAClB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/syncer.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export declare class BackupMonitor implements Service {
40
40
  readonly id = "backup-monitor";
41
41
  constructor(lc: LogContext, backupURL: string, metricsEndpoint: string, changeStreamer: ChangeStreamerService, initialCleanupDelayMs: number);
42
42
  run(): Promise<void>;
43
- startSnapshotReservation(taskID: string): Subscription<SnapshotMessage>;
43
+ startSnapshotReservation(taskID: string): Promise<Subscription<SnapshotMessage>>;
44
44
  endReservation(taskID: string, updateCleanupDelay?: boolean): void;
45
45
  readonly checkWatermarksAndScheduleCleanup: () => Promise<void>;
46
46
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"backup-monitor.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/backup-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAQ3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAc,YAAW,OAAO;;IAC3C,QAAQ,CAAC,EAAE,oBAAoB;gBAe7B,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,qBAAqB,EACrC,qBAAqB,EAAE,MAAM;IAgB/B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAYpB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;IAgBvE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,UAAO;IAoBxD,QAAQ,CAAC,iCAAiC,sBAWxC;IAgEF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAYtB"}
1
+ {"version":3,"file":"backup-monitor.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/backup-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAQ3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAc,YAAW,OAAO;;IAC3C,QAAQ,CAAC,EAAE,oBAAoB;gBAe7B,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,qBAAqB,EACrC,qBAAqB,EAAE,MAAM;IAgB/B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAYd,wBAAwB,CAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAoBzC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,UAAO;IAoBxD,QAAQ,CAAC,iCAAiC,sBAWxC;IAgEF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAYtB"}
@@ -61,7 +61,7 @@ export class BackupMonitor {
61
61
  this.#checkMetricsTimer = setInterval(this.checkWatermarksAndScheduleCleanup, CHECK_INTERVAL_MS);
62
62
  return this.#state.stopped();
63
63
  }
64
- startSnapshotReservation(taskID) {
64
+ async startSnapshotReservation(taskID) {
65
65
  this.#lc.info?.(`pausing change-log cleanup while ${taskID} snapshots`);
66
66
  // In the case of retries, only track the last reservation.
67
67
  this.#reservations.get(taskID)?.sub.cancel();
@@ -72,7 +72,11 @@ export class BackupMonitor {
72
72
  cleanup: () => this.endReservation(taskID, false),
73
73
  });
74
74
  this.#reservations.set(taskID, { start: new Date(), sub });
75
- sub.push(['status', { tag: 'status', backupURL: this.#backupURL }]);
75
+ const changeLogState = await this.#changeStreamer.getChangeLogState();
76
+ sub.push([
77
+ 'status',
78
+ { tag: 'status', backupURL: this.#backupURL, ...changeLogState },
79
+ ]);
76
80
  return sub;
77
81
  }
78
82
  endReservation(taskID, updateCleanupDelay = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"backup-monitor.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/backup-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup-monitor.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/backup-monitor.ts"],"names":[],"mappings":"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"}