@confect/server 1.0.0 → 1.0.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @confect/server
2
2
 
3
+ ## 1.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - c4f9d67: Fix return types of `MutationRunner` and `ActionRunner` services
8
+ - @confect/core@1.0.2
9
+
10
+ ## 1.0.1
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [00b12a0]
15
+ - @confect/core@1.0.1
16
+
3
17
  ## 1.0.0
4
18
 
5
19
  ### Major Changes
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # Confect 🧁
2
+
3
+ Confect is a framework that deeply integrates Effect with Convex. It's more than just Effect bindings! Confect allows you to:
4
+
5
+ - Define your Convex database schema using Effect schemas.
6
+ - Write Convex function args and returns validators using Effect's schema library.
7
+ - Use Confect functions to automatically decode and encode your data according to your Effect schema definitions for end-to-end rich types, from client to function to database (and back).
8
+ - Use Effect's HTTP API modules to define your HTTP API(s). Includes interactive OpenAPI documentation powered by [Scalar](https://github.com/scalar/scalar).
9
+ - Access Convex platform capabilities via Effect services.
10
+
11
+ Want to learn more? Read the [docs](https://confect.dev)!
@@ -1,15 +1,14 @@
1
- import { Context, Effect, Layer } from "effect";
1
+ import { Context, Effect, Layer, ParseResult } from "effect";
2
2
  import * as Ref$1 from "@confect/core/Ref";
3
3
  import { GenericActionCtx } from "convex/server";
4
- import * as effect_ParseResult0 from "effect/ParseResult";
5
4
 
6
5
  //#region src/ActionRunner.d.ts
7
6
  declare namespace ActionRunner_d_exports {
8
7
  export { ActionRunner, layer };
9
8
  }
10
- declare const ActionRunner: Context.Tag<(<Action extends Ref$1.AnyAction>(action: Action, args: Ref$1.Args<Action>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>), <Action extends Ref$1.AnyAction>(action: Action, args: Ref$1.Args<Action>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>>;
9
+ declare const ActionRunner: Context.Tag<(<Action extends Ref$1.AnyAction>(action: Action, args: Ref$1.Args<Action>["Type"]) => Effect.Effect<Ref$1.Returns<Action>["Type"], ParseResult.ParseError>), <Action extends Ref$1.AnyAction>(action: Action, args: Ref$1.Args<Action>["Type"]) => Effect.Effect<Ref$1.Returns<Action>["Type"], ParseResult.ParseError>>;
11
10
  type ActionRunner = typeof ActionRunner.Identifier;
12
- declare const layer: (runAction: GenericActionCtx<any>["runAction"]) => Layer.Layer<(<Action extends Ref$1.AnyAction>(action: Action, args: Ref$1.Args<Action>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>), never, never>;
11
+ declare const layer: (runAction: GenericActionCtx<any>["runAction"]) => Layer.Layer<(<Action extends Ref$1.AnyAction>(action: Action, args: Ref$1.Args<Action>["Type"]) => Effect.Effect<Ref$1.Returns<Action>["Type"], ParseResult.ParseError>), never, never>;
13
12
  //#endregion
14
13
  export { ActionRunner, ActionRunner_d_exports, layer };
15
14
  //# sourceMappingURL=ActionRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionRunner.d.ts","names":[],"sources":["../src/ActionRunner.ts"],"mappings":";;;;;;;;;cAqBa,YAAA,EAAY,OAAA,CAAA,GAAA,kBAfP,KAAA,CAAI,SAAA,EAAS,MAAA,EACnB,MAAA,EAAM,IAAA,EACR,KAAA,CAAI,IAAA,CAAK,MAAA,cAAe,MAAA,CAAA,MAAA,MAAhB,mBAAA,CAAgB,UAAA,2BAFhB,KAAA,CAAI,SAAA,EAAS,MAAA,EACnB,MAAA,EAAM,IAAA,EACR,KAAA,CAAI,IAAA,CAAK,MAAA,cAAe,MAAA,CAAA,MAAA,MAAhB,mBAAA,CAAgB,UAAA;AAAA,KAgBtB,YAAA,UAAsB,YAAA,CAAa,UAAA;AAAA,cAElC,KAAA,GAAS,SAAA,EAAW,gBAAA,uBAAkC,KAAA,CAAA,KAAA,kBApBjD,KAAA,CAAI,SAAA,EAAS,MAAA,EACnB,MAAA,EAAM,IAAA,EACR,KAAA,CAAI,IAAA,CAAK,MAAA,cAAe,MAAA,CAAA,MAAA,MAAhB,mBAAA,CAAgB,UAAA"}
1
+ {"version":3,"file":"ActionRunner.d.ts","names":[],"sources":["../src/ActionRunner.ts"],"mappings":";;;;;;;;cAsBa,YAAA,EAAY,OAAA,CAAA,GAAA,kBAfP,KAAA,CAAI,SAAA,EAAS,MAAA,EACnB,MAAA,EAAM,IAAA,EACR,KAAA,CAAI,IAAA,CAAK,MAAA,cACd,MAAA,CAAO,MAAA,CAAO,KAAA,CAAI,OAAA,CAAQ,MAAA,WAAiB,WAAA,CAAY,UAAA,oBAH1C,KAAA,CAAI,SAAA,EAAS,MAAA,EACnB,MAAA,EAAM,IAAA,EACR,KAAA,CAAI,IAAA,CAAK,MAAA,cACd,MAAA,CAAO,MAAA,CAAO,KAAA,CAAI,OAAA,CAAQ,MAAA,WAAiB,WAAA,CAAY,UAAA;AAAA,KAehD,YAAA,UAAsB,YAAA,CAAa,UAAA;AAAA,cAElC,KAAA,GAAS,SAAA,EAAW,gBAAA,uBAAkC,KAAA,CAAA,KAAA,kBApBjD,KAAA,CAAI,SAAA,EAAS,MAAA,EACnB,MAAA,EAAM,IAAA,EACR,KAAA,CAAI,IAAA,CAAK,MAAA,cACd,MAAA,CAAO,MAAA,CAAO,KAAA,CAAI,OAAA,CAAQ,MAAA,WAAiB,WAAA,CAAY,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionRunner.js","names":["Ref"],"sources":["../src/ActionRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { type GenericActionCtx } from \"convex/server\";\nimport { Context, Effect, Layer, Schema } from \"effect\";\n\nconst makeActionRunner =\n (runAction: GenericActionCtx<any>[\"runAction\"]) =>\n <Action extends Ref.AnyAction>(\n action: Action,\n args: Ref.Args<Action>[\"Type\"],\n ) =>\n Effect.gen(function* () {\n const function_ = Ref.getFunction(action);\n const functionName = Ref.getConvexFunctionName(action);\n\n const encodedArgs = yield* Schema.encode(function_.args)(args);\n const encodedReturns = yield* Effect.promise(() =>\n runAction(functionName as any, encodedArgs),\n );\n return yield* Schema.decode(function_.returns)(encodedReturns);\n });\n\nexport const ActionRunner = Context.GenericTag<\n ReturnType<typeof makeActionRunner>\n>(\"@confect/server/ActionRunner\");\nexport type ActionRunner = typeof ActionRunner.Identifier;\n\nexport const layer = (runAction: GenericActionCtx<any>[\"runAction\"]) =>\n Layer.succeed(ActionRunner, makeActionRunner(runAction));\n"],"mappings":";;;;;;;;;;AAIA,MAAM,oBACH,eAEC,QACA,SAEA,OAAO,IAAI,aAAa;CACtB,MAAM,YAAYA,MAAI,YAAY,OAAO;CACzC,MAAM,eAAeA,MAAI,sBAAsB,OAAO;CAEtD,MAAM,cAAc,OAAO,OAAO,OAAO,UAAU,KAAK,CAAC,KAAK;CAC9D,MAAM,iBAAiB,OAAO,OAAO,cACnC,UAAU,cAAqB,YAAY,CAC5C;AACD,QAAO,OAAO,OAAO,OAAO,UAAU,QAAQ,CAAC,eAAe;EAC9D;AAEN,MAAa,eAAe,QAAQ,WAElC,+BAA+B;AAGjC,MAAa,SAAS,cACpB,MAAM,QAAQ,cAAc,iBAAiB,UAAU,CAAC"}
1
+ {"version":3,"file":"ActionRunner.js","names":["Ref"],"sources":["../src/ActionRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { type GenericActionCtx } from \"convex/server\";\nimport type { ParseResult } from \"effect\";\nimport { Context, Effect, Layer, Schema } from \"effect\";\n\nconst makeActionRunner =\n (runAction: GenericActionCtx<any>[\"runAction\"]) =>\n <Action extends Ref.AnyAction>(\n action: Action,\n args: Ref.Args<Action>[\"Type\"],\n ): Effect.Effect<Ref.Returns<Action>[\"Type\"], ParseResult.ParseError> =>\n Effect.gen(function* () {\n const function_ = Ref.getFunction(action);\n const functionName = Ref.getConvexFunctionName(action);\n\n const encodedArgs = yield* Schema.encode(function_.args)(args);\n const encodedReturns = yield* Effect.promise(() =>\n runAction(functionName as any, encodedArgs),\n );\n return yield* Schema.decode(function_.returns)(encodedReturns);\n });\n\nexport const ActionRunner = Context.GenericTag<\n ReturnType<typeof makeActionRunner>\n>(\"@confect/server/ActionRunner\");\nexport type ActionRunner = typeof ActionRunner.Identifier;\n\nexport const layer = (runAction: GenericActionCtx<any>[\"runAction\"]) =>\n Layer.succeed(ActionRunner, makeActionRunner(runAction));\n"],"mappings":";;;;;;;;;;AAKA,MAAM,oBACH,eAEC,QACA,SAEA,OAAO,IAAI,aAAa;CACtB,MAAM,YAAYA,MAAI,YAAY,OAAO;CACzC,MAAM,eAAeA,MAAI,sBAAsB,OAAO;CAEtD,MAAM,cAAc,OAAO,OAAO,OAAO,UAAU,KAAK,CAAC,KAAK;CAC9D,MAAM,iBAAiB,OAAO,OAAO,cACnC,UAAU,cAAqB,YAAY,CAC5C;AACD,QAAO,OAAO,OAAO,OAAO,UAAU,QAAQ,CAAC,eAAe;EAC9D;AAEN,MAAa,eAAe,QAAQ,WAElC,+BAA+B;AAGjC,MAAa,SAAS,cACpB,MAAM,QAAQ,cAAc,iBAAiB,UAAU,CAAC"}
@@ -1,15 +1,14 @@
1
- import { Context, Effect, Layer, Schema } from "effect";
1
+ import { Context, Effect, Layer, ParseResult, Schema } from "effect";
2
2
  import * as Ref$1 from "@confect/core/Ref";
3
3
  import { GenericMutationCtx } from "convex/server";
4
- import * as effect_ParseResult0 from "effect/ParseResult";
5
4
 
6
5
  //#region src/MutationRunner.d.ts
7
6
  declare namespace MutationRunner_d_exports {
8
7
  export { MutationRollback, MutationRunner, layer };
9
8
  }
10
- declare const MutationRunner: Context.Tag<(<Mutation extends Ref$1.AnyMutation>(mutation: Mutation, args: Ref$1.Args<Mutation>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>), <Mutation extends Ref$1.AnyMutation>(mutation: Mutation, args: Ref$1.Args<Mutation>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>>;
9
+ declare const MutationRunner: Context.Tag<(<Mutation extends Ref$1.AnyMutation>(mutation: Mutation, args: Ref$1.Args<Mutation>["Type"]) => Effect.Effect<Ref$1.Returns<Mutation>["Type"], ParseResult.ParseError>), <Mutation extends Ref$1.AnyMutation>(mutation: Mutation, args: Ref$1.Args<Mutation>["Type"]) => Effect.Effect<Ref$1.Returns<Mutation>["Type"], ParseResult.ParseError>>;
11
10
  type MutationRunner = typeof MutationRunner.Identifier;
12
- declare const layer: (runMutation: GenericMutationCtx<any>["runMutation"]) => Layer.Layer<(<Mutation extends Ref$1.AnyMutation>(mutation: Mutation, args: Ref$1.Args<Mutation>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>), never, never>;
11
+ declare const layer: (runMutation: GenericMutationCtx<any>["runMutation"]) => Layer.Layer<(<Mutation extends Ref$1.AnyMutation>(mutation: Mutation, args: Ref$1.Args<Mutation>["Type"]) => Effect.Effect<Ref$1.Returns<Mutation>["Type"], ParseResult.ParseError>), never, never>;
13
12
  declare const MutationRollback_base: Schema.TaggedErrorClass<MutationRollback, "MutationRollback", {
14
13
  readonly _tag: Schema.tag<"MutationRollback">;
15
14
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"MutationRunner.d.ts","names":[],"sources":["../src/MutationRunner.ts"],"mappings":";;;;;;;;;cAqBa,cAAA,EAAc,OAAA,CAAA,GAAA,oBAfP,KAAA,CAAI,WAAA,EAAW,QAAA,EACrB,QAAA,EAAQ,IAAA,EACZ,KAAA,CAAI,IAAA,CAAK,QAAA,cAAiB,MAAA,CAAA,MAAA,MAAlB,mBAAA,CAAkB,UAAA,6BAFhB,KAAA,CAAI,WAAA,EAAW,QAAA,EACrB,QAAA,EAAQ,IAAA,EACZ,KAAA,CAAI,IAAA,CAAK,QAAA,cAAiB,MAAA,CAAA,MAAA,MAAlB,mBAAA,CAAkB,UAAA;AAAA,KAgBxB,cAAA,UAAwB,cAAA,CAAe,UAAA;AAAA,cAEtC,KAAA,GAAS,WAAA,EAAa,kBAAA,yBAAsC,KAAA,CAAA,KAAA,oBApBrD,KAAA,CAAI,WAAA,EAAW,QAAA,EACrB,QAAA,EAAQ,IAAA,EACZ,KAAA,CAAI,IAAA,CAAK,QAAA,cAAiB,MAAA,CAAA,MAAA,MAAlB,mBAAA,CAAkB,UAAA;AAAA,cAmB6B,qBAAA;;;;;;cAEpD,gBAAA,SAAyB,qBAAA;EAAA,IAOvB,OAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"MutationRunner.d.ts","names":[],"sources":["../src/MutationRunner.ts"],"mappings":";;;;;;;;cAsBa,cAAA,EAAc,OAAA,CAAA,GAAA,oBAfP,KAAA,CAAI,WAAA,EAAW,QAAA,EACrB,QAAA,EAAQ,IAAA,EACZ,KAAA,CAAI,IAAA,CAAK,QAAA,cACd,MAAA,CAAO,MAAA,CAAO,KAAA,CAAI,OAAA,CAAQ,QAAA,WAAmB,WAAA,CAAY,UAAA,sBAH1C,KAAA,CAAI,WAAA,EAAW,QAAA,EACrB,QAAA,EAAQ,IAAA,EACZ,KAAA,CAAI,IAAA,CAAK,QAAA,cACd,MAAA,CAAO,MAAA,CAAO,KAAA,CAAI,OAAA,CAAQ,QAAA,WAAmB,WAAA,CAAY,UAAA;AAAA,KAelD,cAAA,UAAwB,cAAA,CAAe,UAAA;AAAA,cAEtC,KAAA,GAAS,WAAA,EAAa,kBAAA,yBAAsC,KAAA,CAAA,KAAA,oBApBrD,KAAA,CAAI,WAAA,EAAW,QAAA,EACrB,QAAA,EAAQ,IAAA,EACZ,KAAA,CAAI,IAAA,CAAK,QAAA,cACd,MAAA,CAAO,MAAA,CAAO,KAAA,CAAI,OAAA,CAAQ,QAAA,WAAmB,WAAA,CAAY,UAAA;AAAA,cAkBG,qBAAA;;;;;;cAEpD,gBAAA,SAAyB,qBAAA;EAAA,IAOvB,OAAA,CAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MutationRunner.js","names":["Ref"],"sources":["../src/MutationRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { type GenericMutationCtx } from \"convex/server\";\nimport { Context, Effect, Layer, Schema } from \"effect\";\n\nconst makeMutationRunner =\n (runMutation: GenericMutationCtx<any>[\"runMutation\"]) =>\n <Mutation extends Ref.AnyMutation>(\n mutation: Mutation,\n args: Ref.Args<Mutation>[\"Type\"],\n ) =>\n Effect.gen(function* () {\n const function_ = Ref.getFunction(mutation);\n const functionName = Ref.getConvexFunctionName(mutation);\n\n const encodedArgs = yield* Schema.encode(function_.args)(args);\n const encodedReturns = yield* Effect.promise(() =>\n runMutation(functionName as any, encodedArgs),\n );\n return yield* Schema.decode(function_.returns)(encodedReturns);\n });\n\nexport const MutationRunner = Context.GenericTag<\n ReturnType<typeof makeMutationRunner>\n>(\"@confect/server/MutationRunner\");\nexport type MutationRunner = typeof MutationRunner.Identifier;\n\nexport const layer = (runMutation: GenericMutationCtx<any>[\"runMutation\"]) =>\n Layer.succeed(MutationRunner, makeMutationRunner(runMutation));\n\nexport class MutationRollback extends Schema.TaggedError<MutationRollback>(\n \"MutationRollback\",\n)(\"MutationRollback\", {\n mutationName: Schema.String,\n error: Schema.Unknown,\n}) {\n /* v8 ignore start */\n override get message(): string {\n return `Mutation ${this.mutationName} failed and was rolled back.\\n\\n${this.error}`;\n }\n /* v8 ignore stop */\n}\n"],"mappings":";;;;;;;;;;;AAIA,MAAM,sBACH,iBAEC,UACA,SAEA,OAAO,IAAI,aAAa;CACtB,MAAM,YAAYA,MAAI,YAAY,SAAS;CAC3C,MAAM,eAAeA,MAAI,sBAAsB,SAAS;CAExD,MAAM,cAAc,OAAO,OAAO,OAAO,UAAU,KAAK,CAAC,KAAK;CAC9D,MAAM,iBAAiB,OAAO,OAAO,cACnC,YAAY,cAAqB,YAAY,CAC9C;AACD,QAAO,OAAO,OAAO,OAAO,UAAU,QAAQ,CAAC,eAAe;EAC9D;AAEN,MAAa,iBAAiB,QAAQ,WAEpC,iCAAiC;AAGnC,MAAa,SAAS,gBACpB,MAAM,QAAQ,gBAAgB,mBAAmB,YAAY,CAAC;AAEhE,IAAa,mBAAb,cAAsC,OAAO,YAC3C,mBACD,CAAC,oBAAoB;CACpB,cAAc,OAAO;CACrB,OAAO,OAAO;CACf,CAAC,CAAC;;CAED,IAAa,UAAkB;AAC7B,SAAO,YAAY,KAAK,aAAa,kCAAkC,KAAK"}
1
+ {"version":3,"file":"MutationRunner.js","names":["Ref"],"sources":["../src/MutationRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { type GenericMutationCtx } from \"convex/server\";\nimport type { ParseResult } from \"effect\";\nimport { Context, Effect, Layer, Schema } from \"effect\";\n\nconst makeMutationRunner =\n (runMutation: GenericMutationCtx<any>[\"runMutation\"]) =>\n <Mutation extends Ref.AnyMutation>(\n mutation: Mutation,\n args: Ref.Args<Mutation>[\"Type\"],\n ): Effect.Effect<Ref.Returns<Mutation>[\"Type\"], ParseResult.ParseError> =>\n Effect.gen(function* () {\n const function_ = Ref.getFunction(mutation);\n const functionName = Ref.getConvexFunctionName(mutation);\n\n const encodedArgs = yield* Schema.encode(function_.args)(args);\n const encodedReturns = yield* Effect.promise(() =>\n runMutation(functionName as any, encodedArgs),\n );\n return yield* Schema.decode(function_.returns)(encodedReturns);\n });\n\nexport const MutationRunner = Context.GenericTag<\n ReturnType<typeof makeMutationRunner>\n>(\"@confect/server/MutationRunner\");\nexport type MutationRunner = typeof MutationRunner.Identifier;\n\nexport const layer = (runMutation: GenericMutationCtx<any>[\"runMutation\"]) =>\n Layer.succeed(MutationRunner, makeMutationRunner(runMutation));\n\nexport class MutationRollback extends Schema.TaggedError<MutationRollback>(\n \"MutationRollback\",\n)(\"MutationRollback\", {\n mutationName: Schema.String,\n error: Schema.Unknown,\n}) {\n /* v8 ignore start */\n override get message(): string {\n return `Mutation ${this.mutationName} failed and was rolled back.\\n\\n${this.error}`;\n }\n /* v8 ignore stop */\n}\n"],"mappings":";;;;;;;;;;;AAKA,MAAM,sBACH,iBAEC,UACA,SAEA,OAAO,IAAI,aAAa;CACtB,MAAM,YAAYA,MAAI,YAAY,SAAS;CAC3C,MAAM,eAAeA,MAAI,sBAAsB,SAAS;CAExD,MAAM,cAAc,OAAO,OAAO,OAAO,UAAU,KAAK,CAAC,KAAK;CAC9D,MAAM,iBAAiB,OAAO,OAAO,cACnC,YAAY,cAAqB,YAAY,CAC9C;AACD,QAAO,OAAO,OAAO,OAAO,UAAU,QAAQ,CAAC,eAAe;EAC9D;AAEN,MAAa,iBAAiB,QAAQ,WAEpC,iCAAiC;AAGnC,MAAa,SAAS,gBACpB,MAAM,QAAQ,gBAAgB,mBAAmB,YAAY,CAAC;AAEhE,IAAa,mBAAb,cAAsC,OAAO,YAC3C,mBACD,CAAC,oBAAoB;CACpB,cAAc,OAAO;CACrB,OAAO,OAAO;CACf,CAAC,CAAC;;CAED,IAAa,UAAkB;AAC7B,SAAO,YAAY,KAAK,aAAa,kCAAkC,KAAK"}
@@ -21,10 +21,10 @@ import * as _confect_core_Ref0 from "@confect/core/Ref";
21
21
  import * as convex_server0 from "convex/server";
22
22
  import { GenericMutationCtx } from "convex/server";
23
23
  import * as convex_values0 from "convex/values";
24
- import * as effect_ParseResult0 from "effect/ParseResult";
25
24
  import * as _confect_core_Types0 from "@confect/core/Types";
26
25
  import * as effect_Duration0 from "effect/Duration";
27
26
  import * as effect_DateTime0 from "effect/DateTime";
27
+ import * as effect_ParseResult0 from "effect/ParseResult";
28
28
 
29
29
  //#region src/RegisteredConvexFunction.d.ts
30
30
  declare namespace RegisteredConvexFunction_d_exports {
@@ -34,7 +34,10 @@ declare const make: <Api_ extends AnyWithPropsWithRuntime<"Convex">>(api: Api_,
34
34
  function_,
35
35
  handler
36
36
  }: AnyWithProps$1) => RegisteredFunction;
37
- declare const mutationLayer: <Schema extends AnyWithProps>(schema: Schema, ctx: GenericMutationCtx<ToConvex<FromSchema<Schema>>>) => Layer.Layer<(<Query extends _confect_core_Ref0.AnyQuery>(query: Query, args: _confect_core_Ref0.Args<Query>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Query>["Type"], effect_ParseResult0.ParseError>) | GenericMutationCtx<ToConvex<FromSchema<Schema>>> | {
37
+ declare const mutationLayer: <Schema extends AnyWithProps>(schema: Schema, ctx: GenericMutationCtx<ToConvex<FromSchema<Schema>>>) => Layer.Layer<Auth$1 | {
38
+ runAfter: <FuncRef extends convex_server0.SchedulableFunctionReference>(delay: effect_Duration0.Duration, functionReference: FuncRef, ...args: convex_server0.OptionalRestArgs<FuncRef>) => Effect.Effect<convex_values0.GenericId<"_scheduled_functions">, never, never>;
39
+ runAt: <FuncRef extends convex_server0.SchedulableFunctionReference>(dateTime: effect_DateTime0.DateTime, functionReference: FuncRef, ...args: convex_server0.OptionalRestArgs<FuncRef>) => Effect.Effect<convex_values0.GenericId<"_scheduled_functions">, never, never>;
40
+ } | StorageReader$1 | StorageWriter$1 | (<Mutation extends _confect_core_Ref0.AnyMutation>(mutation: Mutation, args: _confect_core_Ref0.Args<Mutation>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Mutation>["Type"], effect_ParseResult0.ParseError>) | (<Query extends _confect_core_Ref0.AnyQuery>(query: Query, args: _confect_core_Ref0.Args<Query>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Query>["Type"], effect_ParseResult0.ParseError>) | GenericMutationCtx<ToConvex<FromSchema<Schema>>> | {
38
41
  table: <const TableName extends Name<IncludeSystemTables<Tables<Schema>>>>(tableName: TableName) => {
39
42
  readonly get: {
40
43
  (id: convex_values0.GenericId<TableName>): Effect.Effect<TableInfo<WithName<IncludeSystemTables<Tables<Schema>>, TableName>>["document"], DocumentDecodeError | GetByIdFailure, never>;
@@ -53,10 +56,7 @@ declare const mutationLayer: <Schema extends AnyWithProps>(schema: Schema, ctx:
53
56
  replace: (id: convex_values0.GenericId<TableName>, value: convex_server0.Expand<convex_server0.BetterOmit<DocumentByName<FromSchema<Schema>, TableName>, "_id" | "_creationTime">>) => Effect.Effect<void, DocumentEncodeError, never>;
54
57
  delete: (id: convex_values0.GenericId<TableName>) => Effect.Effect<void, never, never>;
55
58
  };
56
- } | Auth$1 | {
57
- runAfter: <FuncRef extends convex_server0.SchedulableFunctionReference>(delay: effect_Duration0.Duration, functionReference: FuncRef, ...args: convex_server0.OptionalRestArgs<FuncRef>) => Effect.Effect<convex_values0.GenericId<"_scheduled_functions">, never, never>;
58
- runAt: <FuncRef extends convex_server0.SchedulableFunctionReference>(dateTime: effect_DateTime0.DateTime, functionReference: FuncRef, ...args: convex_server0.OptionalRestArgs<FuncRef>) => Effect.Effect<convex_values0.GenericId<"_scheduled_functions">, never, never>;
59
- } | StorageReader$1 | StorageWriter$1 | (<Mutation extends _confect_core_Ref0.AnyMutation>(mutation: Mutation, args: _confect_core_Ref0.Args<Mutation>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>), never, never>;
59
+ }, never, never>;
60
60
  type MutationServices<Schema extends AnyWithProps> = DatabaseReader<Schema> | DatabaseWriter<Schema> | Auth$1 | Scheduler$1 | StorageReader$1 | StorageWriter$1 | QueryRunner | MutationRunner | MutationCtx<ToConvex<FromSchema<Schema>>>;
61
61
  //#endregion
62
62
  export { MutationServices, RegisteredConvexFunction_d_exports, make, mutationLayer };
@@ -1 +1 @@
1
- {"version":3,"file":"RegisteredConvexFunction.d.ts","names":[],"sources":["../src/RegisteredConvexFunction.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4Ba,IAAA,gBAAqB,uBAAA,YAChC,GAAA,EAAK,IAAA;EACL,SAAA;EAAA;AAAA,GAAwB,cAAA,KACvB,kBAAA;AAAA,cAuHU,aAAA,kBAAgC,YAAA,EAC3C,MAAA,EAAQ,MAAA,EACR,GAAA,EAAK,kBAAA,CAAmB,QAAA,CAAmB,UAAA,CAAqB,MAAA,QAAS,KAAA,CAAA,KAAA,iBAAlD,kBAAA,CAAkD,QAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,kBAAA,CAAA,IAAA,CAAA,KAAA,cAAA,MAAA,CAAA,MAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,KAAA,WAAA,mBAAA,CAAA,UAAA,KAAA,kBAAA,CAAA,QAAA,CAAA,UAAA,CAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;KAmB/D,gBAAA,gBAAgC,YAAA,IACxC,cAAA,CAA8B,MAAA,IAC9B,cAAA,CAA8B,MAAA,IAC9B,MAAA,GACA,WAAA,GACA,eAAA,GACA,eAAA,GACA,WAAA,GACA,cAAA,GACA,WAAA,CAAwB,QAAA,CAAmB,UAAA,CAAqB,MAAA"}
1
+ {"version":3,"file":"RegisteredConvexFunction.d.ts","names":[],"sources":["../src/RegisteredConvexFunction.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4Ba,IAAA,gBAAqB,uBAAA,YAChC,GAAA,EAAK,IAAA;EACL,SAAA;EAAA;AAAA,GAAwB,cAAA,KACvB,kBAAA;AAAA,cAuHU,aAAA,kBAAgC,YAAA,EAC3C,MAAA,EAAQ,MAAA,EACR,GAAA,EAAK,kBAAA,CAAmB,QAAA,CAAmB,UAAA,CAAqB,MAAA,QAAS,KAAA,CAAA,KAAA,CAAA,MAAA;6BAAA,cAAA,CAAA,4BAAA;;;;;;;;;;;;;;;;;;;;;;KAmB/D,gBAAA,gBAAgC,YAAA,IACxC,cAAA,CAA8B,MAAA,IAC9B,cAAA,CAA8B,MAAA,IAC9B,MAAA,GACA,WAAA,GACA,eAAA,GACA,eAAA,GACA,WAAA,GACA,cAAA,GACA,WAAA,CAAwB,QAAA,CAAmB,UAAA,CAAqB,MAAA"}
@@ -13,9 +13,9 @@ import * as _confect_core_Ref0 from "@confect/core/Ref";
13
13
  import * as convex_server0 from "convex/server";
14
14
  import { DefaultFunctionArgs, FunctionVisibility, GenericActionCtx, RegisteredAction, RegisteredMutation, RegisteredQuery } from "convex/server";
15
15
  import * as convex_values0 from "convex/values";
16
- import * as effect_ParseResult0 from "effect/ParseResult";
17
16
  import * as effect_Duration0 from "effect/Duration";
18
17
  import * as effect_DateTime0 from "effect/DateTime";
18
+ import * as effect_ParseResult0 from "effect/ParseResult";
19
19
 
20
20
  //#region src/RegisteredFunction.d.ts
21
21
  declare namespace RegisteredFunction_d_exports {
@@ -38,10 +38,10 @@ declare const actionFunctionBase: <Schema extends AnyWithProps, Args, ConvexArgs
38
38
  handler: (ctx: GenericActionCtx<ToConvex<FromSchema<Schema>>>, actualArgs: ConvexArgs) => Promise<ConvexReturns>;
39
39
  };
40
40
  type ActionServices<DatabaseSchema_ extends AnyWithProps> = Scheduler$1 | Auth$1 | StorageReader$1 | StorageWriter$1 | StorageActionWriter$1 | QueryRunner | MutationRunner | ActionRunner | VectorSearch<FromSchema<DatabaseSchema_>> | ActionCtx<ToConvex<FromSchema<DatabaseSchema_>>>;
41
- declare const actionLayer: <DatabaseSchema_ extends AnyWithProps>(databaseSchema: DatabaseSchema_, ctx: GenericActionCtx<ToConvex<FromSchema<DatabaseSchema_>>>) => Layer.Layer<(<Query extends _confect_core_Ref0.AnyQuery>(query: Query, args: _confect_core_Ref0.Args<Query>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Query>["Type"], effect_ParseResult0.ParseError>) | (<Action extends _confect_core_Ref0.AnyAction>(action: Action, args: _confect_core_Ref0.Args<Action>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>) | Auth$1 | {
41
+ declare const actionLayer: <DatabaseSchema_ extends AnyWithProps>(databaseSchema: DatabaseSchema_, ctx: GenericActionCtx<ToConvex<FromSchema<DatabaseSchema_>>>) => Layer.Layer<(<Action extends _confect_core_Ref0.AnyAction>(action: Action, args: _confect_core_Ref0.Args<Action>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Action>["Type"], effect_ParseResult0.ParseError>) | Auth$1 | {
42
42
  runAfter: <FuncRef extends convex_server0.SchedulableFunctionReference>(delay: effect_Duration0.Duration, functionReference: FuncRef, ...args: convex_server0.OptionalRestArgs<FuncRef>) => Effect.Effect<convex_values0.GenericId<"_scheduled_functions">, never, never>;
43
43
  runAt: <FuncRef extends convex_server0.SchedulableFunctionReference>(dateTime: effect_DateTime0.DateTime, functionReference: FuncRef, ...args: convex_server0.OptionalRestArgs<FuncRef>) => Effect.Effect<convex_values0.GenericId<"_scheduled_functions">, never, never>;
44
- } | StorageReader$1 | StorageWriter$1 | (<Mutation extends _confect_core_Ref0.AnyMutation>(mutation: Mutation, args: _confect_core_Ref0.Args<Mutation>["Type"]) => Effect.Effect<any, effect_ParseResult0.ParseError, never>) | GenericActionCtx<ToConvex<FromSchema<DatabaseSchema_>>> | StorageActionWriter$1 | (<TableName extends TableNames<FromSchema<DatabaseSchema_>>, IndexName extends keyof convex_server0.VectorIndexes<convex_server0.NamedTableInfo<ToConvex<FromSchema<DatabaseSchema_>>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
44
+ } | StorageReader$1 | StorageWriter$1 | StorageActionWriter$1 | (<Mutation extends _confect_core_Ref0.AnyMutation>(mutation: Mutation, args: _confect_core_Ref0.Args<Mutation>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Mutation>["Type"], effect_ParseResult0.ParseError>) | (<Query extends _confect_core_Ref0.AnyQuery>(query: Query, args: _confect_core_Ref0.Args<Query>["Type"]) => Effect.Effect<_confect_core_Ref0.Returns<Query>["Type"], effect_ParseResult0.ParseError>) | GenericActionCtx<ToConvex<FromSchema<DatabaseSchema_>>> | (<TableName extends TableNames<FromSchema<DatabaseSchema_>>, IndexName extends keyof convex_server0.VectorIndexes<convex_server0.NamedTableInfo<ToConvex<FromSchema<DatabaseSchema_>>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
45
45
  vector: number[];
46
46
  limit?: number;
47
47
  filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<convex_server0.NamedTableInfo<ToConvex<FromSchema<DatabaseSchema_>>, TableName>>, convex_server0.NamedVectorIndex<convex_server0.NamedTableInfo<ToConvex<FromSchema<DatabaseSchema_>>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"RegisteredFunction.d.ts","names":[],"sources":["../src/RegisteredFunction.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;KAqBY,kBAAA,GACR,eAAA,CAAgB,kBAAA,EAAoB,mBAAA,SACpC,kBAAA,CAAmB,kBAAA,EAAoB,mBAAA,SACvC,gBAAA,CAAiB,kBAAA,EAAoB,mBAAA;AAAA,cAE5B,kBAAA,kBACI,YAAA,2BAEI,mBAAA;EAKnB,IAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA;EAMA,IAAA,EAAM,MAAA,CAAO,MAAA,CAAO,IAAA,EAAM,UAAA;EAC1B,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,OAAA,EAAS,aAAA;EAChC,OAAA,GAAU,CAAA,EAAG,IAAA,KAAS,MAAA,CAAO,MAAA,CAAO,OAAA,EAAS,CAAA,EAAG,CAAA;EAChD,WAAA,GACE,GAAA,EAAK,gBAAA,CAAiB,QAAA,CAAmB,UAAA,CAAqB,MAAA,QAC3D,KAAA,CAAM,KAAA,CAAM,CAAA;AAAA;QAAD,cAAA,CAAA,kBAAA;;iBAKT,gBAAA,CAAiB,QAAA,CAAmB,UAAA,CAAqB,MAAA,KAAS,UAAA,EAC3D,UAAA,KACX,OAAA,CAAQ,aAAA;AAAA;AAAA,KAeD,cAAA,yBACc,YAAA,IAEtB,WAAA,GACA,MAAA,GACA,eAAA,GACA,eAAA,GACA,qBAAA,GACA,WAAA,GACA,cAAA,GACA,YAAA,GACA,YAAA,CAA0B,UAAA,CAAqB,eAAA,KAC/C,SAAA,CACE,QAAA,CAAmB,UAAA,CAAqB,eAAA;AAAA,cAGjC,WAAA,2BACa,YAAA,EAExB,cAAA,EAAgB,eAAA,EAChB,GAAA,EAAK,gBAAA,CACH,QAAA,CAAmB,UAAA,CAAqB,eAAA,QACzC,KAAA,CAAA,KAAA,iBAFoB,kBAAA,CAEpB,QAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,kBAAA,CAAA,IAAA,CAAA,KAAA,cAAA,MAAA,CAAA,MAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,KAAA,WAAA,mBAAA,CAAA,UAAA,sBAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,IAAA,EAAA,kBAAA,CAAA,IAAA,CAAA,MAAA,cAAA,MAAA,CAAA,MAAA,MAAA,mBAAA,CAAA,UAAA,YAAA,MAAA;6BAAA,cAAA,CAAA,4BAAA"}
1
+ {"version":3,"file":"RegisteredFunction.d.ts","names":[],"sources":["../src/RegisteredFunction.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;KAqBY,kBAAA,GACR,eAAA,CAAgB,kBAAA,EAAoB,mBAAA,SACpC,kBAAA,CAAmB,kBAAA,EAAoB,mBAAA,SACvC,gBAAA,CAAiB,kBAAA,EAAoB,mBAAA;AAAA,cAE5B,kBAAA,kBACI,YAAA,2BAEI,mBAAA;EAKnB,IAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA;EAMA,IAAA,EAAM,MAAA,CAAO,MAAA,CAAO,IAAA,EAAM,UAAA;EAC1B,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,OAAA,EAAS,aAAA;EAChC,OAAA,GAAU,CAAA,EAAG,IAAA,KAAS,MAAA,CAAO,MAAA,CAAO,OAAA,EAAS,CAAA,EAAG,CAAA;EAChD,WAAA,GACE,GAAA,EAAK,gBAAA,CAAiB,QAAA,CAAmB,UAAA,CAAqB,MAAA,QAC3D,KAAA,CAAM,KAAA,CAAM,CAAA;AAAA;QAAD,cAAA,CAAA,kBAAA;;iBAKT,gBAAA,CAAiB,QAAA,CAAmB,UAAA,CAAqB,MAAA,KAAS,UAAA,EAC3D,UAAA,KACX,OAAA,CAAQ,aAAA;AAAA;AAAA,KAeD,cAAA,yBACc,YAAA,IAEtB,WAAA,GACA,MAAA,GACA,eAAA,GACA,eAAA,GACA,qBAAA,GACA,WAAA,GACA,cAAA,GACA,YAAA,GACA,YAAA,CAA0B,UAAA,CAAqB,eAAA,KAC/C,SAAA,CACE,QAAA,CAAmB,UAAA,CAAqB,eAAA;AAAA,cAGjC,WAAA,2BACa,YAAA,EAExB,cAAA,EAAgB,eAAA,EAChB,GAAA,EAAK,gBAAA,CACH,QAAA,CAAmB,UAAA,CAAqB,eAAA,QACzC,KAAA,CAAA,KAAA,kBAFoB,kBAAA,CAEpB,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,IAAA,EAAA,kBAAA,CAAA,IAAA,CAAA,MAAA,cAAA,MAAA,CAAA,MAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,MAAA,WAAA,mBAAA,CAAA,UAAA,KAAA,MAAA;6BAAA,cAAA,CAAA,4BAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@confect/server",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Backend bindings to the Convex platform",
5
5
  "repository": {
6
6
  "type": "git",
@@ -66,15 +66,15 @@
66
66
  "vite": "7.3.1",
67
67
  "vite-tsconfig-paths": "6.1.1",
68
68
  "vitest": "3.2.4",
69
- "@confect/cli": "1.0.0",
70
- "@confect/test": "1.0.0"
69
+ "@confect/cli": "1.0.2",
70
+ "@confect/test": "1.0.2"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "@effect/platform": "^0.94.4",
74
74
  "@effect/platform-node": "^0.104.1",
75
75
  "convex": "^1.30.0",
76
76
  "effect": "^3.19.16",
77
- "@confect/core": "1.0.0"
77
+ "@confect/core": "1.0.2"
78
78
  },
79
79
  "engines": {
80
80
  "node": ">=22",
@@ -1,5 +1,6 @@
1
1
  import * as Ref from "@confect/core/Ref";
2
2
  import { type GenericActionCtx } from "convex/server";
3
+ import type { ParseResult } from "effect";
3
4
  import { Context, Effect, Layer, Schema } from "effect";
4
5
 
5
6
  const makeActionRunner =
@@ -7,7 +8,7 @@ const makeActionRunner =
7
8
  <Action extends Ref.AnyAction>(
8
9
  action: Action,
9
10
  args: Ref.Args<Action>["Type"],
10
- ) =>
11
+ ): Effect.Effect<Ref.Returns<Action>["Type"], ParseResult.ParseError> =>
11
12
  Effect.gen(function* () {
12
13
  const function_ = Ref.getFunction(action);
13
14
  const functionName = Ref.getConvexFunctionName(action);
@@ -1,5 +1,6 @@
1
1
  import * as Ref from "@confect/core/Ref";
2
2
  import { type GenericMutationCtx } from "convex/server";
3
+ import type { ParseResult } from "effect";
3
4
  import { Context, Effect, Layer, Schema } from "effect";
4
5
 
5
6
  const makeMutationRunner =
@@ -7,7 +8,7 @@ const makeMutationRunner =
7
8
  <Mutation extends Ref.AnyMutation>(
8
9
  mutation: Mutation,
9
10
  args: Ref.Args<Mutation>["Type"],
10
- ) =>
11
+ ): Effect.Effect<Ref.Returns<Mutation>["Type"], ParseResult.ParseError> =>
11
12
  Effect.gen(function* () {
12
13
  const function_ = Ref.getFunction(mutation);
13
14
  const functionName = Ref.getConvexFunctionName(mutation);