@convex-dev/workpool 0.2.17 → 0.2.18-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,10 +2,10 @@ import { DefaultFunctionArgs, FunctionReference, FunctionVisibility, GenericData
2
2
  import { Infer, Validator, VAny, VString } from "convex/values";
3
3
  import { Mounts } from "../component/_generated/api.js";
4
4
  import { type LogLevel } from "../component/logging.js";
5
- import { OnComplete, vResultValidator, type RetryBehavior, RunResult, Status } from "../component/shared.js";
5
+ import { vResultValidator, type RetryBehavior, RunResult, Status } from "../component/shared.js";
6
6
  import { RunMutationCtx, RunQueryCtx, UseApi } from "./utils.js";
7
- export { vResultValidator, type RunResult, type RetryBehavior, type OnComplete, };
8
- export { retryBehavior as vRetryBehavior, onComplete as vOnComplete, } from "../component/shared.js";
7
+ export { vResultValidator, type RunResult, type RetryBehavior };
8
+ export { retryBehavior as vRetryBehavior } from "../component/shared.js";
9
9
  export { logLevel as vLogLevel, type LogLevel } from "../component/logging.js";
10
10
  export type WorkId = string & {
11
11
  __isWorkId: true;
@@ -103,7 +103,7 @@ export declare class Workpool {
103
103
  * });
104
104
  * ```
105
105
  */
106
- defineOnComplete<DataModel extends GenericDataModel, V extends Validator<any, "required", any> = VAny>({ context, handler, }: {
106
+ defineOnComplete<DataModel extends GenericDataModel, V extends Validator<any, any, any> = VAny<any, "optional">>({ context, handler, }: {
107
107
  context?: V;
108
108
  handler: (ctx: GenericMutationCtx<DataModel>, args: {
109
109
  workId: WorkId;
@@ -117,7 +117,7 @@ export declare class Workpool {
117
117
  * To be used like:
118
118
  * ```ts
119
119
  * export const myOnComplete = internalMutation({
120
- * args: vOnCompleteValidator(v.string()),
120
+ * args: vOnCompleteArgs(v.string()),
121
121
  * handler: async (ctx, {workId, context, result}) => {
122
122
  * // context has been validated as a string
123
123
  * // ... do something with the result
@@ -126,9 +126,9 @@ export declare class Workpool {
126
126
  * @param context - The context validator. If not provided, it will be `v.any()`.
127
127
  * @returns The validator for the onComplete mutation.
128
128
  */
129
- export declare function vOnCompleteValidator<V extends Validator<any, "required", any> = VAny>(context?: V): import("convex/values").VObject<import("convex/server").Expand<{ [Property in (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never]?: Exclude<Infer<{
129
+ export declare function vOnCompleteArgs<V extends Validator<any, "required", any> = VAny>(context?: V): import("convex/values").VObject<import("convex/server").Expand<{ [Property in (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never]?: Exclude<Infer<{
130
130
  workId: VString<WorkId, "required">;
131
- context: VAny<any, "required", string> | V;
131
+ context: VAny<any, "optional", string> | V;
132
132
  result: import("convex/values").VUnion<{
133
133
  kind: "success";
134
134
  returnValue: any;
@@ -154,9 +154,9 @@ export declare function vOnCompleteValidator<V extends Validator<any, "required"
154
154
  }, {
155
155
  kind: import("convex/values").VLiteral<"canceled", "required">;
156
156
  }, "required", "kind">], "required", "kind" | "returnValue" | `returnValue.${string}` | "error">;
157
- }[Property]>, undefined> | undefined; } & { [Property_1 in Exclude<"context", (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"workId", (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"result", (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never>]: Infer<{
157
+ }[Property]>, undefined> | undefined; } & { [Property_1 in Exclude<"context", (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"workId", (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"result", (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never>]: Infer<{
158
158
  workId: VString<WorkId, "required">;
159
- context: VAny<any, "required", string> | V;
159
+ context: VAny<any, "optional", string> | V;
160
160
  result: import("convex/values").VUnion<{
161
161
  kind: "success";
162
162
  returnValue: any;
@@ -184,7 +184,7 @@ export declare function vOnCompleteValidator<V extends Validator<any, "required"
184
184
  }, "required", "kind">], "required", "kind" | "returnValue" | `returnValue.${string}` | "error">;
185
185
  }[Property_1]>; }>, {
186
186
  workId: VString<WorkId, "required">;
187
- context: VAny<any, "required", string> | V;
187
+ context: VAny<any, "optional", string> | V;
188
188
  result: import("convex/values").VUnion<{
189
189
  kind: "success";
190
190
  returnValue: any;
@@ -210,7 +210,7 @@ export declare function vOnCompleteValidator<V extends Validator<any, "required"
210
210
  }, {
211
211
  kind: import("convex/values").VLiteral<"canceled", "required">;
212
212
  }, "required", "kind">], "required", "kind" | "returnValue" | `returnValue.${string}` | "error">;
213
- }, "required", "context" | "workId" | "result" | `context.${(VAny<any, "required", string> | V)["fieldPaths"]}` | "result.kind" | "result.returnValue" | `result.returnValue.${string}` | "result.error">;
213
+ }, "required", "context" | "workId" | "result" | `context.${(VAny<any, "optional", string> | V)["fieldPaths"]}` | "result.kind" | "result.returnValue" | `result.returnValue.${string}` | "result.error">;
214
214
  export type NameOption = {
215
215
  /**
216
216
  * The name of the function. By default, if you pass in api.foo.bar.baz,
@@ -286,7 +286,7 @@ export type CallbackOptions = {
286
286
  * or more manually:
287
287
  * ```ts
288
288
  * export const completion = internalMutation({
289
- * args: vOnCompleteValidator(v.string()),
289
+ * args: vOnCompleteArgs(v.string()),
290
290
  * handler: async (ctx, args) => {
291
291
  * console.log(args.result, "Got Context back -> ", args.context, Date.now() - args.context);
292
292
  * },
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { createFunctionHandle, getFunctionName, internalMutationGeneric, } from "convex/server";
1
+ import { createFunctionHandle, internalMutationGeneric, } from "convex/server";
2
2
  import { v } from "convex/values";
3
3
  import { DEFAULT_LOG_LEVEL } from "../component/logging.js";
4
4
  import { DEFAULT_MAX_PARALLELISM, vResultValidator, } from "../component/shared.js";
5
- export { vResultValidator, };
6
- export { retryBehavior as vRetryBehavior, onComplete as vOnComplete, } from "../component/shared.js";
5
+ import { safeFunctionName, } from "./utils.js";
6
+ export { vResultValidator };
7
+ export { retryBehavior as vRetryBehavior } from "../component/shared.js";
7
8
  export { logLevel as vLogLevel } from "../component/logging.js";
8
9
  export const vWorkIdValidator = v.string();
9
10
  export {
@@ -166,7 +167,7 @@ export class Workpool {
166
167
  */
167
168
  defineOnComplete({ context, handler, }) {
168
169
  return internalMutationGeneric({
169
- args: vOnCompleteValidator(context),
170
+ args: vOnCompleteArgs(context),
170
171
  handler,
171
172
  });
172
173
  }
@@ -176,7 +177,7 @@ export class Workpool {
176
177
  * To be used like:
177
178
  * ```ts
178
179
  * export const myOnComplete = internalMutation({
179
- * args: vOnCompleteValidator(v.string()),
180
+ * args: vOnCompleteArgs(v.string()),
180
181
  * handler: async (ctx, {workId, context, result}) => {
181
182
  * // context has been validated as a string
182
183
  * // ... do something with the result
@@ -185,15 +186,16 @@ export class Workpool {
185
186
  * @param context - The context validator. If not provided, it will be `v.any()`.
186
187
  * @returns The validator for the onComplete mutation.
187
188
  */
188
- export function vOnCompleteValidator(context) {
189
+ export function vOnCompleteArgs(context) {
189
190
  return v.object({
190
191
  workId: vWorkIdValidator,
191
- context: context ?? v.any(),
192
+ context: context ?? v.optional(v.any()),
192
193
  result: vResultValidator,
193
194
  });
194
195
  }
195
196
  // ensure OnCompleteArgs satisfies SharedOnCompleteArgs
196
197
  const _ = {};
198
+ const _2 = {};
197
199
  //
198
200
  // Helper functions
199
201
  //
@@ -211,7 +213,7 @@ function getRetryBehavior(defaultRetryBehavior, retryActionsByDefault, retryOver
211
213
  async function defaultEnqueueArgs(fn, name, { logLevel, maxParallelism }) {
212
214
  const [fnHandle, fnName] = typeof fn === "string" && fn.startsWith("function://")
213
215
  ? [fn, name ?? fn]
214
- : [await createFunctionHandle(fn), name ?? getFunctionName(fn)];
216
+ : [await createFunctionHandle(fn), name ?? safeFunctionName(fn)];
215
217
  return {
216
218
  fnHandle,
217
219
  fnName,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAQpB,uBAAuB,GAExB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAS,CAAC,EAA4B,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAEL,uBAAuB,EAEvB,gBAAgB,GAKjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAsC,CAAC;AAChE,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAqB,CAAC;AAC9D,OAAO;AACL,kDAAkD;AAClD,gBAAgB,IAAI,eAAe;AACnC,kDAAkD;AAClD,gBAAgB,IAAI,eAAe,GACpC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,GAAG;IACrB,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,OAAO,QAAQ;IAaT;IACD;IAbT;;;;;;;;;;OAUG;IACH,YACU,SAAyB,EAAE,qCAAqC;IACjE,OAAwB;QADvB,cAAS,GAAT,SAAS,CAAgB;QAC1B,YAAO,GAAP,OAAO,CAAiB;IAC9B,CAAC;IACJ;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CACjB,GAAmB,EACnB,EAAqE,EACrE,MAAY,EACZ,OAAuE;QAEvE,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACjC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAClC,OAAO,EAAE,KAAK,CACf,CAAC;QACF,MAAM,UAAU,GAA2B,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3D,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YACxB,UAAU;YACV,aAAa;SACd,CAAC,CAAC;QACH,OAAO,EAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,eAAe,CACnB,GAAmB,EACnB,EAAuE,EACvE,MAAY,EACZ,OAAyD;QAEzD,MAAM,UAAU,GAA2B,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3D,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;YACN,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YACxB,UAAU;SACX,CAAC,CAAC;QACH,OAAO,EAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,GAAmB,EACnB,EAAoE,EACpE,MAAY,EACZ,OAAyD;QAEzD,MAAM,UAAU,GAA2B,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3D,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;YACN,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YACxB,UAAU;SACX,CAAC,CAAC;QACH,OAAO,EAAY,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,GAAmB,EAAE,EAAU;QAC1C,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YAC/C,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB;SACrD,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAmB;QACjC,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE;YAClD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB;SACrD,CAAC,CAAC;IACL,CAAC;IACD;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,EAAU;QACvC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAId,EACA,OAAO,EACP,OAAO,GAWR;QACC,OAAO,uBAAuB,CAAC;YAC7B,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;YAC9B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAG7B,OAAW;IACX,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;AACL,CAAC;AAuHD,uDAAuD;AACvD,MAAM,CAAC,GAAG,EAAmD,CAAC;AAC9D,MAAM,EAAE,GAAG,EAEV,CAAC;AAEF,EAAE;AACF,mBAAmB;AACnB,EAAE;AAEF,SAAS,gBAAgB,CACvB,oBAA+C,EAC/C,qBAA0C,EAC1C,aAAkD;IAElD,MAAM,YAAY,GAAG,oBAAoB,IAAI,sBAAsB,CAAC;IACpE,MAAM,cAAc,GAAG,qBAAqB,IAAI,KAAK,CAAC;IACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAEqD,EACrD,IAAwB,EACxB,EAAE,QAAQ,EAAE,cAAc,EAAmB;IAE7C,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GACtB,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO;QACL,QAAQ;QACR,MAAM;QACN,MAAM,EAAE;YACN,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;YACvC,cAAc,EAAE,cAAc,IAAI,uBAAuB;SAC1D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAA0B;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACpB,CAAC"}
@@ -1,11 +1,10 @@
1
- import { Expand, FunctionReference, GenericMutationCtx, GenericQueryCtx } from "convex/server";
1
+ import { Expand, FunctionArgs, FunctionReference, FunctionReturnType, FunctionType, FunctionVisibility } from "convex/server";
2
2
  import { GenericId } from "convex/values";
3
- import { GenericDataModel } from "convex/server";
4
3
  export type RunQueryCtx = {
5
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
4
+ runQuery: <Query extends FunctionReference<"query", "internal">>(query: Query, args: FunctionArgs<Query>) => Promise<FunctionReturnType<Query>>;
6
5
  };
7
- export type RunMutationCtx = {
8
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
6
+ export type RunMutationCtx = RunQueryCtx & {
7
+ runMutation: <Mutation extends FunctionReference<"mutation", "internal">>(mutation: Mutation, args: FunctionArgs<Mutation>) => Promise<FunctionReturnType<Mutation>>;
9
8
  };
10
9
  export type OpaqueIds<T> = T extends GenericId<infer _T> ? string : T extends (infer U)[] ? OpaqueIds<U>[] : T extends object ? {
11
10
  [K in keyof T]: OpaqueIds<T[K]>;
@@ -13,4 +12,5 @@ export type OpaqueIds<T> = T extends GenericId<infer _T> ? string : T extends (i
13
12
  export type UseApi<API> = Expand<{
14
13
  [mod in keyof API]: API[mod] extends FunctionReference<infer FType, "public", infer FArgs, infer FReturnType, infer FComponentPath> ? FunctionReference<FType, "internal", OpaqueIds<FArgs>, OpaqueIds<FReturnType>, FComponentPath> : UseApi<API[mod]>;
15
14
  }>;
15
+ export declare function safeFunctionName(f: FunctionReference<FunctionType, FunctionVisibility>): any;
16
16
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;CACzD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,GACzB,MAAM,GACN,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,SAAS,CAAC,CAAC,CAAC,EAAE,GACd,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACnC,CAAC,CAAC;AAEZ,MAAM,MAAM,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;KAC9B,GAAG,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,iBAAiB,CACpD,MAAM,KAAK,EACX,QAAQ,EACR,MAAM,KAAK,EACX,MAAM,WAAW,EACjB,MAAM,cAAc,CACrB,GACG,iBAAiB,CACf,KAAK,EACL,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,EAChB,SAAS,CAAC,WAAW,CAAC,EACtB,cAAc,CACf,GACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAGnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7D,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KACtB,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,WAAW,EAAE,CAAC,QAAQ,SAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,EACtE,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,KACzB,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,GACzB,MAAM,GACN,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,SAAS,CAAC,CAAC,CAAC,EAAE,GACd,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACnC,CAAC,CAAC;AAEZ,MAAM,MAAM,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;KAC9B,GAAG,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,iBAAiB,CACpD,MAAM,KAAK,EACX,QAAQ,EACR,MAAM,KAAK,EACX,MAAM,WAAW,EACjB,MAAM,cAAc,CACrB,GACG,iBAAiB,CACf,KAAK,EACL,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,EAChB,SAAS,CAAC,WAAW,CAAC,EACtB,cAAc,CACf,GACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC,CAAC;AAEH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAC,OASvD"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ import { getFunctionAddress, getFunctionName, } from "convex/server";
2
+ export function safeFunctionName(f) {
3
+ const address = getFunctionAddress(f);
4
+ return (address.name ||
5
+ address.reference ||
6
+ address.functionHandle ||
7
+ getFunctionName(f));
8
+ }
2
9
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AA6CvB,MAAM,UAAU,gBAAgB,CAC9B,CAAsD;IAEtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CACL,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,cAAc;QACtB,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"danger.d.ts","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY;;;;iBAgCvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;iBA2DvB,CAAC"}
1
+ {"version":3,"file":"danger.d.ts","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY;;;;iBAgCvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;iBA2DvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { v } from "convex/values";
2
2
  import { internal } from "./_generated/api.js";
3
- import { internalMutation, } from "./_generated/server.js";
3
+ import { internalMutation } from "./_generated/server.js";
4
4
  import { paginator } from "convex-helpers/server/pagination";
5
5
  import schema from "./schema.js";
6
6
  const DEFAULT_OLDER_THAN = 1000 * 60 * 60 * 24;
@@ -1 +1 @@
1
- {"version":3,"file":"danger.js","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"danger.js","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC3C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC/B;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;aAC5C,KAAK,CAAC,cAAc,CAAC;aACrB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACjE,QAAQ,CAAC;YACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;QACL,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5D,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,OAAO,CAAC,cAAc;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC3C,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC/B;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;aAC5C,KAAK,CAAC,MAAM,CAAC;aACb,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACjE,QAAQ,CAAC;YACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;QACL,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE;iBAC9B,KAAK,CAAC,cAAc,CAAC;iBACrB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrD,MAAM,EAAE,CAAC;YACZ,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,EAAE;iBACnC,KAAK,CAAC,mBAAmB,CAAC;iBAC1B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrD,MAAM,EAAE,CAAC;YACZ,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,EAAE;iBACpC,KAAK,CAAC,oBAAoB,CAAC;iBAC3B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrD,MAAM,EAAE,CAAC;YACZ,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC,KAAK,CACX,WAAW,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;gBAC1D,YAAY;gBACZ,iBAAiB;gBACjB,kBAAkB;aACnB,CAAC;iBACC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;iBACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;YACF,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5D,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,OAAO,CAAC,cAAc;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -2,10 +2,10 @@ import { DefaultFunctionArgs, FunctionReference, FunctionVisibility, GenericData
2
2
  import { Infer, Validator, VAny, VString } from "convex/values";
3
3
  import { Mounts } from "../component/_generated/api.js";
4
4
  import { type LogLevel } from "../component/logging.js";
5
- import { OnComplete, vResultValidator, type RetryBehavior, RunResult, Status } from "../component/shared.js";
5
+ import { vResultValidator, type RetryBehavior, RunResult, Status } from "../component/shared.js";
6
6
  import { RunMutationCtx, RunQueryCtx, UseApi } from "./utils.js";
7
- export { vResultValidator, type RunResult, type RetryBehavior, type OnComplete, };
8
- export { retryBehavior as vRetryBehavior, onComplete as vOnComplete, } from "../component/shared.js";
7
+ export { vResultValidator, type RunResult, type RetryBehavior };
8
+ export { retryBehavior as vRetryBehavior } from "../component/shared.js";
9
9
  export { logLevel as vLogLevel, type LogLevel } from "../component/logging.js";
10
10
  export type WorkId = string & {
11
11
  __isWorkId: true;
@@ -103,7 +103,7 @@ export declare class Workpool {
103
103
  * });
104
104
  * ```
105
105
  */
106
- defineOnComplete<DataModel extends GenericDataModel, V extends Validator<any, "required", any> = VAny>({ context, handler, }: {
106
+ defineOnComplete<DataModel extends GenericDataModel, V extends Validator<any, any, any> = VAny<any, "optional">>({ context, handler, }: {
107
107
  context?: V;
108
108
  handler: (ctx: GenericMutationCtx<DataModel>, args: {
109
109
  workId: WorkId;
@@ -117,7 +117,7 @@ export declare class Workpool {
117
117
  * To be used like:
118
118
  * ```ts
119
119
  * export const myOnComplete = internalMutation({
120
- * args: vOnCompleteValidator(v.string()),
120
+ * args: vOnCompleteArgs(v.string()),
121
121
  * handler: async (ctx, {workId, context, result}) => {
122
122
  * // context has been validated as a string
123
123
  * // ... do something with the result
@@ -126,9 +126,9 @@ export declare class Workpool {
126
126
  * @param context - The context validator. If not provided, it will be `v.any()`.
127
127
  * @returns The validator for the onComplete mutation.
128
128
  */
129
- export declare function vOnCompleteValidator<V extends Validator<any, "required", any> = VAny>(context?: V): import("convex/values").VObject<import("convex/server").Expand<{ [Property in (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never]?: Exclude<Infer<{
129
+ export declare function vOnCompleteArgs<V extends Validator<any, "required", any> = VAny>(context?: V): import("convex/values").VObject<import("convex/server").Expand<{ [Property in (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never]?: Exclude<Infer<{
130
130
  workId: VString<WorkId, "required">;
131
- context: VAny<any, "required", string> | V;
131
+ context: VAny<any, "optional", string> | V;
132
132
  result: import("convex/values").VUnion<{
133
133
  kind: "success";
134
134
  returnValue: any;
@@ -154,9 +154,9 @@ export declare function vOnCompleteValidator<V extends Validator<any, "required"
154
154
  }, {
155
155
  kind: import("convex/values").VLiteral<"canceled", "required">;
156
156
  }, "required", "kind">], "required", "kind" | "returnValue" | `returnValue.${string}` | "error">;
157
- }[Property]>, undefined> | undefined; } & { [Property_1 in Exclude<"context", (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"workId", (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"result", (VAny<any, "required", string> | V)["isOptional"] extends "optional" ? "context" : never>]: Infer<{
157
+ }[Property]>, undefined> | undefined; } & { [Property_1 in Exclude<"context", (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"workId", (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never> | Exclude<"result", (VAny<any, "optional", string> | V)["isOptional"] extends "optional" ? "context" : never>]: Infer<{
158
158
  workId: VString<WorkId, "required">;
159
- context: VAny<any, "required", string> | V;
159
+ context: VAny<any, "optional", string> | V;
160
160
  result: import("convex/values").VUnion<{
161
161
  kind: "success";
162
162
  returnValue: any;
@@ -184,7 +184,7 @@ export declare function vOnCompleteValidator<V extends Validator<any, "required"
184
184
  }, "required", "kind">], "required", "kind" | "returnValue" | `returnValue.${string}` | "error">;
185
185
  }[Property_1]>; }>, {
186
186
  workId: VString<WorkId, "required">;
187
- context: VAny<any, "required", string> | V;
187
+ context: VAny<any, "optional", string> | V;
188
188
  result: import("convex/values").VUnion<{
189
189
  kind: "success";
190
190
  returnValue: any;
@@ -210,7 +210,7 @@ export declare function vOnCompleteValidator<V extends Validator<any, "required"
210
210
  }, {
211
211
  kind: import("convex/values").VLiteral<"canceled", "required">;
212
212
  }, "required", "kind">], "required", "kind" | "returnValue" | `returnValue.${string}` | "error">;
213
- }, "required", "context" | "workId" | "result" | `context.${(VAny<any, "required", string> | V)["fieldPaths"]}` | "result.kind" | "result.returnValue" | `result.returnValue.${string}` | "result.error">;
213
+ }, "required", "context" | "workId" | "result" | `context.${(VAny<any, "optional", string> | V)["fieldPaths"]}` | "result.kind" | "result.returnValue" | `result.returnValue.${string}` | "result.error">;
214
214
  export type NameOption = {
215
215
  /**
216
216
  * The name of the function. By default, if you pass in api.foo.bar.baz,
@@ -286,7 +286,7 @@ export type CallbackOptions = {
286
286
  * or more manually:
287
287
  * ```ts
288
288
  * export const completion = internalMutation({
289
- * args: vOnCompleteValidator(v.string()),
289
+ * args: vOnCompleteArgs(v.string()),
290
290
  * handler: async (ctx, args) => {
291
291
  * console.log(args.result, "Got Context back -> ", args.context, Date.now() - args.context);
292
292
  * },
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { createFunctionHandle, getFunctionName, internalMutationGeneric, } from "convex/server";
1
+ import { createFunctionHandle, internalMutationGeneric, } from "convex/server";
2
2
  import { v } from "convex/values";
3
3
  import { DEFAULT_LOG_LEVEL } from "../component/logging.js";
4
4
  import { DEFAULT_MAX_PARALLELISM, vResultValidator, } from "../component/shared.js";
5
- export { vResultValidator, };
6
- export { retryBehavior as vRetryBehavior, onComplete as vOnComplete, } from "../component/shared.js";
5
+ import { safeFunctionName, } from "./utils.js";
6
+ export { vResultValidator };
7
+ export { retryBehavior as vRetryBehavior } from "../component/shared.js";
7
8
  export { logLevel as vLogLevel } from "../component/logging.js";
8
9
  export const vWorkIdValidator = v.string();
9
10
  export {
@@ -166,7 +167,7 @@ export class Workpool {
166
167
  */
167
168
  defineOnComplete({ context, handler, }) {
168
169
  return internalMutationGeneric({
169
- args: vOnCompleteValidator(context),
170
+ args: vOnCompleteArgs(context),
170
171
  handler,
171
172
  });
172
173
  }
@@ -176,7 +177,7 @@ export class Workpool {
176
177
  * To be used like:
177
178
  * ```ts
178
179
  * export const myOnComplete = internalMutation({
179
- * args: vOnCompleteValidator(v.string()),
180
+ * args: vOnCompleteArgs(v.string()),
180
181
  * handler: async (ctx, {workId, context, result}) => {
181
182
  * // context has been validated as a string
182
183
  * // ... do something with the result
@@ -185,15 +186,16 @@ export class Workpool {
185
186
  * @param context - The context validator. If not provided, it will be `v.any()`.
186
187
  * @returns The validator for the onComplete mutation.
187
188
  */
188
- export function vOnCompleteValidator(context) {
189
+ export function vOnCompleteArgs(context) {
189
190
  return v.object({
190
191
  workId: vWorkIdValidator,
191
- context: context ?? v.any(),
192
+ context: context ?? v.optional(v.any()),
192
193
  result: vResultValidator,
193
194
  });
194
195
  }
195
196
  // ensure OnCompleteArgs satisfies SharedOnCompleteArgs
196
197
  const _ = {};
198
+ const _2 = {};
197
199
  //
198
200
  // Helper functions
199
201
  //
@@ -211,7 +213,7 @@ function getRetryBehavior(defaultRetryBehavior, retryActionsByDefault, retryOver
211
213
  async function defaultEnqueueArgs(fn, name, { logLevel, maxParallelism }) {
212
214
  const [fnHandle, fnName] = typeof fn === "string" && fn.startsWith("function://")
213
215
  ? [fn, name ?? fn]
214
- : [await createFunctionHandle(fn), name ?? getFunctionName(fn)];
216
+ : [await createFunctionHandle(fn), name ?? safeFunctionName(fn)];
215
217
  return {
216
218
  fnHandle,
217
219
  fnName,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import { Expand, FunctionReference, GenericMutationCtx, GenericQueryCtx } from "convex/server";
1
+ import { Expand, FunctionArgs, FunctionReference, FunctionReturnType, FunctionType, FunctionVisibility } from "convex/server";
2
2
  import { GenericId } from "convex/values";
3
- import { GenericDataModel } from "convex/server";
4
3
  export type RunQueryCtx = {
5
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
4
+ runQuery: <Query extends FunctionReference<"query", "internal">>(query: Query, args: FunctionArgs<Query>) => Promise<FunctionReturnType<Query>>;
6
5
  };
7
- export type RunMutationCtx = {
8
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
6
+ export type RunMutationCtx = RunQueryCtx & {
7
+ runMutation: <Mutation extends FunctionReference<"mutation", "internal">>(mutation: Mutation, args: FunctionArgs<Mutation>) => Promise<FunctionReturnType<Mutation>>;
9
8
  };
10
9
  export type OpaqueIds<T> = T extends GenericId<infer _T> ? string : T extends (infer U)[] ? OpaqueIds<U>[] : T extends object ? {
11
10
  [K in keyof T]: OpaqueIds<T[K]>;
@@ -13,4 +12,5 @@ export type OpaqueIds<T> = T extends GenericId<infer _T> ? string : T extends (i
13
12
  export type UseApi<API> = Expand<{
14
13
  [mod in keyof API]: API[mod] extends FunctionReference<infer FType, "public", infer FArgs, infer FReturnType, infer FComponentPath> ? FunctionReference<FType, "internal", OpaqueIds<FArgs>, OpaqueIds<FReturnType>, FComponentPath> : UseApi<API[mod]>;
15
14
  }>;
15
+ export declare function safeFunctionName(f: FunctionReference<FunctionType, FunctionVisibility>): any;
16
16
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;CACzD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,GACzB,MAAM,GACN,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,SAAS,CAAC,CAAC,CAAC,EAAE,GACd,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACnC,CAAC,CAAC;AAEZ,MAAM,MAAM,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;KAC9B,GAAG,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,iBAAiB,CACpD,MAAM,KAAK,EACX,QAAQ,EACR,MAAM,KAAK,EACX,MAAM,WAAW,EACjB,MAAM,cAAc,CACrB,GACG,iBAAiB,CACf,KAAK,EACL,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,EAChB,SAAS,CAAC,WAAW,CAAC,EACtB,cAAc,CACf,GACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAGnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7D,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KACtB,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,WAAW,EAAE,CAAC,QAAQ,SAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,EACtE,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,KACzB,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,GACzB,MAAM,GACN,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,SAAS,CAAC,CAAC,CAAC,EAAE,GACd,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACnC,CAAC,CAAC;AAEZ,MAAM,MAAM,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;KAC9B,GAAG,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,iBAAiB,CACpD,MAAM,KAAK,EACX,QAAQ,EACR,MAAM,KAAK,EACX,MAAM,WAAW,EACjB,MAAM,cAAc,CACrB,GACG,iBAAiB,CACf,KAAK,EACL,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,EAChB,SAAS,CAAC,WAAW,CAAC,EACtB,cAAc,CACf,GACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC,CAAC;AAEH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAC,OASvD"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ import { getFunctionAddress, getFunctionName, } from "convex/server";
2
+ export function safeFunctionName(f) {
3
+ const address = getFunctionAddress(f);
4
+ return (address.name ||
5
+ address.reference ||
6
+ address.functionHandle ||
7
+ getFunctionName(f));
8
+ }
2
9
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AA6CvB,MAAM,UAAU,gBAAgB,CAC9B,CAAsD;IAEtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CACL,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,cAAc;QACtB,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"danger.d.ts","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY;;;;iBAgCvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;iBA2DvB,CAAC"}
1
+ {"version":3,"file":"danger.d.ts","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY;;;;iBAgCvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;iBA2DvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { v } from "convex/values";
2
2
  import { internal } from "./_generated/api.js";
3
- import { internalMutation, } from "./_generated/server.js";
3
+ import { internalMutation } from "./_generated/server.js";
4
4
  import { paginator } from "convex-helpers/server/pagination";
5
5
  import schema from "./schema.js";
6
6
  const DEFAULT_OLDER_THAN = 1000 * 60 * 60 * 24;
@@ -1 +1 @@
1
- {"version":3,"file":"danger.js","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"danger.js","sourceRoot":"","sources":["../../../src/component/danger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "email": "support@convex.dev",
8
8
  "url": "https://github.com/get-convex/workpool/issues"
9
9
  },
10
- "version": "0.2.17",
10
+ "version": "0.2.18-alpha.0",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -70,7 +70,7 @@
70
70
  "devDependencies": {
71
71
  "@edge-runtime/vm": "5.0.0",
72
72
  "@eslint/js": "9.31.0",
73
- "@types/node": "22.16.3",
73
+ "@types/node": "22.16.5",
74
74
  "@vitest/coverage-v8": "3.2.4",
75
75
  "convex-test": "0.0.38",
76
76
  "eslint": "9.31.0",
@@ -78,7 +78,7 @@
78
78
  "pkg-pr-new": "0.0.54",
79
79
  "prettier": "3.6.2",
80
80
  "typescript": "5.8.3",
81
- "typescript-eslint": "8.36.0",
81
+ "typescript-eslint": "8.38.0",
82
82
  "vitest": "3.2.4"
83
83
  },
84
84
  "main": "./dist/commonjs/client/index.js",
@@ -7,7 +7,6 @@ import {
7
7
  FunctionVisibility,
8
8
  GenericDataModel,
9
9
  GenericMutationCtx,
10
- getFunctionName,
11
10
  internalMutationGeneric,
12
11
  RegisteredMutation,
13
12
  } from "convex/server";
@@ -24,17 +23,14 @@ import {
24
23
  OnCompleteArgs as SharedOnCompleteArgs,
25
24
  Status,
26
25
  } from "../component/shared.js";
27
- import { RunMutationCtx, RunQueryCtx, UseApi } from "./utils.js";
28
- export {
29
- vResultValidator,
30
- type RunResult,
31
- type RetryBehavior,
32
- type OnComplete,
33
- };
34
- export {
35
- retryBehavior as vRetryBehavior,
36
- onComplete as vOnComplete,
37
- } from "../component/shared.js";
26
+ import {
27
+ RunMutationCtx,
28
+ RunQueryCtx,
29
+ safeFunctionName,
30
+ UseApi,
31
+ } from "./utils.js";
32
+ export { vResultValidator, type RunResult, type RetryBehavior };
33
+ export { retryBehavior as vRetryBehavior } from "../component/shared.js";
38
34
  export { logLevel as vLogLevel, type LogLevel } from "../component/logging.js";
39
35
  export type WorkId = string & { __isWorkId: true };
40
36
  export const vWorkIdValidator = v.string() as VString<WorkId>;
@@ -222,7 +218,7 @@ export class Workpool {
222
218
  defineOnComplete<
223
219
  DataModel extends GenericDataModel,
224
220
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
225
- V extends Validator<any, "required", any> = VAny,
221
+ V extends Validator<any, any, any> = VAny<any, "optional">,
226
222
  >({
227
223
  context,
228
224
  handler,
@@ -238,7 +234,7 @@ export class Workpool {
238
234
  ) => Promise<void>;
239
235
  }): RegisteredMutation<"internal", OnCompleteArgs, null> {
240
236
  return internalMutationGeneric({
241
- args: vOnCompleteValidator(context),
237
+ args: vOnCompleteArgs(context),
242
238
  handler,
243
239
  });
244
240
  }
@@ -249,7 +245,7 @@ export class Workpool {
249
245
  * To be used like:
250
246
  * ```ts
251
247
  * export const myOnComplete = internalMutation({
252
- * args: vOnCompleteValidator(v.string()),
248
+ * args: vOnCompleteArgs(v.string()),
253
249
  * handler: async (ctx, {workId, context, result}) => {
254
250
  * // context has been validated as a string
255
251
  * // ... do something with the result
@@ -258,13 +254,13 @@ export class Workpool {
258
254
  * @param context - The context validator. If not provided, it will be `v.any()`.
259
255
  * @returns The validator for the onComplete mutation.
260
256
  */
261
- export function vOnCompleteValidator<
257
+ export function vOnCompleteArgs<
262
258
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
263
259
  V extends Validator<any, "required", any> = VAny,
264
260
  >(context?: V) {
265
261
  return v.object({
266
262
  workId: vWorkIdValidator,
267
- context: context ?? v.any(),
263
+ context: context ?? v.optional(v.any()),
268
264
  result: vResultValidator,
269
265
  });
270
266
  }
@@ -350,7 +346,7 @@ export type CallbackOptions = {
350
346
  * or more manually:
351
347
  * ```ts
352
348
  * export const completion = internalMutation({
353
- * args: vOnCompleteValidator(v.string()),
349
+ * args: vOnCompleteArgs(v.string()),
354
350
  * handler: async (ctx, args) => {
355
351
  * console.log(args.result, "Got Context back -> ", args.context, Date.now() - args.context);
356
352
  * },
@@ -385,8 +381,12 @@ export type OnCompleteArgs = {
385
381
  */
386
382
  result: RunResult;
387
383
  };
384
+
388
385
  // ensure OnCompleteArgs satisfies SharedOnCompleteArgs
389
386
  const _ = {} as OnCompleteArgs satisfies SharedOnCompleteArgs;
387
+ const _2 = {} as OnCompleteArgs satisfies Infer<
388
+ ReturnType<typeof vOnCompleteArgs<VAny>>
389
+ >;
390
390
 
391
391
  //
392
392
  // Helper functions
@@ -418,7 +418,7 @@ async function defaultEnqueueArgs(
418
418
  const [fnHandle, fnName] =
419
419
  typeof fn === "string" && fn.startsWith("function://")
420
420
  ? [fn, name ?? fn]
421
- : [await createFunctionHandle(fn), name ?? getFunctionName(fn)];
421
+ : [await createFunctionHandle(fn), name ?? safeFunctionName(fn)];
422
422
  return {
423
423
  fnHandle,
424
424
  fnName,
@@ -1,20 +1,28 @@
1
1
  import {
2
2
  Expand,
3
+ FunctionArgs,
3
4
  FunctionReference,
4
- GenericMutationCtx,
5
- GenericQueryCtx,
5
+ FunctionReturnType,
6
+ FunctionType,
7
+ FunctionVisibility,
8
+ getFunctionAddress,
9
+ getFunctionName,
6
10
  } from "convex/server";
7
11
  import { GenericId } from "convex/values";
8
12
 
9
- import { GenericDataModel } from "convex/server";
10
-
11
13
  /* Type utils follow */
12
14
 
13
15
  export type RunQueryCtx = {
14
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
16
+ runQuery: <Query extends FunctionReference<"query", "internal">>(
17
+ query: Query,
18
+ args: FunctionArgs<Query>
19
+ ) => Promise<FunctionReturnType<Query>>;
15
20
  };
16
- export type RunMutationCtx = {
17
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
21
+ export type RunMutationCtx = RunQueryCtx & {
22
+ runMutation: <Mutation extends FunctionReference<"mutation", "internal">>(
23
+ mutation: Mutation,
24
+ args: FunctionArgs<Mutation>
25
+ ) => Promise<FunctionReturnType<Mutation>>;
18
26
  };
19
27
 
20
28
  export type OpaqueIds<T> =
@@ -43,3 +51,15 @@ export type UseApi<API> = Expand<{
43
51
  >
44
52
  : UseApi<API[mod]>;
45
53
  }>;
54
+
55
+ export function safeFunctionName(
56
+ f: FunctionReference<FunctionType, FunctionVisibility>
57
+ ) {
58
+ const address = getFunctionAddress(f);
59
+ return (
60
+ address.name ||
61
+ address.reference ||
62
+ address.functionHandle ||
63
+ getFunctionName(f)
64
+ );
65
+ }
@@ -1,14 +1,6 @@
1
1
  import { v } from "convex/values";
2
- import { api, internal } from "./_generated/api.js";
3
- import type { Doc, Id } from "./_generated/dataModel.js";
4
- import {
5
- action,
6
- internalAction,
7
- internalMutation,
8
- internalQuery,
9
- mutation,
10
- query,
11
- } from "./_generated/server.js";
2
+ import { internal } from "./_generated/api.js";
3
+ import { internalMutation } from "./_generated/server.js";
12
4
  import { paginator } from "convex-helpers/server/pagination";
13
5
  import schema from "./schema.js";
14
6