@absurd-sqlite/sdk 0.3.0-alpha.0 → 0.3.0-alpha.1
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/absurd.d.ts +10 -9
- package/dist/absurd.d.ts.map +1 -1
- package/dist/absurd.js +15 -14
- package/dist/absurd.js.map +1 -1
- package/dist/cjs/absurd.js +15 -14
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/sqlite-connection.js +21 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/sqlite-connection.d.ts.map +1 -1
- package/dist/sqlite-connection.js +21 -3
- package/dist/sqlite-connection.js.map +1 -1
- package/package.json +4 -1
- package/src/absurd.ts +21 -22
- package/src/index.ts +3 -0
- package/src/sqlite-connection.ts +23 -5
- package/test/basic.test.ts +6 -6
- package/test/events.test.ts +6 -6
- package/test/retry.test.ts +5 -5
- package/test/setup.ts +10 -9
- package/test/sqlite.test.ts +5 -4
- package/test/step.test.ts +6 -5
package/dist/absurd.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Temporal } from "temporal-polyfill";
|
|
1
2
|
/**
|
|
2
3
|
* Minimal query interface compatible with Absurd's database operations.
|
|
3
4
|
*/
|
|
@@ -19,8 +20,8 @@ export interface RetryStrategy {
|
|
|
19
20
|
maxSeconds?: number;
|
|
20
21
|
}
|
|
21
22
|
export interface CancellationPolicy {
|
|
22
|
-
maxDuration?:
|
|
23
|
-
maxDelay?:
|
|
23
|
+
maxDuration?: Temporal.Duration;
|
|
24
|
+
maxDelay?: Temporal.Duration;
|
|
24
25
|
}
|
|
25
26
|
export interface SpawnOptions {
|
|
26
27
|
maxAttempts?: number;
|
|
@@ -162,31 +163,31 @@ export declare class TaskContext {
|
|
|
162
163
|
*/
|
|
163
164
|
step<T extends JsonValue>(name: string, fn: () => Promise<T>): Promise<T>;
|
|
164
165
|
/**
|
|
165
|
-
* Suspends the task until the given duration
|
|
166
|
+
* Suspends the task until the given duration elapses.
|
|
166
167
|
* @param stepName Checkpoint name for this wait.
|
|
167
|
-
* @param duration Duration to wait
|
|
168
|
+
* @param duration Duration to wait.
|
|
168
169
|
*/
|
|
169
|
-
sleepFor(stepName: string, duration:
|
|
170
|
+
sleepFor(stepName: string, duration: Temporal.Duration): Promise<void>;
|
|
170
171
|
/**
|
|
171
172
|
* Suspends the task until the specified time.
|
|
172
173
|
* @param stepName Checkpoint name for this wait.
|
|
173
174
|
* @param wakeAt Absolute time when the task should resume.
|
|
174
175
|
*/
|
|
175
|
-
sleepUntil(stepName: string, wakeAt:
|
|
176
|
+
sleepUntil(stepName: string, wakeAt: Temporal.Instant): Promise<void>;
|
|
176
177
|
private getCheckpointName;
|
|
177
178
|
private lookupCheckpoint;
|
|
178
179
|
private persistCheckpoint;
|
|
179
180
|
private scheduleRun;
|
|
180
181
|
/**
|
|
181
|
-
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout
|
|
182
|
+
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout.
|
|
182
183
|
* @param eventName Event identifier to wait for.
|
|
183
184
|
* @param options.stepName Optional checkpoint name (defaults to $awaitEvent:<eventName>).
|
|
184
|
-
* @param options.timeout Optional timeout
|
|
185
|
+
* @param options.timeout Optional timeout duration.
|
|
185
186
|
* @throws TimeoutError If the event is not received before the timeout.
|
|
186
187
|
*/
|
|
187
188
|
awaitEvent(eventName: string, options?: {
|
|
188
189
|
stepName?: string;
|
|
189
|
-
timeout?:
|
|
190
|
+
timeout?: Temporal.Duration;
|
|
190
191
|
}): Promise<JsonValue>;
|
|
191
192
|
/**
|
|
192
193
|
* Extends the current run's lease by the given seconds (defaults to the original claim timeout).
|
package/dist/absurd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"absurd.d.ts","sourceRoot":"","sources":["../src/absurd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"absurd.d.ts","sourceRoot":"","sources":["../src/absurd.ts"],"names":[],"mappings":"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"}
|
package/dist/absurd.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* Modifications Copyright (c) absurd-sqlite contributors.
|
|
9
9
|
*/
|
|
10
10
|
import * as os from "node:os";
|
|
11
|
+
import { Temporal } from "temporal-polyfill";
|
|
11
12
|
/**
|
|
12
13
|
* Internal exception that is thrown to suspend a run.
|
|
13
14
|
*/
|
|
@@ -130,12 +131,14 @@ export class TaskContext {
|
|
|
130
131
|
return rv;
|
|
131
132
|
}
|
|
132
133
|
/**
|
|
133
|
-
* Suspends the task until the given duration
|
|
134
|
+
* Suspends the task until the given duration elapses.
|
|
134
135
|
* @param stepName Checkpoint name for this wait.
|
|
135
|
-
* @param duration Duration to wait
|
|
136
|
+
* @param duration Duration to wait.
|
|
136
137
|
*/
|
|
137
138
|
async sleepFor(stepName, duration) {
|
|
138
|
-
|
|
139
|
+
const now = Temporal.Now.instant();
|
|
140
|
+
const wakeAt = now.add(duration);
|
|
141
|
+
return await this.sleepUntil(stepName, wakeAt);
|
|
139
142
|
}
|
|
140
143
|
/**
|
|
141
144
|
* Suspends the task until the specified time.
|
|
@@ -145,11 +148,11 @@ export class TaskContext {
|
|
|
145
148
|
async sleepUntil(stepName, wakeAt) {
|
|
146
149
|
const checkpointName = this.getCheckpointName(stepName);
|
|
147
150
|
const state = await this.lookupCheckpoint(checkpointName);
|
|
148
|
-
const actualWakeAt = typeof state === "string" ?
|
|
151
|
+
const actualWakeAt = typeof state === "string" ? Temporal.Instant.from(state) : wakeAt;
|
|
149
152
|
if (!state) {
|
|
150
|
-
await this.persistCheckpoint(checkpointName, wakeAt.
|
|
153
|
+
await this.persistCheckpoint(checkpointName, wakeAt.toString());
|
|
151
154
|
}
|
|
152
|
-
if (
|
|
155
|
+
if (Temporal.Instant.compare(Temporal.Now.instant(), actualWakeAt) < 0) {
|
|
153
156
|
await this.scheduleRun(actualWakeAt);
|
|
154
157
|
throw new SuspendTask();
|
|
155
158
|
}
|
|
@@ -193,19 +196,17 @@ export class TaskContext {
|
|
|
193
196
|
]);
|
|
194
197
|
}
|
|
195
198
|
/**
|
|
196
|
-
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout
|
|
199
|
+
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout.
|
|
197
200
|
* @param eventName Event identifier to wait for.
|
|
198
201
|
* @param options.stepName Optional checkpoint name (defaults to $awaitEvent:<eventName>).
|
|
199
|
-
* @param options.timeout Optional timeout
|
|
202
|
+
* @param options.timeout Optional timeout duration.
|
|
200
203
|
* @throws TimeoutError If the event is not received before the timeout.
|
|
201
204
|
*/
|
|
202
205
|
async awaitEvent(eventName, options) {
|
|
203
206
|
const stepName = options?.stepName || `$awaitEvent:${eventName}`;
|
|
204
207
|
let timeout = null;
|
|
205
|
-
if (options?.timeout !== undefined
|
|
206
|
-
|
|
207
|
-
options?.timeout >= 0) {
|
|
208
|
-
timeout = Math.floor(options?.timeout);
|
|
208
|
+
if (options?.timeout !== undefined) {
|
|
209
|
+
timeout = Math.floor(options.timeout.total("seconds"));
|
|
209
210
|
}
|
|
210
211
|
const checkpointName = this.getCheckpointName(stepName);
|
|
211
212
|
const cached = await this.lookupCheckpoint(checkpointName);
|
|
@@ -700,10 +701,10 @@ function normalizeCancellation(policy) {
|
|
|
700
701
|
}
|
|
701
702
|
const normalized = {};
|
|
702
703
|
if (policy.maxDuration !== undefined) {
|
|
703
|
-
normalized.max_duration = policy.maxDuration;
|
|
704
|
+
normalized.max_duration = Math.floor(policy.maxDuration.total("seconds"));
|
|
704
705
|
}
|
|
705
706
|
if (policy.maxDelay !== undefined) {
|
|
706
|
-
normalized.max_delay = policy.maxDelay;
|
|
707
|
+
normalized.max_delay = Math.floor(policy.maxDelay.total("seconds"));
|
|
707
708
|
}
|
|
708
709
|
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
709
710
|
}
|
package/dist/absurd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"absurd.js","sourceRoot":"","sources":["../src/absurd.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"absurd.js","sourceRoot":"","sources":["../src/absurd.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAoF7C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAmDD,MAAM,iBAAiB;IAKF;IACA;IACA;IANX,SAAS,GAA0B,IAAI,CAAC;IACxC,UAAU,GAA0B,IAAI,CAAC;IAEjD,YACmB,GAAQ,EACR,SAAiB,EACjB,mBAA4B;QAF5B,QAAG,GAAH,GAAG,CAAK;QACR,cAAS,GAAT,SAAS,CAAQ;QACjB,wBAAmB,GAAnB,mBAAmB,CAAS;IAC5C,CAAC;IAEJ,MAAM,CAAC,YAAoB;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,QAAQ,IAAI,CAAC,SAAS,8BAA8B,YAAY,GAAG,CACpE,CAAC;QACJ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,IAAI,CAAC,SAAS,8BAA8B,YAAY,0CAA0C,CAC3G,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IACL,GAAG,CAAM;IACjB,MAAM,CAAS;IACP,GAAG,CAAY;IACf,SAAS,CAAS;IAClB,IAAI,CAAc;IAClB,eAAe,CAAyB;IACxC,YAAY,CAAS;IACrB,UAAU,CAAoB;IACvC,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,YACE,GAAQ,EACR,MAAc,EACd,GAAc,EACd,SAAiB,EACjB,IAAiB,EACjB,eAAuC,EACvC,YAAoB,EACpB,UAA6B;QAE7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAQnB;QACC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GACnE,IAAI,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAO5B;0DACoD,EACpD,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CACvC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,WAAW,CACpB,GAAG,EACH,MAAM,EACN,GAAG,EACH,SAAS,EACT,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,EAAoB;QAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAU,CAAC;QACpB,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,QAA2B;QAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,MAAwB;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACvF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,cAAsB;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAOjC;yDACmD,EACnD,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CACpD,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,cAAsB,EACtB,KAAgB;QAEhB,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iEAAiE,EAAE;YACtF,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,IAAI,CAAC,OAAO;YACjB,cAAc;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,IAAI,CAAC,YAAY;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAwB;QAChD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE;YAC7D,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,OAA4D;QAE5D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,eAAe,SAAS,EAAE,CAAC;QACjE,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IACE,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI;gBAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,EACxC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC/B,MAAM,IAAI,YAAY,CAAC,gCAAgC,SAAS,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACjC;wDACkD,EAClD;YACE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,IAAI,CAAC,OAAO;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,cAAc;YACd,SAAS;YACT,OAAO;SACR,CACF,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC/B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC9B,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC;QAClD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE;YAC7D,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,YAAY;SACb,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAEO,oBAAoB,CAAC,YAAoB;QAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,OAAmB;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE;YAC3D,IAAI,CAAC,SAAS;YACd,SAAS;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACJ,GAAG,CAAY;IACf,eAAe,CAAU;IACzB,SAAS,CAAS;IAClB,kBAAkB,CAAS;IACpC,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpC,GAAG,CAAM;IAClB,MAAM,GAAkB,IAAI,CAAC;IACpB,KAAK,CAAc;IAEpC,YAAY,OAAkC;QAC5C,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAc,EAAE,KAAK,GAAG,KAAK;QAC5C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;YAC3B,EAAE,EAAE,GAAG;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CACV,OAAgC,EAChC,OAA0B;QAE1B,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,IACE,OAAO,CAAC,kBAAkB,KAAK,SAAS;YACxC,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAC9B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,CAAC,IAAI,6DAA6D,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK;YACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,SAAkB;QAClC,MAAM,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,SAAkB;QAChC,MAAM,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACjC,oCAAoC,CACrC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,MAAS,EACT,UAAwB,EAAE;QAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAa,CAAC;QAClB,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,8BAA8B,YAAY,CAAC,KAAK,gCAAgC,OAAO,CAAC,KAAK,IAAI,CACnH,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,8EAA8E,CAChG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACxB,CAAC;QACD,MAAM,oBAAoB,GACxB,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,YAAY,EAAE,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;QAClE,MAAM,qBAAqB,GACzB,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,CAAC,OAAO,CAAC,YAAY;YACtB,CAAC,CAAC,YAAY,EAAE,mBAAmB,CAAC;QACxC,IAAI,gBAAgB,GAAiB;YACnC,GAAG,OAAO;YACV,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,qBAAqB;SACpC,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC3B,gBAAgB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7C,QAAQ,EACR,MAAmB,EACnB,gBAAgB,CACjB,CAAC;QACJ,CAAC;QACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAMjC;8CACwC,EACxC;YACE,KAAK;YACL,QAAQ;YACR,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;SAClC,CACF,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,OAAmB,EACnB,SAAkB;QAElB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE;YAC3D,SAAS,IAAI,IAAI,CAAC,SAAS;YAC3B,SAAS;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,SAAkB;QACjD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE;YACxD,SAAS,IAAI,IAAI,CAAC,SAAS;YAC3B,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAIhB;QACC,MAAM,EACJ,SAAS,EAAE,KAAK,GAAG,CAAC,EACpB,YAAY,GAAG,GAAG,EAClB,QAAQ,GAAG,QAAQ,GACpB,GAAG,OAAO,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACjC;;8CAEwC,EACxC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAChD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,QAAQ,GAAG,QAAQ,EACnB,YAAY,GAAG,GAAG,EAClB,SAAS,GAAG,CAAC;QAEb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,UAAyB,EAAE;QAC3C,MAAM,EACJ,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,EACxD,YAAY,GAAG,GAAG,EAClB,WAAW,GAAG,CAAC,EACf,SAAS,EACT,YAAY,GAAG,IAAI,EACnB,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,EACvD,mBAAmB,GAAG,IAAI,GAC3B,GAAG,OAAO,CAAC;QACZ,MAAM,kBAAkB,GAAG,SAAS,IAAI,WAAW,CAAC;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,iBAAgC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC3C,IAAI,mBAAmB,GAAyB,IAAI,CAAC;QACrD,IAAI,mBAAmB,GAAwB,IAAI,CAAC;QACpD,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,mBAAmB,EAAE,CAAC;gBACtB,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,mBAAmB,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,mBAAmB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5C,mBAAmB,GAAG,OAAO,CAAC;oBAC9B,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC3B,UAAU,GAAG,IAAI,CAAC;wBAClB,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,mBAAmB,CAAC;QAC5B,CAAC,CAAC;QACF,MAAM,MAAM,GAAW;YACrB,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,iBAAiB,CAAC;YAC1B,CAAC;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,OAAO,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;wBAClC,MAAM,mBAAmB,EAAE,CAAC;wBAC5B,SAAS;oBACX,CAAC;oBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;oBAChE,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;wBACjB,MAAM,mBAAmB,EAAE,CAAC;wBAC5B,SAAS;oBACX,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;wBACrC,SAAS,EAAE,OAAO;wBAClB,YAAY;wBACZ,QAAQ;qBACT,CAAC,CAAC;oBACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,mBAAmB,EAAE,CAAC;wBAC5B,SAAS;oBACX,CAAC;oBACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE;4BACnD,mBAAmB;yBACpB,CAAC;6BACC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;6BAC5B,OAAO,CAAC,GAAG,EAAE;4BACZ,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC1B,kBAAkB,EAAE,CAAC;wBACvB,CAAC,CAAC,CAAC;wBACL,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,GAAY,CAAC,CAAC;oBACtB,MAAM,mBAAmB,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAiB,EACjB,YAAoB,EACpB,OAA2C;QAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACtC,IAAI,CAAC,GAAG,EACR,SAAS,EACT,OAAO,EAAE,mBAAmB,IAAI,KAAK,CACtC,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,SAAS;YAC3C,IAAI;YACJ,YAAY;YACZ,UAAU;SACX,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5D,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC,CAAC;YACF,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,GAAY,CAAC,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AAUD,SAAS,WAAW,CAAC,KAAgC;IACnD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAmB,CAAC,KAAK,KAAK,UAAU,CACjD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAc;IAC5C,MAAM,UAAU,GAAI,GAA8C,CAAC,KAAK,CAAC;IACzE,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;SACzB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,GAAc,EACd,SAAiB,EACjB,KAAa,EACb,MAAiB;IAEjB,MAAM,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE;QACxD,SAAS;QACT,KAAK;QACL,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAc,EACd,SAAiB,EACjB,KAAa,EACb,GAAU;IAEV,MAAM,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE;QACxD,SAAS;QACT,KAAK;QACL,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAqB;IAClD,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,UAAU,CAAC,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,UAAU,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IACtD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAuB;IACrD,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;IACF,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,UAAU,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA2B;IAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC"}
|
package/dist/cjs/absurd.js
CHANGED
|
@@ -44,6 +44,7 @@ exports.AbsurdImpl = exports.TaskContext = exports.TimeoutError = exports.Cancel
|
|
|
44
44
|
* Modifications Copyright (c) absurd-sqlite contributors.
|
|
45
45
|
*/
|
|
46
46
|
const os = __importStar(require("node:os"));
|
|
47
|
+
const temporal_polyfill_1 = require("temporal-polyfill");
|
|
47
48
|
/**
|
|
48
49
|
* Internal exception that is thrown to suspend a run.
|
|
49
50
|
*/
|
|
@@ -169,12 +170,14 @@ class TaskContext {
|
|
|
169
170
|
return rv;
|
|
170
171
|
}
|
|
171
172
|
/**
|
|
172
|
-
* Suspends the task until the given duration
|
|
173
|
+
* Suspends the task until the given duration elapses.
|
|
173
174
|
* @param stepName Checkpoint name for this wait.
|
|
174
|
-
* @param duration Duration to wait
|
|
175
|
+
* @param duration Duration to wait.
|
|
175
176
|
*/
|
|
176
177
|
async sleepFor(stepName, duration) {
|
|
177
|
-
|
|
178
|
+
const now = temporal_polyfill_1.Temporal.Now.instant();
|
|
179
|
+
const wakeAt = now.add(duration);
|
|
180
|
+
return await this.sleepUntil(stepName, wakeAt);
|
|
178
181
|
}
|
|
179
182
|
/**
|
|
180
183
|
* Suspends the task until the specified time.
|
|
@@ -184,11 +187,11 @@ class TaskContext {
|
|
|
184
187
|
async sleepUntil(stepName, wakeAt) {
|
|
185
188
|
const checkpointName = this.getCheckpointName(stepName);
|
|
186
189
|
const state = await this.lookupCheckpoint(checkpointName);
|
|
187
|
-
const actualWakeAt = typeof state === "string" ?
|
|
190
|
+
const actualWakeAt = typeof state === "string" ? temporal_polyfill_1.Temporal.Instant.from(state) : wakeAt;
|
|
188
191
|
if (!state) {
|
|
189
|
-
await this.persistCheckpoint(checkpointName, wakeAt.
|
|
192
|
+
await this.persistCheckpoint(checkpointName, wakeAt.toString());
|
|
190
193
|
}
|
|
191
|
-
if (
|
|
194
|
+
if (temporal_polyfill_1.Temporal.Instant.compare(temporal_polyfill_1.Temporal.Now.instant(), actualWakeAt) < 0) {
|
|
192
195
|
await this.scheduleRun(actualWakeAt);
|
|
193
196
|
throw new SuspendTask();
|
|
194
197
|
}
|
|
@@ -232,19 +235,17 @@ class TaskContext {
|
|
|
232
235
|
]);
|
|
233
236
|
}
|
|
234
237
|
/**
|
|
235
|
-
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout
|
|
238
|
+
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout.
|
|
236
239
|
* @param eventName Event identifier to wait for.
|
|
237
240
|
* @param options.stepName Optional checkpoint name (defaults to $awaitEvent:<eventName>).
|
|
238
|
-
* @param options.timeout Optional timeout
|
|
241
|
+
* @param options.timeout Optional timeout duration.
|
|
239
242
|
* @throws TimeoutError If the event is not received before the timeout.
|
|
240
243
|
*/
|
|
241
244
|
async awaitEvent(eventName, options) {
|
|
242
245
|
const stepName = options?.stepName || `$awaitEvent:${eventName}`;
|
|
243
246
|
let timeout = null;
|
|
244
|
-
if (options?.timeout !== undefined
|
|
245
|
-
|
|
246
|
-
options?.timeout >= 0) {
|
|
247
|
-
timeout = Math.floor(options?.timeout);
|
|
247
|
+
if (options?.timeout !== undefined) {
|
|
248
|
+
timeout = Math.floor(options.timeout.total("seconds"));
|
|
248
249
|
}
|
|
249
250
|
const checkpointName = this.getCheckpointName(stepName);
|
|
250
251
|
const cached = await this.lookupCheckpoint(checkpointName);
|
|
@@ -741,10 +742,10 @@ function normalizeCancellation(policy) {
|
|
|
741
742
|
}
|
|
742
743
|
const normalized = {};
|
|
743
744
|
if (policy.maxDuration !== undefined) {
|
|
744
|
-
normalized.max_duration = policy.maxDuration;
|
|
745
|
+
normalized.max_duration = Math.floor(policy.maxDuration.total("seconds"));
|
|
745
746
|
}
|
|
746
747
|
if (policy.maxDelay !== undefined) {
|
|
747
|
-
normalized.max_delay = policy.maxDelay;
|
|
748
|
+
normalized.max_delay = Math.floor(policy.maxDelay.total("seconds"));
|
|
748
749
|
}
|
|
749
750
|
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
750
751
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Absurd = exports.SQLiteConnection = exports.resolveExtensionPath = exports.downloadExtension = exports.TaskContext = exports.TimeoutError = exports.SuspendTask = exports.CancelledTask = void 0;
|
|
3
|
+
exports.Absurd = exports.SQLiteConnection = exports.resolveExtensionPath = exports.downloadExtension = exports.TaskContext = exports.TimeoutError = exports.SuspendTask = exports.CancelledTask = exports.Temporal = void 0;
|
|
4
4
|
const absurd_1 = require("./absurd");
|
|
5
|
+
// Re-export Temporal from temporal-polyfill
|
|
6
|
+
var temporal_polyfill_1 = require("temporal-polyfill");
|
|
7
|
+
Object.defineProperty(exports, "Temporal", { enumerable: true, get: function () { return temporal_polyfill_1.Temporal; } });
|
|
5
8
|
var absurd_2 = require("./absurd");
|
|
6
9
|
Object.defineProperty(exports, "CancelledTask", { enumerable: true, get: function () { return absurd_2.CancelledTask; } });
|
|
7
10
|
Object.defineProperty(exports, "SuspendTask", { enumerable: true, get: function () { return absurd_2.SuspendTask; } });
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SQLiteConnection = void 0;
|
|
4
|
+
const temporal_polyfill_1 = require("temporal-polyfill");
|
|
4
5
|
/**
|
|
5
6
|
* SQLite adapter that rewrites Absurd's SQL to SQLite syntax and handles retries.
|
|
6
7
|
*/
|
|
@@ -151,15 +152,32 @@ function decodeColumnValue(args) {
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
if (columnTypeName === "datetime") {
|
|
154
|
-
|
|
155
|
-
|
|
155
|
+
// SQLite stores datetimes as strings but may return them in different formats
|
|
156
|
+
// depending on how they were inserted. Support both ISO strings (from
|
|
157
|
+
// Temporal.Instant.toString() or Date.toISOString()) and epoch milliseconds
|
|
158
|
+
// (from numeric timestamps).
|
|
159
|
+
if (typeof value === "string") {
|
|
160
|
+
// Handle ISO string format (e.g., "2024-01-01T00:00:00Z")
|
|
161
|
+
return temporal_polyfill_1.Temporal.Instant.from(value);
|
|
162
|
+
}
|
|
163
|
+
if (typeof value === "number") {
|
|
164
|
+
// Handle epoch milliseconds format
|
|
165
|
+
return temporal_polyfill_1.Temporal.Instant.fromEpochMilliseconds(value);
|
|
156
166
|
}
|
|
157
|
-
|
|
167
|
+
throw new Error(`Expected datetime column ${columnName} to be a string or number, got ${typeof value}`);
|
|
158
168
|
}
|
|
159
169
|
// For other types, return as is
|
|
160
170
|
return value;
|
|
161
171
|
}
|
|
162
172
|
function encodeColumnValue(value) {
|
|
173
|
+
// Encode Temporal types to ISO string format for SQLite storage
|
|
174
|
+
if (value instanceof temporal_polyfill_1.Temporal.Instant) {
|
|
175
|
+
return value.toString();
|
|
176
|
+
}
|
|
177
|
+
if (value instanceof temporal_polyfill_1.Temporal.Duration) {
|
|
178
|
+
return value.toString();
|
|
179
|
+
}
|
|
180
|
+
// Legacy support for Date objects
|
|
163
181
|
if (value instanceof Date) {
|
|
164
182
|
return value.toISOString();
|
|
165
183
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AbsurdImpl, type AbsurdOptions as AbsurdImplOptions, type ClaimedTask, type JsonValue, type SpawnOptions, type SpawnResult, type TaskHandler, type TaskRegistrationOptions, type WorkerOptions } from "./absurd";
|
|
2
2
|
import { SQLiteConnection } from "./sqlite-connection";
|
|
3
|
+
export { Temporal } from "temporal-polyfill";
|
|
3
4
|
export type { Queryable } from "./absurd";
|
|
4
5
|
export { CancelledTask, SuspendTask, TimeoutError, TaskContext, type AbsurdHooks, type CancellationPolicy, type ClaimedTask, type JsonObject, type JsonValue, type RetryStrategy, type SpawnOptions, type SpawnResult, type TaskHandler, type TaskRegistrationOptions, type WorkerOptions, } from "./absurd";
|
|
5
6
|
export { downloadExtension, resolveExtensionPath, type DownloadExtensionOptions, } from "./extension-downloader";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { AbsurdImpl, } from "./absurd";
|
|
2
|
+
// Re-export Temporal from temporal-polyfill
|
|
3
|
+
export { Temporal } from "temporal-polyfill";
|
|
2
4
|
export { CancelledTask, SuspendTask, TimeoutError, TaskContext, } from "./absurd";
|
|
3
5
|
export { downloadExtension, resolveExtensionPath, } from "./extension-downloader";
|
|
4
6
|
export { SQLiteConnection } from "./sqlite-connection";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GASX,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GASX,MAAM,UAAU,CAAC;AAGlB,4CAA4C;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,WAAW,GAYZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAUhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA4HvD,MAAM,OAAO,MAAO,SAAQ,UAAU;IACpC,YAAY,UAA4B,EAAE,OAAuB;QAC/D,KAAK,CAAC;YACJ,EAAE,EAAE,UAAU;YACd,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;YAC/C,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-connection.d.ts","sourceRoot":"","sources":["../src/sqlite-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite-connection.d.ts","sourceRoot":"","sources":["../src/sqlite-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEd,gBAAgB,EAChB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,eAAe,CAAC;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE,OAAO,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,KAAK,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAClC,YAAY,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CACgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;gBAEhC,EAAE,EAAE,cAAc,EAAE,OAAO,GAAE,uBAA4B;IAU/D,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChD,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC;IAqBnB,IAAI,CACR,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC;IAQhB,KAAK,IAAI,IAAI;YAIC,YAAY;CAc3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Temporal } from "temporal-polyfill";
|
|
1
2
|
/**
|
|
2
3
|
* SQLite adapter that rewrites Absurd's SQL to SQLite syntax and handles retries.
|
|
3
4
|
*/
|
|
@@ -147,15 +148,32 @@ function decodeColumnValue(args) {
|
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
if (columnTypeName === "datetime") {
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
// SQLite stores datetimes as strings but may return them in different formats
|
|
152
|
+
// depending on how they were inserted. Support both ISO strings (from
|
|
153
|
+
// Temporal.Instant.toString() or Date.toISOString()) and epoch milliseconds
|
|
154
|
+
// (from numeric timestamps).
|
|
155
|
+
if (typeof value === "string") {
|
|
156
|
+
// Handle ISO string format (e.g., "2024-01-01T00:00:00Z")
|
|
157
|
+
return Temporal.Instant.from(value);
|
|
158
|
+
}
|
|
159
|
+
if (typeof value === "number") {
|
|
160
|
+
// Handle epoch milliseconds format
|
|
161
|
+
return Temporal.Instant.fromEpochMilliseconds(value);
|
|
152
162
|
}
|
|
153
|
-
|
|
163
|
+
throw new Error(`Expected datetime column ${columnName} to be a string or number, got ${typeof value}`);
|
|
154
164
|
}
|
|
155
165
|
// For other types, return as is
|
|
156
166
|
return value;
|
|
157
167
|
}
|
|
158
168
|
function encodeColumnValue(value) {
|
|
169
|
+
// Encode Temporal types to ISO string format for SQLite storage
|
|
170
|
+
if (value instanceof Temporal.Instant) {
|
|
171
|
+
return value.toString();
|
|
172
|
+
}
|
|
173
|
+
if (value instanceof Temporal.Duration) {
|
|
174
|
+
return value.toString();
|
|
175
|
+
}
|
|
176
|
+
// Legacy support for Date objects
|
|
159
177
|
if (value instanceof Date) {
|
|
160
178
|
return value.toISOString();
|
|
161
179
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-connection.js","sourceRoot":"","sources":["../src/sqlite-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite-connection.js","sourceRoot":"","sources":["../src/sqlite-connection.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@absurd-sqlite/sdk",
|
|
3
|
-
"version": "0.3.0-alpha.
|
|
3
|
+
"version": "0.3.0-alpha.1",
|
|
4
4
|
"description": "TypeScript SDK for Absurd-SQLite - SQLite-based durable task execution",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"better-sqlite3": "^12.5.0"
|
|
38
38
|
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"temporal-polyfill": "^0.3.0"
|
|
41
|
+
},
|
|
39
42
|
"devDependencies": {
|
|
40
43
|
"@types/better-sqlite3": "^7.6.13",
|
|
41
44
|
"@types/node": "^22.18.0",
|
package/src/absurd.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* Modifications Copyright (c) absurd-sqlite contributors.
|
|
9
9
|
*/
|
|
10
10
|
import * as os from "node:os";
|
|
11
|
+
import { Temporal } from "temporal-polyfill";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Minimal query interface compatible with Absurd's database operations.
|
|
@@ -39,8 +40,8 @@ export interface RetryStrategy {
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
export interface CancellationPolicy {
|
|
42
|
-
maxDuration?:
|
|
43
|
-
maxDelay?:
|
|
43
|
+
maxDuration?: Temporal.Duration;
|
|
44
|
+
maxDelay?: Temporal.Duration;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export interface SpawnOptions {
|
|
@@ -315,12 +316,14 @@ export class TaskContext {
|
|
|
315
316
|
}
|
|
316
317
|
|
|
317
318
|
/**
|
|
318
|
-
* Suspends the task until the given duration
|
|
319
|
+
* Suspends the task until the given duration elapses.
|
|
319
320
|
* @param stepName Checkpoint name for this wait.
|
|
320
|
-
* @param duration Duration to wait
|
|
321
|
+
* @param duration Duration to wait.
|
|
321
322
|
*/
|
|
322
|
-
async sleepFor(stepName: string, duration:
|
|
323
|
-
|
|
323
|
+
async sleepFor(stepName: string, duration: Temporal.Duration): Promise<void> {
|
|
324
|
+
const now = Temporal.Now.instant();
|
|
325
|
+
const wakeAt = now.add(duration);
|
|
326
|
+
return await this.sleepUntil(stepName, wakeAt);
|
|
324
327
|
}
|
|
325
328
|
|
|
326
329
|
/**
|
|
@@ -328,14 +331,14 @@ export class TaskContext {
|
|
|
328
331
|
* @param stepName Checkpoint name for this wait.
|
|
329
332
|
* @param wakeAt Absolute time when the task should resume.
|
|
330
333
|
*/
|
|
331
|
-
async sleepUntil(stepName: string, wakeAt:
|
|
334
|
+
async sleepUntil(stepName: string, wakeAt: Temporal.Instant): Promise<void> {
|
|
332
335
|
const checkpointName = this.getCheckpointName(stepName);
|
|
333
336
|
const state = await this.lookupCheckpoint(checkpointName);
|
|
334
|
-
const actualWakeAt = typeof state === "string" ?
|
|
337
|
+
const actualWakeAt = typeof state === "string" ? Temporal.Instant.from(state) : wakeAt;
|
|
335
338
|
if (!state) {
|
|
336
|
-
await this.persistCheckpoint(checkpointName, wakeAt.
|
|
339
|
+
await this.persistCheckpoint(checkpointName, wakeAt.toString());
|
|
337
340
|
}
|
|
338
|
-
if (
|
|
341
|
+
if (Temporal.Instant.compare(Temporal.Now.instant(), actualWakeAt) < 0) {
|
|
339
342
|
await this.scheduleRun(actualWakeAt);
|
|
340
343
|
throw new SuspendTask();
|
|
341
344
|
}
|
|
@@ -389,7 +392,7 @@ export class TaskContext {
|
|
|
389
392
|
this.recordLeaseExtension(this.claimTimeout);
|
|
390
393
|
}
|
|
391
394
|
|
|
392
|
-
private async scheduleRun(wakeAt:
|
|
395
|
+
private async scheduleRun(wakeAt: Temporal.Instant): Promise<void> {
|
|
393
396
|
await this.con.query(`SELECT absurd.schedule_run($1, $2, $3)`, [
|
|
394
397
|
this.queueName,
|
|
395
398
|
this.task.run_id,
|
|
@@ -398,24 +401,20 @@ export class TaskContext {
|
|
|
398
401
|
}
|
|
399
402
|
|
|
400
403
|
/**
|
|
401
|
-
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout
|
|
404
|
+
* Waits for an event by name and returns its payload; optionally sets a custom step name and timeout.
|
|
402
405
|
* @param eventName Event identifier to wait for.
|
|
403
406
|
* @param options.stepName Optional checkpoint name (defaults to $awaitEvent:<eventName>).
|
|
404
|
-
* @param options.timeout Optional timeout
|
|
407
|
+
* @param options.timeout Optional timeout duration.
|
|
405
408
|
* @throws TimeoutError If the event is not received before the timeout.
|
|
406
409
|
*/
|
|
407
410
|
async awaitEvent(
|
|
408
411
|
eventName: string,
|
|
409
|
-
options?: { stepName?: string; timeout?:
|
|
412
|
+
options?: { stepName?: string; timeout?: Temporal.Duration }
|
|
410
413
|
): Promise<JsonValue> {
|
|
411
414
|
const stepName = options?.stepName || `$awaitEvent:${eventName}`;
|
|
412
415
|
let timeout: number | null = null;
|
|
413
|
-
if (
|
|
414
|
-
|
|
415
|
-
Number.isFinite(options?.timeout) &&
|
|
416
|
-
options?.timeout >= 0
|
|
417
|
-
) {
|
|
418
|
-
timeout = Math.floor(options?.timeout);
|
|
416
|
+
if (options?.timeout !== undefined) {
|
|
417
|
+
timeout = Math.floor(options.timeout.total("seconds"));
|
|
419
418
|
}
|
|
420
419
|
const checkpointName = this.getCheckpointName(stepName);
|
|
421
420
|
const cached = await this.lookupCheckpoint(checkpointName);
|
|
@@ -1022,10 +1021,10 @@ function normalizeCancellation(
|
|
|
1022
1021
|
}
|
|
1023
1022
|
const normalized: JsonObject = {};
|
|
1024
1023
|
if (policy.maxDuration !== undefined) {
|
|
1025
|
-
normalized.max_duration = policy.maxDuration;
|
|
1024
|
+
normalized.max_duration = Math.floor(policy.maxDuration.total("seconds"));
|
|
1026
1025
|
}
|
|
1027
1026
|
if (policy.maxDelay !== undefined) {
|
|
1028
|
-
normalized.max_delay = policy.maxDelay;
|
|
1027
|
+
normalized.max_delay = Math.floor(policy.maxDelay.total("seconds"));
|
|
1029
1028
|
}
|
|
1030
1029
|
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
1031
1030
|
}
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,9 @@ import {
|
|
|
11
11
|
} from "./absurd";
|
|
12
12
|
import { SQLiteConnection } from "./sqlite-connection";
|
|
13
13
|
|
|
14
|
+
// Re-export Temporal from temporal-polyfill
|
|
15
|
+
export { Temporal } from "temporal-polyfill";
|
|
16
|
+
|
|
14
17
|
export type { Queryable } from "./absurd";
|
|
15
18
|
export {
|
|
16
19
|
CancelledTask,
|
package/src/sqlite-connection.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Temporal } from "temporal-polyfill";
|
|
1
2
|
import type { Queryable } from "./absurd";
|
|
2
3
|
import type {
|
|
3
4
|
SQLiteColumnDefinition,
|
|
@@ -228,12 +229,21 @@ function decodeColumnValue<V = any>(args: {
|
|
|
228
229
|
}
|
|
229
230
|
|
|
230
231
|
if (columnTypeName === "datetime") {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
232
|
+
// SQLite stores datetimes as strings but may return them in different formats
|
|
233
|
+
// depending on how they were inserted. Support both ISO strings (from
|
|
234
|
+
// Temporal.Instant.toString() or Date.toISOString()) and epoch milliseconds
|
|
235
|
+
// (from numeric timestamps).
|
|
236
|
+
if (typeof value === "string") {
|
|
237
|
+
// Handle ISO string format (e.g., "2024-01-01T00:00:00Z")
|
|
238
|
+
return Temporal.Instant.from(value) as V;
|
|
235
239
|
}
|
|
236
|
-
|
|
240
|
+
if (typeof value === "number") {
|
|
241
|
+
// Handle epoch milliseconds format
|
|
242
|
+
return Temporal.Instant.fromEpochMilliseconds(value) as V;
|
|
243
|
+
}
|
|
244
|
+
throw new Error(
|
|
245
|
+
`Expected datetime column ${columnName} to be a string or number, got ${typeof value}`
|
|
246
|
+
);
|
|
237
247
|
}
|
|
238
248
|
|
|
239
249
|
// For other types, return as is
|
|
@@ -241,6 +251,14 @@ function decodeColumnValue<V = any>(args: {
|
|
|
241
251
|
}
|
|
242
252
|
|
|
243
253
|
function encodeColumnValue(value: any): any {
|
|
254
|
+
// Encode Temporal types to ISO string format for SQLite storage
|
|
255
|
+
if (value instanceof Temporal.Instant) {
|
|
256
|
+
return value.toString();
|
|
257
|
+
}
|
|
258
|
+
if (value instanceof Temporal.Duration) {
|
|
259
|
+
return value.toString();
|
|
260
|
+
}
|
|
261
|
+
// Legacy support for Date objects
|
|
244
262
|
if (value instanceof Date) {
|
|
245
263
|
return value.toISOString();
|
|
246
264
|
}
|
package/test/basic.test.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
vi,
|
|
9
9
|
} from "vitest";
|
|
10
10
|
import { createTestAbsurd, randomName, type TestContext } from "./setup.js";
|
|
11
|
-
import type
|
|
11
|
+
import { Temporal, type Absurd } from "../src/index.js";
|
|
12
12
|
import { EventEmitter, once } from "events";
|
|
13
13
|
|
|
14
14
|
describe("Basic SDK Operations", () => {
|
|
@@ -170,7 +170,7 @@ describe("Basic SDK Operations", () => {
|
|
|
170
170
|
const scheduledRun = await ctx.getRun(runID);
|
|
171
171
|
expect(scheduledRun).toMatchObject({
|
|
172
172
|
state: "sleeping",
|
|
173
|
-
available_at: wakeAt,
|
|
173
|
+
available_at: Temporal.Instant.fromEpochMilliseconds(wakeAt.getTime()),
|
|
174
174
|
wake_event: null,
|
|
175
175
|
});
|
|
176
176
|
|
|
@@ -188,7 +188,7 @@ describe("Basic SDK Operations", () => {
|
|
|
188
188
|
const resumedRun = await ctx.getRun(runID);
|
|
189
189
|
expect(resumedRun).toMatchObject({
|
|
190
190
|
state: "running",
|
|
191
|
-
started_at: wakeAt,
|
|
191
|
+
started_at: Temporal.Instant.fromEpochMilliseconds(wakeAt.getTime()),
|
|
192
192
|
});
|
|
193
193
|
});
|
|
194
194
|
|
|
@@ -215,7 +215,7 @@ describe("Basic SDK Operations", () => {
|
|
|
215
215
|
expect(running).toMatchObject({
|
|
216
216
|
state: "running",
|
|
217
217
|
claimed_by: "worker-a",
|
|
218
|
-
claim_expires_at:
|
|
218
|
+
claim_expires_at: Temporal.Instant.fromEpochMilliseconds(baseTime.getTime() + 30 * 1000),
|
|
219
219
|
});
|
|
220
220
|
|
|
221
221
|
await ctx.setFakeNow(new Date(baseTime.getTime() + 5 * 60 * 1000));
|
|
@@ -274,7 +274,7 @@ describe("Basic SDK Operations", () => {
|
|
|
274
274
|
const runRow = await ctx.getRun(runID);
|
|
275
275
|
expect(runRow).toMatchObject({
|
|
276
276
|
claimed_by: "worker-clean",
|
|
277
|
-
claim_expires_at:
|
|
277
|
+
claim_expires_at: Temporal.Instant.fromEpochMilliseconds(base.getTime() + 60 * 1000),
|
|
278
278
|
});
|
|
279
279
|
|
|
280
280
|
const beforeTTL = new Date(finishTime.getTime() + 30 * 60 * 1000);
|
|
@@ -481,7 +481,7 @@ describe("Basic SDK Operations", () => {
|
|
|
481
481
|
|
|
482
482
|
const getExpiresAt = async (runID: string) => {
|
|
483
483
|
const run = await ctx.getRun(runID);
|
|
484
|
-
return run?.claim_expires_at ? run.claim_expires_at.
|
|
484
|
+
return run?.claim_expires_at ? run.claim_expires_at.epochMilliseconds : 0;
|
|
485
485
|
};
|
|
486
486
|
|
|
487
487
|
absurd.workBatch("test-worker", claimTimeout);
|
package/test/events.test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, test, expect, beforeAll, afterEach } from "vitest";
|
|
2
2
|
import { createTestAbsurd, randomName, type TestContext } from "./setup.js";
|
|
3
3
|
import type { Absurd } from "../src/index.js";
|
|
4
|
-
import { TimeoutError } from "../src/index.js";
|
|
4
|
+
import { TimeoutError, Temporal } from "../src/index.js";
|
|
5
5
|
|
|
6
6
|
describe("Event system", () => {
|
|
7
7
|
let ctx: TestContext;
|
|
@@ -21,7 +21,7 @@ describe("Event system", () => {
|
|
|
21
21
|
const eventName = randomName("test_event");
|
|
22
22
|
|
|
23
23
|
absurd.registerTask({ name: "waiter" }, async (params, ctx) => {
|
|
24
|
-
const payload = await ctx.awaitEvent(eventName, { timeout: 60 });
|
|
24
|
+
const payload = await ctx.awaitEvent(eventName, { timeout: Temporal.Duration.from({ seconds: 60 }) });
|
|
25
25
|
return { received: payload };
|
|
26
26
|
});
|
|
27
27
|
|
|
@@ -86,7 +86,7 @@ describe("Event system", () => {
|
|
|
86
86
|
absurd.registerTask({ name: "timeout-waiter" }, async (_params, ctx) => {
|
|
87
87
|
try {
|
|
88
88
|
const payload = await ctx.awaitEvent(eventName, {
|
|
89
|
-
timeout: timeoutSeconds,
|
|
89
|
+
timeout: Temporal.Duration.from({ seconds: timeoutSeconds }),
|
|
90
90
|
});
|
|
91
91
|
return { timedOut: false, result: payload };
|
|
92
92
|
} catch (err) {
|
|
@@ -109,7 +109,7 @@ describe("Event system", () => {
|
|
|
109
109
|
wake_event: eventName,
|
|
110
110
|
});
|
|
111
111
|
const expectedWake = new Date(baseTime.getTime() + timeoutSeconds * 1000);
|
|
112
|
-
expect(sleepingRun?.available_at?.
|
|
112
|
+
expect(sleepingRun?.available_at?.epochMilliseconds).toBe(expectedWake.getTime());
|
|
113
113
|
|
|
114
114
|
await ctx.setFakeNow(new Date(expectedWake.getTime() + 1000));
|
|
115
115
|
await absurd.workBatch("worker1", 120, 1);
|
|
@@ -170,13 +170,13 @@ describe("Event system", () => {
|
|
|
170
170
|
|
|
171
171
|
absurd.registerTask({ name: "timeout-no-loop" }, async (_params, ctx) => {
|
|
172
172
|
try {
|
|
173
|
-
await ctx.awaitEvent(eventName, { stepName: "wait", timeout: 10 });
|
|
173
|
+
await ctx.awaitEvent(eventName, { stepName: "wait", timeout: Temporal.Duration.from({ seconds: 10 }) });
|
|
174
174
|
return { stage: "unexpected" };
|
|
175
175
|
} catch (err) {
|
|
176
176
|
if (err instanceof TimeoutError) {
|
|
177
177
|
const payload = await ctx.awaitEvent(eventName, {
|
|
178
178
|
stepName: "wait",
|
|
179
|
-
timeout: 10,
|
|
179
|
+
timeout: Temporal.Duration.from({ seconds: 10 }),
|
|
180
180
|
});
|
|
181
181
|
return { stage: "resumed", payload };
|
|
182
182
|
}
|
package/test/retry.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, test, expect, beforeAll, afterEach } from "vitest";
|
|
2
2
|
import { createTestAbsurd, randomName, type TestContext } from "./setup.js";
|
|
3
|
-
import type
|
|
3
|
+
import { Temporal, type Absurd } from "../src/index.js";
|
|
4
4
|
|
|
5
5
|
describe("Retry and cancellation", () => {
|
|
6
6
|
let ctx: TestContext;
|
|
@@ -159,7 +159,7 @@ describe("Retry and cancellation", () => {
|
|
|
159
159
|
const { taskID } = await absurd.spawn("duration-cancel", undefined, {
|
|
160
160
|
maxAttempts: 4,
|
|
161
161
|
retryStrategy: { kind: "fixed", baseSeconds: 30 },
|
|
162
|
-
cancellation: { maxDuration: 90 },
|
|
162
|
+
cancellation: { maxDuration: Temporal.Duration.from({ seconds: 90 }) },
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
await absurd.workBatch("worker1", 60, 1);
|
|
@@ -185,7 +185,7 @@ describe("Retry and cancellation", () => {
|
|
|
185
185
|
});
|
|
186
186
|
|
|
187
187
|
const { taskID } = await absurd.spawn("delay-cancel", undefined, {
|
|
188
|
-
cancellation: { maxDelay: 60 },
|
|
188
|
+
cancellation: { maxDelay: Temporal.Duration.from({ seconds: 60 }) },
|
|
189
189
|
});
|
|
190
190
|
|
|
191
191
|
await ctx.setFakeNow(new Date(baseTime.getTime() + 61 * 1000));
|
|
@@ -312,8 +312,8 @@ describe("Retry and cancellation", () => {
|
|
|
312
312
|
|
|
313
313
|
await absurd.cancelTask(taskID);
|
|
314
314
|
const second = await ctx.getTask(taskID);
|
|
315
|
-
expect(second?.cancelled_at?.
|
|
316
|
-
first?.cancelled_at?.
|
|
315
|
+
expect(second?.cancelled_at?.epochMilliseconds).toBe(
|
|
316
|
+
first?.cancelled_at?.epochMilliseconds,
|
|
317
317
|
);
|
|
318
318
|
});
|
|
319
319
|
|
package/test/setup.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { join } from "node:path";
|
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import {
|
|
8
8
|
Absurd,
|
|
9
|
+
Temporal,
|
|
9
10
|
type AbsurdHooks,
|
|
10
11
|
type JsonValue,
|
|
11
12
|
type SQLiteDatabase,
|
|
@@ -22,8 +23,8 @@ export interface TaskRow {
|
|
|
22
23
|
retry_strategy: JsonValue | null;
|
|
23
24
|
max_attempts: number | null;
|
|
24
25
|
cancellation: JsonValue | null;
|
|
25
|
-
enqueue_at:
|
|
26
|
-
first_started_at:
|
|
26
|
+
enqueue_at: Temporal.Instant;
|
|
27
|
+
first_started_at: Temporal.Instant | null;
|
|
27
28
|
state:
|
|
28
29
|
| "pending"
|
|
29
30
|
| "running"
|
|
@@ -34,7 +35,7 @@ export interface TaskRow {
|
|
|
34
35
|
attempts: number;
|
|
35
36
|
last_attempt_run: string | null;
|
|
36
37
|
completed_payload: JsonValue | null;
|
|
37
|
-
cancelled_at:
|
|
38
|
+
cancelled_at: Temporal.Instant | null;
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
export interface RunRow {
|
|
@@ -49,16 +50,16 @@ export interface RunRow {
|
|
|
49
50
|
| "failed"
|
|
50
51
|
| "cancelled";
|
|
51
52
|
claimed_by: string | null;
|
|
52
|
-
claim_expires_at:
|
|
53
|
-
available_at:
|
|
53
|
+
claim_expires_at: Temporal.Instant | null;
|
|
54
|
+
available_at: Temporal.Instant;
|
|
54
55
|
wake_event: string | null;
|
|
55
56
|
event_payload: JsonValue | null;
|
|
56
|
-
started_at:
|
|
57
|
-
completed_at:
|
|
58
|
-
failed_at:
|
|
57
|
+
started_at: Temporal.Instant | null;
|
|
58
|
+
completed_at: Temporal.Instant | null;
|
|
59
|
+
failed_at: Temporal.Instant | null;
|
|
59
60
|
result: JsonValue | null;
|
|
60
61
|
failure_reason: JsonValue | null;
|
|
61
|
-
created_at:
|
|
62
|
+
created_at: Temporal.Instant;
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
interface SqliteFixture {
|
package/test/sqlite.test.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { tmpdir } from "node:os";
|
|
|
6
6
|
|
|
7
7
|
import { SQLiteConnection } from "../src/sqlite-connection";
|
|
8
8
|
import type { SQLiteDatabase } from "../src/sqlite-types";
|
|
9
|
+
import { Temporal } from "../src/index";
|
|
9
10
|
|
|
10
11
|
describe("SQLiteConnection", () => {
|
|
11
12
|
it("rewrites postgres-style params and absurd schema names", async () => {
|
|
@@ -69,7 +70,7 @@ describe("SQLiteConnection", () => {
|
|
|
69
70
|
db.close();
|
|
70
71
|
});
|
|
71
72
|
|
|
72
|
-
it("decodes datetime columns into
|
|
73
|
+
it("decodes datetime columns into Temporal.Instant objects", async () => {
|
|
73
74
|
const db = new sqlite(":memory:") as SQLiteDatabase;
|
|
74
75
|
const conn = new SQLiteConnection(db);
|
|
75
76
|
const now = Date.now();
|
|
@@ -77,12 +78,12 @@ describe("SQLiteConnection", () => {
|
|
|
77
78
|
await conn.exec("CREATE TABLE t_date (created_at DATETIME)");
|
|
78
79
|
await conn.exec("INSERT INTO t_date (created_at) VALUES ($1)", [now]);
|
|
79
80
|
|
|
80
|
-
const { rows } = await conn.query<{ created_at:
|
|
81
|
+
const { rows } = await conn.query<{ created_at: Temporal.Instant }>(
|
|
81
82
|
"SELECT created_at FROM t_date"
|
|
82
83
|
);
|
|
83
84
|
|
|
84
|
-
expect(rows[0]?.created_at).toBeInstanceOf(
|
|
85
|
-
expect(rows[0]?.created_at.
|
|
85
|
+
expect(rows[0]?.created_at).toBeInstanceOf(Temporal.Instant);
|
|
86
|
+
expect(rows[0]?.created_at.epochMilliseconds).toBe(now);
|
|
86
87
|
db.close();
|
|
87
88
|
});
|
|
88
89
|
|
package/test/step.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, test, expect, beforeAll, afterEach, vi } from "vitest";
|
|
2
2
|
import { createTestAbsurd, randomName, type TestContext } from "./setup.js";
|
|
3
|
-
import type
|
|
3
|
+
import { Temporal, type Absurd } from "../src/index.js";
|
|
4
4
|
|
|
5
5
|
describe("Step functionality", () => {
|
|
6
6
|
let ctx: TestContext;
|
|
@@ -193,7 +193,7 @@ describe("Step functionality", () => {
|
|
|
193
193
|
|
|
194
194
|
const durationSeconds = 60;
|
|
195
195
|
absurd.registerTask({ name: "sleep-for" }, async (_params, ctx) => {
|
|
196
|
-
await ctx.sleepFor("wait-for", durationSeconds);
|
|
196
|
+
await ctx.sleepFor("wait-for", Temporal.Duration.from({ seconds: durationSeconds }));
|
|
197
197
|
return { resumed: true };
|
|
198
198
|
});
|
|
199
199
|
|
|
@@ -205,7 +205,7 @@ describe("Step functionality", () => {
|
|
|
205
205
|
state: "sleeping",
|
|
206
206
|
});
|
|
207
207
|
const wakeTime = new Date(base.getTime() + durationSeconds * 1000);
|
|
208
|
-
expect(sleepingRun?.available_at?.
|
|
208
|
+
expect(sleepingRun?.available_at?.epochMilliseconds).toBe(wakeTime.getTime());
|
|
209
209
|
|
|
210
210
|
const resumeTime = new Date(wakeTime.getTime() + 5 * 1000);
|
|
211
211
|
vi.setSystemTime(resumeTime);
|
|
@@ -225,11 +225,12 @@ describe("Step functionality", () => {
|
|
|
225
225
|
await ctx.setFakeNow(base);
|
|
226
226
|
|
|
227
227
|
const wakeTime = new Date(base.getTime() + 5 * 60 * 1000);
|
|
228
|
+
const wakeInstant = Temporal.Instant.fromEpochMilliseconds(wakeTime.getTime());
|
|
228
229
|
let executions = 0;
|
|
229
230
|
|
|
230
231
|
absurd.registerTask({ name: "sleep-until" }, async (_params, ctx) => {
|
|
231
232
|
executions++;
|
|
232
|
-
await ctx.sleepUntil("sleep-step",
|
|
233
|
+
await ctx.sleepUntil("sleep-step", wakeInstant);
|
|
233
234
|
return { executions };
|
|
234
235
|
});
|
|
235
236
|
|
|
@@ -240,7 +241,7 @@ describe("Step functionality", () => {
|
|
|
240
241
|
expect(checkpointRow).toMatchObject({
|
|
241
242
|
checkpoint_name: "sleep-step",
|
|
242
243
|
owner_run_id: runID,
|
|
243
|
-
state:
|
|
244
|
+
state: wakeInstant.toString(),
|
|
244
245
|
});
|
|
245
246
|
|
|
246
247
|
const sleepingRun = await ctx.getRun(runID);
|