@confect/server 9.0.0-next.6 → 9.0.0-next.8

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 (159) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/ActionCtx.d.ts +1 -1
  3. package/dist/ActionCtx.js +1 -1
  4. package/dist/ActionCtx.js.map +1 -1
  5. package/dist/ActionRunner.d.ts +6 -4
  6. package/dist/ActionRunner.d.ts.map +1 -1
  7. package/dist/ActionRunner.js +4 -3
  8. package/dist/ActionRunner.js.map +1 -1
  9. package/dist/Auth.d.ts +5 -3
  10. package/dist/Auth.d.ts.map +1 -1
  11. package/dist/Auth.js +5 -1
  12. package/dist/Auth.js.map +1 -1
  13. package/dist/BlobNotFoundError.d.ts +1 -1
  14. package/dist/BlobNotFoundError.d.ts.map +1 -1
  15. package/dist/BlobNotFoundError.js +1 -1
  16. package/dist/BlobNotFoundError.js.map +1 -1
  17. package/dist/ConvexConfigProvider.d.ts +1 -1
  18. package/dist/ConvexConfigProvider.d.ts.map +1 -1
  19. package/dist/ConvexConfigProvider.js +6 -1
  20. package/dist/ConvexConfigProvider.js.map +1 -1
  21. package/dist/CronJob.d.ts +3 -3
  22. package/dist/CronJob.d.ts.map +1 -1
  23. package/dist/CronJob.js +1 -1
  24. package/dist/CronJob.js.map +1 -1
  25. package/dist/CronJobs.d.ts.map +1 -1
  26. package/dist/CronJobs.js +11 -4
  27. package/dist/CronJobs.js.map +1 -1
  28. package/dist/DatabaseReader.d.ts +347 -346
  29. package/dist/DatabaseReader.d.ts.map +1 -1
  30. package/dist/DatabaseReader.js +2 -1
  31. package/dist/DatabaseReader.js.map +1 -1
  32. package/dist/DatabaseSchema.js +1 -1
  33. package/dist/DatabaseSchema.js.map +1 -1
  34. package/dist/DatabaseWriter.d.ts +7 -5
  35. package/dist/DatabaseWriter.d.ts.map +1 -1
  36. package/dist/DatabaseWriter.js +5 -1
  37. package/dist/DatabaseWriter.js.map +1 -1
  38. package/dist/Document.d.ts +2 -1
  39. package/dist/Document.d.ts.map +1 -1
  40. package/dist/Document.js +5 -1
  41. package/dist/Document.js.map +1 -1
  42. package/dist/FunctionImpl.d.ts +2 -1
  43. package/dist/FunctionImpl.d.ts.map +1 -1
  44. package/dist/FunctionImpl.js +4 -1
  45. package/dist/FunctionImpl.js.map +1 -1
  46. package/dist/GroupImpl.d.ts +2 -1
  47. package/dist/GroupImpl.d.ts.map +1 -1
  48. package/dist/GroupImpl.js +9 -1
  49. package/dist/GroupImpl.js.map +1 -1
  50. package/dist/Handler.d.ts +2 -2
  51. package/dist/HttpApi.d.ts +4 -2
  52. package/dist/HttpApi.d.ts.map +1 -1
  53. package/dist/HttpApi.js +7 -2
  54. package/dist/HttpApi.js.map +1 -1
  55. package/dist/MutationCtx.d.ts +1 -1
  56. package/dist/MutationCtx.js +1 -1
  57. package/dist/MutationCtx.js.map +1 -1
  58. package/dist/MutationRunner.d.ts +6 -4
  59. package/dist/MutationRunner.d.ts.map +1 -1
  60. package/dist/MutationRunner.js +4 -3
  61. package/dist/MutationRunner.js.map +1 -1
  62. package/dist/OrderedQuery.d.ts +7 -5
  63. package/dist/OrderedQuery.d.ts.map +1 -1
  64. package/dist/OrderedQuery.js +4 -1
  65. package/dist/OrderedQuery.js.map +1 -1
  66. package/dist/QueryCtx.d.ts +1 -1
  67. package/dist/QueryCtx.js +1 -1
  68. package/dist/QueryCtx.js.map +1 -1
  69. package/dist/QueryInitializer.d.ts +3 -2
  70. package/dist/QueryInitializer.d.ts.map +1 -1
  71. package/dist/QueryInitializer.js +5 -1
  72. package/dist/QueryInitializer.js.map +1 -1
  73. package/dist/QueryRunner.d.ts +6 -4
  74. package/dist/QueryRunner.d.ts.map +1 -1
  75. package/dist/QueryRunner.js +4 -3
  76. package/dist/QueryRunner.js.map +1 -1
  77. package/dist/RegisteredConvexFunction.d.ts +98 -96
  78. package/dist/RegisteredConvexFunction.d.ts.map +1 -1
  79. package/dist/RegisteredConvexFunction.js +6 -1
  80. package/dist/RegisteredConvexFunction.js.map +1 -1
  81. package/dist/RegisteredFunction.d.ts +8 -6
  82. package/dist/RegisteredFunction.d.ts.map +1 -1
  83. package/dist/RegisteredFunction.js +5 -1
  84. package/dist/RegisteredFunction.js.map +1 -1
  85. package/dist/RegisteredFunctions.d.ts.map +1 -1
  86. package/dist/RegisteredFunctions.js +2 -1
  87. package/dist/RegisteredFunctions.js.map +1 -1
  88. package/dist/RegisteredNodeFunction.d.ts.map +1 -1
  89. package/dist/RegisteredNodeFunction.js +3 -2
  90. package/dist/RegisteredNodeFunction.js.map +1 -1
  91. package/dist/RegistryItem.js +1 -1
  92. package/dist/RegistryItem.js.map +1 -1
  93. package/dist/Scheduler.d.ts +12 -8
  94. package/dist/Scheduler.d.ts.map +1 -1
  95. package/dist/Scheduler.js +10 -6
  96. package/dist/Scheduler.js.map +1 -1
  97. package/dist/SchemaToValidator.d.ts +4 -1
  98. package/dist/SchemaToValidator.d.ts.map +1 -1
  99. package/dist/SchemaToValidator.js +13 -1
  100. package/dist/SchemaToValidator.js.map +1 -1
  101. package/dist/StorageActionWriter.d.ts +4 -3
  102. package/dist/StorageActionWriter.d.ts.map +1 -1
  103. package/dist/StorageActionWriter.js +4 -1
  104. package/dist/StorageActionWriter.js.map +1 -1
  105. package/dist/StorageReader.d.ts +3 -2
  106. package/dist/StorageReader.d.ts.map +1 -1
  107. package/dist/StorageReader.js +5 -1
  108. package/dist/StorageReader.js.map +1 -1
  109. package/dist/StorageWriter.d.ts +3 -2
  110. package/dist/StorageWriter.d.ts.map +1 -1
  111. package/dist/StorageWriter.js +4 -1
  112. package/dist/StorageWriter.js.map +1 -1
  113. package/dist/Table.d.ts +15 -15
  114. package/dist/Table.d.ts.map +1 -1
  115. package/dist/Table.js +2 -1
  116. package/dist/Table.js.map +1 -1
  117. package/dist/TableInfo.d.ts +1 -1
  118. package/dist/VectorSearch.d.ts +3 -1
  119. package/dist/VectorSearch.d.ts.map +1 -1
  120. package/dist/VectorSearch.js +3 -1
  121. package/dist/VectorSearch.js.map +1 -1
  122. package/dist/internal/utils.d.ts +3 -2
  123. package/dist/internal/utils.d.ts.map +1 -1
  124. package/dist/internal/utils.js +3 -1
  125. package/dist/internal/utils.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/ActionCtx.ts +1 -1
  128. package/src/ActionRunner.ts +2 -1
  129. package/src/Auth.ts +5 -1
  130. package/src/BlobNotFoundError.ts +1 -1
  131. package/src/ConvexConfigProvider.ts +6 -8
  132. package/src/CronJob.ts +1 -1
  133. package/src/CronJobs.ts +8 -10
  134. package/src/DatabaseReader.ts +2 -1
  135. package/src/DatabaseSchema.ts +1 -1
  136. package/src/DatabaseWriter.ts +5 -1
  137. package/src/Document.ts +5 -1
  138. package/src/FunctionImpl.ts +4 -1
  139. package/src/GroupImpl.ts +9 -11
  140. package/src/HttpApi.ts +8 -9
  141. package/src/MutationCtx.ts +1 -1
  142. package/src/MutationRunner.ts +2 -1
  143. package/src/OrderedQuery.ts +5 -1
  144. package/src/QueryCtx.ts +1 -1
  145. package/src/QueryInitializer.ts +5 -1
  146. package/src/QueryRunner.ts +2 -1
  147. package/src/RegisteredConvexFunction.ts +6 -1
  148. package/src/RegisteredFunction.ts +5 -1
  149. package/src/RegisteredFunctions.ts +3 -1
  150. package/src/RegisteredNodeFunction.ts +4 -2
  151. package/src/RegistryItem.ts +1 -1
  152. package/src/Scheduler.ts +5 -1
  153. package/src/SchemaToValidator.ts +14 -16
  154. package/src/StorageActionWriter.ts +4 -1
  155. package/src/StorageReader.ts +5 -1
  156. package/src/StorageWriter.ts +4 -1
  157. package/src/Table.ts +2 -1
  158. package/src/VectorSearch.ts +3 -1
  159. package/src/internal/utils.ts +3 -1
