solid-objects 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/README.md +7 -0
- package/dist/actor-runtime.d.ts +3 -0
- package/dist/actor-runtime.d.ts.map +1 -1
- package/dist/broadcast-worker.d.ts +1 -0
- package/dist/broadcast-worker.d.ts.map +1 -1
- package/dist/broadcast-worker.js +10 -1
- package/dist/broadcast-worker.js.map +1 -1
- package/dist/configuration.d.ts +2 -0
- package/dist/configuration.d.ts.map +1 -1
- package/dist/configuration.js +24 -1
- package/dist/configuration.js.map +1 -1
- package/dist/database/sqlite.d.ts +6 -0
- package/dist/database/sqlite.d.ts.map +1 -1
- package/dist/database/sqlite.js +23 -2
- package/dist/database/sqlite.js.map +1 -1
- package/dist/doctor.js +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/due-work.d.ts +15 -0
- package/dist/due-work.d.ts.map +1 -0
- package/dist/due-work.js +124 -0
- package/dist/due-work.js.map +1 -0
- package/dist/effect-worker.d.ts +1 -0
- package/dist/effect-worker.d.ts.map +1 -1
- package/dist/effect-worker.js +10 -1
- package/dist/effect-worker.js.map +1 -1
- package/dist/errors.d.ts +14 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +11 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local-signal.d.ts +15 -0
- package/dist/local-signal.d.ts.map +1 -0
- package/dist/local-signal.js +35 -0
- package/dist/local-signal.js.map +1 -0
- package/dist/redrive.d.ts +3 -0
- package/dist/redrive.d.ts.map +1 -1
- package/dist/redrive.js +30 -1
- package/dist/redrive.js.map +1 -1
- package/dist/reminder-scheduler.d.ts +1 -0
- package/dist/reminder-scheduler.d.ts.map +1 -1
- package/dist/reminder-scheduler.js +10 -1
- package/dist/reminder-scheduler.js.map +1 -1
- package/dist/repository.d.ts +8 -1
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +57 -21
- package/dist/repository.js.map +1 -1
- package/dist/runtime.d.ts +8 -7
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +50 -6
- package/dist/runtime.js.map +1 -1
- package/dist/single-owner.d.ts +17 -0
- package/dist/single-owner.d.ts.map +1 -0
- package/dist/single-owner.js +27 -0
- package/dist/single-owner.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wake-up-selection.d.ts +1 -0
- package/dist/wake-up-selection.d.ts.map +1 -1
- package/dist/wake-up-selection.js +10 -0
- package/dist/wake-up-selection.js.map +1 -1
- package/dist/wall-clock-watch.d.ts +14 -0
- package/dist/wall-clock-watch.d.ts.map +1 -0
- package/dist/wall-clock-watch.js +35 -0
- package/dist/wall-clock-watch.js.map +1 -0
- package/dist/worker.d.ts +3 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +29 -4
- package/dist/worker.js.map +1 -1
- package/docs/agents.md +10 -3
- package/docs/api.md +66 -16
- package/docs/benchmarks.md +208 -69
- package/docs/compare/ai-agents.md +252 -0
- package/docs/compare/dbos.md +12 -0
- package/docs/compare/graphile-worker.md +11 -0
- package/docs/compare/restate.md +12 -1
- package/docs/comparisons.md +1 -0
- package/docs/configuration.md +114 -18
- package/docs/correctness.md +61 -10
- package/docs/errors-and-recovery.md +4 -0
- package/docs/operations.md +45 -5
- package/docs/parity.md +7 -2
- package/docs/virtual-actors.md +2 -2
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wake-up-selection.d.ts","sourceRoot":"","sources":["../src/wake-up-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,kBAAkB,4BAA4B,CAAA;AAC3D,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAChD,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,oBAAoB,wBAAwB,CAAA;AAQzD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,+BAA+B,EAAE,MAAM,CAAA;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAK3F"}
|
|
1
|
+
{"version":3,"file":"wake-up-selection.d.ts","sourceRoot":"","sources":["../src/wake-up-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,kBAAkB,4BAA4B,CAAA;AAC3D,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAChD,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,oBAAoB,wBAAwB,CAAA;AAQzD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,+BAA+B,EAAE,MAAM,CAAA;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAK3F;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAUlD"}
|
|
@@ -13,6 +13,16 @@ export async function selectWakeUp(options) {
|
|
|
13
13
|
return await automatic(options);
|
|
14
14
|
return await named({ ...options, name: setting });
|
|
15
15
|
}
|
|
16
|
+
export function singleOwnerWakeUp() {
|
|
17
|
+
return {
|
|
18
|
+
adapter: new InProcessWakeUpAdapter(),
|
|
19
|
+
capability: {
|
|
20
|
+
adapter: "in_process",
|
|
21
|
+
crossesProcesses: false,
|
|
22
|
+
reason: "singleOwner is set, so one process owns the database and in-process signalling reaches every role",
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
16
26
|
function configured(adapter) {
|
|
17
27
|
if (adapter.defaultCapability)
|
|
18
28
|
return { adapter, capability: adapter.defaultCapability };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wake-up-selection.js","sourceRoot":"","sources":["../src/wake-up-selection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wake-up-selection.js","sourceRoot":"","sources":["../src/wake-up-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const WALL_CLOCK_WATCH_INTERVAL_MILLISECONDS = 10000;
|
|
2
|
+
export declare const WALL_CLOCK_JUMP_MILLISECONDS = 1000;
|
|
3
|
+
export declare class WallClockWatch {
|
|
4
|
+
private readonly options;
|
|
5
|
+
private stopping;
|
|
6
|
+
constructor(options: {
|
|
7
|
+
onJump: () => void;
|
|
8
|
+
});
|
|
9
|
+
run(signal: AbortSignal): Promise<void>;
|
|
10
|
+
requestShutdown(): void;
|
|
11
|
+
stopped(): boolean;
|
|
12
|
+
stop(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=wall-clock-watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wall-clock-watch.d.ts","sourceRoot":"","sources":["../src/wall-clock-watch.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sCAAsC,QAAS,CAAA;AAC5D,eAAO,MAAM,4BAA4B,OAAQ,CAAA;AAEjD,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAQ;gBAEK,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAEtD,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,IAAI;CAGb"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { waitFor } from "./worker.js";
|
|
2
|
+
export const WALL_CLOCK_WATCH_INTERVAL_MILLISECONDS = 10_000;
|
|
3
|
+
export const WALL_CLOCK_JUMP_MILLISECONDS = 1_000;
|
|
4
|
+
export class WallClockWatch {
|
|
5
|
+
options;
|
|
6
|
+
stopping = false;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
10
|
+
async run(signal) {
|
|
11
|
+
let offset = wallClockOffset();
|
|
12
|
+
while (!signal.aborted && !this.stopping) {
|
|
13
|
+
await waitFor(WALL_CLOCK_WATCH_INTERVAL_MILLISECONDS, signal);
|
|
14
|
+
if (signal.aborted || this.stopping)
|
|
15
|
+
return;
|
|
16
|
+
const current = wallClockOffset();
|
|
17
|
+
if (Math.abs(current - offset) >= WALL_CLOCK_JUMP_MILLISECONDS)
|
|
18
|
+
this.options.onJump();
|
|
19
|
+
offset = current;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
requestShutdown() {
|
|
23
|
+
this.stopping = true;
|
|
24
|
+
}
|
|
25
|
+
stopped() {
|
|
26
|
+
return this.stopping;
|
|
27
|
+
}
|
|
28
|
+
stop() {
|
|
29
|
+
this.stopping = true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function wallClockOffset() {
|
|
33
|
+
return Date.now() - performance.now();
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=wall-clock-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wall-clock-watch.js","sourceRoot":"","sources":["../src/wall-clock-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,CAAC,MAAM,sCAAsC,GAAG,MAAM,CAAA;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAA;AAEjD,MAAM,OAAO,cAAc;IAGI;IAFrB,QAAQ,GAAG,KAAK,CAAA;IAExB,YAA6B,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE,KAAK,CAAC,GAAG,CAAC,MAAmB;QAC3B,IAAI,MAAM,GAAG,eAAe,EAAE,CAAA;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,OAAO,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAA;YAC7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAC3C,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,4BAA4B;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;YACrF,MAAM,GAAG,OAAO,CAAA;QAClB,CAAC;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;CACF;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;AACvC,CAAC"}
|
package/dist/worker.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare class Worker {
|
|
|
7
7
|
private stopping;
|
|
8
8
|
private readonly activations;
|
|
9
9
|
private readonly pollingBackoff;
|
|
10
|
+
private readonly dueWait;
|
|
10
11
|
constructor(runtime: SolidObjectsRuntime, options?: {
|
|
11
12
|
setupFailure?: "report" | "throw";
|
|
12
13
|
});
|
|
@@ -22,6 +23,8 @@ export declare class Worker {
|
|
|
22
23
|
stopped(): boolean;
|
|
23
24
|
stop(): Promise<void>;
|
|
24
25
|
private releaseCachedActivations;
|
|
26
|
+
private idleWaitMilliseconds;
|
|
27
|
+
private untilCachedActivationDue;
|
|
25
28
|
private ensureRegistered;
|
|
26
29
|
private claimCachedActivation;
|
|
27
30
|
private maintainCachedActivations;
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAYvD,qBAAa,MAAM;IASf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,QAAQ,CAAC,SAAS,SAAe;IACjC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAGrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;KAAO;IAmBtE,IAAI,kCAAkC,IAAI,MAAM,CAE/C;IAEK,OAAO,CAAC,OAAO,GAAE;QAAE,mBAAmB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA2EtF,YAAY,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAWb,wBAAwB;YAUxB,oBAAoB;IAWlC,OAAO,CAAC,wBAAwB;YAUlB,gBAAgB;YAMhB,qBAAqB;YAUrB,yBAAyB;YA6BzB,iBAAiB;YASjB,kBAAkB;IAQhC,OAAO,CAAC,kBAAkB;CAgB3B;AAmBD,wBAAgB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE;IAC1D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CACjC,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBlB"}
|
package/dist/worker.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "./platform/uuid.js";
|
|
2
2
|
import { ActorSetupFailed, ApplicationWriteForbidden, LostActivation, StateMigrationError, } from "./errors.js";
|
|
3
3
|
import { PollingBackoff } from "./polling-backoff.js";
|
|
4
|
+
import { DueWait, idleWaitMilliseconds } from "./single-owner.js";
|
|
4
5
|
import { yieldToEventLoop } from "./yield-to-event-loop.js";
|
|
5
6
|
export class Worker {
|
|
6
7
|
runtime;
|
|
@@ -10,6 +11,7 @@ export class Worker {
|
|
|
10
11
|
stopping = false;
|
|
11
12
|
activations = new Map();
|
|
12
13
|
pollingBackoff;
|
|
14
|
+
dueWait = new DueWait();
|
|
13
15
|
constructor(runtime, options = {}) {
|
|
14
16
|
this.runtime = runtime;
|
|
15
17
|
this.options = options;
|
|
@@ -139,7 +141,7 @@ export class Worker {
|
|
|
139
141
|
continue;
|
|
140
142
|
}
|
|
141
143
|
const notified = await wakeUp.wait({
|
|
142
|
-
timeoutMilliseconds: this.
|
|
144
|
+
timeoutMilliseconds: await this.idleWaitMilliseconds(),
|
|
143
145
|
signal,
|
|
144
146
|
});
|
|
145
147
|
if (notified === false)
|
|
@@ -176,7 +178,28 @@ export class Worker {
|
|
|
176
178
|
});
|
|
177
179
|
}
|
|
178
180
|
}
|
|
181
|
+
async idleWaitMilliseconds() {
|
|
182
|
+
const databaseWait = await idleWaitMilliseconds({
|
|
183
|
+
settings: this.runtime.settings,
|
|
184
|
+
pollingIntervalMilliseconds: this.pollingBackoff.currentIntervalMilliseconds,
|
|
185
|
+
dueWait: this.dueWait,
|
|
186
|
+
untilDue: () => this.runtime.dueWork.untilActorWork({ processId: this.processId }),
|
|
187
|
+
});
|
|
188
|
+
if (!this.runtime.settings.singleOwner)
|
|
189
|
+
return databaseWait;
|
|
190
|
+
return Math.min(databaseWait, this.untilCachedActivationDue());
|
|
191
|
+
}
|
|
192
|
+
untilCachedActivationDue() {
|
|
193
|
+
let earliest = Number.POSITIVE_INFINITY;
|
|
194
|
+
for (const activation of this.activations.values()) {
|
|
195
|
+
const deactivateAt = activation.lastUsedAt + this.runtime.settings.idleDeactivationTimeoutMilliseconds;
|
|
196
|
+
earliest = Math.min(earliest, activation.renewAt, deactivateAt);
|
|
197
|
+
}
|
|
198
|
+
return Math.max(Math.ceil(earliest - performance.now()), 0);
|
|
199
|
+
}
|
|
179
200
|
async ensureRegistered() {
|
|
201
|
+
if (this.registered && this.runtime.settings.singleOwner)
|
|
202
|
+
return;
|
|
180
203
|
await this.runtime.repository.registerProcess(this.processId, "worker");
|
|
181
204
|
this.registered = true;
|
|
182
205
|
}
|
|
@@ -266,11 +289,13 @@ export function waitFor(milliseconds, signal) {
|
|
|
266
289
|
if (signal?.aborted)
|
|
267
290
|
return Promise.resolve();
|
|
268
291
|
return new Promise((resolve) => {
|
|
269
|
-
const
|
|
270
|
-
signal?.addEventListener("abort", () => {
|
|
292
|
+
const finish = () => {
|
|
271
293
|
clearTimeout(timeout);
|
|
294
|
+
signal?.removeEventListener("abort", finish);
|
|
272
295
|
resolve();
|
|
273
|
-
}
|
|
296
|
+
};
|
|
297
|
+
const timeout = setTimeout(finish, milliseconds);
|
|
298
|
+
signal?.addEventListener("abort", finish, { once: true });
|
|
274
299
|
});
|
|
275
300
|
}
|
|
276
301
|
export async function withProcessHeartbeat(options) {
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAS3D,MAAM,OAAO,MAAM;IASE;IACA;IATV,SAAS,GAAG,UAAU,EAAE,CAAA;IACzB,UAAU,GAAG,KAAK,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA;IACP,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAA;IACjD,cAAc,CAAgB;IAC9B,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAExC,YACmB,OAA4B,EAC5B,UAAiD,EAAE;QADnD,YAAO,GAAP,OAAO,CAAqB;QAC5B,YAAO,GAAP,OAAO,CAA4C;QAEpE,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,2BAA2B,EAAE,IAAI,CAAC,GAAG,CACnC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,EAC5C,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAClD;YACD,2BAA2B,EAAE,IAAI,CAAC,GAAG,CACnC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,EAChD,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAClD;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CACvB,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,EAAE;gBACtD,IAAI,EAAE,QAAQ;gBACd,GAAG,UAAU;aACd,CAAC;SACL,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,kCAAkC;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA0D,EAAE;QACxE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAA;YAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC7B,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;YACtC,IAAI,MAAM,GAAiC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC7E,IAAI,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAChF,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAA;YACnB,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YACvC,IAAI,aAAa,GAAG,KAAK,CAAA;YACzB,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,SAAS,CAAA;gBACb,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC;wBAAE,MAAM,KAAK,CAAA;oBACrD,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;oBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO;wBAAE,MAAM,KAAK,CAAC,UAAU,CAAA;oBACjE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC;wBAAE,MAAM,KAAK,CAAC,UAAU,CAAA;oBACvE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;oBAC/C,OAAO,SAAS,CAAA;gBAClB,CAAC;gBACD,SAAS,IAAI,CAAC,CAAA;gBACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;oBACpD,MAAM,IAAI,CAAC,iBAAiB,CAAC;wBAC3B,IAAI;wBACJ,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;wBACpE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;qBAC7D,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBAClB,CAAC;gBACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC7B,MAAM,GAAG;oBACP,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,IAAI;oBACJ,UAAU,EAAE,GAAG;oBACf,OAAO,EACL,MAAM,EAAE,OAAO;wBACf,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC;iBACzE,CAAA;gBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBAC9C,aAAa;oBACX,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;wBAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,aAAa;4BAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAA;gBAC3D,IAAI,aAAa;oBAAE,MAAK;gBACxB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;gBACtC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;oBACzD,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;iBACzC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAA;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACzF,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,EAAE;wBACrD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;wBACzC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;wBACrC,SAAS;wBACT,aAAa,EAAE,OAAO;qBACvB,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,WAAW;iBACvB,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS;gBAAE,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QACtF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAiC,EAAE;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAA;QAC3C,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAClC,IAAI,KAAK,KAAK,CAAC;oBAAE,MAAK;gBACtB,SAAS,IAAI,KAAK,CAAA;gBAClB,MAAM,gBAAgB,EAAE,CAAA;YAC1B,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAmB;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAA;QAC1D,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACtC,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAK;YAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,MAAM,gBAAgB,EAAE,CAAA;gBACxB,SAAQ;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACjC,mBAAmB,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE;gBACtD,MAAM;aACP,CAAC,CAAA;YACF,IAAI,QAAQ,KAAK,KAAK;gBAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;;gBACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvF,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QACrC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACzD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,WAAW;aACvB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;YAC9C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,2BAA2B,EAAE,IAAI,CAAC,cAAc,CAAC,2BAA2B;YAC5E,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SACnF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,YAAY,CAAA;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAA;IAChE,CAAC;IAEO,wBAAwB;QAC9B,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAA;QACvC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAChB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAA;YACnF,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAM;QAChE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC/D,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;aAC7C,CAAC,CAAA;YACF,IAAI,IAAI;gBAAE,OAAO,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAA;QAC1C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC7B,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACxD,IACE,GAAG,GAAG,UAAU,CAAC,UAAU;gBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,EACzD,CAAC;gBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,SAAS,EAAE,WAAW;iBACvB,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO;gBAAE,SAAQ;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC/E,UAAU,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAA;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC;oBAAE,MAAM,KAAK,CAAA;gBACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,SAAS,EAAE,WAAW;iBACvB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAI/B;QACC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACjD,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAiB;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC;gBAAE,MAAM,KAAK,CAAA;QACrD,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,IAAiB,EAAE,KAAc;QAC1D,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;QAC/D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,EAAE;YACtD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC9B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS;SACV,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,mCAAmC;YAC1C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC9B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,CACL,KAAK,YAAY,mBAAmB;QACpC,KAAK,YAAY,yBAAyB;QAC1C,KAAK,YAAY,cAAc,CAChC,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,YAAoB,EAAE,MAAoB;IAChE,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5C,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAChD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAS,OAIlD;IACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IACjD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,IAAI,cAAuB,CAAA;IAC3B,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAC9F,CAAC,KAAc,EAAE,EAAE;QACjB,cAAc,GAAG,KAAK,CAAA;IACxB,CAAC,CACF,CAAA;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;QAChC,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,SAAS,CAAA;QACf,IAAI,cAAc;YAAE,MAAM,cAAc,CAAA;QACxC,OAAO,MAAM,CAAA;IACf,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,SAAS,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAIpC;IACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAC9C,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAA;QAC5E,IAAI,MAAM,CAAC,OAAO;YAAE,OAAM;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;YAC1F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3B,KAAK,EAAE,wCAAwC;gBAC/C,GAAG,UAAU;aACd,CAAC,CAAA;YACF,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/docs/agents.md
CHANGED
|
@@ -382,6 +382,10 @@ npm install solid-objects @sqlite.org/sqlite-wasm
|
|
|
382
382
|
`@sqlite.org/sqlite-wasm` 3.50 or newer is an optional peer dependency. The
|
|
383
383
|
browser runtime needs it.
|
|
384
384
|
|
|
385
|
+
The browser does not propagate ambient guards across `await`. Read the
|
|
386
|
+
[browser context contract](api.md#browser-async-context) before writing async
|
|
387
|
+
actor operations or transaction callbacks.
|
|
388
|
+
|
|
385
389
|
Every authorization callback denies by default in the browser too. Write the
|
|
386
390
|
policy in [Authorize in the browser](#authorize-in-the-browser) before you call
|
|
387
391
|
an actor. Reminders and effects run only while the worker calls
|
|
@@ -505,9 +509,12 @@ leaves the device.
|
|
|
505
509
|
|
|
506
510
|
- One worker hosts one runtime. Do not import `solid-objects/browser/host` in
|
|
507
511
|
a process that also imports the Node.js entry points.
|
|
508
|
-
- After the first `await
|
|
509
|
-
|
|
510
|
-
|
|
512
|
+
- After the first `await`, application-write and inside-transaction guards
|
|
513
|
+
read as unset. A direct application write can execute and survive a failed
|
|
514
|
+
turn. Use staged effects or a commit action's supplied fenced connection;
|
|
515
|
+
never wait for an actor while holding a transaction on its database. Read the
|
|
516
|
+
[browser context contract](api.md#browser-async-context). Durable actor fencing
|
|
517
|
+
and the SQLite WASM transaction deadline remain active.
|
|
511
518
|
- Reminders and effects run only while a worker that calls
|
|
512
519
|
`runtime.run(signal)` is alive. When the user closes every tab, nothing runs.
|
|
513
520
|
- With `sharedSqliteWasm`, a statement can fail with `SharedDatabaseFailover`
|
package/docs/api.md
CHANGED
|
@@ -37,11 +37,10 @@ authorization, capability boundaries, and release validation.
|
|
|
37
37
|
owner. The normal lifecycle is `install()`, `run(signal)`, then `close()`.
|
|
38
38
|
`snapshotWithIncarnation(reference)` returns the same authorized fields as
|
|
39
39
|
`snapshot()`. It adds the read instance's `instanceId`, `revision`, and
|
|
40
|
-
`createdAtMs` from that identical read.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
[
|
|
44
|
-
the same-millisecond boundary.
|
|
40
|
+
`createdAtMs` from that identical read. Use `instanceId` for incarnation
|
|
41
|
+
equality and compare `revision` numerically only within that same instance.
|
|
42
|
+
`createdAtMs` is creation metadata, not a unique fence or a total ordering.
|
|
43
|
+
See [Snapshot incarnation identity](#snapshot-incarnation-identity).
|
|
45
44
|
- `Actor`: base class providing `ref()`, `actorId`, `currentMessage`,
|
|
46
45
|
`observables()`, `reject()`, `emit()`, `transmit()`, `commitAction()`,
|
|
47
46
|
`schedule()`, `sendTo()`, and protected lifecycle hooks.
|
|
@@ -128,6 +127,35 @@ function playerForSession<PlayerType extends { sessionId: string }>(options: {
|
|
|
128
127
|
}
|
|
129
128
|
```
|
|
130
129
|
|
|
130
|
+
### Snapshot incarnation identity
|
|
131
|
+
|
|
132
|
+
An actor's `instanceId` is its opaque persisted identity. It changes on destroy
|
|
133
|
+
and recreation even when both creations share a database millisecond, state,
|
|
134
|
+
and revision. Use exact `instanceId` equality to decide whether two reads refer
|
|
135
|
+
to the same incarnation. Compare revisions with `BigInt` only when those IDs
|
|
136
|
+
match. Neither `createdAtMs` nor a reset revision can establish identity.
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
const observed = await runtime.snapshotWithIncarnation(reference)
|
|
140
|
+
// After asynchronous work, check whether a newly authorized read still refers
|
|
141
|
+
// to the same persisted incarnation.
|
|
142
|
+
const current = await runtime.snapshotWithIncarnation(reference)
|
|
143
|
+
const sameIncarnation = observed.instanceId !== "0" && current.instanceId === observed.instanceId
|
|
144
|
+
const sameCommittedState = sameIncarnation && BigInt(current.revision) === BigInt(observed.revision)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This check is a comparison, not an atomic conditional write: the actor may
|
|
148
|
+
change after the second read. A derived SQL write needs its own transactional
|
|
149
|
+
compare-and-set on the expected instance ID and revision, with an authoritative
|
|
150
|
+
procedure for adopting a new instance. A delayed callback must never replace a
|
|
151
|
+
projection's instance merely because its UUID differs. UUIDs carry no ordering;
|
|
152
|
+
creation timestamps can tie, and revision numbers restart on recreation.
|
|
153
|
+
|
|
154
|
+
A snapshot of an actor that has no persisted row returns `instanceId: "0"`,
|
|
155
|
+
`revision: "0"`, and `createdAtMs: 0`. That sentinel is not an incarnation token.
|
|
156
|
+
The first durable enqueue materializes an instance with a fresh ID. Existing
|
|
157
|
+
snapshot fields and durable commit fencing are unchanged.
|
|
158
|
+
|
|
131
159
|
### Reminders
|
|
132
160
|
|
|
133
161
|
Keyed reminder names combine the operation, a colon, and the key. JavaScript
|
|
@@ -765,18 +793,23 @@ The root exports `SolidObjectsError` and its supported subclasses:
|
|
|
765
793
|
`ScheduleWithoutOperation`, `StateMigrationError`, `ApplicationWriteForbidden`, `UnknownEffect`, and
|
|
766
794
|
`UnknownCommitAction`;
|
|
767
795
|
- operational failures: `LostActivation`, `DatabaseDeadlineExceeded`,
|
|
768
|
-
`UnknownDeadLetter`, `UnknownReminder`, `ReminderNotPaused`,
|
|
769
|
-
`UnsupportedDatabase`.
|
|
796
|
+
`UnknownDeadLetter`, `UnknownReminder`, `ReminderNotPaused`,
|
|
797
|
+
`UnsupportedDatabase`, and `SingleOwnerConflict`.
|
|
770
798
|
|
|
771
799
|
`NonRetryableError` is the application subclassing point. `SyncTimeoutDetails`
|
|
772
|
-
and `SyncTimeoutWaitingOn` type timeout diagnostics.
|
|
800
|
+
and `SyncTimeoutWaitingOn` type timeout diagnostics. `SingleOwnerConflict`
|
|
801
|
+
carries one `SingleOwnerConflictProcess` for each live process row that stopped
|
|
802
|
+
a `singleOwner` runtime from starting. See
|
|
773
803
|
[Errors and recovery](errors-and-recovery.md) before deciding what to catch.
|
|
774
804
|
|
|
775
805
|
## `solid-objects/database/sqlite`
|
|
776
806
|
|
|
777
807
|
- `sqlite(options)`: construct `SQLiteDatabase`.
|
|
778
808
|
- `SQLiteDatabase`: `Database` implementation and `close()` owner.
|
|
779
|
-
- `SQLiteDatabaseOptions`: path, busy timeout,
|
|
809
|
+
- `SQLiteDatabaseOptions`: path, busy timeout, lock retry, and `synchronous`
|
|
810
|
+
options.
|
|
811
|
+
- `SQLiteSynchronous`: `"normal" | "full"`, the `synchronous` level of a file
|
|
812
|
+
database.
|
|
780
813
|
|
|
781
814
|
## `solid-objects/database/sqlite-wasm`
|
|
782
815
|
|
|
@@ -883,15 +916,32 @@ entry points; the last registration wins.
|
|
|
883
916
|
- The turn-scoped context store expects serialized actor turns. One worker
|
|
884
917
|
hosts one runtime. A page talks to that worker through messages, not
|
|
885
918
|
through direct actor references.
|
|
886
|
-
- The store scopes only the synchronous part of a callback and restores
|
|
887
|
-
the previous scope in strict stack order, so an interleaved task never
|
|
888
|
-
observes another turn's scope. The cost of that isolation: after the
|
|
889
|
-
first `await` inside an actor operation, `currentActor()`,
|
|
890
|
-
`applicationWritesForbidden()`, and the database deadline read as unset.
|
|
891
|
-
Keep guarded application-database writes in synchronous actor code or in
|
|
892
|
-
commit actions; Node keeps full `AsyncLocalStorage` propagation.
|
|
893
919
|
- Alarms and reminders fire only while the hosting worker is alive.
|
|
894
920
|
|
|
921
|
+
### Browser async context
|
|
922
|
+
|
|
923
|
+
**The browser guards are best-effort after `await`.** The turn-scoped store
|
|
924
|
+
restores its previous scope as soon as a callback returns a promise. After the
|
|
925
|
+
first `await`, `currentActor()`, `applicationWritesForbidden()`, and the ambient
|
|
926
|
+
inside-transaction check read as unset. A direct application write that was
|
|
927
|
+
rejected before the yield can therefore execute afterward, including a write
|
|
928
|
+
through a row-returning method. Do not rely on the facade to make browser
|
|
929
|
+
actor code safe against such writes. Async callbacks passed to database
|
|
930
|
+
transactions also lose the inside-transaction check; never wait for an actor
|
|
931
|
+
on the same database while holding its transaction.
|
|
932
|
+
|
|
933
|
+
Keep external writes in staged effects, or use a commit action's supplied
|
|
934
|
+
fenced connection for SQL that must commit with actor state. Direct writes to a
|
|
935
|
+
separate application database can survive a failed actor turn. Node retains
|
|
936
|
+
these guards across awaits through `AsyncLocalStorage`.
|
|
937
|
+
|
|
938
|
+
Durable actor-state fencing, mailbox ordering, and the SQLite WASM adapter's
|
|
939
|
+
explicit transaction deadline enforcement remain active. The real-browser
|
|
940
|
+
context regression attempts prohibited writes before a yield, after a promise,
|
|
941
|
+
and after a timer, and verifies actor-state rollback independently. The context
|
|
942
|
+
store intentionally does not retain a global scope until a promise settles:
|
|
943
|
+
that would leak one actor's context into unrelated interleaved tasks.
|
|
944
|
+
|
|
895
945
|
## `solid-objects/browser/tab-host`
|
|
896
946
|
|
|
897
947
|
Many tabs, one runtime. Each tab starts a candidate host; the Web Locks API
|