convex-effect-workflows 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +107 -0
  2. package/dist/client/ConvexCtx.d.ts +12 -0
  3. package/dist/client/ConvexCtx.d.ts.map +1 -0
  4. package/dist/client/ConvexCtx.js +6 -0
  5. package/dist/client/ConvexCtx.js.map +1 -0
  6. package/dist/client/ConvexLogger.d.ts +7 -0
  7. package/dist/client/ConvexLogger.d.ts.map +1 -0
  8. package/dist/client/ConvexLogger.js +39 -0
  9. package/dist/client/ConvexLogger.js.map +1 -0
  10. package/dist/client/ConvexTracer.d.ts +7 -0
  11. package/dist/client/ConvexTracer.d.ts.map +1 -0
  12. package/dist/client/ConvexTracer.js +60 -0
  13. package/dist/client/ConvexTracer.js.map +1 -0
  14. package/dist/client/ConvexWorkflowEngine.d.ts +308 -0
  15. package/dist/client/ConvexWorkflowEngine.d.ts.map +1 -0
  16. package/dist/client/ConvexWorkflowEngine.js +88 -0
  17. package/dist/client/ConvexWorkflowEngine.js.map +1 -0
  18. package/dist/client/activityWorker.d.ts +23 -0
  19. package/dist/client/activityWorker.d.ts.map +1 -0
  20. package/dist/client/activityWorker.js +41 -0
  21. package/dist/client/activityWorker.js.map +1 -0
  22. package/dist/client/boundaries.d.ts +27 -0
  23. package/dist/client/boundaries.d.ts.map +1 -0
  24. package/dist/client/boundaries.js +17 -0
  25. package/dist/client/boundaries.js.map +1 -0
  26. package/dist/client/encoded.d.ts +22 -0
  27. package/dist/client/encoded.d.ts.map +1 -0
  28. package/dist/client/encoded.js +276 -0
  29. package/dist/client/encoded.js.map +1 -0
  30. package/dist/client/index.d.ts +13 -0
  31. package/dist/client/index.d.ts.map +1 -0
  32. package/dist/client/index.js +11 -0
  33. package/dist/client/index.js.map +1 -0
  34. package/dist/client/registry.d.ts +17 -0
  35. package/dist/client/registry.d.ts.map +1 -0
  36. package/dist/client/registry.js +21 -0
  37. package/dist/client/registry.js.map +1 -0
  38. package/dist/client/runner.d.ts +27 -0
  39. package/dist/client/runner.d.ts.map +1 -0
  40. package/dist/client/runner.js +90 -0
  41. package/dist/client/runner.js.map +1 -0
  42. package/dist/client/runtime.d.ts +10 -0
  43. package/dist/client/runtime.d.ts.map +1 -0
  44. package/dist/client/runtime.js +15 -0
  45. package/dist/client/runtime.js.map +1 -0
  46. package/dist/component/_generated/api.d.ts +148 -0
  47. package/dist/component/_generated/api.d.ts.map +1 -0
  48. package/dist/component/_generated/api.js +31 -0
  49. package/dist/component/_generated/api.js.map +1 -0
  50. package/dist/component/_generated/component.d.ts +921 -0
  51. package/dist/component/_generated/component.d.ts.map +1 -0
  52. package/dist/component/_generated/component.js +11 -0
  53. package/dist/component/_generated/component.js.map +1 -0
  54. package/dist/component/_generated/dataModel.d.ts +46 -0
  55. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  56. package/dist/component/_generated/dataModel.js +11 -0
  57. package/dist/component/_generated/dataModel.js.map +1 -0
  58. package/dist/component/_generated/server.d.ts +121 -0
  59. package/dist/component/_generated/server.d.ts.map +1 -0
  60. package/dist/component/_generated/server.js +78 -0
  61. package/dist/component/_generated/server.js.map +1 -0
  62. package/dist/component/activityCompletions.d.ts +27 -0
  63. package/dist/component/activityCompletions.d.ts.map +1 -0
  64. package/dist/component/activityCompletions.js +70 -0
  65. package/dist/component/activityCompletions.js.map +1 -0
  66. package/dist/component/boundaries.d.ts +20 -0
  67. package/dist/component/boundaries.d.ts.map +1 -0
  68. package/dist/component/boundaries.js +17 -0
  69. package/dist/component/boundaries.js.map +1 -0
  70. package/dist/component/cleanup.d.ts +11 -0
  71. package/dist/component/cleanup.d.ts.map +1 -0
  72. package/dist/component/cleanup.js +163 -0
  73. package/dist/component/cleanup.js.map +1 -0
  74. package/dist/component/clocks.d.ts +12 -0
  75. package/dist/component/clocks.d.ts.map +1 -0
  76. package/dist/component/clocks.js +26 -0
  77. package/dist/component/clocks.js.map +1 -0
  78. package/dist/component/config.d.ts +25 -0
  79. package/dist/component/config.d.ts.map +1 -0
  80. package/dist/component/config.js +110 -0
  81. package/dist/component/config.js.map +1 -0
  82. package/dist/component/convex.config.d.ts +3 -0
  83. package/dist/component/convex.config.d.ts.map +1 -0
  84. package/dist/component/convex.config.js +6 -0
  85. package/dist/component/convex.config.js.map +1 -0
  86. package/dist/component/dashboard.d.ts +268 -0
  87. package/dist/component/dashboard.d.ts.map +1 -0
  88. package/dist/component/dashboard.js +622 -0
  89. package/dist/component/dashboard.js.map +1 -0
  90. package/dist/component/deferreds.d.ts +31 -0
  91. package/dist/component/deferreds.d.ts.map +1 -0
  92. package/dist/component/deferreds.js +138 -0
  93. package/dist/component/deferreds.js.map +1 -0
  94. package/dist/component/executions.d.ts +77 -0
  95. package/dist/component/executions.d.ts.map +1 -0
  96. package/dist/component/executions.js +186 -0
  97. package/dist/component/executions.js.map +1 -0
  98. package/dist/component/journalSteps.d.ts +261 -0
  99. package/dist/component/journalSteps.d.ts.map +1 -0
  100. package/dist/component/journalSteps.js +203 -0
  101. package/dist/component/journalSteps.js.map +1 -0
  102. package/dist/component/logs.d.ts +68 -0
  103. package/dist/component/logs.d.ts.map +1 -0
  104. package/dist/component/logs.js +123 -0
  105. package/dist/component/logs.js.map +1 -0
  106. package/dist/component/onComplete.d.ts +31 -0
  107. package/dist/component/onComplete.d.ts.map +1 -0
  108. package/dist/component/onComplete.js +146 -0
  109. package/dist/component/onComplete.js.map +1 -0
  110. package/dist/component/payloads.d.ts +26 -0
  111. package/dist/component/payloads.d.ts.map +1 -0
  112. package/dist/component/payloads.js +57 -0
  113. package/dist/component/payloads.js.map +1 -0
  114. package/dist/component/queries.d.ts +2 -0
  115. package/dist/component/queries.d.ts.map +1 -0
  116. package/dist/component/queries.js +2 -0
  117. package/dist/component/queries.js.map +1 -0
  118. package/dist/component/runner.d.ts +31 -0
  119. package/dist/component/runner.d.ts.map +1 -0
  120. package/dist/component/runner.js +87 -0
  121. package/dist/component/runner.js.map +1 -0
  122. package/dist/component/schema.d.ts +282 -0
  123. package/dist/component/schema.d.ts.map +1 -0
  124. package/dist/component/schema.js +119 -0
  125. package/dist/component/schema.js.map +1 -0
  126. package/dist/component/spans.d.ts +105 -0
  127. package/dist/component/spans.d.ts.map +1 -0
  128. package/dist/component/spans.js +190 -0
  129. package/dist/component/spans.js.map +1 -0
  130. package/dist/component/utils.d.ts +15 -0
  131. package/dist/component/utils.d.ts.map +1 -0
  132. package/dist/component/utils.js +53 -0
  133. package/dist/component/utils.js.map +1 -0
  134. package/dist/shared/constants.d.ts +12 -0
  135. package/dist/shared/constants.d.ts.map +1 -0
  136. package/dist/shared/constants.js +12 -0
  137. package/dist/shared/constants.js.map +1 -0
  138. package/dist/shared/validators.d.ts +69 -0
  139. package/dist/shared/validators.d.ts.map +1 -0
  140. package/dist/shared/validators.js +30 -0
  141. package/dist/shared/validators.js.map +1 -0
  142. package/package.json +74 -0
  143. package/src/client/ConvexCtx.ts +21 -0
  144. package/src/client/ConvexLogger.ts +52 -0
  145. package/src/client/ConvexTracer.ts +75 -0
  146. package/src/client/ConvexWorkflowEngine.test.ts +124 -0
  147. package/src/client/ConvexWorkflowEngine.ts +209 -0
  148. package/src/client/activityWorker.ts +62 -0
  149. package/src/client/boundaries.test.ts +83 -0
  150. package/src/client/boundaries.ts +79 -0
  151. package/src/client/encoded.lifecycle.test.ts +336 -0
  152. package/src/client/encoded.test.ts +153 -0
  153. package/src/client/encoded.ts +484 -0
  154. package/src/client/index.ts +47 -0
  155. package/src/client/registry.ts +35 -0
  156. package/src/client/runner.ts +165 -0
  157. package/src/client/runtime.ts +30 -0
  158. package/src/component/_generated/api.ts +179 -0
  159. package/src/component/_generated/component.ts +1216 -0
  160. package/src/component/_generated/dataModel.ts +60 -0
  161. package/src/component/_generated/server.ts +156 -0
  162. package/src/component/activityCompletions.ts +73 -0
  163. package/src/component/boundaries.ts +55 -0
  164. package/src/component/cleanup.test.ts +219 -0
  165. package/src/component/cleanup.ts +218 -0
  166. package/src/component/clocks.ts +26 -0
  167. package/src/component/config.test.ts +159 -0
  168. package/src/component/config.ts +145 -0
  169. package/src/component/convex.config.ts +7 -0
  170. package/src/component/core.test.ts +829 -0
  171. package/src/component/dashboard.scaling.test.ts +268 -0
  172. package/src/component/dashboard.ts +743 -0
  173. package/src/component/deferreds.ts +162 -0
  174. package/src/component/executions.ts +225 -0
  175. package/src/component/journalSteps.ts +252 -0
  176. package/src/component/logs.ts +152 -0
  177. package/src/component/onComplete.ts +170 -0
  178. package/src/component/payloads.ts +83 -0
  179. package/src/component/queries.ts +8 -0
  180. package/src/component/runner.ts +122 -0
  181. package/src/component/schema.ts +155 -0
  182. package/src/component/setup.test.ts +15 -0
  183. package/src/component/spans.ts +241 -0
  184. package/src/component/utils.test.ts +32 -0
  185. package/src/component/utils.ts +73 -0
  186. package/src/shared/constants.test.ts +14 -0
  187. package/src/shared/constants.ts +15 -0
  188. package/src/shared/validators.ts +98 -0
  189. package/src/test.d.ts +8 -0
  190. package/src/test.ts +17 -0