@@ -1,8 +1,9 @@
1
1
  import { BlobNotFoundError } from "./BlobNotFoundError.js";
2
- import { Effect, Layer } from "effect";
2
+ import * as effect_Context0 from "effect/Context";
3
3
  import { StorageActionWriter as StorageActionWriter$1 } from "convex/server";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Effect from "effect/Effect";
4
6
  import { GenericId } from "convex/values";
5
- import * as effect_Context0 from "effect/Context";
6
7
  import * as effect_Cause0 from "effect/Cause";
7
8
 
8
9
  //#region src/StorageActionWriter.d.ts
@@ -25,7 +26,7 @@ declare const StorageActionWriter_base: effect_Context0.TagClass<StorageActionWr
25
26
  store: (blob: Blob, options?: {
26
27
  sha256?: string;
27
28
  }) => Effect.Effect<GenericId<"_storage">, never, never>;
28
- }) => X) => [X] extends [Effect.Effect<infer A, infer E, infer R>] ? Effect.Effect<A, E, R | StorageActionWriter> : [X] extends [PromiseLike<infer A_1>] ? Effect.Effect<A_1, effect_Cause0.UnknownException, StorageActionWriter> : Effect.Effect<X, never, StorageActionWriter>;
29
+ }) => X) => [X] extends [Effect.Effect<infer A, infer E, infer R>] ? Effect.Effect<A, E, StorageActionWriter | R> : [X] extends [PromiseLike<infer A_1>] ? Effect.Effect<A_1, effect_Cause0.UnknownException, StorageActionWriter> : Effect.Effect<X, never, StorageActionWriter>;
29
30
  };
