c8ctl-plugin-nano 1.53.0 → 1.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/c8ctl-plugin.js +48 -4
- package/package.json +9 -9
- package/supervisor-engine.mjs +150 -42
- package/supervisor.dist.js +1 -1
package/README.md
CHANGED
|
@@ -966,6 +966,13 @@ How it works and where things live:
|
|
|
966
966
|
socket is unreachable (to report a stale/dead daemon).
|
|
967
967
|
- Per-worker and daemon logs live under `logs/supervisor/` in the state home
|
|
968
968
|
(`worker-<id>.log`, `daemon.log`).
|
|
969
|
+
- **Per-worker log cap:** each `worker-<id>.log` is bounded (default **10 MB**) —
|
|
970
|
+
the daemon pipes the child's stdout/stderr through a rotating ring, keeping the
|
|
971
|
+
**newest** output and rolling the previous fill to `worker-<id>.log.1` (so
|
|
972
|
+
on-disk usage stays ~2× the cap). `nano supervisor logs <id>` still tails the
|
|
973
|
+
live output across a rotation. Set `NANO_SUPERVISOR_LOG_MAX_BYTES` to change the
|
|
974
|
+
cap (bytes); `0` or a negative value disables the cap (unbounded append). An
|
|
975
|
+
unset/invalid value falls back to the 10 MB default.
|
|
969
976
|
- **Restart policy:** a crashed child is restarted with exponential backoff
|
|
970
977
|
(1s → 30s cap); a child that stayed up ≥60s resets its backoff. `remove`/`stop`
|
|
971
978
|
cancel any pending restart, and a `restart` cleanly swaps the child (a late
|
package/c8ctl-plugin.js
CHANGED
|
@@ -66,6 +66,7 @@ import { platformForHost } from './platforms.mjs';
|
|
|
66
66
|
import { redactAgenticUrl, buildAgenticUrl } from './work-channel.mjs';
|
|
67
67
|
import { createHostRelaySession, roleTerminalMode } from './work-relay.mjs';
|
|
68
68
|
import { resolveBufferCapacity } from './work-buffer.mjs';
|
|
69
|
+
import { createLogRing, resolveLogMaxBytes } from './supervisor-log-ring.mjs';
|
|
69
70
|
// Canonical ACP → transcript wire bridge (nanobpm/nano-ide#534), consumed through
|
|
70
71
|
// the single agentic import surface. `acpUpdateToTranscriptChunk(update)` maps one
|
|
71
72
|
// raw ACP `session/update` to the exact transcript-chunk bytes the cockpit decodes,
|
|
@@ -3366,7 +3367,7 @@ async function createSupervisorDeps(opts = {}) {
|
|
|
3366
3367
|
};
|
|
3367
3368
|
}
|
|
3368
3369
|
|
|
3369
|
-
const rawEngine = createRawEngineClient({ baseUrl: rc.baseUrl, token: rc.token, authHeaders: resolvedAuthHeaders, worker, fetchImpl });
|
|
3370
|
+
const rawEngine = createRawEngineClient({ baseUrl: rc.baseUrl, token: rc.token, authHeaders: resolvedAuthHeaders, worker, fetchImpl, camunda });
|
|
3370
3371
|
const engine = rt.makeEngineClient(rawEngine);
|
|
3371
3372
|
// `reconcileReader` (a raw `{ searchProcessDefinitionKeys, getProcessDefinitionXml }`)
|
|
3372
3373
|
// may be injected to override the default keep-alive `httpC8RestReader` — the
|
|
@@ -8840,9 +8841,21 @@ async function runSupervisorDaemon() {
|
|
|
8840
8841
|
}
|
|
8841
8842
|
};
|
|
8842
8843
|
|
|
8844
|
+
// Per-worker log cap (#183). A supervised worker is long-lived and chatty, so
|
|
8845
|
+
// an unbounded append fd could grow `worker-<id>.log` to multiple GB and fill
|
|
8846
|
+
// the disk. When capped (the default), the daemon OWNS the bytes: it pipes the
|
|
8847
|
+
// child's stdout/stderr through a rotating ring (see `supervisor-log-ring.mjs`)
|
|
8848
|
+
// that keeps the newest output and bounds on-disk usage to ~2x the cap. Set
|
|
8849
|
+
// `NANO_SUPERVISOR_LOG_MAX_BYTES=0` to opt out (legacy raw-fd append).
|
|
8850
|
+
const workerLogMaxBytes = resolveLogMaxBytes(process.env.NANO_SUPERVISOR_LOG_MAX_BYTES);
|
|
8851
|
+
|
|
8843
8852
|
const startWorker = (w) => {
|
|
8844
|
-
|
|
8845
|
-
|
|
8853
|
+
// With a cap we pipe stdout/stderr through the daemon so the ring can bound
|
|
8854
|
+
// them; unbounded (opt-out) keeps the legacy direct-fd append. `fd` is only
|
|
8855
|
+
// used on the direct-fd path.
|
|
8856
|
+
const ringed = workerLogMaxBytes > 0;
|
|
8857
|
+
let fd = 'ignore';
|
|
8858
|
+
if (!ringed) { try { fd = openSync(w.logFile, 'a'); } catch { fd = 'ignore'; } }
|
|
8846
8859
|
// Clear any stale activity marker from a previous incarnation so a freshly
|
|
8847
8860
|
// (re)started worker never briefly shows a dead job as in-flight.
|
|
8848
8861
|
const activityFile = supervisorWorkerActivityFile(w.id);
|
|
@@ -8858,9 +8871,40 @@ async function runSupervisorDaemon() {
|
|
|
8858
8871
|
// child reparents to init.
|
|
8859
8872
|
const child = spawn(exec, [entry, 'nano', 'work', w.profile, '--name', w.id, ...w.args], {
|
|
8860
8873
|
env: { ...process.env, NANO_SUPERVISOR_ACTIVITY_FILE: activityFile, NANO_SUPERVISOR_DAEMON_PID: String(process.pid) },
|
|
8861
|
-
stdio: ['ignore', fd, fd],
|
|
8874
|
+
stdio: ['ignore', ringed ? 'pipe' : fd, ringed ? 'pipe' : fd],
|
|
8862
8875
|
});
|
|
8863
8876
|
if (typeof fd === 'number') { try { closeSync(fd); } catch { /* dup'd into child */ } }
|
|
8877
|
+
// On the ringed path, relay every stdout/stderr chunk into a bounded,
|
|
8878
|
+
// rotating writer the daemon owns. Sync writes mean received bytes are on
|
|
8879
|
+
// disk before the child can die, and the ring is closed in the death handler
|
|
8880
|
+
// (and before a restart re-opens it) so fds never leak.
|
|
8881
|
+
if (ringed) {
|
|
8882
|
+
let ring = null;
|
|
8883
|
+
try {
|
|
8884
|
+
ring = createLogRing(w.logFile, workerLogMaxBytes);
|
|
8885
|
+
const feed = (chunk) => { try { ring.write(chunk); } catch { /* never crash the daemon */ } };
|
|
8886
|
+
if (child.stdout) { child.stdout.on('data', feed); child.stdout.on('error', () => {}); }
|
|
8887
|
+
if (child.stderr) { child.stderr.on('data', feed); child.stderr.on('error', () => {}); }
|
|
8888
|
+
} catch { ring = null; /* fall back to dropping output rather than crashing */ }
|
|
8889
|
+
// If ring setup threw, the child was still spawned with piped stdio, so we
|
|
8890
|
+
// MUST still drain stdout/stderr — an undrained pipe applies backpressure
|
|
8891
|
+
// and can deadlock the worker once its buffers fill. `resume()` discards
|
|
8892
|
+
// the bytes harmlessly (better than a wedged worker).
|
|
8893
|
+
if (!ring) {
|
|
8894
|
+
if (child.stdout) { child.stdout.on('error', () => {}); child.stdout.resume(); }
|
|
8895
|
+
if (child.stderr) { child.stderr.on('error', () => {}); child.stderr.resume(); }
|
|
8896
|
+
}
|
|
8897
|
+
// Close THIS child's ring once its stdio streams end ('close' fires after
|
|
8898
|
+
// stdout/stderr have flushed) AND on a spawn 'error' — an ENOENT/EMFILE
|
|
8899
|
+
// spawn failure emits only 'error' with no 'close', so without this the
|
|
8900
|
+
// ring fd would leak. Bound to the local `ring` (kept as worker-local
|
|
8901
|
+
// closure state, never on `w`) so a stale child's late event never shuts
|
|
8902
|
+
// a restarted worker's live ring;
|
|
8903
|
+
// `ring.close()` is idempotent, so the close+error double-fire is safe.
|
|
8904
|
+
const closeRing = () => { if (ring) { try { ring.close(); } catch { /* best effort */ } } };
|
|
8905
|
+
child.once('close', closeRing);
|
|
8906
|
+
child.once('error', closeRing);
|
|
8907
|
+
}
|
|
8864
8908
|
w.child = child;
|
|
8865
8909
|
w.pid = child.pid || null;
|
|
8866
8910
|
w.startedAt = new Date().toISOString();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "c8ctl-plugin-nano",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.54.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "c8ctl plugin to start, inspect, and stop a local Nano BPM (nanobpmn) cluster",
|
|
6
6
|
"main": "c8ctl-plugin.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"build:supervisor": "node supervisor/build.mjs",
|
|
40
40
|
"vendor:effect": "node scripts/vendor-effect.mjs",
|
|
41
41
|
"test:supervisor": "node --experimental-strip-types --test supervisor/test/*.test.ts",
|
|
42
|
-
"test": "node --check c8ctl-plugin.js && npm run typecheck:supervisor && npm run build:supervisor && npm run test:supervisor && node --test",
|
|
42
|
+
"test": "node --check c8ctl-plugin.js && npm run typecheck:supervisor && npm run build:supervisor && npm run test:supervisor && node --test --test-timeout=120000 --test-force-exit",
|
|
43
43
|
"prepublishOnly": "npm run typecheck:supervisor && npm run build:supervisor"
|
|
44
44
|
},
|
|
45
45
|
"license": "MIT",
|
|
@@ -70,12 +70,12 @@
|
|
|
70
70
|
},
|
|
71
71
|
"optionalDependencies": {
|
|
72
72
|
"node-pty": "^1.0.0",
|
|
73
|
-
"@nanobpm/c8ctl-plugin-nano-darwin-arm64": "1.
|
|
74
|
-
"@nanobpm/c8ctl-plugin-nano-darwin-x64": "1.
|
|
75
|
-
"@nanobpm/c8ctl-plugin-nano-linux-x64": "1.
|
|
76
|
-
"@nanobpm/c8ctl-plugin-nano-linux-arm64": "1.
|
|
77
|
-
"@nanobpm/c8ctl-plugin-nano-linux-armv7": "1.
|
|
78
|
-
"@nanobpm/c8ctl-plugin-nano-linux-armv6": "1.
|
|
79
|
-
"@nanobpm/c8ctl-plugin-nano-win32-x64": "1.
|
|
73
|
+
"@nanobpm/c8ctl-plugin-nano-darwin-arm64": "1.54.0",
|
|
74
|
+
"@nanobpm/c8ctl-plugin-nano-darwin-x64": "1.54.0",
|
|
75
|
+
"@nanobpm/c8ctl-plugin-nano-linux-x64": "1.54.0",
|
|
76
|
+
"@nanobpm/c8ctl-plugin-nano-linux-arm64": "1.54.0",
|
|
77
|
+
"@nanobpm/c8ctl-plugin-nano-linux-armv7": "1.54.0",
|
|
78
|
+
"@nanobpm/c8ctl-plugin-nano-linux-armv6": "1.54.0",
|
|
79
|
+
"@nanobpm/c8ctl-plugin-nano-win32-x64": "1.54.0"
|
|
80
80
|
}
|
|
81
81
|
}
|
package/supervisor-engine.mjs
CHANGED
|
@@ -4,19 +4,45 @@
|
|
|
4
4
|
* (issue #156).
|
|
5
5
|
*
|
|
6
6
|
* #154's activation loop deliberately does NOT use the `@camunda8` SDK job
|
|
7
|
-
* worker:
|
|
8
|
-
* maxParallel − active` and
|
|
9
|
-
* shared across K types with per-type gating". The
|
|
10
|
-
* over a NARROW
|
|
7
|
+
* worker (`createJobWorker`): that convenience loop models one self-driving
|
|
8
|
+
* poller per type with `maxJobsToActivate = maxParallel − active` and cannot
|
|
9
|
+
* express "global capacity S shared across K types with per-type gating". The
|
|
10
|
+
* supervisor rolls its own race over a NARROW single-shot engine surface — but
|
|
11
|
+
* every call on that surface still PREFERS the injected `camunda` SDK client's
|
|
12
|
+
* typed method, hand-rolling REST only as a standalone/wire-test fallback:
|
|
11
13
|
*
|
|
12
|
-
* - `activate` →
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
14
|
+
* - `activate` → the SDK's typed `activateJobs` (operationId `activateJobs` →
|
|
15
|
+
* `POST <base>/jobs/activation`) for exactly ONE type, one long-poll,
|
|
16
|
+
* resolving 0..`maxJobsToActivate` jobs (0 == the long-poll expired empty).
|
|
17
|
+
* `activateJobs` is the SINGLE-SHOT primitive `createJobWorker` is built on;
|
|
18
|
+
* its input body (`JobActivationRequest`) is 1:1 with ours and its returned
|
|
19
|
+
* `CancelablePromise.cancel()` aborts the in-flight long-poll, so a losing
|
|
20
|
+
* `raceAll` fiber interrupts its poll at once. Falls back to the SAME call
|
|
21
|
+
* issued raw via `fetchImpl` when no SDK client is injected. `timeout` is the
|
|
22
|
+
* SHORT initial lock (the crash-safety net); `requestTimeout` is how long the
|
|
23
|
+
* call blocks server-side.
|
|
24
|
+
* - `extendLock` → the SDK's typed `updateJob` (operationId `updateJob`,
|
|
25
|
+
* `PATCH <base>/jobs/{jobKey}` with `{ changeset: { timeout } }`) when a
|
|
26
|
+
* `camunda` SDK client is injected, else the SAME call issued raw via
|
|
27
|
+
* `fetchImpl` (so the module stays wire-testable without a live client).
|
|
17
28
|
* The C8 contract SETs the lock to `ms` from now (a duration-from-now), which
|
|
18
29
|
* is exactly the supervisor's "extend the winner to the recovery window, then
|
|
19
|
-
* heartbeat" model — set, not accumulate.
|
|
30
|
+
* heartbeat" model — set, not accumulate. NOTE: there is no
|
|
31
|
+
* `/jobs/{jobKey}/timeout` sub-route — that was a drifted URL that 404s on the
|
|
32
|
+
* engine; the timeout is a `changeset` field on the job resource itself.
|
|
33
|
+
* - `complete` / `fail` → the SDK's typed `completeJob` / `failJob` (operationIds
|
|
34
|
+
* `completeJob` → `POST <base>/jobs/{jobKey}/completion`, `failJob` →
|
|
35
|
+
* `POST <base>/jobs/{jobKey}/failure`) when a `camunda` SDK client is injected,
|
|
36
|
+
* else the SAME calls issued raw via `fetchImpl` — the settle surface the
|
|
37
|
+
* supervisor's JobRunner uses once an agent finishes.
|
|
38
|
+
*
|
|
39
|
+
* Every method on this surface (`activate`→`activateJobs`,
|
|
40
|
+
* `extendLock`→`updateJob`, `complete`→`completeJob`, `fail`→`failJob`) PREFERS
|
|
41
|
+
* the injected `camunda` client and only hand-rolls the REST call as a
|
|
42
|
+
* standalone/wire-test fallback; there is no sanctioned raw-only method. This
|
|
43
|
+
* convention is pinned by `supervisor-engine-sdk-preference.test.mjs` — a new
|
|
44
|
+
* engine method that hits a raw route must either prefer an SDK method or be
|
|
45
|
+
* added to that test's raw-only allowlist with a reason.
|
|
20
46
|
*
|
|
21
47
|
* This module is the raw-JS analogue of `agentic-endpoint.mjs`: it is Effect-free
|
|
22
48
|
* (the supervisor's `makeEngineClient` lift wraps each method into the Effect
|
|
@@ -136,7 +162,8 @@ async function readErrorBody(res) {
|
|
|
136
162
|
* @param {Record<string,string>|(() => (Record<string,string>|Promise<Record<string,string>>))} [opts.authHeaders] Ready-made auth header map, OR a resolver invoked per request (so rotating SDK auth — e.g. an OAuth bearer that refreshes — is re-derived each call rather than frozen). Wins over `token`.
|
|
137
163
|
* @param {typeof fetch} [opts.fetchImpl] Injected `fetch` (defaults to the global; overridden in tests).
|
|
138
164
|
* @param {number} [opts.requestTimeoutSlackMs] Extra ms added to a call's abort budget over its server long-poll (default 5000).
|
|
139
|
-
* @
|
|
165
|
+
* @param {{ activateJobs?: (input: { type: string, worker?: string, maxJobsToActivate: number, timeout: number, requestTimeout?: number }) => (Promise<{ jobs?: object[] }> & { cancel?: () => void }), updateJob?: (req: { jobKey: string, changeset: { timeout: number } }) => Promise<unknown>, completeJob?: (req: { jobKey: string, variables?: object }) => Promise<unknown>, failJob?: (req: { jobKey: string, retries?: number, errorMessage?: string, retryBackOff?: number, variables?: object }) => Promise<unknown> }} [opts.camunda] Optional Camunda SDK client. When present, each engine method prefers its typed SDK method over the raw fetch fallback: `activate`→`activateJobs` (`POST /v2/jobs/activation`, cancelled via the returned `CancelablePromise.cancel()`), `extendLock`→`updateJob` (`PATCH /v2/jobs/{jobKey}` `{ changeset: { timeout } }`), `complete`→`completeJob` (`POST /v2/jobs/{jobKey}/completion`), `fail`→`failJob` (`POST /v2/jobs/{jobKey}/failure`).
|
|
166
|
+
* @returns {{ activate(req: ActivateRequest, signal?: AbortSignal): Promise<ReadonlyArray<ActivatedJob>>, extendLock(jobKey: string, ms: number): Promise<void>, complete(jobKey: string, variables?: object): Promise<void>, fail(jobKey: string, opts?: { retries?: number, errorMessage?: string, retryBackOff?: number, variables?: object }): Promise<void> }}
|
|
140
167
|
*/
|
|
141
168
|
export function createRawEngineClient(opts = {}) {
|
|
142
169
|
const {
|
|
@@ -146,6 +173,7 @@ export function createRawEngineClient(opts = {}) {
|
|
|
146
173
|
authHeaders,
|
|
147
174
|
fetchImpl = fetch,
|
|
148
175
|
requestTimeoutSlackMs = 5_000,
|
|
176
|
+
camunda,
|
|
149
177
|
} = opts;
|
|
150
178
|
if (typeof fetchImpl !== "function") {
|
|
151
179
|
throw new TypeError("createRawEngineClient: `fetchImpl` must be a function (global fetch or an injected fake)");
|
|
@@ -172,34 +200,78 @@ export function createRawEngineClient(opts = {}) {
|
|
|
172
200
|
|
|
173
201
|
/**
|
|
174
202
|
* Issue one call with an abort budget. `abortAfterMs <= 0` means no timer
|
|
175
|
-
* (the caller relies purely on the server long-poll / connection).
|
|
203
|
+
* (the caller relies purely on the server long-poll / connection). An optional
|
|
204
|
+
* `extSignal` (e.g. the Effect fiber's interruption signal for the `activate`
|
|
205
|
+
* long-poll) also aborts the in-flight fetch, so a losing `raceAll` fiber stops
|
|
206
|
+
* its poll immediately instead of leaking it until the budget timer fires.
|
|
176
207
|
*/
|
|
177
|
-
async function call(url, init, abortAfterMs) {
|
|
208
|
+
async function call(url, init, abortAfterMs, extSignal) {
|
|
178
209
|
const controller = new AbortController();
|
|
179
210
|
const timer = abortAfterMs > 0 ? setTimeout(() => controller.abort(), abortAfterMs) : null;
|
|
211
|
+
const onExtAbort = () => controller.abort();
|
|
212
|
+
if (extSignal) {
|
|
213
|
+
if (extSignal.aborted) controller.abort();
|
|
214
|
+
else extSignal.addEventListener("abort", onExtAbort, { once: true });
|
|
215
|
+
}
|
|
180
216
|
try {
|
|
181
217
|
const headers = await resolveHeaders();
|
|
182
218
|
return await fetchImpl(url, { ...init, headers, signal: controller.signal });
|
|
183
219
|
} finally {
|
|
184
220
|
if (timer) clearTimeout(timer);
|
|
221
|
+
if (extSignal) extSignal.removeEventListener("abort", onExtAbort);
|
|
185
222
|
}
|
|
186
223
|
}
|
|
187
224
|
|
|
188
225
|
return {
|
|
189
|
-
async activate(req) {
|
|
190
|
-
|
|
226
|
+
async activate(req, signal) {
|
|
227
|
+
// Prefer the SDK's typed `activateJobs` (operationId `activateJobs` →
|
|
228
|
+
// `POST /v2/jobs/activation`) so the ONE-type long-poll tracks the engine
|
|
229
|
+
// contract instead of a hand-rolled body/URL. The SDK's `createJobWorker`
|
|
230
|
+
// convenience loop can't express the supervisor's global-capacity single
|
|
231
|
+
// race — but `activateJobs` is the SAME single-shot primitive that loop is
|
|
232
|
+
// built on, and its input body (`JobActivationRequest`) is 1:1 with ours.
|
|
233
|
+
// Its `CancelablePromise.cancel()` aborts the in-flight long-poll, so a
|
|
234
|
+
// losing `raceAll` fiber (interruption → `signal.aborted`) stops its poll
|
|
235
|
+
// immediately. Fall back to the SAME call issued raw via `fetchImpl` when no
|
|
236
|
+
// SDK client is injected (keeps this module wire-testable and standalone).
|
|
237
|
+
// `timeout` is the SHORT initial lock applied to any returned job;
|
|
238
|
+
// `requestTimeout` is the server-side long-poll window.
|
|
239
|
+
const input = {
|
|
191
240
|
type: req.type,
|
|
192
241
|
worker,
|
|
193
242
|
maxJobsToActivate: req.maxJobsToActivate,
|
|
194
|
-
// `timeout` is the SHORT initial lock applied to any returned job.
|
|
195
243
|
timeout: req.lockMs,
|
|
196
|
-
// `requestTimeout` is the server-side long-poll window.
|
|
197
244
|
requestTimeout: req.requestTimeoutMs,
|
|
198
|
-
}
|
|
245
|
+
};
|
|
199
246
|
// Give the abort budget slack over the server long-poll so we don't cancel
|
|
200
247
|
// a still-valid long-poll a hair before the server would answer it.
|
|
201
248
|
const abortAfterMs = req.requestTimeoutMs > 0 ? req.requestTimeoutMs + requestTimeoutSlackMs : 0;
|
|
202
|
-
|
|
249
|
+
if (camunda && typeof camunda.activateJobs === "function") {
|
|
250
|
+
const p = camunda.activateJobs(input);
|
|
251
|
+
// Wire BOTH cancellation sources onto the CancelablePromise: the external
|
|
252
|
+
// interruption signal (fiber lost the race) and the client-side abort
|
|
253
|
+
// budget (a hung connection past the server window). `cancel()` aborts the
|
|
254
|
+
// SDK's own AbortController, ending the long-poll.
|
|
255
|
+
const cancel = typeof p?.cancel === "function" ? () => p.cancel() : () => {};
|
|
256
|
+
const timer = abortAfterMs > 0 ? setTimeout(cancel, abortAfterMs) : null;
|
|
257
|
+
const onExtAbort = () => cancel();
|
|
258
|
+
if (signal) {
|
|
259
|
+
if (signal.aborted) cancel();
|
|
260
|
+
else signal.addEventListener("abort", onExtAbort, { once: true });
|
|
261
|
+
}
|
|
262
|
+
try {
|
|
263
|
+
const result = await p;
|
|
264
|
+
const jobs = Array.isArray(result?.jobs) ? result.jobs : Array.isArray(result) ? result : [];
|
|
265
|
+
return jobs.map(mapJob);
|
|
266
|
+
} catch (err) {
|
|
267
|
+
throw new Error(`activate ${req.type}: SDK activateJobs failed: ${err?.message ?? err}`, { cause: err });
|
|
268
|
+
} finally {
|
|
269
|
+
if (timer) clearTimeout(timer);
|
|
270
|
+
if (signal) signal.removeEventListener("abort", onExtAbort);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
const body = JSON.stringify(input);
|
|
274
|
+
const res = await call(`${base}/jobs/activation`, { method: "POST", body }, abortAfterMs, signal);
|
|
203
275
|
if (!res || !res.ok) {
|
|
204
276
|
const status = res ? res.status : "?";
|
|
205
277
|
throw new Error(`activate ${req.type}: HTTP ${status} from ${base}/jobs/activation${res ? await readErrorBody(res) : ""}`);
|
|
@@ -210,8 +282,21 @@ export function createRawEngineClient(opts = {}) {
|
|
|
210
282
|
},
|
|
211
283
|
|
|
212
284
|
async extendLock(jobKey, ms) {
|
|
213
|
-
|
|
214
|
-
|
|
285
|
+
// Prefer the SDK's typed `updateJob` (operationId `updateJob` →
|
|
286
|
+
// `PATCH /v2/jobs/{jobKey}` with `{ changeset: { timeout } }`) so the lock
|
|
287
|
+
// extension tracks the engine contract instead of a hand-rolled URL. Fall
|
|
288
|
+
// back to the SAME call issued raw when no SDK client is injected (keeps
|
|
289
|
+
// this module wire-testable and usable standalone).
|
|
290
|
+
if (camunda && typeof camunda.updateJob === "function") {
|
|
291
|
+
try {
|
|
292
|
+
await camunda.updateJob({ changeset: { timeout: ms }, jobKey: String(jobKey) });
|
|
293
|
+
return;
|
|
294
|
+
} catch (err) {
|
|
295
|
+
throw new Error(`extendLock ${jobKey}: SDK updateJob failed: ${err?.message ?? err}`, { cause: err });
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
const url = `${base}/jobs/${encodeURIComponent(jobKey)}`;
|
|
299
|
+
const res = await call(url, { method: "PATCH", body: JSON.stringify({ changeset: { timeout: ms } }) }, 15_000);
|
|
215
300
|
if (!res || !res.ok) {
|
|
216
301
|
const status = res ? res.status : "?";
|
|
217
302
|
throw new Error(`extendLock ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
|
|
@@ -220,21 +305,33 @@ export function createRawEngineClient(opts = {}) {
|
|
|
220
305
|
|
|
221
306
|
// ---- Job completion / failure ------------------------------------------
|
|
222
307
|
// The narrow surface the supervisor's JobRunner needs to SETTLE a job once
|
|
223
|
-
// its agent harness finishes — the
|
|
224
|
-
//
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
// `
|
|
229
|
-
//
|
|
308
|
+
// its agent harness finishes — the analogue of the SDK job object's
|
|
309
|
+
// `job.complete()` / `job.fail()` (which the per-type SDK poller path in
|
|
310
|
+
// `workAgent` still uses). A plain `ActivatedJob` (jobKey/type/variables)
|
|
311
|
+
// carries no settle methods, so the supervisor path settles via these calls.
|
|
312
|
+
// Like `extendLock`, each PREFERS the injected `camunda` SDK client's typed
|
|
313
|
+
// method (`completeJob` / `failJob`) and only hand-rolls the REST call as a
|
|
314
|
+
// standalone/wire-test fallback. Effect-free and wire-testable; a non-2xx /
|
|
315
|
+
// SDK rejection (e.g. a 409 when the lock lapsed and the job was reclaimed)
|
|
316
|
+
// surfaces as a rejected promise for the port to map.
|
|
230
317
|
|
|
231
318
|
async complete(jobKey, variables) {
|
|
232
|
-
//
|
|
319
|
+
// Prefer the SDK's typed `completeJob` (operationId `completeJob` →
|
|
320
|
+
// `POST /v2/jobs/{jobKey}/completion` with `{ variables }`) when a `camunda`
|
|
321
|
+
// SDK client is injected, else the SAME call issued raw via `fetchImpl`. The
|
|
233
322
|
// result-variable map the model produced is merged onto the process
|
|
234
323
|
// instance. C8 v2 answers 204 No Content on success.
|
|
324
|
+
const vars = isPlainObjectMap(variables) ? { variables } : {};
|
|
325
|
+
if (camunda && typeof camunda.completeJob === "function") {
|
|
326
|
+
try {
|
|
327
|
+
await camunda.completeJob({ jobKey: String(jobKey), ...vars });
|
|
328
|
+
return;
|
|
329
|
+
} catch (err) {
|
|
330
|
+
throw new Error(`complete ${jobKey}: SDK completeJob failed: ${err?.message ?? err}`, { cause: err });
|
|
331
|
+
}
|
|
332
|
+
}
|
|
235
333
|
const url = `${base}/jobs/${encodeURIComponent(jobKey)}/completion`;
|
|
236
|
-
const
|
|
237
|
-
const res = await call(url, { method: "POST", body }, 15_000);
|
|
334
|
+
const res = await call(url, { method: "POST", body: JSON.stringify(vars) }, 15_000);
|
|
238
335
|
if (!res || !res.ok) {
|
|
239
336
|
const status = res ? res.status : "?";
|
|
240
337
|
throw new Error(`complete ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
|
|
@@ -246,19 +343,30 @@ export function createRawEngineClient(opts = {}) {
|
|
|
246
343
|
// null-safe `variables`), so a caller passing `null` never trips the
|
|
247
344
|
// signature-destructure TypeError.
|
|
248
345
|
const { retries = 0, errorMessage, retryBackOff, variables } = opts || {};
|
|
249
|
-
// `POST <base>/v2/jobs/{jobKey}/failure` with `{ retries, errorMessage?,
|
|
250
|
-
// retryBackOff?, variables? }` — `retries > 0` re-queues for another
|
|
251
|
-
// attempt, `retries === 0` raises an incident. Optional fields are omitted
|
|
252
|
-
// when absent so the engine applies its own defaults. C8 v2 answers 204.
|
|
253
|
-
const url = `${base}/jobs/${encodeURIComponent(jobKey)}/failure`;
|
|
254
346
|
// Normalize retries to a non-negative integer (mirrors `mapJob`), so a
|
|
255
|
-
// string/float/negative never reaches the engine as an invalid
|
|
347
|
+
// string/float/negative never reaches the engine (or SDK) as an invalid
|
|
348
|
+
// count. `retries > 0` re-queues for another attempt, `retries === 0`
|
|
349
|
+
// raises an incident. Optional fields are omitted when absent so the engine
|
|
350
|
+
// applies its own defaults.
|
|
256
351
|
const nRetries = Number(retries);
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
if (
|
|
260
|
-
if (
|
|
261
|
-
|
|
352
|
+
const normRetries = Number.isFinite(nRetries) ? Math.max(0, Math.trunc(nRetries)) : 0;
|
|
353
|
+
const extra = {};
|
|
354
|
+
if (errorMessage !== undefined && errorMessage !== null) extra.errorMessage = String(errorMessage);
|
|
355
|
+
if (Number.isFinite(retryBackOff) && retryBackOff > 0) extra.retryBackOff = retryBackOff;
|
|
356
|
+
if (isPlainObjectMap(variables)) extra.variables = variables;
|
|
357
|
+
// Prefer the SDK's typed `failJob` (operationId `failJob` →
|
|
358
|
+
// `POST /v2/jobs/{jobKey}/failure`) when a `camunda` SDK client is injected,
|
|
359
|
+
// else the SAME call issued raw via `fetchImpl`. C8 v2 answers 204.
|
|
360
|
+
if (camunda && typeof camunda.failJob === "function") {
|
|
361
|
+
try {
|
|
362
|
+
await camunda.failJob({ jobKey: String(jobKey), retries: normRetries, ...extra });
|
|
363
|
+
return;
|
|
364
|
+
} catch (err) {
|
|
365
|
+
throw new Error(`fail ${jobKey}: SDK failJob failed: ${err?.message ?? err}`, { cause: err });
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
const url = `${base}/jobs/${encodeURIComponent(jobKey)}/failure`;
|
|
369
|
+
const res = await call(url, { method: "POST", body: JSON.stringify({ retries: normRetries, ...extra }) }, 15_000);
|
|
262
370
|
if (!res || !res.ok) {
|
|
263
371
|
const status = res ? res.status : "?";
|
|
264
372
|
throw new Error(`fail ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
|
package/supervisor.dist.js
CHANGED
|
@@ -21,4 +21,4 @@ ${Ku(e.cause," ")}
|
|
|
21
21
|
`),n=`${t}[cause]: ${r[0]}`;for(let o=1,s=r.length;o<s;o++)n+=`
|
|
22
22
|
${t}${r[o]}`;return e.cause&&(n+=` {
|
|
23
23
|
${Ku(e.cause,`${t} `)}
|
|
24
|
-
${t}}`),n},yn="~effect/Fiber",Zx={_A:w,_E:w},Gx={id:0},wr=()=>globalThis[mr],Co=class{constructor(t,r=!0){this[yn]=Zx,this.setContext(t),this.id=++Gx.id,this.currentOpCount=0,this.interruptible=r,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this.runtimeMetrics?.recordFiberStart(this.context)}[yn];id;interruptible;currentOpCount;_stack;_observers;_exit;_children;_interruptedCause;_yielded;_running;_deferredInterrupt;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(t){return ve(this.context,t)}addObserver(t){return this._exit?(t(this._exit),Bt):(this._observers.push(t),()=>{if(this._exit)return;let r=this._observers.indexOf(t);r>=0&&this._observers.splice(r,1)})}interruptUnsafe(t,r){if(this._exit)return;let n=kn(t);this.currentStackFrame&&(n=en(n,ao(Yn,this.currentStackFrame))),r&&(n=en(n,r)),this._interruptedCause=this._interruptedCause?bi(this._interruptedCause,n):n,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(F(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(t){if(this._exit)return;if(this._yielded!==void 0){let o=this._yielded;this._yielded=void 0,o()}let r=this.runLoop(t);if(r===Vt)return;let n=si.interruptChildren&&si.interruptChildren(this);if(n!==void 0)return this.evaluate(h(n,()=>r));this._exit=r,this.runtimeMetrics?.recordFiberEnd(this.context,this._exit);for(let o=0;o<this._observers.length;o++)this._observers[o](r);this._observers.length=0,this._stack.length=0,this._children=void 0,this.context=Me()}runLoop(t){let r=globalThis[mr];globalThis[mr]=this;let n=this._running;this._running=!0;let o=!1,s=t;this.currentOpCount=0;try{for(;;){if(this._deferredInterrupt&&(this._deferredInterrupt=!1,s=F(this._interruptedCause)),this.currentOpCount++,!o&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){o=!0;let i=s;s=h(Ir,()=>i)}if(s=this.currentTracerContext?this.currentTracerContext(s,this):s[Y](this),s===Vt){let i=this._yielded;if(xr in i)return this._deferredInterrupt=!1,this._yielded=void 0,i;if(this._deferredInterrupt){this._yielded=void 0,i();continue}return Vt}}}catch(i){return b(s,Y)?this.runLoop(Ke(i)):Ke(`Fiber.runLoop: Not a valid effect: ${String(s)}`)}finally{this._running=n,globalThis[mr]=r}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,Yx;for(;;){let r=this._stack.pop();if(!r)return;let n=r[Mt]&&r[Mt](this);if(n)return n[t]=n,n;if(r[t])return r}}yieldWith(t){return this._yielded=t,Vt}children(){return this._children??=new Set}pipe(){return D(this,arguments)}setContext(t){let r=this.context;if(this.context=t,r!==void 0&&Ga(r,t))return;let n=this.getRef(pn);n!==this.currentScheduler&&(this.currentScheduler=n,this._dispatcher=void 0),this.currentSpan=an(t,Ys),this.currentLogLevel=this.getRef(Qs),this.minimumLogLevel=this.getRef(ei),this.currentStackFrame=this.getRef(xn),this.maxOpsBeforeYield=this.getRef(Eu),this.currentPreventYield=this.getRef(vu),this.runtimeMetrics=an(t,Au);let o=an(t,Xs);this.currentTracerContext=o?o.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}},Yx={[ue](e,t){return F(t._interruptedCause)},[Ae](e,t){return F(t._interruptedCause)}},si={interruptChildren:void 0},Cn=e=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(bs.key,e.currentStackFrame),Sr(t)},Xx=e=>{if(!(e._children===void 0||e._children.size===0))return St(e._children)},vi=e=>{let t=e;return t._exit?x(t._exit):ce(r=>t._exit?r(x(t._exit)):E(e.addObserver(n=>r(x(n)))))},Tr=e=>ce(t=>{let r=e[Symbol.iterator](),n=[],o;function s(){let i=r.next();for(;!i.done;){if(i.value._exit){n.push(i.value._exit),i=r.next();continue}o=i.value.addObserver(c=>{n.push(c),s()});return}t(x(n))}return s(),E(()=>o?.())}),Ju=e=>{let t=e;return t._exit?t._exit:ce(r=>t._exit?r(t._exit):E(e.addObserver(r)))},Vu=e=>ce(t=>{let r=Array.from(e);if(r.length===0)return t(x(cn()));let n=new Array(r.length),o=cn(),s=0,i=!1;for(let c=0;c<r.length&&!i;c++)o.push(r[c].addObserver(u=>{if(s++,u._tag==="Failure")return i=!0,o.forEach(f=>f()),t(u);n[c]=u.value,s===r.length&&t(x(n))}));return E(()=>{i=!0,o.forEach(c=>c())})}),Oo=e=>k(t=>ki(e,t.id)),ki=a(e=>b(e[0],yn),(e,t,r)=>k(n=>{let o=Cn(n);return o=o&&r?fo(o,r):o??r,e.interruptUnsafe(t,o),Or(vi(e))})),St=e=>k(t=>{let r=Cn(t),n=cn();for(let o of e)o.interruptUnsafe(t.id,r),n.push(o);return Or(Tr(n))}),Zu=a(2,(e,t)=>k(r=>{let n=Cn(r),o=cn();for(let s of e)s.interruptUnsafe(t,n),o.push(s);return Or(Tr(o))})),x=re,F=Ee,j=nt,E=_e({op:"Sync",[Y](e){let t=this[R](),r=e.getCont(ue);return r?r[ue](t,e):e.yieldWith(re(t))}}),v=_e({op:"Suspend",[Y](e){return this[R]()}}),Ci=a(e=>e.length>=2||Aa(e[0]),(e,t)=>Gt(e)?j(t?t():new tt("Effect.fromOption: Option.none")):x(e.value)),er=Fs({onFailure:j,onSuccess:x}),Gu=e=>e==null?j(new tt):x(e),wi=_e({op:"Yield",[Y](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(Ue)},this[R]??0),e.yieldWith(()=>{t=!0})}}),Ir=wi(0),Ti=e=>x(Z(e)),wn=x(V()),Yu=e=>Gt(e)?wn:T(e.value,Z),Xu=e=>v(()=>F(A(e))),Dt=e=>Ke(e),Ro=e=>v(()=>j(A(e))),O=x(void 0);var Qu=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.try"):e.catch;return v(()=>{try{return x(A(t))}catch(n){return j(A(()=>r(n)))}})};var Ii=e=>Oi(function(t,r){A(()=>e(r)).then(n=>t(x(n)),n=>t(Dt(n)))},e.length!==0),ef=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.tryPromise"):e.catch;return Oi(function(n,o){let s=i=>{try{n(j(A(()=>r(i))))}catch(c){n(Dt(c))}};try{A(()=>t(o)).then(i=>n(x(i)),s)}catch(i){s(i)}},t.length!==0)},tf=e=>k(t=>e(t.id)),rf=k(x),nf=tf(x),Oi=_e({op:"Async",single:!1,[Y](e){let t=A(()=>this[R][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[R][1]?new AbortController:void 0,s=t(i=>{r||(r=!0,n?e.evaluate(i):n=i)},o?.signal);return n!==!1?n:(n=!0,e._yielded=()=>{r=!0},o===void 0&&s===void 0?Vt:(e._stack.push(Qx(()=>(r=!0,o?.abort(),s??Ue))),Vt))}}),Qx=_e({op:"AsyncFinalizer",[Mt](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Ho))},[Ae](e,t){return ju(e)?h(this[R](),()=>F(e)):F(e)}}),ce=e=>Oi(e,e.length>=2),Ao=ce(Bt),of=(...e)=>v(()=>kr(e.length===1?e[0]():e[1].call(e[0].self))),Ri=(e,...t)=>{let r=t.length===0?function(){return v(()=>kr(e.apply(this,arguments)))}:function(){let n=v(()=>kr(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return Ai(e.length,r)},Ai=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),Mu=ti(2),sf=function(){let e=typeof arguments[0]=="string",t=e?arguments[0]:"Effect.fn",r=e?arguments[1]:void 0,n=vr();st(2);let o=new globalThis.Error;return st(n),e?(s,...i)=>Fu(t,s,o,i,e,r):Fu(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},Fu=(e,t,r,n,o,s)=>{let i=typeof t=="function"?t:n.shift().bind(t.self);return Ai(i.length,function(...c){let u=v(()=>{let d=i.apply(this,arguments);return S(d)?d:kr(d)});for(let d=0;d<n.length;d++)u=n[d](u,...c);if(!S(u))return u;let f=vr();st(2);let m=new globalThis.Error;return st(f),vt(o?En(e,s,d=>fi(u,d)):u,xn,d=>({name:e,stack:Mu(()=>m.stack),parent:{name:`${e} (definition)`,stack:Mu(()=>r.stack),parent:d}}))})},cf=(e,...t)=>Ai(e.length,t.length===0?function(){return Uu(()=>e.apply(this,arguments))}:function(){let r=Uu(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),Uu=e=>{try{let t=e(),r;for(;;){let n=t.next(r);if(n.done)return x(n.value);let o=n.value;if(o&&o._tag==="Success"){r=o.value;continue}else{if(o&&o._tag==="Failure")return n.value;{let s=!0;return v(()=>s?(s=!1,h(n.value,i=>kr(t,i))):v(()=>kr(e())))}}}}catch(t){return Dt(t)}},kr=_e({op:"Iterator",single:!1,[ue](e,t){let r=this[R][0];for(;;){let n=r.next(e);if(n.done)return x(n.value);if(me(n.value)){if(n.value._tag==="Failure")return n.value}else return t._stack.push(this),n.value;e=n.value.value}},[Y](e){return this[ue](this[R][1],e)}}),le=a(2,(e,t)=>{let r=x(t);return h(e,n=>r)}),_o=e=>T(e,Z),af=e=>tr(e,{onFailure:x,onSuccess:j}),Pt=a(2,(e,t)=>h(e,r=>S(t)?t:A(()=>t(r)))),Lt=a(2,(e,t)=>h(e,r=>le(S(t)?t:A(()=>t(r)),r))),Or=e=>h(e,t=>Ue),uf=e=>Te(e,j),_i=(e,t)=>k(r=>ce(n=>{let o=B(e),s=o.length,i=0,c=!1,u=new Set,f=[],m=(d,y,p)=>{if(i++,d._tag==="Failure"){f.push(...d.cause.reasons),i>=s&&n(F(Ft(f)));return}let I=!c;c=!0,n(u.size===0?d:h(wt(St(u)),()=>d)),I&&t?.onWinner&&t.onWinner({fiber:y,index:p,parentFiber:r})};for(let d=0;d<s;d++){let y=nr(r,o[d],!0,!0,!1);if(u.add(y),y.addObserver(p=>{u.delete(y),m(p,y,d)}),c)break}return St(u)})),Mi=(e,t)=>k(r=>ce(n=>{let o=!1,s=new Set,i=u=>{o=!0,n(s.size===0?u:h(wt(St(s)),()=>u))},c=0;for(let u of e){if(o)break;let f=c++,m=nr(r,u,!0,!0,!1);s.add(m),m.addObserver(d=>{s.delete(m);let y=!o;i(d),y&&t?.onWinner&&t.onWinner({fiber:m,index:f,parentFiber:r})})}return St(s)})),ff=a(e=>S(e[1]),(e,t,r)=>_i([e,t],r)),Mo=a(e=>S(e[1]),(e,t,r)=>Mi([e,t],r)),h=a(2,(e,t)=>{let r=Object.create(eh);return r[R]=e,r[ue]=t.length!==1?n=>t(n):t,r}),eh=mt({op:"OnSuccess",[Y](e){return e._stack.push(this),this[R]}}),lf=a(2,(e,t)=>me(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):it(e,t)),me=e=>xr in e,pf=a(2,(e,t)=>me(e)?e._tag==="Success"?t(e.value):e:h(e,t)),df=e=>h(e,w),T=a(2,(e,t)=>h(e,r=>x(A(()=>t(r))))),mf=a(2,(e,t)=>me(e)?bf(e,t):T(e,t)),xf=a(2,(e,t)=>me(e)?Sf(e,t):$i(e,t)),hf=a(2,(e,t)=>me(e)?Ef(e,t):ji(e,t)),gf=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:t(r.success)}return Ie(e,t)});var Fo=e=>e._tag==="Success";var yf=e=>e._tag==="Failure"?Q(e.cause):z(e);var Ue=re(void 0),bf=a(2,(e,t)=>e._tag==="Success"?re(t(e.value)):e),Sf=a(2,(e,t)=>{if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:nt(t(r.success))}),Ef=a(2,(e,t)=>{if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:nt(t.onFailure(r.success))});var vf=e=>{let t=[];for(let r of e)r._tag==="Failure"&&t.push(...r.cause.reasons);return t.length===0?Ue:Ee(Ft(t))};var kf=e=>e,Cf=e=>k(t=>x(js(t.context,e))),th=e=>k(t=>Ci(js(t.context,e))),Rr=a(2,(e,t)=>k(r=>{let n=r.context,o=t(n);return n===o?e:(r.setContext(o),Fr(e,()=>{r.setContext(n)}))})),vt=a(3,(e,t,r)=>Rr(e,n=>{let o=yt(n,t),s=r(o);return o===s?n:ke(n,t,s)})),wf=(e,t,r)=>wt(k(n=>{let o=yt(n.context,e),s=t(o);return n.setContext(ke(n.context,e,s)),Ct(yt(n.context,Mr),i=>{let c=yt(n.context,e),u;if(r?.reset===void 0){if(c!==s)return O;u=o}else u=r.reset(o,s,c);return n.setContext(ke(n.context,e,u)),O})})),Fi=()=>rh,rh=k(e=>x(e.context)),$t=e=>k(t=>e(t.context)),Tf=a(2,(e,t)=>Rr(e,oe(t))),kt=a(2,(e,t)=>me(e)?e:Rr(e,fo(t))),xe=function(){return arguments.length===1?a(2,(e,t)=>Nu(e,arguments[0],t)):a(3,(e,t,r)=>Nu(e,t,r)).apply(this,arguments)},Nu=(e,t,r)=>Rr(e,ke(t,r)),Uo=a(3,(e,t,r)=>h(r,n=>xe(e,t,n))),If=a(e=>S(e[1]),(e,t,r)=>Ui(e,t,(n,o)=>[n,o],r)),Ui=a(e=>S(e[1]),(e,t,r,n)=>n?.concurrent?T(rr([e,t],{concurrency:2}),([o,s])=>A(()=>r(o,s))):h(e,o=>T(t,s=>A(()=>r(o,s))))),Of=a(e=>S(e[0]),(e,t,r)=>nc(e,t,r?n=>j(r(n)):()=>j(new tt))),Rf=a(2,(e,t)=>h(t,r=>r?_o(e):wn)),Ni=a(2,(e,t)=>Array.from({length:t},()=>e)),Af=a(e=>S(e[0]),(e,t,r)=>rr(Ni(e,t),r)),No=a(e=>S(e[0]),(e,t)=>Tt({while:At,body:oe(t?.disableYield?e:h(e,r=>Ir)),step:Bt})),Te=a(2,(e,t)=>{let r=Object.create(nh);return r[R]=e,r[Ae]=t.length!==1?n=>t(n):t,r}),nh=mt({op:"OnFailure",[Y](e){return e._stack.push(this),this[R]}}),Di=a(3,(e,t,r)=>Te(e,n=>t(n)?A(()=>r(n)):F(n))),Ar=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(o.failure):A(()=>r(o.success,n))})),Ie=a(2,(e,t)=>Ar(e,Et,r=>t(r))),_f=e=>tr(e,{onFailure:t=>Ss(t)?wn:j(t),onSuccess:Ti}),Mf=a(2,(e,t)=>Ar(e,yi,t)),Ff=a(2,(e,t)=>Te(e,r=>Pt(A(()=>t(r)),F(r)))),Uf=a(3,(e,t,r)=>Di(e,t,n=>Pt(A(()=>r(n)),F(n)))),Do=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(n):Pt(A(()=>r(o.success,n)),F(n))})),Pi=a(2,(e,t)=>Do(e,Et,r=>t(r))),Nf=a(3,(e,t,r)=>{let n=Array.isArray(t)?o=>b(o,"_tag")&&t.includes(o._tag):Kt(t);return Pi(e,o=>n(o)?r(o):O)}),Df=a(2,(e,t)=>Do(e,yi,r=>t(r))),Tn=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);return G(s)?F(s.failure):t(s.success)?A(()=>r(s.success)):n?A(()=>n(s.success)):F(o)})),Po=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);if(G(s))return F(s.failure);let i=t(s.success);return G(i)?n?A(()=>n(i.failure)):F(o):A(()=>r(i.success))})),Li=a(e=>S(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?s=>b(s,"_tag")&&t.includes(s._tag):Kt(t);return Tn(e,o,r,n)}),Pf=a(e=>S(e[0]),(e,t,r)=>{let n;return Po(e,o=>(n??=Object.keys(t),b(o,"_tag")&&Hn(o._tag)&&n.includes(o._tag)?Q(o):z(o)),o=>A(()=>t[o._tag](o)),r)}),Lf=a(e=>S(e[0]),(e,t,r,n,o)=>Tn(e,s=>Kt(s,t)&&b(s,"reason"),s=>{let i=s.reason;return Kt(i,r)?n(i,s):o?A(()=>o(i,s)):j(s)})),$f=a(e=>S(e[0]),(e,t,r,n)=>{let o;return Tn(e,s=>Kt(s,t)&&b(s,"reason")&&b(s.reason,"_tag")&&Hn(s.reason._tag),s=>{let i=s.reason;return o??=Object.keys(r),o.includes(i._tag)?A(()=>r[i._tag](i,s)):n?A(()=>n(i,s)):j(s)})}),jf=a(2,(e,t)=>Po(e,r=>Kt(r,t)&&b(r,"reason")?Q(r.reason):z(r),j)),$i=a(2,(e,t)=>Ie(e,r=>Ro(()=>t(r)))),ji=a(2,(e,t)=>tr(e,{onFailure:r=>Ro(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),qi=e=>Ie(e,Dt),qf=a(2,(e,t)=>Ie(e,r=>E(t))),Wf=e=>v(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Dt(new Error("Received an empty collection of effects"));function n(o){let s=t.next();return s.done?o.value:Ie(o.value,i=>n(s))}return n(r)}),Wi=e=>Ie(e,t=>h(Ir,()=>Wi(e))),Hf=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return tr(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure(n){let o=Lu(n);return G(o)?F(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:n=>O})}),Lo=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return it(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure:n=>t.message===void 0?r(n):r(t.message,n),onSuccess:n=>O})}),zf=e=>$o(e,{onFailure:V,onSuccess:Z}),Nt=e=>In(e,{onFailure:z,onSuccess:Q}),it=a(2,(e,t)=>{let r=Object.create(oh);return r[R]=e,r[ue]=t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,r[Ae]=t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure,r}),oh=mt({op:"OnSuccessAndFailure",[Y](e){return e._stack.push(this),this[R]}}),Hi=a(2,(e,t)=>it(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),tr=a(2,(e,t)=>it(e,{onFailure:r=>{let n=r.reasons.find(tn);return n?A(()=>t.onFailure(n.error)):F(r)},onSuccess:t.onSuccess})),$o=a(2,(e,t)=>tr(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),In=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:re(t.onFailure(r.success))}return $o(e,t)}),Bf=a(2,(e,t)=>me(e)?e._tag==="Success"?re(t.onSuccess(e.value)):re(t.onFailure(e.cause)):Hi(e,t)),_r=e=>me(e)?re(e):sh(e),sh=_e({op:"Exit",[Y](e){return e._stack.push(this),this[R]},[ue](e,t,r){return x(r??re(e))},[Ae](e,t,r){return x(r??Ee(e))}}),Kf=In({onFailure:()=>!0,onSuccess:()=>!1}),Jf=In({onFailure:()=>!1,onSuccess:()=>!0}),Vf=a(2,(e,t)=>Pt(or(t),e)),zi=a(2,(e,t)=>Mo(e,h(or(t.duration),t.orElse))),Zf=a(2,(e,t)=>zi(e,{duration:t,orElse:()=>j(new wo)})),Gf=a(2,(e,t)=>Mo(_o(e),le(or(t),V()))),Yf=e=>he(t=>{let r=t.monotonicTimeNanosUnsafe();return T(e,n=>[Ut(t.monotonicTimeNanosUnsafe()-r),n])}),ii="~effect/Scope",ci="~effect/Scope/Closeable",Mr=gt("effect/Scope"),Bi=(e,t)=>v(()=>jo(e,t)??O),jo=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let n=e.state;if(e.state=r,n.finalizer!==void 0)return n.finalizer(t);let o=n.finalizers;if(!(o===void 0||o.size===0))return o.size===1?o.values().next().value(t):ch(e,o,t)},ih=(e,t)=>Fo(e)?t:Te(t,r=>F(bi(e.cause,r))),ch=Ri(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=wr();for(let c=s.length-1;c>=0;c--){let u=s[c];e.strategy==="sequential"?n.push(yield*_r(u(r))):o.push(nr(i,u(r),!0,!0,"inherit"))}return o.length>0&&(n=yield*Tr(o)),yield*vf(n)});var Xf=(e,t)=>{let r=On(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return bn(e,n,o=>Bi(r,o)),bn(r,n,o=>E(()=>Ki(e,n))),r},Ct=(e,t)=>v(()=>e.state._tag==="Closed"?t(e.state.exit):(bn(e,{},t),O));var bn=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizerKey:t,finalizer:r,finalizers:void 0};else if(e.state._tag==="Open"){let n=e.state;n.finalizer!==void 0?(n.finalizers=new Map([[n.finalizerKey,n.finalizer]]),n.finalizerKey=void 0,n.finalizer=void 0,n.finalizers.set(t,r)):n.finalizers===void 0?(n.finalizerKey=t,n.finalizer=r):n.finalizers.set(t,r)}},Ki=(e,t)=>{if(e.state._tag==="Open"){let r=e.state;r.finalizerKey===t?(r.finalizerKey=void 0,r.finalizer=void 0):r.finalizers!==void 0&&r.finalizers.delete(t)}};var On=(e="sequential")=>({[ci]:ci,[ii]:ii,strategy:e,state:ah}),ah={_tag:"Empty"};var Rn=Mr;var Ji=e=>k(t=>{let r=t.context,n=On();return t.setContext(ke(t.context,Mr,n)),Fr(e,o=>(t.setContext(r),jo(n,o)))});var qo=e=>v(()=>{let t=On();return ie(e(t),r=>v(()=>jo(t,r)??O))}),Wo=(e,t,r)=>$t(n=>jt(o=>h(Rn,s=>Lt(r?.interruptible?o(e):e,i=>Ct(s,c=>kt(t(i,c),n)))))),Vi=e=>h(Rn,t=>$t(r=>Ct(t,n=>kt(e(n),r)))),Fr=_e({op:"OnExit",single:!1,[Y](e){return e._stack.push(this),this[R][0]},[Mt](e){e.interruptible&&this[R][2]!==!0&&(e._stack.push(Ho),e.interruptible=!1)},[ue](e,t,r){r??=re(e);let n=this[R][1](r);return n?h(n,o=>r):r},[Ae](e,t,r){r??=Ee(e);let n=this[R][1](r);return n?h(ih(r,n),o=>r):r}}),ie=a(2,Fr),Qf=a(2,(e,t)=>ie(e,r=>t)),Zi=a(3,(e,t,r)=>ie(e,n=>t(n)?r(n):O)),Gi=a(3,(e,t,r)=>ie(e,n=>{let o=t(n);return G(o)?O:r(o.success,n)})),Yi=a(2,(e,t)=>Gi(e,yf,t)),el=a(3,(e,t,r)=>Zi(e,n=>n._tag!=="Failure"?!1:t(n.cause),n=>r(n.cause))),Xi=a(3,(e,t,r)=>ie(e,n=>{if(n._tag!=="Failure")return O;let o=t(n.cause);return G(o)?O:r(o.success,n.cause)})),tl=a(2,(e,t)=>Xi(qu,t)(e)),rl=(e,t,r)=>jt(n=>h(e,o=>Fr(n(t(o)),s=>r(o,s),!0))),nl=e=>Wo(e,t=>b(t,Symbol.asyncDispose)?Ii(()=>t[Symbol.asyncDispose]()):E(()=>t[Symbol.dispose]())),Qi=a(2,(e,t)=>E(()=>{let r=Je(q(t)),n=Number.isFinite(r),o=dh(!1),s=0,i=!1,c,u=h(o.await,()=>c);return[k(f=>{let m=f.getRef(Ze),d=n?m.currentTimeMillisUnsafe():0;return i||d<s?c??u:(i=!0,o.closeUnsafe(),c=void 0,ie(e,y=>E(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=y,o.openUnsafe()})))}),E(()=>{s=0,o.closeUnsafe(),c=void 0})]})),ec=a(2,(e,t)=>T(Qi(e,t),r=>r[0])),ol=e=>ec(e,se),sl=k(e=>F(kn(e.id))),wt=e=>k(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Ho)),e)),il=_e({op:"SetInterruptible",[Mt](e){if(e.interruptible=this[R],e._interruptedCause&&e.interruptible)return()=>F(e._interruptedCause)}}),Ho=il(!0),uh=il(!1),cl=e=>{if(e.interruptible=!0,e._stack.push(uh),e._interruptedCause)return F(e._interruptedCause)},tc=e=>k(t=>t.interruptible?e:cl(t)??e),jt=e=>k(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Ho),e(tc)):e(w)),al=e=>k(t=>{if(t.interruptible)return e(w);let r=cl(t),n=e(wt);return r??n}),ul=T(Wo(E(()=>new AbortController),e=>E(()=>e.abort())),e=>e.signal),rr=(e,t)=>pt(e)?t?.mode==="result"?fe(e,Nt,t):fe(e,w,t):t?.discard?t.mode==="result"?fe(Object.values(e),Nt,t):fe(Object.values(e),w,t):v(()=>{let r={};return le(fe(Object.entries(e),([n,o])=>T(t?.mode==="result"?Nt(o):o,s=>{be(r,n,s)}),{discard:!0,concurrency:t?.concurrency}),r)}),rc=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>T(fe(e,(n,o)=>Nt(t(n,o)),r),n=>Wa(n,w))),fl=a(3,(e,t,r)=>{let n=B(e);return n.length===0?E(t):v(()=>{let o=0,s=t();return T(Tt({while:()=>o<n.length,body:()=>r(s,n[o],o),step(i){s=i,o++}}),()=>s)})}),ll=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>h(rc(e,t,{concurrency:r?.concurrency}),([n,o])=>$a(n)?j(n):r?.discard?O:x(o))),pl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):dl(r,0,t,n.value)})),dl=(e,t,r,n)=>h(r(n,t),o=>{if(o)return x(Z(n));let s=e.next();return s.done?x(V()):dl(e,t+1,r,s.value)}),ml=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):xl(r,0,t,n.value)})),xl=(e,t,r,n)=>h(r(n,t),o=>{if(Yt(o))return x(Z(o.success));let s=e.next();return s.done?x(V()):xl(e,t+1,r,s.value)}),Tt=_e({op:"While",[ue](e,t){return this[R].step(e),this[R].while()?(t._stack.push(this),this[R].body()):Ue},[Y](e){return this[R].while()?(e._stack.push(this),this[R].body()):Ue}}),fe=a(e=>typeof e[1]=="function",(e,t,r)=>v(()=>{let n=r?.concurrency??1,o=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n);if(o===1)return fh(e,t,r);let s=B(e),i=s.length;if(i===0)return r?.discard?O:x([]);let c=r?.discard?void 0:new Array(i),u=ph({f:t,out:c},s,{concurrency:o});return u?le(u,c):x(c)})),hl=e=>h(e,t=>{let r=t[Symbol.iterator]().next();return r.done?j(new tt):x(r.value)}),fh=(e,t,r)=>v(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return le(Tt({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{n&&n.push(c),s=o.next()}}),n)}),lh=e=>{let t=e.onItem,r=e.step,n=(o,s,i,c)=>{for(;i<c;i++){let u=s[i],f=t(o,u,i);if(!me(f))return h(_r(f),d=>r(o,u,d,i)??n(o,s,i+1,c)??O);let m=r(o,u,f,i);if(m)return m._tag==="Failure"?m:void 0}};return(o,s,i)=>{let c=0,u=i?.end??s.length,f=i?.concurrency??1;if(f===1)return n(o,s,0,u);let m=i?.orderedStep===!0,d=!1,y,p,I,U=!1,g,$e,X=c,K=m?new Array(u):void 0,ee=fr=>{let ge=Ke(fr);return g=ge,d=!0,U=!0,p&&p.size>0?h(wt(St(Array.from(p))),()=>ge):ge},je=(fr,ge,ft)=>{if(!m)return r(o,fr,ge,ft);if(g)return g;for(K[ft]=ge;X<u;){let Re=K[X];if(Re===void 0)return;K[X]=void 0;let Ot=X++,Rt=r(o,s[Ot],Re,Ot);if(Rt)return Rt}},qn=()=>{let fr=!1;for(;!g&&c<u;c++){let ge=s[c],ft=$e??t(o,ge,c);if(me(ft)){if(g=je(ge,ft,c),g)break}else if(y){$e=void 0;let Re=nr(y,ft,!0,!0,"inherit");if(Re._exit){if(g=je(ge,Re._exit,c),g)break;continue}p.add(Re);let Ot=c;if(Re.addObserver(Rt=>{p.delete(Re);try{if(g){if(!U&&Rt._tag==="Failure")for(let ye of Rt.cause.reasons)ye._tag!=="Interrupt"&&(g._tag==="Failure"?g.cause.reasons.push(ye):g=Ee(Ft([ye])))}else{let ye=je(ge,Rt,Ot);ye&&(g=ye._tag==="Failure"?Ee(Ft(ye.cause.reasons.slice())):ye,qn())}if(fr){let ye=qn();ye&&I(ye)}else d&&p.size===0&&I(g??O)}catch(ye){I(ee(ye))}}),p.size<f)continue;fr=!0,c++;return}else return ce(Re=>{y=wr(),p=new Set,$e=ft,I=Re;let Ot;try{Ot=qn()}catch(Rt){return Re(ee(Rt))}return Ot?Re(Ot):v(()=>(g=Ue,U=!0,p?St(p):O))})}if(d=!0,g){if(p&&p.size>0){let ge=Cn(y);p.forEach(ft=>ft.interruptUnsafe(y.id,ge));return}if(I||g._tag==="Failure")return g}else if(I)if(p)p.size===0&&I(O);else return Ue};return qn()}};var ph=lh({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;e.out&&(e.out[n]=r.value)}}),nc=a(3,(e,t,r)=>h(e,n=>t(n)?x(n):r(n))),oc=a(3,(e,t,r)=>h(e,n=>{let o=t(n);return G(o)?r(o.failure):x(o.success)})),gl=a(e=>S(e[0]),(e,t,r)=>oc(e,t,r?n=>j(r(n)):()=>j(new tt))),yl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,(o,s)=>{let i=t(o,s);return typeof i=="boolean"?(i&&n.push(o),O):T(i,c=>{c&&n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),bl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=[];for(let n of e){let o=t(n);Yt(o)&&r.push(o.success)}return x(r)})),Sl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,o=>T(t(o),s=>{Yt(s)&&n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),El=x({}),vl=ta(T),kl=ra(T,h),Cl=ea(T);var wl=a(e=>S(e[0]),(e,t)=>k(r=>(Rh(),x(nr(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),nr=(e,t,r=!1,n=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new Co(s.context,i);return r?c.evaluate(t):s.currentDispatcher.scheduleTask(()=>c.evaluate(t),0),!n&&!c._exit&&(s.children().add(c),c.addObserver(()=>s._children.delete(c))),c},Tl=a(e=>S(e[0]),(e,t)=>k(r=>x(nr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Il=e=>k(t=>{let r=t._children&&new Set(t._children);return ie(e,n=>{let o=t._children;return o===void 0||o.size===0?O:(r&&(o=Da(o,s=>!r.has(s))),Or(Tr(o)))})}),sc=a(e=>S(e[0]),(e,t,r)=>k(n=>{let o=nr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};bn(t,s,()=>tf(c=>c===o.id?O:Oo(o))),o.addObserver(()=>Ki(t,s))}else o.interruptUnsafe(n.id,Cn(n));return x(o)})),Ol=a(e=>S(e[0]),(e,t)=>h(Rn,r=>sc(e,r,t))),It=e=>(t,r)=>{let n=new Co(r?.scheduler?ke(e,pn,r.scheduler):e,r?.uninterruptible!==!0);if(n.evaluate(t),n._exit)return n;if(r?.signal)if(r.signal.aborted)n.interruptUnsafe();else{let o=()=>n.interruptUnsafe();r.signal.addEventListener("abort",o,{once:!0}),n.addObserver(()=>r.signal.removeEventListener("abort",o))}return r?.onFiberStart&&r.onFiberStart(n),n},Rl=a(2,(e,t)=>{if(e._exit)return e;if(t.state._tag==="Closed")return e.interruptUnsafe(e.id),e;let r={};return bn(t,r,()=>Oo(e)),e.addObserver(()=>Ki(t,r)),e}),Al=It(Me()),ic=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return n?.onExit&&o.addObserver(n.onExit),s=>o.interruptUnsafe(s)}},_l=ic(Me()),zo=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise(s=>{o.addObserver(i=>s(i))})}},Ml=zo(Me()),cc=e=>{let t=zo(e);return(r,n)=>t(r,n).then(o=>{if(o._tag==="Failure")throw Si(o.cause);return o.value})},Fl=cc(Me()),Bo=e=>{let t=It(e);return r=>{if(me(r))return r;let n=new ln("sync"),o=t(r,{scheduler:n});return o._dispatcher?.flush(),o._exit??Ke(new Io(o))}},Ul=Bo(Me()),ac=e=>{let t=Bo(e);return r=>{let n=t(r);if(n._tag==="Failure")throw Si(n.cause);return n.value}},Nl=ac(Me()),Du=x(!0),Pu=x(!1),ai=class{waiters=[];scheduled=void 0;_isOpen;constructor(t){this._isOpen=t}scheduleUnsafe(t){if(this.waiters.length===0)return Du;if(this.scheduled===void 0)this.scheduled=this.waiters,t.currentDispatcher.scheduleTask(this.flushScheduled,0);else for(let r=0;r<this.waiters.length;r++)this.scheduled.push(this.waiters[r]);return this.waiters=[],Du}flushScheduled=()=>{if(this.scheduled===void 0)return;let t=this.scheduled;this.scheduled=void 0;for(let r=0;r<t.length;r++)t[r](Ue)};flushWaiters(){let t=this.waiters;this.waiters=[],this.flushScheduled();for(let r=0;r<t.length;r++)t[r](Ue)}open=k(t=>this._isOpen?Pu:(this._isOpen=!0,this.scheduleUnsafe(t)));release=k(t=>this._isOpen?Pu:this.scheduleUnsafe(t));openUnsafe(){return this._isOpen?!1:(this._isOpen=!0,this.flushWaiters(),!0)}await=ce(t=>this._isOpen?t(O):(this.waiters.push(t),E(()=>{let r=this.waiters.indexOf(t);r!==-1?this.waiters.splice(r,1):this.scheduled!==void 0&&(r=this.scheduled.indexOf(t),r!==-1&&this.scheduled.splice(r,1))})));closeUnsafe(){return this._isOpen?(this._isOpen=!1,!0):!1}close=E(()=>this.closeUnsafe());whenOpen=t=>h(this.await,()=>t);isOpen(){return this._isOpen}},dh=e=>new ai(e??!1);var Dl=k(e=>x(e.getRef(So))),Pl=a(2,(e,t)=>xe(e,So,t)),Ll=xe(Eo),$l=xe(Er),ui=BigInt(0),mh={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ui,endTime:ui,exit:Ue},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},xh=e=>Object.assign(Object.create(mh),e),jl=e=>e?ve(e.annotations,bo)?e._tag==="Span"?jl(br(e.parent)):V():Z(e):V(),uc=(e,t,r)=>{let n=!e.getRef(Eo)||r?.annotations&&ve(r.annotations,bo),o=r?.parent!==void 0?Z(r.parent):r?.root?V():jl(e.currentSpan),s;if(n)s=xh({name:t,parent:o,annotations:ke(r?.annotations??Me(),bo,!0)});else{let i=e.getRef(So),c=e.getRef(Ze),u=e.getRef(Er),f=e.getRef(hn),m=e.getRef(gn),d=r?.level??e.getRef(Iu),y=r?.links!==void 0?[...m,...r.links]:m.length===0?[]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Me(),links:y,startTime:u?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??Gt(o),sampled:r?.sampled??(_a(o)&&o.value.sampled===!1?!1:!rp(e.getRef(Ou),d))});for(let p in f)s.attribute(p,f[p]);if(r?.attributes!==void 0)for(let p in r.attributes)s.attribute(p,r.attributes[p])}return s},ql=(e,t)=>k(r=>x(uc(r,e,t))),Sn=(e,t)=>wt(k(r=>{let n=yt(r.context,Mr),o=uc(r,e,t??{}),s=r.getRef(Ze),i=r.getRef(Er);return le(Ct(n,c=>Kl(o,c,s,i)),o)})),Wl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return h(Sn(t,r),o=>Cr(n,o,r))}return n=>h(Sn(t,r),o=>Cr(n,o,r))},hh=(e,t)=>(t=typeof t=="function"?t:Xe,vt(xn,r=>({name:e,stack:t,parent:r}))),Hl=hn,zl=gn,Bl=a(e=>S(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:r}));return vt(e,gn,s=>[...s,...o])}),Kl=(e,t,r,n)=>E(()=>{e.status._tag!=="Ended"&&e.end(n?r.currentTimeNanosUnsafe():ui,t)}),En=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return k(o=>{let s=uc(o,e,r),i=o.getRef(Ze),c=o.getRef(Er);return ie(A(()=>n(s)),u=>Kl(s,u,i,c))})},fi=xe(mn),Cr=function(){let e=S(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;return t._tag==="Span"&&(r=ko(r),n=hh(t.name,r?.captureStackTrace)),e?fi(n(arguments[0]),t):o=>fi(n(o),t)},Jl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(arguments[2]);if(e){let s=arguments[0];return En(t,arguments[2],i=>Cr(s,i,r))}let n=typeof arguments[1]=="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>En(t,n?n(...i):o,c=>Cr(s,c,r))},Vl=a(e=>S(e[0]),(e,...t)=>vt(e,hn,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),Zl=(...e)=>k(t=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return O}),Gl=k(e=>{let t=e.currentSpanLocal;return t?x(t):j(new tt)}),Yl=th(mn),Ze=M("effect/Clock",{defaultValue:()=>new li}),ri=2**31-1,li=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=E(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return gh()}currentTimeNanos=E(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return Ql()}monotonicTimeNanos=E(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(Je(t))}sleepMillis(t){return t<=0?Ir:Number.isFinite(t)?ce(r=>{let n=t>ri?this.sleepMillis(t-ri):O,o=setTimeout(()=>r(n),Math.min(t,ri));return E(()=>clearTimeout(o))}):Ao}},Xl=BigInt(1e6),Ql=(function(){let e=globalThis.process?.hrtime;if(typeof e?.bigint=="function")return()=>e.bigint();if(typeof performance<"u"&&typeof performance.now=="function")return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(0);return()=>{let r=BigInt(Date.now())*Xl;return r>t&&(t=r),t}})(),gh=(function(){let e=BigInt(1e9),t;return()=>{let r=Ql(),n=BigInt(Date.now())*Xl;if(t===void 0)t=n-r;else{let o=t+r;(n>o?n-o:o-n)>e&&(t=n-r)}return t+r}})(),he=e=>k(t=>e(t.getRef(Ze))),or=e=>he(t=>t.sleep(q(e))),Ko=he(e=>e.currentTimeMillis),ep=he(e=>e.currentTimeNanos),tp=he(e=>e.monotonicTimeNanos),pi="~effect/Cause/TimeoutError";var wo=class extends xt("TimeoutError"){[pi]=pi;constructor(t){super({message:t})}},di="~effect/Cause/IllegalArgumentError";var To=class extends xt("IllegalArgumentError"){[di]=di;constructor(t){super({message:t})}},mi="~effect/Cause/ExceededCapacityError";var xi=class extends xt("ExceededCapacityError"){[mi]=mi;constructor(t){super({message:t})}},hi="~effect/Cause/AsyncFiberError";var Io=class extends xt("AsyncFiberError"){[hi]=hi;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},gi="~effect/Cause/UnknownError";var vn=class extends xt("UnknownError"){[gi]=gi;constructor(t,r){super({message:r,cause:t})}},yh=M("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),bh=e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},Sh=Ra(eo,bh),rp=yr(Sh),fc=M("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([Ih,Oh])}),Eh=M("effect/Logger/LogToStderr",{defaultValue:Wn}),np=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return wt(k(t=>{let r=t.getRef(bt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];be(n,s,i)}return t.setContext(ke(t.context,bt,n)),Ct(yt(t.context,Mr),o=>{let s=t.getRef(bt),i={...s};for(let c=0;c<e.length;c++){let[u,f]=e[c];s[u]===f&&(Object.hasOwn(r,u)?be(i,u,r[u]):delete i[u])}return t.setContext(ke(t.context,bt,i)),O})}))},vh="~effect/Logger",kh={[vh]:{_Message:w,_Output:w},pipe(){return D(this,arguments)}},op=e=>{let t=Object.create(kh);return t.log=e,t},Ch=e=>e.replace(/[\s="]/g,"_"),wh=(e,t)=>`${Ch(e[0])}=${t-e[1]}ms`;var Ge=e=>(...t)=>{let r;for(let n=0,o=t.length;n<o;n++){let s=t[n];Xr(s)&&(r?t.splice(n,1):t=t.slice(0,n).concat(t.slice(n+1)),r=r?Ft(r.reasons.concat(s.reasons)):s,n--)}return r===void 0&&(r=ys),k(n=>{let o=e??n.currentLogLevel;if(rp(n.minimumLogLevel,o))return O;let s=n.getRef(Ze),i=n.getRef(fc);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let u of i)u.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return O})};var Qt={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Ik={None:[],All:[],Trace:[Qt.gray],Debug:[Qt.blue],Info:[Qt.green],Warn:[Qt.yellow],Error:[Qt.red],Fatal:[Qt.bgBrightRed,Qt.black]};var Th=e=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var Ih=op(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];e.reasons.length>0&&s.push(Ei(e));let i=t.getTime(),c=r.getRef(vo),u="";for(let y of c)u+=` ${wh(y,i)}`;let f=r.getRef(bt);Object.keys(f).length>0&&s.push(f);let m=r.getRef(yh);(r.getRef(Eh)?m.error:m.log)(`[${Th(t)}] ${n.toUpperCase()} (#${r.id})${u}:`,...s)}),Oh=op(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(Ze),s=t.getRef(bt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[u,f]of Object.entries(s))be(c,u,f);c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0&&(c["effect.cause"]=Ei(e)),i.event(la(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function Rh(){si.interruptChildren??=Xx}var An=x(void 0);var sp=a(e=>S(e[0]),(e,t)=>Yi(e,r=>k(n=>(Ah(n,r,t?.defectsOnly),O)))),Ah=(e,t,r)=>{let n=e.getRef(_u);if(n.size===0||r&&!$u(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(Ze).currentTimeNanosUnsafe()};n.forEach(s=>s.report(o))};var ip=Ft;var cp=nn;var ct=va;var Jo=To;var l={};zt(l,{Do:()=>Py,Transaction:()=>Hr,TypeId:()=>vy,abortSignal:()=>HS,acquireDisposable:()=>TS,acquireRelease:()=>wS,acquireUseRelease:()=>IS,addFinalizer:()=>OS,all:()=>ky,andThen:()=>Qy,annotateCurrentSpan:()=>tE,annotateLogs:()=>BE,annotateLogsScoped:()=>KE,annotateSpans:()=>eE,as:()=>nb,asSome:()=>ob,asVoid:()=>sb,awaitAllChildren:()=>bE,bind:()=>jy,bindTo:()=>Ly,cached:()=>DS,cachedInvalidateWithTTL:()=>LS,cachedWithTTL:()=>PS,callback:()=>Dc,catch:()=>ub,catchCause:()=>xb,catchCauseFilter:()=>Eb,catchCauseIf:()=>Sb,catchDefect:()=>hb,catchEager:()=>p0,catchFilter:()=>yb,catchIf:()=>gb,catchNoSuchElement:()=>bb,catchReason:()=>pb,catchReasons:()=>db,catchTag:()=>fb,catchTags:()=>lb,clockWith:()=>jd,context:()=>lS,contextWith:()=>pS,currentParentSpan:()=>nE,currentSpan:()=>rE,delay:()=>qb,die:()=>Rd,effectify:()=>o0,ensuring:()=>RS,eventually:()=>Ob,exit:()=>Md,fail:()=>Uc,failCause:()=>Hy,failCauseSync:()=>zy,failSync:()=>Wy,fiber:()=>SE,fiberId:()=>EE,filter:()=>Vb,filterMap:()=>Zb,filterMapEffect:()=>Gb,filterMapOrElse:()=>Xb,filterMapOrFail:()=>eS,filterOrElse:()=>Yb,filterOrFail:()=>Qb,findFirst:()=>Iy,findFirstFilter:()=>Oy,firstSuccessOf:()=>Pb,flatMap:()=>Pc,flatMapEager:()=>l0,flatten:()=>Xy,flip:()=>ib,fn:()=>NE,fnUntraced:()=>UE,fnUntracedEager:()=>d0,forEach:()=>Ry,forever:()=>zS,forkChild:()=>xE,forkDetach:()=>yE,forkIn:()=>hE,forkScoped:()=>gE,fromNullishOr:()=>Yy,fromOption:()=>Zy,fromResult:()=>Vy,gen:()=>qy,head:()=>Ay,ignore:()=>Mb,ignoreCause:()=>Fb,interrupt:()=>Pd,interruptible:()=>$S,interruptibleMask:()=>WS,isEffect:()=>cr,isFailure:()=>uS,isSuccess:()=>fS,let:()=>$y,linkSpans:()=>iE,log:()=>PE,logDebug:()=>WE,logError:()=>jE,logFatal:()=>LE,logInfo:()=>qE,logTrace:()=>HE,logWarning:()=>$E,logWithLevel:()=>DE,makeSpan:()=>cE,makeSpanScoped:()=>aE,map:()=>rb,mapBoth:()=>kb,mapBothEager:()=>f0,mapEager:()=>a0,mapError:()=>vb,mapErrorEager:()=>u0,match:()=>rS,matchCause:()=>oS,matchCauseEager:()=>sS,matchCauseEffect:()=>cS,matchCauseEffectEager:()=>iS,matchEager:()=>nS,matchEffect:()=>aS,never:()=>Dy,onError:()=>AS,onErrorFilter:()=>MS,onErrorIf:()=>_S,onExit:()=>Lc,onExitFilter:()=>NS,onExitIf:()=>US,onExitPrimitive:()=>FS,onInterrupt:()=>jS,option:()=>tb,orDie:()=>Cb,orElseSucceed:()=>Db,partition:()=>Cy,promise:()=>_y,provide:()=>dS,provideContext:()=>mS,provideService:()=>Dd,provideServiceEffect:()=>ES,race:()=>Kb,raceAll:()=>zb,raceAllFirst:()=>Bb,raceFirst:()=>Jb,reduce:()=>wy,repeat:()=>BS,repeatOrElse:()=>KS,replicate:()=>JS,replicateEffect:()=>VS,request:()=>dE,requestUnsafe:()=>mE,result:()=>eb,retry:()=>Rb,retryOrElse:()=>Ab,runCallback:()=>wE,runCallbackWith:()=>CE,runFork:()=>vE,runForkWith:()=>kE,runPromise:()=>TE,runPromiseExit:()=>OE,runPromiseExitWith:()=>RE,runPromiseWith:()=>IE,runSync:()=>AE,runSyncExit:()=>ME,runSyncExitWith:()=>FE,runSyncWith:()=>_E,sandbox:()=>_b,satisfiesErrorType:()=>i0,satisfiesServicesType:()=>c0,satisfiesSuccessType:()=>s0,schedule:()=>ZS,scheduleFrom:()=>$d,scope:()=>vS,scoped:()=>kS,scopedWith:()=>CS,service:()=>hS,serviceOption:()=>gS,setContext:()=>xS,sleep:()=>Wb,spanAnnotations:()=>oE,spanLinks:()=>sE,succeed:()=>Id,succeedNone:()=>Fy,succeedSome:()=>Uy,suspend:()=>Od,sync:()=>pe,tap:()=>_d,tapCause:()=>Ud,tapCauseFilter:()=>Ib,tapCauseIf:()=>Tb,tapDefect:()=>Nd,tapError:()=>Fd,tapErrorTag:()=>wb,timed:()=>Hb,timeout:()=>Lb,timeoutOption:()=>$b,timeoutOrElse:()=>jb,tracer:()=>GS,track:()=>VE,trackDefects:()=>YE,trackDuration:()=>XE,trackErrors:()=>GE,trackSuccesses:()=>ZE,transposeOption:()=>Gy,try:()=>By,tryPromise:()=>My,tx:()=>QE,txRetry:()=>n0,undefined:()=>Ny,uninterruptible:()=>qS,uninterruptibleMask:()=>Ld,unwrapReason:()=>mb,updateContext:()=>yS,updateService:()=>bS,updateServiceScoped:()=>SS,useSpan:()=>uE,validate:()=>Ty,void:()=>Nc,when:()=>tS,whileLoop:()=>Td,withErrorReporting:()=>Nb,withExecutionPlan:()=>Ub,withFiber:()=>Ad,withLogSpan:()=>JE,withLogger:()=>zE,withParentSpan:()=>pE,withSpan:()=>fE,withSpanScoped:()=>lE,withTracer:()=>YS,withTracerEnabled:()=>XS,withTracerTiming:()=>QS,yieldNow:()=>Ky,yieldNowWith:()=>Jy,zip:()=>cb,zipWith:()=>ab});var ap=Fo;var Ye={};zt(Ye,{await:()=>pc,complete:()=>Uh,completeWith:()=>lp,die:()=>dp,dieSync:()=>Ph,done:()=>qt,doneUnsafe:()=>gp,fail:()=>pp,failCause:()=>dc,failCauseSync:()=>Dh,failSync:()=>Nh,interrupt:()=>Lh,interruptWith:()=>mp,into:()=>yp,isDeferred:()=>_h,isDone:()=>$h,isDoneUnsafe:()=>xp,make:()=>Fh,makeUnsafe:()=>Vo,poll:()=>jh,succeed:()=>hp,sync:()=>qh});var fp="~effect/Deferred",_h=e=>b(e,fp),Mh={[fp]:{_A:w,_E:w},pipe(){return D(this,arguments)}},Vo=()=>{let e=Object.create(Mh);return e.resumes=void 0,e.effect=void 0,e},Fh=()=>E(()=>Vo()),pc=e=>ce(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),E(()=>{let r=e.resumes;if(r===void 0)return;let n=r.indexOf(t);n>=0&&r.splice(n,1)})));var Uh=a(2,(e,t)=>v(()=>e.effect?x(!1):yp(t,e))),lp=a(2,(e,t)=>E(()=>gp(e,t))),qt=lp,pp=a(2,(e,t)=>qt(e,nt(t))),Nh=a(2,(e,t)=>v(()=>pp(e,t()))),dc=a(2,(e,t)=>qt(e,Ee(t))),Dh=a(2,(e,t)=>v(()=>dc(e,t()))),dp=a(2,(e,t)=>qt(e,Ke(t))),Ph=a(2,(e,t)=>v(()=>dp(e,t()))),Lh=e=>k(t=>mp(e,t.id)),mp=a(2,(e,t)=>dc(e,kn(t))),$h=e=>E(()=>xp(e)),xp=e=>e.effect!==void 0;function jh(e){return E(()=>so(e.effect))}var hp=a(2,(e,t)=>qt(e,re(t))),qh=a(2,(e,t)=>v(()=>hp(e,t()))),gp=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let r=e.resumes;e.resumes=void 0;for(let n=0;n<r.length;n++)r[n](t)}return!0},yp=a(2,(e,t)=>jt(r=>h(_r(r(e)),n=>qt(t,n))));var bp=bt;var Sp=vo;var Ep=On;var Zo=Xf,mc=Bi;var Cp="~effect/Layer",kp="~effect/Layer/MemoMap",Hh=(e,t)=>(e.observers++,Pt(Ct(t,r=>e.finalizer(r)),e.effect)),wp=e=>b(e,Cp),zh={[Cp]:{_ROut:w,_E:w,_RIn:w},pipe(){return D(this,arguments)}},Tp=e=>{let t=Object.create(zh);return t.build=e,t},Ip=e=>Tp((t,r)=>{let n=Zo(r);return ie(e(t,n),o=>o._tag==="Failure"?mc(n,o):O)});var Bh=(e,t,r,n)=>{let o=Ep(),s=Vo(),i={observers:1,effect:pc(s),finalizer:c=>v(()=>(i.observers--,i.observers===0?(e.map.delete(t),mc(o,c)):O))};return e.map.set(t,i),Ct(r,i.finalizer).pipe(h(()=>n(e,o)),ie(c=>(i.effect=c,qt(s,c))))},Go=class{get[kp](){return kp}parent;constructor(t){this.parent=t}map=new Map;get(t,r){let n=this.map.get(t);return n?Hh(n,r):this.parent?.get(t,r)}getOrElseMemoize(t,r,n){return v(()=>{let o=this.get(t,r);return o||Bh(this,t,r,n)})}},xc=()=>new Go,Kh=e=>new Go(e);var _n=class e extends gt()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let r=uo(t,e);return r?Kh(r):xc()}},hc=a(3,(e,t,r)=>xe(T(e.build(t,r),ke(_n,t)),_n,t));var Op=a(2,(e,t)=>k(r=>hc(e,_n.forkOrCreate(r.context),t)));var Rp=e=>Tp(oe(x(e)));var Ap=(e,t,r)=>{let n=Zo(r,"parallel");return fe(e,o=>o.build(t,Zo(n,"sequential")),{concurrency:e.length}).pipe(T(o=>Qa(...o)))},_p=(...e)=>Ip((t,r)=>Ap(e,t,r));var Jh=(e,t,r)=>Ip((n,o)=>h(Array.isArray(t)?Ap(t,n,o):t.build(n,o),s=>e.build(n,o).pipe(kt(s),T(i=>r(i,s))))),Mp=a(2,(e,t)=>Jh(e,t,w));var Fp="~effect/ExecutionPlan";var Vh={[Fp]:Fp,get captureRequirements(){let e=this;return $t(t=>x(Zh(e.steps.map(r=>({...r,provide:wp(r.provide)?Mp(r.provide,Rp(t)):r.provide})))))},pipe(){return D(this,arguments)}},Zh=e=>{let t=Object.create(Vh);return t.steps=e,t};var Up=M("effect/ExecutionPlan/CurrentMetadata",{defaultValue:oe({attempt:0,stepIndex:0})});var Le={};zt(Le,{CurrentMetadata:()=>Ht,addDelay:()=>jg,concat:()=>qg,concatResult:()=>ad,cron:()=>zg,duration:()=>Bg,during:()=>Kg,exponential:()=>Zg,fibonacci:()=>Gg,fixed:()=>Yg,forever:()=>rs,fromStep:()=>Oe,fromStepWithMetadata:()=>sr,identity:()=>ny,isSchedule:()=>es,jittered:()=>Xg,map:()=>Qo,max:()=>Wg,min:()=>Jg,modifyDelay:()=>Oc,passthrough:()=>ts,recurs:()=>Rc,setInputType:()=>oy,spaced:()=>ud,tap:()=>Qg,toStep:()=>ut,toStepWithMetadata:()=>qr,toStepWithSleep:()=>$g,upTo:()=>ey,while:()=>ir,windowed:()=>ty});var Wt={};zt(Wt,{Clock:()=>Gh,clockWith:()=>Yh,currentTimeMillis:()=>Xh,currentTimeNanos:()=>Qh,monotonicTimeNanos:()=>eg});var Gh=Ze,Yh=he,Xh=Ko,Qh=ep,eg=tp;var yc="~effect/time/DateTime",bc="~effect/time/DateTime/TimeZone",Lp={[yc]:yc,pipe(){return D(this,arguments)},[Se](){return this.toString()},toJSON(){return Dn(this).toJSON()}},tg={...Lp,_tag:"Utc",[P](){return dt(this.epochMilliseconds)},[L](e){return Nn(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${Dn(this).toJSON()})`}},rg={...Lp,_tag:"Zoned",[P](){return W(dt(this.epochMilliseconds))(_(this.zone))},[L](e){return Nn(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&J(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Sg(this)})`}},$p={[bc]:bc,[Se](){return this.toString()}},ng={...$p,_tag:"Named",[P](){return H(`Named:${this.id}`)},[L](e){return Ur(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},og={...$p,_tag:"Offset",[P](){return H(`Offset:${this.offset}`)},[L](e){return Ur(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${Hp(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},at=(e,t,r)=>{let n=Object.create(rg);return n.epochMilliseconds=e,n.zone=t,Object.defineProperty(n,"partsUtc",{value:r,enumerable:!1,writable:!0}),Object.defineProperty(n,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(n,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),n},Nn=e=>b(e,yc),sg=e=>Nn(e[0]),Ur=e=>b(e,bc);var jp=e=>Ur(e)&&e._tag==="Named";var ig=e=>e._tag==="Zoned";var qp=e=>{let t=Object.create(tg);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Mn=e=>{let t=e.getTime();if(Number.isNaN(t))throw new Jo("Invalid date");return qp(t)},cg=e=>{if(Nn(e))return e;if(e instanceof Date)return Mn(e);if(typeof e=="object"){if("epochMilliseconds"in e)return Mn(new Date(e.epochMilliseconds));let t=new Date(0);return yg(t,e),Mn(t)}else if(typeof e=="string"&&!ag(e))return Mn(new Date(e+"Z"));return Mn(new Date(e))},ag=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),ug=-864e13+720*60*1e3,fg=864e13-840*60*1e3,Ec=(e,t)=>{let r=t?.timeZone;if(r===void 0&&Nn(e)&&ig(e))return e;let n=cg(e);if(n.epochMilliseconds<ug||n.epochMilliseconds>fg)throw new RangeError(`Epoch millis out of range: ${n.epochMilliseconds}`);r===void 0&&typeof e=="object"&&"timeZoneId"in e&&(r=e.timeZoneId);let o;if(r===void 0){let s=new Date(n.epochMilliseconds).getTimezoneOffset()*-60*1e3;o=Sc(s)}else if(Ur(r))o=r;else if(typeof r=="number")o=Sc(r);else{let s=vc(r);if(Gt(s))throw new Jo(`Invalid time zone: ${r}`);o=s.value}return t?.adjustForTimeZone!==!0?at(n.epochMilliseconds,o,n.partsUtc):zp(n.epochMilliseconds,o,t?.disambiguation??"compatible")};var Un=new Map,lg={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},pg=e=>{let t=e.resolvedOptions().timeZone;if(Un.has(t))return Un.get(t);let r=Object.create(ng);return r.id=t,r.format=e,Un.set(t,r),r},dg=e=>{if(Un.has(e))return Un.get(e);try{return pg(new Intl.DateTimeFormat("en-US",{...lg,timeZone:e}))}catch{throw new Jo(`Invalid time zone: ${e}`)}},Sc=e=>{let t=Object.create(og);return t.offset=e,t},mg=sn(dg);var xg=/^(?:GMT|[+-])/,vc=e=>{if(xg.test(e)){let t=Bp(e);return t===null?V():Z(Sc(t))}return mg(e)};var Dn=e=>new Date(e.epochMilliseconds),Nr=e=>{if(e._tag==="Utc")return new Date(e.epochMilliseconds);if(e.zone._tag==="Offset")return new Date(e.epochMilliseconds+e.zone.offset);if(e.adjustedEpochMilliseconds!==void 0)return new Date(e.adjustedEpochMilliseconds);let t=e.zone.format.formatToParts(e.epochMilliseconds).filter(n=>n.type!=="literal"),r=new Date(0);return r.setUTCFullYear(Number(t[2].value),Number(t[0].value)-1,Number(t[1].value)),r.setUTCHours(Number(t[3].value),Number(t[4].value),Number(t[5].value),Number(t[6].value)),e.adjustedEpochMilliseconds=r.getTime(),r},Wp=e=>Nr(e).getTime()-gg(e),Hp=e=>{let t=Math.abs(e),r=Math.floor(t/(3600*1e3)),n=Math.round(t%(3600*1e3)/(60*1e3));return n===60&&(r+=1,n=0),`${e<0?"-":"+"}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`},hg=e=>Hp(Wp(e)),gg=e=>e.epochMilliseconds;var yg=(e,t)=>{if(t.year!==void 0&&e.setUTCFullYear(t.year),t.month!==void 0&&e.setUTCMonth(t.month-1),t.day!==void 0&&e.setUTCDate(t.day),t.weekDay!==void 0){let r=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+r)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)};var Dp=1440*60*1e3,zp=(e,t,r)=>{if(t._tag==="Offset")return at(e-t.offset,t);let n=Fn(e-Dp,e,t),o=Fn(e+Dp,e,t);if(n===o)return at(e-n,t);let s=n<o,i=n-o;if(s){if(Fn(e-o,e,t)===o)return at(e-o,t);let f=at(e-n,t),m=Nr(f).getTime();if(e!==m)switch(r){case"reject":{let d=new Date(e).toISOString();throw new RangeError(`Gap time: ${d} does not exist in time zone ${t.id}`)}case"earlier":return at(e-o,t);case"compatible":case"later":return f}return f}if(Fn(e-n,e,t)===n){if(r==="earlier"||r==="compatible"||Fn(e-n+i,e+i,t)===n)return at(e-n,t);if(r==="reject"){let f=new Date(e).toISOString();throw new RangeError(`Ambiguous time: ${f} occurs twice in time zone ${t.id}`)}}return at(e-o,t)},bg=/([+-])(\d{2}):(\d{2})$/,Bp=e=>{let t=bg.exec(e);if(t===null)return null;let[,r,n,o]=t;return(r==="+"?1:-1)*(Number(n)*60+Number(o))*60*1e3},Fn=(e,t,r)=>{let n=r.format.formatToParts(e).find(s=>s.type==="timeZoneName")?.value??"";if(n==="GMT")return 0;let o=Bp(n);return o===null?Wp(at(t,r)):o},Kp=a(sg,(e,t,r)=>{if(e._tag==="Utc"){let s=Dn(e);return t(s),qp(s.getTime())}let n=Nr(e),o=new Date(n.getTime());return t(o),zp(o.getTime(),e.zone,r?.disambiguation??"compatible")});var Pp=e=>{let t=Nr(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${hg(e)}`},Sg=e=>e.zone._tag==="Offset"?Pp(e):`${Pp(e)}[${e.zone.id}]`;var wC=globalThis.Number;var Jp=eo;var TC=globalThis.String;var Zp=e=>e.toLowerCase();var Gp=e=>e.length>0;var wc="~effect/time/Cron";function kc(e){return{tz:e.tz,and:e.and,seconds:B(e.seconds),minutes:B(e.minutes),hours:B(e.hours),days:B(e.days),months:B(e.months),weekdays:B(e.weekdays)}}var vg={[wc]:wc,[L](e){return Tc(e)&&Ig(this,e)},[P](){return Hc(_(this.tz),W(_(this.and)),W(We(B(this.seconds))),W(We(B(this.minutes))),W(We(B(this.hours))),W(We(B(this.days))),W(We(B(this.months))),W(We(B(this.weekdays))))},toObject(){return kc(this)},toString(){return`Cron(${te(kc(this))})`},toJSON(){let e=kc(this);return e._id="Cron",e},[Se](){return this.toJSON()},pipe(){return D(this,arguments)}},Tc=e=>b(e,wc),kg=e=>{let t=Object.create(vg);t.seconds=Pr.seconds(e.seconds??[0]),t.minutes=Pr.minutes(e.minutes),t.hours=Pr.hours(e.hours),t.days=Pr.days(e.days),t.months=Pr.months(e.months),t.weekdays=Pr.weekdays(e.weekdays),t.and=e.and===!0,t.tz=so(e.tz);let r=Array.from(t.seconds),n=Array.from(t.minutes),o=Array.from(t.hours),s=Array.from(t.days),i=Array.from(t.months),c=Array.from(t.weekdays);return t.first={second:r[0]??0,minute:n[0]??0,hour:o[0]??0,day:s[0]??1,month:(i[0]??1)-1,weekday:c[0]??0},t.last={second:r[r.length-1]??59,minute:n[n.length-1]??59,hour:o[o.length-1]??23,day:s[s.length-1]??31,month:(i[i.length-1]??12)-1,weekday:c[c.length-1]??6},t.next={second:De.next.second(r),minute:De.next.minute(n),hour:De.next.hour(o),day:De.next.day(s),month:De.next.month(i),weekday:De.next.weekday(c)},t.prev={second:De.prev.second(r),minute:De.prev.minute(n),hour:De.prev.hour(o),day:De.prev.day(s),month:De.prev.month(i),weekday:De.prev.weekday(c)},t},Dr=(e,t,r,n=o=>o)=>o=>{let s=[];for(let i of o){if(!Number.isInteger(i)||i<t||i>r)throw new RangeError(`${e} must contain only integers between ${t} and ${r}`);s.push(n(i))}return new Set(ja(s,Jp))},Pr={seconds:Dr("seconds",0,59),minutes:Dr("minutes",0,59),hours:Dr("hours",0,23),days:Dr("days",1,31),months:Dr("months",1,12),weekdays:Dr("weekdays",0,7,e=>e===7?0:e)},Ne=(e,t)=>r=>{let n=new Array(e).fill(void 0);if(r.length===0)return n;let o;if(t==="next"){let s=r.length-1;for(let i=e-1;i>=0;i--){for(;s>=0&&r[s]>=i;)o=r[s--];n[i]=o}}else{let s=0;for(let i=0;i<e;i++){for(;s<r.length&&r[s]<=i;)o=r[s++];n[i]=o}}return n},De={prev:{second:Ne(60,"prev"),minute:Ne(60,"prev"),hour:Ne(24,"prev"),day:Ne(32,"prev"),month:Ne(13,"prev"),weekday:Ne(7,"prev")},next:{second:Ne(60,"next"),minute:Ne(60,"next"),hour:Ne(24,"next"),day:Ne(32,"next"),month:Ne(13,"next"),weekday:Ne(7,"next")}},Xp="~effect/time/Cron/CronParseError",Pe=class extends yo("CronParseError"){[Xp]=Xp};var ed=(e,t)=>{let r=e.trim().split(/\s+/).filter(Gp);if(r.length!==5&&r.length!==6)return z(new Pe({message:"Invalid number of segments in cron expression",input:e}));r.length===5&&r.unshift("0");let[n,o,s,i,c,u]=r,f=t===void 0||Ur(t)?Q(t):Ma(vc(t),()=>new Pe({message:"Invalid time zone in cron expression",input:t}));return Na({tz:f,seconds:$r(n,Og),minutes:$r(o,Rg),hours:$r(s,Ag),days:$r(i,_g),months:$r(c,Mg),weekdays:$r(u,Fg)}).pipe(Fa(({tz:m,seconds:d,minutes:y,hours:p,days:I,months:U,weekdays:g})=>kg({tz:m,seconds:d.values,minutes:y.values,hours:p.values,days:I.values,months:U.values,weekdays:g.values,and:(I.wildcard||g.wildcard)&&I.values.size!==0&&g.values.size!==0})))};var Yo=e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),td=(e,t)=>Cg(e,t,"next");var Cg=(e,t,r)=>{let n=br(e.tz),o=Ec(t??new Date,{timeZone:n}),s=r==="prev",i=s?-1:1,c=e[r],u=s?e.last:e.first,f=s?(p,I)=>p<I:(p,I)=>p>I,d=n!==void 0&&jp(n)&&n.id==="UTC"?Bt:p=>{let I=Ec(p,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:s?"later":void 0}).pipe(Nr),U=p.getTime()-I.getTime();(s?U!==0:U>0)&&p.setTime(s?I.getTime():p.getTime()+U)},y=Kp(o,p=>{p.setUTCSeconds(p.getUTCSeconds()+i,0);for(let I=0;I<1e4;I++){if(e.seconds.size!==0){let U=p.getUTCSeconds(),g=c.second[U];if(g===void 0){p.setUTCMinutes(p.getUTCMinutes()+i,u.second),d(p);continue}if(f(g,U)){p.setUTCSeconds(g),d(p);continue}}if(e.minutes.size!==0){let U=p.getUTCMinutes(),g=c.minute[U];if(g===void 0){p.setUTCHours(p.getUTCHours()+i,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCMinutes(g,u.second),d(p);continue}}if(e.hours.size!==0){let U=p.getUTCHours(),g=c.hour[U];if(g===void 0){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCHours(g,u.minute,u.second),d(p);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let U=e.days.size===0||e.days.has(p.getUTCDate()),g=e.weekdays.size===0||e.weekdays.has(p.getUTCDay());if(!U||!g){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}else{let U=s?-1/0:1/0,g=s?-1/0:1/0;if(e.weekdays.size!==0){let X=p.getUTCDay(),K=c.weekday[X];K===void 0?U=s?u.weekday-7-X:7-X+u.weekday:U=K-X}if(e.days.size!==0&&U!==0){let X=p.getUTCDate(),K=c.day[X];if(K===void 0)if(s){let ee=new Date(p);ee.setUTCDate(0);let je=c.day[ee.getUTCDate()];if(je===void 0&&(ee.setUTCDate(0),je=c.day[ee.getUTCDate()]),je===void 0)throw new Error("Unable to find cron date");ee.setUTCDate(je),g=(ee.getTime()-p.getTime())/864e5}else g=Yo(p)-X+u.day;else!s&&K>Yo(p)?g=Yo(p)-X+u.day:g=K-X}let $e=s?Math.max(U,g):Math.min(U,g);if($e!==0){p.setUTCDate(p.getUTCDate()+$e),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}if(e.months.size!==0){let U=p.getUTCMonth()+1,g=c.month[U],$e=X=>{let K=Yo(new Date(Date.UTC(p.getUTCFullYear(),X+1,0)));return e.days.size!==0&&e.weekdays.size===0?s?c.day[K]??K:u.day:s?K:1};if(g===void 0){p.setUTCFullYear(p.getUTCFullYear()+i),p.setUTCMonth(u.month,$e(u.month)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){let X=g-1;p.setUTCMonth(X,$e(X)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}return}throw new Error("Unable to find cron date")});return Dn(y)};var wg=xs((e,t)=>J(e.tz,t.tz)&&e.and===t.and&&Lr(e.seconds,t.seconds)&&Lr(e.minutes,t.minutes)&&Lr(e.hours,t.hours)&&Lr(e.days,t.days)&&Lr(e.months,t.months)&&Lr(e.weekdays,t.weekdays)),Tg=Xc(Yc()),Lr=(e,t)=>Tg(B(e),B(t)),Ig=a(2,(e,t)=>wg(e,t)),Og={min:0,max:59},Rg={min:0,max:59},Ag={min:0,max:23},_g={min:1,max:31},Mg={min:1,max:12,aliases:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12}},Fg={min:0,max:7,normalize:e=>e===7?0:e,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},$r=(e,t)=>{let r=new Set,n=e.split(","),o=Qp(n[0]),s=o[0]==="*",i=t.normalize??(u=>u),c=s&&(o[1]===void 0||o[1]===1)?Bt:u=>{r.add(i(u))};for(let u=0;u<n.length;u++){let f=n[u],[m,d]=u===0?o:Qp(f);if(d!==void 0){if(!Number.isInteger(d))return z(new Pe({message:"Expected step value to be a positive integer",input:e}));if(d<1)return z(new Pe({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return z(new Pe({message:`Expected step value to be less than or equal to ${t.max}`,input:e}))}if(m==="*"){if(u===0&&(d===void 0||d===1))continue;for(let y=t.min;y<=t.max;y+=d??1)c(y)}else{let[y,p]=Ug(m,t.aliases);if(!Number.isInteger(y))return z(new Pe({message:"Expected a positive integer",input:e}));if(y<t.min||y>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(p===void 0)for(let I=y;I<=(d===void 0?y:t.max);I+=d??1)c(I);else{if(!Number.isInteger(p))return z(new Pe({message:"Expected a positive integer",input:e}));if(p<t.min||p>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(y>p)return z(new Pe({message:"Invalid value range",input:e}));for(let I=y;I<=p;I+=d??1)c(I)}}}return Q({values:r,wildcard:s})},Qp=e=>{let t=e.indexOf("/");if(t!==-1){let r=e.slice(t+1);return[e.slice(0,t),rd.test(r)?Number(r):NaN]}return[e,void 0]},Ug=(e,t)=>{let r=e.indexOf("-");return r!==-1?[Cc(e.slice(0,r),t),Cc(e.slice(r+1),t)]:[Cc(e,t),void 0]};function Cc(e,t){return t?.[Zp(e)]??(rd.test(e)?Number(e):NaN)}var rd=/^\d+$/;var od=M("effect/Random",{defaultValue:()=>({nextIntUnsafe(){return Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER-Number.MIN_SAFE_INTEGER+1))+Number.MIN_SAFE_INTEGER},nextDoubleUnsafe(){return Math.random()}})});var Xo=a(2,(e,t)=>Ar(e,Dg,r=>t(r)));var sd=e=>e._tag==="Fail"&&cp(e.error),id=e=>{let t,r=!1;for(let n of e.reasons)sd(n)?t??=n.error:n._tag!=="Interrupt"&&(r=!0);return t===void 0?z(e):r?z(ip(e.reasons.filter(n=>!sd(n)))):Q(t)};var Dg=e=>{let t=id(e);return G(t)?t:Q(t.success.value)};var Pn=a(2,(e,t)=>it(e,{onSuccess:t.onSuccess,onFailure:r=>{let n=id(r);return G(n)?t.onFailure(n.failure):t.onDone(n.success.value)}}));var cd="~effect/Schedule",Pg=od.useSync(e=>e.nextDoubleUnsafe()),Ht=M("effect/Schedule/CurrentMetadata",{defaultValue:oe({input:void 0,output:void 0,duration:$,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Lg={[cd]:{_Out:w,_In:w,_Env:w},pipe(){return D(this,arguments)}},es=e=>b(e,cd),Oe=e=>{let t=Object.create(Lg);return t.step=e,t},jr=()=>{let e=0,t,r;return(n,o)=>{r===void 0&&(r=n);let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},sr=e=>Oe(T(e,t=>{let r=jr();return(n,o)=>t(r(n,o))})),ut=e=>Te(e.step,t=>x(()=>F(t))),qr=e=>he(t=>T(ut(e),r=>{let n=jr();return o=>v(()=>{let s=t.currentTimeMillisUnsafe();return h(r(s,o),([i,c])=>{let u=n(s,o);return u.output=i,u.duration=c,le(or(c),u)})})})),$g=e=>T(qr(e),t=>r=>T(t(r),n=>n.output)),jg=a(2,(e,t)=>Oc(e,r=>T(t(r),n=>go(q(n),r.duration)))),qg=a(2,(e,t)=>Qo(ad(e,t),({output:r})=>x(Ua(r)))),ad=a(2,(e,t)=>Oe(E(()=>{let r=0,n,o=Qo(e,({output:i})=>z(i)),s=Qo(t,({output:i})=>Q(i));return function i(c,u){return n?n(c,u):ut(r===0?o:s).pipe(h(f=>(r++,r===1?(n=(m,d)=>Xo(f(m,d),y=>(n=void 0,i(m,d))),n(c,u)):(n=f,n(c,u)))))}}))),Wg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Hg(o);return s===void 0?ct($):x([s,s])}))),Hg=e=>{let t=e[0];for(let r=1;r<e.length&&(t=e[r]&&t&&Hs(t,e[r]),t!==void 0);r++);return t},zg=(e,t)=>{let r=Tc(e)?Q(e):ed(e,t);return Oe(T(er(r),n=>(o,s)=>o===Number.POSITIVE_INFINITY?ct($):E(()=>{let i=td(n,o).getTime(),c=we(i-o);return[c,c]})))},Bg=e=>{let t=q(e);return sr(x(r=>r.attempt===1?x([t,t]):ct($)))},Kg=e=>{let t=Je(e);return sr(x(r=>{let n=we(r.elapsed);return r.elapsed>t?ct(n):x([n,$])}))},Jg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Vg(o);return s===void 0?ct($):x([s,s])}))),Vg=e=>{let t;for(let r=0;r<e.length;r++){let n=e[r];n!==void 0&&(t=t===void 0?n:Ws(t,n))}return t},Zg=(e,t=2)=>{let r=Je(q(e));return sr(x(n=>{let o=we(r*Math.pow(t,n.attempt-1));return x([o,o])}))},Gg=e=>{let t=Je(q(e));return Oe(E(()=>{let r=0,n=t;return oe(E(()=>{let o=r+n;r=n,n=o;let s=we(o);return[s,s]}))}))},Yg=e=>{let t=Je(q(e));return sr(E(()=>{let r=0,n=0;return o=>E(()=>{if(t===0)return[o.attempt-1,$];if(o.attempt===1)return r=o.now,n=o.now+t,[0,we(t)];let s=o.now>n+t,i=t-(o.now-r)%t,c=s?0:i===0?t:i;return n=s?o.now:o.now+c,[o.attempt-1,we(c)]})}))},Qo=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Pn(r(o,s),{onSuccess:([i,c])=>{let u=t({...n(o,s),output:i,duration:c});return S(u)?T(u,f=>[f,c]):x([u,c])},onFailure:F,onDone:i=>{let c=t({...n(o,s),output:i,duration:$});return S(c)?h(c,ct):ct(c)}})}))),Oc=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),([i,c])=>T(t({...n(o,s),output:i,duration:c}),u=>[i,q(u)]))}))),Xg=e=>Oc(e,({duration:t})=>T(Pg,r=>{let n=Je(t);return we(n*.8*(1-r)+n*1.2*r)})),ts=e=>Oe(T(ut(e),t=>(r,n)=>Pn(t(r,n),{onSuccess:o=>x([n,o[1]]),onFailure:F,onDone:()=>ct(n)}))),Rc=e=>ir(rs,({attempt:t})=>x(t<=e)),ud=e=>{let t=q(e);return sr(x(r=>x([r.attempt-1,t])))},Qg=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Lt(r(o,s),([i,c])=>t({...n(o,s),output:i,duration:c}))}))),ey=a(2,(e,t)=>{let r=t.duration===void 0?void 0:q(t.duration);return ir(e,({attempt:n,elapsed:o})=>x((t.times===void 0||n<=t.times)&&(r===void 0||Bs(we(o),r))))}),ir=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),i=>{let[c,u]=i,f=t({...n(o,s),output:c,duration:u});return h(S(f)?f:x(f),m=>m?x(i):ct(c))})})));var ty=e=>{let t=Je(q(e));return sr(x(r=>E(()=>[r.attempt-1,t===0?$:we(t-r.elapsed%t)])))},rs=ud($),ry=Oe(x((e,t)=>x([t,$]))),ny=()=>ry;var oy=()=>e=>e;var sy=(e,t,r)=>qo(n=>h(r?.local?hc(t,xc(),n):Op(t,n),o=>kt(e,o))),ns=a(e=>S(e[0]),(e,t,r)=>$s(t)?kt(e,t):sy(e,Array.isArray(t)?_p(...t):t,r));var Ac=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue();return Ie(No(Lt(h(v(()=>xe(e,Ht,o)),n),s=>E(()=>{o=s})),{disableYield:!0}),s=>nn(s)?x(s.value):r(s,o.attempt===0?V():Z(o)))})),_c=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue(),s,i=Ie(v(()=>xe(e,Ht,o)),c=>(s=c,h(n(c),u=>(o=u,i))));return Xo(i,c=>A(()=>r(s,c)))})),ld=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return Ac(e,r,j)}),Ln=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return _c(e,r,j)}),pd=a(3,(e,t,r)=>h(qr(r),n=>{let o=Ht.defaultValue(),s=v(()=>xe(e,Ht,o));return Ie(h(n(t),i=>{o=i;let c=oe(h(s,n));return Tt({while:At,body:c,step(u){o=u}})}),i=>nn(i)?x(i.value):j(i))})),iy=ts(rs),$n=e=>{let t=e.schedule?ts(e.schedule):iy;return e.while&&(t=ir(t,({input:r})=>{let n=e.while(r);return S(n)?n:x(n)})),e.until&&(t=ir(t,({input:r})=>{let n=e.until(r);return S(n)?T(n,o=>!o):x(!n)})),e.times!==void 0&&(t=ir(t,({attempt:r})=>x(r<=e.times))),t};var cy=(e,t)=>{let r=-1,n=0,o=s=>Lo(e(s));return{begin:he(s=>v(()=>{let i=t();i.stepIndex!==r&&(r=i.stepIndex,n=0),n++;let c={attempt:i.attempt,stepAttempt:n,stepIndex:i.stepIndex,startNanos:s.monotonicTimeNanosUnsafe()};return le(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>he(c=>{let u=Ut(c.monotonicTimeNanosUnsafe()-s.startNanos);return o(i._tag==="Success"?{_tag:"AttemptSuccess",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u}:{_tag:"AttemptFailure",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u,cause:i.cause})})}},xd=a(e=>S(e[0]),(e,t,r)=>v(()=>{let n=0,o={attempt:0,stepIndex:0},s=Uo(Up,E(()=>(o={attempt:o.attempt+1,stepIndex:n},o))),i=r?.onEvent===void 0?void 0:cy(r.onEvent,()=>o),c=i===void 0?w:f=>jt(m=>h(i.begin,d=>ie(m(f),y=>i.end(d,y)))),u;return h(Tt({while:()=>n<t.steps.length&&(u===void 0||G(u)),body(){let f=t.steps[n],m=s(c(ns(e,f.provide)));if(u){let d=!1,y=m;m=v(()=>d?y:(d=!0,er(u))),m=Ln(m,md(f,!1))}else{let d=md(f,!0);m=d?Ln(m,d):m}return Nt(m)},step(f){u=f,n++}}),()=>er(u))})),md=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return $n({schedule:e.schedule?e.schedule:e.attempts?void 0:ay,times:e.attempts,while:e.while});return $n({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},ay=Rc(1);var fy="~effect/Request",ly=Vc({_E:e=>e,_A:e=>e,_R:e=>e}),BC={...xa,[fy]:ly};var hd=e=>e;var yd=a(2,(e,t)=>{let r=n=>ce(o=>{let s=Sd(n,e,o,wr());return dy(n,s)});return S(t)?h(t,r):r(t)}),bd=(e,t)=>{let r=Sd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:ve(t.context,pn)});return()=>Ed(t.resolver,r)},os=[],Mc=new WeakMap,Sd=(e,t,r,n)=>{let o=Mc.get(e);o||(o=new Map,Mc.set(e,o));let s,i=!1,c=hd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(f){i||(i=!0,r(f),s?.entrySet.delete(c))}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let u=e.batchKey(c);if(s=o.get(u),!s){if(os.length>0)s=os.pop(),s.key=u,s.resolver=e,s.map=o;else{let f={key:u,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:h(v(()=>f.resolver.delay),m=>gd(f)),run:ie(v(()=>f.resolver.runAll(Array.from(f.entries),f.key)),m=>{for(let d of f.entrySet)d.completeUnsafe(m._tag==="Success"?Ke(new Error("Effect.request: RequestResolver did not complete request",{cause:d.request})):m);return f.entries.clear(),os.length<128&&(f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,os.push(f)),O})};s=f}o.set(u,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}return s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries)||(s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(gd(s),{scheduler:n.currentScheduler})),c},Ed=(e,t)=>{if(t.uninterruptible)return;let r=Mc.get(e);if(!r)return;let n=e.batchKey(t),o=r.get(n);o&&(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0&&(r.delete(n),o.fiber?.interruptUnsafe()))},dy=(e,t)=>E(()=>Ed(e,t));function gd(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):O}var xy="effect/Metric/CurrentMetricAttributes",hy=M(xy,{defaultValue:()=>({})}),gy="~effect/observability/Metric/MetricRegistryKey",yy=M(gy,{defaultValue:()=>new Map}),vd="~effect/observability/Metric",kd=class{[vd]=vd;#t=new WeakMap;#e;id;description;attributes;constructor(t,r,n){this.id=t,this.description=r,this.attributes=n}valueUnsafe(t){return this.hook(t).get(t)}modifyUnsafe(t,r){return this.hook(r).modify(t,r)}updateUnsafe(t,r){return this.hook(r).update(t,r)}hook(t){let r=ve(t,hy);if(Object.keys(r).length===0)return pr(this.#e)?this.#e.hooks:(this.#e=this.getOrCreate(t,this.attributes),this.#e.hooks);let n=Ey(this.attributes,r),o=this.#t.get(n);return pr(o)||(o=this.getOrCreate(t,n),this.#t.set(n,o)),o.hooks}getOrCreate(t,r){let n=by(this,r),o=ve(t,yy);if(o.has(n))return o.get(n);let s=this.createHooks(),i={id:this.id,type:this.type,description:this.description,attributes:Fc(r),hooks:s};return o.set(n,i),i}pipe(){return D(this,arguments)}};var Wr=a(2,(e,t)=>$t(r=>E(()=>e.updateUnsafe(t,r))));function by(e,t){let r=`${e.type}:${e.id}`;return pr(e.description)&&(r+=`:${e.description}`),pr(t)&&(r+=`:${Sy(t)}`),r}function Sy(e){return JSON.stringify(Array.isArray(e)?e:Object.entries(e))}function Ey(e,t){return{...Fc(e),...Fc(t)}}function Fc(e){return pr(e)&&Array.isArray(e)?e.reduce((t,[r,n])=>(be(t,r,n),t),{}):e}var vy=rt,cr=S,ky=rr,Cy=rc,wy=fl,Ty=ll,Iy=pl,Oy=ml,Ry=fe,Ay=hl,Td=Tt,_y=Ii,My=ef,Id=x,Fy=wn,Uy=Ti,Od=v,pe=E,Nc=O;var Ny=An;var Dc=ce,Dy=Ao,Py=El,Ly=vl,$y=Cl;var jy=kl,qy=of,Uc=j,Wy=Ro,Hy=F,zy=Xu,Rd=Dt,By=Qu;var Ky=Ir,Jy=wi,Ad=k,Vy=er,Zy=Ci,Gy=Yu,Yy=Gu,Pc=h,Xy=df,Qy=Pt,_d=Lt,eb=Nt,tb=zf,Md=_r,rb=T,nb=le,ob=_o,sb=Or,ib=af,cb=If,ab=Ui,ub=Ie;var fb=Li,lb=Pf,pb=Lf,db=$f,mb=jf,xb=Te,hb=Mf,gb=Tn,yb=Po,bb=_f,Sb=Di,Eb=Ar,vb=$i,kb=ji,Cb=qi,Fd=Pi,wb=Nf,Ud=Ff,Tb=Uf,Ib=Do,Nd=Df,Ob=Wi,Rb=Ln,Ab=_c,_b=uf,Mb=Hf,Fb=Lo,Ub=xd,Nb=sp,Db=qf,Pb=Wf,Lb=Zf,$b=Gf,jb=zi,qb=Vf,Wb=or,Hb=Yf,zb=_i,Bb=Mi,Kb=ff,Jb=Mo,Vb=yl,Zb=bl,Gb=Sl,Yb=nc,Xb=oc,Qb=Of,eS=gl,tS=Rf,rS=$o,nS=In,oS=Hi,sS=Bf,iS=lf,cS=it,aS=tr,uS=Kf,fS=Jf,lS=Fi,pS=$t,dS=ns,mS=kt,xS=Tf,hS=kf,gS=Cf,yS=Rr,bS=vt,SS=wf,Dd=xe,ES=Uo,vS=Rn,kS=Ji,CS=qo,wS=Wo,TS=nl,IS=rl,OS=Vi,RS=Qf,AS=Yi,_S=el,MS=Xi,FS=Fr,Lc=ie,US=Zi,NS=Gi,DS=ol,PS=ec,LS=Qi,Pd=sl,$S=tc,jS=tl,qS=wt,Ld=jt,WS=al,HS=ul,zS=No,BS=ld,KS=Ac,JS=Ni,VS=Af,ZS=a(2,(e,t)=>$d(e,void 0,t)),$d=pd,GS=Dl,YS=Pl,XS=Ll,QS=$l,eE=Vl,tE=Zl,rE=Gl,nE=Yl,oE=Hl,sE=zl,iE=Bl,cE=ql,aE=Sn,uE=En,fE=Jl,lE=Wl,pE=Cr,dE=yd,mE=bd,xE=wl,hE=sc,gE=Ol,yE=Tl,bE=Il,SE=rf,EE=nf,vE=Al,kE=It,CE=ic,wE=_l,TE=Fl,IE=cc,OE=Ml,RE=zo,AE=Nl,_E=ac,ME=Ul,FE=Bo,UE=Ri,NE=sf,jd=he,DE=Ge,PE=Ge(),LE=Ge("Fatal"),$E=Ge("Warn"),jE=Ge("Error"),qE=Ge("Info"),WE=Ge("Debug"),HE=Ge("Trace"),zE=a(2,(e,t)=>vt(e,fc,r=>new Set([...r,t]))),BE=a(e=>cr(e[0]),(e,...t)=>vt(e,bp,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),KE=np,JE=a(2,(e,t)=>h(Ko,r=>vt(e,Sp,n=>[[t,r],...n]))),VE=a(e=>cr(e[0]),(e,t,r)=>Lc(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),ZE=a(e=>cr(e[0]),(e,t,r)=>_d(e,n=>{let o=r===void 0?n:r(n);return Wr(t,o)})),GE=a(e=>cr(e[0]),(e,t,r)=>Fd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),YE=a(e=>cr(e[0]),(e,t,r)=>Nd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),XE=a(e=>cr(e[0]),(e,t,r)=>jd(n=>{let o=n.monotonicTimeNanosUnsafe();return Lc(e,()=>{let s=n.monotonicTimeNanosUnsafe(),i=zs(q(s),q(o)),c=r===void 0?i:A(()=>r(i));return Wr(t,c)})})),Hr=class extends gt()("effect/Effect/Transaction"){},QE=e=>Ad(t=>{let r=uo(t.context,Hr);if(r)return e;r={journal:new Map,retry:!1};let n;return Ld(o=>Pc(Td({while:()=>!n,body:oe(o(e).pipe(Dd(Hr,r),Ud(()=>r.retry?o(t0(r)):Nc),Md)),step(s){if(r.retry||!e0(r))return wd(r);ap(s)?r0(t,r):wd(r),n=s}}),()=>n))}),e0=e=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},t0=e=>Od(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return Dc(o=>{let s=()=>{n(),o(Nc)};for(let i of r)i.pending.set(t,s);return pe(n)})});function r0(e,t){for(let[r,{value:n}]of t.journal){n!==r.value&&(r.version=r.version+1,r.value=n);for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function wd(e){e.retry=!1,e.journal.clear()}var n0=Pc(Hr,e=>(e.retry=!0,Pd)),o0=(e,t,r)=>(...n)=>Dc(o=>{try{e(...n,(s,i)=>{o(s?Uc(t?t(s,n):s):Id(i))})}catch(s){o(r?Uc(r(s,n)):Rd(s))}}),s0=()=>e=>e,i0=()=>e=>e,c0=()=>e=>e,a0=mf,u0=xf,f0=hf,l0=pf,p0=gf,d0=cf;var ar={};zt(ar,{await:()=>m0,awaitAll:()=>x0,getCurrent:()=>k0,interrupt:()=>y0,interruptAll:()=>S0,interruptAllAs:()=>E0,interruptAs:()=>b0,isFiber:()=>v0,join:()=>h0,joinAll:()=>g0,runIn:()=>C0});var m0=vi;var x0=Tr,h0=Ju,g0=Vu,y0=Oo,b0=ki,S0=St,E0=Zu,v0=e=>b(e,yn),k0=wr,C0=Rl;var qd="~effect/MutableRef",w0={[qd]:qd,...Be,toJSON(){return{_id:"MutableRef",current:Qe(this.current)}}},Wd=e=>{let t=Object.create(w0);return t.current=e,t};var Hd=a(2,(e,t)=>(e.current=t,e));var C={};zt(C,{get:()=>R0,getAndSet:()=>_0,getAndUpdate:()=>M0,getAndUpdateSome:()=>F0,getUnsafe:()=>j0,make:()=>O0,makeUnsafe:()=>Bd,modify:()=>Kd,modifySome:()=>N0,set:()=>A0,setAndGet:()=>U0,update:()=>D0,updateAndGet:()=>P0,updateSome:()=>L0,updateSomeAndGet:()=>$0});var T0="~effect/Ref",I0={[T0]:{_A:w},...Be,toJSON(){return{_id:"Ref",ref:this.ref}}},Bd=e=>{let t=Object.create(I0);return t.ref=Wd(e),t},O0=e=>pe(()=>Bd(e)),R0=e=>pe(()=>e.ref.current),A0=a(2,(e,t)=>pe(()=>Hd(e.ref,t))),_0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t,r})),M0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t(r),r})),F0=a(2,(e,t)=>pe(()=>{let r=e.ref.current,n=t(r);return n._tag==="Some"&&(e.ref.current=n.value),r})),U0=a(2,(e,t)=>pe(()=>e.ref.current=t)),Kd=a(2,(e,t)=>pe(()=>{let[r,n]=t(e.ref.current);return e.ref.current=n,r})),N0=a(2,(e,t)=>Kd(e,r=>{let[n,o]=t(r);return[n,o._tag==="None"?r:o.value]})),D0=a(2,(e,t)=>pe(()=>{e.ref.current=t(e.ref.current)})),P0=a(2,(e,t)=>pe(()=>e.ref.current=t(e.ref.current))),L0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);r._tag==="Some"&&(e.ref.current=r.value)})),$0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);return r._tag==="Some"&&(e.ref.current=r.value),e.ref.current})),j0=e=>e.ref.current;var q0={workers:new Map};function W0(e,t,r,n=1){let o=new Map(e.workers),s=o.get(t);return o.set(t,{id:t,types:new Set(r),capacity:n,active:s?.active??0}),{workers:o}}function H0(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function z0(e,t,r){let n=e.workers.get(t);if(!n)return e;let o=new Map(e.workers);return o.set(t,{...n,types:new Set(r)}),{workers:o}}function B0(e,t){let r=e.workers.get(t);if(!r)throw new Error(`acquire: unknown worker ${t}`);if(r.active>=r.capacity)throw new Error(`acquire: worker ${t} at capacity`);let n=new Map(e.workers);return n.set(t,{...r,active:r.active+1}),{workers:n}}function K0(e,t){let r=e.workers.get(t);if(!r)return e;let n=new Map(e.workers);return n.set(t,{...r,active:Math.max(0,r.active-1)}),{workers:n}}function Jd(e,t){let r=0;for(let n of e.workers.values())n.types.has(t)&&(r+=Math.max(0,n.capacity-n.active));return r}function Vd(e){let t=new Set;for(let r of e.workers.values())for(let n of r.types)t.add(n);return t}function J0(e){let t=[];for(let r of Vd(e))Jd(e,r)>0&&t.push(r);return t}function V0(e){let t=[];for(let r of Vd(e)){let n=Jd(e,r);n>0&&t.push({type:r,freeSlots:n})}return t}function Z0(e,t){for(let r of e.workers.values())if(r.types.has(t)&&r.active<r.capacity)return r.id;return null}var VT=(e=q0)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),add:(n,o,s=1)=>C.update(t,i=>W0(i,n,o,s)),remove:n=>C.update(t,o=>H0(o,n)),setTypes:(n,o)=>C.update(t,s=>z0(s,n,o)),claim:n=>C.modify(t,o=>{let s=Z0(o,n);return s===null?[null,o]:[s,B0(o,s)]}),releaseWorker:n=>C.update(t,o=>K0(o,n)),pollTypes:C.get(t).pipe(l.map(J0)),pollBatch:C.get(t).pipe(l.map(V0))}});var Zd={keySetHash:"",xmlByKey:new Map,jobTypes:[]};function G0(e){return[...e].sort().join("\0")}function Y0(e,t,r,n){let o=new Set,s=[];for(let i of e){let c=t.get(i);if(c!==void 0)for(let u of r(c))n&&!(u.process===n||u.process.startsWith(n))||o.has(u.taskType)||(o.add(u.taskType),s.push(u.taskType))}return s}var Gd=(e,t,r,n="")=>l.gen(function*(){let o=yield*e.searchProcessDefinitionKeys(),s=G0(o);if(s===r.keySetHash)return{cache:r,crawled:!1,fetchedKeys:[]};let i=new Set(o),c=new Map;for(let[m,d]of r.xmlByKey)i.has(m)&&c.set(m,d);let u=[];for(let m of o){if(c.has(m))continue;let d=yield*e.getProcessDefinitionXml(m);c.set(m,d),u.push(m)}let f=Y0(o,c,t,n);return{cache:{keySetHash:s,xmlByKey:c,jobTypes:f},crawled:!0,fetchedKeys:u}});var $c={requestTimeoutMs:1e4,initialLockMs:15e3,emptyPollBackoffMs:0,maxBatchPerType:10},X0=(e,t,r,n)=>l.gen(function*(){for(;;){let o=yield*e.activate({type:t,maxJobsToActivate:r,requestTimeoutMs:n.requestTimeoutMs,lockMs:n.initialLockMs});if(o.length>0)return o;n.emptyPollBackoffMs>0&&(yield*l.sleep(ne.millis(n.emptyPollBackoffMs)))}}),Q0=(e,t)=>Math.min(Math.max(1,e),Math.max(1,t.maxBatchPerType)),Yd=(e,t,r)=>t.length===0?l.die(new Error("activateWinner: no serviceable-with-capacity types to poll")):l.raceAll(t.map(n=>X0(e,n.type,Q0(n.freeSlots,r),r)));var ev={workers:new Map};function tv(e,t,r){let n=new Map(e.workers),o=n.get(t);return n.set(t,{capability:r,jobKeys:o?.jobKeys??new Set}),{workers:n}}function rv(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function nv(e,t,r){let n=new Map(e.workers),o=n.get(t),s=new Set(o?.jobKeys??[]);return s.add(r),n.set(t,{capability:o?.capability??{},jobKeys:s}),{workers:n}}function ov(e,t,r){let n=e.workers.get(t);if(!n||!n.jobKeys.has(r))return e;let o=new Map(e.workers),s=new Set(n.jobKeys);return s.delete(r),o.set(t,{capability:n.capability,jobKeys:s}),{workers:o}}function sv(e){let t=[];for(let[r,n]of e.workers)t.push({instance:r,capability:n.capability,jobKeys:[...n.jobKeys]});return t}function iv(e,t){let r=e.workers.get(t);return r?[...r.jobKeys]:[]}var Xd=(e=ev)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),register:(r,n)=>C.update(t,o=>tv(o,r,n)),deregister:r=>C.update(t,n=>rv(n,r)),claim:(r,n)=>C.update(t,o=>nv(o,r,n)),release:(r,n)=>C.update(t,o=>ov(o,r,n)),snapshot:C.get(t).pipe(l.map(sv)),jobKeysFor:r=>C.get(t).pipe(l.map(n=>iv(n,r)))}}),zr=(e,t,r)=>e===void 0?l.void:e.pipe(l.catch(n=>l.sync(()=>t.debug?.(`agentic ${r} frame failed \u2014 ${n.message}`)))),Qd=(e,t,r=qe)=>{let n=(o,s)=>t.currentHandle.pipe(l.flatMap(i=>i?zr(o(i),r,s):l.void));return{ownership:e,register:(o,s)=>e.register(o,s).pipe(l.flatMap(()=>n(i=>i.register?.(o,s),"register"))),claim:(o,s)=>e.claim(o,s).pipe(l.flatMap(()=>n(i=>i.claim?.(o,s),"claim"))),transcript:(o,s,i)=>n(c=>c.transcript?.(o,s,i),"transcript"),release:(o,s)=>e.release(o,s).pipe(l.flatMap(()=>n(i=>i.release?.(o,s),"release")))}},em=(e,t,r,n)=>e.claim(t,r).pipe(l.flatMap(()=>n),l.ensuring(e.release(t,r))),tm=(e,t,r=qe)=>t.snapshot.pipe(l.flatMap(n=>l.forEach(n,o=>zr(e.register?.(o.instance,o.capability),r,"register").pipe(l.flatMap(()=>l.forEach(o.jobKeys,s=>zr(e.claim?.(o.instance,s),r,"claim"),{discard:!0}))),{discard:!0})));var jc={recoveryWindowMs:3e5,extendIntervalMs:6e4},qc=(e,t,r)=>l.gen(function*(){let{engine:n,runner:o,registry:s,logger:i,config:c,ownership:u}=e;return(yield*n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.as(!0),l.catch(m=>(i.warn(`[${t.type}] job ${t.jobKey}: winner extend failed (${m.message}) \u2014 not starting; slot released`),l.succeed(!1)))))?(yield*l.gen(function*(){let m=n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: heartbeat extend failed \u2014 ${p.message}`)))),d=yield*l.forkChild(l.sleep(ne.millis(c.extendIntervalMs)).pipe(l.flatMap(()=>m),l.forever)),y=o.run(t).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: run failed \u2014 ${p.message}`))));yield*(u?em(u,r,t.jobKey,y):y).pipe(l.ensuring(ar.interrupt(d)))}).pipe(l.ensuring(s.releaseWorker(r))),{started:!0}):(yield*s.releaseWorker(r),{started:!1,reason:"extend-failed"})});function jn(e,t){return e.filter(r=>r.lockDeadlineMs>t)}function cv(e,t,r){let n=jn(e,r),o=n.findIndex(c=>t.has(c.job.type));if(o===-1)return{picked:null,rest:n};let s=n[o],i=n.filter((c,u)=>u!==o);return{picked:s,rest:i}}var rm=()=>l.gen(function*(){let e=yield*C.make([]);return{park:(t,r)=>Wt.currentTimeMillis.pipe(l.flatMap(n=>C.update(e,o=>[...jn(o,n),{job:t,lockDeadlineMs:n+r}]))),repark:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.update(e,n=>t.lockDeadlineMs>r?[...jn(n,r),t]:jn(n,r)))),takeFor:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.modify(e,n=>{let{picked:o,rest:s}=cv(n,t,r);return[o,s]}))),size:Wt.currentTimeMillis.pipe(l.flatMap(t=>C.updateAndGet(e,r=>jn(r,t))),l.map(t=>t.length))}});var Wc={reconnectBaseMs:500,reconnectMaxMs:3e4},nm=e=>Le.exponential(ne.millis(e.reconnectBaseMs)).pipe(Le.jittered,Le.modifyDelay(({duration:t})=>l.succeed(ne.min(t,ne.millis(e.reconnectMaxMs))))),av=(e,t,r=Wc)=>l.acquireRelease(e.connect().pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.retry(nm(r))),n=>n.disconnect.pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: disconnected"))),l.ignore)),uI=(e,t,r,n=Wc)=>l.scoped(av(e,t,n).pipe(l.flatMap(r))),om=(e,t,r,n,o,s=Wc)=>l.gen(function*(){let i=l.acquireUseRelease(e.connect().pipe(l.retry(nm(s))),u=>C.set(r,u).pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: (re)connected \u2014 resyncing"))),l.flatMap(()=>n(u)),l.flatMap(()=>u.closed??l.never)),u=>C.set(r,null).pipe(l.flatMap(()=>u.disconnect.pipe(l.ignore)))),c=yield*l.forkChild(i.pipe(l.forever));return yield*o.pipe(l.ensuring(ar.interrupt(c)))});var dI=e=>({connect:()=>l.gen(function*(){let t=yield*l.try({try:e,catch:c=>new lt(c instanceof Error?c.message:"agentic connect failed",c)}),r=yield*Ye.make(),n=yield*Ye.make();if(t.onOpen(()=>{l.runSync(Ye.succeed(n,!0))}),t.onClose(()=>{l.runSync(Ye.succeed(n,!1)),l.runSync(Ye.succeed(r,void 0))}),!(yield*Ye.await(n)))return yield*l.fail(new lt("agentic connection closed before it opened"));let s=c=>l.try({try:c,catch:u=>new lt(u instanceof Error?u.message:"agentic frame send failed",u)});return{disconnect:l.sync(()=>t.close()),closed:Ye.await(r),register:(c,u)=>s(()=>t.register(c,u)),heartbeat:c=>s(()=>t.heartbeat(c)),deregister:(c,u)=>s(()=>t.deregister(c,u)),transcript:(c,u,f)=>s(()=>t.transcript(c,u,f)),...t.supportsClaimRelease?{claim:(c,u)=>s(()=>t.claim(c,u)),release:(c,u)=>s(()=>t.release(c,u))}:{},...t.supportsSteer?{onSteer:c=>s(()=>t.onSteer((u,f,m)=>l.runFork(c(u,f,m))))}:{}}})});var ur=e=>t=>t instanceof lt?t:new lt(t instanceof Error?t.message:e,t),gI=e=>({activate:t=>l.tryPromise({try:()=>Promise.resolve(e.activate(t)),catch:ur(`activate ${t.type} failed`)}),extendLock:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.extendLock(t,r)).then(()=>{}),catch:ur(`extendLock ${t} failed`)}),complete:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.complete(t,r)).then(()=>{}),catch:ur(`complete ${t} failed`)}),fail:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.fail(t,r)).then(()=>{}),catch:ur(`fail ${t} failed`)})}),yI=e=>({searchProcessDefinitionKeys:()=>l.tryPromise({try:()=>Promise.resolve(e.searchProcessDefinitionKeys()),catch:ur("searchProcessDefinitionKeys failed")}),getProcessDefinitionXml:t=>l.tryPromise({try:()=>Promise.resolve(e.getProcessDefinitionXml(t)),catch:ur(`getProcessDefinitionXml ${t} failed`)})}),bI=e=>({run:t=>l.tryPromise({try:()=>Promise.resolve(e.run(t)).then(()=>{}),catch:ur(`run ${t.jobKey} failed`)})}),uv=e=>{if(!e||typeof e.info!="function"||typeof e.warn!="function")return qe;let t=e.info.bind(e),r=e.warn.bind(e),n=typeof e.debug=="function"?e.debug.bind(e):()=>{};return{info:t,warn:r,debug:n}},SI=e=>{let t={engine:e.engine,runner:e.runner,registry:e.registry,reconcileReader:e.reconcileReader,scan:e.scan,logger:uv(e.logger)};return e.autoWorkerId!==void 0&&(t.autoWorkerId=e.autoWorkerId),e.agenticEndpoint!==void 0&&(t.agenticEndpoint=e.agenticEndpoint),e.agenticConfig!==void 0&&(t.agenticConfig=e.agenticConfig),e.config!==void 0&&(t.config=e.config),t};var ss={heartbeatIntervalMs:1e4},sm=(e,t=qe)=>{let r=(n,o)=>e.currentHandle.pipe(l.flatMap(s=>s?zr(n(s),t,o):l.void));return{register:(n,o)=>r(s=>s.register?.(n,o),"register"),heartbeat:n=>r(o=>o.heartbeat?.(n),"heartbeat"),deregister:(n,o)=>r(s=>s.deregister?.(n,o),"deregister")}};function fv(e,t){let r=[],n=[],o=new Set;for(let i of t)o.add(i.instance),(e.has(i.instance)?n:r).push(i);let s=[];for(let i of e)o.has(i)||s.push(i);return{appeared:r,present:n,departed:s}}var lv=(e,t,r)=>e.snapshot.pipe(l.flatMap(n=>C.get(r).pipe(l.flatMap(o=>{let{appeared:s,present:i,departed:c}=fv(o,n);return l.forEach(s,u=>t.register(u.instance,u.capability),{discard:!0}).pipe(l.flatMap(()=>l.forEach(i,u=>t.heartbeat(u.instance),{discard:!0})),l.flatMap(()=>l.forEach(c,u=>t.deregister(u),{discard:!0})),l.flatMap(()=>C.set(r,new Set(n.map(u=>u.instance)))))})))),im=(e,t,r=ss)=>C.make(new Set).pipe(l.flatMap(n=>lv(e,t,n).pipe(l.repeat(Le.spaced(ne.millis(r.heartbeatIntervalMs)))))),cm=(e=qe)=>C.make(new Map).pipe(l.map(t=>({route:(r,n,o)=>C.get(t).pipe(l.flatMap(s=>{let i=s.get(r);return i?i(n,o):l.sync(()=>e.debug?.(`steer: no sink for instance ${r} \u2014 dropped ${o.length}B`))})),register:(r,n)=>C.update(t,o=>new Map(o).set(r,n)),unregister:r=>C.update(t,n=>{let o=new Map(n);return o.delete(r),o})}))),am=(e,t,r=qe)=>zr(e.onSteer?.(t.route),r,"onSteer");var pv={activation:$c,dispatch:jc,reconcileIntervalMs:3e4,idleSpacingMs:1e3,presence:ss,scope:""},NI=e=>l.gen(function*(){let t=e.logger??qe,r={...pv,...e.config,activation:{...$c,...e.config?.activation},dispatch:{...jc,...e.config?.dispatch},presence:{...ss,...e.config?.presence}},n=yield*rm(),o=yield*C.make(Zd),s=yield*Xd(),i=yield*C.make(null),c={currentHandle:C.get(i)},u=Qd(s,c,t),f=sm(c,t),m=yield*cm(t),d={engine:e.engine,runner:e.runner,registry:e.registry,logger:t,config:r.dispatch,ownership:u},y=C.get(o).pipe(l.flatMap(g=>Gd(e.reconcileReader,e.scan,g,r.scope)),l.flatMap(g=>C.set(o,g.cache).pipe(l.flatMap(()=>e.autoWorkerId?e.registry.setTypes(e.autoWorkerId,g.cache.jobTypes):l.void))),l.catch(g=>l.sync(()=>t.warn(`reconcile skipped \u2014 ${g.message} (keeping current job-type set)`)))),p=e.registry.pollBatch.pipe(l.flatMap(g=>{if(g.length===0)return l.sleep(ne.millis(r.idleSpacingMs));let $e=new Set(g.map(K=>K.type)),X=K=>l.gen(function*(){for(let ee of K){let je=yield*e.registry.claim(ee.type);je?yield*l.forkChild(qc(d,ee,je)):yield*n.park(ee,r.activation.initialLockMs)}});return n.takeFor($e).pipe(l.flatMap(K=>K?e.registry.claim(K.job.type).pipe(l.flatMap(ee=>ee?l.forkChild(qc(d,K.job,ee)).pipe(l.asVoid):n.repark(K))):Yd(e.engine,g,r.activation).pipe(l.flatMap(ee=>X(ee)),l.catch(ee=>l.sync(()=>t.warn(`activation error \u2014 ${ee.message}`))))))})),I=l.gen(function*(){return yield*l.forkChild(y.pipe(l.repeat(Le.spaced(ne.millis(r.reconcileIntervalMs))))),e.agenticEndpoint&&(yield*l.forkChild(im(s,f,r.presence))),yield*p.pipe(l.forever)}),U=e.agenticEndpoint?om(e.agenticEndpoint,t,i,g=>tm(g,s,t).pipe(l.flatMap(()=>am(g,m,t))),I,e.agenticConfig):I;return{tick:p,reconcileOnce:y,run:U,parking:n,ownership:s,steerRouter:m,transcript:u.transcript,presence:f}});export{Wt as Clock,ne as Duration,l as Effect,ar as Fiber,C as Ref,Le as Schedule,lt as SupervisorError,B0 as acquire,av as acquireAgentic,Yd as activateWinner,W0 as addWorker,uv as asLogger,Q0 as batchSizeFor,nv as claimJob,$c as defaultActivationConfig,Wc as defaultAgenticConfig,jc as defaultDispatchConfig,ss as defaultPresenceConfig,pv as defaultSupervisorConfig,rv as deregisterWorker,fv as diffPresence,qc as dispatch,zr as emitFrame,Zd as emptyCache,ev as emptyOwnership,q0 as emptyRegistry,Jd as freeSlotsFor,G0 as hashKeys,am as installSteerRoute,iv as jobKeysForInstance,dI as makeAgenticEndpoint,gI as makeEngineClient,bI as makeJobRunner,Qd as makeOwnershipContext,Xd as makeOwnershipRegistry,rm as makeParkingLot,sm as makePresenceSink,yI as makeReconcileReader,VT as makeRegistry,cm as makeSteerRouter,NI as makeSupervisor,SI as makeSupervisorDeps,qe as noopLogger,Z0 as pickWorkerFor,im as projectPresence,lv as projectPresenceStep,jn as prune,Gd as reconcile,tv as registerWorker,K0 as release,ov as releaseJob,H0 as removeWorker,tm as resyncOwnership,Vd as serviceableTypes,z0 as setWorkerTypes,sv as snapshotOwnership,om as superviseAgentic,cv as takeValidFor,J0 as typesWithCapacity,V0 as typesWithSlots,uI as withAgenticConnection,em as withOwnedJob};
|
|
24
|
+
${t}}`),n},yn="~effect/Fiber",Zx={_A:w,_E:w},Gx={id:0},wr=()=>globalThis[mr],Co=class{constructor(t,r=!0){this[yn]=Zx,this.setContext(t),this.id=++Gx.id,this.currentOpCount=0,this.interruptible=r,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this.runtimeMetrics?.recordFiberStart(this.context)}[yn];id;interruptible;currentOpCount;_stack;_observers;_exit;_children;_interruptedCause;_yielded;_running;_deferredInterrupt;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(t){return ve(this.context,t)}addObserver(t){return this._exit?(t(this._exit),Bt):(this._observers.push(t),()=>{if(this._exit)return;let r=this._observers.indexOf(t);r>=0&&this._observers.splice(r,1)})}interruptUnsafe(t,r){if(this._exit)return;let n=kn(t);this.currentStackFrame&&(n=en(n,ao(Yn,this.currentStackFrame))),r&&(n=en(n,r)),this._interruptedCause=this._interruptedCause?bi(this._interruptedCause,n):n,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(F(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(t){if(this._exit)return;if(this._yielded!==void 0){let o=this._yielded;this._yielded=void 0,o()}let r=this.runLoop(t);if(r===Vt)return;let n=si.interruptChildren&&si.interruptChildren(this);if(n!==void 0)return this.evaluate(h(n,()=>r));this._exit=r,this.runtimeMetrics?.recordFiberEnd(this.context,this._exit);for(let o=0;o<this._observers.length;o++)this._observers[o](r);this._observers.length=0,this._stack.length=0,this._children=void 0,this.context=Me()}runLoop(t){let r=globalThis[mr];globalThis[mr]=this;let n=this._running;this._running=!0;let o=!1,s=t;this.currentOpCount=0;try{for(;;){if(this._deferredInterrupt&&(this._deferredInterrupt=!1,s=F(this._interruptedCause)),this.currentOpCount++,!o&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){o=!0;let i=s;s=h(Ir,()=>i)}if(s=this.currentTracerContext?this.currentTracerContext(s,this):s[Y](this),s===Vt){let i=this._yielded;if(xr in i)return this._deferredInterrupt=!1,this._yielded=void 0,i;if(this._deferredInterrupt){this._yielded=void 0,i();continue}return Vt}}}catch(i){return b(s,Y)?this.runLoop(Ke(i)):Ke(`Fiber.runLoop: Not a valid effect: ${String(s)}`)}finally{this._running=n,globalThis[mr]=r}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,Yx;for(;;){let r=this._stack.pop();if(!r)return;let n=r[Mt]&&r[Mt](this);if(n)return n[t]=n,n;if(r[t])return r}}yieldWith(t){return this._yielded=t,Vt}children(){return this._children??=new Set}pipe(){return D(this,arguments)}setContext(t){let r=this.context;if(this.context=t,r!==void 0&&Ga(r,t))return;let n=this.getRef(pn);n!==this.currentScheduler&&(this.currentScheduler=n,this._dispatcher=void 0),this.currentSpan=an(t,Ys),this.currentLogLevel=this.getRef(Qs),this.minimumLogLevel=this.getRef(ei),this.currentStackFrame=this.getRef(xn),this.maxOpsBeforeYield=this.getRef(Eu),this.currentPreventYield=this.getRef(vu),this.runtimeMetrics=an(t,Au);let o=an(t,Xs);this.currentTracerContext=o?o.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}},Yx={[ue](e,t){return F(t._interruptedCause)},[Ae](e,t){return F(t._interruptedCause)}},si={interruptChildren:void 0},Cn=e=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(bs.key,e.currentStackFrame),Sr(t)},Xx=e=>{if(!(e._children===void 0||e._children.size===0))return St(e._children)},vi=e=>{let t=e;return t._exit?x(t._exit):ce(r=>t._exit?r(x(t._exit)):E(e.addObserver(n=>r(x(n)))))},Tr=e=>ce(t=>{let r=e[Symbol.iterator](),n=[],o;function s(){let i=r.next();for(;!i.done;){if(i.value._exit){n.push(i.value._exit),i=r.next();continue}o=i.value.addObserver(c=>{n.push(c),s()});return}t(x(n))}return s(),E(()=>o?.())}),Ju=e=>{let t=e;return t._exit?t._exit:ce(r=>t._exit?r(t._exit):E(e.addObserver(r)))},Vu=e=>ce(t=>{let r=Array.from(e);if(r.length===0)return t(x(cn()));let n=new Array(r.length),o=cn(),s=0,i=!1;for(let c=0;c<r.length&&!i;c++)o.push(r[c].addObserver(u=>{if(s++,u._tag==="Failure")return i=!0,o.forEach(f=>f()),t(u);n[c]=u.value,s===r.length&&t(x(n))}));return E(()=>{i=!0,o.forEach(c=>c())})}),Oo=e=>k(t=>ki(e,t.id)),ki=a(e=>b(e[0],yn),(e,t,r)=>k(n=>{let o=Cn(n);return o=o&&r?fo(o,r):o??r,e.interruptUnsafe(t,o),Or(vi(e))})),St=e=>k(t=>{let r=Cn(t),n=cn();for(let o of e)o.interruptUnsafe(t.id,r),n.push(o);return Or(Tr(n))}),Zu=a(2,(e,t)=>k(r=>{let n=Cn(r),o=cn();for(let s of e)s.interruptUnsafe(t,n),o.push(s);return Or(Tr(o))})),x=re,F=Ee,j=nt,E=_e({op:"Sync",[Y](e){let t=this[R](),r=e.getCont(ue);return r?r[ue](t,e):e.yieldWith(re(t))}}),v=_e({op:"Suspend",[Y](e){return this[R]()}}),Ci=a(e=>e.length>=2||Aa(e[0]),(e,t)=>Gt(e)?j(t?t():new tt("Effect.fromOption: Option.none")):x(e.value)),er=Fs({onFailure:j,onSuccess:x}),Gu=e=>e==null?j(new tt):x(e),wi=_e({op:"Yield",[Y](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(Ue)},this[R]??0),e.yieldWith(()=>{t=!0})}}),Ir=wi(0),Ti=e=>x(Z(e)),wn=x(V()),Yu=e=>Gt(e)?wn:T(e.value,Z),Xu=e=>v(()=>F(A(e))),Dt=e=>Ke(e),Ro=e=>v(()=>j(A(e))),O=x(void 0);var Qu=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.try"):e.catch;return v(()=>{try{return x(A(t))}catch(n){return j(A(()=>r(n)))}})};var Ii=e=>Oi(function(t,r){A(()=>e(r)).then(n=>t(x(n)),n=>t(Dt(n)))},e.length!==0),ef=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.tryPromise"):e.catch;return Oi(function(n,o){let s=i=>{try{n(j(A(()=>r(i))))}catch(c){n(Dt(c))}};try{A(()=>t(o)).then(i=>n(x(i)),s)}catch(i){s(i)}},t.length!==0)},tf=e=>k(t=>e(t.id)),rf=k(x),nf=tf(x),Oi=_e({op:"Async",single:!1,[Y](e){let t=A(()=>this[R][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[R][1]?new AbortController:void 0,s=t(i=>{r||(r=!0,n?e.evaluate(i):n=i)},o?.signal);return n!==!1?n:(n=!0,e._yielded=()=>{r=!0},o===void 0&&s===void 0?Vt:(e._stack.push(Qx(()=>(r=!0,o?.abort(),s??Ue))),Vt))}}),Qx=_e({op:"AsyncFinalizer",[Mt](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Ho))},[Ae](e,t){return ju(e)?h(this[R](),()=>F(e)):F(e)}}),ce=e=>Oi(e,e.length>=2),Ao=ce(Bt),of=(...e)=>v(()=>kr(e.length===1?e[0]():e[1].call(e[0].self))),Ri=(e,...t)=>{let r=t.length===0?function(){return v(()=>kr(e.apply(this,arguments)))}:function(){let n=v(()=>kr(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return Ai(e.length,r)},Ai=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),Mu=ti(2),sf=function(){let e=typeof arguments[0]=="string",t=e?arguments[0]:"Effect.fn",r=e?arguments[1]:void 0,n=vr();st(2);let o=new globalThis.Error;return st(n),e?(s,...i)=>Fu(t,s,o,i,e,r):Fu(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},Fu=(e,t,r,n,o,s)=>{let i=typeof t=="function"?t:n.shift().bind(t.self);return Ai(i.length,function(...c){let u=v(()=>{let d=i.apply(this,arguments);return S(d)?d:kr(d)});for(let d=0;d<n.length;d++)u=n[d](u,...c);if(!S(u))return u;let f=vr();st(2);let m=new globalThis.Error;return st(f),vt(o?En(e,s,d=>fi(u,d)):u,xn,d=>({name:e,stack:Mu(()=>m.stack),parent:{name:`${e} (definition)`,stack:Mu(()=>r.stack),parent:d}}))})},cf=(e,...t)=>Ai(e.length,t.length===0?function(){return Uu(()=>e.apply(this,arguments))}:function(){let r=Uu(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),Uu=e=>{try{let t=e(),r;for(;;){let n=t.next(r);if(n.done)return x(n.value);let o=n.value;if(o&&o._tag==="Success"){r=o.value;continue}else{if(o&&o._tag==="Failure")return n.value;{let s=!0;return v(()=>s?(s=!1,h(n.value,i=>kr(t,i))):v(()=>kr(e())))}}}}catch(t){return Dt(t)}},kr=_e({op:"Iterator",single:!1,[ue](e,t){let r=this[R][0];for(;;){let n=r.next(e);if(n.done)return x(n.value);if(me(n.value)){if(n.value._tag==="Failure")return n.value}else return t._stack.push(this),n.value;e=n.value.value}},[Y](e){return this[ue](this[R][1],e)}}),le=a(2,(e,t)=>{let r=x(t);return h(e,n=>r)}),_o=e=>T(e,Z),af=e=>tr(e,{onFailure:x,onSuccess:j}),Pt=a(2,(e,t)=>h(e,r=>S(t)?t:A(()=>t(r)))),Lt=a(2,(e,t)=>h(e,r=>le(S(t)?t:A(()=>t(r)),r))),Or=e=>h(e,t=>Ue),uf=e=>Te(e,j),_i=(e,t)=>k(r=>ce(n=>{let o=B(e),s=o.length,i=0,c=!1,u=new Set,f=[],m=(d,y,p)=>{if(i++,d._tag==="Failure"){f.push(...d.cause.reasons),i>=s&&n(F(Ft(f)));return}let I=!c;c=!0,n(u.size===0?d:h(wt(St(u)),()=>d)),I&&t?.onWinner&&t.onWinner({fiber:y,index:p,parentFiber:r})};for(let d=0;d<s;d++){let y=nr(r,o[d],!0,!0,!1);if(u.add(y),y.addObserver(p=>{u.delete(y),m(p,y,d)}),c)break}return St(u)})),Mi=(e,t)=>k(r=>ce(n=>{let o=!1,s=new Set,i=u=>{o=!0,n(s.size===0?u:h(wt(St(s)),()=>u))},c=0;for(let u of e){if(o)break;let f=c++,m=nr(r,u,!0,!0,!1);s.add(m),m.addObserver(d=>{s.delete(m);let y=!o;i(d),y&&t?.onWinner&&t.onWinner({fiber:m,index:f,parentFiber:r})})}return St(s)})),ff=a(e=>S(e[1]),(e,t,r)=>_i([e,t],r)),Mo=a(e=>S(e[1]),(e,t,r)=>Mi([e,t],r)),h=a(2,(e,t)=>{let r=Object.create(eh);return r[R]=e,r[ue]=t.length!==1?n=>t(n):t,r}),eh=mt({op:"OnSuccess",[Y](e){return e._stack.push(this),this[R]}}),lf=a(2,(e,t)=>me(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):it(e,t)),me=e=>xr in e,pf=a(2,(e,t)=>me(e)?e._tag==="Success"?t(e.value):e:h(e,t)),df=e=>h(e,w),T=a(2,(e,t)=>h(e,r=>x(A(()=>t(r))))),mf=a(2,(e,t)=>me(e)?bf(e,t):T(e,t)),xf=a(2,(e,t)=>me(e)?Sf(e,t):$i(e,t)),hf=a(2,(e,t)=>me(e)?Ef(e,t):ji(e,t)),gf=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:t(r.success)}return Ie(e,t)});var Fo=e=>e._tag==="Success";var yf=e=>e._tag==="Failure"?Q(e.cause):z(e);var Ue=re(void 0),bf=a(2,(e,t)=>e._tag==="Success"?re(t(e.value)):e),Sf=a(2,(e,t)=>{if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:nt(t(r.success))}),Ef=a(2,(e,t)=>{if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:nt(t.onFailure(r.success))});var vf=e=>{let t=[];for(let r of e)r._tag==="Failure"&&t.push(...r.cause.reasons);return t.length===0?Ue:Ee(Ft(t))};var kf=e=>e,Cf=e=>k(t=>x(js(t.context,e))),th=e=>k(t=>Ci(js(t.context,e))),Rr=a(2,(e,t)=>k(r=>{let n=r.context,o=t(n);return n===o?e:(r.setContext(o),Fr(e,()=>{r.setContext(n)}))})),vt=a(3,(e,t,r)=>Rr(e,n=>{let o=yt(n,t),s=r(o);return o===s?n:ke(n,t,s)})),wf=(e,t,r)=>wt(k(n=>{let o=yt(n.context,e),s=t(o);return n.setContext(ke(n.context,e,s)),Ct(yt(n.context,Mr),i=>{let c=yt(n.context,e),u;if(r?.reset===void 0){if(c!==s)return O;u=o}else u=r.reset(o,s,c);return n.setContext(ke(n.context,e,u)),O})})),Fi=()=>rh,rh=k(e=>x(e.context)),$t=e=>k(t=>e(t.context)),Tf=a(2,(e,t)=>Rr(e,oe(t))),kt=a(2,(e,t)=>me(e)?e:Rr(e,fo(t))),xe=function(){return arguments.length===1?a(2,(e,t)=>Nu(e,arguments[0],t)):a(3,(e,t,r)=>Nu(e,t,r)).apply(this,arguments)},Nu=(e,t,r)=>Rr(e,ke(t,r)),Uo=a(3,(e,t,r)=>h(r,n=>xe(e,t,n))),If=a(e=>S(e[1]),(e,t,r)=>Ui(e,t,(n,o)=>[n,o],r)),Ui=a(e=>S(e[1]),(e,t,r,n)=>n?.concurrent?T(rr([e,t],{concurrency:2}),([o,s])=>A(()=>r(o,s))):h(e,o=>T(t,s=>A(()=>r(o,s))))),Of=a(e=>S(e[0]),(e,t,r)=>nc(e,t,r?n=>j(r(n)):()=>j(new tt))),Rf=a(2,(e,t)=>h(t,r=>r?_o(e):wn)),Ni=a(2,(e,t)=>Array.from({length:t},()=>e)),Af=a(e=>S(e[0]),(e,t,r)=>rr(Ni(e,t),r)),No=a(e=>S(e[0]),(e,t)=>Tt({while:At,body:oe(t?.disableYield?e:h(e,r=>Ir)),step:Bt})),Te=a(2,(e,t)=>{let r=Object.create(nh);return r[R]=e,r[Ae]=t.length!==1?n=>t(n):t,r}),nh=mt({op:"OnFailure",[Y](e){return e._stack.push(this),this[R]}}),Di=a(3,(e,t,r)=>Te(e,n=>t(n)?A(()=>r(n)):F(n))),Ar=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(o.failure):A(()=>r(o.success,n))})),Ie=a(2,(e,t)=>Ar(e,Et,r=>t(r))),_f=e=>tr(e,{onFailure:t=>Ss(t)?wn:j(t),onSuccess:Ti}),Mf=a(2,(e,t)=>Ar(e,yi,t)),Ff=a(2,(e,t)=>Te(e,r=>Pt(A(()=>t(r)),F(r)))),Uf=a(3,(e,t,r)=>Di(e,t,n=>Pt(A(()=>r(n)),F(n)))),Do=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(n):Pt(A(()=>r(o.success,n)),F(n))})),Pi=a(2,(e,t)=>Do(e,Et,r=>t(r))),Nf=a(3,(e,t,r)=>{let n=Array.isArray(t)?o=>b(o,"_tag")&&t.includes(o._tag):Kt(t);return Pi(e,o=>n(o)?r(o):O)}),Df=a(2,(e,t)=>Do(e,yi,r=>t(r))),Tn=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);return G(s)?F(s.failure):t(s.success)?A(()=>r(s.success)):n?A(()=>n(s.success)):F(o)})),Po=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);if(G(s))return F(s.failure);let i=t(s.success);return G(i)?n?A(()=>n(i.failure)):F(o):A(()=>r(i.success))})),Li=a(e=>S(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?s=>b(s,"_tag")&&t.includes(s._tag):Kt(t);return Tn(e,o,r,n)}),Pf=a(e=>S(e[0]),(e,t,r)=>{let n;return Po(e,o=>(n??=Object.keys(t),b(o,"_tag")&&Hn(o._tag)&&n.includes(o._tag)?Q(o):z(o)),o=>A(()=>t[o._tag](o)),r)}),Lf=a(e=>S(e[0]),(e,t,r,n,o)=>Tn(e,s=>Kt(s,t)&&b(s,"reason"),s=>{let i=s.reason;return Kt(i,r)?n(i,s):o?A(()=>o(i,s)):j(s)})),$f=a(e=>S(e[0]),(e,t,r,n)=>{let o;return Tn(e,s=>Kt(s,t)&&b(s,"reason")&&b(s.reason,"_tag")&&Hn(s.reason._tag),s=>{let i=s.reason;return o??=Object.keys(r),o.includes(i._tag)?A(()=>r[i._tag](i,s)):n?A(()=>n(i,s)):j(s)})}),jf=a(2,(e,t)=>Po(e,r=>Kt(r,t)&&b(r,"reason")?Q(r.reason):z(r),j)),$i=a(2,(e,t)=>Ie(e,r=>Ro(()=>t(r)))),ji=a(2,(e,t)=>tr(e,{onFailure:r=>Ro(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),qi=e=>Ie(e,Dt),qf=a(2,(e,t)=>Ie(e,r=>E(t))),Wf=e=>v(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Dt(new Error("Received an empty collection of effects"));function n(o){let s=t.next();return s.done?o.value:Ie(o.value,i=>n(s))}return n(r)}),Wi=e=>Ie(e,t=>h(Ir,()=>Wi(e))),Hf=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return tr(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure(n){let o=Lu(n);return G(o)?F(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:n=>O})}),Lo=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return it(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure:n=>t.message===void 0?r(n):r(t.message,n),onSuccess:n=>O})}),zf=e=>$o(e,{onFailure:V,onSuccess:Z}),Nt=e=>In(e,{onFailure:z,onSuccess:Q}),it=a(2,(e,t)=>{let r=Object.create(oh);return r[R]=e,r[ue]=t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,r[Ae]=t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure,r}),oh=mt({op:"OnSuccessAndFailure",[Y](e){return e._stack.push(this),this[R]}}),Hi=a(2,(e,t)=>it(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),tr=a(2,(e,t)=>it(e,{onFailure:r=>{let n=r.reasons.find(tn);return n?A(()=>t.onFailure(n.error)):F(r)},onSuccess:t.onSuccess})),$o=a(2,(e,t)=>tr(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),In=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:re(t.onFailure(r.success))}return $o(e,t)}),Bf=a(2,(e,t)=>me(e)?e._tag==="Success"?re(t.onSuccess(e.value)):re(t.onFailure(e.cause)):Hi(e,t)),_r=e=>me(e)?re(e):sh(e),sh=_e({op:"Exit",[Y](e){return e._stack.push(this),this[R]},[ue](e,t,r){return x(r??re(e))},[Ae](e,t,r){return x(r??Ee(e))}}),Kf=In({onFailure:()=>!0,onSuccess:()=>!1}),Jf=In({onFailure:()=>!1,onSuccess:()=>!0}),Vf=a(2,(e,t)=>Pt(or(t),e)),zi=a(2,(e,t)=>Mo(e,h(or(t.duration),t.orElse))),Zf=a(2,(e,t)=>zi(e,{duration:t,orElse:()=>j(new wo)})),Gf=a(2,(e,t)=>Mo(_o(e),le(or(t),V()))),Yf=e=>he(t=>{let r=t.monotonicTimeNanosUnsafe();return T(e,n=>[Ut(t.monotonicTimeNanosUnsafe()-r),n])}),ii="~effect/Scope",ci="~effect/Scope/Closeable",Mr=gt("effect/Scope"),Bi=(e,t)=>v(()=>jo(e,t)??O),jo=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let n=e.state;if(e.state=r,n.finalizer!==void 0)return n.finalizer(t);let o=n.finalizers;if(!(o===void 0||o.size===0))return o.size===1?o.values().next().value(t):ch(e,o,t)},ih=(e,t)=>Fo(e)?t:Te(t,r=>F(bi(e.cause,r))),ch=Ri(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=wr();for(let c=s.length-1;c>=0;c--){let u=s[c];e.strategy==="sequential"?n.push(yield*_r(u(r))):o.push(nr(i,u(r),!0,!0,"inherit"))}return o.length>0&&(n=yield*Tr(o)),yield*vf(n)});var Xf=(e,t)=>{let r=On(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return bn(e,n,o=>Bi(r,o)),bn(r,n,o=>E(()=>Ki(e,n))),r},Ct=(e,t)=>v(()=>e.state._tag==="Closed"?t(e.state.exit):(bn(e,{},t),O));var bn=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizerKey:t,finalizer:r,finalizers:void 0};else if(e.state._tag==="Open"){let n=e.state;n.finalizer!==void 0?(n.finalizers=new Map([[n.finalizerKey,n.finalizer]]),n.finalizerKey=void 0,n.finalizer=void 0,n.finalizers.set(t,r)):n.finalizers===void 0?(n.finalizerKey=t,n.finalizer=r):n.finalizers.set(t,r)}},Ki=(e,t)=>{if(e.state._tag==="Open"){let r=e.state;r.finalizerKey===t?(r.finalizerKey=void 0,r.finalizer=void 0):r.finalizers!==void 0&&r.finalizers.delete(t)}};var On=(e="sequential")=>({[ci]:ci,[ii]:ii,strategy:e,state:ah}),ah={_tag:"Empty"};var Rn=Mr;var Ji=e=>k(t=>{let r=t.context,n=On();return t.setContext(ke(t.context,Mr,n)),Fr(e,o=>(t.setContext(r),jo(n,o)))});var qo=e=>v(()=>{let t=On();return ie(e(t),r=>v(()=>jo(t,r)??O))}),Wo=(e,t,r)=>$t(n=>jt(o=>h(Rn,s=>Lt(r?.interruptible?o(e):e,i=>Ct(s,c=>kt(t(i,c),n)))))),Vi=e=>h(Rn,t=>$t(r=>Ct(t,n=>kt(e(n),r)))),Fr=_e({op:"OnExit",single:!1,[Y](e){return e._stack.push(this),this[R][0]},[Mt](e){e.interruptible&&this[R][2]!==!0&&(e._stack.push(Ho),e.interruptible=!1)},[ue](e,t,r){r??=re(e);let n=this[R][1](r);return n?h(n,o=>r):r},[Ae](e,t,r){r??=Ee(e);let n=this[R][1](r);return n?h(ih(r,n),o=>r):r}}),ie=a(2,Fr),Qf=a(2,(e,t)=>ie(e,r=>t)),Zi=a(3,(e,t,r)=>ie(e,n=>t(n)?r(n):O)),Gi=a(3,(e,t,r)=>ie(e,n=>{let o=t(n);return G(o)?O:r(o.success,n)})),Yi=a(2,(e,t)=>Gi(e,yf,t)),el=a(3,(e,t,r)=>Zi(e,n=>n._tag!=="Failure"?!1:t(n.cause),n=>r(n.cause))),Xi=a(3,(e,t,r)=>ie(e,n=>{if(n._tag!=="Failure")return O;let o=t(n.cause);return G(o)?O:r(o.success,n.cause)})),tl=a(2,(e,t)=>Xi(qu,t)(e)),rl=(e,t,r)=>jt(n=>h(e,o=>Fr(n(t(o)),s=>r(o,s),!0))),nl=e=>Wo(e,t=>b(t,Symbol.asyncDispose)?Ii(()=>t[Symbol.asyncDispose]()):E(()=>t[Symbol.dispose]())),Qi=a(2,(e,t)=>E(()=>{let r=Je(q(t)),n=Number.isFinite(r),o=dh(!1),s=0,i=!1,c,u=h(o.await,()=>c);return[k(f=>{let m=f.getRef(Ze),d=n?m.currentTimeMillisUnsafe():0;return i||d<s?c??u:(i=!0,o.closeUnsafe(),c=void 0,ie(e,y=>E(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=y,o.openUnsafe()})))}),E(()=>{s=0,o.closeUnsafe(),c=void 0})]})),ec=a(2,(e,t)=>T(Qi(e,t),r=>r[0])),ol=e=>ec(e,se),sl=k(e=>F(kn(e.id))),wt=e=>k(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Ho)),e)),il=_e({op:"SetInterruptible",[Mt](e){if(e.interruptible=this[R],e._interruptedCause&&e.interruptible)return()=>F(e._interruptedCause)}}),Ho=il(!0),uh=il(!1),cl=e=>{if(e.interruptible=!0,e._stack.push(uh),e._interruptedCause)return F(e._interruptedCause)},tc=e=>k(t=>t.interruptible?e:cl(t)??e),jt=e=>k(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Ho),e(tc)):e(w)),al=e=>k(t=>{if(t.interruptible)return e(w);let r=cl(t),n=e(wt);return r??n}),ul=T(Wo(E(()=>new AbortController),e=>E(()=>e.abort())),e=>e.signal),rr=(e,t)=>pt(e)?t?.mode==="result"?fe(e,Nt,t):fe(e,w,t):t?.discard?t.mode==="result"?fe(Object.values(e),Nt,t):fe(Object.values(e),w,t):v(()=>{let r={};return le(fe(Object.entries(e),([n,o])=>T(t?.mode==="result"?Nt(o):o,s=>{be(r,n,s)}),{discard:!0,concurrency:t?.concurrency}),r)}),rc=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>T(fe(e,(n,o)=>Nt(t(n,o)),r),n=>Wa(n,w))),fl=a(3,(e,t,r)=>{let n=B(e);return n.length===0?E(t):v(()=>{let o=0,s=t();return T(Tt({while:()=>o<n.length,body:()=>r(s,n[o],o),step(i){s=i,o++}}),()=>s)})}),ll=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>h(rc(e,t,{concurrency:r?.concurrency}),([n,o])=>$a(n)?j(n):r?.discard?O:x(o))),pl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):dl(r,0,t,n.value)})),dl=(e,t,r,n)=>h(r(n,t),o=>{if(o)return x(Z(n));let s=e.next();return s.done?x(V()):dl(e,t+1,r,s.value)}),ml=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):xl(r,0,t,n.value)})),xl=(e,t,r,n)=>h(r(n,t),o=>{if(Yt(o))return x(Z(o.success));let s=e.next();return s.done?x(V()):xl(e,t+1,r,s.value)}),Tt=_e({op:"While",[ue](e,t){return this[R].step(e),this[R].while()?(t._stack.push(this),this[R].body()):Ue},[Y](e){return this[R].while()?(e._stack.push(this),this[R].body()):Ue}}),fe=a(e=>typeof e[1]=="function",(e,t,r)=>v(()=>{let n=r?.concurrency??1,o=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n);if(o===1)return fh(e,t,r);let s=B(e),i=s.length;if(i===0)return r?.discard?O:x([]);let c=r?.discard?void 0:new Array(i),u=ph({f:t,out:c},s,{concurrency:o});return u?le(u,c):x(c)})),hl=e=>h(e,t=>{let r=t[Symbol.iterator]().next();return r.done?j(new tt):x(r.value)}),fh=(e,t,r)=>v(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return le(Tt({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{n&&n.push(c),s=o.next()}}),n)}),lh=e=>{let t=e.onItem,r=e.step,n=(o,s,i,c)=>{for(;i<c;i++){let u=s[i],f=t(o,u,i);if(!me(f))return h(_r(f),d=>r(o,u,d,i)??n(o,s,i+1,c)??O);let m=r(o,u,f,i);if(m)return m._tag==="Failure"?m:void 0}};return(o,s,i)=>{let c=0,u=i?.end??s.length,f=i?.concurrency??1;if(f===1)return n(o,s,0,u);let m=i?.orderedStep===!0,d=!1,y,p,I,U=!1,g,$e,X=c,K=m?new Array(u):void 0,ee=fr=>{let ge=Ke(fr);return g=ge,d=!0,U=!0,p&&p.size>0?h(wt(St(Array.from(p))),()=>ge):ge},je=(fr,ge,ft)=>{if(!m)return r(o,fr,ge,ft);if(g)return g;for(K[ft]=ge;X<u;){let Re=K[X];if(Re===void 0)return;K[X]=void 0;let Ot=X++,Rt=r(o,s[Ot],Re,Ot);if(Rt)return Rt}},qn=()=>{let fr=!1;for(;!g&&c<u;c++){let ge=s[c],ft=$e??t(o,ge,c);if(me(ft)){if(g=je(ge,ft,c),g)break}else if(y){$e=void 0;let Re=nr(y,ft,!0,!0,"inherit");if(Re._exit){if(g=je(ge,Re._exit,c),g)break;continue}p.add(Re);let Ot=c;if(Re.addObserver(Rt=>{p.delete(Re);try{if(g){if(!U&&Rt._tag==="Failure")for(let ye of Rt.cause.reasons)ye._tag!=="Interrupt"&&(g._tag==="Failure"?g.cause.reasons.push(ye):g=Ee(Ft([ye])))}else{let ye=je(ge,Rt,Ot);ye&&(g=ye._tag==="Failure"?Ee(Ft(ye.cause.reasons.slice())):ye,qn())}if(fr){let ye=qn();ye&&I(ye)}else d&&p.size===0&&I(g??O)}catch(ye){I(ee(ye))}}),p.size<f)continue;fr=!0,c++;return}else return ce(Re=>{y=wr(),p=new Set,$e=ft,I=Re;let Ot;try{Ot=qn()}catch(Rt){return Re(ee(Rt))}return Ot?Re(Ot):v(()=>(g=Ue,U=!0,p?St(p):O))})}if(d=!0,g){if(p&&p.size>0){let ge=Cn(y);p.forEach(ft=>ft.interruptUnsafe(y.id,ge));return}if(I||g._tag==="Failure")return g}else if(I)if(p)p.size===0&&I(O);else return Ue};return qn()}};var ph=lh({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;e.out&&(e.out[n]=r.value)}}),nc=a(3,(e,t,r)=>h(e,n=>t(n)?x(n):r(n))),oc=a(3,(e,t,r)=>h(e,n=>{let o=t(n);return G(o)?r(o.failure):x(o.success)})),gl=a(e=>S(e[0]),(e,t,r)=>oc(e,t,r?n=>j(r(n)):()=>j(new tt))),yl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,(o,s)=>{let i=t(o,s);return typeof i=="boolean"?(i&&n.push(o),O):T(i,c=>{c&&n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),bl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=[];for(let n of e){let o=t(n);Yt(o)&&r.push(o.success)}return x(r)})),Sl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,o=>T(t(o),s=>{Yt(s)&&n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),El=x({}),vl=ta(T),kl=ra(T,h),Cl=ea(T);var wl=a(e=>S(e[0]),(e,t)=>k(r=>(Rh(),x(nr(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),nr=(e,t,r=!1,n=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new Co(s.context,i);return r?c.evaluate(t):s.currentDispatcher.scheduleTask(()=>c.evaluate(t),0),!n&&!c._exit&&(s.children().add(c),c.addObserver(()=>s._children.delete(c))),c},Tl=a(e=>S(e[0]),(e,t)=>k(r=>x(nr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Il=e=>k(t=>{let r=t._children&&new Set(t._children);return ie(e,n=>{let o=t._children;return o===void 0||o.size===0?O:(r&&(o=Da(o,s=>!r.has(s))),Or(Tr(o)))})}),sc=a(e=>S(e[0]),(e,t,r)=>k(n=>{let o=nr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};bn(t,s,()=>tf(c=>c===o.id?O:Oo(o))),o.addObserver(()=>Ki(t,s))}else o.interruptUnsafe(n.id,Cn(n));return x(o)})),Ol=a(e=>S(e[0]),(e,t)=>h(Rn,r=>sc(e,r,t))),It=e=>(t,r)=>{let n=new Co(r?.scheduler?ke(e,pn,r.scheduler):e,r?.uninterruptible!==!0);if(n.evaluate(t),n._exit)return n;if(r?.signal)if(r.signal.aborted)n.interruptUnsafe();else{let o=()=>n.interruptUnsafe();r.signal.addEventListener("abort",o,{once:!0}),n.addObserver(()=>r.signal.removeEventListener("abort",o))}return r?.onFiberStart&&r.onFiberStart(n),n},Rl=a(2,(e,t)=>{if(e._exit)return e;if(t.state._tag==="Closed")return e.interruptUnsafe(e.id),e;let r={};return bn(t,r,()=>Oo(e)),e.addObserver(()=>Ki(t,r)),e}),Al=It(Me()),ic=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return n?.onExit&&o.addObserver(n.onExit),s=>o.interruptUnsafe(s)}},_l=ic(Me()),zo=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise(s=>{o.addObserver(i=>s(i))})}},Ml=zo(Me()),cc=e=>{let t=zo(e);return(r,n)=>t(r,n).then(o=>{if(o._tag==="Failure")throw Si(o.cause);return o.value})},Fl=cc(Me()),Bo=e=>{let t=It(e);return r=>{if(me(r))return r;let n=new ln("sync"),o=t(r,{scheduler:n});return o._dispatcher?.flush(),o._exit??Ke(new Io(o))}},Ul=Bo(Me()),ac=e=>{let t=Bo(e);return r=>{let n=t(r);if(n._tag==="Failure")throw Si(n.cause);return n.value}},Nl=ac(Me()),Du=x(!0),Pu=x(!1),ai=class{waiters=[];scheduled=void 0;_isOpen;constructor(t){this._isOpen=t}scheduleUnsafe(t){if(this.waiters.length===0)return Du;if(this.scheduled===void 0)this.scheduled=this.waiters,t.currentDispatcher.scheduleTask(this.flushScheduled,0);else for(let r=0;r<this.waiters.length;r++)this.scheduled.push(this.waiters[r]);return this.waiters=[],Du}flushScheduled=()=>{if(this.scheduled===void 0)return;let t=this.scheduled;this.scheduled=void 0;for(let r=0;r<t.length;r++)t[r](Ue)};flushWaiters(){let t=this.waiters;this.waiters=[],this.flushScheduled();for(let r=0;r<t.length;r++)t[r](Ue)}open=k(t=>this._isOpen?Pu:(this._isOpen=!0,this.scheduleUnsafe(t)));release=k(t=>this._isOpen?Pu:this.scheduleUnsafe(t));openUnsafe(){return this._isOpen?!1:(this._isOpen=!0,this.flushWaiters(),!0)}await=ce(t=>this._isOpen?t(O):(this.waiters.push(t),E(()=>{let r=this.waiters.indexOf(t);r!==-1?this.waiters.splice(r,1):this.scheduled!==void 0&&(r=this.scheduled.indexOf(t),r!==-1&&this.scheduled.splice(r,1))})));closeUnsafe(){return this._isOpen?(this._isOpen=!1,!0):!1}close=E(()=>this.closeUnsafe());whenOpen=t=>h(this.await,()=>t);isOpen(){return this._isOpen}},dh=e=>new ai(e??!1);var Dl=k(e=>x(e.getRef(So))),Pl=a(2,(e,t)=>xe(e,So,t)),Ll=xe(Eo),$l=xe(Er),ui=BigInt(0),mh={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ui,endTime:ui,exit:Ue},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},xh=e=>Object.assign(Object.create(mh),e),jl=e=>e?ve(e.annotations,bo)?e._tag==="Span"?jl(br(e.parent)):V():Z(e):V(),uc=(e,t,r)=>{let n=!e.getRef(Eo)||r?.annotations&&ve(r.annotations,bo),o=r?.parent!==void 0?Z(r.parent):r?.root?V():jl(e.currentSpan),s;if(n)s=xh({name:t,parent:o,annotations:ke(r?.annotations??Me(),bo,!0)});else{let i=e.getRef(So),c=e.getRef(Ze),u=e.getRef(Er),f=e.getRef(hn),m=e.getRef(gn),d=r?.level??e.getRef(Iu),y=r?.links!==void 0?[...m,...r.links]:m.length===0?[]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Me(),links:y,startTime:u?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??Gt(o),sampled:r?.sampled??(_a(o)&&o.value.sampled===!1?!1:!rp(e.getRef(Ou),d))});for(let p in f)s.attribute(p,f[p]);if(r?.attributes!==void 0)for(let p in r.attributes)s.attribute(p,r.attributes[p])}return s},ql=(e,t)=>k(r=>x(uc(r,e,t))),Sn=(e,t)=>wt(k(r=>{let n=yt(r.context,Mr),o=uc(r,e,t??{}),s=r.getRef(Ze),i=r.getRef(Er);return le(Ct(n,c=>Kl(o,c,s,i)),o)})),Wl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return h(Sn(t,r),o=>Cr(n,o,r))}return n=>h(Sn(t,r),o=>Cr(n,o,r))},hh=(e,t)=>(t=typeof t=="function"?t:Xe,vt(xn,r=>({name:e,stack:t,parent:r}))),Hl=hn,zl=gn,Bl=a(e=>S(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:r}));return vt(e,gn,s=>[...s,...o])}),Kl=(e,t,r,n)=>E(()=>{e.status._tag!=="Ended"&&e.end(n?r.currentTimeNanosUnsafe():ui,t)}),En=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return k(o=>{let s=uc(o,e,r),i=o.getRef(Ze),c=o.getRef(Er);return ie(A(()=>n(s)),u=>Kl(s,u,i,c))})},fi=xe(mn),Cr=function(){let e=S(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;return t._tag==="Span"&&(r=ko(r),n=hh(t.name,r?.captureStackTrace)),e?fi(n(arguments[0]),t):o=>fi(n(o),t)},Jl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(arguments[2]);if(e){let s=arguments[0];return En(t,arguments[2],i=>Cr(s,i,r))}let n=typeof arguments[1]=="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>En(t,n?n(...i):o,c=>Cr(s,c,r))},Vl=a(e=>S(e[0]),(e,...t)=>vt(e,hn,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),Zl=(...e)=>k(t=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return O}),Gl=k(e=>{let t=e.currentSpanLocal;return t?x(t):j(new tt)}),Yl=th(mn),Ze=M("effect/Clock",{defaultValue:()=>new li}),ri=2**31-1,li=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=E(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return gh()}currentTimeNanos=E(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return Ql()}monotonicTimeNanos=E(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(Je(t))}sleepMillis(t){return t<=0?Ir:Number.isFinite(t)?ce(r=>{let n=t>ri?this.sleepMillis(t-ri):O,o=setTimeout(()=>r(n),Math.min(t,ri));return E(()=>clearTimeout(o))}):Ao}},Xl=BigInt(1e6),Ql=(function(){let e=globalThis.process?.hrtime;if(typeof e?.bigint=="function")return()=>e.bigint();if(typeof performance<"u"&&typeof performance.now=="function")return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(0);return()=>{let r=BigInt(Date.now())*Xl;return r>t&&(t=r),t}})(),gh=(function(){let e=BigInt(1e9),t;return()=>{let r=Ql(),n=BigInt(Date.now())*Xl;if(t===void 0)t=n-r;else{let o=t+r;(n>o?n-o:o-n)>e&&(t=n-r)}return t+r}})(),he=e=>k(t=>e(t.getRef(Ze))),or=e=>he(t=>t.sleep(q(e))),Ko=he(e=>e.currentTimeMillis),ep=he(e=>e.currentTimeNanos),tp=he(e=>e.monotonicTimeNanos),pi="~effect/Cause/TimeoutError";var wo=class extends xt("TimeoutError"){[pi]=pi;constructor(t){super({message:t})}},di="~effect/Cause/IllegalArgumentError";var To=class extends xt("IllegalArgumentError"){[di]=di;constructor(t){super({message:t})}},mi="~effect/Cause/ExceededCapacityError";var xi=class extends xt("ExceededCapacityError"){[mi]=mi;constructor(t){super({message:t})}},hi="~effect/Cause/AsyncFiberError";var Io=class extends xt("AsyncFiberError"){[hi]=hi;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},gi="~effect/Cause/UnknownError";var vn=class extends xt("UnknownError"){[gi]=gi;constructor(t,r){super({message:r,cause:t})}},yh=M("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),bh=e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},Sh=Ra(eo,bh),rp=yr(Sh),fc=M("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([Ih,Oh])}),Eh=M("effect/Logger/LogToStderr",{defaultValue:Wn}),np=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return wt(k(t=>{let r=t.getRef(bt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];be(n,s,i)}return t.setContext(ke(t.context,bt,n)),Ct(yt(t.context,Mr),o=>{let s=t.getRef(bt),i={...s};for(let c=0;c<e.length;c++){let[u,f]=e[c];s[u]===f&&(Object.hasOwn(r,u)?be(i,u,r[u]):delete i[u])}return t.setContext(ke(t.context,bt,i)),O})}))},vh="~effect/Logger",kh={[vh]:{_Message:w,_Output:w},pipe(){return D(this,arguments)}},op=e=>{let t=Object.create(kh);return t.log=e,t},Ch=e=>e.replace(/[\s="]/g,"_"),wh=(e,t)=>`${Ch(e[0])}=${t-e[1]}ms`;var Ge=e=>(...t)=>{let r;for(let n=0,o=t.length;n<o;n++){let s=t[n];Xr(s)&&(r?t.splice(n,1):t=t.slice(0,n).concat(t.slice(n+1)),r=r?Ft(r.reasons.concat(s.reasons)):s,n--)}return r===void 0&&(r=ys),k(n=>{let o=e??n.currentLogLevel;if(rp(n.minimumLogLevel,o))return O;let s=n.getRef(Ze),i=n.getRef(fc);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let u of i)u.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return O})};var Qt={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Ik={None:[],All:[],Trace:[Qt.gray],Debug:[Qt.blue],Info:[Qt.green],Warn:[Qt.yellow],Error:[Qt.red],Fatal:[Qt.bgBrightRed,Qt.black]};var Th=e=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var Ih=op(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];e.reasons.length>0&&s.push(Ei(e));let i=t.getTime(),c=r.getRef(vo),u="";for(let y of c)u+=` ${wh(y,i)}`;let f=r.getRef(bt);Object.keys(f).length>0&&s.push(f);let m=r.getRef(yh);(r.getRef(Eh)?m.error:m.log)(`[${Th(t)}] ${n.toUpperCase()} (#${r.id})${u}:`,...s)}),Oh=op(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(Ze),s=t.getRef(bt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[u,f]of Object.entries(s))be(c,u,f);c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0&&(c["effect.cause"]=Ei(e)),i.event(la(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function Rh(){si.interruptChildren??=Xx}var An=x(void 0);var sp=a(e=>S(e[0]),(e,t)=>Yi(e,r=>k(n=>(Ah(n,r,t?.defectsOnly),O)))),Ah=(e,t,r)=>{let n=e.getRef(_u);if(n.size===0||r&&!$u(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(Ze).currentTimeNanosUnsafe()};n.forEach(s=>s.report(o))};var ip=Ft;var cp=nn;var ct=va;var Jo=To;var l={};zt(l,{Do:()=>Py,Transaction:()=>Hr,TypeId:()=>vy,abortSignal:()=>HS,acquireDisposable:()=>TS,acquireRelease:()=>wS,acquireUseRelease:()=>IS,addFinalizer:()=>OS,all:()=>ky,andThen:()=>Qy,annotateCurrentSpan:()=>tE,annotateLogs:()=>BE,annotateLogsScoped:()=>KE,annotateSpans:()=>eE,as:()=>nb,asSome:()=>ob,asVoid:()=>sb,awaitAllChildren:()=>bE,bind:()=>jy,bindTo:()=>Ly,cached:()=>DS,cachedInvalidateWithTTL:()=>LS,cachedWithTTL:()=>PS,callback:()=>Dc,catch:()=>ub,catchCause:()=>xb,catchCauseFilter:()=>Eb,catchCauseIf:()=>Sb,catchDefect:()=>hb,catchEager:()=>p0,catchFilter:()=>yb,catchIf:()=>gb,catchNoSuchElement:()=>bb,catchReason:()=>pb,catchReasons:()=>db,catchTag:()=>fb,catchTags:()=>lb,clockWith:()=>jd,context:()=>lS,contextWith:()=>pS,currentParentSpan:()=>nE,currentSpan:()=>rE,delay:()=>qb,die:()=>Rd,effectify:()=>o0,ensuring:()=>RS,eventually:()=>Ob,exit:()=>Md,fail:()=>Uc,failCause:()=>Hy,failCauseSync:()=>zy,failSync:()=>Wy,fiber:()=>SE,fiberId:()=>EE,filter:()=>Vb,filterMap:()=>Zb,filterMapEffect:()=>Gb,filterMapOrElse:()=>Xb,filterMapOrFail:()=>eS,filterOrElse:()=>Yb,filterOrFail:()=>Qb,findFirst:()=>Iy,findFirstFilter:()=>Oy,firstSuccessOf:()=>Pb,flatMap:()=>Pc,flatMapEager:()=>l0,flatten:()=>Xy,flip:()=>ib,fn:()=>NE,fnUntraced:()=>UE,fnUntracedEager:()=>d0,forEach:()=>Ry,forever:()=>zS,forkChild:()=>xE,forkDetach:()=>yE,forkIn:()=>hE,forkScoped:()=>gE,fromNullishOr:()=>Yy,fromOption:()=>Zy,fromResult:()=>Vy,gen:()=>qy,head:()=>Ay,ignore:()=>Mb,ignoreCause:()=>Fb,interrupt:()=>Pd,interruptible:()=>$S,interruptibleMask:()=>WS,isEffect:()=>cr,isFailure:()=>uS,isSuccess:()=>fS,let:()=>$y,linkSpans:()=>iE,log:()=>PE,logDebug:()=>WE,logError:()=>jE,logFatal:()=>LE,logInfo:()=>qE,logTrace:()=>HE,logWarning:()=>$E,logWithLevel:()=>DE,makeSpan:()=>cE,makeSpanScoped:()=>aE,map:()=>rb,mapBoth:()=>kb,mapBothEager:()=>f0,mapEager:()=>a0,mapError:()=>vb,mapErrorEager:()=>u0,match:()=>rS,matchCause:()=>oS,matchCauseEager:()=>sS,matchCauseEffect:()=>cS,matchCauseEffectEager:()=>iS,matchEager:()=>nS,matchEffect:()=>aS,never:()=>Dy,onError:()=>AS,onErrorFilter:()=>MS,onErrorIf:()=>_S,onExit:()=>Lc,onExitFilter:()=>NS,onExitIf:()=>US,onExitPrimitive:()=>FS,onInterrupt:()=>jS,option:()=>tb,orDie:()=>Cb,orElseSucceed:()=>Db,partition:()=>Cy,promise:()=>_y,provide:()=>dS,provideContext:()=>mS,provideService:()=>Dd,provideServiceEffect:()=>ES,race:()=>Kb,raceAll:()=>zb,raceAllFirst:()=>Bb,raceFirst:()=>Jb,reduce:()=>wy,repeat:()=>BS,repeatOrElse:()=>KS,replicate:()=>JS,replicateEffect:()=>VS,request:()=>dE,requestUnsafe:()=>mE,result:()=>eb,retry:()=>Rb,retryOrElse:()=>Ab,runCallback:()=>wE,runCallbackWith:()=>CE,runFork:()=>vE,runForkWith:()=>kE,runPromise:()=>TE,runPromiseExit:()=>OE,runPromiseExitWith:()=>RE,runPromiseWith:()=>IE,runSync:()=>AE,runSyncExit:()=>ME,runSyncExitWith:()=>FE,runSyncWith:()=>_E,sandbox:()=>_b,satisfiesErrorType:()=>i0,satisfiesServicesType:()=>c0,satisfiesSuccessType:()=>s0,schedule:()=>ZS,scheduleFrom:()=>$d,scope:()=>vS,scoped:()=>kS,scopedWith:()=>CS,service:()=>hS,serviceOption:()=>gS,setContext:()=>xS,sleep:()=>Wb,spanAnnotations:()=>oE,spanLinks:()=>sE,succeed:()=>Id,succeedNone:()=>Fy,succeedSome:()=>Uy,suspend:()=>Od,sync:()=>pe,tap:()=>_d,tapCause:()=>Ud,tapCauseFilter:()=>Ib,tapCauseIf:()=>Tb,tapDefect:()=>Nd,tapError:()=>Fd,tapErrorTag:()=>wb,timed:()=>Hb,timeout:()=>Lb,timeoutOption:()=>$b,timeoutOrElse:()=>jb,tracer:()=>GS,track:()=>VE,trackDefects:()=>YE,trackDuration:()=>XE,trackErrors:()=>GE,trackSuccesses:()=>ZE,transposeOption:()=>Gy,try:()=>By,tryPromise:()=>My,tx:()=>QE,txRetry:()=>n0,undefined:()=>Ny,uninterruptible:()=>qS,uninterruptibleMask:()=>Ld,unwrapReason:()=>mb,updateContext:()=>yS,updateService:()=>bS,updateServiceScoped:()=>SS,useSpan:()=>uE,validate:()=>Ty,void:()=>Nc,when:()=>tS,whileLoop:()=>Td,withErrorReporting:()=>Nb,withExecutionPlan:()=>Ub,withFiber:()=>Ad,withLogSpan:()=>JE,withLogger:()=>zE,withParentSpan:()=>pE,withSpan:()=>fE,withSpanScoped:()=>lE,withTracer:()=>YS,withTracerEnabled:()=>XS,withTracerTiming:()=>QS,yieldNow:()=>Ky,yieldNowWith:()=>Jy,zip:()=>cb,zipWith:()=>ab});var ap=Fo;var Ye={};zt(Ye,{await:()=>pc,complete:()=>Uh,completeWith:()=>lp,die:()=>dp,dieSync:()=>Ph,done:()=>qt,doneUnsafe:()=>gp,fail:()=>pp,failCause:()=>dc,failCauseSync:()=>Dh,failSync:()=>Nh,interrupt:()=>Lh,interruptWith:()=>mp,into:()=>yp,isDeferred:()=>_h,isDone:()=>$h,isDoneUnsafe:()=>xp,make:()=>Fh,makeUnsafe:()=>Vo,poll:()=>jh,succeed:()=>hp,sync:()=>qh});var fp="~effect/Deferred",_h=e=>b(e,fp),Mh={[fp]:{_A:w,_E:w},pipe(){return D(this,arguments)}},Vo=()=>{let e=Object.create(Mh);return e.resumes=void 0,e.effect=void 0,e},Fh=()=>E(()=>Vo()),pc=e=>ce(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),E(()=>{let r=e.resumes;if(r===void 0)return;let n=r.indexOf(t);n>=0&&r.splice(n,1)})));var Uh=a(2,(e,t)=>v(()=>e.effect?x(!1):yp(t,e))),lp=a(2,(e,t)=>E(()=>gp(e,t))),qt=lp,pp=a(2,(e,t)=>qt(e,nt(t))),Nh=a(2,(e,t)=>v(()=>pp(e,t()))),dc=a(2,(e,t)=>qt(e,Ee(t))),Dh=a(2,(e,t)=>v(()=>dc(e,t()))),dp=a(2,(e,t)=>qt(e,Ke(t))),Ph=a(2,(e,t)=>v(()=>dp(e,t()))),Lh=e=>k(t=>mp(e,t.id)),mp=a(2,(e,t)=>dc(e,kn(t))),$h=e=>E(()=>xp(e)),xp=e=>e.effect!==void 0;function jh(e){return E(()=>so(e.effect))}var hp=a(2,(e,t)=>qt(e,re(t))),qh=a(2,(e,t)=>v(()=>hp(e,t()))),gp=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let r=e.resumes;e.resumes=void 0;for(let n=0;n<r.length;n++)r[n](t)}return!0},yp=a(2,(e,t)=>jt(r=>h(_r(r(e)),n=>qt(t,n))));var bp=bt;var Sp=vo;var Ep=On;var Zo=Xf,mc=Bi;var Cp="~effect/Layer",kp="~effect/Layer/MemoMap",Hh=(e,t)=>(e.observers++,Pt(Ct(t,r=>e.finalizer(r)),e.effect)),wp=e=>b(e,Cp),zh={[Cp]:{_ROut:w,_E:w,_RIn:w},pipe(){return D(this,arguments)}},Tp=e=>{let t=Object.create(zh);return t.build=e,t},Ip=e=>Tp((t,r)=>{let n=Zo(r);return ie(e(t,n),o=>o._tag==="Failure"?mc(n,o):O)});var Bh=(e,t,r,n)=>{let o=Ep(),s=Vo(),i={observers:1,effect:pc(s),finalizer:c=>v(()=>(i.observers--,i.observers===0?(e.map.delete(t),mc(o,c)):O))};return e.map.set(t,i),Ct(r,i.finalizer).pipe(h(()=>n(e,o)),ie(c=>(i.effect=c,qt(s,c))))},Go=class{get[kp](){return kp}parent;constructor(t){this.parent=t}map=new Map;get(t,r){let n=this.map.get(t);return n?Hh(n,r):this.parent?.get(t,r)}getOrElseMemoize(t,r,n){return v(()=>{let o=this.get(t,r);return o||Bh(this,t,r,n)})}},xc=()=>new Go,Kh=e=>new Go(e);var _n=class e extends gt()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let r=uo(t,e);return r?Kh(r):xc()}},hc=a(3,(e,t,r)=>xe(T(e.build(t,r),ke(_n,t)),_n,t));var Op=a(2,(e,t)=>k(r=>hc(e,_n.forkOrCreate(r.context),t)));var Rp=e=>Tp(oe(x(e)));var Ap=(e,t,r)=>{let n=Zo(r,"parallel");return fe(e,o=>o.build(t,Zo(n,"sequential")),{concurrency:e.length}).pipe(T(o=>Qa(...o)))},_p=(...e)=>Ip((t,r)=>Ap(e,t,r));var Jh=(e,t,r)=>Ip((n,o)=>h(Array.isArray(t)?Ap(t,n,o):t.build(n,o),s=>e.build(n,o).pipe(kt(s),T(i=>r(i,s))))),Mp=a(2,(e,t)=>Jh(e,t,w));var Fp="~effect/ExecutionPlan";var Vh={[Fp]:Fp,get captureRequirements(){let e=this;return $t(t=>x(Zh(e.steps.map(r=>({...r,provide:wp(r.provide)?Mp(r.provide,Rp(t)):r.provide})))))},pipe(){return D(this,arguments)}},Zh=e=>{let t=Object.create(Vh);return t.steps=e,t};var Up=M("effect/ExecutionPlan/CurrentMetadata",{defaultValue:oe({attempt:0,stepIndex:0})});var Le={};zt(Le,{CurrentMetadata:()=>Ht,addDelay:()=>jg,concat:()=>qg,concatResult:()=>ad,cron:()=>zg,duration:()=>Bg,during:()=>Kg,exponential:()=>Zg,fibonacci:()=>Gg,fixed:()=>Yg,forever:()=>rs,fromStep:()=>Oe,fromStepWithMetadata:()=>sr,identity:()=>ny,isSchedule:()=>es,jittered:()=>Xg,map:()=>Qo,max:()=>Wg,min:()=>Jg,modifyDelay:()=>Oc,passthrough:()=>ts,recurs:()=>Rc,setInputType:()=>oy,spaced:()=>ud,tap:()=>Qg,toStep:()=>ut,toStepWithMetadata:()=>qr,toStepWithSleep:()=>$g,upTo:()=>ey,while:()=>ir,windowed:()=>ty});var Wt={};zt(Wt,{Clock:()=>Gh,clockWith:()=>Yh,currentTimeMillis:()=>Xh,currentTimeNanos:()=>Qh,monotonicTimeNanos:()=>eg});var Gh=Ze,Yh=he,Xh=Ko,Qh=ep,eg=tp;var yc="~effect/time/DateTime",bc="~effect/time/DateTime/TimeZone",Lp={[yc]:yc,pipe(){return D(this,arguments)},[Se](){return this.toString()},toJSON(){return Dn(this).toJSON()}},tg={...Lp,_tag:"Utc",[P](){return dt(this.epochMilliseconds)},[L](e){return Nn(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${Dn(this).toJSON()})`}},rg={...Lp,_tag:"Zoned",[P](){return W(dt(this.epochMilliseconds))(_(this.zone))},[L](e){return Nn(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&J(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Sg(this)})`}},$p={[bc]:bc,[Se](){return this.toString()}},ng={...$p,_tag:"Named",[P](){return H(`Named:${this.id}`)},[L](e){return Ur(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},og={...$p,_tag:"Offset",[P](){return H(`Offset:${this.offset}`)},[L](e){return Ur(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${Hp(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},at=(e,t,r)=>{let n=Object.create(rg);return n.epochMilliseconds=e,n.zone=t,Object.defineProperty(n,"partsUtc",{value:r,enumerable:!1,writable:!0}),Object.defineProperty(n,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(n,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),n},Nn=e=>b(e,yc),sg=e=>Nn(e[0]),Ur=e=>b(e,bc);var jp=e=>Ur(e)&&e._tag==="Named";var ig=e=>e._tag==="Zoned";var qp=e=>{let t=Object.create(tg);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Mn=e=>{let t=e.getTime();if(Number.isNaN(t))throw new Jo("Invalid date");return qp(t)},cg=e=>{if(Nn(e))return e;if(e instanceof Date)return Mn(e);if(typeof e=="object"){if("epochMilliseconds"in e)return Mn(new Date(e.epochMilliseconds));let t=new Date(0);return yg(t,e),Mn(t)}else if(typeof e=="string"&&!ag(e))return Mn(new Date(e+"Z"));return Mn(new Date(e))},ag=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),ug=-864e13+720*60*1e3,fg=864e13-840*60*1e3,Ec=(e,t)=>{let r=t?.timeZone;if(r===void 0&&Nn(e)&&ig(e))return e;let n=cg(e);if(n.epochMilliseconds<ug||n.epochMilliseconds>fg)throw new RangeError(`Epoch millis out of range: ${n.epochMilliseconds}`);r===void 0&&typeof e=="object"&&"timeZoneId"in e&&(r=e.timeZoneId);let o;if(r===void 0){let s=new Date(n.epochMilliseconds).getTimezoneOffset()*-60*1e3;o=Sc(s)}else if(Ur(r))o=r;else if(typeof r=="number")o=Sc(r);else{let s=vc(r);if(Gt(s))throw new Jo(`Invalid time zone: ${r}`);o=s.value}return t?.adjustForTimeZone!==!0?at(n.epochMilliseconds,o,n.partsUtc):zp(n.epochMilliseconds,o,t?.disambiguation??"compatible")};var Un=new Map,lg={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},pg=e=>{let t=e.resolvedOptions().timeZone;if(Un.has(t))return Un.get(t);let r=Object.create(ng);return r.id=t,r.format=e,Un.set(t,r),r},dg=e=>{if(Un.has(e))return Un.get(e);try{return pg(new Intl.DateTimeFormat("en-US",{...lg,timeZone:e}))}catch{throw new Jo(`Invalid time zone: ${e}`)}},Sc=e=>{let t=Object.create(og);return t.offset=e,t},mg=sn(dg);var xg=/^(?:GMT|[+-])/,vc=e=>{if(xg.test(e)){let t=Bp(e);return t===null?V():Z(Sc(t))}return mg(e)};var Dn=e=>new Date(e.epochMilliseconds),Nr=e=>{if(e._tag==="Utc")return new Date(e.epochMilliseconds);if(e.zone._tag==="Offset")return new Date(e.epochMilliseconds+e.zone.offset);if(e.adjustedEpochMilliseconds!==void 0)return new Date(e.adjustedEpochMilliseconds);let t=e.zone.format.formatToParts(e.epochMilliseconds).filter(n=>n.type!=="literal"),r=new Date(0);return r.setUTCFullYear(Number(t[2].value),Number(t[0].value)-1,Number(t[1].value)),r.setUTCHours(Number(t[3].value),Number(t[4].value),Number(t[5].value),Number(t[6].value)),e.adjustedEpochMilliseconds=r.getTime(),r},Wp=e=>Nr(e).getTime()-gg(e),Hp=e=>{let t=Math.abs(e),r=Math.floor(t/(3600*1e3)),n=Math.round(t%(3600*1e3)/(60*1e3));return n===60&&(r+=1,n=0),`${e<0?"-":"+"}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`},hg=e=>Hp(Wp(e)),gg=e=>e.epochMilliseconds;var yg=(e,t)=>{if(t.year!==void 0&&e.setUTCFullYear(t.year),t.month!==void 0&&e.setUTCMonth(t.month-1),t.day!==void 0&&e.setUTCDate(t.day),t.weekDay!==void 0){let r=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+r)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)};var Dp=1440*60*1e3,zp=(e,t,r)=>{if(t._tag==="Offset")return at(e-t.offset,t);let n=Fn(e-Dp,e,t),o=Fn(e+Dp,e,t);if(n===o)return at(e-n,t);let s=n<o,i=n-o;if(s){if(Fn(e-o,e,t)===o)return at(e-o,t);let f=at(e-n,t),m=Nr(f).getTime();if(e!==m)switch(r){case"reject":{let d=new Date(e).toISOString();throw new RangeError(`Gap time: ${d} does not exist in time zone ${t.id}`)}case"earlier":return at(e-o,t);case"compatible":case"later":return f}return f}if(Fn(e-n,e,t)===n){if(r==="earlier"||r==="compatible"||Fn(e-n+i,e+i,t)===n)return at(e-n,t);if(r==="reject"){let f=new Date(e).toISOString();throw new RangeError(`Ambiguous time: ${f} occurs twice in time zone ${t.id}`)}}return at(e-o,t)},bg=/([+-])(\d{2}):(\d{2})$/,Bp=e=>{let t=bg.exec(e);if(t===null)return null;let[,r,n,o]=t;return(r==="+"?1:-1)*(Number(n)*60+Number(o))*60*1e3},Fn=(e,t,r)=>{let n=r.format.formatToParts(e).find(s=>s.type==="timeZoneName")?.value??"";if(n==="GMT")return 0;let o=Bp(n);return o===null?Wp(at(t,r)):o},Kp=a(sg,(e,t,r)=>{if(e._tag==="Utc"){let s=Dn(e);return t(s),qp(s.getTime())}let n=Nr(e),o=new Date(n.getTime());return t(o),zp(o.getTime(),e.zone,r?.disambiguation??"compatible")});var Pp=e=>{let t=Nr(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${hg(e)}`},Sg=e=>e.zone._tag==="Offset"?Pp(e):`${Pp(e)}[${e.zone.id}]`;var wC=globalThis.Number;var Jp=eo;var TC=globalThis.String;var Zp=e=>e.toLowerCase();var Gp=e=>e.length>0;var wc="~effect/time/Cron";function kc(e){return{tz:e.tz,and:e.and,seconds:B(e.seconds),minutes:B(e.minutes),hours:B(e.hours),days:B(e.days),months:B(e.months),weekdays:B(e.weekdays)}}var vg={[wc]:wc,[L](e){return Tc(e)&&Ig(this,e)},[P](){return Hc(_(this.tz),W(_(this.and)),W(We(B(this.seconds))),W(We(B(this.minutes))),W(We(B(this.hours))),W(We(B(this.days))),W(We(B(this.months))),W(We(B(this.weekdays))))},toObject(){return kc(this)},toString(){return`Cron(${te(kc(this))})`},toJSON(){let e=kc(this);return e._id="Cron",e},[Se](){return this.toJSON()},pipe(){return D(this,arguments)}},Tc=e=>b(e,wc),kg=e=>{let t=Object.create(vg);t.seconds=Pr.seconds(e.seconds??[0]),t.minutes=Pr.minutes(e.minutes),t.hours=Pr.hours(e.hours),t.days=Pr.days(e.days),t.months=Pr.months(e.months),t.weekdays=Pr.weekdays(e.weekdays),t.and=e.and===!0,t.tz=so(e.tz);let r=Array.from(t.seconds),n=Array.from(t.minutes),o=Array.from(t.hours),s=Array.from(t.days),i=Array.from(t.months),c=Array.from(t.weekdays);return t.first={second:r[0]??0,minute:n[0]??0,hour:o[0]??0,day:s[0]??1,month:(i[0]??1)-1,weekday:c[0]??0},t.last={second:r[r.length-1]??59,minute:n[n.length-1]??59,hour:o[o.length-1]??23,day:s[s.length-1]??31,month:(i[i.length-1]??12)-1,weekday:c[c.length-1]??6},t.next={second:De.next.second(r),minute:De.next.minute(n),hour:De.next.hour(o),day:De.next.day(s),month:De.next.month(i),weekday:De.next.weekday(c)},t.prev={second:De.prev.second(r),minute:De.prev.minute(n),hour:De.prev.hour(o),day:De.prev.day(s),month:De.prev.month(i),weekday:De.prev.weekday(c)},t},Dr=(e,t,r,n=o=>o)=>o=>{let s=[];for(let i of o){if(!Number.isInteger(i)||i<t||i>r)throw new RangeError(`${e} must contain only integers between ${t} and ${r}`);s.push(n(i))}return new Set(ja(s,Jp))},Pr={seconds:Dr("seconds",0,59),minutes:Dr("minutes",0,59),hours:Dr("hours",0,23),days:Dr("days",1,31),months:Dr("months",1,12),weekdays:Dr("weekdays",0,7,e=>e===7?0:e)},Ne=(e,t)=>r=>{let n=new Array(e).fill(void 0);if(r.length===0)return n;let o;if(t==="next"){let s=r.length-1;for(let i=e-1;i>=0;i--){for(;s>=0&&r[s]>=i;)o=r[s--];n[i]=o}}else{let s=0;for(let i=0;i<e;i++){for(;s<r.length&&r[s]<=i;)o=r[s++];n[i]=o}}return n},De={prev:{second:Ne(60,"prev"),minute:Ne(60,"prev"),hour:Ne(24,"prev"),day:Ne(32,"prev"),month:Ne(13,"prev"),weekday:Ne(7,"prev")},next:{second:Ne(60,"next"),minute:Ne(60,"next"),hour:Ne(24,"next"),day:Ne(32,"next"),month:Ne(13,"next"),weekday:Ne(7,"next")}},Xp="~effect/time/Cron/CronParseError",Pe=class extends yo("CronParseError"){[Xp]=Xp};var ed=(e,t)=>{let r=e.trim().split(/\s+/).filter(Gp);if(r.length!==5&&r.length!==6)return z(new Pe({message:"Invalid number of segments in cron expression",input:e}));r.length===5&&r.unshift("0");let[n,o,s,i,c,u]=r,f=t===void 0||Ur(t)?Q(t):Ma(vc(t),()=>new Pe({message:"Invalid time zone in cron expression",input:t}));return Na({tz:f,seconds:$r(n,Og),minutes:$r(o,Rg),hours:$r(s,Ag),days:$r(i,_g),months:$r(c,Mg),weekdays:$r(u,Fg)}).pipe(Fa(({tz:m,seconds:d,minutes:y,hours:p,days:I,months:U,weekdays:g})=>kg({tz:m,seconds:d.values,minutes:y.values,hours:p.values,days:I.values,months:U.values,weekdays:g.values,and:(I.wildcard||g.wildcard)&&I.values.size!==0&&g.values.size!==0})))};var Yo=e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),td=(e,t)=>Cg(e,t,"next");var Cg=(e,t,r)=>{let n=br(e.tz),o=Ec(t??new Date,{timeZone:n}),s=r==="prev",i=s?-1:1,c=e[r],u=s?e.last:e.first,f=s?(p,I)=>p<I:(p,I)=>p>I,d=n!==void 0&&jp(n)&&n.id==="UTC"?Bt:p=>{let I=Ec(p,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:s?"later":void 0}).pipe(Nr),U=p.getTime()-I.getTime();(s?U!==0:U>0)&&p.setTime(s?I.getTime():p.getTime()+U)},y=Kp(o,p=>{p.setUTCSeconds(p.getUTCSeconds()+i,0);for(let I=0;I<1e4;I++){if(e.seconds.size!==0){let U=p.getUTCSeconds(),g=c.second[U];if(g===void 0){p.setUTCMinutes(p.getUTCMinutes()+i,u.second),d(p);continue}if(f(g,U)){p.setUTCSeconds(g),d(p);continue}}if(e.minutes.size!==0){let U=p.getUTCMinutes(),g=c.minute[U];if(g===void 0){p.setUTCHours(p.getUTCHours()+i,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCMinutes(g,u.second),d(p);continue}}if(e.hours.size!==0){let U=p.getUTCHours(),g=c.hour[U];if(g===void 0){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCHours(g,u.minute,u.second),d(p);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let U=e.days.size===0||e.days.has(p.getUTCDate()),g=e.weekdays.size===0||e.weekdays.has(p.getUTCDay());if(!U||!g){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}else{let U=s?-1/0:1/0,g=s?-1/0:1/0;if(e.weekdays.size!==0){let X=p.getUTCDay(),K=c.weekday[X];K===void 0?U=s?u.weekday-7-X:7-X+u.weekday:U=K-X}if(e.days.size!==0&&U!==0){let X=p.getUTCDate(),K=c.day[X];if(K===void 0)if(s){let ee=new Date(p);ee.setUTCDate(0);let je=c.day[ee.getUTCDate()];if(je===void 0&&(ee.setUTCDate(0),je=c.day[ee.getUTCDate()]),je===void 0)throw new Error("Unable to find cron date");ee.setUTCDate(je),g=(ee.getTime()-p.getTime())/864e5}else g=Yo(p)-X+u.day;else!s&&K>Yo(p)?g=Yo(p)-X+u.day:g=K-X}let $e=s?Math.max(U,g):Math.min(U,g);if($e!==0){p.setUTCDate(p.getUTCDate()+$e),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}if(e.months.size!==0){let U=p.getUTCMonth()+1,g=c.month[U],$e=X=>{let K=Yo(new Date(Date.UTC(p.getUTCFullYear(),X+1,0)));return e.days.size!==0&&e.weekdays.size===0?s?c.day[K]??K:u.day:s?K:1};if(g===void 0){p.setUTCFullYear(p.getUTCFullYear()+i),p.setUTCMonth(u.month,$e(u.month)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){let X=g-1;p.setUTCMonth(X,$e(X)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}return}throw new Error("Unable to find cron date")});return Dn(y)};var wg=xs((e,t)=>J(e.tz,t.tz)&&e.and===t.and&&Lr(e.seconds,t.seconds)&&Lr(e.minutes,t.minutes)&&Lr(e.hours,t.hours)&&Lr(e.days,t.days)&&Lr(e.months,t.months)&&Lr(e.weekdays,t.weekdays)),Tg=Xc(Yc()),Lr=(e,t)=>Tg(B(e),B(t)),Ig=a(2,(e,t)=>wg(e,t)),Og={min:0,max:59},Rg={min:0,max:59},Ag={min:0,max:23},_g={min:1,max:31},Mg={min:1,max:12,aliases:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12}},Fg={min:0,max:7,normalize:e=>e===7?0:e,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},$r=(e,t)=>{let r=new Set,n=e.split(","),o=Qp(n[0]),s=o[0]==="*",i=t.normalize??(u=>u),c=s&&(o[1]===void 0||o[1]===1)?Bt:u=>{r.add(i(u))};for(let u=0;u<n.length;u++){let f=n[u],[m,d]=u===0?o:Qp(f);if(d!==void 0){if(!Number.isInteger(d))return z(new Pe({message:"Expected step value to be a positive integer",input:e}));if(d<1)return z(new Pe({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return z(new Pe({message:`Expected step value to be less than or equal to ${t.max}`,input:e}))}if(m==="*"){if(u===0&&(d===void 0||d===1))continue;for(let y=t.min;y<=t.max;y+=d??1)c(y)}else{let[y,p]=Ug(m,t.aliases);if(!Number.isInteger(y))return z(new Pe({message:"Expected a positive integer",input:e}));if(y<t.min||y>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(p===void 0)for(let I=y;I<=(d===void 0?y:t.max);I+=d??1)c(I);else{if(!Number.isInteger(p))return z(new Pe({message:"Expected a positive integer",input:e}));if(p<t.min||p>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(y>p)return z(new Pe({message:"Invalid value range",input:e}));for(let I=y;I<=p;I+=d??1)c(I)}}}return Q({values:r,wildcard:s})},Qp=e=>{let t=e.indexOf("/");if(t!==-1){let r=e.slice(t+1);return[e.slice(0,t),rd.test(r)?Number(r):NaN]}return[e,void 0]},Ug=(e,t)=>{let r=e.indexOf("-");return r!==-1?[Cc(e.slice(0,r),t),Cc(e.slice(r+1),t)]:[Cc(e,t),void 0]};function Cc(e,t){return t?.[Zp(e)]??(rd.test(e)?Number(e):NaN)}var rd=/^\d+$/;var od=M("effect/Random",{defaultValue:()=>({nextIntUnsafe(){return Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER-Number.MIN_SAFE_INTEGER+1))+Number.MIN_SAFE_INTEGER},nextDoubleUnsafe(){return Math.random()}})});var Xo=a(2,(e,t)=>Ar(e,Dg,r=>t(r)));var sd=e=>e._tag==="Fail"&&cp(e.error),id=e=>{let t,r=!1;for(let n of e.reasons)sd(n)?t??=n.error:n._tag!=="Interrupt"&&(r=!0);return t===void 0?z(e):r?z(ip(e.reasons.filter(n=>!sd(n)))):Q(t)};var Dg=e=>{let t=id(e);return G(t)?t:Q(t.success.value)};var Pn=a(2,(e,t)=>it(e,{onSuccess:t.onSuccess,onFailure:r=>{let n=id(r);return G(n)?t.onFailure(n.failure):t.onDone(n.success.value)}}));var cd="~effect/Schedule",Pg=od.useSync(e=>e.nextDoubleUnsafe()),Ht=M("effect/Schedule/CurrentMetadata",{defaultValue:oe({input:void 0,output:void 0,duration:$,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Lg={[cd]:{_Out:w,_In:w,_Env:w},pipe(){return D(this,arguments)}},es=e=>b(e,cd),Oe=e=>{let t=Object.create(Lg);return t.step=e,t},jr=()=>{let e=0,t,r;return(n,o)=>{r===void 0&&(r=n);let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},sr=e=>Oe(T(e,t=>{let r=jr();return(n,o)=>t(r(n,o))})),ut=e=>Te(e.step,t=>x(()=>F(t))),qr=e=>he(t=>T(ut(e),r=>{let n=jr();return o=>v(()=>{let s=t.currentTimeMillisUnsafe();return h(r(s,o),([i,c])=>{let u=n(s,o);return u.output=i,u.duration=c,le(or(c),u)})})})),$g=e=>T(qr(e),t=>r=>T(t(r),n=>n.output)),jg=a(2,(e,t)=>Oc(e,r=>T(t(r),n=>go(q(n),r.duration)))),qg=a(2,(e,t)=>Qo(ad(e,t),({output:r})=>x(Ua(r)))),ad=a(2,(e,t)=>Oe(E(()=>{let r=0,n,o=Qo(e,({output:i})=>z(i)),s=Qo(t,({output:i})=>Q(i));return function i(c,u){return n?n(c,u):ut(r===0?o:s).pipe(h(f=>(r++,r===1?(n=(m,d)=>Xo(f(m,d),y=>(n=void 0,i(m,d))),n(c,u)):(n=f,n(c,u)))))}}))),Wg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Hg(o);return s===void 0?ct($):x([s,s])}))),Hg=e=>{let t=e[0];for(let r=1;r<e.length&&(t=e[r]&&t&&Hs(t,e[r]),t!==void 0);r++);return t},zg=(e,t)=>{let r=Tc(e)?Q(e):ed(e,t);return Oe(T(er(r),n=>(o,s)=>o===Number.POSITIVE_INFINITY?ct($):E(()=>{let i=td(n,o).getTime(),c=we(i-o);return[c,c]})))},Bg=e=>{let t=q(e);return sr(x(r=>r.attempt===1?x([t,t]):ct($)))},Kg=e=>{let t=Je(e);return sr(x(r=>{let n=we(r.elapsed);return r.elapsed>t?ct(n):x([n,$])}))},Jg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Vg(o);return s===void 0?ct($):x([s,s])}))),Vg=e=>{let t;for(let r=0;r<e.length;r++){let n=e[r];n!==void 0&&(t=t===void 0?n:Ws(t,n))}return t},Zg=(e,t=2)=>{let r=Je(q(e));return sr(x(n=>{let o=we(r*Math.pow(t,n.attempt-1));return x([o,o])}))},Gg=e=>{let t=Je(q(e));return Oe(E(()=>{let r=0,n=t;return oe(E(()=>{let o=r+n;r=n,n=o;let s=we(o);return[s,s]}))}))},Yg=e=>{let t=Je(q(e));return sr(E(()=>{let r=0,n=0;return o=>E(()=>{if(t===0)return[o.attempt-1,$];if(o.attempt===1)return r=o.now,n=o.now+t,[0,we(t)];let s=o.now>n+t,i=t-(o.now-r)%t,c=s?0:i===0?t:i;return n=s?o.now:o.now+c,[o.attempt-1,we(c)]})}))},Qo=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Pn(r(o,s),{onSuccess:([i,c])=>{let u=t({...n(o,s),output:i,duration:c});return S(u)?T(u,f=>[f,c]):x([u,c])},onFailure:F,onDone:i=>{let c=t({...n(o,s),output:i,duration:$});return S(c)?h(c,ct):ct(c)}})}))),Oc=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),([i,c])=>T(t({...n(o,s),output:i,duration:c}),u=>[i,q(u)]))}))),Xg=e=>Oc(e,({duration:t})=>T(Pg,r=>{let n=Je(t);return we(n*.8*(1-r)+n*1.2*r)})),ts=e=>Oe(T(ut(e),t=>(r,n)=>Pn(t(r,n),{onSuccess:o=>x([n,o[1]]),onFailure:F,onDone:()=>ct(n)}))),Rc=e=>ir(rs,({attempt:t})=>x(t<=e)),ud=e=>{let t=q(e);return sr(x(r=>x([r.attempt-1,t])))},Qg=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Lt(r(o,s),([i,c])=>t({...n(o,s),output:i,duration:c}))}))),ey=a(2,(e,t)=>{let r=t.duration===void 0?void 0:q(t.duration);return ir(e,({attempt:n,elapsed:o})=>x((t.times===void 0||n<=t.times)&&(r===void 0||Bs(we(o),r))))}),ir=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),i=>{let[c,u]=i,f=t({...n(o,s),output:c,duration:u});return h(S(f)?f:x(f),m=>m?x(i):ct(c))})})));var ty=e=>{let t=Je(q(e));return sr(x(r=>E(()=>[r.attempt-1,t===0?$:we(t-r.elapsed%t)])))},rs=ud($),ry=Oe(x((e,t)=>x([t,$]))),ny=()=>ry;var oy=()=>e=>e;var sy=(e,t,r)=>qo(n=>h(r?.local?hc(t,xc(),n):Op(t,n),o=>kt(e,o))),ns=a(e=>S(e[0]),(e,t,r)=>$s(t)?kt(e,t):sy(e,Array.isArray(t)?_p(...t):t,r));var Ac=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue();return Ie(No(Lt(h(v(()=>xe(e,Ht,o)),n),s=>E(()=>{o=s})),{disableYield:!0}),s=>nn(s)?x(s.value):r(s,o.attempt===0?V():Z(o)))})),_c=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue(),s,i=Ie(v(()=>xe(e,Ht,o)),c=>(s=c,h(n(c),u=>(o=u,i))));return Xo(i,c=>A(()=>r(s,c)))})),ld=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return Ac(e,r,j)}),Ln=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return _c(e,r,j)}),pd=a(3,(e,t,r)=>h(qr(r),n=>{let o=Ht.defaultValue(),s=v(()=>xe(e,Ht,o));return Ie(h(n(t),i=>{o=i;let c=oe(h(s,n));return Tt({while:At,body:c,step(u){o=u}})}),i=>nn(i)?x(i.value):j(i))})),iy=ts(rs),$n=e=>{let t=e.schedule?ts(e.schedule):iy;return e.while&&(t=ir(t,({input:r})=>{let n=e.while(r);return S(n)?n:x(n)})),e.until&&(t=ir(t,({input:r})=>{let n=e.until(r);return S(n)?T(n,o=>!o):x(!n)})),e.times!==void 0&&(t=ir(t,({attempt:r})=>x(r<=e.times))),t};var cy=(e,t)=>{let r=-1,n=0,o=s=>Lo(e(s));return{begin:he(s=>v(()=>{let i=t();i.stepIndex!==r&&(r=i.stepIndex,n=0),n++;let c={attempt:i.attempt,stepAttempt:n,stepIndex:i.stepIndex,startNanos:s.monotonicTimeNanosUnsafe()};return le(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>he(c=>{let u=Ut(c.monotonicTimeNanosUnsafe()-s.startNanos);return o(i._tag==="Success"?{_tag:"AttemptSuccess",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u}:{_tag:"AttemptFailure",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u,cause:i.cause})})}},xd=a(e=>S(e[0]),(e,t,r)=>v(()=>{let n=0,o={attempt:0,stepIndex:0},s=Uo(Up,E(()=>(o={attempt:o.attempt+1,stepIndex:n},o))),i=r?.onEvent===void 0?void 0:cy(r.onEvent,()=>o),c=i===void 0?w:f=>jt(m=>h(i.begin,d=>ie(m(f),y=>i.end(d,y)))),u;return h(Tt({while:()=>n<t.steps.length&&(u===void 0||G(u)),body(){let f=t.steps[n],m=s(c(ns(e,f.provide)));if(u){let d=!1,y=m;m=v(()=>d?y:(d=!0,er(u))),m=Ln(m,md(f,!1))}else{let d=md(f,!0);m=d?Ln(m,d):m}return Nt(m)},step(f){u=f,n++}}),()=>er(u))})),md=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return $n({schedule:e.schedule?e.schedule:e.attempts?void 0:ay,times:e.attempts,while:e.while});return $n({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},ay=Rc(1);var fy="~effect/Request",ly=Vc({_E:e=>e,_A:e=>e,_R:e=>e}),BC={...xa,[fy]:ly};var hd=e=>e;var yd=a(2,(e,t)=>{let r=n=>ce(o=>{let s=Sd(n,e,o,wr());return dy(n,s)});return S(t)?h(t,r):r(t)}),bd=(e,t)=>{let r=Sd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:ve(t.context,pn)});return()=>Ed(t.resolver,r)},os=[],Mc=new WeakMap,Sd=(e,t,r,n)=>{let o=Mc.get(e);o||(o=new Map,Mc.set(e,o));let s,i=!1,c=hd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(f){i||(i=!0,r(f),s?.entrySet.delete(c))}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let u=e.batchKey(c);if(s=o.get(u),!s){if(os.length>0)s=os.pop(),s.key=u,s.resolver=e,s.map=o;else{let f={key:u,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:h(v(()=>f.resolver.delay),m=>gd(f)),run:ie(v(()=>f.resolver.runAll(Array.from(f.entries),f.key)),m=>{for(let d of f.entrySet)d.completeUnsafe(m._tag==="Success"?Ke(new Error("Effect.request: RequestResolver did not complete request",{cause:d.request})):m);return f.entries.clear(),os.length<128&&(f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,os.push(f)),O})};s=f}o.set(u,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}return s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries)||(s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(gd(s),{scheduler:n.currentScheduler})),c},Ed=(e,t)=>{if(t.uninterruptible)return;let r=Mc.get(e);if(!r)return;let n=e.batchKey(t),o=r.get(n);o&&(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0&&(r.delete(n),o.fiber?.interruptUnsafe()))},dy=(e,t)=>E(()=>Ed(e,t));function gd(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):O}var xy="effect/Metric/CurrentMetricAttributes",hy=M(xy,{defaultValue:()=>({})}),gy="~effect/observability/Metric/MetricRegistryKey",yy=M(gy,{defaultValue:()=>new Map}),vd="~effect/observability/Metric",kd=class{[vd]=vd;#t=new WeakMap;#e;id;description;attributes;constructor(t,r,n){this.id=t,this.description=r,this.attributes=n}valueUnsafe(t){return this.hook(t).get(t)}modifyUnsafe(t,r){return this.hook(r).modify(t,r)}updateUnsafe(t,r){return this.hook(r).update(t,r)}hook(t){let r=ve(t,hy);if(Object.keys(r).length===0)return pr(this.#e)?this.#e.hooks:(this.#e=this.getOrCreate(t,this.attributes),this.#e.hooks);let n=Ey(this.attributes,r),o=this.#t.get(n);return pr(o)||(o=this.getOrCreate(t,n),this.#t.set(n,o)),o.hooks}getOrCreate(t,r){let n=by(this,r),o=ve(t,yy);if(o.has(n))return o.get(n);let s=this.createHooks(),i={id:this.id,type:this.type,description:this.description,attributes:Fc(r),hooks:s};return o.set(n,i),i}pipe(){return D(this,arguments)}};var Wr=a(2,(e,t)=>$t(r=>E(()=>e.updateUnsafe(t,r))));function by(e,t){let r=`${e.type}:${e.id}`;return pr(e.description)&&(r+=`:${e.description}`),pr(t)&&(r+=`:${Sy(t)}`),r}function Sy(e){return JSON.stringify(Array.isArray(e)?e:Object.entries(e))}function Ey(e,t){return{...Fc(e),...Fc(t)}}function Fc(e){return pr(e)&&Array.isArray(e)?e.reduce((t,[r,n])=>(be(t,r,n),t),{}):e}var vy=rt,cr=S,ky=rr,Cy=rc,wy=fl,Ty=ll,Iy=pl,Oy=ml,Ry=fe,Ay=hl,Td=Tt,_y=Ii,My=ef,Id=x,Fy=wn,Uy=Ti,Od=v,pe=E,Nc=O;var Ny=An;var Dc=ce,Dy=Ao,Py=El,Ly=vl,$y=Cl;var jy=kl,qy=of,Uc=j,Wy=Ro,Hy=F,zy=Xu,Rd=Dt,By=Qu;var Ky=Ir,Jy=wi,Ad=k,Vy=er,Zy=Ci,Gy=Yu,Yy=Gu,Pc=h,Xy=df,Qy=Pt,_d=Lt,eb=Nt,tb=zf,Md=_r,rb=T,nb=le,ob=_o,sb=Or,ib=af,cb=If,ab=Ui,ub=Ie;var fb=Li,lb=Pf,pb=Lf,db=$f,mb=jf,xb=Te,hb=Mf,gb=Tn,yb=Po,bb=_f,Sb=Di,Eb=Ar,vb=$i,kb=ji,Cb=qi,Fd=Pi,wb=Nf,Ud=Ff,Tb=Uf,Ib=Do,Nd=Df,Ob=Wi,Rb=Ln,Ab=_c,_b=uf,Mb=Hf,Fb=Lo,Ub=xd,Nb=sp,Db=qf,Pb=Wf,Lb=Zf,$b=Gf,jb=zi,qb=Vf,Wb=or,Hb=Yf,zb=_i,Bb=Mi,Kb=ff,Jb=Mo,Vb=yl,Zb=bl,Gb=Sl,Yb=nc,Xb=oc,Qb=Of,eS=gl,tS=Rf,rS=$o,nS=In,oS=Hi,sS=Bf,iS=lf,cS=it,aS=tr,uS=Kf,fS=Jf,lS=Fi,pS=$t,dS=ns,mS=kt,xS=Tf,hS=kf,gS=Cf,yS=Rr,bS=vt,SS=wf,Dd=xe,ES=Uo,vS=Rn,kS=Ji,CS=qo,wS=Wo,TS=nl,IS=rl,OS=Vi,RS=Qf,AS=Yi,_S=el,MS=Xi,FS=Fr,Lc=ie,US=Zi,NS=Gi,DS=ol,PS=ec,LS=Qi,Pd=sl,$S=tc,jS=tl,qS=wt,Ld=jt,WS=al,HS=ul,zS=No,BS=ld,KS=Ac,JS=Ni,VS=Af,ZS=a(2,(e,t)=>$d(e,void 0,t)),$d=pd,GS=Dl,YS=Pl,XS=Ll,QS=$l,eE=Vl,tE=Zl,rE=Gl,nE=Yl,oE=Hl,sE=zl,iE=Bl,cE=ql,aE=Sn,uE=En,fE=Jl,lE=Wl,pE=Cr,dE=yd,mE=bd,xE=wl,hE=sc,gE=Ol,yE=Tl,bE=Il,SE=rf,EE=nf,vE=Al,kE=It,CE=ic,wE=_l,TE=Fl,IE=cc,OE=Ml,RE=zo,AE=Nl,_E=ac,ME=Ul,FE=Bo,UE=Ri,NE=sf,jd=he,DE=Ge,PE=Ge(),LE=Ge("Fatal"),$E=Ge("Warn"),jE=Ge("Error"),qE=Ge("Info"),WE=Ge("Debug"),HE=Ge("Trace"),zE=a(2,(e,t)=>vt(e,fc,r=>new Set([...r,t]))),BE=a(e=>cr(e[0]),(e,...t)=>vt(e,bp,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),KE=np,JE=a(2,(e,t)=>h(Ko,r=>vt(e,Sp,n=>[[t,r],...n]))),VE=a(e=>cr(e[0]),(e,t,r)=>Lc(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),ZE=a(e=>cr(e[0]),(e,t,r)=>_d(e,n=>{let o=r===void 0?n:r(n);return Wr(t,o)})),GE=a(e=>cr(e[0]),(e,t,r)=>Fd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),YE=a(e=>cr(e[0]),(e,t,r)=>Nd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),XE=a(e=>cr(e[0]),(e,t,r)=>jd(n=>{let o=n.monotonicTimeNanosUnsafe();return Lc(e,()=>{let s=n.monotonicTimeNanosUnsafe(),i=zs(q(s),q(o)),c=r===void 0?i:A(()=>r(i));return Wr(t,c)})})),Hr=class extends gt()("effect/Effect/Transaction"){},QE=e=>Ad(t=>{let r=uo(t.context,Hr);if(r)return e;r={journal:new Map,retry:!1};let n;return Ld(o=>Pc(Td({while:()=>!n,body:oe(o(e).pipe(Dd(Hr,r),Ud(()=>r.retry?o(t0(r)):Nc),Md)),step(s){if(r.retry||!e0(r))return wd(r);ap(s)?r0(t,r):wd(r),n=s}}),()=>n))}),e0=e=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},t0=e=>Od(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return Dc(o=>{let s=()=>{n(),o(Nc)};for(let i of r)i.pending.set(t,s);return pe(n)})});function r0(e,t){for(let[r,{value:n}]of t.journal){n!==r.value&&(r.version=r.version+1,r.value=n);for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function wd(e){e.retry=!1,e.journal.clear()}var n0=Pc(Hr,e=>(e.retry=!0,Pd)),o0=(e,t,r)=>(...n)=>Dc(o=>{try{e(...n,(s,i)=>{o(s?Uc(t?t(s,n):s):Id(i))})}catch(s){o(r?Uc(r(s,n)):Rd(s))}}),s0=()=>e=>e,i0=()=>e=>e,c0=()=>e=>e,a0=mf,u0=xf,f0=hf,l0=pf,p0=gf,d0=cf;var ar={};zt(ar,{await:()=>m0,awaitAll:()=>x0,getCurrent:()=>k0,interrupt:()=>y0,interruptAll:()=>S0,interruptAllAs:()=>E0,interruptAs:()=>b0,isFiber:()=>v0,join:()=>h0,joinAll:()=>g0,runIn:()=>C0});var m0=vi;var x0=Tr,h0=Ju,g0=Vu,y0=Oo,b0=ki,S0=St,E0=Zu,v0=e=>b(e,yn),k0=wr,C0=Rl;var qd="~effect/MutableRef",w0={[qd]:qd,...Be,toJSON(){return{_id:"MutableRef",current:Qe(this.current)}}},Wd=e=>{let t=Object.create(w0);return t.current=e,t};var Hd=a(2,(e,t)=>(e.current=t,e));var C={};zt(C,{get:()=>R0,getAndSet:()=>_0,getAndUpdate:()=>M0,getAndUpdateSome:()=>F0,getUnsafe:()=>j0,make:()=>O0,makeUnsafe:()=>Bd,modify:()=>Kd,modifySome:()=>N0,set:()=>A0,setAndGet:()=>U0,update:()=>D0,updateAndGet:()=>P0,updateSome:()=>L0,updateSomeAndGet:()=>$0});var T0="~effect/Ref",I0={[T0]:{_A:w},...Be,toJSON(){return{_id:"Ref",ref:this.ref}}},Bd=e=>{let t=Object.create(I0);return t.ref=Wd(e),t},O0=e=>pe(()=>Bd(e)),R0=e=>pe(()=>e.ref.current),A0=a(2,(e,t)=>pe(()=>Hd(e.ref,t))),_0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t,r})),M0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t(r),r})),F0=a(2,(e,t)=>pe(()=>{let r=e.ref.current,n=t(r);return n._tag==="Some"&&(e.ref.current=n.value),r})),U0=a(2,(e,t)=>pe(()=>e.ref.current=t)),Kd=a(2,(e,t)=>pe(()=>{let[r,n]=t(e.ref.current);return e.ref.current=n,r})),N0=a(2,(e,t)=>Kd(e,r=>{let[n,o]=t(r);return[n,o._tag==="None"?r:o.value]})),D0=a(2,(e,t)=>pe(()=>{e.ref.current=t(e.ref.current)})),P0=a(2,(e,t)=>pe(()=>e.ref.current=t(e.ref.current))),L0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);r._tag==="Some"&&(e.ref.current=r.value)})),$0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);return r._tag==="Some"&&(e.ref.current=r.value),e.ref.current})),j0=e=>e.ref.current;var q0={workers:new Map};function W0(e,t,r,n=1){let o=new Map(e.workers),s=o.get(t);return o.set(t,{id:t,types:new Set(r),capacity:n,active:s?.active??0}),{workers:o}}function H0(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function z0(e,t,r){let n=e.workers.get(t);if(!n)return e;let o=new Map(e.workers);return o.set(t,{...n,types:new Set(r)}),{workers:o}}function B0(e,t){let r=e.workers.get(t);if(!r)throw new Error(`acquire: unknown worker ${t}`);if(r.active>=r.capacity)throw new Error(`acquire: worker ${t} at capacity`);let n=new Map(e.workers);return n.set(t,{...r,active:r.active+1}),{workers:n}}function K0(e,t){let r=e.workers.get(t);if(!r)return e;let n=new Map(e.workers);return n.set(t,{...r,active:Math.max(0,r.active-1)}),{workers:n}}function Jd(e,t){let r=0;for(let n of e.workers.values())n.types.has(t)&&(r+=Math.max(0,n.capacity-n.active));return r}function Vd(e){let t=new Set;for(let r of e.workers.values())for(let n of r.types)t.add(n);return t}function J0(e){let t=[];for(let r of Vd(e))Jd(e,r)>0&&t.push(r);return t}function V0(e){let t=[];for(let r of Vd(e)){let n=Jd(e,r);n>0&&t.push({type:r,freeSlots:n})}return t}function Z0(e,t){for(let r of e.workers.values())if(r.types.has(t)&&r.active<r.capacity)return r.id;return null}var VT=(e=q0)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),add:(n,o,s=1)=>C.update(t,i=>W0(i,n,o,s)),remove:n=>C.update(t,o=>H0(o,n)),setTypes:(n,o)=>C.update(t,s=>z0(s,n,o)),claim:n=>C.modify(t,o=>{let s=Z0(o,n);return s===null?[null,o]:[s,B0(o,s)]}),releaseWorker:n=>C.update(t,o=>K0(o,n)),pollTypes:C.get(t).pipe(l.map(J0)),pollBatch:C.get(t).pipe(l.map(V0))}});var Zd={keySetHash:"",xmlByKey:new Map,jobTypes:[]};function G0(e){return[...e].sort().join("\0")}function Y0(e,t,r,n){let o=new Set,s=[];for(let i of e){let c=t.get(i);if(c!==void 0)for(let u of r(c))n&&!(u.process===n||u.process.startsWith(n))||o.has(u.taskType)||(o.add(u.taskType),s.push(u.taskType))}return s}var Gd=(e,t,r,n="")=>l.gen(function*(){let o=yield*e.searchProcessDefinitionKeys(),s=G0(o);if(s===r.keySetHash)return{cache:r,crawled:!1,fetchedKeys:[]};let i=new Set(o),c=new Map;for(let[m,d]of r.xmlByKey)i.has(m)&&c.set(m,d);let u=[];for(let m of o){if(c.has(m))continue;let d=yield*e.getProcessDefinitionXml(m);c.set(m,d),u.push(m)}let f=Y0(o,c,t,n);return{cache:{keySetHash:s,xmlByKey:c,jobTypes:f},crawled:!0,fetchedKeys:u}});var $c={requestTimeoutMs:1e4,initialLockMs:15e3,emptyPollBackoffMs:0,maxBatchPerType:10},X0=(e,t,r,n)=>l.gen(function*(){for(;;){let o=yield*e.activate({type:t,maxJobsToActivate:r,requestTimeoutMs:n.requestTimeoutMs,lockMs:n.initialLockMs});if(o.length>0)return o;n.emptyPollBackoffMs>0&&(yield*l.sleep(ne.millis(n.emptyPollBackoffMs)))}}),Q0=(e,t)=>Math.min(Math.max(1,e),Math.max(1,t.maxBatchPerType)),Yd=(e,t,r)=>t.length===0?l.die(new Error("activateWinner: no serviceable-with-capacity types to poll")):l.raceAll(t.map(n=>X0(e,n.type,Q0(n.freeSlots,r),r)));var ev={workers:new Map};function tv(e,t,r){let n=new Map(e.workers),o=n.get(t);return n.set(t,{capability:r,jobKeys:o?.jobKeys??new Set}),{workers:n}}function rv(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function nv(e,t,r){let n=new Map(e.workers),o=n.get(t),s=new Set(o?.jobKeys??[]);return s.add(r),n.set(t,{capability:o?.capability??{},jobKeys:s}),{workers:n}}function ov(e,t,r){let n=e.workers.get(t);if(!n||!n.jobKeys.has(r))return e;let o=new Map(e.workers),s=new Set(n.jobKeys);return s.delete(r),o.set(t,{capability:n.capability,jobKeys:s}),{workers:o}}function sv(e){let t=[];for(let[r,n]of e.workers)t.push({instance:r,capability:n.capability,jobKeys:[...n.jobKeys]});return t}function iv(e,t){let r=e.workers.get(t);return r?[...r.jobKeys]:[]}var Xd=(e=ev)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),register:(r,n)=>C.update(t,o=>tv(o,r,n)),deregister:r=>C.update(t,n=>rv(n,r)),claim:(r,n)=>C.update(t,o=>nv(o,r,n)),release:(r,n)=>C.update(t,o=>ov(o,r,n)),snapshot:C.get(t).pipe(l.map(sv)),jobKeysFor:r=>C.get(t).pipe(l.map(n=>iv(n,r)))}}),zr=(e,t,r)=>e===void 0?l.void:e.pipe(l.catch(n=>l.sync(()=>t.debug?.(`agentic ${r} frame failed \u2014 ${n.message}`)))),Qd=(e,t,r=qe)=>{let n=(o,s)=>t.currentHandle.pipe(l.flatMap(i=>i?zr(o(i),r,s):l.void));return{ownership:e,register:(o,s)=>e.register(o,s).pipe(l.flatMap(()=>n(i=>i.register?.(o,s),"register"))),claim:(o,s)=>e.claim(o,s).pipe(l.flatMap(()=>n(i=>i.claim?.(o,s),"claim"))),transcript:(o,s,i)=>n(c=>c.transcript?.(o,s,i),"transcript"),release:(o,s)=>e.release(o,s).pipe(l.flatMap(()=>n(i=>i.release?.(o,s),"release")))}},em=(e,t,r,n)=>e.claim(t,r).pipe(l.flatMap(()=>n),l.ensuring(e.release(t,r))),tm=(e,t,r=qe)=>t.snapshot.pipe(l.flatMap(n=>l.forEach(n,o=>zr(e.register?.(o.instance,o.capability),r,"register").pipe(l.flatMap(()=>l.forEach(o.jobKeys,s=>zr(e.claim?.(o.instance,s),r,"claim"),{discard:!0}))),{discard:!0})));var jc={recoveryWindowMs:3e5,extendIntervalMs:6e4},qc=(e,t,r)=>l.gen(function*(){let{engine:n,runner:o,registry:s,logger:i,config:c,ownership:u}=e;return(yield*n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.as(!0),l.catch(m=>(i.warn(`[${t.type}] job ${t.jobKey}: winner extend failed (${m.message}) \u2014 not starting; slot released`),l.succeed(!1)))))?(yield*l.gen(function*(){let m=n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: heartbeat extend failed \u2014 ${p.message}`)))),d=yield*l.forkChild(l.sleep(ne.millis(c.extendIntervalMs)).pipe(l.flatMap(()=>m),l.forever)),y=o.run(t).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: run failed \u2014 ${p.message}`))));yield*(u?em(u,r,t.jobKey,y):y).pipe(l.ensuring(ar.interrupt(d)))}).pipe(l.ensuring(s.releaseWorker(r))),{started:!0}):(yield*s.releaseWorker(r),{started:!1,reason:"extend-failed"})});function jn(e,t){return e.filter(r=>r.lockDeadlineMs>t)}function cv(e,t,r){let n=jn(e,r),o=n.findIndex(c=>t.has(c.job.type));if(o===-1)return{picked:null,rest:n};let s=n[o],i=n.filter((c,u)=>u!==o);return{picked:s,rest:i}}var rm=()=>l.gen(function*(){let e=yield*C.make([]);return{park:(t,r)=>Wt.currentTimeMillis.pipe(l.flatMap(n=>C.update(e,o=>[...jn(o,n),{job:t,lockDeadlineMs:n+r}]))),repark:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.update(e,n=>t.lockDeadlineMs>r?[...jn(n,r),t]:jn(n,r)))),takeFor:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.modify(e,n=>{let{picked:o,rest:s}=cv(n,t,r);return[o,s]}))),size:Wt.currentTimeMillis.pipe(l.flatMap(t=>C.updateAndGet(e,r=>jn(r,t))),l.map(t=>t.length))}});var Wc={reconnectBaseMs:500,reconnectMaxMs:3e4},nm=e=>Le.exponential(ne.millis(e.reconnectBaseMs)).pipe(Le.jittered,Le.modifyDelay(({duration:t})=>l.succeed(ne.min(t,ne.millis(e.reconnectMaxMs))))),av=(e,t,r=Wc)=>l.acquireRelease(e.connect().pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.retry(nm(r))),n=>n.disconnect.pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: disconnected"))),l.ignore)),uI=(e,t,r,n=Wc)=>l.scoped(av(e,t,n).pipe(l.flatMap(r))),om=(e,t,r,n,o,s=Wc)=>l.gen(function*(){let i=l.acquireUseRelease(e.connect().pipe(l.retry(nm(s))),u=>C.set(r,u).pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: (re)connected \u2014 resyncing"))),l.flatMap(()=>n(u)),l.flatMap(()=>u.closed??l.never)),u=>C.set(r,null).pipe(l.flatMap(()=>u.disconnect.pipe(l.ignore)))),c=yield*l.forkChild(i.pipe(l.forever));return yield*o.pipe(l.ensuring(ar.interrupt(c)))});var dI=e=>({connect:()=>l.gen(function*(){let t=yield*l.try({try:e,catch:c=>new lt(c instanceof Error?c.message:"agentic connect failed",c)}),r=yield*Ye.make(),n=yield*Ye.make();if(t.onOpen(()=>{l.runSync(Ye.succeed(n,!0))}),t.onClose(()=>{l.runSync(Ye.succeed(n,!1)),l.runSync(Ye.succeed(r,void 0))}),!(yield*Ye.await(n)))return yield*l.fail(new lt("agentic connection closed before it opened"));let s=c=>l.try({try:c,catch:u=>new lt(u instanceof Error?u.message:"agentic frame send failed",u)});return{disconnect:l.sync(()=>t.close()),closed:Ye.await(r),register:(c,u)=>s(()=>t.register(c,u)),heartbeat:c=>s(()=>t.heartbeat(c)),deregister:(c,u)=>s(()=>t.deregister(c,u)),transcript:(c,u,f)=>s(()=>t.transcript(c,u,f)),...t.supportsClaimRelease?{claim:(c,u)=>s(()=>t.claim(c,u)),release:(c,u)=>s(()=>t.release(c,u))}:{},...t.supportsSteer?{onSteer:c=>s(()=>t.onSteer((u,f,m)=>l.runFork(c(u,f,m))))}:{}}})});var ur=e=>t=>t instanceof lt?t:new lt(t instanceof Error?t.message:e,t),gI=e=>({activate:t=>l.tryPromise({try:r=>Promise.resolve(e.activate(t,r)),catch:ur(`activate ${t.type} failed`)}),extendLock:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.extendLock(t,r)).then(()=>{}),catch:ur(`extendLock ${t} failed`)}),complete:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.complete(t,r)).then(()=>{}),catch:ur(`complete ${t} failed`)}),fail:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.fail(t,r)).then(()=>{}),catch:ur(`fail ${t} failed`)})}),yI=e=>({searchProcessDefinitionKeys:()=>l.tryPromise({try:()=>Promise.resolve(e.searchProcessDefinitionKeys()),catch:ur("searchProcessDefinitionKeys failed")}),getProcessDefinitionXml:t=>l.tryPromise({try:()=>Promise.resolve(e.getProcessDefinitionXml(t)),catch:ur(`getProcessDefinitionXml ${t} failed`)})}),bI=e=>({run:t=>l.tryPromise({try:()=>Promise.resolve(e.run(t)).then(()=>{}),catch:ur(`run ${t.jobKey} failed`)})}),uv=e=>{if(!e||typeof e.info!="function"||typeof e.warn!="function")return qe;let t=e.info.bind(e),r=e.warn.bind(e),n=typeof e.debug=="function"?e.debug.bind(e):()=>{};return{info:t,warn:r,debug:n}},SI=e=>{let t={engine:e.engine,runner:e.runner,registry:e.registry,reconcileReader:e.reconcileReader,scan:e.scan,logger:uv(e.logger)};return e.autoWorkerId!==void 0&&(t.autoWorkerId=e.autoWorkerId),e.agenticEndpoint!==void 0&&(t.agenticEndpoint=e.agenticEndpoint),e.agenticConfig!==void 0&&(t.agenticConfig=e.agenticConfig),e.config!==void 0&&(t.config=e.config),t};var ss={heartbeatIntervalMs:1e4},sm=(e,t=qe)=>{let r=(n,o)=>e.currentHandle.pipe(l.flatMap(s=>s?zr(n(s),t,o):l.void));return{register:(n,o)=>r(s=>s.register?.(n,o),"register"),heartbeat:n=>r(o=>o.heartbeat?.(n),"heartbeat"),deregister:(n,o)=>r(s=>s.deregister?.(n,o),"deregister")}};function fv(e,t){let r=[],n=[],o=new Set;for(let i of t)o.add(i.instance),(e.has(i.instance)?n:r).push(i);let s=[];for(let i of e)o.has(i)||s.push(i);return{appeared:r,present:n,departed:s}}var lv=(e,t,r)=>e.snapshot.pipe(l.flatMap(n=>C.get(r).pipe(l.flatMap(o=>{let{appeared:s,present:i,departed:c}=fv(o,n);return l.forEach(s,u=>t.register(u.instance,u.capability),{discard:!0}).pipe(l.flatMap(()=>l.forEach(i,u=>t.heartbeat(u.instance),{discard:!0})),l.flatMap(()=>l.forEach(c,u=>t.deregister(u),{discard:!0})),l.flatMap(()=>C.set(r,new Set(n.map(u=>u.instance)))))})))),im=(e,t,r=ss)=>C.make(new Set).pipe(l.flatMap(n=>lv(e,t,n).pipe(l.repeat(Le.spaced(ne.millis(r.heartbeatIntervalMs)))))),cm=(e=qe)=>C.make(new Map).pipe(l.map(t=>({route:(r,n,o)=>C.get(t).pipe(l.flatMap(s=>{let i=s.get(r);return i?i(n,o):l.sync(()=>e.debug?.(`steer: no sink for instance ${r} \u2014 dropped ${o.length}B`))})),register:(r,n)=>C.update(t,o=>new Map(o).set(r,n)),unregister:r=>C.update(t,n=>{let o=new Map(n);return o.delete(r),o})}))),am=(e,t,r=qe)=>zr(e.onSteer?.(t.route),r,"onSteer");var pv={activation:$c,dispatch:jc,reconcileIntervalMs:3e4,idleSpacingMs:1e3,presence:ss,scope:""},NI=e=>l.gen(function*(){let t=e.logger??qe,r={...pv,...e.config,activation:{...$c,...e.config?.activation},dispatch:{...jc,...e.config?.dispatch},presence:{...ss,...e.config?.presence}},n=yield*rm(),o=yield*C.make(Zd),s=yield*Xd(),i=yield*C.make(null),c={currentHandle:C.get(i)},u=Qd(s,c,t),f=sm(c,t),m=yield*cm(t),d={engine:e.engine,runner:e.runner,registry:e.registry,logger:t,config:r.dispatch,ownership:u},y=C.get(o).pipe(l.flatMap(g=>Gd(e.reconcileReader,e.scan,g,r.scope)),l.flatMap(g=>C.set(o,g.cache).pipe(l.flatMap(()=>e.autoWorkerId?e.registry.setTypes(e.autoWorkerId,g.cache.jobTypes):l.void))),l.catch(g=>l.sync(()=>t.warn(`reconcile skipped \u2014 ${g.message} (keeping current job-type set)`)))),p=e.registry.pollBatch.pipe(l.flatMap(g=>{if(g.length===0)return l.sleep(ne.millis(r.idleSpacingMs));let $e=new Set(g.map(K=>K.type)),X=K=>l.gen(function*(){for(let ee of K){let je=yield*e.registry.claim(ee.type);je?yield*l.forkChild(qc(d,ee,je)):yield*n.park(ee,r.activation.initialLockMs)}});return n.takeFor($e).pipe(l.flatMap(K=>K?e.registry.claim(K.job.type).pipe(l.flatMap(ee=>ee?l.forkChild(qc(d,K.job,ee)).pipe(l.asVoid):n.repark(K))):Yd(e.engine,g,r.activation).pipe(l.flatMap(ee=>X(ee)),l.catch(ee=>l.sync(()=>t.warn(`activation error \u2014 ${ee.message}`))))))})),I=l.gen(function*(){return yield*l.forkChild(y.pipe(l.repeat(Le.spaced(ne.millis(r.reconcileIntervalMs))))),e.agenticEndpoint&&(yield*l.forkChild(im(s,f,r.presence))),yield*p.pipe(l.forever)}),U=e.agenticEndpoint?om(e.agenticEndpoint,t,i,g=>tm(g,s,t).pipe(l.flatMap(()=>am(g,m,t))),I,e.agenticConfig):I;return{tick:p,reconcileOnce:y,run:U,parking:n,ownership:s,steerRouter:m,transcript:u.transcript,presence:f}});export{Wt as Clock,ne as Duration,l as Effect,ar as Fiber,C as Ref,Le as Schedule,lt as SupervisorError,B0 as acquire,av as acquireAgentic,Yd as activateWinner,W0 as addWorker,uv as asLogger,Q0 as batchSizeFor,nv as claimJob,$c as defaultActivationConfig,Wc as defaultAgenticConfig,jc as defaultDispatchConfig,ss as defaultPresenceConfig,pv as defaultSupervisorConfig,rv as deregisterWorker,fv as diffPresence,qc as dispatch,zr as emitFrame,Zd as emptyCache,ev as emptyOwnership,q0 as emptyRegistry,Jd as freeSlotsFor,G0 as hashKeys,am as installSteerRoute,iv as jobKeysForInstance,dI as makeAgenticEndpoint,gI as makeEngineClient,bI as makeJobRunner,Qd as makeOwnershipContext,Xd as makeOwnershipRegistry,rm as makeParkingLot,sm as makePresenceSink,yI as makeReconcileReader,VT as makeRegistry,cm as makeSteerRouter,NI as makeSupervisor,SI as makeSupervisorDeps,qe as noopLogger,Z0 as pickWorkerFor,im as projectPresence,lv as projectPresenceStep,jn as prune,Gd as reconcile,tv as registerWorker,K0 as release,ov as releaseJob,H0 as removeWorker,tm as resyncOwnership,Vd as serviceableTypes,z0 as setWorkerTypes,sv as snapshotOwnership,om as superviseAgentic,cv as takeValidFor,J0 as typesWithCapacity,V0 as typesWithSlots,uI as withAgenticConnection,em as withOwnedJob};
|