@@ -0,0 +1,90 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Exit from "effect/Exit";
3
+ import * as Workflow from "@effect/workflow/Workflow";
4
+ import { makeUnsafe as makeUnsafeWorkflowEngine, WorkflowEngine, } from "@effect/workflow/WorkflowEngine";
5
+ import { createFunctionHandle, internalMutationGeneric, makeFunctionReference, } from "convex/server";
6
+ import { v } from "convex/values";
7
+ import { provideConvexCtx } from "./runtime.js";
8
+ import { makeConvexEncoded, } from "./encoded.js";
9
+ import { registerWorkflow } from "./registry.js";
10
+ import { enqueueActivity, scheduleRunnerFanIn, } from "./boundaries.js";
11
+ function asMutationReference(reference) {
12
+ return reference;
13
+ }
14
+ function asRunnerMutationReference(reference) {
15
+ if (typeof reference === "string") {
16
+ return makeFunctionReference(reference);
17
+ }
18
+ return reference;
19
+ }
20
+ async function activityWorkerHandle(reference) {
21
+ if (typeof reference === "string") {
22
+ const fnRef = makeFunctionReference(reference);
23
+ return await createFunctionHandle(fnRef);
24
+ }
25
+ return await createFunctionHandle(reference);
26
+ }
27
+ /**
28
+ * Define a workflow runner mutation for one workflow.
29
+ *
30
+ * The runner executes one deterministic tick by calling the encoded engine
31
+ * directly (not `WorkflowEngine.execute`), avoiding in-mutation suspended loops.
32
+ * Suspension/resume is handled via component.onComplete.
33
+ */
34
+ export function defineWorkflowRunner(component, workflow, execute, options) {
35
+ registerWorkflow(workflow, execute);
36
+ return internalMutationGeneric({
37
+ args: {
38
+ executionId: v.string(),
39
+ generation: v.number(),
40
+ },
41
+ handler: async (ctx, args) => {
42
+ const workerHandle = await activityWorkerHandle(options.activityWorker);
43
+ const hooks = {
44
+ enqueueRunner: async (convexCtx, hookArgs) => {
45
+ await scheduleRunnerFanIn(convexCtx.scheduler, component, {
46
+ executionId: hookArgs.executionId,
47
+ generation: hookArgs.generation,
48
+ });
49
+ },
50
+ enqueueActivity: async (convexCtx, hookArgs) => {
51
+ return await enqueueActivity(convexCtx.runMutation, component, {
52
+ executionId: hookArgs.executionId,
53
+ generation: hookArgs.generation,
54
+ workflowName: workflow.name,
55
+ activityName: hookArgs.activity.name,
56
+ attempt: hookArgs.attempt,
57
+ stepNumber: hookArgs.stepNumber,
58
+ spanId: hookArgs.spanId,
59
+ activityWorkerHandle: workerHandle,
60
+ workpoolOptions: options.workpoolOptions,
61
+ });
62
+ },
63
+ };
64
+ const encoded = makeConvexEncoded(component, hooks);
65
+ const engine = makeUnsafeWorkflowEngine(encoded);
66
+ const program = Effect.gen(function* () {
67
+ yield* encoded.register(workflow, execute);
68
+ return yield* encoded.execute(workflow, {
69
+ executionId: args.executionId,
70
+ payload: {},
71
+ discard: false,
72
+ parent: undefined,
73
+ });
74
+ });
75
+ const exit = await Effect.runPromiseExit(provideConvexCtx(Effect.provideService(program, WorkflowEngine, engine), ctx));
76
+ if (Exit.isFailure(exit)) {
77
+ await ctx.runMutation(asMutationReference(component.executions.completeExecution), {
78
+ executionId: args.executionId,
79
+ generation: args.generation,
80
+ kind: "failure",
81
+ error: `Runner failure: ${String(exit.cause)}`,
82
+ });
83
+ }
84
+ },
85
+ });
86
+ }
87
+ export async function functionHandleForRunner(runner) {
88
+ return (await createFunctionHandle(asRunnerMutationReference(runner)));
89
+ }
90
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/client/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import { WorkflowEngine } from "@effect/workflow/WorkflowEngine";
4
+ import type { ComponentApi } from "../component/_generated/component.js";
5
+ import { ConvexCtx, type ConvexWorkflowCtx } from "./ConvexCtx.js";
6
+ import { type ConvexEncodedHooks } from "./encoded.js";
7
+ export declare function makeWorkflowEngine(component: ComponentApi, hooks: ConvexEncodedHooks): WorkflowEngine["Type"];
8
+ export declare function provideConvexCtx<A, E, R>(effect: Effect.Effect<A, E, R>, ctx: ConvexWorkflowCtx): Effect.Effect<A, E, Exclude<R, ConvexCtx>>;
9
+ export declare function layerConvexWorkflowEngine(component: ComponentApi, hooks: ConvexEncodedHooks): Layer.Layer<WorkflowEngine>;
10
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/client/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAEL,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE1E,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAAC,MAAM,CAAC,CAExB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,GAAG,EAAE,iBAAiB,8CAGvB;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,kBAAkB,GACxB,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAE7B"}
@@ -0,0 +1,15 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import { makeUnsafe as makeUnsafeWorkflowEngine, WorkflowEngine, } from "@effect/workflow/WorkflowEngine";
4
+ import { ConvexCtx } from "./ConvexCtx.js";
5
+ import { makeConvexEncoded } from "./encoded.js";
6
+ export function makeWorkflowEngine(component, hooks) {
7
+ return makeUnsafeWorkflowEngine(makeConvexEncoded(component, hooks));
8
+ }
9
+ export function provideConvexCtx(effect, ctx) {
10
+ return Effect.provideService(effect, ConvexCtx, ctx);
11
+ }
12
+ export function layerConvexWorkflowEngine(component, hooks) {
13
+ return Layer.succeed(WorkflowEngine, makeWorkflowEngine(component, hooks));
14
+ }
15
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/client/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,UAAU,IAAI,wBAAwB,EACtC,cAAc,GACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,SAAS,EAA0B,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,cAAc,CAAC;AAE1E,MAAM,UAAU,kBAAkB,CAChC,SAAuB,EACvB,KAAyB;IAEzB,OAAO,wBAAwB,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAA8B,EAC9B,GAAsB;IAEtB,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAuB,EACvB,KAAyB;IAEzB,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Generated `api` utility.
3
+ *
4
+ * THIS CODE IS AUTOMATICALLY GENERATED.
5
+ *
6
+ * To regenerate, run `npx convex dev`.
7
+ * @module
8
+ */
9
+ import type * as activityCompletions from "../activityCompletions.js";
10
+ import type * as boundaries from "../boundaries.js";
11
+ import type * as cleanup from "../cleanup.js";
12
+ import type * as clocks from "../clocks.js";
13
+ import type * as config from "../config.js";
14
+ import type * as dashboard from "../dashboard.js";
15
+ import type * as deferreds from "../deferreds.js";
16
+ import type * as executions from "../executions.js";
17
+ import type * as journalSteps from "../journalSteps.js";
18
+ import type * as logs from "../logs.js";
19
+ import type * as onComplete from "../onComplete.js";
20
+ import type * as payloads from "../payloads.js";
21
+ import type * as queries from "../queries.js";
22
+ import type * as runner from "../runner.js";
23
+ import type * as spans from "../spans.js";
24
+ import type * as utils from "../utils.js";
25
+ import type { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
26
+ declare const fullApi: ApiFromModules<{
27
+ activityCompletions: typeof activityCompletions;
28
+ boundaries: typeof boundaries;
29
+ cleanup: typeof cleanup;
30
+ clocks: typeof clocks;
31
+ config: typeof config;
32
+ dashboard: typeof dashboard;
33
+ deferreds: typeof deferreds;
34
+ executions: typeof executions;
35
+ journalSteps: typeof journalSteps;
36
+ logs: typeof logs;
37
+ onComplete: typeof onComplete;
38
+ payloads: typeof payloads;
39
+ queries: typeof queries;
40
+ runner: typeof runner;
41
+ spans: typeof spans;
42
+ utils: typeof utils;
43
+ }>;
44
+ /**
45
+ * A utility for referencing Convex functions in your app's public API.
46
+ *
47
+ * Usage:
48
+ * ```js
49
+ * const myFunctionReference = api.myModule.myFunction;
50
+ * ```
51
+ */
52
+ export declare const api: FilterApi<typeof fullApi, FunctionReference<any, "public">>;
53
+ /**
54
+ * A utility for referencing Convex functions in your app's internal API.
55
+ *
56
+ * Usage:
57
+ * ```js
58
+ * const myFunctionReference = internal.myModule.myFunction;
59
+ * ```
60
+ */
61
+ export declare const internal: FilterApi<typeof fullApi, FunctionReference<any, "internal">>;
62
+ export declare const components: {
63
+ workpool: {
64
+ config: {
65
+ update: FunctionReference<"mutation", "internal", {
66
+ logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
67
+ maxParallelism?: number;
68
+ }, any>;
69
+ };
70
+ lib: {
71
+ cancel: FunctionReference<"mutation", "internal", {
72
+ id: string;
73
+ logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
74
+ }, any>;
75
+ cancelAll: FunctionReference<"mutation", "internal", {
76
+ before?: number;
77
+ limit?: number;
78
+ logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
79
+ }, any>;
80
+ enqueue: FunctionReference<"mutation", "internal", {
81
+ config: {
82
+ logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
83
+ maxParallelism?: number;
84
+ };
85
+ fnArgs: any;
86
+ fnHandle: string;
87
+ fnName: string;
88
+ fnType: "action" | "mutation" | "query";
89
+ onComplete?: {
90
+ context?: any;
91
+ fnHandle: string;
92
+ };
93
+ retryBehavior?: {
94
+ base: number;
95
+ initialBackoffMs: number;
96
+ maxAttempts: number;
97
+ };
98
+ runAt: number;
99
+ }, string>;
100
+ enqueueBatch: FunctionReference<"mutation", "internal", {
101
+ config: {
102
+ logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
103
+ maxParallelism?: number;
104
+ };
105
+ items: Array<{
106
+ fnArgs: any;
107
+ fnHandle: string;
108
+ fnName: string;
109
+ fnType: "action" | "mutation" | "query";
110
+ onComplete?: {
111
+ context?: any;
112
+ fnHandle: string;
113
+ };
114
+ retryBehavior?: {
115
+ base: number;
116
+ initialBackoffMs: number;
117
+ maxAttempts: number;
118
+ };
119
+ runAt: number;
120
+ }>;
121
+ }, Array<string>>;
122
+ status: FunctionReference<"query", "internal", {
123
+ id: string;
124
+ }, {
125
+ previousAttempts: number;
126
+ state: "pending";
127
+ } | {
128
+ previousAttempts: number;
129
+ state: "running";
130
+ } | {
131
+ state: "finished";
132
+ }>;
133
+ statusBatch: FunctionReference<"query", "internal", {
134
+ ids: Array<string>;
135
+ }, Array<{
136
+ previousAttempts: number;
137
+ state: "pending";
138
+ } | {
139
+ previousAttempts: number;
140
+ state: "running";
141
+ } | {
142
+ state: "finished";
143
+ }>>;
144
+ };
145
+ };
146
+ };
147
+ export {};
148
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Generated `api` utility.
4
+ *
5
+ * THIS CODE IS AUTOMATICALLY GENERATED.
6
+ *
7
+ * To regenerate, run `npx convex dev`.
8
+ * @module
9
+ */
10
+ import { anyApi, componentsGeneric } from "convex/server";
11
+ const fullApi = anyApi;
12
+ /**
13
+ * A utility for referencing Convex functions in your app's public API.
14
+ *
15
+ * Usage:
16
+ * ```js
17
+ * const myFunctionReference = api.myModule.myFunction;
18
+ * ```
19
+ */
20
+ export const api = anyApi;
21
+ /**
22
+ * A utility for referencing Convex functions in your app's internal API.
23
+ *
24
+ * Usage:
25
+ * ```js
26
+ * const myFunctionReference = internal.myModule.myFunction;
27
+ * ```
28
+ */
29
+ export const internal = anyApi;
30
+ export const components = componentsGeneric();
31
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAwBH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAiBR,MAAa,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,MAAa,CAAC;AAElB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAa,CAAC;AAElB,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,EAmG1C,CAAC"}