30
31
  declare class StorageActionWriter extends StorageActionWriter_base {
31
32
  static readonly layer: (storageActionWriter: StorageActionWriter$1) => Layer.Layer<StorageActionWriter, never, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageActionWriter.d.ts","names":[],"sources":["../src/StorageActionWriter.ts"],"mappings":";;;;;;;;;;;cAGwD,wBAAA,EAeL,eAAA,CAAA,QAAA;mBAZhC,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,iBAAA;gBAYxB,IAAA,EAAI,OAAA;IAAc,MAAA;EAAA,MAAiB,MAAA,CAAA,MAAA,CAAA,SAAA;AAAA;mBAZhC,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,iBAAA;gBAYxB,IAAA,EAAI,OAAA;IAAc,MAAA;EAAA,MAAiB,MAAA,CAAA,MAAA,CAAA,SAAA;AAAA;;qBAZhC,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,iBAAA;kBAYxB,IAAA,EAAI,OAAA;MAAc,MAAA;IAAA,MAAiB,MAAA,CAAA,MAAA,CAAA,SAAA;EAAA;;cAItC,mBAAA,SAA4B,wBAAA;EAAA,gBAGvB,KAAA,GAAS,mBAAA,EAAqB,qBAAA,KAAyB,KAAA,CAAA,KAAA,CAAA,mBAAA;AAAA"}
1
+ {"version":3,"file":"StorageActionWriter.d.ts","names":[],"sources":["../src/StorageActionWriter.ts"],"mappings":";;;;;;;;;;;;cAMwD,wBAAA,EAeL,eAAA,CAAA,QAAA;mBAZhC,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,iBAAA;gBAYxB,IAAA,EAAI,OAAA;IAAc,MAAA;EAAA,MAAiB,MAAA,CAAA,MAAA,CAAA,SAAA;AAAA;mBAZhC,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,iBAAA;gBAYxB,IAAA,EAAI,OAAA;IAAc,MAAA;EAAA,MAAiB,MAAA,CAAA,MAAA,CAAA,SAAA;AAAA;;qBAZhC,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,iBAAA;kBAYxB,IAAA,EAAI,OAAA;MAAc,MAAA;IAAA,MAAiB,MAAA,CAAA,MAAA,CAAA,SAAA;EAAA;;cAItC,mBAAA,SAA4B,wBAAA;EAAA,gBAGvB,KAAA,GAAS,mBAAA,EAAqB,qBAAA,KAAyB,KAAA,CAAA,KAAA,CAAA,mBAAA;AAAA"}
@@ -1,6 +1,9 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
2
  import { BlobNotFoundError } from "./BlobNotFoundError.js";
3
- import { Effect, Layer, Option, flow } from "effect";
3
+ import * as Layer from "effect/Layer";
4
+ import { flow } from "effect/Function";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Option from "effect/Option";
4
7
 
5
8
  //#region src/StorageActionWriter.ts
6
9
  var StorageActionWriter_exports = /* @__PURE__ */ __exportAll({ StorageActionWriter: () => StorageActionWriter });
@@ -1 +1 @@
1
- {"version":3,"file":"StorageActionWriter.js","names":[],"sources":["../src/StorageActionWriter.ts"],"sourcesContent":["import type { StorageActionWriter as ConvexStorageActionWriter } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { Effect, flow, Layer, Option } from \"effect\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError\";\n\nconst make = (storageActionWriter: ConvexStorageActionWriter) => ({\n get: (storageId: GenericId<\"_storage\">) =>\n Effect.promise(() => storageActionWriter.get(storageId)).pipe(\n Effect.andThen(\n flow(\n Option.fromNullable,\n Option.match({\n onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),\n onSome: Effect.succeed,\n }),\n ),\n ),\n ),\n store: (blob: Blob, options?: { sha256?: string }) =>\n Effect.promise(() => storageActionWriter.store(blob, options)),\n});\n\nexport class StorageActionWriter extends Effect.Tag(\n \"@confect/server/StorageActionWriter\",\n)<StorageActionWriter, ReturnType<typeof make>>() {\n static readonly layer = (storageActionWriter: ConvexStorageActionWriter) =>\n Layer.succeed(this, make(storageActionWriter));\n}\n"],"mappings":";;;;;;AAKA,MAAM,QAAQ,yBAAoD;CAChE,MAAM,cACJ,OAAO,cAAc,oBAAoB,IAAI,UAAU,CAAC,CAAC,KACvD,OAAO,QACL,KACE,OAAO,cACP,OAAO,MAAM;EACX,cAAc,OAAO,KAAK,IAAI,kBAAkB,EAAE,IAAI,WAAW,CAAC,CAAC;EACnE,QAAQ,OAAO;EAChB,CAAC,CACH,CACF,CACF;CACH,QAAQ,MAAY,YAClB,OAAO,cAAc,oBAAoB,MAAM,MAAM,QAAQ,CAAC;CACjE;AAED,IAAa,sBAAb,cAAyC,OAAO,IAC9C,sCACD,EAAgD,CAAC;CAChD,OAAgB,SAAS,wBACvB,MAAM,QAAQ,MAAM,KAAK,oBAAoB,CAAC"}
1
+ {"version":3,"file":"StorageActionWriter.js","names":[],"sources":["../src/StorageActionWriter.ts"],"sourcesContent":["import type { StorageActionWriter as ConvexStorageActionWriter } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { flow } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Option from \"effect/Option\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError\";\n\nconst make = (storageActionWriter: ConvexStorageActionWriter) => ({\n get: (storageId: GenericId<\"_storage\">) =>\n Effect.promise(() => storageActionWriter.get(storageId)).pipe(\n Effect.andThen(\n flow(\n Option.fromNullable,\n Option.match({\n onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),\n onSome: Effect.succeed,\n }),\n ),\n ),\n ),\n store: (blob: Blob, options?: { sha256?: string }) =>\n Effect.promise(() => storageActionWriter.store(blob, options)),\n});\n\nexport class StorageActionWriter extends Effect.Tag(\n \"@confect/server/StorageActionWriter\",\n)<StorageActionWriter, ReturnType<typeof make>>() {\n static readonly layer = (storageActionWriter: ConvexStorageActionWriter) =>\n Layer.succeed(this, make(storageActionWriter));\n}\n"],"mappings":";;;;;;;;;AAQA,MAAM,QAAQ,yBAAoD;CAChE,MAAM,cACJ,OAAO,cAAc,oBAAoB,IAAI,UAAU,CAAC,CAAC,KACvD,OAAO,QACL,KACE,OAAO,cACP,OAAO,MAAM;EACX,cAAc,OAAO,KAAK,IAAI,kBAAkB,EAAE,IAAI,WAAW,CAAC,CAAC;EACnE,QAAQ,OAAO;EAChB,CAAC,CACH,CACF,CACF;CACH,QAAQ,MAAY,YAClB,OAAO,cAAc,oBAAoB,MAAM,MAAM,QAAQ,CAAC;CACjE;AAED,IAAa,sBAAb,cAAyC,OAAO,IAC9C,sCACD,EAAgD,CAAC;CAChD,OAAgB,SAAS,wBACvB,MAAM,QAAQ,MAAM,KAAK,oBAAoB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { BlobNotFoundError } from "./BlobNotFoundError.js";
2
- import { Effect, Layer } from "effect";
2
+ import * as effect_Context0 from "effect/Context";
3
3
  import { StorageReader as StorageReader$1 } from "convex/server";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Effect from "effect/Effect";
4
6
  import { GenericId } from "convex/values";
5
- import * as effect_Context0 from "effect/Context";
6
7
  import * as effect_Cause0 from "effect/Cause";
7
8
 
8
9
  //#region src/StorageReader.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"StorageReader.d.ts","names":[],"sources":["../src/StorageReader.ts"],"mappings":";;;;;;;;;;;cAGwD,kBAAA,EAGb,eAAA,CAAA,QAAA;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,GAAA,EAAA,iBAAA;AAAA;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,GAAA,EAAA,iBAAA;AAAA;;wBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,GAAA,EAAA,iBAAA;EAAA;;cAc9B,aAAA,SAAsB,kBAAA;EAAA,gBAIjB,KAAA,GAAS,aAAA,EAAe,eAAA,KAAmB,KAAA,CAAA,KAAA,CAAA,aAAA;AAAA"}
1
+ {"version":3,"file":"StorageReader.d.ts","names":[],"sources":["../src/StorageReader.ts"],"mappings":";;;;;;;;;;;;cAOwD,kBAAA,EAGb,eAAA,CAAA,QAAA;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,GAAA,EAAA,iBAAA;AAAA;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,GAAA,EAAA,iBAAA;AAAA;;wBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,CAAA,GAAA,EAAA,iBAAA;EAAA;;cAc9B,aAAA,SAAsB,kBAAA;EAAA,gBAIjB,KAAA,GAAS,aAAA,EAAe,eAAA,KAAmB,KAAA,CAAA,KAAA,CAAA,aAAA;AAAA"}
@@ -1,6 +1,10 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
2
  import { BlobNotFoundError } from "./BlobNotFoundError.js";
3
- import { Effect, Layer, Option, Schema, flow, pipe } from "effect";
3
+ import * as Layer from "effect/Layer";
4
+ import { flow, pipe } from "effect/Function";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Option from "effect/Option";
7
+ import * as Schema from "effect/Schema";
4
8
 
5
9
  //#region src/StorageReader.ts
6
10
  var StorageReader_exports = /* @__PURE__ */ __exportAll({ StorageReader: () => StorageReader });
@@ -1 +1 @@
1
- {"version":3,"file":"StorageReader.js","names":[],"sources":["../src/StorageReader.ts"],"sourcesContent":["import type { StorageReader as ConvexStorageReader } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { Effect, flow, Layer, Option, pipe, Schema } from \"effect\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError\";\n\nconst make = (storageReader: ConvexStorageReader) => ({\n getUrl: (storageId: GenericId<\"_storage\">) =>\n Effect.promise(() => storageReader.getUrl(storageId)).pipe(\n Effect.andThen(\n flow(\n Option.fromNullable,\n Option.match({\n onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),\n onSome: (doc) => pipe(doc, Schema.decode(Schema.URL), Effect.orDie),\n }),\n ),\n ),\n ),\n});\n\nexport class StorageReader extends Effect.Tag(\"@confect/server/StorageReader\")<\n StorageReader,\n ReturnType<typeof make>\n>() {\n static readonly layer = (storageReader: ConvexStorageReader) =>\n Layer.succeed(this, make(storageReader));\n}\n"],"mappings":";;;;;;AAKA,MAAM,QAAQ,mBAAwC,EACpD,SAAS,cACP,OAAO,cAAc,cAAc,OAAO,UAAU,CAAC,CAAC,KACpD,OAAO,QACL,KACE,OAAO,cACP,OAAO,MAAM;CACX,cAAc,OAAO,KAAK,IAAI,kBAAkB,EAAE,IAAI,WAAW,CAAC,CAAC;CACnE,SAAS,QAAQ,KAAK,KAAK,OAAO,OAAO,OAAO,IAAI,EAAE,OAAO,MAAM;CACpE,CAAC,CACH,CACF,CACF,EACJ;AAED,IAAa,gBAAb,cAAmC,OAAO,IAAI,gCAAgC,EAG3E,CAAC;CACF,OAAgB,SAAS,kBACvB,MAAM,QAAQ,MAAM,KAAK,cAAc,CAAC"}
1
+ {"version":3,"file":"StorageReader.js","names":[],"sources":["../src/StorageReader.ts"],"sourcesContent":["import type { StorageReader as ConvexStorageReader } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { flow, pipe } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Option from \"effect/Option\";\nimport * as Schema from \"effect/Schema\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError\";\n\nconst make = (storageReader: ConvexStorageReader) => ({\n getUrl: (storageId: GenericId<\"_storage\">) =>\n Effect.promise(() => storageReader.getUrl(storageId)).pipe(\n Effect.andThen(\n flow(\n Option.fromNullable,\n Option.match({\n onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),\n onSome: (doc) => pipe(doc, Schema.decode(Schema.URL), Effect.orDie),\n }),\n ),\n ),\n ),\n});\n\nexport class StorageReader extends Effect.Tag(\"@confect/server/StorageReader\")<\n StorageReader,\n ReturnType<typeof make>\n>() {\n static readonly layer = (storageReader: ConvexStorageReader) =>\n Layer.succeed(this, make(storageReader));\n}\n"],"mappings":";;;;;;;;;;AASA,MAAM,QAAQ,mBAAwC,EACpD,SAAS,cACP,OAAO,cAAc,cAAc,OAAO,UAAU,CAAC,CAAC,KACpD,OAAO,QACL,KACE,OAAO,cACP,OAAO,MAAM;CACX,cAAc,OAAO,KAAK,IAAI,kBAAkB,EAAE,IAAI,WAAW,CAAC,CAAC;CACnE,SAAS,QAAQ,KAAK,KAAK,OAAO,OAAO,OAAO,IAAI,EAAE,OAAO,MAAM;CACpE,CAAC,CACH,CACF,CACF,EACJ;AAED,IAAa,gBAAb,cAAmC,OAAO,IAAI,gCAAgC,EAG3E,CAAC;CACF,OAAgB,SAAS,kBACvB,MAAM,QAAQ,MAAM,KAAK,cAAc,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { BlobNotFoundError } from "./BlobNotFoundError.js";
2
- import { Effect, Layer } from "effect";
2
+ import * as effect_Context0 from "effect/Context";
3
3
  import { StorageWriter as StorageWriter$1 } from "convex/server";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Effect from "effect/Effect";
4
6
  import { GenericId } from "convex/values";
5
- import * as effect_Context0 from "effect/Context";
6
7
  import * as effect_Cause0 from "effect/Cause";
7
8
 
8
9
  //#region src/StorageWriter.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"StorageWriter.d.ts","names":[],"sources":["../src/StorageWriter.ts"],"mappings":";;;;;;;;;;;cAGwD,kBAAA,EASb,eAAA,CAAA,QAAA;;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,OAAA,iBAAA;AAAA;;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,OAAA,iBAAA;AAAA;;;wBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,OAAA,iBAAA;EAAA;;cAO9B,aAAA,SAAsB,kBAAA;EAAA,gBAIjB,KAAA,GAAS,aAAA,EAAe,eAAA,KAAmB,KAAA,CAAA,KAAA,CAAA,aAAA;AAAA"}
1
+ {"version":3,"file":"StorageWriter.d.ts","names":[],"sources":["../src/StorageWriter.ts"],"mappings":";;;;;;;;;;;;cAMwD,kBAAA,EASb,eAAA,CAAA,QAAA;;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,OAAA,iBAAA;AAAA;;sBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,OAAA,iBAAA;AAAA;;;wBAArB,SAAA,iBAAqB,MAAA,CAAA,MAAA,OAAA,iBAAA;EAAA;;cAO9B,aAAA,SAAsB,kBAAA;EAAA,gBAIjB,KAAA,GAAS,aAAA,EAAe,eAAA,KAAmB,KAAA,CAAA,KAAA,CAAA,aAAA;AAAA"}
@@ -1,6 +1,9 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
2
  import { BlobNotFoundError } from "./BlobNotFoundError.js";
3
- import { Effect, Layer, Schema, pipe } from "effect";
3
+ import * as Layer from "effect/Layer";
4
+ import { pipe } from "effect/Function";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Schema from "effect/Schema";
4
7
 
5
8
  //#region src/StorageWriter.ts
6
9
  var StorageWriter_exports = /* @__PURE__ */ __exportAll({ StorageWriter: () => StorageWriter });
@@ -1 +1 @@
1
- {"version":3,"file":"StorageWriter.js","names":[],"sources":["../src/StorageWriter.ts"],"sourcesContent":["import type { StorageWriter as ConvexStorageWriter } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { Effect, Layer, pipe, Schema } from \"effect\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError\";\n\nconst make = (storageWriter: ConvexStorageWriter) => ({\n generateUploadUrl: () =>\n Effect.promise(() => storageWriter.generateUploadUrl()).pipe(\n Effect.andThen((url) =>\n pipe(url, Schema.decode(Schema.URL), Effect.orDie),\n ),\n ),\n delete: (storageId: GenericId<\"_storage\">) =>\n Effect.tryPromise({\n try: () => storageWriter.delete(storageId),\n catch: () => new BlobNotFoundError({ id: storageId }),\n }),\n});\n\nexport class StorageWriter extends Effect.Tag(\"@confect/server/StorageWriter\")<\n StorageWriter,\n ReturnType<typeof make>\n>() {\n static readonly layer = (storageWriter: ConvexStorageWriter) =>\n Layer.succeed(this, make(storageWriter));\n}\n"],"mappings":";;;;;;AAKA,MAAM,QAAQ,mBAAwC;CACpD,yBACE,OAAO,cAAc,cAAc,mBAAmB,CAAC,CAAC,KACtD,OAAO,SAAS,QACd,KAAK,KAAK,OAAO,OAAO,OAAO,IAAI,EAAE,OAAO,MAAM,CACnD,CACF;CACH,SAAS,cACP,OAAO,WAAW;EAChB,WAAW,cAAc,OAAO,UAAU;EAC1C,aAAa,IAAI,kBAAkB,EAAE,IAAI,WAAW,CAAC;EACtD,CAAC;CACL;AAED,IAAa,gBAAb,cAAmC,OAAO,IAAI,gCAAgC,EAG3E,CAAC;CACF,OAAgB,SAAS,kBACvB,MAAM,QAAQ,MAAM,KAAK,cAAc,CAAC"}
1
+ {"version":3,"file":"StorageWriter.js","names":[],"sources":["../src/StorageWriter.ts"],"sourcesContent":["import type { StorageWriter as ConvexStorageWriter } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { pipe } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Schema from \"effect/Schema\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError\";\n\nconst make = (storageWriter: ConvexStorageWriter) => ({\n generateUploadUrl: () =>\n Effect.promise(() => storageWriter.generateUploadUrl()).pipe(\n Effect.andThen((url) =>\n pipe(url, Schema.decode(Schema.URL), Effect.orDie),\n ),\n ),\n delete: (storageId: GenericId<\"_storage\">) =>\n Effect.tryPromise({\n try: () => storageWriter.delete(storageId),\n catch: () => new BlobNotFoundError({ id: storageId }),\n }),\n});\n\nexport class StorageWriter extends Effect.Tag(\"@confect/server/StorageWriter\")<\n StorageWriter,\n ReturnType<typeof make>\n>() {\n static readonly layer = (storageWriter: ConvexStorageWriter) =>\n Layer.succeed(this, make(storageWriter));\n}\n"],"mappings":";;;;;;;;;AAQA,MAAM,QAAQ,mBAAwC;CACpD,yBACE,OAAO,cAAc,cAAc,mBAAmB,CAAC,CAAC,KACtD,OAAO,SAAS,QACd,KAAK,KAAK,OAAO,OAAO,OAAO,IAAI,EAAE,OAAO,MAAM,CACnD,CACF;CACH,SAAS,cACP,OAAO,WAAW;EAChB,WAAW,cAAc,OAAO,UAAU;EAC1C,aAAa,IAAI,kBAAkB,EAAE,IAAI,WAAW,CAAC;EACtD,CAAC;CACL;AAED,IAAa,gBAAb,cAAmC,OAAO,IAAI,gCAAgC,EAG3E,CAAC;CACF,OAAgB,SAAS,kBACvB,MAAM,QAAQ,MAAM,KAAK,cAAc,CAAC"}
package/dist/Table.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { TableSchemaToTableValidator } from "./SchemaToValidator.js";
2
- import { Schema } from "effect";
3
2
  import { Expand, GenericTableIndexes, GenericTableSearchIndexes, GenericTableVectorIndexes, IndexTiebreakerField, SearchIndexConfig, SystemFields, TableDefinition, VectorIndexConfig } from "convex/server";
3
+ import * as Schema from "effect/Schema";
4
4
  import * as SystemFields$1 from "@confect/core/SystemFields";
5
5
  import * as convex_values0 from "convex/values";
6
6
  import { GenericValidator, Validator } from "convex/values";
@@ -88,8 +88,8 @@ declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Stru
88
88
  } | {
89
89
  kind: "success";
90
90
  } | {
91
- error: string;
92
91
  kind: "failed";
92
+ error: string;
93
93
  } | {
94
94
  kind: "canceled";
95
95
  };
@@ -105,8 +105,8 @@ declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Stru
105
105
  } | {
106
106
  kind: "success";
107
107
  } | {
108
- error: string;
109
108
  kind: "failed";
109
+ error: string;
110
110
  } | {
111
111
  kind: "canceled";
112
112
  }, [convex_values0.VObject<{
@@ -122,18 +122,18 @@ declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Stru
122
122
  }, {
123
123
  kind: convex_values0.VLiteral<"success", "required">;
124
124
  }, "required", "kind">, convex_values0.VObject<{
125
- error: string;
126
125
  kind: "failed";
126
+ error: string;
127
127
  }, {
128
- error: convex_values0.VString<string, "required">;
129
128
  kind: convex_values0.VLiteral<"failed", "required">;
130
- }, "required", "error" | "kind">, convex_values0.VObject<{
129
+ error: convex_values0.VString<string, "required">;
130
+ }, "required", "kind" | "error">, convex_values0.VObject<{
131
131
  kind: "canceled";
132
132
  }, {
133
133
  kind: convex_values0.VLiteral<"canceled", "required">;
134
- }, "required", "kind">], "required", "error" | "kind">;
134
+ }, "required", "kind">], "required", "kind" | "error">;
135
135
  completedTime: convex_values0.VFloat64<number | undefined, "optional">;
