@confect/server 9.0.0-next.8 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +182 -4
  2. package/dist/ActionCtx.d.ts +3 -10
  3. package/dist/ActionCtx.d.ts.map +1 -1
  4. package/dist/ActionRunner.d.ts +7 -14
  5. package/dist/ActionRunner.d.ts.map +1 -1
  6. package/dist/Auth.d.ts +15 -23
  7. package/dist/Auth.d.ts.map +1 -1
  8. package/dist/BlobNotFoundError.d.ts +5 -11
  9. package/dist/BlobNotFoundError.d.ts.map +1 -1
  10. package/dist/ConvexConfigProvider.d.ts +1 -8
  11. package/dist/ConvexConfigProvider.d.ts.map +1 -1
  12. package/dist/CronJob.d.ts +12 -19
  13. package/dist/CronJob.d.ts.map +1 -1
  14. package/dist/CronJobs.d.ts +11 -18
  15. package/dist/CronJobs.d.ts.map +1 -1
  16. package/dist/DataModel.d.ts +24 -29
  17. package/dist/DataModel.d.ts.map +1 -1
  18. package/dist/DatabaseReader.d.ts +4313 -4328
  19. package/dist/DatabaseReader.d.ts.map +1 -1
  20. package/dist/DatabaseSchema.d.ts +20 -25
  21. package/dist/DatabaseSchema.d.ts.map +1 -1
  22. package/dist/DatabaseSchema.js.map +1 -1
  23. package/dist/DatabaseWriter.d.ts +36 -42
  24. package/dist/DatabaseWriter.d.ts.map +1 -1
  25. package/dist/Document.d.ts +26 -36
  26. package/dist/Document.d.ts.map +1 -1
  27. package/dist/FunctionImpl.d.ts +11 -20
  28. package/dist/FunctionImpl.d.ts.map +1 -1
  29. package/dist/GroupImpl.d.ts +29 -35
  30. package/dist/GroupImpl.d.ts.map +1 -1
  31. package/dist/Handler.d.ts +34 -40
  32. package/dist/Handler.d.ts.map +1 -1
  33. package/dist/HttpApi.d.ts +19 -25
  34. package/dist/HttpApi.d.ts.map +1 -1
  35. package/dist/HttpApi.js +4 -4
  36. package/dist/HttpApi.js.map +1 -1
  37. package/dist/MutationCtx.d.ts +3 -10
  38. package/dist/MutationCtx.d.ts.map +1 -1
  39. package/dist/MutationRunner.d.ts +7 -14
  40. package/dist/MutationRunner.d.ts.map +1 -1
  41. package/dist/OrderedQuery.d.ts +15 -22
  42. package/dist/OrderedQuery.d.ts.map +1 -1
  43. package/dist/QueryCtx.d.ts +3 -10
  44. package/dist/QueryCtx.d.ts.map +1 -1
  45. package/dist/QueryInitializer.d.ts +32 -38
  46. package/dist/QueryInitializer.d.ts.map +1 -1
  47. package/dist/QueryRunner.d.ts +7 -14
  48. package/dist/QueryRunner.d.ts.map +1 -1
  49. package/dist/RegisteredConvexFunction.d.ts +1099 -1121
  50. package/dist/RegisteredConvexFunction.d.ts.map +1 -1
  51. package/dist/RegisteredConvexFunction.js +4 -4
  52. package/dist/RegisteredConvexFunction.js.map +1 -1
  53. package/dist/RegisteredFunction.d.ts +46 -64
  54. package/dist/RegisteredFunction.d.ts.map +1 -1
  55. package/dist/RegisteredFunction.js +4 -4
  56. package/dist/RegisteredFunction.js.map +1 -1
  57. package/dist/RegisteredFunctions.d.ts +20 -22
  58. package/dist/RegisteredFunctions.d.ts.map +1 -1
  59. package/dist/RegisteredNodeFunction.d.ts +4 -14
  60. package/dist/RegisteredNodeFunction.d.ts.map +1 -1
  61. package/dist/RegistryItem.d.ts +17 -27
  62. package/dist/RegistryItem.d.ts.map +1 -1
  63. package/dist/Scheduler.d.ts +14 -22
  64. package/dist/Scheduler.d.ts.map +1 -1
  65. package/dist/SchemaToValidator.d.ts +68 -64
  66. package/dist/SchemaToValidator.d.ts.map +1 -1
  67. package/dist/SchemaToValidator.js +2 -2
  68. package/dist/SchemaToValidator.js.map +1 -1
  69. package/dist/StorageActionWriter.d.ts +20 -28
  70. package/dist/StorageActionWriter.d.ts.map +1 -1
  71. package/dist/StorageReader.d.ts +13 -21
  72. package/dist/StorageReader.d.ts.map +1 -1
  73. package/dist/StorageWriter.d.ts +15 -23
  74. package/dist/StorageWriter.d.ts.map +1 -1
  75. package/dist/Table.d.ts +202 -203
  76. package/dist/Table.d.ts.map +1 -1
  77. package/dist/Table.js +2 -2
  78. package/dist/Table.js.map +1 -1
  79. package/dist/TableInfo.d.ts +35 -41
  80. package/dist/TableInfo.d.ts.map +1 -1
  81. package/dist/VectorSearch.d.ts +28 -35
  82. package/dist/VectorSearch.d.ts.map +1 -1
  83. package/dist/index.d.ts +35 -35
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/internal/utils.d.ts +10 -13
  86. package/dist/internal/utils.d.ts.map +1 -1
  87. package/dist/node.d.ts +2 -2
  88. package/dist/node.d.ts.map +1 -0
  89. package/dist/tsconfig.src.tsbuildinfo +1 -0
  90. package/package.json +4 -12
  91. package/src/DatabaseSchema.ts +1 -1
