@convex-dev/workpool 0.4.6 → 0.4.7-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.
- package/dist/component/_generated/api.d.ts +2 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/complete.d.ts.map +1 -1
- package/dist/component/complete.js +8 -7
- package/dist/component/complete.js.map +1 -1
- package/dist/component/danger.js +7 -7
- package/dist/component/danger.js.map +1 -1
- package/dist/component/future.d.ts +11 -0
- package/dist/component/future.d.ts.map +1 -0
- package/dist/component/future.js +21 -0
- package/dist/component/future.js.map +1 -0
- package/dist/component/kick.d.ts +3 -3
- package/dist/component/kick.d.ts.map +1 -1
- package/dist/component/kick.js +14 -16
- package/dist/component/kick.js.map +1 -1
- package/dist/component/lib.d.ts.map +1 -1
- package/dist/component/lib.js +13 -13
- package/dist/component/lib.js.map +1 -1
- package/dist/component/loop.d.ts +44 -1
- package/dist/component/loop.d.ts.map +1 -1
- package/dist/component/loop.js +171 -217
- package/dist/component/loop.js.map +1 -1
- package/dist/component/recovery.d.ts.map +1 -1
- package/dist/component/recovery.js +2 -2
- package/dist/component/recovery.js.map +1 -1
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +2 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/worker.js +1 -1
- package/dist/component/worker.js.map +1 -1
- package/package.json +8 -12
- package/src/component/_generated/api.ts +2 -0
- package/src/component/complete.test.ts +13 -13
- package/src/component/complete.ts +13 -7
- package/src/component/danger.ts +7 -7
- package/src/component/future.ts +38 -0
- package/src/component/kick.test.ts +17 -20
- package/src/component/kick.ts +20 -17
- package/src/component/lib.test.ts +7 -7
- package/src/component/lib.ts +12 -15
- package/src/component/loop.test.ts +695 -1127
- package/src/component/loop.ts +212 -283
- package/src/component/recovery.test.ts +3 -3
- package/src/component/recovery.ts +5 -2
- package/src/component/schema.ts +2 -1
- package/src/component/stateMachine.test.ts +1246 -0
- package/src/component/stats.test.ts +4 -4
- package/src/component/worker.ts +1 -1
|
@@ -10,6 +10,7 @@ import type * as complete from "../complete.js";
|
|
|
10
10
|
import type * as config from "../config.js";
|
|
11
11
|
import type * as crons from "../crons.js";
|
|
12
12
|
import type * as danger from "../danger.js";
|
|
13
|
+
import type * as future from "../future.js";
|
|
13
14
|
import type * as kick from "../kick.js";
|
|
14
15
|
import type * as lib from "../lib.js";
|
|
15
16
|
import type * as logging from "../logging.js";
|
|
@@ -24,6 +25,7 @@ declare const fullApi: ApiFromModules<{
|
|
|
24
25
|
config: typeof config;
|
|
25
26
|
crons: typeof crons;
|
|
26
27
|
danger: typeof danger;
|
|
28
|
+
future: typeof future;
|
|
27
29
|
kick: typeof kick;
|
|
28
30
|
lib: typeof lib;
|
|
29
31
|
logging: typeof logging;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB,CAAiB,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,SAAS,CACzB,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjB,CAAC;AAElB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACnB,CAAC;AAElB,eAAO,MAAM,UAAU,EAAqC,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB,CAAiB,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,SAAS,CACzB,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjB,CAAC;AAElB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACnB,CAAC;AAElB,eAAO,MAAM,UAAU,EAAqC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAqBH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAcR,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,EAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../src/component/complete.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,KAAK,EAAK,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../src/component/complete.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,KAAK,EAAK,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAY5E,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEzE,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAUhB,CAAC;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,KAAK,CAAC,OAAO,YAAY,CAAC,iBAmLjC;AASD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;iBAGnB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { internal } from "./_generated/api.js";
|
|
|
3
3
|
import { internalMutation } from "./_generated/server.js";
|
|
4
4
|
import { kickMainLoop } from "./kick.js";
|
|
5
5
|
import { createLogger } from "./logging.js";
|
|
6
|
-
import { vResult } from "./shared.js";
|
|
6
|
+
import { getCurrentSegment, vResult, } from "./shared.js";
|
|
7
7
|
import { recordCompleted } from "./stats.js";
|
|
8
8
|
import { assert } from "convex-helpers";
|
|
9
9
|
const completeArgs = v.object({
|
|
@@ -24,7 +24,7 @@ export async function completeHandler(ctx, args) {
|
|
|
24
24
|
}
|
|
25
25
|
const pendingCompletions = [];
|
|
26
26
|
const jobAndWorks = (await Promise.all(args.jobs.map(async (job) => {
|
|
27
|
-
const work = await ctx.db.get(job.workId);
|
|
27
|
+
const work = await ctx.db.get("work", job.workId);
|
|
28
28
|
if (!work) {
|
|
29
29
|
console.warn(`[complete] ${job.workId} is done, but its work is gone`);
|
|
30
30
|
return null;
|
|
@@ -71,7 +71,7 @@ export async function completeHandler(ctx, args) {
|
|
|
71
71
|
assert(ourBatch);
|
|
72
72
|
await Promise.all(ourBatch.map(async ({ work, job }) => {
|
|
73
73
|
work.attempts++;
|
|
74
|
-
await ctx.db.patch(work._id, { attempts: work.attempts });
|
|
74
|
+
await ctx.db.patch("work", work._id, { attempts: work.attempts });
|
|
75
75
|
const pendingCompletion = await ctx.db
|
|
76
76
|
.query("pendingCompletion")
|
|
77
77
|
.withIndex("workId", (q) => q.eq("workId", job.workId))
|
|
@@ -91,7 +91,7 @@ export async function completeHandler(ctx, args) {
|
|
|
91
91
|
// Retrieve large context if stored separately
|
|
92
92
|
let context = work.onComplete.context;
|
|
93
93
|
if (context === undefined && work.payloadId) {
|
|
94
|
-
const payload = await ctx.db.get(work.payloadId);
|
|
94
|
+
const payload = await ctx.db.get("payload", work.payloadId);
|
|
95
95
|
if (payload) {
|
|
96
96
|
context = payload.context;
|
|
97
97
|
}
|
|
@@ -125,10 +125,10 @@ export async function completeHandler(ctx, args) {
|
|
|
125
125
|
// Clean up any large data that was stored separately.
|
|
126
126
|
// TODO: consider async deletion in the future to avoid bandwidth limits.
|
|
127
127
|
if (work.payloadId) {
|
|
128
|
-
await ctx.db.delete(work.payloadId);
|
|
128
|
+
await ctx.db.delete("payload", work.payloadId);
|
|
129
129
|
}
|
|
130
130
|
// This is the terminating state for work.
|
|
131
|
-
await ctx.db.delete(job.workId);
|
|
131
|
+
await ctx.db.delete("work", job.workId);
|
|
132
132
|
}
|
|
133
133
|
if (job.runResult.kind !== "canceled") {
|
|
134
134
|
pendingCompletions.push({
|
|
@@ -139,7 +139,8 @@ export async function completeHandler(ctx, args) {
|
|
|
139
139
|
}
|
|
140
140
|
}));
|
|
141
141
|
if (pendingCompletions.length > 0) {
|
|
142
|
-
|
|
142
|
+
await kickMainLoop(ctx, "complete");
|
|
143
|
+
const segment = getCurrentSegment();
|
|
143
144
|
await Promise.all(pendingCompletions.map((completion) => ctx.db.insert("pendingCompletion", {
|
|
144
145
|
...completion,
|
|
145
146
|
segment,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete.js","sourceRoot":"","sources":["../../src/component/complete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAc,CAAC,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAoB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"complete.js","sourceRoot":"","sources":["../../src/component/complete.ts"],"names":[],"mappings":"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"}
|
package/dist/component/danger.js
CHANGED
|
@@ -18,7 +18,7 @@ export const clearPending = internalMutation({
|
|
|
18
18
|
.withIndex("by_creation_time", (q) => q.lte("_creationTime", time))
|
|
19
19
|
.order("desc")) {
|
|
20
20
|
i++;
|
|
21
|
-
const work = await ctx.db.get(entry.workId);
|
|
21
|
+
const work = await ctx.db.get("work", entry.workId);
|
|
22
22
|
totalBytes +=
|
|
23
23
|
getConvexSize(entry) + getConvexSize(work) + (work?.payloadSize ?? 0);
|
|
24
24
|
if (i > MAX_ROWS_READ || totalBytes > MAX_BYTES_READ) {
|
|
@@ -27,7 +27,7 @@ export const clearPending = internalMutation({
|
|
|
27
27
|
console.log(`Continuing after ${i} entries, ${totalBytes} bytes`);
|
|
28
28
|
break;
|
|
29
29
|
}
|
|
30
|
-
await ctx.db.delete(entry._id);
|
|
30
|
+
await ctx.db.delete("pendingStart", entry._id);
|
|
31
31
|
if (work) {
|
|
32
32
|
// Clean up any large data stored separately
|
|
33
33
|
if (work.payloadId) {
|
|
@@ -85,17 +85,17 @@ export const clearOldWork = internalMutation({
|
|
|
85
85
|
break;
|
|
86
86
|
}
|
|
87
87
|
if (pendingStart) {
|
|
88
|
-
await ctx.db.delete(pendingStart._id);
|
|
88
|
+
await ctx.db.delete("pendingStart", pendingStart._id);
|
|
89
89
|
}
|
|
90
90
|
if (pendingCompletion) {
|
|
91
|
-
await ctx.db.delete(pendingCompletion._id);
|
|
91
|
+
await ctx.db.delete("pendingCompletion", pendingCompletion._id);
|
|
92
92
|
}
|
|
93
93
|
if (pendingCancelation) {
|
|
94
|
-
await ctx.db.delete(pendingCancelation._id);
|
|
94
|
+
await ctx.db.delete("pendingCancelation", pendingCancelation._id);
|
|
95
95
|
}
|
|
96
96
|
// Clean up any large data stored separately
|
|
97
97
|
if (entry.payloadId) {
|
|
98
|
-
await ctx.db.delete(entry.payloadId);
|
|
98
|
+
await ctx.db.delete("payload", entry.payloadId);
|
|
99
99
|
}
|
|
100
100
|
console.debug(`cleared ${entry.fnName}: ${entry.fnArgs} (${Object.entries({
|
|
101
101
|
pendingStart,
|
|
@@ -105,7 +105,7 @@ export const clearOldWork = internalMutation({
|
|
|
105
105
|
.filter(([_, v]) => v !== null)
|
|
106
106
|
.map(([name]) => name)
|
|
107
107
|
.join(", ")})`);
|
|
108
|
-
await ctx.db.delete(entry._id);
|
|
108
|
+
await ctx.db.delete("work", entry._id);
|
|
109
109
|
}
|
|
110
110
|
if (hasMore) {
|
|
111
111
|
await ctx.scheduler.runAfter(0, internal.danger.clearOldWork, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"danger.js","sourceRoot":"","sources":["../../src/component/danger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/C,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,cAAc,GAAG,SAAS,CAAC;AAEjC,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;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,IAAI,CAAC,GAAG,CAAC,EACP,UAAU,GAAG,CAAC,EACd,OAAO,GAAG,KAAK,EACf,QAAQ,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE;aAC7B,KAAK,CAAC,cAAc,CAAC;aACrB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aAClE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjB,CAAC,EAAE,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"danger.js","sourceRoot":"","sources":["../../src/component/danger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type FunctionReference, type FunctionReturnType, type OptionalRestArgs } from "convex/server";
|
|
2
|
+
/**
|
|
3
|
+
* Run a query without creating a read dependency. Concurrent writes to the
|
|
4
|
+
* data the query reads will NOT cause the calling mutation to retry via OCC.
|
|
5
|
+
*
|
|
6
|
+
* Tradeoff: a concurrent transaction that hasn't yet committed at snapshot
|
|
7
|
+
* time may insert data this query won't see. If missing such inserts could
|
|
8
|
+
* break correctness, use ctx.runQuery (which takes a dependency) instead.
|
|
9
|
+
*/
|
|
10
|
+
export declare function runSnapshotQuery<Query extends FunctionReference<"query", "public" | "internal">>(query: Query, ...args: OptionalRestArgs<Query>): Promise<FunctionReturnType<Query>>;
|
|
11
|
+
//# sourceMappingURL=future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../src/component/future.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAOvB;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,SAAS,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC,EAE/D,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAYpC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getFunctionAddress, } from "convex/server";
|
|
2
|
+
import { convexToJson, jsonToConvex } from "convex/values";
|
|
3
|
+
/**
|
|
4
|
+
* Run a query without creating a read dependency. Concurrent writes to the
|
|
5
|
+
* data the query reads will NOT cause the calling mutation to retry via OCC.
|
|
6
|
+
*
|
|
7
|
+
* Tradeoff: a concurrent transaction that hasn't yet committed at snapshot
|
|
8
|
+
* time may insert data this query won't see. If missing such inserts could
|
|
9
|
+
* break correctness, use ctx.runQuery (which takes a dependency) instead.
|
|
10
|
+
*/
|
|
11
|
+
export async function runSnapshotQuery(query, ...args) {
|
|
12
|
+
const queryArgs = (args[0] ?? {});
|
|
13
|
+
const syscallArgs = {
|
|
14
|
+
udfType: "snapshotQuery",
|
|
15
|
+
args: convexToJson(queryArgs),
|
|
16
|
+
...getFunctionAddress(query),
|
|
17
|
+
};
|
|
18
|
+
const resultStr = await Convex.asyncSyscall("1.0/runUdf", JSON.stringify(syscallArgs));
|
|
19
|
+
return jsonToConvex(JSON.parse(resultStr));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=future.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"future.js","sourceRoot":"","sources":["../../src/component/future.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAM3D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAGpC,KAAY,EACZ,GAAG,IAA6B;IAEhC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC7D,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,YAAY,CAAC,SAAkB,CAAC;QACtC,GAAG,kBAAkB,CAAC,KAAK,CAAC;KAC7B,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CACzC,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAC5B,CAAC;IACF,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAA8B,CAAC;AAC1E,CAAC"}
|
package/dist/component/kick.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type MutationCtx } from "./_generated/server.js";
|
|
2
2
|
import { type Config } from "./shared.js";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Wakes the main loop if it isn't already running. No-ops when a wake-up
|
|
5
|
+
* wouldn't be productive (e.g. enqueue while saturated).
|
|
6
6
|
*/
|
|
7
|
-
export declare function kickMainLoop(ctx: MutationCtx, source: "enqueue" | "cancel" | "complete" | "kick", config?: Config): Promise<
|
|
7
|
+
export declare function kickMainLoop(ctx: MutationCtx, source: "enqueue" | "cancel" | "complete" | "kick", config?: Config): Promise<void>;
|
|
8
8
|
export declare const forceKick: import("convex/server").RegisteredMutation<"internal", {}, Promise<void>>;
|
|
9
9
|
//# sourceMappingURL=kick.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kick.d.ts","sourceRoot":"","sources":["../../src/component/kick.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI5E,OAAO,EAEL,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"kick.d.ts","sourceRoot":"","sources":["../../src/component/kick.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI5E,OAAO,EAEL,KAAK,MAAM,EAKZ,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,EAClD,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED,eAAO,MAAM,SAAS,2EAOpB,CAAC"}
|
package/dist/component/kick.js
CHANGED
|
@@ -3,37 +3,36 @@ import { internalMutation } from "./_generated/server.js";
|
|
|
3
3
|
import { getOrUpdateGlobals } from "./config.js";
|
|
4
4
|
import { createLogger } from "./logging.js";
|
|
5
5
|
import { INITIAL_STATE } from "./loop.js";
|
|
6
|
-
import { boundScheduledTime, fromSegment, getCurrentSegment,
|
|
6
|
+
import { boundScheduledTime, fromSegment, getCurrentSegment, SECOND, toSegment, } from "./shared.js";
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Wakes the main loop if it isn't already running. No-ops when a wake-up
|
|
9
|
+
* wouldn't be productive (e.g. enqueue while saturated).
|
|
10
10
|
*/
|
|
11
11
|
export async function kickMainLoop(ctx, source, config) {
|
|
12
12
|
const globals = config ?? (await getOrUpdateGlobals(ctx, config));
|
|
13
13
|
const console = createLogger(globals.logLevel);
|
|
14
14
|
const runStatus = await getOrCreateRunStatus(ctx);
|
|
15
|
-
const next = getNextSegment();
|
|
16
15
|
// Only kick to run now if we're scheduled or idle.
|
|
17
16
|
if (runStatus.state.kind === "running") {
|
|
18
17
|
console.debug(`[${source}] main is actively running, so we don't need to kick it`);
|
|
19
|
-
return
|
|
18
|
+
return;
|
|
20
19
|
}
|
|
21
20
|
// main is scheduled to run later, so we should cancel it and reschedule.
|
|
22
21
|
if (runStatus.state.kind === "scheduled") {
|
|
23
22
|
if (source === "enqueue" && runStatus.state.saturated) {
|
|
24
23
|
console.debug(`[${source}] main is saturated, so we don't need to kick it`);
|
|
25
|
-
return
|
|
24
|
+
return;
|
|
26
25
|
}
|
|
27
26
|
if (source === "complete" && !runStatus.state.saturated) {
|
|
28
27
|
console.debug(`[${source}] main is not saturated, so kicking for completion isn't necessary`);
|
|
29
|
-
return
|
|
28
|
+
return;
|
|
30
29
|
}
|
|
31
30
|
if (runStatus.state.segment <= toSegment(Date.now() + SECOND)) {
|
|
32
31
|
console.debug(`[${source}] main is scheduled to run soon enough, so we don't need to kick it`);
|
|
33
|
-
return
|
|
32
|
+
return;
|
|
34
33
|
}
|
|
35
34
|
console.debug(`[${source}] main is scheduled to run later, so reschedule it to run now`);
|
|
36
|
-
const scheduled = await ctx.db.system.get(runStatus.state.scheduledId);
|
|
35
|
+
const scheduled = await ctx.db.system.get("_scheduled_functions", runStatus.state.scheduledId);
|
|
37
36
|
if (scheduled && scheduled.state.kind === "pending") {
|
|
38
37
|
await ctx.scheduler.cancel(runStatus.state.scheduledId);
|
|
39
38
|
}
|
|
@@ -44,20 +43,19 @@ export async function kickMainLoop(ctx, source, config) {
|
|
|
44
43
|
else if (runStatus.state.kind === "idle") {
|
|
45
44
|
console.debug(`[${source}] main was idle, so run it now`);
|
|
46
45
|
}
|
|
47
|
-
await ctx.db.patch(runStatus._id, {
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
await ctx.db.patch("runStatus", runStatus._id, {
|
|
47
|
+
state: { kind: "running" },
|
|
48
|
+
});
|
|
49
|
+
const scheduledTime = boundScheduledTime(fromSegment(getCurrentSegment()), console);
|
|
50
50
|
await ctx.scheduler.runAt(scheduledTime, internal.loop.main, {
|
|
51
51
|
generation: runStatus.state.generation,
|
|
52
|
-
segment: current,
|
|
53
52
|
});
|
|
54
|
-
return current;
|
|
55
53
|
}
|
|
56
54
|
export const forceKick = internalMutation({
|
|
57
55
|
args: {},
|
|
58
56
|
handler: async (ctx) => {
|
|
59
57
|
const runStatus = await getOrCreateRunStatus(ctx);
|
|
60
|
-
await ctx.db.delete(runStatus._id);
|
|
58
|
+
await ctx.db.delete("runStatus", runStatus._id);
|
|
61
59
|
await kickMainLoop(ctx, "kick");
|
|
62
60
|
},
|
|
63
61
|
});
|
|
@@ -71,7 +69,7 @@ async function getOrCreateRunStatus(ctx) {
|
|
|
71
69
|
generation: state?.generation ?? INITIAL_STATE.generation,
|
|
72
70
|
},
|
|
73
71
|
});
|
|
74
|
-
runStatus = (await ctx.db.get(id));
|
|
72
|
+
runStatus = (await ctx.db.get("runStatus", id));
|
|
75
73
|
if (!state) {
|
|
76
74
|
await ctx.db.insert("internalState", INITIAL_STATE);
|
|
77
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kick.js","sourceRoot":"","sources":["../../src/component/kick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAoB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAElB,WAAW,EACX,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"kick.js","sourceRoot":"","sources":["../../src/component/kick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,2BAA2B,CAAC;AA8C9D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDASlB,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,2BAA2B,CAAC;AA8C9D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDASlB,CAAC;AAgEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;MAYvB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAgBjB,CAAC;AAGH,eAAO,MAAM,SAAS;;;;iBA0CpB,CAAC;AAEH,eAAO,MAAM,MAAM;QAKuC,EAAE,CAAC,MAAM,CAAC;;;;;;;;;;GADlE,CAAC;AAwBH,eAAO,MAAM,WAAW;;;;;;;;;;;MAQtB,CAAC"}
|
package/dist/component/lib.js
CHANGED
|
@@ -4,7 +4,7 @@ import {} from "./_generated/dataModel.js";
|
|
|
4
4
|
import { mutation, query, } from "./_generated/server.js";
|
|
5
5
|
import { kickMainLoop } from "./kick.js";
|
|
6
6
|
import { createLogger, logLevel, } from "./logging.js";
|
|
7
|
-
import { boundScheduledTime, vConfig, fnType,
|
|
7
|
+
import { boundScheduledTime, vConfig, fnType, getCurrentSegment, max, vOnCompleteFnContext, retryBehavior, status as statusValidator, toSegment, } from "./shared.js";
|
|
8
8
|
import { recordEnqueued } from "./stats.js";
|
|
9
9
|
import { getOrUpdateGlobals } from "./config.js";
|
|
10
10
|
const INLINE_METADATA_THRESHOLD = 8_000; // 8KB threshold
|
|
@@ -30,11 +30,11 @@ export const enqueue = mutation({
|
|
|
30
30
|
handler: async (ctx, { config, ...itemArgs }) => {
|
|
31
31
|
const globals = await getOrUpdateGlobals(ctx, config);
|
|
32
32
|
const console = createLogger(globals.logLevel);
|
|
33
|
-
|
|
34
|
-
return await enqueueHandler(ctx, console,
|
|
33
|
+
await kickMainLoop(ctx, "enqueue", globals);
|
|
34
|
+
return await enqueueHandler(ctx, console, itemArgs);
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
|
-
async function enqueueHandler(ctx, console,
|
|
37
|
+
async function enqueueHandler(ctx, console, { runAt, ...workArgs }) {
|
|
38
38
|
runAt = boundScheduledTime(runAt, console);
|
|
39
39
|
const fnArgsSize = getConvexSize(workArgs.fnArgs);
|
|
40
40
|
if (fnArgsSize > MAX_DOC_SIZE) {
|
|
@@ -78,7 +78,7 @@ async function enqueueHandler(ctx, console, kickSegment, { runAt, ...workArgs })
|
|
|
78
78
|
const workId = await ctx.db.insert("work", workItem);
|
|
79
79
|
await ctx.db.insert("pendingStart", {
|
|
80
80
|
workId,
|
|
81
|
-
segment: max(toSegment(runAt),
|
|
81
|
+
segment: max(toSegment(runAt), getCurrentSegment()),
|
|
82
82
|
});
|
|
83
83
|
recordEnqueued(console, { workId, fnName: workArgs.fnName, runAt });
|
|
84
84
|
return workId;
|
|
@@ -92,8 +92,8 @@ export const enqueueBatch = mutation({
|
|
|
92
92
|
handler: async (ctx, { config, items }) => {
|
|
93
93
|
const globals = await getOrUpdateGlobals(ctx, config);
|
|
94
94
|
const console = createLogger(globals.logLevel);
|
|
95
|
-
|
|
96
|
-
return Promise.all(items.map((item) => enqueueHandler(ctx, console,
|
|
95
|
+
await kickMainLoop(ctx, "enqueue", globals);
|
|
96
|
+
return Promise.all(items.map((item) => enqueueHandler(ctx, console, item)));
|
|
97
97
|
},
|
|
98
98
|
});
|
|
99
99
|
export const cancel = mutation({
|
|
@@ -105,10 +105,10 @@ export const cancel = mutation({
|
|
|
105
105
|
const globals = await getOrUpdateGlobals(ctx, { logLevel });
|
|
106
106
|
const shouldCancel = await shouldCancelWorkItem(ctx, id, globals.logLevel);
|
|
107
107
|
if (shouldCancel) {
|
|
108
|
-
|
|
108
|
+
await kickMainLoop(ctx, "cancel", globals);
|
|
109
109
|
await ctx.db.insert("pendingCancelation", {
|
|
110
110
|
workId: id,
|
|
111
|
-
segment,
|
|
111
|
+
segment: getCurrentSegment(),
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
},
|
|
@@ -130,10 +130,10 @@ export const cancelAll = mutation({
|
|
|
130
130
|
.take(pageSize);
|
|
131
131
|
const globals = await getOrUpdateGlobals(ctx, { logLevel });
|
|
132
132
|
const shouldCancel = await Promise.all(pageOfWork.map(async ({ _id }) => shouldCancelWorkItem(ctx, _id, globals.logLevel)));
|
|
133
|
-
let segment = getNextSegment();
|
|
134
133
|
if (shouldCancel.some((c) => c)) {
|
|
135
|
-
|
|
134
|
+
await kickMainLoop(ctx, "cancel", globals);
|
|
136
135
|
}
|
|
136
|
+
const segment = getCurrentSegment();
|
|
137
137
|
await Promise.all(pageOfWork.map(({ _id }, index) => {
|
|
138
138
|
if (shouldCancel[index]) {
|
|
139
139
|
return ctx.db.insert("pendingCancelation", {
|
|
@@ -157,7 +157,7 @@ export const status = query({
|
|
|
157
157
|
handler: statusHandler,
|
|
158
158
|
});
|
|
159
159
|
async function statusHandler(ctx, { id }) {
|
|
160
|
-
const work = await ctx.db.get(id);
|
|
160
|
+
const work = await ctx.db.get("work", id);
|
|
161
161
|
if (!work) {
|
|
162
162
|
return { state: "finished" };
|
|
163
163
|
}
|
|
@@ -188,7 +188,7 @@ export const statusBatch = query({
|
|
|
188
188
|
async function shouldCancelWorkItem(ctx, workId, logLevel) {
|
|
189
189
|
const console = createLogger(logLevel);
|
|
190
190
|
// No-op if the work doesn't exist or has completed.
|
|
191
|
-
const work = await ctx.db.get(workId);
|
|
191
|
+
const work = await ctx.db.get("work", workId);
|
|
192
192
|
if (!work) {
|
|
193
193
|
console.warn(`[cancel] work ${workId} doesn't exist`);
|
|
194
194
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,CAAC,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAqB,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,QAAQ,EAER,KAAK,GAEN,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,YAAY,EAGZ,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/component/loop.d.ts
CHANGED
|
@@ -4,10 +4,53 @@ export declare const RECOVERY_PERIOD_SEGMENTS: bigint;
|
|
|
4
4
|
export declare const STATUS_COOLDOWN: number;
|
|
5
5
|
export declare const COOLDOWN_CHECK_INTERVAL: number;
|
|
6
6
|
export declare const INITIAL_STATE: WithoutSystemFields<Doc<"internalState">>;
|
|
7
|
+
/**
|
|
8
|
+
* Single query that returns everything the main loop needs to process.
|
|
9
|
+
*/
|
|
10
|
+
export declare const getPending: import("convex/server").RegisteredQuery<"internal", {
|
|
11
|
+
maxParallelism: number;
|
|
12
|
+
completionCursor: bigint;
|
|
13
|
+
cancelationCursor: bigint;
|
|
14
|
+
incomingCursor: bigint;
|
|
15
|
+
runningCount: number;
|
|
16
|
+
}, Promise<{
|
|
17
|
+
completions: {
|
|
18
|
+
_id: import("convex/values").GenericId<"pendingCompletion">;
|
|
19
|
+
_creationTime: number;
|
|
20
|
+
workId: import("convex/values").GenericId<"work">;
|
|
21
|
+
retry: boolean;
|
|
22
|
+
segment: bigint;
|
|
23
|
+
runResult: {
|
|
24
|
+
kind: "success";
|
|
25
|
+
returnValue: any;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "failed";
|
|
28
|
+
error: string;
|
|
29
|
+
} | {
|
|
30
|
+
kind: "canceled";
|
|
31
|
+
};
|
|
32
|
+
}[];
|
|
33
|
+
cancelations: {
|
|
34
|
+
_id: import("convex/values").GenericId<"pendingCancelation">;
|
|
35
|
+
_creationTime: number;
|
|
36
|
+
workId: import("convex/values").GenericId<"work">;
|
|
37
|
+
segment: bigint;
|
|
38
|
+
}[];
|
|
39
|
+
allStarts: {
|
|
40
|
+
_id: import("convex/values").GenericId<"pendingStart">;
|
|
41
|
+
_creationTime: number;
|
|
42
|
+
workId: import("convex/values").GenericId<"work">;
|
|
43
|
+
segment: bigint;
|
|
44
|
+
}[];
|
|
45
|
+
}>>;
|
|
7
46
|
export declare const main: import("convex/server").RegisteredMutation<"internal", {
|
|
47
|
+
segment?: bigint | undefined;
|
|
8
48
|
generation: bigint;
|
|
9
|
-
segment: bigint;
|
|
10
49
|
}, Promise<void>>;
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated Forwarder for in-flight scheduled calls from before the
|
|
52
|
+
* upgrade. The scheduling logic has been merged into `main`.
|
|
53
|
+
*/
|
|
11
54
|
export declare const updateRunStatus: import("convex/server").RegisteredMutation<"internal", {
|
|
12
55
|
generation: bigint;
|
|
13
56
|
segment: bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/component/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/component/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,KAAK,EAAE,GAAG,EAAM,MAAM,2BAA2B,CAAC;AAgCzD,eAAO,MAAM,wBAAwB,QAAwB,CAAC;AAC9D,eAAO,MAAM,eAAe,QAAa,CAAC;AAC1C,eAAO,MAAM,uBAAuB,QAAW,CAAC;AAMhD,eAAO,MAAM,aAAa,EAAE,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAanE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDrB,CAAC;AAGH,eAAO,MAAM,IAAI;;;iBA2Lf,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;iBAK1B,CAAC;AAqRH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,UAEvC"}
|