136
- }, "required", "name" | "args" | "scheduledTime" | "completedTime" | "state" | "state.error" | "state.kind">, {}, {}, {}>;
136
+ }, "required", "name" | "args" | "scheduledTime" | "completedTime" | "state" | "state.kind" | "state.error">, {}, {}, {}>;
137
137
  declare const storageTable: Table<"_storage", Schema.Struct<{
138
138
  sha256: typeof Schema.String;
139
139
  size: typeof Schema.Number;
@@ -180,8 +180,8 @@ declare const systemTables: {
180
180
  } | {
181
181
  kind: "success";
182
182
  } | {
183
- error: string;
184
183
  kind: "failed";
184
+ error: string;
185
185
  } | {
186
186
  kind: "canceled";
187
187
  };
@@ -197,8 +197,8 @@ declare const systemTables: {
197
197
  } | {
198
198
  kind: "success";
199
199
  } | {
200
- error: string;
201
200
  kind: "failed";
201
+ error: string;
202
202
  } | {
203
203
  kind: "canceled";
204
204
  }, [convex_values0.VObject<{
@@ -214,18 +214,18 @@ declare const systemTables: {
214
214
  }, {
215
215
  kind: convex_values0.VLiteral<"success", "required">;
216
216
  }, "required", "kind">, convex_values0.VObject<{
217
- error: string;
218
217
  kind: "failed";
218
+ error: string;
219
219
  }, {
220
- error: convex_values0.VString<string, "required">;
221
220
  kind: convex_values0.VLiteral<"failed", "required">;
222
- }, "required", "error" | "kind">, convex_values0.VObject<{
221
+ error: convex_values0.VString<string, "required">;
222
+ }, "required", "kind" | "error">, convex_values0.VObject<{
223
223
  kind: "canceled";
224
224
  }, {
225
225
  kind: convex_values0.VLiteral<"canceled", "required">;
226
- }, "required", "kind">], "required", "error" | "kind">;
226
+ }, "required", "kind">], "required", "kind" | "error">;
227
227
  completedTime: convex_values0.VFloat64<number | undefined, "optional">;