package/dist/Table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["SystemFields"],"sources":["../src/Table.ts"],"sourcesContent":["import * as Lazy from \"@confect/core/Lazy\";\nimport * as SystemFields from \"@confect/core/SystemFields\";\nimport {\n defineTable,\n type SystemFields as ConvexSystemFields,\n type Expand,\n type GenericTableIndexes,\n type GenericTableSearchIndexes,\n type GenericTableVectorIndexes,\n type IndexTiebreakerField,\n type SearchIndexConfig,\n type TableDefinition,\n type VectorIndexConfig,\n} from \"convex/server\";\nimport type { GenericValidator, Validator } from \"convex/values\";\nimport * as Predicate from \"effect/Predicate\";\nimport * as Schema from \"effect/Schema\";\nimport {\n compileTableSchema,\n type TableSchemaToTableValidator,\n} from \"./SchemaToValidator\";\n\nexport const TypeId = \"@confect/server/Table\";\nexport type TypeId = typeof TypeId;\n\n// -----------------------------------------------------------------------------\n// Predicates\n// -----------------------------------------------------------------------------\n//\n// Both bound `Table`s and `UnnamedTable` callables share the same `[TypeId]`\n// brand. They disambiguate by whether a `tableName` property is set: bound\n// tables have one, unnamed callables do not.\n//\n// The discriminator is `tableName` (not `name`) so it does not collide with\n// the built-in `Function.prototype.name` that every JS function carries.\n\nexport const isTable = (u: unknown): u is Any =>\n Predicate.hasProperty(u, TypeId) && Predicate.hasProperty(u, \"tableName\");\n\nexport const isUnnamedTable = (u: unknown): u is UnnamedAny =>\n Predicate.hasProperty(u, TypeId) && !Predicate.hasProperty(u, \"tableName\");\n\n// -----------------------------------------------------------------------------\n// Bound Table\n// -----------------------------------------------------------------------------\n\nexport interface Table<\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends GenericValidator =\n TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n> {\n readonly [TypeId]: TypeId;\n readonly tableName: Name_;\n readonly tableDefinition: TableDefinition<\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n readonly Fields: TableSchema_;\n readonly Doc: SystemFields.ExtendWithSystemFields<Name_, TableSchema_>;\n readonly indexes: Indexes_;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n readonly tableName: string;\n}\n\nexport type AnyWithProps = Table<\n any,\n Schema.Schema.AnyNoContext,\n GenericValidator,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes\n>;\n\n// -----------------------------------------------------------------------------\n// UnnamedTable (callable)\n// -----------------------------------------------------------------------------\n//\n// `Table.make(lazyFields)` returns an `UnnamedTable`: a callable that\n// produces a fully bound `Table` when invoked with a name. Chaining methods\n// (`.index`, `.searchIndex`, `.vectorIndex`) live here and return new\n// `UnnamedTable`s, accumulating plain index metadata records. Neither the\n// field-schema nor the deploy-time `tableDefinition` is constructed at this\n// stage — the user-supplied `lazyFields` callback is just carried through.\n// The codegen pipeline emits a wrapper file per user-authored table that\n// simply invokes the unnamed callable with the filename basename.\n\nexport interface UnnamedTable<\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends GenericValidator =\n TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n> {\n <const Name_ extends string>(\n tableName: Name_,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n readonly [TypeId]: TypeId;\n readonly indexes: Indexes_;\n\n index<\n IndexName extends string,\n FirstFieldPath extends ExtractFieldPaths<TableValidator_>,\n RestFieldPaths extends ExtractFieldPaths<TableValidator_>[],\n >(\n name: IndexName,\n fields: [FirstFieldPath, ...RestFieldPaths],\n ): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Expand<\n Indexes_ &\n Record<\n IndexName,\n [FirstFieldPath, ...RestFieldPaths, IndexTiebreakerField]\n >\n >,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n searchIndex<\n IndexName extends string,\n SearchField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<SearchIndexConfig<SearchField, FilterFields>>,\n ): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n Expand<\n SearchIndexes_ &\n Record<\n IndexName,\n {\n searchField: SearchField;\n filterFields: FilterFields;\n }\n >\n >,\n VectorIndexes_\n >;\n\n vectorIndex<\n IndexName extends string,\n VectorField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<VectorIndexConfig<VectorField, FilterFields>>,\n ): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n Expand<\n VectorIndexes_ &\n Record<\n IndexName,\n {\n vectorField: VectorField;\n dimensions: number;\n filterFields: FilterFields;\n }\n >\n >\n >;\n}\n\nexport interface UnnamedAny {\n readonly [TypeId]: TypeId;\n}\n\nexport type UnnamedAnyWithProps = UnnamedTable<\n Schema.Schema.AnyNoContext,\n GenericValidator,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes\n>;\n\n// -----------------------------------------------------------------------------\n// Type extractors\n// -----------------------------------------------------------------------------\n\nexport type Name<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableName & string\n : never;\n\nexport type TableSchema<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type TableValidator<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer TableValidator_,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableValidator_\n : never;\n\nexport type Indexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer Indexes_,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? Indexes_\n : never;\n\nexport type SearchIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer SearchIndexes_,\n infer _VectorIndexes\n >\n ? SearchIndexes_\n : never;\n\nexport type VectorIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer VectorIndexes_\n >\n ? VectorIndexes_\n : never;\n\nexport type Doc<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? SystemFields.ExtendWithSystemFields<TableName, TableSchema_>\n : never;\n\nexport type Fields<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type WithName<\n TableDef extends AnyWithProps,\n Name_ extends string,\n> = TableDef extends { readonly tableName: Name_ } ? TableDef : never;\n\nexport type TablesRecord<Tables extends AnyWithProps> = {\n readonly [TableName_ in Name<Tables>]: WithName<Tables, TableName_>;\n};\n\n// -----------------------------------------------------------------------------\n// Construction\n// -----------------------------------------------------------------------------\n//\n// `make` only stores the user-supplied `lazyFields` callback alongside any\n// chained index metadata. Neither `Fields` nor `Doc` nor `tableDefinition`\n// is constructed until first access on a bound `Table`. Each chain step is\n// O(1) (plain object spread of the metadata records) and never invokes the\n// callback. Binding via `unnamed(tableName)` installs lazy memoised getters\n// for `Fields`, `Doc`, and `tableDefinition` via `Lazy.defineProperty`, so the\n// first access materialises the value and replaces the getter with a plain\n// data property — second-and-subsequent accesses are observably\n// indistinguishable from a plain property and avoid all function-call\n// overhead.\n\ninterface UnnamedState<\n TableSchema_ extends Schema.Schema.AnyNoContext,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n> {\n readonly lazyFields: () => TableSchema_;\n readonly indexes: Indexes_;\n readonly searchIndexes: SearchIndexes_;\n readonly vectorIndexes: VectorIndexes_;\n}\n\nconst makeBound = <\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends Validator<any, any, any>,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n>(\n tableName: Name_,\n state: UnnamedState<TableSchema_, Indexes_, SearchIndexes_, VectorIndexes_>,\n): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> => {\n const bound = {\n [TypeId]: TypeId as TypeId,\n tableName,\n indexes: state.indexes,\n } as Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n Lazy.defineProperty(bound, \"Fields\", () => state.lazyFields());\n\n Lazy.defineProperty(bound, \"Doc\", () =>\n SystemFields.extendWithSystemFields(\n tableName,\n (bound as { Fields: TableSchema_ }).Fields,\n ),\n );\n\n Lazy.defineProperty(bound, \"tableDefinition\", () => {\n const fields = (bound as { Fields: TableSchema_ }).Fields;\n let definition: TableDefinition<any, any, any, any> = defineTable(\n compileTableSchema(fields),\n );\n for (const [name, indexFields] of Object.entries(\n state.indexes as Record<string, any>,\n )) {\n definition = definition.index(name, indexFields);\n }\n for (const [name, config] of Object.entries(\n state.searchIndexes as Record<string, any>,\n )) {\n definition = definition.searchIndex(name, config);\n }\n for (const [name, config] of Object.entries(\n state.vectorIndexes as Record<string, any>,\n )) {\n definition = definition.vectorIndex(name, config);\n }\n return definition;\n });\n\n return bound;\n};\n\nconst makeUnnamed = <\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends Validator<any, any, any>,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n>(\n state: UnnamedState<TableSchema_, Indexes_, SearchIndexes_, VectorIndexes_>,\n): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> => {\n type UnnamedTable_ = UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n type UnnamedTableFunction<FunctionName extends keyof UnnamedTable_> =\n UnnamedTable_[FunctionName];\n\n const bind = <const Name_ extends string>(\n tableName: Name_,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n > =>\n makeBound<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >(tableName, state);\n\n const index: UnnamedTableFunction<\"index\"> = (name, fields) =>\n makeUnnamed({\n lazyFields: state.lazyFields,\n indexes: {\n ...state.indexes,\n [name]: fields,\n } as any,\n searchIndexes: state.searchIndexes,\n vectorIndexes: state.vectorIndexes,\n });\n\n const searchIndex: UnnamedTableFunction<\"searchIndex\"> = (\n name,\n indexConfig,\n ) =>\n makeUnnamed({\n lazyFields: state.lazyFields,\n indexes: state.indexes,\n searchIndexes: {\n ...state.searchIndexes,\n [name]: indexConfig,\n } as any,\n vectorIndexes: state.vectorIndexes,\n });\n\n const vectorIndex: UnnamedTableFunction<\"vectorIndex\"> = (\n name,\n indexConfig,\n ) =>\n makeUnnamed({\n lazyFields: state.lazyFields,\n indexes: state.indexes,\n searchIndexes: state.searchIndexes,\n vectorIndexes: {\n ...state.vectorIndexes,\n [name]: indexConfig,\n } as any,\n });\n\n return Object.assign(bind, {\n [TypeId]: TypeId as TypeId,\n indexes: state.indexes,\n index,\n searchIndex,\n vectorIndex,\n }) satisfies UnnamedTable_;\n};\n\nexport const make = <const TableSchema_ extends Schema.Schema.AnyNoContext>(\n lazyFields: () => TableSchema_,\n): UnnamedTable<TableSchema_, TableSchemaToTableValidator<TableSchema_>> => {\n type TableValidator_ = TableSchemaToTableValidator<TableSchema_>;\n type UnnamedTable_ = UnnamedTable<TableSchema_, TableValidator_>;\n\n return makeUnnamed<TableSchema_, TableValidator_, {}, {}, {}>({\n lazyFields,\n indexes: {},\n searchIndexes: {},\n vectorIndexes: {},\n }) satisfies UnnamedTable_;\n};\n\n// -----------------------------------------------------------------------------\n// System tables\n// -----------------------------------------------------------------------------\n\nexport const scheduledFunctionsTable = make(() =>\n Schema.Struct({\n name: Schema.String,\n args: Schema.Array(Schema.Any),\n scheduledTime: Schema.Number,\n completedTime: Schema.optionalWith(Schema.Number, { exact: true }),\n state: Schema.Union(\n Schema.Struct({ kind: Schema.Literal(\"pending\") }),\n Schema.Struct({ kind: Schema.Literal(\"inProgress\") }),\n Schema.Struct({ kind: Schema.Literal(\"success\") }),\n Schema.Struct({\n kind: Schema.Literal(\"failed\"),\n error: Schema.String,\n }),\n Schema.Struct({ kind: Schema.Literal(\"canceled\") }),\n ),\n }),\n)(\"_scheduled_functions\");\n\nexport const storageTable = make(() =>\n Schema.Struct({\n sha256: Schema.String,\n size: Schema.Number,\n contentType: Schema.optionalWith(Schema.String, { exact: true }),\n }),\n)(\"_storage\");\n\nexport const systemTables = {\n _scheduled_functions: scheduledFunctionsTable,\n _storage: storageTable,\n} as const;\n\nexport type SystemTables = typeof scheduledFunctionsTable | typeof storageTable;\n\n// Vendored types from convex-js, partially modified. Ideally we could use these directly. See https://github.com/get-convex/convex-js/pull/14\n\n/**\n * Extract all of the index field paths within a {@link Validator}.\n *\n * This is used within {@link defineTable}.\n * @public\n */\ntype ExtractFieldPaths<T extends Validator<any, any, any>> =\n // Add in the system fields available in index definitions.\n // This should be everything except for `_id` because thats added to indexes\n // automatically.\n T[\"fieldPaths\"] | keyof ConvexSystemFields;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAa,SAAS;AActB,MAAa,WAAW,MACtB,UAAU,YAAY,GAAG,OAAO,IAAI,UAAU,YAAY,GAAG,YAAY;AAE3E,MAAa,kBAAkB,MAC7B,UAAU,YAAY,GAAG,OAAO,IAAI,CAAC,UAAU,YAAY,GAAG,YAAY;AAwS5E,MAAM,aAQJ,WACA,UAQG;CACH,MAAM,QAAQ;GACX,SAAS;EACV;EACA,SAAS,MAAM;EAChB;AASD,MAAK,eAAe,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAE9D,MAAK,eAAe,OAAO,aACzBA,eAAa,uBACX,WACC,MAAmC,OACrC,CACF;AAED,MAAK,eAAe,OAAO,yBAAyB;EAClD,MAAM,SAAU,MAAmC;EACnD,IAAI,aAAkD,YACpD,mBAAmB,OAAO,CAC3B;AACD,OAAK,MAAM,CAAC,MAAM,gBAAgB,OAAO,QACvC,MAAM,QACP,CACC,cAAa,WAAW,MAAM,MAAM,YAAY;AAElD,OAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAClC,MAAM,cACP,CACC,cAAa,WAAW,YAAY,MAAM,OAAO;AAEnD,OAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAClC,MAAM,cACP,CACC,cAAa,WAAW,YAAY,MAAM,OAAO;AAEnD,SAAO;GACP;AAEF,QAAO;;AAGT,MAAM,eAOJ,UAOG;CAYH,MAAM,QACJ,cASA,UAOE,WAAW,MAAM;CAErB,MAAM,SAAwC,MAAM,WAClD,YAAY;EACV,YAAY,MAAM;EAClB,SAAS;GACP,GAAG,MAAM;IACR,OAAO;GACT;EACD,eAAe,MAAM;EACrB,eAAe,MAAM;EACtB,CAAC;CAEJ,MAAM,eACJ,MACA,gBAEA,YAAY;EACV,YAAY,MAAM;EAClB,SAAS,MAAM;EACf,eAAe;GACb,GAAG,MAAM;IACR,OAAO;GACT;EACD,eAAe,MAAM;EACtB,CAAC;CAEJ,MAAM,eACJ,MACA,gBAEA,YAAY;EACV,YAAY,MAAM;EAClB,SAAS,MAAM;EACf,eAAe,MAAM;EACrB,eAAe;GACb,GAAG,MAAM;IACR,OAAO;GACT;EACF,CAAC;AAEJ,QAAO,OAAO,OAAO,MAAM;GACxB,SAAS;EACV,SAAS,MAAM;EACf;EACA;EACA;EACD,CAAC;;AAGJ,MAAa,QACX,eAC0E;AAI1E,QAAO,YAAuD;EAC5D;EACA,SAAS,EAAE;EACX,eAAe,EAAE;EACjB,eAAe,EAAE;EAClB,CAAC;;AAOJ,MAAa,0BAA0B,WACrC,OAAO,OAAO;CACZ,MAAM,OAAO;CACb,MAAM,OAAO,MAAM,OAAO,IAAI;CAC9B,eAAe,OAAO;CACtB,eAAe,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CAClE,OAAO,OAAO,MACZ,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,aAAa,EAAE,CAAC,EACrD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO;EACZ,MAAM,OAAO,QAAQ,SAAS;EAC9B,OAAO,OAAO;EACf,CAAC,EACF,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,WAAW,EAAE,CAAC,CACpD;CACF,CAAC,CACH,CAAC,uBAAuB;AAEzB,MAAa,eAAe,WAC1B,OAAO,OAAO;CACZ,QAAQ,OAAO;CACf,MAAM,OAAO;CACb,aAAa,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CACjE,CAAC,CACH,CAAC,WAAW;AAEb,MAAa,eAAe;CAC1B,sBAAsB;CACtB,UAAU;CACX"}
1
+ {"version":3,"file":"Table.js","names":[],"sources":["../src/Table.ts"],"sourcesContent":["import * as Lazy from \"@confect/core/Lazy\";\nimport * as SystemFields from \"@confect/core/SystemFields\";\nimport {\n defineTable,\n type SystemFields as ConvexSystemFields,\n type Expand,\n type GenericTableIndexes,\n type GenericTableSearchIndexes,\n type GenericTableVectorIndexes,\n type IndexTiebreakerField,\n type SearchIndexConfig,\n type TableDefinition,\n type VectorIndexConfig,\n} from \"convex/server\";\nimport type { GenericValidator, Validator } from \"convex/values\";\nimport * as Predicate from \"effect/Predicate\";\nimport * as Schema from \"effect/Schema\";\nimport {\n compileTableSchema,\n type TableSchemaToTableValidator,\n} from \"./SchemaToValidator\";\n\nexport const TypeId = \"@confect/server/Table\";\nexport type TypeId = typeof TypeId;\n\n// -----------------------------------------------------------------------------\n// Predicates\n// -----------------------------------------------------------------------------\n//\n// Both bound `Table`s and `UnnamedTable` callables share the same `[TypeId]`\n// brand. They disambiguate by whether a `tableName` property is set: bound\n// tables have one, unnamed callables do not.\n//\n// The discriminator is `tableName` (not `name`) so it does not collide with\n// the built-in `Function.prototype.name` that every JS function carries.\n\nexport const isTable = (u: unknown): u is Any =>\n Predicate.hasProperty(u, TypeId) && Predicate.hasProperty(u, \"tableName\");\n\nexport const isUnnamedTable = (u: unknown): u is UnnamedAny =>\n Predicate.hasProperty(u, TypeId) && !Predicate.hasProperty(u, \"tableName\");\n\n// -----------------------------------------------------------------------------\n// Bound Table\n// -----------------------------------------------------------------------------\n\nexport interface Table<\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends GenericValidator =\n TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n> {\n readonly [TypeId]: TypeId;\n readonly tableName: Name_;\n readonly tableDefinition: TableDefinition<\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n readonly Fields: TableSchema_;\n readonly Doc: SystemFields.ExtendWithSystemFields<Name_, TableSchema_>;\n readonly indexes: Indexes_;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n readonly tableName: string;\n}\n\nexport type AnyWithProps = Table<\n any,\n Schema.Schema.AnyNoContext,\n GenericValidator,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes\n>;\n\n// -----------------------------------------------------------------------------\n// UnnamedTable (callable)\n// -----------------------------------------------------------------------------\n//\n// `Table.make(lazyFields)` returns an `UnnamedTable`: a callable that\n// produces a fully bound `Table` when invoked with a name. Chaining methods\n// (`.index`, `.searchIndex`, `.vectorIndex`) live here and return new\n// `UnnamedTable`s, accumulating plain index metadata records. Neither the\n// field-schema nor the deploy-time `tableDefinition` is constructed at this\n// stage — the user-supplied `lazyFields` callback is just carried through.\n// The codegen pipeline emits a wrapper file per user-authored table that\n// simply invokes the unnamed callable with the filename basename.\n\nexport interface UnnamedTable<\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends GenericValidator =\n TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n> {\n <const Name_ extends string>(\n tableName: Name_,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n readonly [TypeId]: TypeId;\n readonly indexes: Indexes_;\n\n index<\n IndexName extends string,\n FirstFieldPath extends ExtractFieldPaths<TableValidator_>,\n RestFieldPaths extends ExtractFieldPaths<TableValidator_>[],\n >(\n name: IndexName,\n fields: [FirstFieldPath, ...RestFieldPaths],\n ): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Expand<\n Indexes_ &\n Record<\n IndexName,\n [FirstFieldPath, ...RestFieldPaths, IndexTiebreakerField]\n >\n >,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n searchIndex<\n IndexName extends string,\n SearchField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<SearchIndexConfig<SearchField, FilterFields>>,\n ): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n Expand<\n SearchIndexes_ &\n Record<\n IndexName,\n {\n searchField: SearchField;\n filterFields: FilterFields;\n }\n >\n >,\n VectorIndexes_\n >;\n\n vectorIndex<\n IndexName extends string,\n VectorField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<VectorIndexConfig<VectorField, FilterFields>>,\n ): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n Expand<\n VectorIndexes_ &\n Record<\n IndexName,\n {\n vectorField: VectorField;\n dimensions: number;\n filterFields: FilterFields;\n }\n >\n >\n >;\n}\n\nexport interface UnnamedAny {\n readonly [TypeId]: TypeId;\n}\n\nexport type UnnamedAnyWithProps = UnnamedTable<\n Schema.Schema.AnyNoContext,\n GenericValidator,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes\n>;\n\n// -----------------------------------------------------------------------------\n// Type extractors\n// -----------------------------------------------------------------------------\n\nexport type Name<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableName & string\n : never;\n\nexport type TableSchema<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type TableValidator<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer TableValidator_,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableValidator_\n : never;\n\nexport type Indexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer Indexes_,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? Indexes_\n : never;\n\nexport type SearchIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer SearchIndexes_,\n infer _VectorIndexes\n >\n ? SearchIndexes_\n : never;\n\nexport type VectorIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer VectorIndexes_\n >\n ? VectorIndexes_\n : never;\n\nexport type Doc<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? SystemFields.ExtendWithSystemFields<TableName, TableSchema_>\n : never;\n\nexport type Fields<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type WithName<\n TableDef extends AnyWithProps,\n Name_ extends string,\n> = TableDef extends { readonly tableName: Name_ } ? TableDef : never;\n\nexport type TablesRecord<Tables extends AnyWithProps> = {\n readonly [TableName_ in Name<Tables>]: WithName<Tables, TableName_>;\n};\n\n// -----------------------------------------------------------------------------\n// Construction\n// -----------------------------------------------------------------------------\n//\n// `make` only stores the user-supplied `lazyFields` callback alongside any\n// chained index metadata. Neither `Fields` nor `Doc` nor `tableDefinition`\n// is constructed until first access on a bound `Table`. Each chain step is\n// O(1) (plain object spread of the metadata records) and never invokes the\n// callback. Binding via `unnamed(tableName)` installs lazy memoised getters\n// for `Fields`, `Doc`, and `tableDefinition` via `Lazy.defineProperty`, so the\n// first access materialises the value and replaces the getter with a plain\n// data property — second-and-subsequent accesses are observably\n// indistinguishable from a plain property and avoid all function-call\n// overhead.\n\ninterface UnnamedState<\n TableSchema_ extends Schema.Schema.AnyNoContext,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n> {\n readonly lazyFields: () => TableSchema_;\n readonly indexes: Indexes_;\n readonly searchIndexes: SearchIndexes_;\n readonly vectorIndexes: VectorIndexes_;\n}\n\nconst makeBound = <\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends Validator<any, any, any>,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n>(\n tableName: Name_,\n state: UnnamedState<TableSchema_, Indexes_, SearchIndexes_, VectorIndexes_>,\n): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> => {\n const bound = {\n [TypeId]: TypeId as TypeId,\n tableName,\n indexes: state.indexes,\n } as Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n Lazy.defineProperty(bound, \"Fields\", () => state.lazyFields());\n\n Lazy.defineProperty(bound, \"Doc\", () =>\n SystemFields.extendWithSystemFields(\n tableName,\n (bound as { Fields: TableSchema_ }).Fields,\n ),\n );\n\n Lazy.defineProperty(bound, \"tableDefinition\", () => {\n const fields = (bound as { Fields: TableSchema_ }).Fields;\n let definition: TableDefinition<any, any, any, any> = defineTable(\n compileTableSchema(fields),\n );\n for (const [name, indexFields] of Object.entries(\n state.indexes as Record<string, any>,\n )) {\n definition = definition.index(name, indexFields);\n }\n for (const [name, config] of Object.entries(\n state.searchIndexes as Record<string, any>,\n )) {\n definition = definition.searchIndex(name, config);\n }\n for (const [name, config] of Object.entries(\n state.vectorIndexes as Record<string, any>,\n )) {\n definition = definition.vectorIndex(name, config);\n }\n return definition;\n });\n\n return bound;\n};\n\nconst makeUnnamed = <\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends Validator<any, any, any>,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n>(\n state: UnnamedState<TableSchema_, Indexes_, SearchIndexes_, VectorIndexes_>,\n): UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> => {\n type UnnamedTable_ = UnnamedTable<\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n type UnnamedTableFunction<FunctionName extends keyof UnnamedTable_> =\n UnnamedTable_[FunctionName];\n\n const bind = <const Name_ extends string>(\n tableName: Name_,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n > =>\n makeBound<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >(tableName, state);\n\n const index: UnnamedTableFunction<\"index\"> = (name, fields) =>\n makeUnnamed({\n lazyFields: state.lazyFields,\n indexes: {\n ...state.indexes,\n [name]: fields,\n } as any,\n searchIndexes: state.searchIndexes,\n vectorIndexes: state.vectorIndexes,\n });\n\n const searchIndex: UnnamedTableFunction<\"searchIndex\"> = (\n name,\n indexConfig,\n ) =>\n makeUnnamed({\n lazyFields: state.lazyFields,\n indexes: state.indexes,\n searchIndexes: {\n ...state.searchIndexes,\n [name]: indexConfig,\n } as any,\n vectorIndexes: state.vectorIndexes,\n });\n\n const vectorIndex: UnnamedTableFunction<\"vectorIndex\"> = (\n name,\n indexConfig,\n ) =>\n makeUnnamed({\n lazyFields: state.lazyFields,\n indexes: state.indexes,\n searchIndexes: state.searchIndexes,\n vectorIndexes: {\n ...state.vectorIndexes,\n [name]: indexConfig,\n } as any,\n });\n\n return Object.assign(bind, {\n [TypeId]: TypeId as TypeId,\n indexes: state.indexes,\n index,\n searchIndex,\n vectorIndex,\n }) satisfies UnnamedTable_;\n};\n\nexport const make = <const TableSchema_ extends Schema.Schema.AnyNoContext>(\n lazyFields: () => TableSchema_,\n): UnnamedTable<TableSchema_, TableSchemaToTableValidator<TableSchema_>> => {\n type TableValidator_ = TableSchemaToTableValidator<TableSchema_>;\n type UnnamedTable_ = UnnamedTable<TableSchema_, TableValidator_>;\n\n return makeUnnamed<TableSchema_, TableValidator_, {}, {}, {}>({\n lazyFields,\n indexes: {},\n searchIndexes: {},\n vectorIndexes: {},\n }) satisfies UnnamedTable_;\n};\n\n// -----------------------------------------------------------------------------\n// System tables\n// -----------------------------------------------------------------------------\n\nexport const scheduledFunctionsTable = make(() =>\n Schema.Struct({\n name: Schema.String,\n args: Schema.Array(Schema.Any),\n scheduledTime: Schema.Number,\n completedTime: Schema.optionalWith(Schema.Number, { exact: true }),\n state: Schema.Union(\n Schema.Struct({ kind: Schema.Literal(\"pending\") }),\n Schema.Struct({ kind: Schema.Literal(\"inProgress\") }),\n Schema.Struct({ kind: Schema.Literal(\"success\") }),\n Schema.Struct({\n kind: Schema.Literal(\"failed\"),\n error: Schema.String,\n }),\n Schema.Struct({ kind: Schema.Literal(\"canceled\") }),\n ),\n }),\n)(\"_scheduled_functions\");\n\nexport const storageTable = make(() =>\n Schema.Struct({\n sha256: Schema.String,\n size: Schema.Number,\n contentType: Schema.optionalWith(Schema.String, { exact: true }),\n }),\n)(\"_storage\");\n\nexport const systemTables = {\n _scheduled_functions: scheduledFunctionsTable,\n _storage: storageTable,\n} as const;\n\nexport type SystemTables = typeof scheduledFunctionsTable | typeof storageTable;\n\n// Vendored types from convex-js, partially modified. Ideally we could use these directly. See https://github.com/get-convex/convex-js/pull/14\n\n/**\n * Extract all of the index field paths within a {@link Validator}.\n *\n * This is used within {@link defineTable}.\n * @public\n */\ntype ExtractFieldPaths<T extends Validator<any, any, any>> =\n // Add in the system fields available in index definitions.\n // This should be everything except for `_id` because thats added to indexes\n // automatically.\n T[\"fieldPaths\"] | keyof ConvexSystemFields;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAa,SAAS;AActB,MAAa,WAAW,MACtB,UAAU,YAAY,GAAG,OAAO,IAAI,UAAU,YAAY,GAAG,YAAY;AAE3E,MAAa,kBAAkB,MAC7B,UAAU,YAAY,GAAG,OAAO,IAAI,CAAC,UAAU,YAAY,GAAG,YAAY;AAwS5E,MAAM,aAQJ,WACA,UAQG;CACH,MAAM,QAAQ;GACX,SAAS;EACV;EACA,SAAS,MAAM;EAChB;AASD,MAAK,eAAe,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAE9D,MAAK,eAAe,OAAO,aACzB,aAAa,uBACX,WACC,MAAmC,OACrC,CACF;AAED,MAAK,eAAe,OAAO,yBAAyB;EAClD,MAAM,SAAU,MAAmC;EACnD,IAAI,aAAkD,YACpD,mBAAmB,OAAO,CAC3B;AACD,OAAK,MAAM,CAAC,MAAM,gBAAgB,OAAO,QACvC,MAAM,QACP,CACC,cAAa,WAAW,MAAM,MAAM,YAAY;AAElD,OAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAClC,MAAM,cACP,CACC,cAAa,WAAW,YAAY,MAAM,OAAO;AAEnD,OAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAClC,MAAM,cACP,CACC,cAAa,WAAW,YAAY,MAAM,OAAO;AAEnD,SAAO;GACP;AAEF,QAAO;;AAGT,MAAM,eAOJ,UAOG;CAYH,MAAM,QACJ,cASA,UAOE,WAAW,MAAM;CAErB,MAAM,SAAwC,MAAM,WAClD,YAAY;EACV,YAAY,MAAM;EAClB,SAAS;GACP,GAAG,MAAM;IACR,OAAO;GACT;EACD,eAAe,MAAM;EACrB,eAAe,MAAM;EACtB,CAAC;CAEJ,MAAM,eACJ,MACA,gBAEA,YAAY;EACV,YAAY,MAAM;EAClB,SAAS,MAAM;EACf,eAAe;GACb,GAAG,MAAM;IACR,OAAO;GACT;EACD,eAAe,MAAM;EACtB,CAAC;CAEJ,MAAM,eACJ,MACA,gBAEA,YAAY;EACV,YAAY,MAAM;EAClB,SAAS,MAAM;EACf,eAAe,MAAM;EACrB,eAAe;GACb,GAAG,MAAM;IACR,OAAO;GACT;EACF,CAAC;AAEJ,QAAO,OAAO,OAAO,MAAM;GACxB,SAAS;EACV,SAAS,MAAM;EACf;EACA;EACA;EACD,CAAC;;AAGJ,MAAa,QACX,eAC0E;AAI1E,QAAO,YAAuD;EAC5D;EACA,SAAS,EAAE;EACX,eAAe,EAAE;EACjB,eAAe,EAAE;EAClB,CAAC;;AAOJ,MAAa,0BAA0B,WACrC,OAAO,OAAO;CACZ,MAAM,OAAO;CACb,MAAM,OAAO,MAAM,OAAO,IAAI;CAC9B,eAAe,OAAO;CACtB,eAAe,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CAClE,OAAO,OAAO,MACZ,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,aAAa,EAAE,CAAC,EACrD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO;EACZ,MAAM,OAAO,QAAQ,SAAS;EAC9B,OAAO,OAAO;EACf,CAAC,EACF,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,WAAW,EAAE,CAAC,CACpD;CACF,CAAC,CACH,CAAC,uBAAuB;AAEzB,MAAa,eAAe,WAC1B,OAAO,OAAO;CACZ,QAAQ,OAAO;CACf,MAAM,OAAO;CACb,aAAa,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CACjE,CAAC,CACH,CAAC,WAAW;AAEb,MAAa,eAAe;CAC1B,sBAAsB;CACtB,UAAU;CACX"}
@@ -1,48 +1,42 @@
1
- import { AnyWithProps as AnyWithProps$1, Table } from "./Table.js";
2
- import { Any as Any$1, AnyEncoded } from "./Document.js";
3
- import { Expand, GenericDocument, GenericFieldPaths, GenericTableIndexes, GenericTableSearchIndexes, GenericTableVectorIndexes, IdField, SystemFields, SystemIndexes } from "convex/server";
4
- import { GenericValidator } from "convex/values";
5
- import { Schema, Types } from "effect";
6
-
7
- //#region src/TableInfo.d.ts
8
- declare namespace TableInfo_d_exports {
9
- export { Any, AnyWithProps, ConvexTableInfo, Document, TableInfo, TableSchema, TypeId };
10
- }
11
- declare const TypeId: "@confect/server/TableInfo";
12
- type TypeId = typeof TypeId;
13
- type TableInfo<Table_ extends AnyWithProps$1> = Table_ extends Table<infer TableName, infer _TableSchema, infer TableValidator, infer Indexes, infer SearchIndexes, infer VectorIndexes> ? {
14
- readonly [TypeId]: TypeId;
15
- readonly document: Table_["Doc"]["Type"];
16
- readonly encodedDocument: Table_["Doc"]["Encoded"];
17
- readonly convexDocument: ExtractConvexDocument<TableName, TableValidator>;
18
- readonly fieldPaths: keyof IdField<TableName> | ExtractFieldPaths<TableValidator>;
19
- readonly indexes: Types.Simplify<Indexes & SystemIndexes>;
20
- readonly searchIndexes: SearchIndexes;
21
- readonly vectorIndexes: VectorIndexes;
1
+ import type { Expand, GenericDocument, GenericFieldPaths, GenericTableIndexes, GenericTableSearchIndexes, GenericTableVectorIndexes, IdField, SystemFields, SystemIndexes } from "convex/server";
2
+ import type { GenericValidator } from "convex/values";
3
+ import type { Schema, Types } from "effect";
4
+ import type * as Document_ from "./Document";
5
+ import type * as Table from "./Table";
6
+ export declare const TypeId: "@confect/server/TableInfo";
7
+ export type TypeId = typeof TypeId;
8
+ export type TableInfo<Table_ extends Table.AnyWithProps> = Table_ extends Table.Table<infer TableName, infer _TableSchema, infer TableValidator, infer Indexes, infer SearchIndexes, infer VectorIndexes> ? {
9
+ readonly [TypeId]: TypeId;
10
+ readonly document: Table_["Doc"]["Type"];
11
+ readonly encodedDocument: Table_["Doc"]["Encoded"];
12
+ readonly convexDocument: ExtractConvexDocument<TableName, TableValidator>;
13
+ readonly fieldPaths: keyof IdField<TableName> | ExtractFieldPaths<TableValidator>;
14
+ readonly indexes: Types.Simplify<Indexes & SystemIndexes>;
15
+ readonly searchIndexes: SearchIndexes;
16
+ readonly vectorIndexes: VectorIndexes;
22
17
  } : never;
23
- interface Any {
24
- readonly [TypeId]: TypeId;
18
+ export interface Any {
19
+ readonly [TypeId]: TypeId;
25
20
  }
26
- interface AnyWithProps extends Any {
27
- readonly document: Any$1;
28
- readonly encodedDocument: AnyEncoded;
29
- readonly convexDocument: GenericDocument;
30
- readonly fieldPaths: GenericFieldPaths;
31
- readonly indexes: GenericTableIndexes;
32
- readonly searchIndexes: GenericTableSearchIndexes;
33
- readonly vectorIndexes: GenericTableVectorIndexes;
21
+ export interface AnyWithProps extends Any {
22
+ readonly document: Document_.Any;
23
+ readonly encodedDocument: Document_.AnyEncoded;
24
+ readonly convexDocument: GenericDocument;
25
+ readonly fieldPaths: GenericFieldPaths;
26
+ readonly indexes: GenericTableIndexes;
27
+ readonly searchIndexes: GenericTableSearchIndexes;
28
+ readonly vectorIndexes: GenericTableVectorIndexes;
34
29
  }
35
- type ConvexTableInfo<TableInfo_ extends AnyWithProps> = {
36
- document: TableInfo_["convexDocument"];
37
- fieldPaths: TableInfo_["fieldPaths"];
38
- indexes: TableInfo_["indexes"];
39
- searchIndexes: TableInfo_["searchIndexes"];
40
- vectorIndexes: TableInfo_["vectorIndexes"];
30
+ export type ConvexTableInfo<TableInfo_ extends AnyWithProps> = {
31
+ document: TableInfo_["convexDocument"];
32
+ fieldPaths: TableInfo_["fieldPaths"];
33
+ indexes: TableInfo_["indexes"];
34
+ searchIndexes: TableInfo_["searchIndexes"];
35
+ vectorIndexes: TableInfo_["vectorIndexes"];
41
36
  };
42
- type TableSchema<TableInfo_ extends AnyWithProps> = Schema.Schema<TableInfo_["document"], TableInfo_["encodedDocument"]>;
43
- type Document<TableInfo_ extends AnyWithProps> = TableInfo_["document"];
37
+ export type TableSchema<TableInfo_ extends AnyWithProps> = Schema.Schema<TableInfo_["document"], TableInfo_["encodedDocument"]>;
38
+ export type Document<TableInfo_ extends AnyWithProps> = TableInfo_["document"];
44
39
  type ExtractFieldPaths<T extends GenericValidator> = T["fieldPaths"] | keyof SystemFields;
45
40
  type ExtractConvexDocument<TableName extends string, T extends GenericValidator> = Expand<IdField<TableName> & SystemFields & T["type"]> extends GenericDocument ? Expand<IdField<TableName> & SystemFields & T["type"]> : never;
46
- //#endregion
47
- export { Any, AnyWithProps, ConvexTableInfo, Document, TableInfo, TableInfo_d_exports, TableSchema, TypeId };
41
+ export {};
48
42
  //# sourceMappingURL=TableInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableInfo.d.ts","names":[],"sources":["../src/TableInfo.ts"],"mappings":";;;;;;;;;;cAgBqB,MAAA;AAAA,KACT,MAAA,UAAgB,MAAA;AAAA,KAEhB,SAAA,gBAAyB,cAAA,IACnC,MAAA,SAAe,KAAA;EAAA,UASC,MAAA,GAAS,MAAA;EAAA,SACV,QAAA,EAAU,MAAA;EAAA,SACV,eAAA,EAAiB,MAAA;EAAA,SACjB,cAAA,EAAgB,qBAAA,CACvB,SAAA,EACA,cAAA;EAAA,SAEO,UAAA,QACC,OAAA,CAAQ,SAAA,IACd,iBAAA,CAAkB,cAAA;EAAA,SACb,OAAA,EAAS,KAAA,CAAM,QAAA,CAAS,OAAA,GAAU,aAAA;EAAA,SAClC,aAAA,EAAe,aAAA;EAAA,SACf,aAAA,EAAe,aAAA;AAAA;AAAA,UAIf,GAAA;EAAA,UACL,MAAA,GAAS,MAAA;AAAA;AAAA,UAGJ,YAAA,SAAqB,GAAA;EAAA,SAC3B,QAAA,EAAU,KAAA;EAAA,SACV,eAAA,EAAiB,UAAA;EAAA,SACjB,cAAA,EAAgB,eAAA;EAAA,SAChB,UAAA,EAAY,iBAAA;EAAA,SACZ,OAAA,EAAS,mBAAA;EAAA,SACT,aAAA,EAAe,yBAAA;EAAA,SACf,aAAA,EAAe,yBAAA;AAAA;AAAA,KAGd,eAAA,oBAAmC,YAAA;EAC7C,QAAA,EAAU,UAAA;EACV,UAAA,EAAY,UAAA;EACZ,OAAA,EAAS,UAAA;EACT,aAAA,EAAe,UAAA;EACf,aAAA,EAAe,UAAA;AAAA;AAAA,KAGL,WAAA,oBAA+B,YAAA,IAAgB,MAAA,CAAO,MAAA,CAChE,UAAA,cACA,UAAA;AAAA,KAGU,QAAA,oBAA4B,YAAA,IAAgB,UAAA;AAAA,KAKnD,iBAAA,WAA4B,gBAAA,IAC7B,CAAA,uBACM,YAAA;AAAA,KAEL,qBAAA,qCAEO,gBAAA,IAEV,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,YAAA,GAAe,CAAA,kBAAmB,eAAA,GAC1D,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,YAAA,GAAe,CAAA"}
1
+ {"version":3,"file":"TableInfo.d.ts","sourceRoot":"","sources":["../src/TableInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,OAAO,EACP,YAAY,EACZ,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,KAAK,SAAS,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,2BAA2B,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,KAAK,CAAC,YAAY,IACrD,MAAM,SAAS,KAAK,CAAC,KAAK,CACxB,MAAM,SAAS,EACf,MAAM,YAAY,EAClB,MAAM,cAAc,EACpB,MAAM,OAAO,EACb,MAAM,aAAa,EACnB,MAAM,aAAa,CACpB,GACG;IACE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAC5C,SAAS,EACT,cAAc,CACf,CAAC;IACF,QAAQ,CAAC,UAAU,EACf,MAAM,OAAO,CAAC,SAAS,CAAC,GACxB,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC,GACD,KAAK,CAAC;AAEZ,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,GAAG;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,UAAU,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;CACnD;AAED,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,YAAY,IAAI;IAC7D,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3C,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,YAAY,IAAI,MAAM,CAAC,MAAM,CACtE,UAAU,CAAC,UAAU,CAAC,EACtB,UAAU,CAAC,iBAAiB,CAAC,CAC9B,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,UAAU,SAAS,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;AAK/E,KAAK,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,IAC7C,CAAC,CAAC,YAAY,CAAC,GACf,MAAM,YAAY,CAAC;AAEvB,KAAK,qBAAqB,CACxB,SAAS,SAAS,MAAM,EACxB,CAAC,SAAS,gBAAgB,IAE1B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,eAAe,GACzE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GACrD,KAAK,CAAC"}
@@ -1,44 +1,37 @@
1
- import { AnyWithProps, TableNames, ToConvex } from "./DataModel.js";
1
+ import type { Expand, GenericActionCtx, NamedTableInfo, VectorIndexNames, VectorSearchQuery } from "convex/server";
2
+ import type { GenericId } from "convex/values";
2
3
  import * as Context from "effect/Context";
3
- import * as convex_server0 from "convex/server";
4
- import { Expand, GenericActionCtx, NamedTableInfo, VectorIndexNames, VectorSearchQuery } from "convex/server";
5
- import * as Layer from "effect/Layer";
6
4
  import * as Effect from "effect/Effect";
7
- import { GenericId } from "convex/values";
8
-
9
- //#region src/VectorSearch.d.ts
10
- declare namespace VectorSearch_d_exports {
11
- export { VectorSearch, layer, make };
12
- }
13
- type ConvexVectorSearch<DataModel_ extends AnyWithProps> = GenericActionCtx<ToConvex<DataModel_>>["vectorSearch"];
14
- declare const make: <DataModel_ extends AnyWithProps>(vectorSearch: ConvexVectorSearch<DataModel_>) => <TableName extends TableNames<DataModel_>, IndexName extends VectorIndexNames<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: Expand<VectorSearchQuery<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => Effect.Effect<Array<{
15
- _id: GenericId<TableName>;
16
- _score: number;
5
+ import * as Layer from "effect/Layer";
6
+ import type * as DataModel from "./DataModel";
7
+ type ConvexVectorSearch<DataModel_ extends DataModel.AnyWithProps> = GenericActionCtx<DataModel.ToConvex<DataModel_>>["vectorSearch"];
8
+ export declare const make: <DataModel_ extends DataModel.AnyWithProps>(vectorSearch: ConvexVectorSearch<DataModel_>) => <TableName extends DataModel.TableNames<DataModel_>, IndexName extends VectorIndexNames<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: Expand<VectorSearchQuery<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>, IndexName>>) => Effect.Effect<Array<{
9
+ _id: GenericId<TableName>;
10
+ _score: number;
17
11
  }>>;
18
- declare const VectorSearch: <DataModel_ extends AnyWithProps>() => Context.Tag<(<TableName extends TableNames<DataModel_>, IndexName extends keyof convex_server0.VectorIndexes<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
19
- vector: number[];
20
- limit?: number;
21
- filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<NamedTableInfo<ToConvex<DataModel_>, TableName>>, convex_server0.NamedVectorIndex<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
12
+ export declare const VectorSearch: <DataModel_ extends DataModel.AnyWithProps>() => Context.Tag<(<TableName extends DataModel.TableNames<DataModel_>, IndexName extends keyof import("convex/server").VectorIndexes<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
13
+ vector: number[];
14
+ limit?: number;
15
+ filter?: (q: import("convex/server").VectorFilterBuilder<import("convex/server").DocumentByInfo<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>, import("convex/server").NamedVectorIndex<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>, IndexName>>) => import("convex/server").FilterExpression<boolean>;
22
16
  }) => Effect.Effect<{
23
- _id: GenericId<TableName>;
24
- _score: number;
25
- }[], never, never>), <TableName extends TableNames<DataModel_>, IndexName extends keyof convex_server0.VectorIndexes<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
26
- vector: number[];
27
- limit?: number;
28
- filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<NamedTableInfo<ToConvex<DataModel_>, TableName>>, convex_server0.NamedVectorIndex<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
17
+ _id: GenericId<TableName>;
18
+ _score: number;
19
+ }[], never, never>), <TableName extends DataModel.TableNames<DataModel_>, IndexName extends keyof import("convex/server").VectorIndexes<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
20
+ vector: number[];
21
+ limit?: number;
22
+ filter?: (q: import("convex/server").VectorFilterBuilder<import("convex/server").DocumentByInfo<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>, import("convex/server").NamedVectorIndex<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>, IndexName>>) => import("convex/server").FilterExpression<boolean>;
29
23
  }) => Effect.Effect<{
30
- _id: GenericId<TableName>;
31
- _score: number;
24
+ _id: GenericId<TableName>;
25
+ _score: number;
32
26
  }[], never, never>>;
33
- type VectorSearch<DataModel_ extends AnyWithProps> = ReturnType<typeof VectorSearch<DataModel_>>["Identifier"];
34
- declare const layer: <DataModel_ extends AnyWithProps>(vectorSearch: ConvexVectorSearch<DataModel_>) => Layer.Layer<(<TableName extends TableNames<DataModel_>, IndexName extends keyof convex_server0.VectorIndexes<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
35
- vector: number[];
36
- limit?: number;
37
- filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<NamedTableInfo<ToConvex<DataModel_>, TableName>>, convex_server0.NamedVectorIndex<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
27
+ export type VectorSearch<DataModel_ extends DataModel.AnyWithProps> = ReturnType<typeof VectorSearch<DataModel_>>["Identifier"];
28
+ export declare const layer: <DataModel_ extends DataModel.AnyWithProps>(vectorSearch: ConvexVectorSearch<DataModel_>) => Layer.Layer<(<TableName extends DataModel.TableNames<DataModel_>, IndexName extends keyof import("convex/server").VectorIndexes<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
29
+ vector: number[];
30
+ limit?: number;
31
+ filter?: (q: import("convex/server").VectorFilterBuilder<import("convex/server").DocumentByInfo<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>>, import("convex/server").NamedVectorIndex<NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>, IndexName>>) => import("convex/server").FilterExpression<boolean>;
38
32
  }) => Effect.Effect<{
39
- _id: GenericId<TableName>;
40
- _score: number;
33
+ _id: GenericId<TableName>;
34
+ _score: number;
41
35
  }[], never, never>), never, never>;