228
- }, "required", "name" | "args" | "scheduledTime" | "completedTime" | "state" | "state.error" | "state.kind">, {}, {}, {}>;
228
+ }, "required", "name" | "args" | "scheduledTime" | "completedTime" | "state" | "state.kind" | "state.error">, {}, {}, {}>;
229
229
  readonly _storage: Table<"_storage", Schema.Struct<{
230
230
  sha256: typeof Schema.String;
231
231
  size: typeof Schema.Number;
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","names":[],"sources":["../src/Table.ts"],"mappings":"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"}
1
+ {"version":3,"file":"Table.d.ts","names":[],"sources":["../src/Table.ts"],"mappings":"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"}
package/dist/Table.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
2
  import { compileTableSchema } from "./SchemaToValidator.js";
3
- import { Predicate, Schema } from "effect";
4
3
  import { defineTable } from "convex/server";
4
+ import * as Schema from "effect/Schema";
5
+ import * as Predicate from "effect/Predicate";
5
6
  import * as SystemFields$1 from "@confect/core/SystemFields";
6
7
  import * as Lazy from "@confect/core/Lazy";
7
8
 
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 { Predicate, Schema } from \"effect\";\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":";;;;;;;;;;;;;;;;;AAqBA,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":["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,8 +1,8 @@
1
1
  import { AnyWithProps as AnyWithProps$1, Table } from "./Table.js";
2
2
  import { Any as Any$1, AnyEncoded } from "./Document.js";
3
- import { Schema, Types } from "effect";
4
3
  import { Expand, GenericDocument, GenericFieldPaths, GenericTableIndexes, GenericTableSearchIndexes, GenericTableVectorIndexes, IdField, SystemFields, SystemIndexes } from "convex/server";
5
4
  import { GenericValidator } from "convex/values";
5
+ import { Schema, Types } from "effect";
6
6
 
7
7
  //#region src/TableInfo.d.ts
8
8
  declare namespace TableInfo_d_exports {
@@ -1,7 +1,9 @@
1
1
  import { AnyWithProps, TableNames, ToConvex } from "./DataModel.js";
2
- import { Context, Effect, Layer } from "effect";
2
+ import * as Context from "effect/Context";
3
3
  import * as convex_server0 from "convex/server";
4
4
  import { Expand, GenericActionCtx, NamedTableInfo, VectorIndexNames, VectorSearchQuery } from "convex/server";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Effect from "effect/Effect";
5
7
  import { GenericId } from "convex/values";
6
8
 
7
9
  //#region src/VectorSearch.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"VectorSearch.d.ts","names":[],"sources":["../src/VectorSearch.ts"],"mappings":";;;;;;;;;;KAWK,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","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,5 +1,7 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
- import { Context, Effect, Layer } from "effect";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Effect from "effect/Effect";
3
5
 
4
6
  //#region src/VectorSearch.ts
5
7
  var VectorSearch_exports = /* @__PURE__ */ __exportAll({
@@ -1 +1 @@
1
- {"version":3,"file":"VectorSearch.js","names":[],"sources":["../src/VectorSearch.ts"],"sourcesContent":["import type {\n Expand,\n GenericActionCtx,\n NamedTableInfo,\n VectorIndexNames,\n VectorSearchQuery,\n} from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { Context, Effect, Layer } from \"effect\";\nimport type * as DataModel from \"./DataModel\";\n\ntype ConvexVectorSearch<DataModel_ extends DataModel.AnyWithProps> =\n GenericActionCtx<DataModel.ToConvex<DataModel_>>[\"vectorSearch\"];\n\nexport const make =\n <DataModel_ extends DataModel.AnyWithProps>(\n vectorSearch: ConvexVectorSearch<DataModel_>,\n ) =>\n <\n TableName extends DataModel.TableNames<DataModel_>,\n IndexName extends VectorIndexNames<\n NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>\n >,\n >(\n tableName: TableName,\n indexName: IndexName,\n query: Expand<\n VectorSearchQuery<\n NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>,\n IndexName\n >\n >,\n ): Effect.Effect<Array<{ _id: GenericId<TableName>; _score: number }>> =>\n Effect.promise(() => vectorSearch(tableName, indexName, query));\n\nexport const VectorSearch = <DataModel_ extends DataModel.AnyWithProps>() =>\n Context.GenericTag<ReturnType<typeof make<DataModel_>>>(\n \"@confect/server/VectorSearch\",\n );\n\nexport type VectorSearch<DataModel_ extends DataModel.AnyWithProps> =\n ReturnType<typeof VectorSearch<DataModel_>>[\"Identifier\"];\n\nexport const layer = <DataModel_ extends DataModel.AnyWithProps>(\n vectorSearch: ConvexVectorSearch<DataModel_>,\n) => Layer.succeed(VectorSearch<DataModel_>(), make(vectorSearch));\n"],"mappings":";;;;;;;;;AAcA,MAAa,QAET,kBAQA,WACA,WACA,UAOA,OAAO,cAAc,aAAa,WAAW,WAAW,MAAM,CAAC;AAEnE,MAAa,qBACX,QAAQ,WACN,+BACD;AAKH,MAAa,SACX,iBACG,MAAM,QAAQ,cAA0B,EAAE,KAAK,aAAa,CAAC"}
1
+ {"version":3,"file":"VectorSearch.js","names":[],"sources":["../src/VectorSearch.ts"],"sourcesContent":["import type {\n Expand,\n GenericActionCtx,\n NamedTableInfo,\n VectorIndexNames,\n VectorSearchQuery,\n} from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport type * as DataModel from \"./DataModel\";\n\ntype ConvexVectorSearch<DataModel_ extends DataModel.AnyWithProps> =\n GenericActionCtx<DataModel.ToConvex<DataModel_>>[\"vectorSearch\"];\n\nexport const make =\n <DataModel_ extends DataModel.AnyWithProps>(\n vectorSearch: ConvexVectorSearch<DataModel_>,\n ) =>\n <\n TableName extends DataModel.TableNames<DataModel_>,\n IndexName extends VectorIndexNames<\n NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>\n >,\n >(\n tableName: TableName,\n indexName: IndexName,\n query: Expand<\n VectorSearchQuery<\n NamedTableInfo<DataModel.ToConvex<DataModel_>, TableName>,\n IndexName\n >\n >,\n ): Effect.Effect<Array<{ _id: GenericId<TableName>; _score: number }>> =>\n Effect.promise(() => vectorSearch(tableName, indexName, query));\n\nexport const VectorSearch = <DataModel_ extends DataModel.AnyWithProps>() =>\n Context.GenericTag<ReturnType<typeof make<DataModel_>>>(\n \"@confect/server/VectorSearch\",\n );\n\nexport type VectorSearch<DataModel_ extends DataModel.AnyWithProps> =\n ReturnType<typeof VectorSearch<DataModel_>>[\"Identifier\"];\n\nexport const layer = <DataModel_ extends DataModel.AnyWithProps>(\n vectorSearch: ConvexVectorSearch<DataModel_>,\n) => Layer.succeed(VectorSearch<DataModel_>(), make(vectorSearch));\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,QAET,kBAQA,WACA,WACA,UAOA,OAAO,cAAc,aAAa,WAAW,WAAW,MAAM,CAAC;AAEnE,MAAa,qBACX,QAAQ,WACN,+BACD;AAKH,MAAa,SACX,iBACG,MAAM,QAAQ,cAA0B,EAAE,KAAK,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Effect, Predicate } from "effect";
1
+ import * as Effect$1 from "effect/Effect";
2
+ import { Predicate } from "effect";
2
3
 
3
4
  //#region src/internal/utils.d.ts
4
5
  type NestedObject<T> = {
@@ -8,7 +9,7 @@ declare const mapLeaves: <T, U>(obj: NestedObject<T>, leafRefinement: Predicate.
8
9
  declare const forEachBranchLeaves: <T, A, E, R>(obj: NestedObject<T>, leafRefinement: Predicate.Refinement<unknown, T>, f: (branchLeaves: {
9
10
  path: string[];
10
11
  values: Record<string, T>;
11
- }) => Effect.Effect<A, E, R>) => Effect.Effect<void, E, R>;
12
+ }) => Effect$1.Effect<A, E, R>) => Effect$1.Effect<void, E, R>;
12
13
  declare const setNestedProperty: <T extends object>(obj: T, path: PropertyKey[], value: any) => T;
13
14
  //#endregion
14
15
  export { forEachBranchLeaves, mapLeaves, setNestedProperty };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/internal/utils.ts"],"mappings":";;;KAGK,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,MAAA,CAAO,MAAA,CAAO,CAAA,EAAG,CAAA,EAAG,CAAA,MACzB,MAAA,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","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,4 +1,6 @@
1
- import { Array, Effect, Record } from "effect";
1
+ import * as Effect from "effect/Effect";
2
+ import * as Array from "effect/Array";
3
+ import * as Record from "effect/Record";
2
4
 
3
5
  //#region src/internal/utils.ts
4
6
  const mapLeaves = (obj, leafRefinement, f) => {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../src/internal/utils.ts"],"sourcesContent":["import type { Predicate } from \"effect\";\nimport { Array, Effect, Record } from \"effect\";\n\ntype NestedObject<T> = {\n [key: string]: T | NestedObject<T>;\n};\n\nexport const mapLeaves = <T, U>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n f: (value: T) => U,\n): NestedObject<U> => {\n const result: any = {};\n\n for (const key in obj) {\n const value = obj[key];\n\n if (leafRefinement(value)) {\n result[key] = f(value as T);\n } else {\n result[key] = mapLeaves(value as NestedObject<T>, leafRefinement, f);\n }\n }\n\n return result;\n};\n\nconst collectBranchLeaves = <T>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n path: string[] = [],\n): { path: string[]; values: Record<string, T> }[] => {\n const leaves = Record.filter(obj, leafRefinement) as Record<string, T>;\n const hasLeaves = Record.keys(leaves).length > 0;\n\n const currentBranch = hasLeaves ? [{ path, values: leaves }] : [];\n\n const nestedBranches = Array.flatMap(Record.keys(obj), (key) => {\n const value = obj[key];\n\n if (!leafRefinement(value) && typeof value === \"object\") {\n return collectBranchLeaves(value as NestedObject<T>, leafRefinement, [\n ...path,\n key,\n ]);\n }\n return [];\n });\n\n return [...currentBranch, ...nestedBranches];\n};\n\nexport const forEachBranchLeaves = <T, A, E, R>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n f: (branchLeaves: {\n path: string[];\n values: Record<string, T>;\n }) => Effect.Effect<A, E, R>,\n): Effect.Effect<void, E, R> => {\n const branchLeaves = collectBranchLeaves(obj, leafRefinement);\n return Effect.forEach(branchLeaves, f, {\n discard: true,\n });\n};\n\nexport const setNestedProperty = <T extends object>(\n obj: T,\n path: PropertyKey[],\n value: any,\n): T => {\n if (path.length === 0) {\n return obj;\n }\n\n if (path.length === 1) {\n const key = path[0] as keyof T;\n return { ...obj, [key]: value };\n }\n\n const [head, ...tail] = path;\n const key = head as keyof T;\n return {\n ...obj,\n [key]: setNestedProperty((obj as any)[key] ?? {}, tail, value),\n };\n};\n"],"mappings":";;;AAOA,MAAa,aACX,KACA,gBACA,MACoB;CACpB,MAAM,SAAc,EAAE;AAEtB,MAAK,MAAM,OAAO,KAAK;EACrB,MAAM,QAAQ,IAAI;AAElB,MAAI,eAAe,MAAM,CACvB,QAAO,OAAO,EAAE,MAAW;MAE3B,QAAO,OAAO,UAAU,OAA0B,gBAAgB,EAAE;;AAIxE,QAAO;;AAGT,MAAM,uBACJ,KACA,gBACA,OAAiB,EAAE,KACiC;CACpD,MAAM,SAAS,OAAO,OAAO,KAAK,eAAe;CAGjD,MAAM,gBAFY,OAAO,KAAK,OAAO,CAAC,SAAS,IAEb,CAAC;EAAE;EAAM,QAAQ;EAAQ,CAAC,GAAG,EAAE;CAEjE,MAAM,iBAAiB,MAAM,QAAQ,OAAO,KAAK,IAAI,GAAG,QAAQ;EAC9D,MAAM,QAAQ,IAAI;AAElB,MAAI,CAAC,eAAe,MAAM,IAAI,OAAO,UAAU,SAC7C,QAAO,oBAAoB,OAA0B,gBAAgB,CACnE,GAAG,MACH,IACD,CAAC;AAEJ,SAAO,EAAE;GACT;AAEF,QAAO,CAAC,GAAG,eAAe,GAAG,eAAe;;AAG9C,MAAa,uBACX,KACA,gBACA,MAI8B;CAC9B,MAAM,eAAe,oBAAoB,KAAK,eAAe;AAC7D,QAAO,OAAO,QAAQ,cAAc,GAAG,EACrC,SAAS,MACV,CAAC;;AAGJ,MAAa,qBACX,KACA,MACA,UACM;AACN,KAAI,KAAK,WAAW,EAClB,QAAO;AAGT,KAAI,KAAK,WAAW,GAAG;EACrB,MAAM,MAAM,KAAK;AACjB,SAAO;GAAE,GAAG;IAAM,MAAM;GAAO;;CAGjC,MAAM,CAAC,MAAM,GAAG,QAAQ;CACxB,MAAM,MAAM;AACZ,QAAO;EACL,GAAG;GACF,MAAM,kBAAmB,IAAY,QAAQ,EAAE,EAAE,MAAM,MAAM;EAC/D"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/internal/utils.ts"],"sourcesContent":["import type { Predicate } from \"effect\";\nimport * as Array from \"effect/Array\";\nimport * as Effect from \"effect/Effect\";\nimport * as Record from \"effect/Record\";\n\ntype NestedObject<T> = {\n [key: string]: T | NestedObject<T>;\n};\n\nexport const mapLeaves = <T, U>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n f: (value: T) => U,\n): NestedObject<U> => {\n const result: any = {};\n\n for (const key in obj) {\n const value = obj[key];\n\n if (leafRefinement(value)) {\n result[key] = f(value as T);\n } else {\n result[key] = mapLeaves(value as NestedObject<T>, leafRefinement, f);\n }\n }\n\n return result;\n};\n\nconst collectBranchLeaves = <T>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n path: string[] = [],\n): { path: string[]; values: Record<string, T> }[] => {\n const leaves = Record.filter(obj, leafRefinement) as Record<string, T>;\n const hasLeaves = Record.keys(leaves).length > 0;\n\n const currentBranch = hasLeaves ? [{ path, values: leaves }] : [];\n\n const nestedBranches = Array.flatMap(Record.keys(obj), (key) => {\n const value = obj[key];\n\n if (!leafRefinement(value) && typeof value === \"object\") {\n return collectBranchLeaves(value as NestedObject<T>, leafRefinement, [\n ...path,\n key,\n ]);\n }\n return [];\n });\n\n return [...currentBranch, ...nestedBranches];\n};\n\nexport const forEachBranchLeaves = <T, A, E, R>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n f: (branchLeaves: {\n path: string[];\n values: Record<string, T>;\n }) => Effect.Effect<A, E, R>,\n): Effect.Effect<void, E, R> => {\n const branchLeaves = collectBranchLeaves(obj, leafRefinement);\n return Effect.forEach(branchLeaves, f, {\n discard: true,\n });\n};\n\nexport const setNestedProperty = <T extends object>(\n obj: T,\n path: PropertyKey[],\n value: any,\n): T => {\n if (path.length === 0) {\n return obj;\n }\n\n if (path.length === 1) {\n const key = path[0] as keyof T;\n return { ...obj, [key]: value };\n }\n\n const [head, ...tail] = path;\n const key = head as keyof T;\n return {\n ...obj,\n [key]: setNestedProperty((obj as any)[key] ?? {}, tail, value),\n };\n};\n"],"mappings":";;;;;AASA,MAAa,aACX,KACA,gBACA,MACoB;CACpB,MAAM,SAAc,EAAE;AAEtB,MAAK,MAAM,OAAO,KAAK;EACrB,MAAM,QAAQ,IAAI;AAElB,MAAI,eAAe,MAAM,CACvB,QAAO,OAAO,EAAE,MAAW;MAE3B,QAAO,OAAO,UAAU,OAA0B,gBAAgB,EAAE;;AAIxE,QAAO;;AAGT,MAAM,uBACJ,KACA,gBACA,OAAiB,EAAE,KACiC;CACpD,MAAM,SAAS,OAAO,OAAO,KAAK,eAAe;CAGjD,MAAM,gBAFY,OAAO,KAAK,OAAO,CAAC,SAAS,IAEb,CAAC;EAAE;EAAM,QAAQ;EAAQ,CAAC,GAAG,EAAE;CAEjE,MAAM,iBAAiB,MAAM,QAAQ,OAAO,KAAK,IAAI,GAAG,QAAQ;EAC9D,MAAM,QAAQ,IAAI;AAElB,MAAI,CAAC,eAAe,MAAM,IAAI,OAAO,UAAU,SAC7C,QAAO,oBAAoB,OAA0B,gBAAgB,CACnE,GAAG,MACH,IACD,CAAC;AAEJ,SAAO,EAAE;GACT;AAEF,QAAO,CAAC,GAAG,eAAe,GAAG,eAAe;;AAG9C,MAAa,uBACX,KACA,gBACA,MAI8B;CAC9B,MAAM,eAAe,oBAAoB,KAAK,eAAe;AAC7D,QAAO,OAAO,QAAQ,cAAc,GAAG,EACrC,SAAS,MACV,CAAC;;AAGJ,MAAa,qBACX,KACA,MACA,UACM;AACN,KAAI,KAAK,WAAW,EAClB,QAAO;AAGT,KAAI,KAAK,WAAW,GAAG;EACrB,MAAM,MAAM,KAAK;AACjB,SAAO;GAAE,GAAG;IAAM,MAAM;GAAO;;CAGjC,MAAM,CAAC,MAAM,GAAG,QAAQ;CACxB,MAAM,MAAM;AACZ,QAAO;EACL,GAAG;GACF,MAAM,kBAAmB,IAAY,QAAQ,EAAE,EAAE,MAAM,MAAM;EAC/D"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@confect/server",
3
3
  "description": "Backend bindings to the Convex platform",
4
- "version": "9.0.0-next.6",
4
+ "version": "9.0.0-next.8",
5
5
  "author": "RJ Dellecese",
6
6
  "bugs": {
7
7
  "url": "https://github.com/rjdellecese/confect/issues"
@@ -72,7 +72,7 @@
72
72
  "@effect/platform-node": "^0.106.0",
73
73
  "convex": "1.39.1",
74
74
  "effect": "^3.21.2",
75
- "@confect/core": "^9.0.0-next.6"
75
+ "@confect/core": "^9.0.0-next.8"
76
76
  },
77
77
  "repository": {
78
78
  "type": "git",
package/src/ActionCtx.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { GenericActionCtx, GenericDataModel } from "convex/server";
2
- import { Context } from "effect";
2
+ import * as Context from "effect/Context";
3
3
 
4
4
  export const ActionCtx = <DataModel extends GenericDataModel>() =>
5
5
  Context.GenericTag<GenericActionCtx<DataModel>>("@confect/server/ActionCtx");
@@ -1,7 +1,8 @@
1
1
  import * as Ref from "@confect/core/Ref";
2
2
  import { type GenericActionCtx } from "convex/server";
3
3
  import type { ParseResult, Effect } from "effect";
4
- import { Context, Layer } from "effect";
4
+ import * as Context from "effect/Context";
5
+ import * as Layer from "effect/Layer";
5
6
 
6
7
  const make =
7
8
  (runAction: GenericActionCtx<any>["runAction"]) =>
package/src/Auth.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  import type { Auth as ConvexAuth } from "convex/server";
2
- import { Effect, flow, Layer, Option, Schema } from "effect";
2
+ import { flow } from "effect/Function";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Option from "effect/Option";
6
+ import * as Schema from "effect/Schema";
3
7
 
4
8
  const make = (auth: ConvexAuth) => ({
5
9
  getUserIdentity: Effect.promise(() => auth.getUserIdentity()).pipe(
@@ -1,4 +1,4 @@
1
- import { Schema } from "effect";
1
+ import * as Schema from "effect/Schema";
2
2
 
3
3
  export class BlobNotFoundError extends Schema.TaggedError<BlobNotFoundError>()(
4
4
  "BlobNotFoundError",
@@ -1,11 +1,9 @@
1
- import {
2
- Array,
3
- ConfigError,
4
- ConfigProvider,
5
- ConfigProviderPathPatch,
6
- Effect,
7
- pipe,
8
- } from "effect";
1
+ import { pipe } from "effect/Function";
2
+ import * as Array from "effect/Array";
3
+ import * as ConfigError from "effect/ConfigError";
4
+ import * as ConfigProvider from "effect/ConfigProvider";
5
+ import * as ConfigProviderPathPatch from "effect/ConfigProviderPathPatch";
6
+ import * as Effect from "effect/Effect";
9
7
 
10
8
  declare const process: { env: Record<string, string | undefined> };
11
9
 
package/src/CronJob.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Ref } from "@confect/core";
2
2
  import type { Cron, Duration } from "effect";
3
- import { Predicate } from "effect";
3
+ import * as Predicate from "effect/Predicate";
4
4
 
5
5
  export const TypeId = "@confect/server/CronJob";
6
6
  export type TypeId = typeof TypeId;
package/src/CronJobs.ts CHANGED
@@ -1,16 +1,14 @@
1
1
  import { Ref } from "@confect/core";
2
2
  import type { CronJob as ConvexCronJob } from "convex/server";
3
3
  import { cronJobs as makeConvexCrons, type Crons } from "convex/server";
4
- import {
5
- Array,
6
- Cron,
7
- Duration,
8
- Match,
9
- Order,
10
- pipe,
11
- Predicate,
12
- Record,
13
- } from "effect";
4
+ import { pipe } from "effect/Function";
5
+ import * as Array from "effect/Array";
6
+ import * as Cron from "effect/Cron";
7
+ import * as Duration from "effect/Duration";
8
+ import * as Match from "effect/Match";
9
+ import * as Order from "effect/Order";
10
+ import * as Predicate from "effect/Predicate";
11
+ import * as Record from "effect/Record";
14
12
  import type * as CronJob from "./CronJob";
15
13
 
16
14
  export const TypeId = "@confect/server/CronJobs";
@@ -1,5 +1,6 @@
1
1
  import type { GenericDatabaseReader } from "convex/server";
2
- import { Context, Layer } from "effect";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
3
4
  import type { BaseDatabaseReader } from "@confect/core/Types";
4
5
  import type * as DatabaseSchema from "./DatabaseSchema";
5
6
  import type * as DataModel from "./DataModel";
@@ -1,4 +1,4 @@
1
- import { Predicate } from "effect";
1
+ import * as Predicate from "effect/Predicate";
2
2
  import type * as Table from "./Table";
3
3
 
4
4
  export const TypeId = "@confect/server/DatabaseSchema";