42
- //#endregion
43
- export { VectorSearch, VectorSearch_d_exports, layer, make };
36
+ export {};
44
37
  //# sourceMappingURL=VectorSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VectorSearch.d.ts","names":[],"sources":["../src/VectorSearch.ts"],"mappings":";;;;;;;;;;;;KAaK,kBAAA,oBAAsC,YAAA,IACzC,gBAAA,CAAiB,QAAA,CAAmB,UAAA;AAAA,cAEzB,IAAA,sBACS,YAAA,EAClB,YAAA,EAAc,kBAAA,CAAmB,UAAA,yBAGf,UAAA,CAAqB,UAAA,qBACrB,gBAAA,CAChB,cAAA,CAAe,QAAA,CAAmB,UAAA,GAAa,SAAA,IAGjD,SAAA,EAAW,SAAA,EACX,SAAA,EAAW,SAAA,EACX,KAAA,EAAO,MAAA,CACL,iBAAA,CACE,cAAA,CAAe,QAAA,CAAmB,UAAA,GAAa,SAAA,GAC/C,SAAA,OAGH,MAAA,CAAO,MAAA,CAAO,KAAA;EAAQ,GAAA,EAAK,SAAA,CAAU,SAAA;EAAY,MAAA;AAAA;AAAA,cAGzC,YAAA,sBAAmC,YAAA,OAAsB,OAAA,CAAA,GAAA,qBAhBzD,UAAA,CAAA,UAAA,2BACA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA,QAAA,CAAA,UAAA,GAAA,SAAA,IAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA;;;;;;;wCADA,UAAA,CAAA,UAAA,2BACA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA,QAAA,CAAA,UAAA,GAAA,SAAA,IAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA;;;;;;;;KAoBD,YAAA,oBAAgC,YAAA,IAC1C,UAAA,QAAkB,YAAA,CAAa,UAAA;AAAA,cAEpB,KAAA,sBAA4B,YAAA,EACvC,YAAA,EAAc,kBAAA,CAAmB,UAAA,MAAW,KAAA,CAAA,KAAA,qBAzBjC,UAAA,CAAA,UAAA,2BACA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA,QAAA,CAAA,UAAA,GAAA,SAAA,IAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA"}
1
+ {"version":3,"file":"VectorSearch.d.ts","sourceRoot":"","sources":["../src/VectorSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAC;AAE9C,KAAK,kBAAkB,CAAC,UAAU,SAAS,SAAS,CAAC,YAAY,IAC/D,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;AAEnE,eAAO,MAAM,IAAI,GACd,UAAU,SAAS,SAAS,CAAC,YAAY,EACxC,cAAc,kBAAkB,CAAC,UAAU,CAAC,MAG5C,SAAS,SAAS,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAClD,SAAS,SAAS,gBAAgB,CAChC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAC1D,EAED,WAAW,SAAS,EACpB,WAAW,SAAS,EACpB,OAAO,MAAM,CACX,iBAAiB,CACf,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,EACzD,SAAS,CACV,CACF,KACA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CACJ,CAAC;AAEpE,eAAO,MAAM,YAAY,GAAI,UAAU,SAAS,SAAS,CAAC,YAAY,qBAhBlE,SAAS,2CACT,SAAS;;;;;;YAYiD,MAAM;sBAbhE,SAAS,2CACT,SAAS;;;;;;YAYiD,MAAM;mBAMjE,CAAC;AAEJ,MAAM,MAAM,YAAY,CAAC,UAAU,SAAS,SAAS,CAAC,YAAY,IAChE,UAAU,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5D,eAAO,MAAM,KAAK,GAAI,UAAU,SAAS,SAAS,CAAC,YAAY,EAC7D,cAAc,kBAAkB,CAAC,UAAU,CAAC,mBAzB1C,SAAS,2CACT,SAAS;;;;;;YAYiD,MAAM;kCAaF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,35 +1,35 @@
1
- import { ActionCtx_d_exports } from "./ActionCtx.js";
2
- import { ActionRunner_d_exports } from "./ActionRunner.js";
3
- import { Auth_d_exports } from "./Auth.js";
4
- import { BlobNotFoundError_d_exports } from "./BlobNotFoundError.js";
5
- import { ConvexConfigProvider_d_exports } from "./ConvexConfigProvider.js";
6
- import { CronJob_d_exports } from "./CronJob.js";
7
- import { CronJobs_d_exports } from "./CronJobs.js";
8
- import { SchemaToValidator_d_exports } from "./SchemaToValidator.js";
9
- import { Table_d_exports } from "./Table.js";
10
- import { DatabaseSchema_d_exports } from "./DatabaseSchema.js";
11
- import { Document_d_exports } from "./Document.js";
12
- import { TableInfo_d_exports } from "./TableInfo.js";
13
- import { DataModel_d_exports } from "./DataModel.js";
14
- import { OrderedQuery_d_exports } from "./OrderedQuery.js";
15
- import { QueryInitializer_d_exports } from "./QueryInitializer.js";
16
- import { DatabaseReader_d_exports } from "./DatabaseReader.js";
17
- import { DatabaseWriter_d_exports } from "./DatabaseWriter.js";
18
- import { MutationCtx_d_exports } from "./MutationCtx.js";
19
- import { MutationRunner_d_exports } from "./MutationRunner.js";
20
- import { QueryCtx_d_exports } from "./QueryCtx.js";
21
- import { QueryRunner_d_exports } from "./QueryRunner.js";
22
- import { Scheduler_d_exports } from "./Scheduler.js";
23
- import { StorageActionWriter_d_exports } from "./StorageActionWriter.js";
24
- import { StorageReader_d_exports } from "./StorageReader.js";
25
- import { StorageWriter_d_exports } from "./StorageWriter.js";
26
- import { VectorSearch_d_exports } from "./VectorSearch.js";
27
- import { RegisteredFunction_d_exports } from "./RegisteredFunction.js";
28
- import { Handler_d_exports } from "./Handler.js";
29
- import { FunctionImpl_d_exports } from "./FunctionImpl.js";
30
- import { GroupImpl_d_exports } from "./GroupImpl.js";
31
- import { HttpApi_d_exports } from "./HttpApi.js";
32
- import { RegistryItem_d_exports } from "./RegistryItem.js";
33
- import { RegisteredConvexFunction_d_exports } from "./RegisteredConvexFunction.js";
34
- import { RegisteredFunctions_d_exports } from "./RegisteredFunctions.js";
35
- export { ActionCtx_d_exports as ActionCtx, ActionRunner_d_exports as ActionRunner, Auth_d_exports as Auth, BlobNotFoundError_d_exports as BlobNotFoundError, ConvexConfigProvider_d_exports as ConvexConfigProvider, CronJob_d_exports as CronJob, CronJobs_d_exports as CronJobs, DataModel_d_exports as DataModel, DatabaseReader_d_exports as DatabaseReader, DatabaseSchema_d_exports as DatabaseSchema, DatabaseWriter_d_exports as DatabaseWriter, Document_d_exports as Document, FunctionImpl_d_exports as FunctionImpl, GroupImpl_d_exports as GroupImpl, Handler_d_exports as Handler, HttpApi_d_exports as HttpApi, MutationCtx_d_exports as MutationCtx, MutationRunner_d_exports as MutationRunner, OrderedQuery_d_exports as OrderedQuery, QueryCtx_d_exports as QueryCtx, QueryInitializer_d_exports as QueryInitializer, QueryRunner_d_exports as QueryRunner, RegisteredConvexFunction_d_exports as RegisteredConvexFunction, RegisteredFunction_d_exports as RegisteredFunction, RegisteredFunctions_d_exports as RegisteredFunctions, RegistryItem_d_exports as RegistryItem, Scheduler_d_exports as Scheduler, SchemaToValidator_d_exports as SchemaToValidator, StorageActionWriter_d_exports as StorageActionWriter, StorageReader_d_exports as StorageReader, StorageWriter_d_exports as StorageWriter, Table_d_exports as Table, TableInfo_d_exports as TableInfo, VectorSearch_d_exports as VectorSearch };
1
+ export * as ActionCtx from "./ActionCtx";
2
+ export * as ActionRunner from "./ActionRunner";
3
+ export * as Auth from "./Auth";
4
+ export * as BlobNotFoundError from "./BlobNotFoundError";
5
+ export * as ConvexConfigProvider from "./ConvexConfigProvider";
6
+ export * as CronJob from "./CronJob";
7
+ export * as CronJobs from "./CronJobs";
8
+ export * as DatabaseReader from "./DatabaseReader";
9
+ export * as DatabaseSchema from "./DatabaseSchema";
10
+ export * as DatabaseWriter from "./DatabaseWriter";
11
+ export * as DataModel from "./DataModel";
12
+ export * as Document from "./Document";
13
+ export * as FunctionImpl from "./FunctionImpl";
14
+ export * as GroupImpl from "./GroupImpl";
15
+ export * as Handler from "./Handler";
16
+ export * as HttpApi from "./HttpApi";
17
+ export * as MutationCtx from "./MutationCtx";
18
+ export * as MutationRunner from "./MutationRunner";
19
+ export * as OrderedQuery from "./OrderedQuery";
20
+ export * as QueryCtx from "./QueryCtx";
21
+ export * as QueryInitializer from "./QueryInitializer";
22
+ export * as QueryRunner from "./QueryRunner";
23
+ export * as RegisteredConvexFunction from "./RegisteredConvexFunction";
24
+ export * as RegisteredFunction from "./RegisteredFunction";
25
+ export * as RegisteredFunctions from "./RegisteredFunctions";
26
+ export * as RegistryItem from "./RegistryItem";
27
+ export * as Scheduler from "./Scheduler";
28
+ export * as SchemaToValidator from "./SchemaToValidator";
29
+ export * as StorageActionWriter from "./StorageActionWriter";
30
+ export * as StorageReader from "./StorageReader";
31
+ export * as StorageWriter from "./StorageWriter";
32
+ export * as Table from "./Table";
33
+ export * as TableInfo from "./TableInfo";
34
+ export * as VectorSearch from "./VectorSearch";
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,wBAAwB,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,mBAAmB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,mBAAmB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC"}
@@ -1,16 +1,13 @@
1
- import * as Effect$1 from "effect/Effect";
2
- import { Predicate } from "effect";
3
-
4
- //#region src/internal/utils.d.ts
1
+ import type { Predicate } from "effect";
2
+ import * as Effect from "effect/Effect";
5
3
  type NestedObject<T> = {
6
- [key: string]: T | NestedObject<T>;
4
+ [key: string]: T | NestedObject<T>;
7
5
  };
8
- declare const mapLeaves: <T, U>(obj: NestedObject<T>, leafRefinement: Predicate.Refinement<unknown, T>, f: (value: T) => U) => NestedObject<U>;
9
- declare const forEachBranchLeaves: <T, A, E, R>(obj: NestedObject<T>, leafRefinement: Predicate.Refinement<unknown, T>, f: (branchLeaves: {
10
- path: string[];
11
- values: Record<string, T>;
12
- }) => Effect$1.Effect<A, E, R>) => Effect$1.Effect<void, E, R>;
13
- declare const setNestedProperty: <T extends object>(obj: T, path: PropertyKey[], value: any) => T;
14
- //#endregion
15
- export { forEachBranchLeaves, mapLeaves, setNestedProperty };
6
+ export declare const mapLeaves: <T, U>(obj: NestedObject<T>, leafRefinement: Predicate.Refinement<unknown, T>, f: (value: T) => U) => NestedObject<U>;
7
+ export declare const forEachBranchLeaves: <T, A, E, R>(obj: NestedObject<T>, leafRefinement: Predicate.Refinement<unknown, T>, f: (branchLeaves: {
8
+ path: string[];
9
+ values: Record<string, T>;
10
+ }) => Effect.Effect<A, E, R>) => Effect.Effect<void, E, R>;
11
+ export declare const setNestedProperty: <T extends object>(obj: T, path: PropertyKey[], value: any) => T;
12
+ export {};
16
13
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/internal/utils.ts"],"mappings":";;;;KAKK,YAAA;EAAA,CACF,GAAA,WAAc,CAAA,GAAI,YAAA,CAAa,CAAA;AAAA;AAAA,cAGrB,SAAA,SACX,GAAA,EAAK,YAAA,CAAa,CAAA,GAClB,cAAA,EAAgB,SAAA,CAAU,UAAA,UAAoB,CAAA,GAC9C,CAAA,GAAI,KAAA,EAAO,CAAA,KAAM,CAAA,KAChB,YAAA,CAAa,CAAA;AAAA,cAyCH,mBAAA,eACX,GAAA,EAAK,YAAA,CAAa,CAAA,GAClB,cAAA,EAAgB,SAAA,CAAU,UAAA,UAAoB,CAAA,GAC9C,CAAA,GAAI,YAAA;EACF,IAAA;EACA,MAAA,EAAQ,MAAA,SAAe,CAAA;AAAA,MACnB,QAAA,CAAO,MAAA,CAAO,CAAA,EAAG,CAAA,EAAG,CAAA,MACzB,QAAA,CAAO,MAAA,OAAa,CAAA,EAAG,CAAA;AAAA,cAOb,iBAAA,qBACX,GAAA,EAAK,CAAA,EACL,IAAA,EAAM,WAAA,IACN,KAAA,UACC,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,KAAK,YAAY,CAAC,CAAC,CAAC,EACpB,gBAAgB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAChD,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KACjB,YAAY,CAAC,CAAC,CAchB,CAAC;AA2BF,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5C,KAAK,YAAY,CAAC,CAAC,CAAC,EACpB,gBAAgB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAChD,GAAG,CAAC,YAAY,EAAE;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC3B,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAK1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,EAChD,KAAK,CAAC,EACN,MAAM,WAAW,EAAE,EACnB,OAAO,GAAG,KACT,CAgBF,CAAC"}
package/dist/node.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { RegisteredNodeFunction_d_exports } from "./RegisteredNodeFunction.js";
2
- export { RegisteredNodeFunction_d_exports as RegisteredNodeFunction };
1
+ export * as RegisteredNodeFunction from "./RegisteredNodeFunction";
2
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAC"}