c8ctl-plugin-nano 1.60.0 → 1.60.2
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/agent-instance.mjs +1 -1
- package/c8ctl-plugin.js +53 -12
- package/package.json +8 -8
- package/supervisor-engine.mjs +71 -9
- package/supervisor.dist.js +11 -11
package/agent-instance.mjs
CHANGED
|
@@ -311,7 +311,7 @@ export function createAgentInstanceProducer(opts = {}) {
|
|
|
311
311
|
const def = deriveAgentDefinition({ profile, envelope });
|
|
312
312
|
const configTurn = {
|
|
313
313
|
historyItemId: `configuration:${elementInstanceKey}`,
|
|
314
|
-
loopIteration:
|
|
314
|
+
loopIteration: 1,
|
|
315
315
|
role: 'CONFIGURATION',
|
|
316
316
|
content: [],
|
|
317
317
|
producedAt: iso(),
|
package/c8ctl-plugin.js
CHANGED
|
@@ -3323,6 +3323,23 @@ async function createAgenticEndpoint(opts) {
|
|
|
3323
3323
|
// @param {typeof fetch} [opts.fetchImpl] injected fetch (tests)
|
|
3324
3324
|
// @param {NodeJS.ProcessEnv} [opts.env]
|
|
3325
3325
|
// @returns {Promise<{ deps: object, registry: object, settle: { complete: Function, fail: Function }, makeSupervisor: Function, Effect: object, Fiber: object }>}
|
|
3326
|
+
// Bind a settle seam to a SINGLE activation's lease token, captured from `job`
|
|
3327
|
+
// in closure scope. A settlement is thereby fenced with the exact activation
|
|
3328
|
+
// that ran — NOT a token re-read from a shared activeJobs map at settle time: a
|
|
3329
|
+
// same-key reactivation can overwrite that entry while an interrupted runner is
|
|
3330
|
+
// still unwinding, so a map lookup could fence the completion with the WRONG
|
|
3331
|
+
// (newer) token and clobber the new activation — the very lease bypass this
|
|
3332
|
+
// fence exists to prevent. `job.leaseToken` in the returned closures cannot drift.
|
|
3333
|
+
// @param {{ complete: Function, fail: Function }} settle the raw settle seam
|
|
3334
|
+
// @param {{ jobKey: string, leaseToken?: string }} job the activation whose lease fences the settlement
|
|
3335
|
+
// @returns {{ complete: (variables:any)=>any, fail: (opts?:object)=>any }}
|
|
3336
|
+
function bindJobSettle(settle, job) {
|
|
3337
|
+
return {
|
|
3338
|
+
complete: (variables) => settle.complete(job.jobKey, variables, job.leaseToken),
|
|
3339
|
+
fail: (opts2) => settle.fail(job.jobKey, { ...(opts2 || {}), leaseToken: job.leaseToken }),
|
|
3340
|
+
};
|
|
3341
|
+
}
|
|
3342
|
+
|
|
3326
3343
|
async function createSupervisorDeps(opts = {}) {
|
|
3327
3344
|
const {
|
|
3328
3345
|
runner,
|
|
@@ -3424,7 +3441,7 @@ async function createSupervisorDeps(opts = {}) {
|
|
|
3424
3441
|
// the runtime uses (activate/extendLock), and any future port instrumentation
|
|
3425
3442
|
// covers the settle path too.
|
|
3426
3443
|
const settle = {
|
|
3427
|
-
complete: (jobKey, variables) => rt.Effect.runPromise(engine.complete(jobKey, variables)),
|
|
3444
|
+
complete: (jobKey, variables, leaseToken) => rt.Effect.runPromise(engine.complete(jobKey, variables, leaseToken)),
|
|
3428
3445
|
fail: (jobKey, opts2) => rt.Effect.runPromise(engine.fail(jobKey, opts2)),
|
|
3429
3446
|
};
|
|
3430
3447
|
|
|
@@ -7771,10 +7788,18 @@ async function workAgent(req, flags) {
|
|
|
7771
7788
|
// dispatch claim/release lifecycle keyed by this worker's instance drives the
|
|
7772
7789
|
// cockpit's jobKeys — so the recorders no longer poke a per-process channel.
|
|
7773
7790
|
const recordJobStart = (job, jobType) => {
|
|
7774
|
-
activeJobs.set(String(job.jobKey), { type: jobType, since: Date.now(), retries: Number(job.retries) });
|
|
7791
|
+
activeJobs.set(String(job.jobKey), { type: jobType, since: Date.now(), retries: Number(job.retries), leaseToken: job.leaseToken });
|
|
7775
7792
|
writeActivity();
|
|
7776
7793
|
};
|
|
7777
7794
|
const recordJobEnd = (job) => {
|
|
7795
|
+
// Delete only if the current entry is THIS activation. A same-key
|
|
7796
|
+
// reactivation may have replaced the entry (new leaseToken) while this
|
|
7797
|
+
// (interrupted) run unwinds — deleting then would erase the NEWER activation
|
|
7798
|
+
// from status and can make force-stop miss its yield. The per-activation
|
|
7799
|
+
// leaseToken is the identity; an unleased job (no token both sides) deletes as
|
|
7800
|
+
// before.
|
|
7801
|
+
const cur = activeJobs.get(String(job.jobKey));
|
|
7802
|
+
if (cur && cur.leaseToken !== job.leaseToken) return;
|
|
7778
7803
|
activeJobs.delete(String(job.jobKey));
|
|
7779
7804
|
writeActivity();
|
|
7780
7805
|
};
|
|
@@ -7966,6 +7991,14 @@ async function workAgent(req, flags) {
|
|
|
7966
7991
|
run: async (job, abortSignal) => {
|
|
7967
7992
|
const jobType = job.type;
|
|
7968
7993
|
recordJobStart(job, jobType);
|
|
7994
|
+
// Bind the settler to THIS activation's lease token, captured from the job
|
|
7995
|
+
// in closure scope. A settlement is fenced with the exact activation that
|
|
7996
|
+
// ran — NOT a token re-read from the shared activeJobs map at settle time: a
|
|
7997
|
+
// same-key reactivation can overwrite that entry while an interrupted runner
|
|
7998
|
+
// is still unwinding, so a map lookup could fence the completion with the
|
|
7999
|
+
// WRONG (newer) token and clobber the new activation — the very lease bypass
|
|
8000
|
+
// this fence exists to prevent. `job.leaseToken` in the closure cannot drift.
|
|
8001
|
+
const settleJob = bindJobSettle(settle, job);
|
|
7969
8002
|
try {
|
|
7970
8003
|
logger.info(`[${jobType}] job ${job.jobKey} (instance ${job.processInstanceKey ?? '-'}) → ${buildAgentCommandLine(profile.command, effectiveArgs)}`);
|
|
7971
8004
|
|
|
@@ -7978,7 +8011,7 @@ async function workAgent(req, flags) {
|
|
|
7978
8011
|
const freeMb = budget.free != null ? Math.round(budget.free / 1_048_576) : '?';
|
|
7979
8012
|
const retries = Math.max(0, (Number(job.retries) || 1) - 1);
|
|
7980
8013
|
logger.warn(`[${jobType}] job ${job.jobKey} shed — low disk (${freeMb}MB free); retries left ${retries}`);
|
|
7981
|
-
return
|
|
8014
|
+
return settleJob.fail({ errorMessage: `disk budget exceeded (only ${freeMb}MB free)`, retries, retryBackOff: 30_000 });
|
|
7982
8015
|
}
|
|
7983
8016
|
}
|
|
7984
8017
|
|
|
@@ -8010,7 +8043,7 @@ async function workAgent(req, flags) {
|
|
|
8010
8043
|
const retries = Math.max(0, (Number(job.retries) || 1) - 1);
|
|
8011
8044
|
const msg = err instanceof ProvisionError ? err.message : `prompt resource fetch failed: ${err.message}`;
|
|
8012
8045
|
logger.warn(`[${jobType}] job ${job.jobKey} not provisioned — ${msg}; retries left ${retries}`);
|
|
8013
|
-
return
|
|
8046
|
+
return settleJob.fail({ errorMessage: msg.slice(0, 2000), retries, retryBackOff: 15_000 });
|
|
8014
8047
|
}
|
|
8015
8048
|
|
|
8016
8049
|
// Assemble + normalize the task envelope from headers (defaults) and
|
|
@@ -8021,7 +8054,7 @@ async function workAgent(req, flags) {
|
|
|
8021
8054
|
const retries = Math.max(0, (Number(job.retries) || 1) - 1);
|
|
8022
8055
|
const msg = `missing secret(s): ${missing.join(', ')} (resolver: ${secretResolver.kind})`;
|
|
8023
8056
|
logger.warn(`[${jobType}] job ${job.jobKey} not provisioned — ${msg}; retries left ${retries}`);
|
|
8024
|
-
return
|
|
8057
|
+
return settleJob.fail({ errorMessage: msg, retries });
|
|
8025
8058
|
}
|
|
8026
8059
|
|
|
8027
8060
|
// #130: per-task liveness overrides. Precedence: envelope override →
|
|
@@ -8087,7 +8120,7 @@ async function workAgent(req, flags) {
|
|
|
8087
8120
|
: 'repository.url is missing';
|
|
8088
8121
|
const msg = `incomplete repository envelope — ${why}; refusing to run in the launch/temp cwd (likely an orchestrator bug emitting a half-specified repository block)`;
|
|
8089
8122
|
logger.warn(`[${jobType}] job ${job.jobKey} not provisioned — ${msg}; retries left ${retries}`);
|
|
8090
|
-
return
|
|
8123
|
+
return settleJob.fail({ errorMessage: msg.slice(0, 2000), retries, retryBackOff: 15_000 });
|
|
8091
8124
|
}
|
|
8092
8125
|
}
|
|
8093
8126
|
|
|
@@ -8142,7 +8175,7 @@ async function workAgent(req, flags) {
|
|
|
8142
8175
|
const retries = Math.max(0, (Number(job.retries) || 1) - 1);
|
|
8143
8176
|
const msg = err instanceof ProvisionError ? err.message : `provisioning error: ${err.message}`;
|
|
8144
8177
|
logger.warn(`[${jobType}] job ${job.jobKey} not provisioned — ${msg}; retries left ${retries}`);
|
|
8145
|
-
return
|
|
8178
|
+
return settleJob.fail({ errorMessage: msg.slice(0, 2000), retries, retryBackOff: 15_000 });
|
|
8146
8179
|
}
|
|
8147
8180
|
} else if (!isContainer) {
|
|
8148
8181
|
// Repo-less host job (issue #129, hardening 1): nothing is provisioned,
|
|
@@ -8168,7 +8201,7 @@ async function workAgent(req, flags) {
|
|
|
8168
8201
|
const retries = Math.max(0, (Number(job.retries) || 1) - 1);
|
|
8169
8202
|
const msg = `could not create a temp workspace under the worker namespace: ${err.message}`;
|
|
8170
8203
|
logger.warn(`[${jobType}] job ${job.jobKey} not provisioned — ${msg}; retries left ${retries}`);
|
|
8171
|
-
return
|
|
8204
|
+
return settleJob.fail({ errorMessage: msg.slice(0, 2000), retries, retryBackOff: 15_000 });
|
|
8172
8205
|
}
|
|
8173
8206
|
}
|
|
8174
8207
|
|
|
@@ -8366,7 +8399,7 @@ async function workAgent(req, flags) {
|
|
|
8366
8399
|
const resultKeys = Object.keys(resultVars);
|
|
8367
8400
|
if (resultKeys.length === 0) logger.warn(`[${jobType}] job ${job.jobKey}: agent returned no usable result vars — write a JSON object of result variables to $AGENT_RESULT_FILE (or print a "${RESULT_SENTINEL} {…}" line) so downstream gateways see status/summary/etc.`);
|
|
8368
8401
|
else logger.info(`[${jobType}] job ${job.jobKey}: merged agent result vars [${resultKeys.join(', ')}]`);
|
|
8369
|
-
return await
|
|
8402
|
+
return await settleJob.complete({
|
|
8370
8403
|
...resultVars,
|
|
8371
8404
|
[AGENT_RESULT_KEY]: resultEnvelope,
|
|
8372
8405
|
output: result.stdout,
|
|
@@ -8383,7 +8416,7 @@ async function workAgent(req, flags) {
|
|
|
8383
8416
|
|| (result.stderr || '').trim() + (result.stderrTruncated && (result.stderr || '').trim() ? ' [stderr truncated]' : '')
|
|
8384
8417
|
|| (result.signal ? `terminated by signal ${result.signal}` : `exit code ${result.exitCode}`);
|
|
8385
8418
|
logger.warn(`[${jobType}] job ${job.jobKey} failed (${detail}); retries left ${retries}`);
|
|
8386
|
-
return await
|
|
8419
|
+
return await settleJob.fail({
|
|
8387
8420
|
errorMessage: `agent "${profile.name}" failed: ${detail}`.slice(0, 2000),
|
|
8388
8421
|
retries,
|
|
8389
8422
|
variables: { [AGENT_RESULT_KEY]: resultEnvelope },
|
|
@@ -8416,6 +8449,12 @@ async function workAgent(req, flags) {
|
|
|
8416
8449
|
dispatch: { recoveryWindowMs, extendIntervalMs: lockExtendIntervalMs },
|
|
8417
8450
|
},
|
|
8418
8451
|
});
|
|
8452
|
+
// The settle seam is used directly with an EXPLICIT lease token per call: the
|
|
8453
|
+
// runner binds `settleJob` to its activation's `job.leaseToken` (race-free —
|
|
8454
|
+
// see the runner), and the force-stop yield passes the token captured in
|
|
8455
|
+
// `inflight`. We deliberately do NOT wrap `settle` to look the token up from the
|
|
8456
|
+
// shared `activeJobs` map by jobKey, because a same-key reactivation could make
|
|
8457
|
+
// that lookup fence a settlement with the wrong activation's token.
|
|
8419
8458
|
settle = composed.settle;
|
|
8420
8459
|
const {
|
|
8421
8460
|
deps: supervisorDeps,
|
|
@@ -8611,7 +8650,7 @@ async function workAgent(req, flags) {
|
|
|
8611
8650
|
logger.info(`Received ${signal} — aborting in-flight work and stopping worker...`);
|
|
8612
8651
|
// Snapshot in-flight jobs (with their retry budget) BEFORE the interrupt
|
|
8613
8652
|
// clears the ownership registry, so we can yield each one afterwards.
|
|
8614
|
-
const inflight = [...activeJobs.entries()].map(([jobKey, info]) => ({ jobKey, retries: info?.retries }));
|
|
8653
|
+
const inflight = [...activeJobs.entries()].map(([jobKey, info]) => ({ jobKey, retries: info?.retries, leaseToken: info?.leaseToken }));
|
|
8615
8654
|
// Interrupt the runtime: this aborts each running job's AbortSignal (the
|
|
8616
8655
|
// makeJobRunner seam) so runAgentJob killTree's the harness process group,
|
|
8617
8656
|
// and runs dispatch's bracketed teardown (release ownership + slot). The
|
|
@@ -8625,12 +8664,13 @@ async function workAgent(req, flags) {
|
|
|
8625
8664
|
// Yield each in-flight job so the broker re-activates it at once (retries
|
|
8626
8665
|
// preserved — a force-stop doesn't consume an attempt). Best-effort: a
|
|
8627
8666
|
// failed yield just lets the lock lapse (the honest fallback).
|
|
8628
|
-
for (const { jobKey, retries } of inflight) {
|
|
8667
|
+
for (const { jobKey, retries, leaseToken } of inflight) {
|
|
8629
8668
|
try {
|
|
8630
8669
|
await SupervisorEffect.runPromise(settle.fail(jobKey, {
|
|
8631
8670
|
errorMessage: `worker force-stopped (${signal}); job yielded for retry`,
|
|
8632
8671
|
retries: Number.isFinite(retries) && retries > 0 ? retries : 1,
|
|
8633
8672
|
retryBackOff: 0,
|
|
8673
|
+
leaseToken,
|
|
8634
8674
|
}));
|
|
8635
8675
|
logger.info(` yielded job ${jobKey} for immediate retry.`);
|
|
8636
8676
|
} catch (err) {
|
|
@@ -13861,6 +13901,7 @@ export {
|
|
|
13861
13901
|
loadSupervisorRuntime,
|
|
13862
13902
|
createAgenticEndpoint,
|
|
13863
13903
|
createSupervisorDeps,
|
|
13904
|
+
bindJobSettle,
|
|
13864
13905
|
enableEngineHappyEyeballs,
|
|
13865
13906
|
preferIpv4Resolution,
|
|
13866
13907
|
isLikelyLocalNetworkTccBlock,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "c8ctl-plugin-nano",
|
|
3
|
-
"version": "1.60.
|
|
3
|
+
"version": "1.60.2",
|
|
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",
|
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
},
|
|
74
74
|
"optionalDependencies": {
|
|
75
75
|
"node-pty": "^1.0.0",
|
|
76
|
-
"@nanobpm/c8ctl-plugin-nano-darwin-arm64": "1.60.
|
|
77
|
-
"@nanobpm/c8ctl-plugin-nano-darwin-x64": "1.60.
|
|
78
|
-
"@nanobpm/c8ctl-plugin-nano-linux-x64": "1.60.
|
|
79
|
-
"@nanobpm/c8ctl-plugin-nano-linux-arm64": "1.60.
|
|
80
|
-
"@nanobpm/c8ctl-plugin-nano-linux-armv7": "1.60.
|
|
81
|
-
"@nanobpm/c8ctl-plugin-nano-linux-armv6": "1.60.
|
|
82
|
-
"@nanobpm/c8ctl-plugin-nano-win32-x64": "1.60.
|
|
76
|
+
"@nanobpm/c8ctl-plugin-nano-darwin-arm64": "1.60.2",
|
|
77
|
+
"@nanobpm/c8ctl-plugin-nano-darwin-x64": "1.60.2",
|
|
78
|
+
"@nanobpm/c8ctl-plugin-nano-linux-x64": "1.60.2",
|
|
79
|
+
"@nanobpm/c8ctl-plugin-nano-linux-arm64": "1.60.2",
|
|
80
|
+
"@nanobpm/c8ctl-plugin-nano-linux-armv7": "1.60.2",
|
|
81
|
+
"@nanobpm/c8ctl-plugin-nano-linux-armv6": "1.60.2",
|
|
82
|
+
"@nanobpm/c8ctl-plugin-nano-win32-x64": "1.60.2"
|
|
83
83
|
}
|
|
84
84
|
}
|
package/supervisor-engine.mjs
CHANGED
|
@@ -36,6 +36,13 @@
|
|
|
36
36
|
* else the SAME calls issued raw via `fetchImpl` — the settle surface the
|
|
37
37
|
* supervisor's JobRunner uses once an agent finishes.
|
|
38
38
|
*
|
|
39
|
+
* The three POST-ACTIVATION commands take an optional lease token that FENCES them
|
|
40
|
+
* against a superseded worker (the engine validates `updateJob` and requires it on
|
|
41
|
+
* `completeJob`/`failJob`): `extendLock(jobKey, ms, leaseToken?)`,
|
|
42
|
+
* `complete(jobKey, variables?, leaseToken?)`, and `fail(jobKey, { …, leaseToken? })`.
|
|
43
|
+
* On every path (SDK + raw) it is sent as the TOP-LEVEL camelCase `leaseToken` wire
|
|
44
|
+
* field and OMITTED when blank/absent (a non-leased job needs no fence).
|
|
45
|
+
*
|
|
39
46
|
* Every method on this surface (`activate`→`activateJobs`,
|
|
40
47
|
* `extendLock`→`updateJob`, `complete`→`completeJob`, `fail`→`failJob`) PREFERS
|
|
41
48
|
* the injected `camunda` client and only hand-rolls the REST call as a
|
|
@@ -95,6 +102,18 @@ function isPlainObjectMap(v) {
|
|
|
95
102
|
return proto === Object.prototype || proto === null;
|
|
96
103
|
}
|
|
97
104
|
|
|
105
|
+
/**
|
|
106
|
+
* A non-blank lease token — the opaque per-activation `leaseToken` the engine
|
|
107
|
+
* stamps on an agent job. When present it fences a post-activation command
|
|
108
|
+
* (`updateJob`/complete/fail) so a SUPERSEDED worker's call is rejected 409
|
|
109
|
+
* (`JobLeaseMismatch`) instead of silently mutating a job it no longer owns. A
|
|
110
|
+
* blank/absent token is OMITTED so the unfenced operator/bulk path (the engine
|
|
111
|
+
* treats a missing token as "always applies") is preserved untouched.
|
|
112
|
+
*/
|
|
113
|
+
function isNonBlankString(v) {
|
|
114
|
+
return typeof v === "string" && v.trim() !== "";
|
|
115
|
+
}
|
|
116
|
+
|
|
98
117
|
/**
|
|
99
118
|
* Map one raw v2 activated-job record to the port's {@link ActivatedJob}. Keys are
|
|
100
119
|
* strings in v2. A record missing `jobKey`/`type` violates the `ActivatedJob`
|
|
@@ -179,8 +198,8 @@ async function readErrorBody(res) {
|
|
|
179
198
|
* @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`.
|
|
180
199
|
* @param {typeof fetch} [opts.fetchImpl] Injected `fetch` (defaults to the global; overridden in tests).
|
|
181
200
|
* @param {number} [opts.requestTimeoutSlackMs] Extra ms added to a call's abort budget over its server long-poll (default 5000).
|
|
182
|
-
* @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
|
|
183
|
-
* @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> }}
|
|
201
|
+
* @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 }, leaseToken?: string }) => (Promise<unknown> & { cancel?: () => void }), completeJob?: (req: { jobKey: string, variables?: object, leaseToken?: string }) => Promise<unknown>, failJob?: (req: { jobKey: string, retries?: number, errorMessage?: string, retryBackOff?: number, variables?: object, leaseToken?: string }) => 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 }, leaseToken? }`, likewise cancelled via `cancel()` when the extend's `AbortSignal` fires), `complete`→`completeJob` (`POST /v2/jobs/{jobKey}/completion`), `fail`→`failJob` (`POST /v2/jobs/{jobKey}/failure`). Each post-activation request carries the activation's top-level `leaseToken` (camelCase wire field) so the engine's lease fence accepts it.
|
|
202
|
+
* @returns {{ activate(req: ActivateRequest, signal?: AbortSignal): Promise<ReadonlyArray<ActivatedJob>>, extendLock(jobKey: string, ms: number, leaseToken?: string, signal?: AbortSignal): Promise<void>, complete(jobKey: string, variables?: object, leaseToken?: string): Promise<void>, fail(jobKey: string, opts?: { retries?: number, errorMessage?: string, retryBackOff?: number, variables?: object, leaseToken?: string }): Promise<void> }} Every post-activation method takes the activation's `leaseToken` (Camunda-v10 lease fence): the engine validates it before mutating a leased job, so `extendLock`/`complete`/`fail` must each carry the token from the activation that owns the lock — omitting it is rejected once a job is leased. `extendLock` also accepts an optional `AbortSignal` so a hung extend can be cancelled (not merely abandoned) when the caller's deadline fires.
|
|
184
203
|
*/
|
|
185
204
|
export function createRawEngineClient(opts = {}) {
|
|
186
205
|
const {
|
|
@@ -304,22 +323,53 @@ export function createRawEngineClient(opts = {}) {
|
|
|
304
323
|
return jobs.map(mapJob);
|
|
305
324
|
},
|
|
306
325
|
|
|
307
|
-
async extendLock(jobKey, ms) {
|
|
326
|
+
async extendLock(jobKey, ms, leaseToken, signal) {
|
|
308
327
|
// Prefer the SDK's typed `updateJob` (operationId `updateJob` →
|
|
309
328
|
// `PATCH /v2/jobs/{jobKey}` with `{ changeset: { timeout } }`) so the lock
|
|
310
329
|
// extension tracks the engine contract instead of a hand-rolled URL. Fall
|
|
311
330
|
// back to the SAME call issued raw when no SDK client is injected (keeps
|
|
312
331
|
// this module wire-testable and usable standalone).
|
|
332
|
+
//
|
|
333
|
+
// `leaseToken` (when present) is a TOP-LEVEL sibling of `changeset`/`jobKey`
|
|
334
|
+
// — NOT nested in the changeset — matching the Camunda v10 `JobUpdateRequest`.
|
|
335
|
+
// The wire field is camelCase `leaseToken` (the engine's `JobUpdateRequest`
|
|
336
|
+
// deserializes it via `#[serde(rename = "leaseToken")]` into its internal
|
|
337
|
+
// `lease_token` field), so BOTH the SDK and this raw PATCH send the same
|
|
338
|
+
// camelCase key. It FENCES the extend: a superseded
|
|
339
|
+
// worker whose lease has been reassigned is rejected 409 (`JobLeaseMismatch`)
|
|
340
|
+
// rather than renewing a lock it no longer owns, which is what let a reclaimed
|
|
341
|
+
// agent job keep running and loop (empty transcript husks). Omitted when blank
|
|
342
|
+
// so the unfenced operator/bulk path is unchanged.
|
|
343
|
+
const fence = isNonBlankString(leaseToken) ? { leaseToken } : {};
|
|
313
344
|
if (camunda && typeof camunda.updateJob === "function") {
|
|
345
|
+
// Mirror `activate`: wire the external abort `signal` (fired when the
|
|
346
|
+
// dispatch-side `Effect.timeout`/interruption cancels a hung beat) onto the
|
|
347
|
+
// SDK call's `CancelablePromise.cancel()` when it exposes one, so a wedged
|
|
348
|
+
// `updateJob` is actually cancelled rather than left in flight to (late)
|
|
349
|
+
// re-lock a job whose lease we've already treated as lost.
|
|
350
|
+
const p = camunda.updateJob({ changeset: { timeout: ms }, jobKey: String(jobKey), ...fence });
|
|
351
|
+
const cancel = typeof p?.cancel === "function" ? () => p.cancel() : () => {};
|
|
352
|
+
const onExtAbort = () => cancel();
|
|
353
|
+
if (signal) {
|
|
354
|
+
if (signal.aborted) cancel();
|
|
355
|
+
else signal.addEventListener("abort", onExtAbort, { once: true });
|
|
356
|
+
}
|
|
314
357
|
try {
|
|
315
|
-
await
|
|
358
|
+
await p;
|
|
316
359
|
return;
|
|
317
360
|
} catch (err) {
|
|
318
361
|
throw new Error(`extendLock ${jobKey}: SDK updateJob failed: ${err?.message ?? err}`, { cause: err });
|
|
362
|
+
} finally {
|
|
363
|
+
if (signal) signal.removeEventListener("abort", onExtAbort);
|
|
319
364
|
}
|
|
320
365
|
}
|
|
321
366
|
const url = `${base}/jobs/${encodeURIComponent(jobKey)}`;
|
|
322
|
-
const res = await call(
|
|
367
|
+
const res = await call(
|
|
368
|
+
url,
|
|
369
|
+
{ method: "PATCH", body: JSON.stringify({ changeset: { timeout: ms }, ...fence }) },
|
|
370
|
+
15_000,
|
|
371
|
+
signal,
|
|
372
|
+
);
|
|
323
373
|
if (!res || !res.ok) {
|
|
324
374
|
const status = res ? res.status : "?";
|
|
325
375
|
throw new Error(`extendLock ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
|
|
@@ -338,23 +388,31 @@ export function createRawEngineClient(opts = {}) {
|
|
|
338
388
|
// SDK rejection (e.g. a 409 when the lock lapsed and the job was reclaimed)
|
|
339
389
|
// surfaces as a rejected promise for the port to map.
|
|
340
390
|
|
|
341
|
-
async complete(jobKey, variables) {
|
|
391
|
+
async complete(jobKey, variables, leaseToken) {
|
|
342
392
|
// Prefer the SDK's typed `completeJob` (operationId `completeJob` →
|
|
343
393
|
// `POST /v2/jobs/{jobKey}/completion` with `{ variables }`) when a `camunda`
|
|
344
394
|
// SDK client is injected, else the SAME call issued raw via `fetchImpl`. The
|
|
345
395
|
// result-variable map the model produced is merged onto the process
|
|
346
396
|
// instance. C8 v2 answers 204 No Content on success.
|
|
397
|
+
//
|
|
398
|
+
// `leaseToken` (top-level, like the extend) FENCES the completion: the engine
|
|
399
|
+
// validates it with `required=true`, so for a LEASED job the matching token
|
|
400
|
+
// MUST be supplied — a superseded worker (whose token rotated when the job was
|
|
401
|
+
// re-activated) is rejected `JobLeaseMismatch`, never clobbering the newer
|
|
402
|
+
// activation's result. A non-leased job carries no `job.leaseToken`, so the
|
|
403
|
+
// field is omitted and no token is required.
|
|
347
404
|
const vars = isPlainObjectMap(variables) ? { variables } : {};
|
|
405
|
+
const fence = isNonBlankString(leaseToken) ? { leaseToken } : {};
|
|
348
406
|
if (camunda && typeof camunda.completeJob === "function") {
|
|
349
407
|
try {
|
|
350
|
-
await camunda.completeJob({ jobKey: String(jobKey), ...vars });
|
|
408
|
+
await camunda.completeJob({ jobKey: String(jobKey), ...vars, ...fence });
|
|
351
409
|
return;
|
|
352
410
|
} catch (err) {
|
|
353
411
|
throw new Error(`complete ${jobKey}: SDK completeJob failed: ${err?.message ?? err}`, { cause: err });
|
|
354
412
|
}
|
|
355
413
|
}
|
|
356
414
|
const url = `${base}/jobs/${encodeURIComponent(jobKey)}/completion`;
|
|
357
|
-
const res = await call(url, { method: "POST", body: JSON.stringify(vars) }, 15_000);
|
|
415
|
+
const res = await call(url, { method: "POST", body: JSON.stringify({ ...vars, ...fence }) }, 15_000);
|
|
358
416
|
if (!res || !res.ok) {
|
|
359
417
|
const status = res ? res.status : "?";
|
|
360
418
|
throw new Error(`complete ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
|
|
@@ -365,7 +423,7 @@ export function createRawEngineClient(opts = {}) {
|
|
|
365
423
|
// Tolerate a `null` opts the same as `undefined` (mirrors `complete`'s
|
|
366
424
|
// null-safe `variables`), so a caller passing `null` never trips the
|
|
367
425
|
// signature-destructure TypeError.
|
|
368
|
-
const { retries = 0, errorMessage, retryBackOff, variables } = opts || {};
|
|
426
|
+
const { retries = 0, errorMessage, retryBackOff, variables, leaseToken } = opts || {};
|
|
369
427
|
// Normalize retries to a non-negative integer (mirrors `mapJob`), so a
|
|
370
428
|
// string/float/negative never reaches the engine (or SDK) as an invalid
|
|
371
429
|
// count. `retries > 0` re-queues for another attempt, `retries === 0`
|
|
@@ -377,6 +435,10 @@ export function createRawEngineClient(opts = {}) {
|
|
|
377
435
|
if (errorMessage !== undefined && errorMessage !== null) extra.errorMessage = String(errorMessage);
|
|
378
436
|
if (Number.isFinite(retryBackOff) && retryBackOff > 0) extra.retryBackOff = retryBackOff;
|
|
379
437
|
if (isPlainObjectMap(variables)) extra.variables = variables;
|
|
438
|
+
// Same lease fencing as `complete` (engine validates `failJob` with
|
|
439
|
+
// `required=true`): a leased job's failure must carry the matching token or a
|
|
440
|
+
// superseded worker's fail is rejected; omitted for a non-leased job.
|
|
441
|
+
if (isNonBlankString(leaseToken)) extra.leaseToken = leaseToken;
|
|
380
442
|
// Prefer the SDK's typed `failJob` (operationId `failJob` →
|
|
381
443
|
// `POST /v2/jobs/{jobKey}/failure`) when a `camunda` SDK client is injected,
|
|
382
444
|
// else the SAME call issued raw via `fetchImpl`. C8 v2 answers 204.
|
package/supervisor.dist.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
// GENERATED by supervisor/build.mjs — do not edit. Source: supervisor/src/*.ts (effect@4.0.0-rc.112 tree-shaken in).
|
|
2
|
-
var
|
|
3
|
-
${s(
|
|
4
|
-
`+s(
|
|
5
|
-
${s(
|
|
6
|
-
${g.map(
|
|
2
|
+
var lm=Object.defineProperty;var Bt=(e,t)=>{for(var r in t)lm(e,r,{get:t[r],enumerable:!0})};var Me=class extends Error{_tag="SupervisorError";cause;constructor(t,r){super(t),this.name="SupervisorError",this.cause=r}},Qe={info:()=>{},warn:()=>{},debug:()=>{}};var P=(e,t)=>{switch(t.length){case 0:return e;case 1:return t[0](e);case 2:return t[1](t[0](e));case 3:return t[2](t[1](t[0](e)));case 4:return t[3](t[2](t[1](t[0](e))));case 5:return t[4](t[3](t[2](t[1](t[0](e)))));case 6:return t[5](t[4](t[3](t[2](t[1](t[0](e))))));case 7:return t[6](t[5](t[4](t[3](t[2](t[1](t[0](e)))))));case 8:return t[7](t[6](t[5](t[4](t[3](t[2](t[1](t[0](e))))))));case 9:return t[8](t[7](t[6](t[5](t[4](t[3](t[2](t[1](t[0](e)))))))));default:{let r=e;for(let n=0,o=t.length;n<o;n++)r=t[n](r);return r}}};var a=function(e,t){if(typeof e=="function")return function(){return e(arguments)?t.apply(this,arguments):r=>t(r,...arguments)};switch(e){case 0:case 1:throw new RangeError(`Invalid arity ${e}`);case 2:return function(r,n){return arguments.length>=2?t(r,n):function(o){return t(o,r)}};case 3:return function(r,n,o){return arguments.length>=3?t(r,n,o):function(s){return t(s,r,n)}};default:return function(){if(arguments.length>=e)return t.apply(this,arguments);let r=arguments;return function(n){return t(n,...r)}}}};var T=e=>e;var ie=e=>()=>e,_t=ie(!0),jn=ie(!1);var et=ie(void 0),Kt=et;function Hc(e,...t){return P(e,t)}var zr=e=>{let t=new Set(Reflect.ownKeys(e));if(e.constructor===Object)return t;e instanceof Error&&t.delete("stack");let r=Object.getPrototypeOf(e),n=r;for(;n!==null&&n!==Object.prototype;){let o=Reflect.ownKeys(n);for(let s=0;s<o.length;s++)t.add(o[s]);n=Object.getPrototypeOf(n)}return t.has("constructor")&&typeof e.constructor=="function"&&r===e.constructor.prototype&&t.delete("constructor"),t},lr=new WeakSet;function Wn(e){return typeof e=="string"}function Bc(e){return typeof e=="number"}function is(e){return typeof e=="function"}function pr(e){return e!==void 0}function dm(e){return typeof e=="object"&&e!==null||is(e)}var b=a(2,(e,t)=>dm(e)&&t in e),Jt=a(2,(e,t)=>b(e,"_tag")&&e._tag===t);function dt(e){return b(e,Symbol.iterator)||Wn(e)}var L="~effect/interfaces/Hash",F=e=>{switch(typeof e){case"number":return mt(e);case"bigint":return B(e.toString(10));case"boolean":return B(String(e));case"symbol":return B(String(e));case"string":return B(e);case"undefined":return B("undefined");case"function":case"object":{if(e===null)return B("null");if(e instanceof Date)return Number.isNaN(e.getTime())?B("Invalid Date"):B(e.toISOString());if(e instanceof RegExp)return B(e.toString());{if(lr.has(e))return Hn(e);if(as.has(e))return as.get(e);let t=gm(e,()=>mm(e)?e[L]():typeof e=="function"?Hn(e):e instanceof DataView?He(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):Array.isArray(e)||ArrayBuffer.isView(e)?He(e):e instanceof Map?xm(e):e instanceof Set?hm(e):ls(e));return as.set(e,t),t}}default:throw new Error(`BUG: unhandled typeof ${typeof e} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},Hn=e=>(cs.has(e)||cs.set(e,mt(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),cs.get(e)),H=a(2,(e,t)=>e*53^t),zn=e=>e&3221225471|e>>>1&1073741824,mm=e=>b(e,L),mt=e=>{if(e!==e)return B("NaN");if(e===1/0)return B("Infinity");if(e===-1/0)return B("-Infinity");let t=e|0;for(t!==e&&(t^=e*4294967295);e>4294967295;)t^=e/=4294967295;return zn(t)},B=e=>{let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return zn(t)},fs=(e,t)=>{let r=12289;for(let n of t)r^=H(F(n),F(e[n]));return zn(r)},ls=e=>fs(e,zr(e)),ps=(e,t)=>r=>{let n=e;for(let o of r)n^=t(o);return zn(n)},He=ps(6151,F),xm=ps(B("Map"),([e,t])=>H(F(e),F(t))),hm=ps(B("Set"),F),cs=new WeakMap,as=new WeakMap,us=new WeakSet;function gm(e,t){if(us.has(e))return B("[Circular]");us.add(e);let r=t();return us.delete(e),r}var $="~effect/interfaces/Equal";function V(){return arguments.length===1?e=>Vt(e,arguments[0]):Vt(arguments[0],arguments[1])}function Vt(e,t){if(e===t)return!0;if(e==null||t==null)return!1;let r=typeof e;return r!==typeof t?!1:r==="number"&&e!==e&&t!==t?!0:r!=="object"&&r!=="function"||lr.has(e)||lr.has(t)?!1:Sm(e,t,bm)}function ym(e,t,r){let n=ds.has(e),o=ms.has(t);if(n&&o)return!0;if(n||o)return!1;ds.add(e),ms.add(t);let s=r();return ds.delete(e),ms.delete(t),s}var ds=new WeakSet,ms=new WeakSet;function bm(e,t){if(F(e)!==F(t))return!1;if(e instanceof Date){if(!(t instanceof Date))return!1;let s=e.getTime(),i=t.getTime();return s===i||Number.isNaN(s)&&Number.isNaN(i)}else if(e instanceof RegExp)return t instanceof RegExp?e.toString()===t.toString():!1;let r=Jc(e),n=Jc(t);if(r!==n)return!1;let o=r&&n;return typeof e=="function"&&!o?!1:ym(e,t,()=>{if(o)return e[$](t);if(Array.isArray(e))return!Array.isArray(t)||e.length!==t.length?!1:Em(e,t);if(ArrayBuffer.isView(e)){let s=e instanceof DataView;if(!ArrayBuffer.isView(t)||e.byteLength!==t.byteLength||s!==t instanceof DataView)return!1;if(s){let i=t;return Kc(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(i.buffer,i.byteOffset,i.byteLength))}return Kc(e,t)}else{if(e instanceof Map)return!(t instanceof Map)||e.size!==t.size?!1:wm(e,t);if(e instanceof Set)return!(t instanceof Set)||e.size!==t.size?!1:Tm(e,t)}return vm(e,t)})}function Sm(e,t,r){let n=Bn.get(e);if(!n)n=new WeakMap,Bn.set(e,n);else if(n.has(t))return n.get(t);let o=r(e,t);n.set(t,o);let s=Bn.get(t);return s||(s=new WeakMap,Bn.set(t,s)),s.set(e,o),o}var Bn=new WeakMap;function Em(e,t){for(let r=0;r<e.length;r++)if(!Vt(e[r],t[r]))return!1;return!0}function Kc(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function vm(e,t){let r=zr(e),n=zr(t);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o)||!Vt(e[o],t[o]))return!1;return!0}function km(e,t){return function(n,o){let s=Array.from(o);for(let[i,c]of n){let u=!1;for(let f=0;f<s.length;f++){let[x,d]=s[f];if(e(i,x)&&t(c,d)){s[f]=s[s.length-1],s.pop(),u=!0;break}}if(!u)return!1}return!0}}var wm=km(Vt,Vt);function Cm(e){return function(r,n){let o=Array.from(n);for(let s of r){let i=!1;for(let c=0;c<o.length;c++){let u=o[c];if(e(s,u)){o[c]=o[o.length-1],o.pop(),i=!0;break}}if(!i)return!1}return!0}}var Tm=Cm(Vt),Jc=e=>b(e,$);var Vc=e=>(lr.add(e),e);function Zc(e,t,r){return{combine:e,initialValue:t,combineAll:r??(n=>{let o=t;for(let s of n)o=e(o,s);return o})}}var xs=e=>(t,r)=>t===r||e(t,r),Im=(e,t)=>e===t,Yc=()=>Im;function Xc(e){return xs((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e(t[n],r[n]))return!1;return!0})}var hs=e=>e.length>0;var ea=e=>a(3,(t,r,n)=>e(t,o=>({...o,[r]:n(o)}))),ta=e=>a(2,(t,r)=>e(t,n=>({[r]:n}))),ra=(e,t)=>a(3,(r,n,o)=>t(r,s=>e(o(s),i=>({...s,[n]:i}))));function Ee(e,t,r){t==="__proto__"?Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}):e[t]=r}function na(e,t){for(let r of Reflect.ownKeys(t))Object.prototype.propertyIsEnumerable.call(t,r)&&Ee(e,r,t[r])}function oa(e){return{combine:e}}function sa(e){return oa((t,r)=>e(t,r)===-1?t:r)}function ia(e){return oa((t,r)=>e(t,r)===1?t:r)}var Jr=Symbol.for("~effect/Redactable"),Am=e=>b(e,Jr);function dr(e){return Am(e)?gs(e):e}function gs(e){return e[Jr](globalThis[mr]?.context??_m)}var mr="~effect/Fiber/currentFiber",aa=new Map,_m={"~effect/Context":{},base:aa,depth:0,mapUnsafe:aa,pipe(){return P(this,arguments)}};function ne(e,t){let r=t?.space??0,n=new WeakSet,o=r?typeof r=="number"?" ".repeat(r):r:"",s=f=>o.repeat(f),i=(f,x)=>{let d=f?.constructor;return d&&d!==Object.prototype.constructor&&d.name?`${d.name}(${x})`:x},c=f=>{try{return Reflect.ownKeys(f)}catch{return["[ownKeys threw]"]}};function u(f,x=0){if(typeof f=="string")return JSON.stringify(f);if(typeof f=="number"||f==null||typeof f=="boolean"||typeof f=="symbol")return String(f);if(typeof f=="bigint")return String(f)+"n";if(typeof f=="object"||typeof f=="function"){if(n.has(f))return Fm;n.add(f);let d;if(Jr in f)d=u(gs(f),x);else if(Array.isArray(f))d=!o||f.length<=1?`[${f.map(g=>u(g,x)).join(",")}]`:`[
|
|
3
|
+
${s(x+1)}${f.map(g=>u(g,x+1)).join(`,
|
|
4
|
+
`+s(x+1))}
|
|
5
|
+
${s(x)}]`;else if(f instanceof Date)d=Um(f);else if(!t?.ignoreToString&&b(f,"toString")&&typeof f.toString=="function"&&f.toString!==Object.prototype.toString&&f.toString!==Array.prototype.toString){let g=Nm(f);d=f instanceof Error&&f.cause?`${g} (cause: ${u(f.cause,x)})`:g}else if(Symbol.iterator in f)d=`${f.constructor.name}(${u(Array.from(f),x)})`;else{let g=c(f);if(!o||g.length<=1){let p=`{${g.map(C=>`${ua(C)}:${u(f[C],x)}`).join(",")}}`;d=i(f,p)}else{let p=`{
|
|
6
|
+
${g.map(C=>`${s(x+1)}${ua(C)}: ${u(f[C],x+1)}`).join(`,
|
|
7
7
|
`)}
|
|
8
|
-
${s(m)}}`;d=i(f,p)}}return n.delete(f),d}return String(f)}return u(e,0)}var Mm="[Circular]";function ua(e){return typeof e=="string"?JSON.stringify(e):String(e)}function Fm(e){try{return e.toISOString()}catch{return"Invalid Date"}}function Um(e){try{let t=e.toString();return typeof t=="string"?t:String(t)}catch{return"[toString threw]"}}function Zr(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Object.getOwnPropertyDescriptor(this,n)?.value,i=y(s,Vr)?mr(s):mr(o);if(typeof i=="bigint")return te(i);if(typeof i!="object"||i===null)return i;for(;r.length>0&&r[r.length-1]!==this;)r.pop();if(!r.includes(i))return r.push(i),i},t?.space)??"null"}var ve=Symbol.for("nodejs.util.inspect.custom"),Qe=e=>{try{return e=mr(e),y(e,"toJSON")&&is(e.toJSON)&&e.toJSON.length===0?e.toJSON():Array.isArray(e)?e.map(Qe):e}catch{return"[toJSON threw]"}},la=(e,t=2)=>{if(typeof e=="string")return e;try{return typeof e=="object"?Zr(e,{space:t}):te(e,{space:t})}catch{return String(e)}},Av={toJSON(){return Qe(this)},[ve](){return this.toJSON()},toString(){return te(this.toJSON())}},fa=class{[ve](){return this.toJSON()}toString(){return te(this.toJSON())}};var _t=class e{called=!1;self;constructor(t){this.self=t}next(t){return this.called?{value:t,done:!0}:(this.called=!0,{value:this.self,done:!1})}[Symbol.iterator](){return new e(this.self)}},Dm=()=>{let e="~effect/Utils/internal",t={[e]:o=>o()},r={[e]:o=>o()};return t[e](()=>new Error().stack)?.includes(e)===!0?t[e]:r[e]},A=Dm();var rt="~effect/Effect",hr="~effect/Exit",Lm={_A:w,_E:w,_R:w},ma=`${rt}/identifier`,O=`${rt}/args`,Y=`${rt}/evaluate`,le=`${rt}/successCont`,Me=`${rt}/failureCont`,Mt=`${rt}/ensureCont`,Zt=Symbol.for("effect/Effect/Yield"),ze={pipe(){return D(this,arguments)},toJSON(){return{...this}},toString(){return te(this.toJSON(),{ignoreToString:!0,space:2})},[ve](){return this.toJSON()}},xa={[P](){return fs(this,Object.keys(this))},[L](e){let t=Object.keys(this),r=Object.keys(e);if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==r[n]||!K(this[t[n]],e[t[n]]))return!1;return!0}},$m={[rt]:Lm,...ze,[Symbol.iterator](){return new _t(this)},toJSON(){return{_id:"Effect",op:this[ma],...O in this?{args:this[O]}:void 0}}},b=e=>y(e,rt),qm=e=>y(e,hr),Gr="~effect/Cause",Kn="~effect/Cause/Reason",Xr=e=>y(e,Gr);var et=class{[Gr];reasons;constructor(t){this[Gr]=Gr,this.reasons=t}pipe(){return D(this,arguments)}toJSON(){return{_id:"Cause",failures:this.reasons.map(t=>t.toJSON())}}toString(){return`Cause(${te(this.reasons)})`}[ve](){return this.toJSON()}[L](t){return Xr(t)&&this.reasons.length===t.reasons.length&&this.reasons.every((r,n)=>K(r,t.reasons[n]))}[P](){return je(this.reasons)}},da=new WeakMap,gr=class{[Kn];annotations;_tag;constructor(t,r,n){if(this[Kn]=Kn,this._tag=t,r!==Qr&&typeof n=="object"&&n!==null&&r.size>0){let o=da.get(n);o&&(r=new Map([...o,...r])),da.set(n,r)}this.annotations=r}annotate(t,r){if(t.mapUnsafe.size===0)return this;let n=new Map(this.annotations);t.mapUnsafe.forEach((s,i)=>{r?.overwrite!==!0&&n.has(i)||n.set(i,s)});let o=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return o.annotations=n,o}pipe(){return D(this,arguments)}toString(){return te(this)}[ve](){return this.toString()}},Qr=new Map,Yr=class extends gr{error;constructor(t,r=Qr){super("Fail",r,t),this.error=t}toString(){return`Fail(${te(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[L](t){return tn(t)&&K(this.error,t.error)&&K(this.annotations,t.annotations)}[P](){return W(H(this._tag))(W(_(this.error))(_(this.annotations)))}},Ft=e=>new et(e),ys=new et([]),ha=e=>new et([new Yr(e)]),Jn=class extends gr{defect;constructor(t,r=Qr){super("Die",r,t),this.defect=t}toString(){return`Die(${te(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[L](t){return rn(t)&&K(this.defect,t.defect)&&K(this.annotations,t.annotations)}[P](){return W(H(this._tag))(W(_(this.defect))(_(this.annotations)))}},ga=e=>new et([new Jn(e)]),en=a(e=>Xr(e[0]),(e,t,r)=>t.mapUnsafe.size===0?e:new et(e.reasons.map(n=>n.annotate(t,r)))),tn=e=>e._tag==="Fail",rn=e=>e._tag==="Die",Zn=e=>e._tag==="Interrupt";function jm(e){return Be("Effect.evaluate: Not implemented")}var mt=e=>({...$m,[ma]:e.op,[Y]:e[Y]??jm,[le]:e[le],[Me]:e[Me],[Mt]:e[Mt]}),Fe=e=>{let t=mt(e);return function(){let r=Object.create(t);return r[O]=e.single===!1?arguments:arguments[0],r}},ya=e=>{let t={[hr]:hr,_tag:e.op,get[e.prop](){return this[O]},...mt(e),toString(){return`${e.op}(${te(this[O])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[O]}},[L](r){return qm(r)&&r._tag===this._tag&&K(this[O],r[O])},[P](){return W(H(e.op),_(this[O]))}};return function(r){let n=Object.create(t);return n[O]=r,n}},re=ya({op:"Success",prop:"value",[Y](e){let t=e.getCont(le);return t?t[le](this[O],e,this):e.yieldWith(this)}}),Gn={key:"effect/Cause/StackTrace"},bs={key:"effect/Cause/InterruptorStackTrace"},ke=ya({op:"Failure",prop:"cause",[Y](e){let t=this[O],r=!1;e.currentStackFrame&&(t=en(t,{mapUnsafe:new Map([[Gn.key,e.currentStackFrame]])}),r=!0);let n=e.getCont(Me);for(;e.interruptible&&e._interruptedCause&&n;)n=e.getCont(Me);return n?n[Me](t,e,r?void 0:this):e.yieldWith(r?ke(t):this)}}),nt=e=>ke(ha(e)),Be=e=>ke(ga(e)),C=Fe({op:"WithFiber",[Y](e){return this[O](e)}}),Wm=(function(){class e extends globalThis.Error{}let t=mt({op:"YieldableError",[Y](){return nt(this)}});return delete t.toString,Object.assign(e.prototype,t),e})(),ba=(function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends Wm{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0),r&&(na(this,r),Object.defineProperty(this,e,{value:r,enumerable:!1}))}toJSON(){return{...this[e],...this}}}})(),xt=e=>{class t extends ba{_tag=e}return t.prototype.name=e,t},Vn="~effect/Cause/NoSuchElementError",Ss=e=>y(e,Vn),tt=class extends xt("NoSuchElementError"){[Vn]=Vn;constructor(t){super({message:t})}},yr="~effect/Cause/Done",nn=e=>y(e,yr),Sa={[yr]:yr,_tag:"Done",value:void 0},Ea=e=>e===void 0?Sa:{[yr]:yr,_tag:"Done",value:e},Hm=nt(Sa),va=e=>e===void 0?Hm:nt(Ea(e));var ka="~effect/data/Option",Ca={[ka]:{_A:e=>e},...ze,[Symbol.iterator](){return new _t(this)}},zm=Object.defineProperty(Object.assign(Object.create(Ca),{_tag:"Some",_op:"Some",[L](e){return Yn(e)&&Es(e)&&K(this.value,e.value)},[P](){return W(_(this._tag))(_(this.value))},toString(){return`some(${te(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:Qe(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),Bm=_("None"),Km=Object.assign(Object.create(Ca),{_tag:"None",_op:"None",valueOrUndefined:void 0,[L](e){return Yn(e)&&on(e)},[P](){return Bm},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Yn=e=>y(e,ka),on=e=>e._tag==="None",Es=e=>e._tag==="Some",vs=Object.create(Km),ks=e=>{let t=Object.create(zm);return t.value=e,t};var Ta="~effect/data/Result",Ia={[Ta]:{_A:e=>e,_E:e=>e},...ze,[Symbol.iterator](){return new _t(this)}},Jm=Object.assign(Object.create(Ia),{_tag:"Success",_op:"Success",[L](e){return Cs(e)&&Ts(e)&&K(this.success,e.success)},[P](){return W(_(this._tag))(_(this.success))},toString(){return`success(${te(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:Qe(this.success)}}}),Vm=Object.assign(Object.create(Ia),{_tag:"Failure",_op:"Failure",[L](e){return Cs(e)&&ws(e)&&K(this.failure,e.failure)},[P](){return W(_(this._tag))(_(this.failure))},toString(){return`failure(${te(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:Qe(this.failure)}}}),Cs=e=>y(e,Ta),ws=e=>e._tag==="Failure",Ts=e=>e._tag==="Success",Is=e=>{let t=Object.create(Vm);return t.failure=e,t},Rs=e=>{let t=Object.create(Jm);return t.success=e,t};var Ra=a(2,(e,t)=>on(e)?Is(t()):Rs(e.value));function Xn(e){return(t,r)=>t===r?0:e(t,r)}var Qn=Xn((e,t)=>globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t)?0:globalThis.Number.isNaN(e)?-1:globalThis.Number.isNaN(t)?1:e<t?-1:1);var Oa=a(2,(e,t)=>Xn((r,n)=>e(t(r),t(n))));var eo=e=>a(2,(t,r)=>e(t,r)===-1),br=e=>a(2,(t,r)=>e(t,r)===1),Os=e=>a(2,(t,r)=>e(t,r)!==1),As=e=>a(2,(t,r)=>e(t,r)!==-1),to=e=>a(2,(t,r)=>t===r||e(t,r)<1?t:r),ro=e=>a(2,(t,r)=>t===r||e(t,r)>-1?t:r),_s=e=>a(2,(t,r)=>to(e)(r.maximum,ro(e)(r.minimum,t))),Ms=e=>a(2,(t,r)=>!eo(e)(t,r.minimum)&&!br(e)(t,r.maximum));var J=()=>vs,V=ks,Aa=Yn,Yt=on,_a=Es;var Ym=a(2,(e,t)=>Yt(e)?t():e.value);var oo=e=>e===void 0?J():V(e);var Sr=Ym(Xe),sn=e=>(...t)=>{try{return V(e(...t))}catch{return J()}};var Q=Rs,z=Is;var Ma=Ra;var Z=ws,Xt=Ts;var Fa=a(2,(e,t)=>Xt(e)?Q(t(e.success)):e),Fs=a(2,(e,{onFailure:t,onSuccess:r})=>Z(e)?t(e.failure):r(e.success));var Ua=Fs({onFailure:w,onSuccess:w});var Na=e=>{if(Symbol.iterator in e){let r=[];for(let n of e){if(Z(n))return n;r.push(n.success)}return Q(r)}let t={};for(let r of Object.keys(e)){let n=e[r];if(Z(n))return n;Ee(t,r,n.success)}return Q(t)};var Da=a(2,(e,t)=>({[Symbol.iterator](){let r=e[Symbol.iterator](),n=0;return{next(){let o=r.next();for(;!o.done;){if(t(o.value,n++))return{done:!1,value:o.value};o=r.next()}return{done:!0,value:void 0}}}}}));var so=globalThis.Array;var B=e=>so.isArray(e)?e:so.from(e);var Xm=a(2,(e,t)=>B(e).concat(B(t)));var nk=so.isArray;var $a=hs,La=hs;var qa=a(2,(e,t)=>{let r=so.from(e);return r.sort(t),r});var Qm=(e,t)=>{let r=_(t),n=e.get(r);if(n===void 0)return e.set(r,[t]),!0;for(let o of n)if(K(o,t))return!1;return n.push(t),!0};var ja=a(2,(e,t)=>{let r=B(e),n=B(t);return La(r)?La(n)?ex(Xm(r,n)):r:n});var cn=()=>[];var Wa=a(2,(e,t)=>{let r=[],n=[],o=0;for(let s of e){let i=t(s,o++);Xt(i)?n.push(i.success):r.push(i.failure)}return[r,n]});var ex=e=>{let t=B(e);if(t.length<2)return[...t];let r=new Map,n=[];for(let o of t)Qm(r,o)&&n.push(o);return n};var Ha=e=>mt({op:e.label,[Y]:e.evaluate});var Ba="~effect/Context/Service",gt=function(){function e(){}let t=e;Object.setPrototypeOf(t,tx);let r=(n,o)=>(t.key=n,o?.defaultValue&&(t[Ds]=Ds,t.defaultValue=o.defaultValue),o?.make&&(t.make=o.make),o?.fiberCached&&Ka.add(n),t);return arguments.length>0?r(arguments[0],arguments[1]):r},tx={[Ba]:Ba,...Ha({label:"Service",evaluate(e){return re(Ce(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key}},of(e){return e},context(e){return co(this,e)},use(e){return C(t=>e(Ce(t.context,this)))},useSync(e){return C(t=>re(e(Ce(t.context,this))))}},Ka=new Set,Ds="~effect/Context/Reference",Ja="~effect/Context",rx=8,nx=8,Ps=(e,t,r,n)=>{let o=Object.create(sx);return o.cacheRoot=e??o,o.base=t,o.overlay=r,o.depth=n,o._flat=void 0,o.baseHits=0,o},Va=(e,t)=>{t&&(Va(e,t.parent),e.set(t.key,t.value))},Za=e=>{if(e._flat)return e._flat;if(!e.overlay)return e._flat=e.base;let t=new Map(e.base);return Va(t,e.overlay),e._flat=t},ox=(e,t)=>{let r=new Map(e.mapUnsafe);return t(r),Er(r)},io=Symbol(),Ls=(e,t)=>{let r=e;for(let o=r.overlay;o;o=o.parent)if(o.key===t)return o.value;let n=r.base.get(t);return n===void 0&&!r.base.has(t)?io:(r.overlay&&++r.baseHits>=nx&&(r.base=Za(r),r.overlay=void 0,r.depth=0),n)},Er=e=>Ps(void 0,e,void 0,0),sx={get mapUnsafe(){return Za(this)},...ze,[Ja]:{_Services:e=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[L](e){if(!$s(e))return!1;let t=this.mapUnsafe,r=e.mapUnsafe;if(t.size!==r.size)return!1;for(let[n,o]of t)if(!r.has(n)||!K(o,r.get(n)))return!1;return!0},[P](){return dt(this.mapUnsafe.size)}},Ga=(e,t)=>e.cacheRoot===t.cacheRoot,$s=e=>y(e,Ja);var Ya=e=>!!e[Ds],Ue=()=>ix,ix=Er(new Map),co=(e,t)=>Er(new Map([[e.key,t]])),we=a(3,(e,t,r)=>cx(e,t.key,r)),cx=(e,t,r)=>{let n=e,o=Ka.has(t)?void 0:n.cacheRoot;if(n.depth>=rx){let s=new Map(n.mapUnsafe);return s.set(t,r),Ps(o,s,void 0,0)}return Ps(o,n.base,{key:t,value:r,parent:n.overlay},n.depth+1)};var ao=a(2,(e,t)=>an(e,t.key)),an=(e,t)=>{let r=Ls(e,t);return r===io?void 0:r},yt=a(2,(e,t)=>{let r=Ls(e,t.key);if(r===io){if(Ya(t))return Xa(t);throw ax(t)}return r}),Ce=yt,Ns="~effect/Context/defaultValue",Xa=e=>Ns in e?e[Ns]:e[Ns]=e.defaultValue(),ax=e=>{let t=new Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(t.stack){let r=t.stack.split(`
|
|
8
|
+
${s(x)}}`;d=i(f,p)}}return n.delete(f),d}return String(f)}return u(e,0)}var Fm="[Circular]";function ua(e){return typeof e=="string"?JSON.stringify(e):String(e)}function Um(e){try{return e.toISOString()}catch{return"Invalid Date"}}function Nm(e){try{let t=e.toString();return typeof t=="string"?t:String(t)}catch{return"[toString threw]"}}function Vr(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Object.getOwnPropertyDescriptor(this,n)?.value,i=b(s,Jr)?dr(s):dr(o);if(typeof i=="bigint")return ne(i);if(typeof i!="object"||i===null)return i;for(;r.length>0&&r[r.length-1]!==this;)r.pop();if(!r.includes(i))return r.push(i),i},t?.space)??"null"}var ve=Symbol.for("nodejs.util.inspect.custom"),tt=e=>{try{return e=dr(e),b(e,"toJSON")&&is(e.toJSON)&&e.toJSON.length===0?e.toJSON():Array.isArray(e)?e.map(tt):e}catch{return"[toJSON threw]"}},la=(e,t=2)=>{if(typeof e=="string")return e;try{return typeof e=="object"?Vr(e,{space:t}):ne(e,{space:t})}catch{return String(e)}},Pv={toJSON(){return tt(this)},[ve](){return this.toJSON()},toString(){return ne(this.toJSON())}},fa=class{[ve](){return this.toJSON()}toString(){return ne(this.toJSON())}};var Mt=class e{called=!1;self;constructor(t){this.self=t}next(t){return this.called?{value:t,done:!0}:(this.called=!0,{value:this.self,done:!1})}[Symbol.iterator](){return new e(this.self)}},Pm=()=>{let e="~effect/Utils/internal",t={[e]:o=>o()},r={[e]:o=>o()};return t[e](()=>new Error().stack)?.includes(e)===!0?t[e]:r[e]},_=Pm();var ot="~effect/Effect",xr="~effect/Exit",$m={_A:T,_E:T,_R:T},ma=`${ot}/identifier`,O=`${ot}/args`,Q=`${ot}/evaluate`,le=`${ot}/successCont`,Fe=`${ot}/failureCont`,Ft=`${ot}/ensureCont`,Zt=Symbol.for("effect/Effect/Yield"),Ke={pipe(){return P(this,arguments)},toJSON(){return{...this}},toString(){return ne(this.toJSON(),{ignoreToString:!0,space:2})},[ve](){return this.toJSON()}},xa={[L](){return fs(this,Object.keys(this))},[$](e){let t=Object.keys(this),r=Object.keys(e);if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==r[n]||!V(this[t[n]],e[t[n]]))return!1;return!0}},qm={[ot]:$m,...Ke,[Symbol.iterator](){return new Mt(this)},toJSON(){return{_id:"Effect",op:this[ma],...O in this?{args:this[O]}:void 0}}},E=e=>b(e,ot),jm=e=>b(e,xr),Zr="~effect/Cause",Kn="~effect/Cause/Reason",Yr=e=>b(e,Zr);var rt=class{[Zr];reasons;constructor(t){this[Zr]=Zr,this.reasons=t}pipe(){return P(this,arguments)}toJSON(){return{_id:"Cause",failures:this.reasons.map(t=>t.toJSON())}}toString(){return`Cause(${ne(this.reasons)})`}[ve](){return this.toJSON()}[$](t){return Yr(t)&&this.reasons.length===t.reasons.length&&this.reasons.every((r,n)=>V(r,t.reasons[n]))}[L](){return He(this.reasons)}},da=new WeakMap,hr=class{[Kn];annotations;_tag;constructor(t,r,n){if(this[Kn]=Kn,this._tag=t,r!==Xr&&typeof n=="object"&&n!==null&&r.size>0){let o=da.get(n);o&&(r=new Map([...o,...r])),da.set(n,r)}this.annotations=r}annotate(t,r){if(t.mapUnsafe.size===0)return this;let n=new Map(this.annotations);t.mapUnsafe.forEach((s,i)=>{r?.overwrite!==!0&&n.has(i)||n.set(i,s)});let o=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return o.annotations=n,o}pipe(){return P(this,arguments)}toString(){return ne(this)}[ve](){return this.toString()}},Xr=new Map,Gr=class extends hr{error;constructor(t,r=Xr){super("Fail",r,t),this.error=t}toString(){return`Fail(${ne(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[$](t){return en(t)&&V(this.error,t.error)&&V(this.annotations,t.annotations)}[L](){return H(B(this._tag))(H(F(this.error))(F(this.annotations)))}},Ut=e=>new rt(e),ys=new rt([]),ha=e=>new rt([new Gr(e)]),Jn=class extends hr{defect;constructor(t,r=Xr){super("Die",r,t),this.defect=t}toString(){return`Die(${ne(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[$](t){return tn(t)&&V(this.defect,t.defect)&&V(this.annotations,t.annotations)}[L](){return H(B(this._tag))(H(F(this.defect))(F(this.annotations)))}},ga=e=>new rt([new Jn(e)]),Qr=a(e=>Yr(e[0]),(e,t,r)=>t.mapUnsafe.size===0?e:new rt(e.reasons.map(n=>n.annotate(t,r)))),en=e=>e._tag==="Fail",tn=e=>e._tag==="Die",Zn=e=>e._tag==="Interrupt";function Wm(e){return Je("Effect.evaluate: Not implemented")}var xt=e=>({...qm,[ma]:e.op,[Q]:e[Q]??Wm,[le]:e[le],[Fe]:e[Fe],[Ft]:e[Ft]}),Ue=e=>{let t=xt(e);return function(){let r=Object.create(t);return r[O]=e.single===!1?arguments:arguments[0],r}},ya=e=>{let t={[xr]:xr,_tag:e.op,get[e.prop](){return this[O]},...xt(e),toString(){return`${e.op}(${ne(this[O])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[O]}},[$](r){return jm(r)&&r._tag===this._tag&&V(this[O],r[O])},[L](){return H(B(e.op),F(this[O]))}};return function(r){let n=Object.create(t);return n[O]=r,n}},oe=ya({op:"Success",prop:"value",[Q](e){let t=e.getCont(le);return t?t[le](this[O],e,this):e.yieldWith(this)}}),Gn={key:"effect/Cause/StackTrace"},bs={key:"effect/Cause/InterruptorStackTrace"},ke=ya({op:"Failure",prop:"cause",[Q](e){let t=this[O],r=!1;e.currentStackFrame&&(t=Qr(t,{mapUnsafe:new Map([[Gn.key,e.currentStackFrame]])}),r=!0);let n=e.getCont(Fe);for(;e.interruptible&&e._interruptedCause&&n;)n=e.getCont(Fe);return n?n[Fe](t,e,r?void 0:this):e.yieldWith(r?ke(t):this)}}),st=e=>ke(ha(e)),Je=e=>ke(ga(e)),w=Ue({op:"WithFiber",[Q](e){return this[O](e)}}),Hm=(function(){class e extends globalThis.Error{}let t=xt({op:"YieldableError",[Q](){return st(this)}});return delete t.toString,Object.assign(e.prototype,t),e})(),ba=(function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends Hm{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0),r&&(na(this,r),Object.defineProperty(this,e,{value:r,enumerable:!1}))}toJSON(){return{...this[e],...this}}}})(),ht=e=>{class t extends ba{_tag=e}return t.prototype.name=e,t},Vn="~effect/Cause/NoSuchElementError",Ss=e=>b(e,Vn),nt=class extends ht("NoSuchElementError"){[Vn]=Vn;constructor(t){super({message:t})}},gr="~effect/Cause/Done",rn=e=>b(e,gr),Sa={[gr]:gr,_tag:"Done",value:void 0},Ea=e=>e===void 0?Sa:{[gr]:gr,_tag:"Done",value:e},zm=st(Sa),va=e=>e===void 0?zm:st(Ea(e));var ka="~effect/data/Option",wa={[ka]:{_A:e=>e},...Ke,[Symbol.iterator](){return new Mt(this)}},Bm=Object.defineProperty(Object.assign(Object.create(wa),{_tag:"Some",_op:"Some",[$](e){return Yn(e)&&Es(e)&&V(this.value,e.value)},[L](){return H(F(this._tag))(F(this.value))},toString(){return`some(${ne(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:tt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),Km=F("None"),Jm=Object.assign(Object.create(wa),{_tag:"None",_op:"None",valueOrUndefined:void 0,[$](e){return Yn(e)&&nn(e)},[L](){return Km},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Yn=e=>b(e,ka),nn=e=>e._tag==="None",Es=e=>e._tag==="Some",vs=Object.create(Jm),ks=e=>{let t=Object.create(Bm);return t.value=e,t};var Ta="~effect/data/Result",Ia={[Ta]:{_A:e=>e,_E:e=>e},...Ke,[Symbol.iterator](){return new Mt(this)}},Vm=Object.assign(Object.create(Ia),{_tag:"Success",_op:"Success",[$](e){return ws(e)&&Ts(e)&&V(this.success,e.success)},[L](){return H(F(this._tag))(F(this.success))},toString(){return`success(${ne(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:tt(this.success)}}}),Zm=Object.assign(Object.create(Ia),{_tag:"Failure",_op:"Failure",[$](e){return ws(e)&&Cs(e)&&V(this.failure,e.failure)},[L](){return H(F(this._tag))(F(this.failure))},toString(){return`failure(${ne(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:tt(this.failure)}}}),ws=e=>b(e,Ta),Cs=e=>e._tag==="Failure",Ts=e=>e._tag==="Success",Is=e=>{let t=Object.create(Zm);return t.failure=e,t},Rs=e=>{let t=Object.create(Vm);return t.success=e,t};var Ra=a(2,(e,t)=>nn(e)?Is(t()):Rs(e.value));function Xn(e){return(t,r)=>t===r?0:e(t,r)}var Qn=Xn((e,t)=>globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t)?0:globalThis.Number.isNaN(e)?-1:globalThis.Number.isNaN(t)?1:e<t?-1:1);var Oa=a(2,(e,t)=>Xn((r,n)=>e(t(r),t(n))));var eo=e=>a(2,(t,r)=>e(t,r)===-1),yr=e=>a(2,(t,r)=>e(t,r)===1),Os=e=>a(2,(t,r)=>e(t,r)!==1),As=e=>a(2,(t,r)=>e(t,r)!==-1),to=e=>a(2,(t,r)=>t===r||e(t,r)<1?t:r),ro=e=>a(2,(t,r)=>t===r||e(t,r)>-1?t:r),_s=e=>a(2,(t,r)=>to(e)(r.maximum,ro(e)(r.minimum,t))),Ms=e=>a(2,(t,r)=>!eo(e)(t,r.minimum)&&!yr(e)(t,r.maximum));var Z=()=>vs,G=ks,Aa=Yn,Yt=nn,_a=Es;var Xm=a(2,(e,t)=>Yt(e)?t():e.value);var oo=e=>e===void 0?Z():G(e);var br=Xm(et),on=e=>(...t)=>{try{return G(e(...t))}catch{return Z()}};var ee=Rs,K=Is;var Ma=Ra;var Y=Cs,Xt=Ts;var Fa=a(2,(e,t)=>Xt(e)?ee(t(e.success)):e),Fs=a(2,(e,{onFailure:t,onSuccess:r})=>Y(e)?t(e.failure):r(e.success));var Ua=Fs({onFailure:T,onSuccess:T});var Na=e=>{if(Symbol.iterator in e){let r=[];for(let n of e){if(Y(n))return n;r.push(n.success)}return ee(r)}let t={};for(let r of Object.keys(e)){let n=e[r];if(Y(n))return n;Ee(t,r,n.success)}return ee(t)};var Da=a(2,(e,t)=>({[Symbol.iterator](){let r=e[Symbol.iterator](),n=0;return{next(){let o=r.next();for(;!o.done;){if(t(o.value,n++))return{done:!1,value:o.value};o=r.next()}return{done:!0,value:void 0}}}}}));var so=globalThis.Array;var J=e=>so.isArray(e)?e:so.from(e);var Qm=a(2,(e,t)=>J(e).concat(J(t)));var fk=so.isArray;var $a=hs,La=hs;var qa=a(2,(e,t)=>{let r=so.from(e);return r.sort(t),r});var ex=(e,t)=>{let r=F(t),n=e.get(r);if(n===void 0)return e.set(r,[t]),!0;for(let o of n)if(V(o,t))return!1;return n.push(t),!0};var ja=a(2,(e,t)=>{let r=J(e),n=J(t);return La(r)?La(n)?tx(Qm(r,n)):r:n});var sn=()=>[];var Wa=a(2,(e,t)=>{let r=[],n=[],o=0;for(let s of e){let i=t(s,o++);Xt(i)?n.push(i.success):r.push(i.failure)}return[r,n]});var tx=e=>{let t=J(e);if(t.length<2)return[...t];let r=new Map,n=[];for(let o of t)ex(r,o)&&n.push(o);return n};var Ha=e=>xt({op:e.label,[Q]:e.evaluate});var Ba="~effect/Context/Service",yt=function(){function e(){}let t=e;Object.setPrototypeOf(t,rx);let r=(n,o)=>(t.key=n,o?.defaultValue&&(t[Ds]=Ds,t.defaultValue=o.defaultValue),o?.make&&(t.make=o.make),o?.fiberCached&&Ka.add(n),t);return arguments.length>0?r(arguments[0],arguments[1]):r},rx={[Ba]:Ba,...Ha({label:"Service",evaluate(e){return oe(we(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key}},of(e){return e},context(e){return co(this,e)},use(e){return w(t=>e(we(t.context,this)))},useSync(e){return w(t=>oe(e(we(t.context,this))))}},Ka=new Set,Ds="~effect/Context/Reference",Ja="~effect/Context",nx=8,ox=8,Ps=(e,t,r,n)=>{let o=Object.create(ix);return o.cacheRoot=e??o,o.base=t,o.overlay=r,o.depth=n,o._flat=void 0,o.baseHits=0,o},Va=(e,t)=>{t&&(Va(e,t.parent),e.set(t.key,t.value))},Za=e=>{if(e._flat)return e._flat;if(!e.overlay)return e._flat=e.base;let t=new Map(e.base);return Va(t,e.overlay),e._flat=t},sx=(e,t)=>{let r=new Map(e.mapUnsafe);return t(r),Sr(r)},io=Symbol(),Ls=(e,t)=>{let r=e;for(let o=r.overlay;o;o=o.parent)if(o.key===t)return o.value;let n=r.base.get(t);return n===void 0&&!r.base.has(t)?io:(r.overlay&&++r.baseHits>=ox&&(r.base=Za(r),r.overlay=void 0,r.depth=0),n)},Sr=e=>Ps(void 0,e,void 0,0),ix={get mapUnsafe(){return Za(this)},...Ke,[Ja]:{_Services:e=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[$](e){if(!$s(e))return!1;let t=this.mapUnsafe,r=e.mapUnsafe;if(t.size!==r.size)return!1;for(let[n,o]of t)if(!r.has(n)||!V(o,r.get(n)))return!1;return!0},[L](){return mt(this.mapUnsafe.size)}},Ga=(e,t)=>e.cacheRoot===t.cacheRoot,$s=e=>b(e,Ja);var Ya=e=>!!e[Ds],Ne=()=>cx,cx=Sr(new Map),co=(e,t)=>Sr(new Map([[e.key,t]])),Ce=a(3,(e,t,r)=>ax(e,t.key,r)),ax=(e,t,r)=>{let n=e,o=Ka.has(t)?void 0:n.cacheRoot;if(n.depth>=nx){let s=new Map(n.mapUnsafe);return s.set(t,r),Ps(o,s,void 0,0)}return Ps(o,n.base,{key:t,value:r,parent:n.overlay},n.depth+1)};var ao=a(2,(e,t)=>cn(e,t.key)),cn=(e,t)=>{let r=Ls(e,t);return r===io?void 0:r},bt=a(2,(e,t)=>{let r=Ls(e,t.key);if(r===io){if(Ya(t))return Xa(t);throw ux(t)}return r}),we=bt,Ns="~effect/Context/defaultValue",Xa=e=>Ns in e?e[Ns]:e[Ns]=e.defaultValue(),ux=e=>{let t=new Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(t.stack){let r=t.stack.split(`
|
|
9
9
|
`);r.splice(1,3),t.stack=r.join(`
|
|
10
|
-
`)}return t},qs=a(2,(e,t)=>{let r=Ls(e,t.key);return r!==io?V(r):Ya(t)?V(Xa(t)):J()}),uo=a(2,(e,t)=>e.mapUnsafe.size===0?t:t.mapUnsafe.size===0?e:ox(e,r=>t.mapUnsafe.forEach((n,o)=>r.set(o,n)))),Qa=(...e)=>{let t=new Map;for(let r=0;r<e.length;r++)e[r].mapUnsafe.forEach((n,o)=>{t.set(o,n)});return Er(t)};var M=gt;var ne={};Bt(ne,{CombinerMax:()=>Dx,CombinerMin:()=>Px,Equivalence:()=>hu,Order:()=>Je,ReducerSum:()=>Nx,abs:()=>fu,between:()=>Ix,clamp:()=>Rx,days:()=>mu,divide:()=>Ox,divideUnsafe:()=>Ax,equals:()=>gu,format:()=>bu,fromInput:()=>px,fromInputUnsafe:()=>j,hours:()=>du,infinity:()=>ie,isDuration:()=>cu,isFinite:()=>hx,isGreaterThan:()=>Fx,isGreaterThanOrEqualTo:()=>Ux,isLessThan:()=>Mx,isLessThanOrEqualTo:()=>Bs,isNegative:()=>uu,isPositive:()=>gx,isZero:()=>au,match:()=>ot,matchPair:()=>fn,max:()=>Hs,micros:()=>bx,millis:()=>Ie,min:()=>Ws,minutes:()=>pu,nanos:()=>Ut,negate:()=>yx,negativeInfinity:()=>xe,parts:()=>yu,seconds:()=>lu,subtract:()=>zs,sum:()=>ho,times:()=>_x,toDays:()=>kx,toHours:()=>vx,toHrTime:()=>Tx,toMillis:()=>Ke,toMinutes:()=>Ex,toNanos:()=>wx,toNanosUnsafe:()=>un,toSeconds:()=>Sx,toWeeks:()=>Cx,weeks:()=>xu,zero:()=>$});var lo="~effect/time/Duration",Ne=BigInt(0),po=BigInt(1),ux=BigInt(2),fx=BigInt(10),eu=BigInt(24),fo=BigInt(60),mo=BigInt(1e3),tu=BigInt(1e6),ru=BigInt(1e9),xo=e=>BigInt(e<0?Math.ceil(e-.5):Math.floor(e+.5)),js=e=>xo(e*1e6),nu=(e,t)=>{let r=e.indexOf(".");if(r===-1)return BigInt(e)*t;let n=e[0]==="-",o=e.slice(r+1),s=fx**BigInt(o.length),i=(BigInt(e.slice(n?1:0,r))*s+BigInt(o))*t,c=i/s+(i%s*ux>=s?po:Ne);return n?-c:c},ou=e=>{let t=e<Ne?-po:po,r=e<Ne?-e:e;return[Number(t*(r/ru)),Number(t*(r%ru))]},lx=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,j=e=>{switch(typeof e){case"number":return Ie(e);case"bigint":return Ut(e);case"string":{if(e==="Infinity")return ie;if(e==="-Infinity")return xe;let t=lx.exec(e);if(!t)break;let[r,n,o]=t;if(o==="nano"||o==="nanos")return Ut(nu(n,po));if(o==="micro"||o==="micros")return Ut(nu(n,mo));let s=Number(n);switch(o){case"milli":case"millis":return Ie(s);case"second":case"seconds":return lu(s);case"minute":case"minutes":return pu(s);case"hour":case"hours":return du(s);case"day":case"days":return mu(s);case"week":case"weeks":return xu(s)}break}case"object":{if(e===null)break;if(lo in e)return e;if(Array.isArray(e))return e.length!==2||!e.every(Bc)?su(e):Number.isNaN(e[0])||Number.isNaN(e[1])?$:e[0]===-1/0||e[1]===-1/0?xe:e[0]===1/0||e[1]===1/0?ie:N(xo(e[0]*1e9+e[1]));let t=e,r=0;return t.weeks&&(r+=t.weeks*6048e5),t.days&&(r+=t.days*864e5),t.hours&&(r+=t.hours*36e5),t.minutes&&(r+=t.minutes*6e4),t.seconds&&(r+=t.seconds*1e3),t.milliseconds&&(r+=t.milliseconds),!t.microseconds&&!t.nanoseconds?N(r):N(xo(r*1e6+(t.microseconds??0)*1e3+(t.nanoseconds??0)))}}return su(e)},su=e=>{throw new Error(`Invalid Input: ${e}`)},px=sn(j),iu={_tag:"Millis",millis:0},dx={_tag:"Infinity"},mx={_tag:"NegativeInfinity"},xx={[lo]:lo,[P](){switch(this.value._tag){case"Millis":{let e=this.value.millis*1e6;return Number.isFinite(e)?_(xo(e)):dt(this.value.millis)}case"Nanos":return _(this.value.nanos);default:return ls(this.value)}},[L](e){return cu(e)&&gu(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[ve](){return this.toJSON()},pipe(){return D(this,arguments)}},N=e=>{let t=Object.create(xx);return typeof e=="number"?isNaN(e)||e===0||Object.is(e,-0)?t.value=iu:Number.isFinite(e)?Number.isInteger(e)?t.value={_tag:"Millis",millis:e}:t.value={_tag:"Nanos",nanos:js(e)}:t.value=e>0?dx:mx:e===Ne?t.value=iu:t.value={_tag:"Nanos",nanos:e},t},cu=e=>y(e,lo),hx=e=>e.value._tag!=="Infinity"&&e.value._tag!=="NegativeInfinity",au=e=>{switch(e.value._tag){case"Millis":return e.value.millis===0;case"Nanos":return e.value.nanos===Ne;case"Infinity":case"NegativeInfinity":return!1}},uu=e=>{switch(e.value._tag){case"Millis":return e.value.millis<0;case"Nanos":return e.value.nanos<Ne;case"NegativeInfinity":return!0;case"Infinity":return!1}},gx=e=>{switch(e.value._tag){case"Millis":return e.value.millis>0;case"Nanos":return e.value.nanos>Ne;case"Infinity":return!0;case"NegativeInfinity":return!1}},fu=e=>{switch(e.value._tag){case"Infinity":case"NegativeInfinity":return ie;case"Millis":return e.value.millis<0?N(-e.value.millis):e;case"Nanos":return e.value.nanos<Ne?N(-e.value.nanos):e}},yx=e=>{switch(e.value._tag){case"Infinity":return xe;case"NegativeInfinity":return ie;case"Millis":return e.value.millis===0?e:N(-e.value.millis);case"Nanos":return e.value.nanos===Ne?e:N(-e.value.nanos)}},$=N(0),ie=N(1/0),xe=N(-1/0),Ut=e=>N(e),bx=e=>N(e*mo),Ie=e=>N(e),lu=e=>N(e*1e3),pu=e=>N(e*6e4),du=e=>N(e*36e5),mu=e=>N(e*864e5),xu=e=>N(e*6048e5),Ke=e=>ot(j(e),{onMillis:w,onNanos:t=>Number(t)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),Sx=e=>ot(j(e),{onMillis:t=>t/1e3,onNanos:t=>Number(t)/1e9,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),Ex=e=>ot(j(e),{onMillis:t=>t/6e4,onNanos:t=>Number(t)/6e10,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),vx=e=>ot(j(e),{onMillis:t=>t/36e5,onNanos:t=>Number(t)/36e11,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),kx=e=>ot(j(e),{onMillis:t=>t/864e5,onNanos:t=>Number(t)/864e11,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),Cx=e=>ot(j(e),{onMillis:t=>t/6048e5,onNanos:t=>Number(t)/6048e11,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),un=e=>{let t=j(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw new Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return js(t.value.millis)}},wx=sn(un),Tx=e=>{let t=j(e);switch(t.value._tag){case"Infinity":return[1/0,0];case"NegativeInfinity":return[-1/0,0];case"Nanos":return ou(t.value.nanos);case"Millis":return ou(js(t.value.millis))}},ot=a(2,(e,t)=>{switch(e.value._tag){case"Millis":return t.onMillis(e.value.millis);case"Nanos":return t.onNanos(e.value.nanos);case"Infinity":return t.onInfinity();case"NegativeInfinity":return(t.onNegativeInfinity??t.onInfinity)()}}),fn=a(3,(e,t,r)=>e.value._tag==="Infinity"||e.value._tag==="NegativeInfinity"||t.value._tag==="Infinity"||t.value._tag==="NegativeInfinity"?r.onInfinity(e,t):e.value._tag==="Millis"?t.value._tag==="Millis"?r.onMillis(e.value.millis,t.value.millis):r.onNanos(un(e),t.value.nanos):r.onNanos(e.value.nanos,un(t))),Je=Xn((e,t)=>fn(e,t,{onMillis:(r,n)=>r<n?-1:r>n?1:0,onNanos:(r,n)=>r<n?-1:r>n?1:0,onInfinity:(r,n)=>r.value._tag===n.value._tag?0:r.value._tag==="Infinity"?1:r.value._tag==="NegativeInfinity"||n.value._tag==="Infinity"?-1:1})),Ix=Ms(Je),hu=(e,t)=>fn(e,t,{onMillis:(r,n)=>r===n,onNanos:(r,n)=>r===n,onInfinity:(r,n)=>r.value._tag===n.value._tag}),Ws=to(Je),Hs=ro(Je),Rx=_s(Je),Ox=a(2,(e,t)=>Number.isFinite(t)?t===0||Object.is(t,-0)?J():ot(e,{onMillis:r=>V(N(r/t)),onNanos:r=>{try{return V(N(r/BigInt(t)))}catch{return J()}},onInfinity:()=>V(t>0?ie:xe),onNegativeInfinity:()=>V(t>0?xe:ie)}):J()),Ax=a(2,(e,t)=>Number.isFinite(t)?ot(e,{onMillis:r=>N(r/t),onNanos:r=>{if(Object.is(t,0)||Object.is(t,-0)){if(r===Ne)return $;let n=r>Ne,o=Object.is(t,0);return n===o?ie:xe}try{return N(r/BigInt(t))}catch{return $}},onInfinity:()=>t>0?ie:t<0?xe:$,onNegativeInfinity:()=>t>0?xe:t<0?ie:$}):$),_x=a(2,(e,t)=>ot(e,{onMillis:r=>N(r*t),onNanos:r=>N(r*BigInt(t)),onInfinity:()=>t>0?ie:t<0?xe:$,onNegativeInfinity:()=>t>0?xe:t<0?ie:$})),zs=a(2,(e,t)=>fn(e,t,{onMillis:(r,n)=>N(r-n),onNanos:(r,n)=>N(r-n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;return o==="Infinity"?s==="Infinity"?$:ie:o==="NegativeInfinity"?s==="NegativeInfinity"?$:xe:s==="Infinity"?xe:ie}})),ho=a(2,(e,t)=>fn(e,t,{onMillis:(r,n)=>N(r+n),onNanos:(r,n)=>N(r+n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;return o==="Infinity"&&s==="NegativeInfinity"||o==="NegativeInfinity"&&s==="Infinity"?$:o==="Infinity"||s==="Infinity"?ie:o==="NegativeInfinity"||s==="NegativeInfinity"?xe:$}})),Mx=eo(Je),Bs=Os(Je),Fx=br(Je),Ux=As(Je),gu=a(2,(e,t)=>hu(e,t)),yu=e=>{if(e.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};if(e.value._tag==="NegativeInfinity")return{days:-1/0,hours:-1/0,minutes:-1/0,seconds:-1/0,millis:-1/0,nanos:-1/0};let t=un(e),r=t<Ne,n=r?-t:t,o=n/tu,s=o/mo,i=s/fo,c=i/fo,u=c/eu,f=r?-1:1;return{days:f*Number(u),hours:f*Number(c%eu),minutes:f*Number(i%fo),seconds:f*Number(s%fo),millis:f*Number(o%mo),nanos:f*Number(n%tu)}},bu=e=>{if(e.value._tag==="Infinity")return"Infinity";if(e.value._tag==="NegativeInfinity")return"-Infinity";if(au(e))return"0";if(uu(e))return"-"+bu(fu(e));let t=yu(e),r=[];return t.days!==0&&r.push(`${t.days}d`),t.hours!==0&&r.push(`${t.hours}h`),t.minutes!==0&&r.push(`${t.minutes}m`),t.seconds!==0&&r.push(`${t.seconds}s`),t.millis!==0&&r.push(`${t.millis}ms`),t.nanos!==0&&r.push(`${t.nanos}ns`),r.join(" ")},Nx=Zc(ho,$),Dx=ia(Je),Px=sa(Je);var pn=M("effect/Scheduler",{fiberCached:!0,defaultValue:()=>new ln}),Su="setImmediate"in globalThis?e=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:e=>{let t=setTimeout(e,0);return()=>clearTimeout(t)},Lx=e=>{let t=!1;return Promise.resolve().then(()=>{t||e()}),()=>{t=!0}},Ks=class{buckets=[];scheduleTask(t,r){let n=this.buckets,o=n.length,s,i=0;for(;i<o&&!(n[i][0]>r);i++)s=n[i];s&&s[0]===r?s[1].push(t):i===o?n.push([r,[t]]):n.splice(i,0,[r,[t]])}drain(){let t=this.buckets;return this.buckets=[],t}},ln=class{executionMode;setImmediate;constructor(t="async",r){this.executionMode=t,this.setImmediate=r??(t==="sync"?Lx:Su)}shouldYield(t){return t.currentOpCount>=t.maxOpsBeforeYield}makeDispatcher(){return new Js(this.setImmediate)}},Js=class{tasks=new Ks;running=void 0;setImmediate;constructor(t=Su){this.setImmediate=t}scheduleTask(t,r){this.tasks.scheduleTask(t,r),this.running===void 0&&(this.running=this.setImmediate(this.afterScheduled))}afterScheduled=()=>{this.running=void 0,this.runTasks()};runTasks(){let t=this.tasks.drain();for(let r=0;r<t.length;r++){let n=t[r][1];for(let o=0;o<n.length;o++)n[o]()}}flush(){for(;this.tasks.buckets.length>0;)this.running!==void 0&&(this.running(),this.running=void 0),this.runTasks()}},Eu=M("effect/Scheduler/MaxOpsBeforeYield",{fiberCached:!0,defaultValue:()=>2048}),vu=M("effect/Scheduler/PreventSchedulerYield",{fiberCached:!0,defaultValue:()=>!1});var go=xt;var Cu="~effect/encoding/EncodingError",wu=class extends go("EncodingError"){[Cu]=Cu};var Zs=e=>{let t="";for(let r=e>>>3;r>0;r--){let n=Math.random()*4294967296>>>0;t+=dn[n>>>24]+dn[n>>>16&255]+dn[n>>>8&255]+dn[n&255]}return t};var dn=[];for(let e=0;e<256;e++)dn.push(e.toString(16).padStart(2,"0"));var Ys="effect/Tracer/ParentSpan",mn=class extends gt()(Ys,{fiberCached:!0}){},$x=e=>e;var yo=M("effect/Tracer/DisablePropagation",{defaultValue:jn}),Iu=M("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),Ru=M("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Xs="effect/Tracer",bo=M(Xs,{fiberCached:!0,defaultValue:()=>$x({span:e=>new Gs(e)})}),Gs=class{_tag="Span";spanId;traceId="native";sampled;name;parent;annotations;links;startTime;kind;status;attributes;events=[];constructor(t){this.name=t.name,this.parent=t.parent,this.annotations=t.annotations,this.links=t.links,this.startTime=t.startTime,this.kind=t.kind,this.sampled=t.sampled,this.status={_tag:"Started",startTime:t.startTime},this.attributes=new Map,this.traceId=Sr(t.parent)?.traceId??Zs(32),this.spanId=Zs(16)}end(t,r){this.status={_tag:"Ended",endTime:t,exit:r,startTime:this.status.startTime}}attribute(t,r){this.attributes.set(t,r)}event(t,r,n){this.events.push([t,r,n??{}])}addLinks(t){this.links.push(...t)}};var Au="effect/observability/Metric/FiberRuntimeMetricsKey";var _u=M("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),xn=M("effect/References/CurrentStackFrame",{fiberCached:!0,defaultValue:Xe}),So=M("effect/References/TracerEnabled",{defaultValue:At}),vr=M("effect/References/TracerTimingEnabled",{defaultValue:At}),hn=M("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),gn=M("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),bt=M("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),Qs=M("effect/References/CurrentLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),ei=M("effect/References/MinimumLogLevel",{fiberCached:!0,defaultValue:()=>"Info"});var Eo=M("effect/References/CurrentLogSpans",{defaultValue:()=>[]});var Wx=()=>{let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return e===void 0?Object.isExtensible(Error):Object.hasOwn(e,"writable")?e.writable===!0:e.set!==void 0},Hx=Wx(),kr=()=>Error.stackTraceLimit,st=e=>{Hx&&(Error.stackTraceLimit=e)};var vo=e=>{if(e?.captureStackTrace===!1)return e;if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!="boolean")return e;let t=kr();st(3);let r=new Error;return st(t),{...e,captureStackTrace:zx(()=>r.stack)}},ti=e=>t=>{let r;return()=>{if(r!==void 0)return r;let n=t();if(!n)return;let o=n.split(`
|
|
11
|
-
`);if(o[e]!==void 0)return r=o[e].trim(),r}},
|
|
10
|
+
`)}return t},qs=a(2,(e,t)=>{let r=Ls(e,t.key);return r!==io?G(r):Ya(t)?G(Xa(t)):Z()}),uo=a(2,(e,t)=>e.mapUnsafe.size===0?t:t.mapUnsafe.size===0?e:sx(e,r=>t.mapUnsafe.forEach((n,o)=>r.set(o,n)))),Qa=(...e)=>{let t=new Map;for(let r=0;r<e.length;r++)e[r].mapUnsafe.forEach((n,o)=>{t.set(o,n)});return Sr(t)};var U=yt;var te={};Bt(te,{CombinerMax:()=>Px,CombinerMin:()=>Lx,Equivalence:()=>hu,Order:()=>Ze,ReducerSum:()=>Dx,abs:()=>fu,between:()=>Rx,clamp:()=>Ox,days:()=>mu,divide:()=>Ax,divideUnsafe:()=>_x,equals:()=>gu,format:()=>bu,fromInput:()=>dx,fromInputUnsafe:()=>W,hours:()=>du,infinity:()=>ce,isDuration:()=>cu,isFinite:()=>gx,isGreaterThan:()=>Ux,isGreaterThanOrEqualTo:()=>Nx,isLessThan:()=>Fx,isLessThanOrEqualTo:()=>Bs,isNegative:()=>uu,isPositive:()=>yx,isZero:()=>au,match:()=>it,matchPair:()=>un,max:()=>Hs,micros:()=>Sx,millis:()=>Ie,min:()=>Ws,minutes:()=>pu,nanos:()=>Nt,negate:()=>bx,negativeInfinity:()=>xe,parts:()=>yu,seconds:()=>lu,subtract:()=>zs,sum:()=>ho,times:()=>Mx,toDays:()=>wx,toHours:()=>kx,toHrTime:()=>Ix,toMillis:()=>Ve,toMinutes:()=>vx,toNanos:()=>Tx,toNanosUnsafe:()=>an,toSeconds:()=>Ex,toWeeks:()=>Cx,weeks:()=>xu,zero:()=>q});var lo="~effect/time/Duration",De=BigInt(0),po=BigInt(1),fx=BigInt(2),lx=BigInt(10),eu=BigInt(24),fo=BigInt(60),mo=BigInt(1e3),tu=BigInt(1e6),ru=BigInt(1e9),xo=e=>BigInt(e<0?Math.ceil(e-.5):Math.floor(e+.5)),js=e=>xo(e*1e6),nu=(e,t)=>{let r=e.indexOf(".");if(r===-1)return BigInt(e)*t;let n=e[0]==="-",o=e.slice(r+1),s=lx**BigInt(o.length),i=(BigInt(e.slice(n?1:0,r))*s+BigInt(o))*t,c=i/s+(i%s*fx>=s?po:De);return n?-c:c},ou=e=>{let t=e<De?-po:po,r=e<De?-e:e;return[Number(t*(r/ru)),Number(t*(r%ru))]},px=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,W=e=>{switch(typeof e){case"number":return Ie(e);case"bigint":return Nt(e);case"string":{if(e==="Infinity")return ce;if(e==="-Infinity")return xe;let t=px.exec(e);if(!t)break;let[r,n,o]=t;if(o==="nano"||o==="nanos")return Nt(nu(n,po));if(o==="micro"||o==="micros")return Nt(nu(n,mo));let s=Number(n);switch(o){case"milli":case"millis":return Ie(s);case"second":case"seconds":return lu(s);case"minute":case"minutes":return pu(s);case"hour":case"hours":return du(s);case"day":case"days":return mu(s);case"week":case"weeks":return xu(s)}break}case"object":{if(e===null)break;if(lo in e)return e;if(Array.isArray(e))return e.length!==2||!e.every(Bc)?su(e):Number.isNaN(e[0])||Number.isNaN(e[1])?q:e[0]===-1/0||e[1]===-1/0?xe:e[0]===1/0||e[1]===1/0?ce:D(xo(e[0]*1e9+e[1]));let t=e,r=0;return t.weeks&&(r+=t.weeks*6048e5),t.days&&(r+=t.days*864e5),t.hours&&(r+=t.hours*36e5),t.minutes&&(r+=t.minutes*6e4),t.seconds&&(r+=t.seconds*1e3),t.milliseconds&&(r+=t.milliseconds),!t.microseconds&&!t.nanoseconds?D(r):D(xo(r*1e6+(t.microseconds??0)*1e3+(t.nanoseconds??0)))}}return su(e)},su=e=>{throw new Error(`Invalid Input: ${e}`)},dx=on(W),iu={_tag:"Millis",millis:0},mx={_tag:"Infinity"},xx={_tag:"NegativeInfinity"},hx={[lo]:lo,[L](){switch(this.value._tag){case"Millis":{let e=this.value.millis*1e6;return Number.isFinite(e)?F(xo(e)):mt(this.value.millis)}case"Nanos":return F(this.value.nanos);default:return ls(this.value)}},[$](e){return cu(e)&&gu(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[ve](){return this.toJSON()},pipe(){return P(this,arguments)}},D=e=>{let t=Object.create(hx);return typeof e=="number"?isNaN(e)||e===0||Object.is(e,-0)?t.value=iu:Number.isFinite(e)?Number.isInteger(e)?t.value={_tag:"Millis",millis:e}:t.value={_tag:"Nanos",nanos:js(e)}:t.value=e>0?mx:xx:e===De?t.value=iu:t.value={_tag:"Nanos",nanos:e},t},cu=e=>b(e,lo),gx=e=>e.value._tag!=="Infinity"&&e.value._tag!=="NegativeInfinity",au=e=>{switch(e.value._tag){case"Millis":return e.value.millis===0;case"Nanos":return e.value.nanos===De;case"Infinity":case"NegativeInfinity":return!1}},uu=e=>{switch(e.value._tag){case"Millis":return e.value.millis<0;case"Nanos":return e.value.nanos<De;case"NegativeInfinity":return!0;case"Infinity":return!1}},yx=e=>{switch(e.value._tag){case"Millis":return e.value.millis>0;case"Nanos":return e.value.nanos>De;case"Infinity":return!0;case"NegativeInfinity":return!1}},fu=e=>{switch(e.value._tag){case"Infinity":case"NegativeInfinity":return ce;case"Millis":return e.value.millis<0?D(-e.value.millis):e;case"Nanos":return e.value.nanos<De?D(-e.value.nanos):e}},bx=e=>{switch(e.value._tag){case"Infinity":return xe;case"NegativeInfinity":return ce;case"Millis":return e.value.millis===0?e:D(-e.value.millis);case"Nanos":return e.value.nanos===De?e:D(-e.value.nanos)}},q=D(0),ce=D(1/0),xe=D(-1/0),Nt=e=>D(e),Sx=e=>D(e*mo),Ie=e=>D(e),lu=e=>D(e*1e3),pu=e=>D(e*6e4),du=e=>D(e*36e5),mu=e=>D(e*864e5),xu=e=>D(e*6048e5),Ve=e=>it(W(e),{onMillis:T,onNanos:t=>Number(t)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),Ex=e=>it(W(e),{onMillis:t=>t/1e3,onNanos:t=>Number(t)/1e9,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),vx=e=>it(W(e),{onMillis:t=>t/6e4,onNanos:t=>Number(t)/6e10,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),kx=e=>it(W(e),{onMillis:t=>t/36e5,onNanos:t=>Number(t)/36e11,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),wx=e=>it(W(e),{onMillis:t=>t/864e5,onNanos:t=>Number(t)/864e11,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),Cx=e=>it(W(e),{onMillis:t=>t/6048e5,onNanos:t=>Number(t)/6048e11,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),an=e=>{let t=W(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw new Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return js(t.value.millis)}},Tx=on(an),Ix=e=>{let t=W(e);switch(t.value._tag){case"Infinity":return[1/0,0];case"NegativeInfinity":return[-1/0,0];case"Nanos":return ou(t.value.nanos);case"Millis":return ou(js(t.value.millis))}},it=a(2,(e,t)=>{switch(e.value._tag){case"Millis":return t.onMillis(e.value.millis);case"Nanos":return t.onNanos(e.value.nanos);case"Infinity":return t.onInfinity();case"NegativeInfinity":return(t.onNegativeInfinity??t.onInfinity)()}}),un=a(3,(e,t,r)=>e.value._tag==="Infinity"||e.value._tag==="NegativeInfinity"||t.value._tag==="Infinity"||t.value._tag==="NegativeInfinity"?r.onInfinity(e,t):e.value._tag==="Millis"?t.value._tag==="Millis"?r.onMillis(e.value.millis,t.value.millis):r.onNanos(an(e),t.value.nanos):r.onNanos(e.value.nanos,an(t))),Ze=Xn((e,t)=>un(e,t,{onMillis:(r,n)=>r<n?-1:r>n?1:0,onNanos:(r,n)=>r<n?-1:r>n?1:0,onInfinity:(r,n)=>r.value._tag===n.value._tag?0:r.value._tag==="Infinity"?1:r.value._tag==="NegativeInfinity"||n.value._tag==="Infinity"?-1:1})),Rx=Ms(Ze),hu=(e,t)=>un(e,t,{onMillis:(r,n)=>r===n,onNanos:(r,n)=>r===n,onInfinity:(r,n)=>r.value._tag===n.value._tag}),Ws=to(Ze),Hs=ro(Ze),Ox=_s(Ze),Ax=a(2,(e,t)=>Number.isFinite(t)?t===0||Object.is(t,-0)?Z():it(e,{onMillis:r=>G(D(r/t)),onNanos:r=>{try{return G(D(r/BigInt(t)))}catch{return Z()}},onInfinity:()=>G(t>0?ce:xe),onNegativeInfinity:()=>G(t>0?xe:ce)}):Z()),_x=a(2,(e,t)=>Number.isFinite(t)?it(e,{onMillis:r=>D(r/t),onNanos:r=>{if(Object.is(t,0)||Object.is(t,-0)){if(r===De)return q;let n=r>De,o=Object.is(t,0);return n===o?ce:xe}try{return D(r/BigInt(t))}catch{return q}},onInfinity:()=>t>0?ce:t<0?xe:q,onNegativeInfinity:()=>t>0?xe:t<0?ce:q}):q),Mx=a(2,(e,t)=>it(e,{onMillis:r=>D(r*t),onNanos:r=>D(r*BigInt(t)),onInfinity:()=>t>0?ce:t<0?xe:q,onNegativeInfinity:()=>t>0?xe:t<0?ce:q})),zs=a(2,(e,t)=>un(e,t,{onMillis:(r,n)=>D(r-n),onNanos:(r,n)=>D(r-n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;return o==="Infinity"?s==="Infinity"?q:ce:o==="NegativeInfinity"?s==="NegativeInfinity"?q:xe:s==="Infinity"?xe:ce}})),ho=a(2,(e,t)=>un(e,t,{onMillis:(r,n)=>D(r+n),onNanos:(r,n)=>D(r+n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;return o==="Infinity"&&s==="NegativeInfinity"||o==="NegativeInfinity"&&s==="Infinity"?q:o==="Infinity"||s==="Infinity"?ce:o==="NegativeInfinity"||s==="NegativeInfinity"?xe:q}})),Fx=eo(Ze),Bs=Os(Ze),Ux=yr(Ze),Nx=As(Ze),gu=a(2,(e,t)=>hu(e,t)),yu=e=>{if(e.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};if(e.value._tag==="NegativeInfinity")return{days:-1/0,hours:-1/0,minutes:-1/0,seconds:-1/0,millis:-1/0,nanos:-1/0};let t=an(e),r=t<De,n=r?-t:t,o=n/tu,s=o/mo,i=s/fo,c=i/fo,u=c/eu,f=r?-1:1;return{days:f*Number(u),hours:f*Number(c%eu),minutes:f*Number(i%fo),seconds:f*Number(s%fo),millis:f*Number(o%mo),nanos:f*Number(n%tu)}},bu=e=>{if(e.value._tag==="Infinity")return"Infinity";if(e.value._tag==="NegativeInfinity")return"-Infinity";if(au(e))return"0";if(uu(e))return"-"+bu(fu(e));let t=yu(e),r=[];return t.days!==0&&r.push(`${t.days}d`),t.hours!==0&&r.push(`${t.hours}h`),t.minutes!==0&&r.push(`${t.minutes}m`),t.seconds!==0&&r.push(`${t.seconds}s`),t.millis!==0&&r.push(`${t.millis}ms`),t.nanos!==0&&r.push(`${t.nanos}ns`),r.join(" ")},Dx=Zc(ho,q),Px=ia(Ze),Lx=sa(Ze);var ln=U("effect/Scheduler",{fiberCached:!0,defaultValue:()=>new fn}),Su="setImmediate"in globalThis?e=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:e=>{let t=setTimeout(e,0);return()=>clearTimeout(t)},$x=e=>{let t=!1;return Promise.resolve().then(()=>{t||e()}),()=>{t=!0}},Ks=class{buckets=[];scheduleTask(t,r){let n=this.buckets,o=n.length,s,i=0;for(;i<o&&!(n[i][0]>r);i++)s=n[i];s&&s[0]===r?s[1].push(t):i===o?n.push([r,[t]]):n.splice(i,0,[r,[t]])}drain(){let t=this.buckets;return this.buckets=[],t}},fn=class{executionMode;setImmediate;constructor(t="async",r){this.executionMode=t,this.setImmediate=r??(t==="sync"?$x:Su)}shouldYield(t){return t.currentOpCount>=t.maxOpsBeforeYield}makeDispatcher(){return new Js(this.setImmediate)}},Js=class{tasks=new Ks;running=void 0;setImmediate;constructor(t=Su){this.setImmediate=t}scheduleTask(t,r){this.tasks.scheduleTask(t,r),this.running===void 0&&(this.running=this.setImmediate(this.afterScheduled))}afterScheduled=()=>{this.running=void 0,this.runTasks()};runTasks(){let t=this.tasks.drain();for(let r=0;r<t.length;r++){let n=t[r][1];for(let o=0;o<n.length;o++)n[o]()}}flush(){for(;this.tasks.buckets.length>0;)this.running!==void 0&&(this.running(),this.running=void 0),this.runTasks()}},Eu=U("effect/Scheduler/MaxOpsBeforeYield",{fiberCached:!0,defaultValue:()=>2048}),vu=U("effect/Scheduler/PreventSchedulerYield",{fiberCached:!0,defaultValue:()=>!1});var go=ht;var wu="~effect/encoding/EncodingError",Cu=class extends go("EncodingError"){[wu]=wu};var Zs=e=>{let t="";for(let r=e>>>3;r>0;r--){let n=Math.random()*4294967296>>>0;t+=pn[n>>>24]+pn[n>>>16&255]+pn[n>>>8&255]+pn[n&255]}return t};var pn=[];for(let e=0;e<256;e++)pn.push(e.toString(16).padStart(2,"0"));var Ys="effect/Tracer/ParentSpan",dn=class extends yt()(Ys,{fiberCached:!0}){},qx=e=>e;var yo=U("effect/Tracer/DisablePropagation",{defaultValue:jn}),Iu=U("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),Ru=U("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Xs="effect/Tracer",bo=U(Xs,{fiberCached:!0,defaultValue:()=>qx({span:e=>new Gs(e)})}),Gs=class{_tag="Span";spanId;traceId="native";sampled;name;parent;annotations;links;startTime;kind;status;attributes;events=[];constructor(t){this.name=t.name,this.parent=t.parent,this.annotations=t.annotations,this.links=t.links,this.startTime=t.startTime,this.kind=t.kind,this.sampled=t.sampled,this.status={_tag:"Started",startTime:t.startTime},this.attributes=new Map,this.traceId=br(t.parent)?.traceId??Zs(32),this.spanId=Zs(16)}end(t,r){this.status={_tag:"Ended",endTime:t,exit:r,startTime:this.status.startTime}}attribute(t,r){this.attributes.set(t,r)}event(t,r,n){this.events.push([t,r,n??{}])}addLinks(t){this.links.push(...t)}};var Au="effect/observability/Metric/FiberRuntimeMetricsKey";var _u=U("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),mn=U("effect/References/CurrentStackFrame",{fiberCached:!0,defaultValue:et}),So=U("effect/References/TracerEnabled",{defaultValue:_t}),Er=U("effect/References/TracerTimingEnabled",{defaultValue:_t}),xn=U("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),hn=U("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),St=U("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),Qs=U("effect/References/CurrentLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),ei=U("effect/References/MinimumLogLevel",{fiberCached:!0,defaultValue:()=>"Info"});var Eo=U("effect/References/CurrentLogSpans",{defaultValue:()=>[]});var Hx=()=>{let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return e===void 0?Object.isExtensible(Error):Object.hasOwn(e,"writable")?e.writable===!0:e.set!==void 0},zx=Hx(),vr=()=>Error.stackTraceLimit,ct=e=>{zx&&(Error.stackTraceLimit=e)};var vo=e=>{if(e?.captureStackTrace===!1)return e;if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!="boolean")return e;let t=vr();ct(3);let r=new Error;return ct(t),{...e,captureStackTrace:Bx(()=>r.stack)}},ti=e=>t=>{let r;return()=>{if(r!==void 0)return r;let n=t();if(!n)return;let o=n.split(`
|
|
11
|
+
`);if(o[e]!==void 0)return r=o[e].trim(),r}},Bx=ti(3);var ni=class extends hr{fiberId;constructor(t,r=Xr){super("Interrupt",r,"Interrupted"),this.fiberId=t}toString(){return`Interrupt(${this.fiberId})`}toJSON(){return{_tag:"Interrupt",fiberId:this.fiberId}}[$](t){return Zn(t)&&this.fiberId===t.fiberId&&this.annotations===t.annotations}[L](){return H(B(`${this._tag}:${this.fiberId}`))(Hn(this.annotations))}};var vn=e=>new rt([new ni(e)]);var Lu=e=>{let t=e.reasons.find(en);return t?ee(t):K(e)},vt=e=>{for(let t=0;t<e.reasons.length;t++){let r=e.reasons[t];if(r._tag==="Fail")return ee(r.error)}return K(e)};var $u=e=>e.reasons.some(tn);var yi=e=>{let t=e.reasons.find(tn);return t?ee(t.defect):K(e)},qu=e=>e.reasons.some(Zn);var ju=e=>{let t;for(let r=0;r<e.reasons.length;r++){let n=e.reasons[r];n._tag==="Interrupt"&&(t??=new Set,n.fiberId!==void 0&&t.add(n.fiberId))}return t?ee(t):K(e)};var bi=a(2,(e,t)=>{if(e.reasons.length===0)return t;if(t.reasons.length===0)return e;let r=new rt(ja(e.reasons,t.reasons));return V(e,r)?e:r});var Kx=e=>{let t={Fail:[],Die:[],Interrupt:[]};for(let r=0;r<e.reasons.length;r++)t[e.reasons[r]._tag].push(e.reasons[r]);return t},Si=e=>{let t=Kx(e);return t.Fail.length>0?t.Fail[0].error:t.Die.length>0?t.Die[0].defect:t.Interrupt.length>0?new globalThis.Error("All fibers interrupted without error"):new globalThis.Error("Empty cause")},Wu=(e,t)=>{let r=[],n=[];if(e.reasons.length===0)return r;let o=vr();ct(1);for(let s of e.reasons){if(s._tag==="Interrupt"){n.push(s);continue}r.push(oi(s._tag==="Die"?s.defect:s.error,s.annotations,t))}if(r.length===0){let s=new Error("The fiber was interrupted by:");s.name="InterruptCause",s.stack=Gx(s,n);let i=new globalThis.Error("All fibers interrupted without error",{cause:s});i.name="InterruptError",i.stack=`${i.name}: ${i.message}`,r.push(oi(i,n[0].annotations,t))}return ct(o),r},oi=(e,t,r)=>{let n=typeof e,o;if(e&&n==="object"){if(o=new globalThis.Error(Jx(e),{cause:e.cause?oi(e.cause):void 0}),typeof e.name=="string"&&(o.name=e.name),typeof e.stack=="string")o.stack=Zx(e.stack,o,t);else{let s=`${o.name}: ${o.message}`;o.stack=t?Hu(s,t):s}r?.includeCauseInStack&&(o.stack=Bu(o));for(let s of Object.keys(e))s in o||(o[s]=e[s])}else o=new globalThis.Error(e?n==="string"?e:Vr(e):`Unknown error: ${e}`);return o},Jx=e=>{if(typeof e.message=="string")return e.message;if(typeof e.toString=="function"&&e.toString!==Object.prototype.toString&&e.toString!==Array.prototype.toString)try{return e.toString()}catch{}return Vr(e)},Vx=/\((.*)\)/g,Zx=(e,t,r)=>{let n=`${t.name}: ${t.message}`,o=(e.startsWith(n)?e.slice(n.length):e).split(`
|
|
12
12
|
`),s=[n];for(let i=1;i<o.length&&!/(?:Generator\.next|~effect\/Effect)/.test(o[i]);i++)s.push(o[i]);return r?Hu(s.join(`
|
|
13
13
|
`),r):s.join(`
|
|
14
14
|
`)},Hu=(e,t)=>{let r=t?.get(Gn.key);return r&&(e=`${e}
|
|
15
|
-
${zu(r)}`),e},
|
|
16
|
-
`)},zu=e=>{let t=[],r=e,n=0;for(;r&&n<10;){let o=r.stack();if(o){let s=o.matchAll(
|
|
15
|
+
${zu(r)}`),e},Gx=(e,t)=>{let r=[`${e.name}: ${e.message}`];for(let n of t){let o=n.fiberId!==void 0?`#${n.fiberId}`:"unknown",s=n.annotations.get(bs.key);r.push(` at fiber (${o})`),s&&r.push(zu(s))}return r.join(`
|
|
16
|
+
`)},zu=e=>{let t=[],r=e,n=0;for(;r&&n<10;){let o=r.stack();if(o){let s=o.matchAll(Vx),i=!1;for(let[,c]of s)i=!0,t.push(` at ${r.name} (${c})`);i||t.push(` at ${r.name} (${o.replace(/^at /,"")})`)}else t.push(` at ${r.name}`);r=r.parent,n++}return t.join(`
|
|
17
17
|
`)},Ei=e=>Wu(e).map(Bu).join(`
|
|
18
18
|
`),Bu=e=>e.cause?`${e.stack} {
|
|
19
19
|
${Ku(e.cause," ")}
|
|
@@ -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",Gx={_A:w,_E:w},Yx={id:0},Tr=()=>globalThis[xr],ko=class{constructor(t,r=!0){this[yn]=Gx,this.setContext(t),this.id=++Yx.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 Ce(this.context,t)}addObserver(t){return this._exit?(t(this._exit),Kt):(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,co(Gn,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===Zt)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=Ue()}runLoop(t){let r=globalThis[xr];globalThis[xr]=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(Rr,()=>i)}if(s=this.currentTracerContext?this.currentTracerContext(s,this):s[Y](this),s===Zt){let i=this._yielded;if(hr in i)return this._deferredInterrupt=!1,this._yielded=void 0,i;if(this._deferredInterrupt){this._yielded=void 0,i();continue}return Zt}}}catch(i){return y(s,Y)?this.runLoop(Be(i)):Be(`Fiber.runLoop: Not a valid effect: ${String(s)}`)}finally{this._running=n,globalThis[xr]=r}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,Xx;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,Zt}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}},Xx={[le](e,t){return F(t._interruptedCause)},[Me](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),Er(t)},Qx=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):ue(r=>t._exit?r(x(t._exit)):S(e.addObserver(n=>r(x(n)))))},Ir=e=>ue(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(),S(()=>o?.())}),Ju=e=>{let t=e;return t._exit?t._exit:ue(r=>t._exit?r(t._exit):S(e.addObserver(r)))},Vu=e=>ue(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 S(()=>{i=!0,o.forEach(c=>c())})}),Io=e=>C(t=>ki(e,t.id)),ki=a(e=>y(e[0],yn),(e,t,r)=>C(n=>{let o=Cn(n);return o=o&&r?uo(o,r):o??r,e.interruptUnsafe(t,o),Or(vi(e))})),St=e=>C(t=>{let r=Cn(t),n=cn();for(let o of e)o.interruptUnsafe(t.id,r),n.push(o);return Or(Ir(n))}),Zu=a(2,(e,t)=>C(r=>{let n=Cn(r),o=cn();for(let s of e)s.interruptUnsafe(t,n),o.push(s);return Or(Ir(o))})),x=re,F=ke,q=nt,S=Fe({op:"Sync",[Y](e){let t=this[O](),r=e.getCont(le);return r?r[le](t,e):e.yieldWith(re(t))}}),v=Fe({op:"Suspend",[Y](e){return this[O]()}}),Ci=a(e=>e.length>=2||Aa(e[0]),(e,t)=>Yt(e)?q(t?t():new tt("Effect.fromOption: Option.none")):x(e.value)),tr=Fs({onFailure:q,onSuccess:x}),Gu=e=>e==null?q(new tt):x(e),wi=Fe({op:"Yield",[Y](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(De)},this[O]??0),e.yieldWith(()=>{t=!0})}}),Rr=wi(0),Ti=e=>x(V(e)),wn=x(J()),Yu=e=>Yt(e)?wn:T(e.value,V),Xu=e=>v(()=>F(A(e))),Dt=e=>Be(e),Ro=e=>v(()=>q(A(e))),R=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 q(A(()=>r(n)))}})};var Ii=e=>Ri(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 Ri(function(n,o){let s=i=>{try{n(q(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=>C(t=>e(t.id)),rf=C(x),nf=tf(x),Ri=Fe({op:"Async",single:!1,[Y](e){let t=A(()=>this[O][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[O][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?Zt:(e._stack.push(eh(()=>(r=!0,o?.abort(),s??De))),Zt))}}),eh=Fe({op:"AsyncFinalizer",[Mt](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Wo))},[Me](e,t){return qu(e)?h(this[O](),()=>F(e)):F(e)}}),ue=e=>Ri(e,e.length>=2),Oo=ue(Kt),of=(...e)=>v(()=>Cr(e.length===1?e[0]():e[1].call(e[0].self))),Oi=(e,...t)=>{let r=t.length===0?function(){return v(()=>Cr(e.apply(this,arguments)))}:function(){let n=v(()=>Cr(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=kr();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 b(d)?d:Cr(d)});for(let d=0;d<n.length;d++)u=n[d](u,...c);if(!b(u))return u;let f=kr();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=>Cr(t,i))):v(()=>Cr(e())))}}}}catch(t){return Dt(t)}},Cr=Fe({op:"Iterator",single:!1,[le](e,t){let r=this[O][0];for(;;){let n=r.next(e);if(n.done)return x(n.value);if(he(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[le](this[O][1],e)}}),de=a(2,(e,t)=>{let r=x(t);return h(e,n=>r)}),Ao=e=>T(e,V),af=e=>rr(e,{onFailure:x,onSuccess:q}),Pt=a(2,(e,t)=>h(e,r=>b(t)?t:A(()=>t(r)))),Lt=a(2,(e,t)=>h(e,r=>de(b(t)?t:A(()=>t(r)),r))),Or=e=>h(e,t=>De),uf=e=>Re(e,q),_i=(e,t)=>C(r=>ue(n=>{let o=B(e),s=o.length,i=0,c=!1,u=new Set,f=[],m=(d,g,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:g,index:p,parentFiber:r})};for(let d=0;d<s;d++){let g=or(r,o[d],!0,!0,!1);if(u.add(g),g.addObserver(p=>{u.delete(g),m(p,g,d)}),c)break}return St(u)})),Mi=(e,t)=>C(r=>ue(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=or(r,u,!0,!0,!1);s.add(m),m.addObserver(d=>{s.delete(m);let g=!o;i(d),g&&t?.onWinner&&t.onWinner({fiber:m,index:f,parentFiber:r})})}return St(s)})),ff=a(e=>b(e[1]),(e,t,r)=>_i([e,t],r)),_o=a(e=>b(e[1]),(e,t,r)=>Mi([e,t],r)),h=a(2,(e,t)=>{let r=Object.create(th);return r[O]=e,r[le]=t.length!==1?n=>t(n):t,r}),th=mt({op:"OnSuccess",[Y](e){return e._stack.push(this),this[O]}}),lf=a(2,(e,t)=>he(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):it(e,t)),he=e=>hr in e,pf=a(2,(e,t)=>he(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)=>he(e)?bf(e,t):T(e,t)),xf=a(2,(e,t)=>he(e)?Sf(e,t):$i(e,t)),hf=a(2,(e,t)=>he(e)?Ef(e,t):qi(e,t)),gf=a(2,(e,t)=>{if(he(e)){if(e._tag==="Success")return e;let r=Et(e.cause);return Z(r)?e:t(r.success)}return Oe(e,t)});var Mo=e=>e._tag==="Success";var yf=e=>e._tag==="Failure"?Q(e.cause):z(e);var De=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 Z(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 Z(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?De:ke(Ft(t))};var kf=e=>e,Cf=e=>C(t=>x(qs(t.context,e))),rh=e=>C(t=>Ci(qs(t.context,e))),Ar=a(2,(e,t)=>C(r=>{let n=r.context,o=t(n);return n===o?e:(r.setContext(o),Ur(e,()=>{r.setContext(n)}))})),vt=a(3,(e,t,r)=>Ar(e,n=>{let o=yt(n,t),s=r(o);return o===s?n:we(n,t,s)})),wf=(e,t,r)=>wt(C(n=>{let o=yt(n.context,e),s=t(o);return n.setContext(we(n.context,e,s)),Ct(yt(n.context,Fr),i=>{let c=yt(n.context,e),u;if(r?.reset===void 0){if(c!==s)return R;u=o}else u=r.reset(o,s,c);return n.setContext(we(n.context,e,u)),R})})),Fi=()=>nh,nh=C(e=>x(e.context)),$t=e=>C(t=>e(t.context)),Tf=a(2,(e,t)=>Ar(e,se(t))),kt=a(2,(e,t)=>he(e)?e:Ar(e,uo(t))),ge=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)=>Ar(e,we(t,r)),Fo=a(3,(e,t,r)=>h(r,n=>ge(e,t,n))),If=a(e=>b(e[1]),(e,t,r)=>Ui(e,t,(n,o)=>[n,o],r)),Ui=a(e=>b(e[1]),(e,t,r,n)=>n?.concurrent?T(nr([e,t],{concurrency:2}),([o,s])=>A(()=>r(o,s))):h(e,o=>T(t,s=>A(()=>r(o,s))))),Rf=a(e=>b(e[0]),(e,t,r)=>nc(e,t,r?n=>q(r(n)):()=>q(new tt))),Of=a(2,(e,t)=>h(t,r=>r?Ao(e):wn)),Ni=a(2,(e,t)=>Array.from({length:t},()=>e)),Af=a(e=>b(e[0]),(e,t,r)=>nr(Ni(e,t),r)),Uo=a(e=>b(e[0]),(e,t)=>Tt({while:At,body:se(t?.disableYield?e:h(e,r=>Rr)),step:Kt})),Re=a(2,(e,t)=>{let r=Object.create(oh);return r[O]=e,r[Me]=t.length!==1?n=>t(n):t,r}),oh=mt({op:"OnFailure",[Y](e){return e._stack.push(this),this[O]}}),Di=a(3,(e,t,r)=>Re(e,n=>t(n)?A(()=>r(n)):F(n))),_r=a(3,(e,t,r)=>Re(e,n=>{let o=t(n);return Z(o)?F(o.failure):A(()=>r(o.success,n))})),Oe=a(2,(e,t)=>_r(e,Et,r=>t(r))),_f=e=>rr(e,{onFailure:t=>Ss(t)?wn:q(t),onSuccess:Ti}),Mf=a(2,(e,t)=>_r(e,yi,t)),Ff=a(2,(e,t)=>Re(e,r=>Pt(A(()=>t(r)),F(r)))),Uf=a(3,(e,t,r)=>Di(e,t,n=>Pt(A(()=>r(n)),F(n)))),No=a(3,(e,t,r)=>Re(e,n=>{let o=t(n);return Z(o)?F(n):Pt(A(()=>r(o.success,n)),F(n))})),Pi=a(2,(e,t)=>No(e,Et,r=>t(r))),Nf=a(3,(e,t,r)=>{let n=Array.isArray(t)?o=>y(o,"_tag")&&t.includes(o._tag):Jt(t);return Pi(e,o=>n(o)?r(o):R)}),Df=a(2,(e,t)=>No(e,yi,r=>t(r))),Tn=a(e=>b(e[0]),(e,t,r,n)=>Re(e,o=>{let s=Et(o);return Z(s)?F(s.failure):t(s.success)?A(()=>r(s.success)):n?A(()=>n(s.success)):F(o)})),Do=a(e=>b(e[0]),(e,t,r,n)=>Re(e,o=>{let s=Et(o);if(Z(s))return F(s.failure);let i=t(s.success);return Z(i)?n?A(()=>n(i.failure)):F(o):A(()=>r(i.success))})),Li=a(e=>b(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?s=>y(s,"_tag")&&t.includes(s._tag):Jt(t);return Tn(e,o,r,n)}),Pf=a(e=>b(e[0]),(e,t,r)=>{let n;return Do(e,o=>(n??=Object.keys(t),y(o,"_tag")&&Wn(o._tag)&&n.includes(o._tag)?Q(o):z(o)),o=>A(()=>t[o._tag](o)),r)}),Lf=a(e=>b(e[0]),(e,t,r,n,o)=>Tn(e,s=>Jt(s,t)&&y(s,"reason"),s=>{let i=s.reason;return Jt(i,r)?n(i,s):o?A(()=>o(i,s)):q(s)})),$f=a(e=>b(e[0]),(e,t,r,n)=>{let o;return Tn(e,s=>Jt(s,t)&&y(s,"reason")&&y(s.reason,"_tag")&&Wn(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)):q(s)})}),qf=a(2,(e,t)=>Do(e,r=>Jt(r,t)&&y(r,"reason")?Q(r.reason):z(r),q)),$i=a(2,(e,t)=>Oe(e,r=>Ro(()=>t(r)))),qi=a(2,(e,t)=>rr(e,{onFailure:r=>Ro(()=>t.onFailure(r)),onSuccess:r=>S(()=>t.onSuccess(r))})),ji=e=>Oe(e,Dt),jf=a(2,(e,t)=>Oe(e,r=>S(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:Oe(o.value,i=>n(s))}return n(r)}),Wi=e=>Oe(e,t=>h(Rr,()=>Wi(e))),Hf=a(e=>b(e[0]),(e,t)=>{if(!t?.log)return rr(e,{onFailure:n=>R,onSuccess:n=>R});let r=Ze(t.log===!0?void 0:t.log);return it(e,{onFailure(n){let o=Lu(n);return Z(o)?F(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:n=>R})}),Po=a(e=>b(e[0]),(e,t)=>{if(!t?.log)return it(e,{onFailure:n=>R,onSuccess:n=>R});let r=Ze(t.log===!0?void 0:t.log);return it(e,{onFailure:n=>t.message===void 0?r(n):r(t.message,n),onSuccess:n=>R})}),zf=e=>Lo(e,{onFailure:J,onSuccess:V}),Nt=e=>In(e,{onFailure:z,onSuccess:Q}),it=a(2,(e,t)=>{let r=Object.create(sh);return r[O]=e,r[le]=t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,r[Me]=t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure,r}),sh=mt({op:"OnSuccessAndFailure",[Y](e){return e._stack.push(this),this[O]}}),Hi=a(2,(e,t)=>it(e,{onFailure:r=>S(()=>t.onFailure(r)),onSuccess:r=>S(()=>t.onSuccess(r))})),rr=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})),Lo=a(2,(e,t)=>rr(e,{onFailure:r=>S(()=>t.onFailure(r)),onSuccess:r=>S(()=>t.onSuccess(r))})),In=a(2,(e,t)=>{if(he(e)){if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return Z(r)?e:re(t.onFailure(r.success))}return Lo(e,t)}),Bf=a(2,(e,t)=>he(e)?e._tag==="Success"?re(t.onSuccess(e.value)):re(t.onFailure(e.cause)):Hi(e,t)),Mr=e=>he(e)?re(e):ih(e),ih=Fe({op:"Exit",[Y](e){return e._stack.push(this),this[O]},[le](e,t,r){return x(r??re(e))},[Me](e,t,r){return x(r??ke(e))}}),Kf=In({onFailure:()=>!0,onSuccess:()=>!1}),Jf=In({onFailure:()=>!1,onSuccess:()=>!0}),Vf=a(2,(e,t)=>Pt(sr(t),e)),zi=a(2,(e,t)=>_o(e,h(sr(t.duration),t.orElse))),Zf=a(2,(e,t)=>zi(e,{duration:t,orElse:()=>q(new Co)})),Gf=a(2,(e,t)=>_o(Ao(e),de(sr(t),J()))),Yf=e=>ye(t=>{let r=t.monotonicTimeNanosUnsafe();return T(e,n=>[Ut(t.monotonicTimeNanosUnsafe()-r),n])}),ii="~effect/Scope",ci="~effect/Scope/Closeable",Fr=gt("effect/Scope"),Bi=(e,t)=>v(()=>$o(e,t)??R),$o=(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):ah(e,o,t)},ch=(e,t)=>Mo(e)?t:Re(t,r=>F(bi(e.cause,r))),ah=Oi(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=Tr();for(let c=s.length-1;c>=0;c--){let u=s[c];e.strategy==="sequential"?n.push(yield*Mr(u(r))):o.push(or(i,u(r),!0,!0,"inherit"))}return o.length>0&&(n=yield*Ir(o)),yield*vf(n)});var Xf=(e,t)=>{let r=Rn(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=>S(()=>Ki(e,n))),r},Ct=(e,t)=>v(()=>e.state._tag==="Closed"?t(e.state.exit):(bn(e,{},t),R));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 Rn=(e="sequential")=>({[ci]:ci,[ii]:ii,strategy:e,state:uh}),uh={_tag:"Empty"};var On=Fr;var Ji=e=>C(t=>{let r=t.context,n=Rn();return t.setContext(we(t.context,Fr,n)),Ur(e,o=>(t.setContext(r),$o(n,o)))});var qo=e=>v(()=>{let t=Rn();return ce(e(t),r=>v(()=>$o(t,r)??R))}),jo=(e,t,r)=>$t(n=>qt(o=>h(On,s=>Lt(r?.interruptible?o(e):e,i=>Ct(s,c=>kt(t(i,c),n)))))),Vi=e=>h(On,t=>$t(r=>Ct(t,n=>kt(e(n),r)))),Ur=Fe({op:"OnExit",single:!1,[Y](e){return e._stack.push(this),this[O][0]},[Mt](e){e.interruptible&&this[O][2]!==!0&&(e._stack.push(Wo),e.interruptible=!1)},[le](e,t,r){r??=re(e);let n=this[O][1](r);return n?h(n,o=>r):r},[Me](e,t,r){r??=ke(e);let n=this[O][1](r);return n?h(ch(r,n),o=>r):r}}),ce=a(2,Ur),Qf=a(2,(e,t)=>ce(e,r=>t)),Zi=a(3,(e,t,r)=>ce(e,n=>t(n)?r(n):R)),Gi=a(3,(e,t,r)=>ce(e,n=>{let o=t(n);return Z(o)?R: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)=>ce(e,n=>{if(n._tag!=="Failure")return R;let o=t(n.cause);return Z(o)?R:r(o.success,n.cause)})),tl=a(2,(e,t)=>Xi(ju,t)(e)),rl=(e,t,r)=>qt(n=>h(e,o=>Ur(n(t(o)),s=>r(o,s),!0))),nl=e=>jo(e,t=>y(t,Symbol.asyncDispose)?Ii(()=>t[Symbol.asyncDispose]()):S(()=>t[Symbol.dispose]())),Qi=a(2,(e,t)=>S(()=>{let r=Ke(j(t)),n=Number.isFinite(r),o=mh(!1),s=0,i=!1,c,u=h(o.await,()=>c);return[C(f=>{let m=f.getRef(Ve),d=n?m.currentTimeMillisUnsafe():0;return i||d<s?c??u:(i=!0,o.closeUnsafe(),c=void 0,ce(e,g=>S(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=g,o.openUnsafe()})))}),S(()=>{s=0,o.closeUnsafe(),c=void 0})]})),ec=a(2,(e,t)=>T(Qi(e,t),r=>r[0])),ol=e=>ec(e,ie),sl=C(e=>F(kn(e.id))),wt=e=>C(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Wo)),e)),il=Fe({op:"SetInterruptible",[Mt](e){if(e.interruptible=this[O],e._interruptedCause&&e.interruptible)return()=>F(e._interruptedCause)}}),Wo=il(!0),fh=il(!1),cl=e=>{if(e.interruptible=!0,e._stack.push(fh),e._interruptedCause)return F(e._interruptedCause)},tc=e=>C(t=>t.interruptible?e:cl(t)??e),qt=e=>C(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Wo),e(tc)):e(w)),al=e=>C(t=>{if(t.interruptible)return e(w);let r=cl(t),n=e(wt);return r??n}),ul=T(jo(S(()=>new AbortController),e=>S(()=>e.abort())),e=>e.signal),nr=(e,t)=>pt(e)?t?.mode==="result"?pe(e,Nt,t):pe(e,w,t):t?.discard?t.mode==="result"?pe(Object.values(e),Nt,t):pe(Object.values(e),w,t):v(()=>{let r={};return de(pe(Object.entries(e),([n,o])=>T(t?.mode==="result"?Nt(o):o,s=>{Ee(r,n,s)}),{discard:!0,concurrency:t?.concurrency}),r)}),rc=a(e=>pt(e[0])&&!b(e[0]),(e,t,r)=>T(pe(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?S(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])&&!b(e[0]),(e,t,r)=>h(rc(e,t,{concurrency:r?.concurrency}),([n,o])=>$a(n)?q(n):r?.discard?R:x(o))),pl=a(e=>pt(e[0])&&!b(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(J()):dl(r,0,t,n.value)})),dl=(e,t,r,n)=>h(r(n,t),o=>{if(o)return x(V(n));let s=e.next();return s.done?x(J()):dl(e,t+1,r,s.value)}),ml=a(e=>pt(e[0])&&!b(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(J()):xl(r,0,t,n.value)})),xl=(e,t,r,n)=>h(r(n,t),o=>{if(Xt(o))return x(V(o.success));let s=e.next();return s.done?x(J()):xl(e,t+1,r,s.value)}),Tt=Fe({op:"While",[le](e,t){return this[O].step(e),this[O].while()?(t._stack.push(this),this[O].body()):De},[Y](e){return this[O].while()?(e._stack.push(this),this[O].body()):De}}),pe=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 lh(e,t,r);let s=B(e),i=s.length;if(i===0)return r?.discard?R:x([]);let c=r?.discard?void 0:new Array(i),u=dh({f:t,out:c},s,{concurrency:o});return u?de(u,c):x(c)})),hl=e=>h(e,t=>{let r=t[Symbol.iterator]().next();return r.done?q(new tt):x(r.value)}),lh=(e,t,r)=>v(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return de(Tt({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{n&&n.push(c),s=o.next()}}),n)}),ph=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(!he(f))return h(Mr(f),d=>r(o,u,d,i)??n(o,s,i+1,c)??R);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,g,p,I,U=!1,E,G,X=c,ae=m?new Array(u):void 0,oe=lr=>{let be=Be(lr);return E=be,d=!0,U=!0,p&&p.size>0?h(wt(St(Array.from(p))),()=>be):be},ee=(lr,be,ft)=>{if(!m)return r(o,lr,be,ft);if(E)return E;for(ae[ft]=be;X<u;){let _e=ae[X];if(_e===void 0)return;ae[X]=void 0;let Rt=X++,Ot=r(o,s[Rt],_e,Rt);if(Ot)return Ot}},zt=()=>{let lr=!1;for(;!E&&c<u;c++){let be=s[c],ft=G??t(o,be,c);if(he(ft)){if(E=ee(be,ft,c),E)break}else if(g){G=void 0;let _e=or(g,ft,!0,!0,"inherit");if(_e._exit){if(E=ee(be,_e._exit,c),E)break;continue}p.add(_e);let Rt=c;if(_e.addObserver(Ot=>{p.delete(_e);try{if(E){if(!U&&Ot._tag==="Failure")for(let Se of Ot.cause.reasons)Se._tag!=="Interrupt"&&(E._tag==="Failure"?E.cause.reasons.push(Se):E=ke(Ft([Se])))}else{let Se=ee(be,Ot,Rt);Se&&(E=Se._tag==="Failure"?ke(Ft(Se.cause.reasons.slice())):Se,zt())}if(lr){let Se=zt();Se&&I(Se)}else d&&p.size===0&&I(E??R)}catch(Se){I(oe(Se))}}),p.size<f)continue;lr=!0,c++;return}else return ue(_e=>{g=Tr(),p=new Set,G=ft,I=_e;let Rt;try{Rt=zt()}catch(Ot){return _e(oe(Ot))}return Rt?_e(Rt):v(()=>(E=De,U=!0,p?St(p):R))})}if(d=!0,E){if(p&&p.size>0){let be=Cn(g);p.forEach(ft=>ft.interruptUnsafe(g.id,be));return}if(I||E._tag==="Failure")return E}else if(I)if(p)p.size===0&&I(R);else return De};return zt()}};var dh=ph({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 Z(o)?r(o.failure):x(o.success)})),gl=a(e=>b(e[0]),(e,t,r)=>oc(e,t,r?n=>q(r(n)):()=>q(new tt))),yl=a(e=>pt(e[0])&&!b(e[0]),(e,t,r)=>v(()=>{let n=[];return de(pe(e,(o,s)=>{let i=t(o,s);return typeof i=="boolean"?(i&&n.push(o),R):T(i,c=>{c&&n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),bl=a(e=>pt(e[0])&&!b(e[0]),(e,t)=>v(()=>{let r=[];for(let n of e){let o=t(n);Xt(o)&&r.push(o.success)}return x(r)})),Sl=a(e=>pt(e[0])&&!b(e[0]),(e,t,r)=>v(()=>{let n=[];return de(pe(e,o=>T(t(o),s=>{Xt(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=>b(e[0]),(e,t)=>C(r=>(Ah(),x(or(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),or=(e,t,r=!1,n=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new ko(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=>b(e[0]),(e,t)=>C(r=>x(or(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Il=e=>C(t=>{let r=t._children&&new Set(t._children);return ce(e,n=>{let o=t._children;return o===void 0||o.size===0?R:(r&&(o=Da(o,s=>!r.has(s))),Or(Ir(o)))})}),sc=a(e=>b(e[0]),(e,t,r)=>C(n=>{let o=or(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?R:Io(o))),o.addObserver(()=>Ki(t,s))}else o.interruptUnsafe(n.id,Cn(n));return x(o)})),Rl=a(e=>b(e[0]),(e,t)=>h(On,r=>sc(e,r,t))),It=e=>(t,r)=>{let n=new ko(r?.scheduler?we(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},Ol=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,()=>Io(e)),e.addObserver(()=>Ki(t,r)),e}),Al=It(Ue()),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(Ue()),Ho=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise(s=>{o.addObserver(i=>s(i))})}},Ml=Ho(Ue()),cc=e=>{let t=Ho(e);return(r,n)=>t(r,n).then(o=>{if(o._tag==="Failure")throw Si(o.cause);return o.value})},Fl=cc(Ue()),zo=e=>{let t=It(e);return r=>{if(he(r))return r;let n=new ln("sync"),o=t(r,{scheduler:n});return o._dispatcher?.flush(),o._exit??Be(new To(o))}},Ul=zo(Ue()),ac=e=>{let t=zo(e);return r=>{let n=t(r);if(n._tag==="Failure")throw Si(n.cause);return n.value}},Nl=ac(Ue()),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](De)};flushWaiters(){let t=this.waiters;this.waiters=[],this.flushScheduled();for(let r=0;r<t.length;r++)t[r](De)}open=C(t=>this._isOpen?Pu:(this._isOpen=!0,this.scheduleUnsafe(t)));release=C(t=>this._isOpen?Pu:this.scheduleUnsafe(t));openUnsafe(){return this._isOpen?!1:(this._isOpen=!0,this.flushWaiters(),!0)}await=ue(t=>this._isOpen?t(R):(this.waiters.push(t),S(()=>{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=S(()=>this.closeUnsafe());whenOpen=t=>h(this.await,()=>t);isOpen(){return this._isOpen}},mh=e=>new ai(e??!1);var Dl=C(e=>x(e.getRef(bo))),Pl=a(2,(e,t)=>ge(e,bo,t)),Ll=ge(So),$l=ge(vr),ui=BigInt(0),xh={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ui,endTime:ui,exit:De},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},hh=e=>Object.assign(Object.create(xh),e),ql=e=>e?Ce(e.annotations,yo)?e._tag==="Span"?ql(Sr(e.parent)):J():V(e):J(),uc=(e,t,r)=>{let n=!e.getRef(So)||r?.annotations&&Ce(r.annotations,yo),o=r?.parent!==void 0?V(r.parent):r?.root?J():ql(e.currentSpan),s;if(n)s=hh({name:t,parent:o,annotations:we(r?.annotations??Ue(),yo,!0)});else{let i=e.getRef(bo),c=e.getRef(Ve),u=e.getRef(vr),f=e.getRef(hn),m=e.getRef(gn),d=r?.level??e.getRef(Iu),g=r?.links!==void 0?[...m,...r.links]:m.length===0?[]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Ue(),links:g,startTime:u?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??Yt(o),sampled:r?.sampled??(_a(o)&&o.value.sampled===!1?!1:!rp(e.getRef(Ru),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},jl=(e,t)=>C(r=>x(uc(r,e,t))),Sn=(e,t)=>wt(C(r=>{let n=yt(r.context,Fr),o=uc(r,e,t??{}),s=r.getRef(Ve),i=r.getRef(vr);return de(Ct(n,c=>Kl(o,c,s,i)),o)})),Wl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=vo(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return h(Sn(t,r),o=>wr(n,o,r))}return n=>h(Sn(t,r),o=>wr(n,o,r))},gh=(e,t)=>(t=typeof t=="function"?t:Xe,vt(xn,r=>({name:e,stack:t,parent:r}))),Hl=hn,zl=gn,Bl=a(e=>b(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)=>S(()=>{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 C(o=>{let s=uc(o,e,r),i=o.getRef(Ve),c=o.getRef(vr);return ce(A(()=>n(s)),u=>Kl(s,u,i,c))})},fi=ge(mn),wr=function(){let e=b(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;return t._tag==="Span"&&(r=vo(r),n=gh(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=vo(arguments[2]);if(e){let s=arguments[0];return En(t,arguments[2],i=>wr(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=>wr(s,c,r))},Vl=a(e=>b(e[0]),(e,...t)=>vt(e,hn,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||Ee(n,t[0],t[1]),n})),Zl=(...e)=>C(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 R}),Gl=C(e=>{let t=e.currentSpanLocal;return t?x(t):q(new tt)}),Yl=rh(mn),Ve=M("effect/Clock",{defaultValue:()=>new li}),ri=2**31-1,li=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=S(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return yh()}currentTimeNanos=S(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return Ql()}monotonicTimeNanos=S(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(Ke(t))}sleepMillis(t){return t<=0?Rr:Number.isFinite(t)?ue(r=>{let n=t>ri?this.sleepMillis(t-ri):R,o=setTimeout(()=>r(n),Math.min(t,ri));return S(()=>clearTimeout(o))}):Oo}},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}})(),yh=(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}})(),ye=e=>C(t=>e(t.getRef(Ve))),sr=e=>ye(t=>t.sleep(j(e))),Bo=ye(e=>e.currentTimeMillis),ep=ye(e=>e.currentTimeNanos),tp=ye(e=>e.monotonicTimeNanos),pi="~effect/Cause/TimeoutError";var Co=class extends xt("TimeoutError"){[pi]=pi;constructor(t){super({message:t})}},di="~effect/Cause/IllegalArgumentError";var wo=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 To=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})}},bh=M("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),Sh=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}},Eh=Oa(Qn,Sh),rp=br(Eh),fc=M("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([Rh,Oh])}),vh=M("effect/Logger/LogToStderr",{defaultValue:jn}),np=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return wt(C(t=>{let r=t.getRef(bt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];Ee(n,s,i)}return t.setContext(we(t.context,bt,n)),Ct(yt(t.context,Fr),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)?Ee(i,u,r[u]):delete i[u])}return t.setContext(we(t.context,bt,i)),R})}))},kh="~effect/Logger",Ch={[kh]:{_Message:w,_Output:w},pipe(){return D(this,arguments)}},op=e=>{let t=Object.create(Ch);return t.log=e,t},wh=e=>e.replace(/[\s="]/g,"_"),Th=(e,t)=>`${wh(e[0])}=${t-e[1]}ms`;var Ze=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),C(n=>{let o=e??n.currentLogLevel;if(rp(n.minimumLogLevel,o))return R;let s=n.getRef(Ve),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 R})};var er={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Rk={None:[],All:[],Trace:[er.gray],Debug:[er.blue],Info:[er.green],Warn:[er.yellow],Error:[er.red],Fatal:[er.bgBrightRed,er.black]};var Ih=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 Rh=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(Eo),u="";for(let g of c)u+=` ${Th(g,i)}`;let f=r.getRef(bt);Object.keys(f).length>0&&s.push(f);let m=r.getRef(bh);(r.getRef(vh)?m.error:m.log)(`[${Ih(t)}] ${n.toUpperCase()} (#${r.id})${u}:`,...s)}),Oh=op(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(Ve),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))Ee(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 Ah(){si.interruptChildren??=Qx}var An=x(void 0);var sp=a(e=>b(e[0]),(e,t)=>Yi(e,r=>C(n=>(_h(n,r,t?.defectsOnly),R)))),_h=(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(Ve).currentTimeNanosUnsafe()};n.forEach(s=>s.report(o))};var ip=Ft;var cp=nn;var ct=va;var Ko=wo;var l={};Bt(l,{Do:()=>Ly,Transaction:()=>zr,TypeId:()=>ky,abortSignal:()=>zS,acquireDisposable:()=>IS,acquireRelease:()=>TS,acquireUseRelease:()=>RS,addFinalizer:()=>OS,all:()=>Cy,andThen:()=>eb,annotateCurrentSpan:()=>rE,annotateLogs:()=>KE,annotateLogsScoped:()=>JE,annotateSpans:()=>tE,as:()=>ob,asSome:()=>sb,asVoid:()=>ib,awaitAllChildren:()=>SE,bind:()=>jy,bindTo:()=>$y,cached:()=>PS,cachedInvalidateWithTTL:()=>$S,cachedWithTTL:()=>LS,callback:()=>Dc,catch:()=>fb,catchCause:()=>hb,catchCauseFilter:()=>vb,catchCauseIf:()=>Eb,catchDefect:()=>gb,catchEager:()=>d0,catchFilter:()=>bb,catchIf:()=>yb,catchNoSuchElement:()=>Sb,catchReason:()=>db,catchReasons:()=>mb,catchTag:()=>lb,catchTags:()=>pb,clockWith:()=>qd,context:()=>pS,contextWith:()=>dS,currentParentSpan:()=>oE,currentSpan:()=>nE,delay:()=>Wb,die:()=>Od,effectify:()=>s0,ensuring:()=>AS,eventually:()=>Ob,exit:()=>Md,fail:()=>Uc,failCause:()=>zy,failCauseSync:()=>By,failSync:()=>Hy,fiber:()=>EE,fiberId:()=>vE,filter:()=>Zb,filterMap:()=>Gb,filterMapEffect:()=>Yb,filterMapOrElse:()=>Qb,filterMapOrFail:()=>tS,filterOrElse:()=>Xb,filterOrFail:()=>eS,findFirst:()=>Ry,findFirstFilter:()=>Oy,firstSuccessOf:()=>Lb,flatMap:()=>Pc,flatMapEager:()=>p0,flatten:()=>Qy,flip:()=>cb,fn:()=>DE,fnUntraced:()=>NE,fnUntracedEager:()=>m0,forEach:()=>Ay,forever:()=>BS,forkChild:()=>hE,forkDetach:()=>bE,forkIn:()=>gE,forkScoped:()=>yE,fromNullishOr:()=>Xy,fromOption:()=>Gy,fromResult:()=>Zy,gen:()=>Wy,head:()=>_y,ignore:()=>Fb,ignoreCause:()=>Ub,interrupt:()=>Pd,interruptible:()=>qS,interruptibleMask:()=>HS,isEffect:()=>ar,isFailure:()=>fS,isSuccess:()=>lS,let:()=>qy,linkSpans:()=>cE,log:()=>LE,logDebug:()=>HE,logError:()=>jE,logFatal:()=>$E,logInfo:()=>WE,logTrace:()=>zE,logWarning:()=>qE,logWithLevel:()=>PE,makeSpan:()=>aE,makeSpanScoped:()=>uE,map:()=>nb,mapBoth:()=>Cb,mapBothEager:()=>l0,mapEager:()=>u0,mapError:()=>kb,mapErrorEager:()=>f0,match:()=>nS,matchCause:()=>sS,matchCauseEager:()=>iS,matchCauseEffect:()=>aS,matchCauseEffectEager:()=>cS,matchEager:()=>oS,matchEffect:()=>uS,never:()=>Py,onError:()=>_S,onErrorFilter:()=>FS,onErrorIf:()=>MS,onExit:()=>Lc,onExitFilter:()=>DS,onExitIf:()=>NS,onExitPrimitive:()=>US,onInterrupt:()=>jS,option:()=>rb,orDie:()=>wb,orElseSucceed:()=>Pb,partition:()=>wy,promise:()=>My,provide:()=>mS,provideContext:()=>xS,provideService:()=>Dd,provideServiceEffect:()=>vS,race:()=>Jb,raceAll:()=>Bb,raceAllFirst:()=>Kb,raceFirst:()=>Vb,reduce:()=>Ty,repeat:()=>KS,repeatOrElse:()=>JS,replicate:()=>VS,replicateEffect:()=>ZS,request:()=>mE,requestUnsafe:()=>xE,result:()=>tb,retry:()=>Ab,retryOrElse:()=>_b,runCallback:()=>TE,runCallbackWith:()=>wE,runFork:()=>kE,runForkWith:()=>CE,runPromise:()=>IE,runPromiseExit:()=>OE,runPromiseExitWith:()=>AE,runPromiseWith:()=>RE,runSync:()=>_E,runSyncExit:()=>FE,runSyncExitWith:()=>UE,runSyncWith:()=>ME,sandbox:()=>Mb,satisfiesErrorType:()=>c0,satisfiesServicesType:()=>a0,satisfiesSuccessType:()=>i0,schedule:()=>GS,scheduleFrom:()=>$d,scope:()=>kS,scoped:()=>CS,scopedWith:()=>wS,service:()=>gS,serviceOption:()=>yS,setContext:()=>hS,sleep:()=>Hb,spanAnnotations:()=>sE,spanLinks:()=>iE,succeed:()=>Id,succeedNone:()=>Uy,succeedSome:()=>Ny,suspend:()=>Rd,sync:()=>me,tap:()=>_d,tapCause:()=>Ud,tapCauseFilter:()=>Rb,tapCauseIf:()=>Ib,tapDefect:()=>Nd,tapError:()=>Fd,tapErrorTag:()=>Tb,timed:()=>zb,timeout:()=>$b,timeoutOption:()=>qb,timeoutOrElse:()=>jb,tracer:()=>YS,track:()=>ZE,trackDefects:()=>XE,trackDuration:()=>QE,trackErrors:()=>YE,trackSuccesses:()=>GE,transposeOption:()=>Yy,try:()=>Ky,tryPromise:()=>Fy,tx:()=>e0,txRetry:()=>o0,undefined:()=>Dy,uninterruptible:()=>WS,uninterruptibleMask:()=>Ld,unwrapReason:()=>xb,updateContext:()=>bS,updateService:()=>SS,updateServiceScoped:()=>ES,useSpan:()=>fE,validate:()=>Iy,void:()=>Nc,when:()=>rS,whileLoop:()=>Td,withErrorReporting:()=>Db,withExecutionPlan:()=>Nb,withFiber:()=>Ad,withLogSpan:()=>VE,withLogger:()=>BE,withParentSpan:()=>dE,withSpan:()=>lE,withSpanScoped:()=>pE,withTracer:()=>XS,withTracerEnabled:()=>QS,withTracerTiming:()=>eE,yieldNow:()=>Jy,yieldNowWith:()=>Vy,zip:()=>ab,zipWith:()=>ub});var ap=Mo;var Ge={};Bt(Ge,{await:()=>pc,complete:()=>Nh,completeWith:()=>lp,die:()=>dp,dieSync:()=>Lh,done:()=>jt,doneUnsafe:()=>gp,fail:()=>pp,failCause:()=>dc,failCauseSync:()=>Ph,failSync:()=>Dh,interrupt:()=>$h,interruptWith:()=>mp,into:()=>yp,isDeferred:()=>Mh,isDone:()=>qh,isDoneUnsafe:()=>xp,make:()=>Uh,makeUnsafe:()=>Jo,poll:()=>jh,succeed:()=>hp,sync:()=>Wh});var fp="~effect/Deferred",Mh=e=>y(e,fp),Fh={[fp]:{_A:w,_E:w},pipe(){return D(this,arguments)}},Jo=()=>{let e=Object.create(Fh);return e.resumes=void 0,e.effect=void 0,e},Uh=()=>S(()=>Jo()),pc=e=>ue(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),S(()=>{let r=e.resumes;if(r===void 0)return;let n=r.indexOf(t);n>=0&&r.splice(n,1)})));var Nh=a(2,(e,t)=>v(()=>e.effect?x(!1):yp(t,e))),lp=a(2,(e,t)=>S(()=>gp(e,t))),jt=lp,pp=a(2,(e,t)=>jt(e,nt(t))),Dh=a(2,(e,t)=>v(()=>pp(e,t()))),dc=a(2,(e,t)=>jt(e,ke(t))),Ph=a(2,(e,t)=>v(()=>dc(e,t()))),dp=a(2,(e,t)=>jt(e,Be(t))),Lh=a(2,(e,t)=>v(()=>dp(e,t()))),$h=e=>C(t=>mp(e,t.id)),mp=a(2,(e,t)=>dc(e,kn(t))),qh=e=>S(()=>xp(e)),xp=e=>e.effect!==void 0;function jh(e){return S(()=>oo(e.effect))}var hp=a(2,(e,t)=>jt(e,re(t))),Wh=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)=>qt(r=>h(Mr(r(e)),n=>jt(t,n))));var bp=bt;var Sp=Eo;var Ep=Rn;var Vo=Xf,mc=Bi;var Cp="~effect/Layer",kp="~effect/Layer/MemoMap",zh=(e,t)=>(e.observers++,Pt(Ct(t,r=>e.finalizer(r)),e.effect)),wp=e=>y(e,Cp),Bh={[Cp]:{_ROut:w,_E:w,_RIn:w},pipe(){return D(this,arguments)}},Tp=e=>{let t=Object.create(Bh);return t.build=e,t},Ip=e=>Tp((t,r)=>{let n=Vo(r);return ce(e(t,n),o=>o._tag==="Failure"?mc(n,o):R)});var Kh=(e,t,r,n)=>{let o=Ep(),s=Jo(),i={observers:1,effect:pc(s),finalizer:c=>v(()=>(i.observers--,i.observers===0?(e.map.delete(t),mc(o,c)):R))};return e.map.set(t,i),Ct(r,i.finalizer).pipe(h(()=>n(e,o)),ce(c=>(i.effect=c,jt(s,c))))},Zo=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?zh(n,r):this.parent?.get(t,r)}getOrElseMemoize(t,r,n){return v(()=>{let o=this.get(t,r);return o||Kh(this,t,r,n)})}},xc=()=>new Zo,Jh=e=>new Zo(e);var _n=class e extends gt()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let r=ao(t,e);return r?Jh(r):xc()}},hc=a(3,(e,t,r)=>ge(T(e.build(t,r),we(_n,t)),_n,t));var Rp=a(2,(e,t)=>C(r=>hc(e,_n.forkOrCreate(r.context),t)));var Op=e=>Tp(se(x(e)));var Ap=(e,t,r)=>{let n=Vo(r,"parallel");return pe(e,o=>o.build(t,Vo(n,"sequential")),{concurrency:e.length}).pipe(T(o=>Qa(...o)))},_p=(...e)=>Ip((t,r)=>Ap(e,t,r));var Vh=(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)=>Vh(e,t,w));var Fp="~effect/ExecutionPlan";var Zh={[Fp]:Fp,get captureRequirements(){let e=this;return $t(t=>x(Gh(e.steps.map(r=>({...r,provide:wp(r.provide)?Mp(r.provide,Op(t)):r.provide})))))},pipe(){return D(this,arguments)}},Gh=e=>{let t=Object.create(Zh);return t.steps=e,t};var Up=M("effect/ExecutionPlan/CurrentMetadata",{defaultValue:se({attempt:0,stepIndex:0})});var qe={};Bt(qe,{CurrentMetadata:()=>Ht,addDelay:()=>jg,concat:()=>Wg,concatResult:()=>ad,cron:()=>Bg,duration:()=>Kg,during:()=>Jg,exponential:()=>Gg,fibonacci:()=>Yg,fixed:()=>Xg,forever:()=>ts,fromStep:()=>Ae,fromStepWithMetadata:()=>ir,identity:()=>oy,isSchedule:()=>Qo,jittered:()=>Qg,map:()=>Xo,max:()=>Hg,min:()=>Vg,modifyDelay:()=>Rc,passthrough:()=>es,recurs:()=>Oc,setInputType:()=>sy,spaced:()=>ud,tap:()=>ey,toStep:()=>ut,toStepWithMetadata:()=>Wr,toStepWithSleep:()=>qg,upTo:()=>ty,while:()=>cr,windowed:()=>ry});var Wt={};Bt(Wt,{Clock:()=>Yh,clockWith:()=>Xh,currentTimeMillis:()=>Qh,currentTimeNanos:()=>eg,monotonicTimeNanos:()=>tg});var Yh=Ve,Xh=ye,Qh=Bo,eg=ep,tg=tp;var yc="~effect/time/DateTime",bc="~effect/time/DateTime/TimeZone",Lp={[yc]:yc,pipe(){return D(this,arguments)},[ve](){return this.toString()},toJSON(){return Dn(this).toJSON()}},rg={...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()})`}},ng={...Lp,_tag:"Zoned",[P](){return W(dt(this.epochMilliseconds))(_(this.zone))},[L](e){return Nn(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&K(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Eg(this)})`}},$p={[bc]:bc,[ve](){return this.toString()}},og={...$p,_tag:"Named",[P](){return H(`Named:${this.id}`)},[L](e){return Nr(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},sg={...$p,_tag:"Offset",[P](){return H(`Offset:${this.offset}`)},[L](e){return Nr(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(ng);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=>y(e,yc),ig=e=>Nn(e[0]),Nr=e=>y(e,bc);var qp=e=>Nr(e)&&e._tag==="Named";var cg=e=>e._tag==="Zoned";var jp=e=>{let t=Object.create(rg);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 Ko("Invalid date");return jp(t)},ag=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 bg(t,e),Mn(t)}else if(typeof e=="string"&&!ug(e))return Mn(new Date(e+"Z"));return Mn(new Date(e))},ug=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),fg=-864e13+720*60*1e3,lg=864e13-840*60*1e3,Ec=(e,t)=>{let r=t?.timeZone;if(r===void 0&&Nn(e)&&cg(e))return e;let n=ag(e);if(n.epochMilliseconds<fg||n.epochMilliseconds>lg)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(Nr(r))o=r;else if(typeof r=="number")o=Sc(r);else{let s=vc(r);if(Yt(s))throw new Ko(`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,pg={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},dg=e=>{let t=e.resolvedOptions().timeZone;if(Un.has(t))return Un.get(t);let r=Object.create(og);return r.id=t,r.format=e,Un.set(t,r),r},mg=e=>{if(Un.has(e))return Un.get(e);try{return dg(new Intl.DateTimeFormat("en-US",{...pg,timeZone:e}))}catch{throw new Ko(`Invalid time zone: ${e}`)}},Sc=e=>{let t=Object.create(sg);return t.offset=e,t},xg=sn(mg);var hg=/^(?:GMT|[+-])/,vc=e=>{if(hg.test(e)){let t=Bp(e);return t===null?J():V(Sc(t))}return xg(e)};var Dn=e=>new Date(e.epochMilliseconds),Dr=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=>Dr(e).getTime()-yg(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")}`},gg=e=>Hp(Wp(e)),yg=e=>e.epochMilliseconds;var bg=(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=Dr(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)},Sg=/([+-])(\d{2}):(\d{2})$/,Bp=e=>{let t=Sg.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(ig,(e,t,r)=>{if(e._tag==="Utc"){let s=Dn(e);return t(s),jp(s.getTime())}let n=Dr(e),o=new Date(n.getTime());return t(o),zp(o.getTime(),e.zone,r?.disambiguation??"compatible")});var Pp=e=>{let t=Dr(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${gg(e)}`},Eg=e=>e.zone._tag==="Offset"?Pp(e):`${Pp(e)}[${e.zone.id}]`;var TC=globalThis.Number;var Jp=Qn;var IC=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 kg={[wc]:wc,[L](e){return Tc(e)&&Rg(this,e)},[P](){return Hc(_(this.tz),W(_(this.and)),W(je(B(this.seconds))),W(je(B(this.minutes))),W(je(B(this.hours))),W(je(B(this.days))),W(je(B(this.months))),W(je(B(this.weekdays))))},toObject(){return kc(this)},toString(){return`Cron(${te(kc(this))})`},toJSON(){let e=kc(this);return e._id="Cron",e},[ve](){return this.toJSON()},pipe(){return D(this,arguments)}},Tc=e=>y(e,wc),Cg=e=>{let t=Object.create(kg);t.seconds=Lr.seconds(e.seconds??[0]),t.minutes=Lr.minutes(e.minutes),t.hours=Lr.hours(e.hours),t.days=Lr.days(e.days),t.months=Lr.months(e.months),t.weekdays=Lr.weekdays(e.weekdays),t.and=e.and===!0,t.tz=oo(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:Le.next.second(r),minute:Le.next.minute(n),hour:Le.next.hour(o),day:Le.next.day(s),month:Le.next.month(i),weekday:Le.next.weekday(c)},t.prev={second:Le.prev.second(r),minute:Le.prev.minute(n),hour:Le.prev.hour(o),day:Le.prev.day(s),month:Le.prev.month(i),weekday:Le.prev.weekday(c)},t},Pr=(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(qa(s,Jp))},Lr={seconds:Pr("seconds",0,59),minutes:Pr("minutes",0,59),hours:Pr("hours",0,23),days:Pr("days",1,31),months:Pr("months",1,12),weekdays:Pr("weekdays",0,7,e=>e===7?0:e)},Pe=(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},Le={prev:{second:Pe(60,"prev"),minute:Pe(60,"prev"),hour:Pe(24,"prev"),day:Pe(32,"prev"),month:Pe(13,"prev"),weekday:Pe(7,"prev")},next:{second:Pe(60,"next"),minute:Pe(60,"next"),hour:Pe(24,"next"),day:Pe(32,"next"),month:Pe(13,"next"),weekday:Pe(7,"next")}},Xp="~effect/time/Cron/CronParseError",$e=class extends go("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 $e({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||Nr(t)?Q(t):Ma(vc(t),()=>new $e({message:"Invalid time zone in cron expression",input:t}));return Na({tz:f,seconds:qr(n,Og),minutes:qr(o,Ag),hours:qr(s,_g),days:qr(i,Mg),months:qr(c,Fg),weekdays:qr(u,Ug)}).pipe(Fa(({tz:m,seconds:d,minutes:g,hours:p,days:I,months:U,weekdays:E})=>Cg({tz:m,seconds:d.values,minutes:g.values,hours:p.values,days:I.values,months:U.values,weekdays:E.values,and:(I.wildcard||E.wildcard)&&I.values.size!==0&&E.values.size!==0})))};var Go=e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),td=(e,t)=>wg(e,t,"next");var wg=(e,t,r)=>{let n=Sr(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&&qp(n)&&n.id==="UTC"?Kt:p=>{let I=Ec(p,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:s?"later":void 0}).pipe(Dr),U=p.getTime()-I.getTime();(s?U!==0:U>0)&&p.setTime(s?I.getTime():p.getTime()+U)},g=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(),E=c.second[U];if(E===void 0){p.setUTCMinutes(p.getUTCMinutes()+i,u.second),d(p);continue}if(f(E,U)){p.setUTCSeconds(E),d(p);continue}}if(e.minutes.size!==0){let U=p.getUTCMinutes(),E=c.minute[U];if(E===void 0){p.setUTCHours(p.getUTCHours()+i,u.minute,u.second),d(p);continue}if(f(E,U)){p.setUTCMinutes(E,u.second),d(p);continue}}if(e.hours.size!==0){let U=p.getUTCHours(),E=c.hour[U];if(E===void 0){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(E,U)){p.setUTCHours(E,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()),E=e.weekdays.size===0||e.weekdays.has(p.getUTCDay());if(!U||!E){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}else{let U=s?-1/0:1/0,E=s?-1/0:1/0;if(e.weekdays.size!==0){let X=p.getUTCDay(),ae=c.weekday[X];ae===void 0?U=s?u.weekday-7-X:7-X+u.weekday:U=ae-X}if(e.days.size!==0&&U!==0){let X=p.getUTCDate(),ae=c.day[X];if(ae===void 0)if(s){let oe=new Date(p);oe.setUTCDate(0);let ee=c.day[oe.getUTCDate()];if(ee===void 0&&(oe.setUTCDate(0),ee=c.day[oe.getUTCDate()]),ee===void 0)throw new Error("Unable to find cron date");oe.setUTCDate(ee),E=(oe.getTime()-p.getTime())/864e5}else E=Go(p)-X+u.day;else!s&&ae>Go(p)?E=Go(p)-X+u.day:E=ae-X}let G=s?Math.max(U,E):Math.min(U,E);if(G!==0){p.setUTCDate(p.getUTCDate()+G),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}if(e.months.size!==0){let U=p.getUTCMonth()+1,E=c.month[U],G=X=>{let ae=Go(new Date(Date.UTC(p.getUTCFullYear(),X+1,0)));return e.days.size!==0&&e.weekdays.size===0?s?c.day[ae]??ae:u.day:s?ae:1};if(E===void 0){p.setUTCFullYear(p.getUTCFullYear()+i),p.setUTCMonth(u.month,G(u.month)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(E,U)){let X=E-1;p.setUTCMonth(X,G(X)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}return}throw new Error("Unable to find cron date")});return Dn(g)};var Tg=xs((e,t)=>K(e.tz,t.tz)&&e.and===t.and&&$r(e.seconds,t.seconds)&&$r(e.minutes,t.minutes)&&$r(e.hours,t.hours)&&$r(e.days,t.days)&&$r(e.months,t.months)&&$r(e.weekdays,t.weekdays)),Ig=Xc(Yc()),$r=(e,t)=>Ig(B(e),B(t)),Rg=a(2,(e,t)=>Tg(e,t)),Og={min:0,max:59},Ag={min:0,max:59},_g={min:0,max:23},Mg={min:1,max:31},Fg={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}},Ug={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}},qr=(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)?Kt: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 $e({message:"Expected step value to be a positive integer",input:e}));if(d<1)return z(new $e({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return z(new $e({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 g=t.min;g<=t.max;g+=d??1)c(g)}else{let[g,p]=Ng(m,t.aliases);if(!Number.isInteger(g))return z(new $e({message:"Expected a positive integer",input:e}));if(g<t.min||g>t.max)return z(new $e({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(p===void 0)for(let I=g;I<=(d===void 0?g:t.max);I+=d??1)c(I);else{if(!Number.isInteger(p))return z(new $e({message:"Expected a positive integer",input:e}));if(p<t.min||p>t.max)return z(new $e({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(g>p)return z(new $e({message:"Invalid value range",input:e}));for(let I=g;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]},Ng=(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 Yo=a(2,(e,t)=>_r(e,Pg,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 Pg=e=>{let t=id(e);return Z(t)?t:Q(t.success.value)};var Pn=a(2,(e,t)=>it(e,{onSuccess:t.onSuccess,onFailure:r=>{let n=id(r);return Z(n)?t.onFailure(n.failure):t.onDone(n.success.value)}}));var cd="~effect/Schedule",Lg=od.useSync(e=>e.nextDoubleUnsafe()),Ht=M("effect/Schedule/CurrentMetadata",{defaultValue:se({input:void 0,output:void 0,duration:$,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),$g={[cd]:{_Out:w,_In:w,_Env:w},pipe(){return D(this,arguments)}},Qo=e=>y(e,cd),Ae=e=>{let t=Object.create($g);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}}},ir=e=>Ae(T(e,t=>{let r=jr();return(n,o)=>t(r(n,o))})),ut=e=>Re(e.step,t=>x(()=>F(t))),Wr=e=>ye(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,de(sr(c),u)})})})),qg=e=>T(Wr(e),t=>r=>T(t(r),n=>n.output)),jg=a(2,(e,t)=>Rc(e,r=>T(t(r),n=>ho(j(n),r.duration)))),Wg=a(2,(e,t)=>Xo(ad(e,t),({output:r})=>x(Ua(r)))),ad=a(2,(e,t)=>Ae(S(()=>{let r=0,n,o=Xo(e,({output:i})=>z(i)),s=Xo(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)=>Yo(f(m,d),g=>(n=void 0,i(m,d))),n(c,u)):(n=f,n(c,u)))))}}))),Hg=e=>Ae(T(nr(e.map(ut)),t=>(r,n)=>h(pe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=zg(o);return s===void 0?ct($):x([s,s])}))),zg=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},Bg=(e,t)=>{let r=Tc(e)?Q(e):ed(e,t);return Ae(T(tr(r),n=>(o,s)=>o===Number.POSITIVE_INFINITY?ct($):S(()=>{let i=td(n,o).getTime(),c=Ie(i-o);return[c,c]})))},Kg=e=>{let t=j(e);return ir(x(r=>r.attempt===1?x([t,t]):ct($)))},Jg=e=>{let t=Ke(e);return ir(x(r=>{let n=Ie(r.elapsed);return r.elapsed>t?ct(n):x([n,$])}))},Vg=e=>Ae(T(nr(e.map(ut)),t=>(r,n)=>h(pe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Zg(o);return s===void 0?ct($):x([s,s])}))),Zg=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},Gg=(e,t=2)=>{let r=Ke(j(e));return ir(x(n=>{let o=Ie(r*Math.pow(t,n.attempt-1));return x([o,o])}))},Yg=e=>{let t=Ke(j(e));return Ae(S(()=>{let r=0,n=t;return se(S(()=>{let o=r+n;r=n,n=o;let s=Ie(o);return[s,s]}))}))},Xg=e=>{let t=Ke(j(e));return ir(S(()=>{let r=0,n=0;return o=>S(()=>{if(t===0)return[o.attempt-1,$];if(o.attempt===1)return r=o.now,n=o.now+t,[0,Ie(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,Ie(c)]})}))},Xo=a(2,(e,t)=>Ae(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 b(u)?T(u,f=>[f,c]):x([u,c])},onFailure:F,onDone:i=>{let c=t({...n(o,s),output:i,duration:$});return b(c)?h(c,ct):ct(c)}})}))),Rc=a(2,(e,t)=>Ae(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,j(u)]))}))),Qg=e=>Rc(e,({duration:t})=>T(Lg,r=>{let n=Ke(t);return Ie(n*.8*(1-r)+n*1.2*r)})),es=e=>Ae(T(ut(e),t=>(r,n)=>Pn(t(r,n),{onSuccess:o=>x([n,o[1]]),onFailure:F,onDone:()=>ct(n)}))),Oc=e=>cr(ts,({attempt:t})=>x(t<=e)),ud=e=>{let t=j(e);return ir(x(r=>x([r.attempt-1,t])))},ey=a(2,(e,t)=>Ae(T(ut(e),r=>{let n=jr();return(o,s)=>Lt(r(o,s),([i,c])=>t({...n(o,s),output:i,duration:c}))}))),ty=a(2,(e,t)=>{let r=t.duration===void 0?void 0:j(t.duration);return cr(e,({attempt:n,elapsed:o})=>x((t.times===void 0||n<=t.times)&&(r===void 0||Bs(Ie(o),r))))}),cr=a(2,(e,t)=>Ae(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(b(f)?f:x(f),m=>m?x(i):ct(c))})})));var ry=e=>{let t=Ke(j(e));return ir(x(r=>S(()=>[r.attempt-1,t===0?$:Ie(t-r.elapsed%t)])))},ts=ud($),ny=Ae(x((e,t)=>x([t,$]))),oy=()=>ny;var sy=()=>e=>e;var iy=(e,t,r)=>qo(n=>h(r?.local?hc(t,xc(),n):Rp(t,n),o=>kt(e,o))),rs=a(e=>b(e[0]),(e,t,r)=>$s(t)?kt(e,t):iy(e,Array.isArray(t)?_p(...t):t,r));var Ac=a(3,(e,t,r)=>h(Wr(t),n=>{let o=Ht.defaultValue();return Oe(Uo(Lt(h(v(()=>ge(e,Ht,o)),n),s=>S(()=>{o=s})),{disableYield:!0}),s=>nn(s)?x(s.value):r(s,o.attempt===0?J():V(o)))})),_c=a(3,(e,t,r)=>h(Wr(t),n=>{let o=Ht.defaultValue(),s,i=Oe(v(()=>ge(e,Ht,o)),c=>(s=c,h(n(c),u=>(o=u,i))));return Yo(i,c=>A(()=>r(s,c)))})),ld=a(2,(e,t)=>{let r=typeof t=="function"?t(w):Qo(t)?t:$n(t);return Ac(e,r,q)}),Ln=a(2,(e,t)=>{let r=typeof t=="function"?t(w):Qo(t)?t:$n(t);return _c(e,r,q)}),pd=a(3,(e,t,r)=>h(Wr(r),n=>{let o=Ht.defaultValue(),s=v(()=>ge(e,Ht,o));return Oe(h(n(t),i=>{o=i;let c=se(h(s,n));return Tt({while:At,body:c,step(u){o=u}})}),i=>nn(i)?x(i.value):q(i))})),cy=es(ts),$n=e=>{let t=e.schedule?es(e.schedule):cy;return e.while&&(t=cr(t,({input:r})=>{let n=e.while(r);return b(n)?n:x(n)})),e.until&&(t=cr(t,({input:r})=>{let n=e.until(r);return b(n)?T(n,o=>!o):x(!n)})),e.times!==void 0&&(t=cr(t,({attempt:r})=>x(r<=e.times))),t};var ay=(e,t)=>{let r=-1,n=0,o=s=>Po(e(s));return{begin:ye(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 de(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>ye(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=>b(e[0]),(e,t,r)=>v(()=>{let n=0,o={attempt:0,stepIndex:0},s=Fo(Up,S(()=>(o={attempt:o.attempt+1,stepIndex:n},o))),i=r?.onEvent===void 0?void 0:ay(r.onEvent,()=>o),c=i===void 0?w:f=>qt(m=>h(i.begin,d=>ce(m(f),g=>i.end(d,g)))),u;return h(Tt({while:()=>n<t.steps.length&&(u===void 0||Z(u)),body(){let f=t.steps[n],m=s(c(rs(e,f.provide)));if(u){let d=!1,g=m;m=v(()=>d?g:(d=!0,tr(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++}}),()=>tr(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:uy,times:e.attempts,while:e.while});return $n({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},uy=Oc(1);var ly="~effect/Request",py=Vc({_E:e=>e,_A:e=>e,_R:e=>e}),KC={...xa,[ly]:py};var hd=e=>e;var yd=a(2,(e,t)=>{let r=n=>ue(o=>{let s=Sd(n,e,o,Tr());return my(n,s)});return b(t)?h(t,r):r(t)}),bd=(e,t)=>{let r=Sd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:Ce(t.context,pn)});return()=>Ed(t.resolver,r)},ns=[],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(ns.length>0)s=ns.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:ce(v(()=>f.resolver.runAll(Array.from(f.entries),f.key)),m=>{for(let d of f.entrySet)d.completeUnsafe(m._tag==="Success"?Be(new Error("Effect.request: RequestResolver did not complete request",{cause:d.request})):m);return f.entries.clear(),ns.length<128&&(f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,ns.push(f)),R})};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()))},my=(e,t)=>S(()=>Ed(e,t));function gd(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):R}var hy="effect/Metric/CurrentMetricAttributes",gy=M(hy,{defaultValue:()=>({})}),yy="~effect/observability/Metric/MetricRegistryKey",by=M(yy,{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=Ce(t,gy);if(Object.keys(r).length===0)return dr(this.#e)?this.#e.hooks:(this.#e=this.getOrCreate(t,this.attributes),this.#e.hooks);let n=vy(this.attributes,r),o=this.#t.get(n);return dr(o)||(o=this.getOrCreate(t,n),this.#t.set(n,o)),o.hooks}getOrCreate(t,r){let n=Sy(this,r),o=Ce(t,by);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 Hr=a(2,(e,t)=>$t(r=>S(()=>e.updateUnsafe(t,r))));function Sy(e,t){let r=`${e.type}:${e.id}`;return dr(e.description)&&(r+=`:${e.description}`),dr(t)&&(r+=`:${Ey(t)}`),r}function Ey(e){return JSON.stringify(Array.isArray(e)?e:Object.entries(e))}function vy(e,t){return{...Fc(e),...Fc(t)}}function Fc(e){return dr(e)&&Array.isArray(e)?e.reduce((t,[r,n])=>(Ee(t,r,n),t),{}):e}var ky=rt,ar=b,Cy=nr,wy=rc,Ty=fl,Iy=ll,Ry=pl,Oy=ml,Ay=pe,_y=hl,Td=Tt,My=Ii,Fy=ef,Id=x,Uy=wn,Ny=Ti,Rd=v,me=S,Nc=R;var Dy=An;var Dc=ue,Py=Oo,Ly=El,$y=vl,qy=Cl;var jy=kl,Wy=of,Uc=q,Hy=Ro,zy=F,By=Xu,Od=Dt,Ky=Qu;var Jy=Rr,Vy=wi,Ad=C,Zy=tr,Gy=Ci,Yy=Yu,Xy=Gu,Pc=h,Qy=df,eb=Pt,_d=Lt,tb=Nt,rb=zf,Md=Mr,nb=T,ob=de,sb=Ao,ib=Or,cb=af,ab=If,ub=Ui,fb=Oe;var lb=Li,pb=Pf,db=Lf,mb=$f,xb=qf,hb=Re,gb=Mf,yb=Tn,bb=Do,Sb=_f,Eb=Di,vb=_r,kb=$i,Cb=qi,wb=ji,Fd=Pi,Tb=Nf,Ud=Ff,Ib=Uf,Rb=No,Nd=Df,Ob=Wi,Ab=Ln,_b=_c,Mb=uf,Fb=Hf,Ub=Po,Nb=xd,Db=sp,Pb=jf,Lb=Wf,$b=Zf,qb=Gf,jb=zi,Wb=Vf,Hb=sr,zb=Yf,Bb=_i,Kb=Mi,Jb=ff,Vb=_o,Zb=yl,Gb=bl,Yb=Sl,Xb=nc,Qb=oc,eS=Rf,tS=gl,rS=Of,nS=Lo,oS=In,sS=Hi,iS=Bf,cS=lf,aS=it,uS=rr,fS=Kf,lS=Jf,pS=Fi,dS=$t,mS=rs,xS=kt,hS=Tf,gS=kf,yS=Cf,bS=Ar,SS=vt,ES=wf,Dd=ge,vS=Fo,kS=On,CS=Ji,wS=qo,TS=jo,IS=nl,RS=rl,OS=Vi,AS=Qf,_S=Yi,MS=el,FS=Xi,US=Ur,Lc=ce,NS=Zi,DS=Gi,PS=ol,LS=ec,$S=Qi,Pd=sl,qS=tc,jS=tl,WS=wt,Ld=qt,HS=al,zS=ul,BS=Uo,KS=ld,JS=Ac,VS=Ni,ZS=Af,GS=a(2,(e,t)=>$d(e,void 0,t)),$d=pd,YS=Dl,XS=Pl,QS=Ll,eE=$l,tE=Vl,rE=Zl,nE=Gl,oE=Yl,sE=Hl,iE=zl,cE=Bl,aE=jl,uE=Sn,fE=En,lE=Jl,pE=Wl,dE=wr,mE=yd,xE=bd,hE=wl,gE=sc,yE=Rl,bE=Tl,SE=Il,EE=rf,vE=nf,kE=Al,CE=It,wE=ic,TE=_l,IE=Fl,RE=cc,OE=Ml,AE=Ho,_E=Nl,ME=ac,FE=Ul,UE=zo,NE=Oi,DE=sf,qd=ye,PE=Ze,LE=Ze(),$E=Ze("Fatal"),qE=Ze("Warn"),jE=Ze("Error"),WE=Ze("Info"),HE=Ze("Debug"),zE=Ze("Trace"),BE=a(2,(e,t)=>vt(e,fc,r=>new Set([...r,t]))),KE=a(e=>ar(e[0]),(e,...t)=>vt(e,bp,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||Ee(n,t[0],t[1]),n})),JE=np,VE=a(2,(e,t)=>h(Bo,r=>vt(e,Sp,n=>[[t,r],...n]))),ZE=a(e=>ar(e[0]),(e,t,r)=>Lc(e,n=>{let o=r===void 0?n:A(()=>r(n));return Hr(t,o)})),GE=a(e=>ar(e[0]),(e,t,r)=>_d(e,n=>{let o=r===void 0?n:r(n);return Hr(t,o)})),YE=a(e=>ar(e[0]),(e,t,r)=>Fd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Hr(t,o)})),XE=a(e=>ar(e[0]),(e,t,r)=>Nd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Hr(t,o)})),QE=a(e=>ar(e[0]),(e,t,r)=>qd(n=>{let o=n.monotonicTimeNanosUnsafe();return Lc(e,()=>{let s=n.monotonicTimeNanosUnsafe(),i=zs(j(s),j(o)),c=r===void 0?i:A(()=>r(i));return Hr(t,c)})})),zr=class extends gt()("effect/Effect/Transaction"){},e0=e=>Ad(t=>{let r=ao(t.context,zr);if(r)return e;r={journal:new Map,retry:!1};let n;return Ld(o=>Pc(Td({while:()=>!n,body:se(o(e).pipe(Dd(zr,r),Ud(()=>r.retry?o(r0(r)):Nc),Md)),step(s){if(r.retry||!t0(r))return wd(r);ap(s)?n0(t,r):wd(r),n=s}}),()=>n))}),t0=e=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},r0=e=>Rd(()=>{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 me(n)})});function n0(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 o0=Pc(zr,e=>(e.retry=!0,Pd)),s0=(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)):Od(s))}}),i0=()=>e=>e,c0=()=>e=>e,a0=()=>e=>e,u0=mf,f0=xf,l0=hf,p0=pf,d0=gf,m0=cf;var ur={};Bt(ur,{await:()=>x0,awaitAll:()=>h0,getCurrent:()=>C0,interrupt:()=>b0,interruptAll:()=>E0,interruptAllAs:()=>v0,interruptAs:()=>S0,isFiber:()=>k0,join:()=>g0,joinAll:()=>y0,runIn:()=>w0});var x0=vi;var h0=Ir,g0=Ju,y0=Vu,b0=Io,S0=ki,E0=St,v0=Zu,k0=e=>y(e,yn),C0=Tr,w0=Ol;var jd="~effect/MutableRef",T0={[jd]:jd,...ze,toJSON(){return{_id:"MutableRef",current:Qe(this.current)}}},Wd=e=>{let t=Object.create(T0);return t.current=e,t};var Hd=a(2,(e,t)=>(e.current=t,e));var k={};Bt(k,{get:()=>A0,getAndSet:()=>M0,getAndUpdate:()=>F0,getAndUpdateSome:()=>U0,getUnsafe:()=>j0,make:()=>O0,makeUnsafe:()=>Bd,modify:()=>Kd,modifySome:()=>D0,set:()=>_0,setAndGet:()=>N0,update:()=>P0,updateAndGet:()=>L0,updateSome:()=>$0,updateSomeAndGet:()=>q0});var I0="~effect/Ref",R0={[I0]:{_A:w},...ze,toJSON(){return{_id:"Ref",ref:this.ref}}},Bd=e=>{let t=Object.create(R0);return t.ref=Wd(e),t},O0=e=>me(()=>Bd(e)),A0=e=>me(()=>e.ref.current),_0=a(2,(e,t)=>me(()=>Hd(e.ref,t))),M0=a(2,(e,t)=>me(()=>{let r=e.ref.current;return e.ref.current=t,r})),F0=a(2,(e,t)=>me(()=>{let r=e.ref.current;return e.ref.current=t(r),r})),U0=a(2,(e,t)=>me(()=>{let r=e.ref.current,n=t(r);return n._tag==="Some"&&(e.ref.current=n.value),r})),N0=a(2,(e,t)=>me(()=>e.ref.current=t)),Kd=a(2,(e,t)=>me(()=>{let[r,n]=t(e.ref.current);return e.ref.current=n,r})),D0=a(2,(e,t)=>Kd(e,r=>{let[n,o]=t(r);return[n,o._tag==="None"?r:o.value]})),P0=a(2,(e,t)=>me(()=>{e.ref.current=t(e.ref.current)})),L0=a(2,(e,t)=>me(()=>e.ref.current=t(e.ref.current))),$0=a(2,(e,t)=>me(()=>{let r=t(e.ref.current);r._tag==="Some"&&(e.ref.current=r.value)})),q0=a(2,(e,t)=>me(()=>{let r=t(e.ref.current);return r._tag==="Some"&&(e.ref.current=r.value),e.ref.current})),j0=e=>e.ref.current;var W0={workers:new Map};function H0(e,t){return!!e.quiescing===t?e:{...e,quiescing:t}}function z0(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}),{...e,workers:o}}function B0(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{...e,workers:r}}function K0(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)}),{...e,workers:o}}function J0(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}),{...e,workers:n}}function V0(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)}),{...e,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 Z0(e){if(e.quiescing)return[];let t=[];for(let r of Vd(e))Jd(e,r)>0&&t.push(r);return t}function G0(e){if(e.quiescing)return[];let t=[];for(let r of Vd(e)){let n=Jd(e,r);n>0&&t.push({type:r,freeSlots:n})}return t}function Y0(e,t){for(let r of e.workers.values())if(r.types.has(t)&&r.active<r.capacity)return r.id;return null}var ZT=(e=W0)=>l.gen(function*(){let t=yield*k.make(e);return{get:k.get(t),add:(n,o,s=1)=>k.update(t,i=>z0(i,n,o,s)),remove:n=>k.update(t,o=>B0(o,n)),setTypes:(n,o)=>k.update(t,s=>K0(s,n,o)),claim:n=>k.modify(t,o=>{let s=Y0(o,n);return s===null?[null,o]:[s,J0(o,s)]}),releaseWorker:n=>k.update(t,o=>V0(o,n)),pollTypes:k.get(t).pipe(l.map(Z0)),pollBatch:k.get(t).pipe(l.map(G0)),quiesce:(n=!0)=>k.update(t,o=>H0(o,n)),quiescing:k.get(t).pipe(l.map(n=>!!n.quiescing)),activeCount:k.get(t).pipe(l.map(n=>{let o=0;for(let s of n.workers.values())o+=s.active;return o}))}});var Zd={keySetHash:"",xmlByKey:new Map,jobTypes:[]};function X0(e){return[...e].sort().join("\0")}function Q0(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=X0(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=Q0(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},ev=(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)))}}),tv=(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=>ev(e,n.type,tv(n.freeSlots,r),r)));var rv={workers:new Map};function nv(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 ov(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function sv(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 iv(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 cv(e){let t=[];for(let[r,n]of e.workers)t.push({instance:r,capability:n.capability,jobKeys:[...n.jobKeys]});return t}function av(e,t){let r=e.workers.get(t);return r?[...r.jobKeys]:[]}var Xd=(e=rv)=>l.gen(function*(){let t=yield*k.make(e);return{get:k.get(t),register:(r,n)=>k.update(t,o=>nv(o,r,n)),deregister:r=>k.update(t,n=>ov(n,r)),claim:(r,n)=>k.update(t,o=>sv(o,r,n)),release:(r,n)=>k.update(t,o=>iv(o,r,n)),snapshot:k.get(t).pipe(l.map(cv)),jobKeysFor:r=>k.get(t).pipe(l.map(n=>av(n,r)))}}),os=(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=Ye)=>{let n=(o,s)=>t.currentHandle.pipe(l.flatMap(i=>i?os(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)));var qc={recoveryWindowMs:3e5,extendIntervalMs:6e4},jc=(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)),g=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,g):g).pipe(l.ensuring(ur.interrupt(d)))}).pipe(l.ensuring(s.releaseWorker(r))),{started:!0}):(yield*s.releaseWorker(r),{started:!1,reason:"extend-failed"})});function qn(e,t){return e.filter(r=>r.lockDeadlineMs>t)}function uv(e,t,r){let n=qn(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 tm=()=>l.gen(function*(){let e=yield*k.make([]);return{park:(t,r)=>Wt.currentTimeMillis.pipe(l.flatMap(n=>k.update(e,o=>[...qn(o,n),{job:t,lockDeadlineMs:n+r}]))),repark:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>k.update(e,n=>t.lockDeadlineMs>r?[...qn(n,r),t]:qn(n,r)))),takeFor:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>k.modify(e,n=>{let{picked:o,rest:s}=uv(n,t,r);return[o,s]}))),size:Wt.currentTimeMillis.pipe(l.flatMap(t=>k.updateAndGet(e,r=>qn(r,t))),l.map(t=>t.length))}});var Wc={reconnectBaseMs:500,reconnectMaxMs:3e4},rm=e=>qe.exponential(ne.millis(e.reconnectBaseMs)).pipe(qe.jittered,qe.modifyDelay(({duration:t})=>l.succeed(ne.min(t,ne.millis(e.reconnectMaxMs))))),fv=(e,t,r=Wc)=>l.acquireRelease(e.connect().pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.retry(rm(r))),n=>n.disconnect.pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: disconnected"))),l.ignore)),fI=(e,t,r,n=Wc)=>l.scoped(fv(e,t,n).pipe(l.flatMap(r))),nm=(e,t,r,n,o,s=Wc)=>l.gen(function*(){let i=l.acquireUseRelease(e.connect().pipe(l.retry(rm(s))),u=>k.set(r,u).pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.flatMap(()=>n(u)),l.flatMap(()=>u.closed??l.never)),u=>k.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(ur.interrupt(c)))});var mI=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*Ge.make(),n=yield*Ge.make();if(t.onOpen(()=>{l.runSync(Ge.succeed(n,!0))}),t.onClose(()=>{l.runSync(Ge.succeed(n,!1)),l.runSync(Ge.succeed(r,void 0))}),!(yield*Ge.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:Ge.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 fr=e=>t=>t instanceof lt?t:new lt(t instanceof Error?t.message:e,t),yI=e=>({activate:t=>l.tryPromise({try:r=>Promise.resolve(e.activate(t,r)),catch:fr(`activate ${t.type} failed`)}),extendLock:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.extendLock(t,r)).then(()=>{}),catch:fr(`extendLock ${t} failed`)}),complete:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.complete(t,r)).then(()=>{}),catch:fr(`complete ${t} failed`)}),fail:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.fail(t,r)).then(()=>{}),catch:fr(`fail ${t} failed`)})}),bI=e=>({searchProcessDefinitionKeys:()=>l.tryPromise({try:()=>Promise.resolve(e.searchProcessDefinitionKeys()),catch:fr("searchProcessDefinitionKeys failed")}),getProcessDefinitionXml:t=>l.tryPromise({try:()=>Promise.resolve(e.getProcessDefinitionXml(t)),catch:fr(`getProcessDefinitionXml ${t} failed`)})}),SI=e=>({run:t=>l.tryPromise({try:r=>Promise.resolve(e.run(t,r)).then(()=>{}),catch:fr(`run ${t.jobKey} failed`)})}),lv=e=>{if(!e||typeof e.info!="function"||typeof e.warn!="function")return Ye;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}},EI=e=>{let t={engine:e.engine,runner:e.runner,registry:e.registry,reconcileReader:e.reconcileReader,scan:e.scan,logger:lv(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},om=(e,t=Ye)=>{let r=(n,o)=>e.currentHandle.pipe(l.flatMap(s=>s?os(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 pv(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 sm=(e,t,r)=>e.snapshot.pipe(l.flatMap(n=>k.get(r).pipe(l.flatMap(o=>{let{appeared:s,present:i,departed:c}=pv(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(()=>k.set(r,new Set(n.map(u=>u.instance)))))})))),im=(e,t,r,n=ss)=>sm(e,t,r).pipe(l.repeat(qe.spaced(ne.millis(n.heartbeatIntervalMs)))),cm=(e,t,r)=>k.set(r,new Set).pipe(l.flatMap(()=>sm(e,t,r))),am=(e=Ye)=>k.make(new Map).pipe(l.map(t=>({route:(r,n,o)=>k.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)=>k.update(t,o=>new Map(o).set(r,n)),unregister:r=>k.update(t,n=>{let o=new Map(n);return o.delete(r),o})}))),um=(e,t,r=Ye)=>os(e.onSteer?.(t.route),r,"onSteer");var dv={activation:$c,dispatch:qc,reconcileIntervalMs:3e4,idleSpacingMs:1e3,presence:ss,scope:""},DI=e=>l.gen(function*(){let t=e.logger??Ye,r={...dv,...e.config,activation:{...$c,...e.config?.activation},dispatch:{...qc,...e.config?.dispatch},presence:{...ss,...e.config?.presence}},n=yield*tm(),o=yield*k.make(Zd),s=yield*Xd(),i=yield*k.make(null),c={currentHandle:k.get(i)},u=Qd(s,c,t),f=om(c,t),m=yield*k.make(new Set),d=yield*am(t),g={engine:e.engine,runner:e.runner,registry:e.registry,logger:t,config:r.dispatch,ownership:u},p=k.get(o).pipe(l.flatMap(G=>Gd(e.reconcileReader,e.scan,G,r.scope)),l.flatMap(G=>k.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)`)))),I=e.registry.pollBatch.pipe(l.flatMap(G=>{if(G.length===0)return l.sleep(ne.millis(r.idleSpacingMs));let X=new Set(G.map(oe=>oe.type)),ae=oe=>l.gen(function*(){for(let ee of oe){let zt=yield*e.registry.claim(ee.type);zt?yield*l.forkChild(jc(g,ee,zt)):yield*n.park(ee,r.activation.initialLockMs)}});return n.takeFor(X).pipe(l.flatMap(oe=>oe?e.registry.claim(oe.job.type).pipe(l.flatMap(ee=>ee?l.forkChild(jc(g,oe.job,ee)).pipe(l.asVoid):n.repark(oe))):Yd(e.engine,G,r.activation).pipe(l.flatMap(ee=>ae(ee)),l.catch(ee=>l.sync(()=>t.warn(`activation error \u2014 ${ee.message}`))))))})),U=l.gen(function*(){return yield*l.forkChild(p.pipe(l.repeat(qe.spaced(ne.millis(r.reconcileIntervalMs))))),e.agenticEndpoint&&(yield*l.forkChild(im(s,f,m,r.presence))),yield*I.pipe(l.forever)}),E=e.agenticEndpoint?nm(e.agenticEndpoint,t,i,G=>um(G,d,t).pipe(l.flatMap(()=>cm(s,f,m))),U,e.agenticConfig):U;return{tick:I,reconcileOnce:p,run:E,parking:n,ownership:s,steerRouter:d,transcript:u.transcript,presence:f}});export{Wt as Clock,ne as Duration,l as Effect,ur as Fiber,k as Ref,qe as Schedule,lt as SupervisorError,J0 as acquire,fv as acquireAgentic,Yd as activateWinner,z0 as addWorker,lv as asLogger,tv as batchSizeFor,sv as claimJob,$c as defaultActivationConfig,Wc as defaultAgenticConfig,qc as defaultDispatchConfig,ss as defaultPresenceConfig,dv as defaultSupervisorConfig,ov as deregisterWorker,pv as diffPresence,jc as dispatch,os as emitFrame,Zd as emptyCache,rv as emptyOwnership,W0 as emptyRegistry,Jd as freeSlotsFor,X0 as hashKeys,um as installSteerRoute,av as jobKeysForInstance,mI as makeAgenticEndpoint,yI as makeEngineClient,SI as makeJobRunner,Qd as makeOwnershipContext,Xd as makeOwnershipRegistry,tm as makeParkingLot,om as makePresenceSink,bI as makeReconcileReader,ZT as makeRegistry,am as makeSteerRouter,DI as makeSupervisor,EI as makeSupervisorDeps,Ye as noopLogger,Y0 as pickWorkerFor,im as projectPresence,sm as projectPresenceStep,qn as prune,Gd as reconcile,nv as registerWorker,V0 as release,iv as releaseJob,B0 as removeWorker,cm as resyncPresenceOnEstablish,Vd as serviceableTypes,H0 as setQuiesce,K0 as setWorkerTypes,cv as snapshotOwnership,nm as superviseAgentic,uv as takeValidFor,Z0 as typesWithCapacity,G0 as typesWithSlots,fI as withAgenticConnection,em as withOwnedJob};
|
|
24
|
+
${t}}`),n},gn="~effect/Fiber",Yx={_A:T,_E:T},Xx={id:0},Cr=()=>globalThis[mr],ko=class{constructor(t,r=!0){this[gn]=Yx,this.setContext(t),this.id=++Xx.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)}[gn];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 we(this.context,t)}addObserver(t){return this._exit?(t(this._exit),Kt):(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=vn(t);this.currentStackFrame&&(n=Qr(n,co(Gn,this.currentStackFrame))),r&&(n=Qr(n,r)),this._interruptedCause=this._interruptedCause?bi(this._interruptedCause,n):n,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(N(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===Zt)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=Ne()}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=N(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[Q](this),s===Zt){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 Zt}}}catch(i){return b(s,Q)?this.runLoop(Je(i)):Je(`Fiber.runLoop: Not a valid effect: ${String(s)}`)}finally{this._running=n,globalThis[mr]=r}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,Qx;for(;;){let r=this._stack.pop();if(!r)return;let n=r[Ft]&&r[Ft](this);if(n)return n[t]=n,n;if(r[t])return r}}yieldWith(t){return this._yielded=t,Zt}children(){return this._children??=new Set}pipe(){return P(this,arguments)}setContext(t){let r=this.context;if(this.context=t,r!==void 0&&Ga(r,t))return;let n=this.getRef(ln);n!==this.currentScheduler&&(this.currentScheduler=n,this._dispatcher=void 0),this.currentSpan=cn(t,Ys),this.currentLogLevel=this.getRef(Qs),this.minimumLogLevel=this.getRef(ei),this.currentStackFrame=this.getRef(mn),this.maxOpsBeforeYield=this.getRef(Eu),this.currentPreventYield=this.getRef(vu),this.runtimeMetrics=cn(t,Au);let o=cn(t,Xs);this.currentTracerContext=o?o.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}},Qx={[le](e,t){return N(t._interruptedCause)},[Fe](e,t){return N(t._interruptedCause)}},si={interruptChildren:void 0},kn=e=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(bs.key,e.currentStackFrame),Sr(t)},eh=e=>{if(!(e._children===void 0||e._children.size===0))return Et(e._children)},vi=e=>{let t=e;return t._exit?m(t._exit):ue(r=>t._exit?r(m(t._exit)):v(e.addObserver(n=>r(m(n)))))},Tr=e=>ue(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(m(n))}return s(),v(()=>o?.())}),Ju=e=>{let t=e;return t._exit?t._exit:ue(r=>t._exit?r(t._exit):v(e.addObserver(r)))},Vu=e=>ue(t=>{let r=Array.from(e);if(r.length===0)return t(m(sn()));let n=new Array(r.length),o=sn(),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(m(n))}));return v(()=>{i=!0,o.forEach(c=>c())})}),Io=e=>w(t=>ki(e,t.id)),ki=a(e=>b(e[0],gn),(e,t,r)=>w(n=>{let o=kn(n);return o=o&&r?uo(o,r):o??r,e.interruptUnsafe(t,o),Rr(vi(e))})),Et=e=>w(t=>{let r=kn(t),n=sn();for(let o of e)o.interruptUnsafe(t.id,r),n.push(o);return Rr(Tr(n))}),Zu=a(2,(e,t)=>w(r=>{let n=kn(r),o=sn();for(let s of e)s.interruptUnsafe(t,n),o.push(s);return Rr(Tr(o))})),m=oe,N=ke,j=st,v=Ue({op:"Sync",[Q](e){let t=this[O](),r=e.getCont(le);return r?r[le](t,e):e.yieldWith(oe(t))}}),k=Ue({op:"Suspend",[Q](e){return this[O]()}}),wi=a(e=>e.length>=2||Aa(e[0]),(e,t)=>Yt(e)?j(t?t():new nt("Effect.fromOption: Option.none")):m(e.value)),tr=Fs({onFailure:j,onSuccess:m}),Gu=e=>e==null?j(new nt):m(e),Ci=Ue({op:"Yield",[Q](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(Pe)},this[O]??0),e.yieldWith(()=>{t=!0})}}),Ir=Ci(0),Ti=e=>m(G(e)),wn=m(Z()),Yu=e=>Yt(e)?wn:I(e.value,G),Xu=e=>k(()=>N(_(e))),Pt=e=>Je(e),Ro=e=>k(()=>j(_(e))),R=m(void 0);var Qu=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new En(n,"An error occurred in Effect.try"):e.catch;return k(()=>{try{return m(_(t))}catch(n){return j(_(()=>r(n)))}})};var Ii=e=>Ri(function(t,r){_(()=>e(r)).then(n=>t(m(n)),n=>t(Pt(n)))},e.length!==0),ef=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new En(n,"An error occurred in Effect.tryPromise"):e.catch;return Ri(function(n,o){let s=i=>{try{n(j(_(()=>r(i))))}catch(c){n(Pt(c))}};try{_(()=>t(o)).then(i=>n(m(i)),s)}catch(i){s(i)}},t.length!==0)},tf=e=>w(t=>e(t.id)),rf=w(m),nf=tf(m),Ri=Ue({op:"Async",single:!1,[Q](e){let t=_(()=>this[O][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[O][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?Zt:(e._stack.push(th(()=>(r=!0,o?.abort(),s??Pe))),Zt))}}),th=Ue({op:"AsyncFinalizer",[Ft](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Wo))},[Fe](e,t){return qu(e)?h(this[O](),()=>N(e)):N(e)}}),ue=e=>Ri(e,e.length>=2),Oo=ue(Kt),of=(...e)=>k(()=>kr(e.length===1?e[0]():e[1].call(e[0].self))),Oi=(e,...t)=>{let r=t.length===0?function(){return k(()=>kr(e.apply(this,arguments)))}:function(){let n=k(()=>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();ct(2);let o=new globalThis.Error;return ct(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=k(()=>{let d=i.apply(this,arguments);return E(d)?d:kr(d)});for(let d=0;d<n.length;d++)u=n[d](u,...c);if(!E(u))return u;let f=vr();ct(2);let x=new globalThis.Error;return ct(f),kt(o?Sn(e,s,d=>fi(u,d)):u,mn,d=>({name:e,stack:Mu(()=>x.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 m(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 k(()=>s?(s=!1,h(n.value,i=>kr(t,i))):k(()=>kr(e())))}}}}catch(t){return Pt(t)}},kr=Ue({op:"Iterator",single:!1,[le](e,t){let r=this[O][0];for(;;){let n=r.next(e);if(n.done)return m(n.value);if(he(n.value)){if(n.value._tag==="Failure")return n.value}else return t._stack.push(this),n.value;e=n.value.value}},[Q](e){return this[le](this[O][1],e)}}),de=a(2,(e,t)=>{let r=m(t);return h(e,n=>r)}),Ao=e=>I(e,G),af=e=>rr(e,{onFailure:m,onSuccess:j}),Lt=a(2,(e,t)=>h(e,r=>E(t)?t:_(()=>t(r)))),$t=a(2,(e,t)=>h(e,r=>de(E(t)?t:_(()=>t(r)),r))),Rr=e=>h(e,t=>Pe),uf=e=>Re(e,j),_i=(e,t)=>w(r=>ue(n=>{let o=J(e),s=o.length,i=0,c=!1,u=new Set,f=[],x=(d,g,p)=>{if(i++,d._tag==="Failure"){f.push(...d.cause.reasons),i>=s&&n(N(Ut(f)));return}let C=!c;c=!0,n(u.size===0?d:h(Tt(Et(u)),()=>d)),C&&t?.onWinner&&t.onWinner({fiber:g,index:p,parentFiber:r})};for(let d=0;d<s;d++){let g=or(r,o[d],!0,!0,!1);if(u.add(g),g.addObserver(p=>{u.delete(g),x(p,g,d)}),c)break}return Et(u)})),Mi=(e,t)=>w(r=>ue(n=>{let o=!1,s=new Set,i=u=>{o=!0,n(s.size===0?u:h(Tt(Et(s)),()=>u))},c=0;for(let u of e){if(o)break;let f=c++,x=or(r,u,!0,!0,!1);s.add(x),x.addObserver(d=>{s.delete(x);let g=!o;i(d),g&&t?.onWinner&&t.onWinner({fiber:x,index:f,parentFiber:r})})}return Et(s)})),ff=a(e=>E(e[1]),(e,t,r)=>_i([e,t],r)),_o=a(e=>E(e[1]),(e,t,r)=>Mi([e,t],r)),h=a(2,(e,t)=>{let r=Object.create(rh);return r[O]=e,r[le]=t.length!==1?n=>t(n):t,r}),rh=xt({op:"OnSuccess",[Q](e){return e._stack.push(this),this[O]}}),lf=a(2,(e,t)=>he(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):at(e,t)),he=e=>xr in e,pf=a(2,(e,t)=>he(e)?e._tag==="Success"?t(e.value):e:h(e,t)),df=e=>h(e,T),I=a(2,(e,t)=>h(e,r=>m(_(()=>t(r))))),mf=a(2,(e,t)=>he(e)?bf(e,t):I(e,t)),xf=a(2,(e,t)=>he(e)?Sf(e,t):$i(e,t)),hf=a(2,(e,t)=>he(e)?Ef(e,t):qi(e,t)),gf=a(2,(e,t)=>{if(he(e)){if(e._tag==="Success")return e;let r=vt(e.cause);return Y(r)?e:t(r.success)}return Oe(e,t)});var Mo=e=>e._tag==="Success";var yf=e=>e._tag==="Failure"?ee(e.cause):K(e);var Pe=oe(void 0),bf=a(2,(e,t)=>e._tag==="Success"?oe(t(e.value)):e),Sf=a(2,(e,t)=>{if(e._tag==="Success")return e;let r=vt(e.cause);return Y(r)?e:st(t(r.success))}),Ef=a(2,(e,t)=>{if(e._tag==="Success")return oe(t.onSuccess(e.value));let r=vt(e.cause);return Y(r)?e:st(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?Pe:ke(Ut(t))};var kf=e=>e,wf=e=>w(t=>m(qs(t.context,e))),nh=e=>w(t=>wi(qs(t.context,e))),Or=a(2,(e,t)=>w(r=>{let n=r.context,o=t(n);return n===o?e:(r.setContext(o),Fr(e,()=>{r.setContext(n)}))})),kt=a(3,(e,t,r)=>Or(e,n=>{let o=bt(n,t),s=r(o);return o===s?n:Ce(n,t,s)})),Cf=(e,t,r)=>Tt(w(n=>{let o=bt(n.context,e),s=t(o);return n.setContext(Ce(n.context,e,s)),Ct(bt(n.context,Mr),i=>{let c=bt(n.context,e),u;if(r?.reset===void 0){if(c!==s)return R;u=o}else u=r.reset(o,s,c);return n.setContext(Ce(n.context,e,u)),R})})),Fi=()=>oh,oh=w(e=>m(e.context)),qt=e=>w(t=>e(t.context)),Tf=a(2,(e,t)=>Or(e,ie(t))),wt=a(2,(e,t)=>he(e)?e:Or(e,uo(t))),ge=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)=>Or(e,Ce(t,r)),Fo=a(3,(e,t,r)=>h(r,n=>ge(e,t,n))),If=a(e=>E(e[1]),(e,t,r)=>Ui(e,t,(n,o)=>[n,o],r)),Ui=a(e=>E(e[1]),(e,t,r,n)=>n?.concurrent?I(nr([e,t],{concurrency:2}),([o,s])=>_(()=>r(o,s))):h(e,o=>I(t,s=>_(()=>r(o,s))))),Rf=a(e=>E(e[0]),(e,t,r)=>nc(e,t,r?n=>j(r(n)):()=>j(new nt))),Of=a(2,(e,t)=>h(t,r=>r?Ao(e):wn)),Ni=a(2,(e,t)=>Array.from({length:t},()=>e)),Af=a(e=>E(e[0]),(e,t,r)=>nr(Ni(e,t),r)),Uo=a(e=>E(e[0]),(e,t)=>It({while:_t,body:ie(t?.disableYield?e:h(e,r=>Ir)),step:Kt})),Re=a(2,(e,t)=>{let r=Object.create(sh);return r[O]=e,r[Fe]=t.length!==1?n=>t(n):t,r}),sh=xt({op:"OnFailure",[Q](e){return e._stack.push(this),this[O]}}),Di=a(3,(e,t,r)=>Re(e,n=>t(n)?_(()=>r(n)):N(n))),Ar=a(3,(e,t,r)=>Re(e,n=>{let o=t(n);return Y(o)?N(o.failure):_(()=>r(o.success,n))})),Oe=a(2,(e,t)=>Ar(e,vt,r=>t(r))),_f=e=>rr(e,{onFailure:t=>Ss(t)?wn:j(t),onSuccess:Ti}),Mf=a(2,(e,t)=>Ar(e,yi,t)),Ff=a(2,(e,t)=>Re(e,r=>Lt(_(()=>t(r)),N(r)))),Uf=a(3,(e,t,r)=>Di(e,t,n=>Lt(_(()=>r(n)),N(n)))),No=a(3,(e,t,r)=>Re(e,n=>{let o=t(n);return Y(o)?N(n):Lt(_(()=>r(o.success,n)),N(n))})),Pi=a(2,(e,t)=>No(e,vt,r=>t(r))),Nf=a(3,(e,t,r)=>{let n=Array.isArray(t)?o=>b(o,"_tag")&&t.includes(o._tag):Jt(t);return Pi(e,o=>n(o)?r(o):R)}),Df=a(2,(e,t)=>No(e,yi,r=>t(r))),Cn=a(e=>E(e[0]),(e,t,r,n)=>Re(e,o=>{let s=vt(o);return Y(s)?N(s.failure):t(s.success)?_(()=>r(s.success)):n?_(()=>n(s.success)):N(o)})),Do=a(e=>E(e[0]),(e,t,r,n)=>Re(e,o=>{let s=vt(o);if(Y(s))return N(s.failure);let i=t(s.success);return Y(i)?n?_(()=>n(i.failure)):N(o):_(()=>r(i.success))})),Li=a(e=>E(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?s=>b(s,"_tag")&&t.includes(s._tag):Jt(t);return Cn(e,o,r,n)}),Pf=a(e=>E(e[0]),(e,t,r)=>{let n;return Do(e,o=>(n??=Object.keys(t),b(o,"_tag")&&Wn(o._tag)&&n.includes(o._tag)?ee(o):K(o)),o=>_(()=>t[o._tag](o)),r)}),Lf=a(e=>E(e[0]),(e,t,r,n,o)=>Cn(e,s=>Jt(s,t)&&b(s,"reason"),s=>{let i=s.reason;return Jt(i,r)?n(i,s):o?_(()=>o(i,s)):j(s)})),$f=a(e=>E(e[0]),(e,t,r,n)=>{let o;return Cn(e,s=>Jt(s,t)&&b(s,"reason")&&b(s.reason,"_tag")&&Wn(s.reason._tag),s=>{let i=s.reason;return o??=Object.keys(r),o.includes(i._tag)?_(()=>r[i._tag](i,s)):n?_(()=>n(i,s)):j(s)})}),qf=a(2,(e,t)=>Do(e,r=>Jt(r,t)&&b(r,"reason")?ee(r.reason):K(r),j)),$i=a(2,(e,t)=>Oe(e,r=>Ro(()=>t(r)))),qi=a(2,(e,t)=>rr(e,{onFailure:r=>Ro(()=>t.onFailure(r)),onSuccess:r=>v(()=>t.onSuccess(r))})),ji=e=>Oe(e,Pt),jf=a(2,(e,t)=>Oe(e,r=>v(t))),Wf=e=>k(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Pt(new Error("Received an empty collection of effects"));function n(o){let s=t.next();return s.done?o.value:Oe(o.value,i=>n(s))}return n(r)}),Wi=e=>Oe(e,t=>h(Ir,()=>Wi(e))),Hf=a(e=>E(e[0]),(e,t)=>{if(!t?.log)return rr(e,{onFailure:n=>R,onSuccess:n=>R});let r=Ye(t.log===!0?void 0:t.log);return at(e,{onFailure(n){let o=Lu(n);return Y(o)?N(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:n=>R})}),Po=a(e=>E(e[0]),(e,t)=>{if(!t?.log)return at(e,{onFailure:n=>R,onSuccess:n=>R});let r=Ye(t.log===!0?void 0:t.log);return at(e,{onFailure:n=>t.message===void 0?r(n):r(t.message,n),onSuccess:n=>R})}),zf=e=>Lo(e,{onFailure:Z,onSuccess:G}),Dt=e=>Tn(e,{onFailure:K,onSuccess:ee}),at=a(2,(e,t)=>{let r=Object.create(ih);return r[O]=e,r[le]=t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,r[Fe]=t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure,r}),ih=xt({op:"OnSuccessAndFailure",[Q](e){return e._stack.push(this),this[O]}}),Hi=a(2,(e,t)=>at(e,{onFailure:r=>v(()=>t.onFailure(r)),onSuccess:r=>v(()=>t.onSuccess(r))})),rr=a(2,(e,t)=>at(e,{onFailure:r=>{let n=r.reasons.find(en);return n?_(()=>t.onFailure(n.error)):N(r)},onSuccess:t.onSuccess})),Lo=a(2,(e,t)=>rr(e,{onFailure:r=>v(()=>t.onFailure(r)),onSuccess:r=>v(()=>t.onSuccess(r))})),Tn=a(2,(e,t)=>{if(he(e)){if(e._tag==="Success")return oe(t.onSuccess(e.value));let r=vt(e.cause);return Y(r)?e:oe(t.onFailure(r.success))}return Lo(e,t)}),Bf=a(2,(e,t)=>he(e)?e._tag==="Success"?oe(t.onSuccess(e.value)):oe(t.onFailure(e.cause)):Hi(e,t)),_r=e=>he(e)?oe(e):ch(e),ch=Ue({op:"Exit",[Q](e){return e._stack.push(this),this[O]},[le](e,t,r){return m(r??oe(e))},[Fe](e,t,r){return m(r??ke(e))}}),Kf=Tn({onFailure:()=>!0,onSuccess:()=>!1}),Jf=Tn({onFailure:()=>!1,onSuccess:()=>!0}),Vf=a(2,(e,t)=>Lt(sr(t),e)),zi=a(2,(e,t)=>_o(e,h(sr(t.duration),t.orElse))),Zf=a(2,(e,t)=>zi(e,{duration:t,orElse:()=>j(new wo)})),Gf=a(2,(e,t)=>_o(Ao(e),de(sr(t),Z()))),Yf=e=>ye(t=>{let r=t.monotonicTimeNanosUnsafe();return I(e,n=>[Nt(t.monotonicTimeNanosUnsafe()-r),n])}),ii="~effect/Scope",ci="~effect/Scope/Closeable",Mr=yt("effect/Scope"),Bi=(e,t)=>k(()=>$o(e,t)??R),$o=(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):uh(e,o,t)},ah=(e,t)=>Mo(e)?t:Re(t,r=>N(bi(e.cause,r))),uh=Oi(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=Cr();for(let c=s.length-1;c>=0;c--){let u=s[c];e.strategy==="sequential"?n.push(yield*_r(u(r))):o.push(or(i,u(r),!0,!0,"inherit"))}return o.length>0&&(n=yield*Tr(o)),yield*vf(n)});var Xf=(e,t)=>{let r=In(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return yn(e,n,o=>Bi(r,o)),yn(r,n,o=>v(()=>Ki(e,n))),r},Ct=(e,t)=>k(()=>e.state._tag==="Closed"?t(e.state.exit):(yn(e,{},t),R));var yn=(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 In=(e="sequential")=>({[ci]:ci,[ii]:ii,strategy:e,state:fh}),fh={_tag:"Empty"};var Rn=Mr;var Ji=e=>w(t=>{let r=t.context,n=In();return t.setContext(Ce(t.context,Mr,n)),Fr(e,o=>(t.setContext(r),$o(n,o)))});var qo=e=>k(()=>{let t=In();return ae(e(t),r=>k(()=>$o(t,r)??R))}),jo=(e,t,r)=>qt(n=>jt(o=>h(Rn,s=>$t(r?.interruptible?o(e):e,i=>Ct(s,c=>wt(t(i,c),n)))))),Vi=e=>h(Rn,t=>qt(r=>Ct(t,n=>wt(e(n),r)))),Fr=Ue({op:"OnExit",single:!1,[Q](e){return e._stack.push(this),this[O][0]},[Ft](e){e.interruptible&&this[O][2]!==!0&&(e._stack.push(Wo),e.interruptible=!1)},[le](e,t,r){r??=oe(e);let n=this[O][1](r);return n?h(n,o=>r):r},[Fe](e,t,r){r??=ke(e);let n=this[O][1](r);return n?h(ah(r,n),o=>r):r}}),ae=a(2,Fr),Qf=a(2,(e,t)=>ae(e,r=>t)),Zi=a(3,(e,t,r)=>ae(e,n=>t(n)?r(n):R)),Gi=a(3,(e,t,r)=>ae(e,n=>{let o=t(n);return Y(o)?R: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)=>ae(e,n=>{if(n._tag!=="Failure")return R;let o=t(n.cause);return Y(o)?R:r(o.success,n.cause)})),tl=a(2,(e,t)=>Xi(ju,t)(e)),rl=(e,t,r)=>jt(n=>h(e,o=>Fr(n(t(o)),s=>r(o,s),!0))),nl=e=>jo(e,t=>b(t,Symbol.asyncDispose)?Ii(()=>t[Symbol.asyncDispose]()):v(()=>t[Symbol.dispose]())),Qi=a(2,(e,t)=>v(()=>{let r=Ve(W(t)),n=Number.isFinite(r),o=xh(!1),s=0,i=!1,c,u=h(o.await,()=>c);return[w(f=>{let x=f.getRef(Ge),d=n?x.currentTimeMillisUnsafe():0;return i||d<s?c??u:(i=!0,o.closeUnsafe(),c=void 0,ae(e,g=>v(()=>{i=!1,s=x.currentTimeMillisUnsafe()+r,c=g,o.openUnsafe()})))}),v(()=>{s=0,o.closeUnsafe(),c=void 0})]})),ec=a(2,(e,t)=>I(Qi(e,t),r=>r[0])),ol=e=>ec(e,ce),sl=w(e=>N(vn(e.id))),Tt=e=>w(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Wo)),e)),il=Ue({op:"SetInterruptible",[Ft](e){if(e.interruptible=this[O],e._interruptedCause&&e.interruptible)return()=>N(e._interruptedCause)}}),Wo=il(!0),lh=il(!1),cl=e=>{if(e.interruptible=!0,e._stack.push(lh),e._interruptedCause)return N(e._interruptedCause)},tc=e=>w(t=>t.interruptible?e:cl(t)??e),jt=e=>w(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Wo),e(tc)):e(T)),al=e=>w(t=>{if(t.interruptible)return e(T);let r=cl(t),n=e(Tt);return r??n}),ul=I(jo(v(()=>new AbortController),e=>v(()=>e.abort())),e=>e.signal),nr=(e,t)=>dt(e)?t?.mode==="result"?pe(e,Dt,t):pe(e,T,t):t?.discard?t.mode==="result"?pe(Object.values(e),Dt,t):pe(Object.values(e),T,t):k(()=>{let r={};return de(pe(Object.entries(e),([n,o])=>I(t?.mode==="result"?Dt(o):o,s=>{Ee(r,n,s)}),{discard:!0,concurrency:t?.concurrency}),r)}),rc=a(e=>dt(e[0])&&!E(e[0]),(e,t,r)=>I(pe(e,(n,o)=>Dt(t(n,o)),r),n=>Wa(n,T))),fl=a(3,(e,t,r)=>{let n=J(e);return n.length===0?v(t):k(()=>{let o=0,s=t();return I(It({while:()=>o<n.length,body:()=>r(s,n[o],o),step(i){s=i,o++}}),()=>s)})}),ll=a(e=>dt(e[0])&&!E(e[0]),(e,t,r)=>h(rc(e,t,{concurrency:r?.concurrency}),([n,o])=>$a(n)?j(n):r?.discard?R:m(o))),pl=a(e=>dt(e[0])&&!E(e[0]),(e,t)=>k(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?m(Z()):dl(r,0,t,n.value)})),dl=(e,t,r,n)=>h(r(n,t),o=>{if(o)return m(G(n));let s=e.next();return s.done?m(Z()):dl(e,t+1,r,s.value)}),ml=a(e=>dt(e[0])&&!E(e[0]),(e,t)=>k(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?m(Z()):xl(r,0,t,n.value)})),xl=(e,t,r,n)=>h(r(n,t),o=>{if(Xt(o))return m(G(o.success));let s=e.next();return s.done?m(Z()):xl(e,t+1,r,s.value)}),It=Ue({op:"While",[le](e,t){return this[O].step(e),this[O].while()?(t._stack.push(this),this[O].body()):Pe},[Q](e){return this[O].while()?(e._stack.push(this),this[O].body()):Pe}}),pe=a(e=>typeof e[1]=="function",(e,t,r)=>k(()=>{let n=r?.concurrency??1,o=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n);if(o===1)return ph(e,t,r);let s=J(e),i=s.length;if(i===0)return r?.discard?R:m([]);let c=r?.discard?void 0:new Array(i),u=mh({f:t,out:c},s,{concurrency:o});return u?de(u,c):m(c)})),hl=e=>h(e,t=>{let r=t[Symbol.iterator]().next();return r.done?j(new nt):m(r.value)}),ph=(e,t,r)=>k(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return de(It({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{n&&n.push(c),s=o.next()}}),n)}),dh=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(!he(f))return h(_r(f),d=>r(o,u,d,i)??n(o,s,i+1,c)??R);let x=r(o,u,f,i);if(x)return x._tag==="Failure"?x: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 x=i?.orderedStep===!0,d=!1,g,p,C,M=!1,y,z,A=c,se=x?new Array(u):void 0,re=fr=>{let be=Je(fr);return y=be,d=!0,M=!0,p&&p.size>0?h(Tt(Et(Array.from(p))),()=>be):be},X=(fr,be,pt)=>{if(!x)return r(o,fr,be,pt);if(y)return y;for(se[pt]=be;A<u;){let _e=se[A];if(_e===void 0)return;se[A]=void 0;let Ot=A++,At=r(o,s[Ot],_e,Ot);if(At)return At}},zt=()=>{let fr=!1;for(;!y&&c<u;c++){let be=s[c],pt=z??t(o,be,c);if(he(pt)){if(y=X(be,pt,c),y)break}else if(g){z=void 0;let _e=or(g,pt,!0,!0,"inherit");if(_e._exit){if(y=X(be,_e._exit,c),y)break;continue}p.add(_e);let Ot=c;if(_e.addObserver(At=>{p.delete(_e);try{if(y){if(!M&&At._tag==="Failure")for(let Se of At.cause.reasons)Se._tag!=="Interrupt"&&(y._tag==="Failure"?y.cause.reasons.push(Se):y=ke(Ut([Se])))}else{let Se=X(be,At,Ot);Se&&(y=Se._tag==="Failure"?ke(Ut(Se.cause.reasons.slice())):Se,zt())}if(fr){let Se=zt();Se&&C(Se)}else d&&p.size===0&&C(y??R)}catch(Se){C(re(Se))}}),p.size<f)continue;fr=!0,c++;return}else return ue(_e=>{g=Cr(),p=new Set,z=pt,C=_e;let Ot;try{Ot=zt()}catch(At){return _e(re(At))}return Ot?_e(Ot):k(()=>(y=Pe,M=!0,p?Et(p):R))})}if(d=!0,y){if(p&&p.size>0){let be=kn(g);p.forEach(pt=>pt.interruptUnsafe(g.id,be));return}if(C||y._tag==="Failure")return y}else if(C)if(p)p.size===0&&C(R);else return Pe};return zt()}};var mh=dh({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)?m(n):r(n))),oc=a(3,(e,t,r)=>h(e,n=>{let o=t(n);return Y(o)?r(o.failure):m(o.success)})),gl=a(e=>E(e[0]),(e,t,r)=>oc(e,t,r?n=>j(r(n)):()=>j(new nt))),yl=a(e=>dt(e[0])&&!E(e[0]),(e,t,r)=>k(()=>{let n=[];return de(pe(e,(o,s)=>{let i=t(o,s);return typeof i=="boolean"?(i&&n.push(o),R):I(i,c=>{c&&n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),bl=a(e=>dt(e[0])&&!E(e[0]),(e,t)=>k(()=>{let r=[];for(let n of e){let o=t(n);Xt(o)&&r.push(o.success)}return m(r)})),Sl=a(e=>dt(e[0])&&!E(e[0]),(e,t,r)=>k(()=>{let n=[];return de(pe(e,o=>I(t(o),s=>{Xt(s)&&n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),El=m({}),vl=ta(I),kl=ra(I,h),wl=ea(I);var Cl=a(e=>E(e[0]),(e,t)=>w(r=>(_h(),m(or(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),or=(e,t,r=!1,n=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new ko(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=>E(e[0]),(e,t)=>w(r=>m(or(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Il=e=>w(t=>{let r=t._children&&new Set(t._children);return ae(e,n=>{let o=t._children;return o===void 0||o.size===0?R:(r&&(o=Da(o,s=>!r.has(s))),Rr(Tr(o)))})}),sc=a(e=>E(e[0]),(e,t,r)=>w(n=>{let o=or(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};yn(t,s,()=>tf(c=>c===o.id?R:Io(o))),o.addObserver(()=>Ki(t,s))}else o.interruptUnsafe(n.id,kn(n));return m(o)})),Rl=a(e=>E(e[0]),(e,t)=>h(Rn,r=>sc(e,r,t))),Rt=e=>(t,r)=>{let n=new ko(r?.scheduler?Ce(e,ln,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},Ol=a(2,(e,t)=>{if(e._exit)return e;if(t.state._tag==="Closed")return e.interruptUnsafe(e.id),e;let r={};return yn(t,r,()=>Io(e)),e.addObserver(()=>Ki(t,r)),e}),Al=Rt(Ne()),ic=e=>{let t=Rt(e);return(r,n)=>{let o=t(r,n);return n?.onExit&&o.addObserver(n.onExit),s=>o.interruptUnsafe(s)}},_l=ic(Ne()),Ho=e=>{let t=Rt(e);return(r,n)=>{let o=t(r,n);return new Promise(s=>{o.addObserver(i=>s(i))})}},Ml=Ho(Ne()),cc=e=>{let t=Ho(e);return(r,n)=>t(r,n).then(o=>{if(o._tag==="Failure")throw Si(o.cause);return o.value})},Fl=cc(Ne()),zo=e=>{let t=Rt(e);return r=>{if(he(r))return r;let n=new fn("sync"),o=t(r,{scheduler:n});return o._dispatcher?.flush(),o._exit??Je(new To(o))}},Ul=zo(Ne()),ac=e=>{let t=zo(e);return r=>{let n=t(r);if(n._tag==="Failure")throw Si(n.cause);return n.value}},Nl=ac(Ne()),Du=m(!0),Pu=m(!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](Pe)};flushWaiters(){let t=this.waiters;this.waiters=[],this.flushScheduled();for(let r=0;r<t.length;r++)t[r](Pe)}open=w(t=>this._isOpen?Pu:(this._isOpen=!0,this.scheduleUnsafe(t)));release=w(t=>this._isOpen?Pu:this.scheduleUnsafe(t));openUnsafe(){return this._isOpen?!1:(this._isOpen=!0,this.flushWaiters(),!0)}await=ue(t=>this._isOpen?t(R):(this.waiters.push(t),v(()=>{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=v(()=>this.closeUnsafe());whenOpen=t=>h(this.await,()=>t);isOpen(){return this._isOpen}},xh=e=>new ai(e??!1);var Dl=w(e=>m(e.getRef(bo))),Pl=a(2,(e,t)=>ge(e,bo,t)),Ll=ge(So),$l=ge(Er),ui=BigInt(0),hh={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ui,endTime:ui,exit:Pe},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},gh=e=>Object.assign(Object.create(hh),e),ql=e=>e?we(e.annotations,yo)?e._tag==="Span"?ql(br(e.parent)):Z():G(e):Z(),uc=(e,t,r)=>{let n=!e.getRef(So)||r?.annotations&&we(r.annotations,yo),o=r?.parent!==void 0?G(r.parent):r?.root?Z():ql(e.currentSpan),s;if(n)s=gh({name:t,parent:o,annotations:Ce(r?.annotations??Ne(),yo,!0)});else{let i=e.getRef(bo),c=e.getRef(Ge),u=e.getRef(Er),f=e.getRef(xn),x=e.getRef(hn),d=r?.level??e.getRef(Iu),g=r?.links!==void 0?[...x,...r.links]:x.length===0?[]:x.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Ne(),links:g,startTime:u?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??Yt(o),sampled:r?.sampled??(_a(o)&&o.value.sampled===!1?!1:!rp(e.getRef(Ru),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},jl=(e,t)=>w(r=>m(uc(r,e,t))),bn=(e,t)=>Tt(w(r=>{let n=bt(r.context,Mr),o=uc(r,e,t??{}),s=r.getRef(Ge),i=r.getRef(Er);return de(Ct(n,c=>Kl(o,c,s,i)),o)})),Wl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=vo(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return h(bn(t,r),o=>wr(n,o,r))}return n=>h(bn(t,r),o=>wr(n,o,r))},yh=(e,t)=>(t=typeof t=="function"?t:et,kt(mn,r=>({name:e,stack:t,parent:r}))),Hl=xn,zl=hn,Bl=a(e=>E(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:r}));return kt(e,hn,s=>[...s,...o])}),Kl=(e,t,r,n)=>v(()=>{e.status._tag!=="Ended"&&e.end(n?r.currentTimeNanosUnsafe():ui,t)}),Sn=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return w(o=>{let s=uc(o,e,r),i=o.getRef(Ge),c=o.getRef(Er);return ae(_(()=>n(s)),u=>Kl(s,u,i,c))})},fi=ge(dn),wr=function(){let e=E(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=T;return t._tag==="Span"&&(r=vo(r),n=yh(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=vo(arguments[2]);if(e){let s=arguments[0];return Sn(t,arguments[2],i=>wr(s,i,r))}let n=typeof arguments[1]=="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>Sn(t,n?n(...i):o,c=>wr(s,c,r))},Vl=a(e=>E(e[0]),(e,...t)=>kt(e,xn,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||Ee(n,t[0],t[1]),n})),Zl=(...e)=>w(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 R}),Gl=w(e=>{let t=e.currentSpanLocal;return t?m(t):j(new nt)}),Yl=nh(dn),Ge=U("effect/Clock",{defaultValue:()=>new li}),ri=2**31-1,li=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=v(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return bh()}currentTimeNanos=v(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return Ql()}monotonicTimeNanos=v(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(Ve(t))}sleepMillis(t){return t<=0?Ir:Number.isFinite(t)?ue(r=>{let n=t>ri?this.sleepMillis(t-ri):R,o=setTimeout(()=>r(n),Math.min(t,ri));return v(()=>clearTimeout(o))}):Oo}},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}})(),bh=(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}})(),ye=e=>w(t=>e(t.getRef(Ge))),sr=e=>ye(t=>t.sleep(W(e))),Bo=ye(e=>e.currentTimeMillis),ep=ye(e=>e.currentTimeNanos),tp=ye(e=>e.monotonicTimeNanos),pi="~effect/Cause/TimeoutError";var wo=class extends ht("TimeoutError"){[pi]=pi;constructor(t){super({message:t})}},di="~effect/Cause/IllegalArgumentError";var Co=class extends ht("IllegalArgumentError"){[di]=di;constructor(t){super({message:t})}},mi="~effect/Cause/ExceededCapacityError";var xi=class extends ht("ExceededCapacityError"){[mi]=mi;constructor(t){super({message:t})}},hi="~effect/Cause/AsyncFiberError";var To=class extends ht("AsyncFiberError"){[hi]=hi;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},gi="~effect/Cause/UnknownError";var En=class extends ht("UnknownError"){[gi]=gi;constructor(t,r){super({message:r,cause:t})}},Sh=U("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),Eh=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}},vh=Oa(Qn,Eh),rp=yr(vh),fc=U("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([Oh,Ah])}),kh=U("effect/Logger/LogToStderr",{defaultValue:jn}),np=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return Tt(w(t=>{let r=t.getRef(St),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];Ee(n,s,i)}return t.setContext(Ce(t.context,St,n)),Ct(bt(t.context,Mr),o=>{let s=t.getRef(St),i={...s};for(let c=0;c<e.length;c++){let[u,f]=e[c];s[u]===f&&(Object.hasOwn(r,u)?Ee(i,u,r[u]):delete i[u])}return t.setContext(Ce(t.context,St,i)),R})}))},wh="~effect/Logger",Ch={[wh]:{_Message:T,_Output:T},pipe(){return P(this,arguments)}},op=e=>{let t=Object.create(Ch);return t.log=e,t},Th=e=>e.replace(/[\s="]/g,"_"),Ih=(e,t)=>`${Th(e[0])}=${t-e[1]}ms`;var Ye=e=>(...t)=>{let r;for(let n=0,o=t.length;n<o;n++){let s=t[n];Yr(s)&&(r?t.splice(n,1):t=t.slice(0,n).concat(t.slice(n+1)),r=r?Ut(r.reasons.concat(s.reasons)):s,n--)}return r===void 0&&(r=ys),w(n=>{let o=e??n.currentLogLevel;if(rp(n.minimumLogLevel,o))return R;let s=n.getRef(Ge),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 R})};var er={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Nk={None:[],All:[],Trace:[er.gray],Debug:[er.blue],Info:[er.green],Warn:[er.yellow],Error:[er.red],Fatal:[er.bgBrightRed,er.black]};var Rh=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 Oh=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(Eo),u="";for(let g of c)u+=` ${Ih(g,i)}`;let f=r.getRef(St);Object.keys(f).length>0&&s.push(f);let x=r.getRef(Sh);(r.getRef(kh)?x.error:x.log)(`[${Rh(t)}] ${n.toUpperCase()} (#${r.id})${u}:`,...s)}),Ah=op(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(Ge),s=t.getRef(St),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[u,f]of Object.entries(s))Ee(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 _h(){si.interruptChildren??=eh}var On=m(void 0);var sp=a(e=>E(e[0]),(e,t)=>Yi(e,r=>w(n=>(Mh(n,r,t?.defectsOnly),R)))),Mh=(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(Ge).currentTimeNanosUnsafe()};n.forEach(s=>s.report(o))};var ip=Ut;var cp=rn;var ut=va;var Ko=Co;var l={};Bt(l,{Do:()=>$y,Transaction:()=>Hr,TypeId:()=>wy,abortSignal:()=>BS,acquireDisposable:()=>RS,acquireRelease:()=>IS,acquireUseRelease:()=>OS,addFinalizer:()=>AS,all:()=>Cy,andThen:()=>tb,annotateCurrentSpan:()=>nE,annotateLogs:()=>JE,annotateLogsScoped:()=>VE,annotateSpans:()=>rE,as:()=>sb,asSome:()=>ib,asVoid:()=>cb,awaitAllChildren:()=>EE,bind:()=>Wy,bindTo:()=>qy,cached:()=>LS,cachedInvalidateWithTTL:()=>qS,cachedWithTTL:()=>$S,callback:()=>Dc,catch:()=>lb,catchCause:()=>gb,catchCauseFilter:()=>kb,catchCauseIf:()=>vb,catchDefect:()=>yb,catchEager:()=>m0,catchFilter:()=>Sb,catchIf:()=>bb,catchNoSuchElement:()=>Eb,catchReason:()=>mb,catchReasons:()=>xb,catchTag:()=>pb,catchTags:()=>db,clockWith:()=>qd,context:()=>dS,contextWith:()=>mS,currentParentSpan:()=>sE,currentSpan:()=>oE,delay:()=>Hb,die:()=>Od,effectify:()=>i0,ensuring:()=>_S,eventually:()=>Ab,exit:()=>Md,fail:()=>Uc,failCause:()=>By,failCauseSync:()=>Ky,failSync:()=>zy,fiber:()=>vE,fiberId:()=>kE,filter:()=>Gb,filterMap:()=>Yb,filterMapEffect:()=>Xb,filterMapOrElse:()=>eS,filterMapOrFail:()=>rS,filterOrElse:()=>Qb,filterOrFail:()=>tS,findFirst:()=>Oy,findFirstFilter:()=>Ay,firstSuccessOf:()=>$b,flatMap:()=>Pc,flatMapEager:()=>d0,flatten:()=>eb,flip:()=>ab,fn:()=>PE,fnUntraced:()=>DE,fnUntracedEager:()=>x0,forEach:()=>_y,forever:()=>KS,forkChild:()=>gE,forkDetach:()=>SE,forkIn:()=>yE,forkScoped:()=>bE,fromNullishOr:()=>Qy,fromOption:()=>Yy,fromResult:()=>Gy,gen:()=>Hy,head:()=>My,ignore:()=>Ub,ignoreCause:()=>Nb,interrupt:()=>Pd,interruptible:()=>jS,interruptibleMask:()=>zS,isEffect:()=>ar,isFailure:()=>lS,isSuccess:()=>pS,let:()=>jy,linkSpans:()=>aE,log:()=>$E,logDebug:()=>zE,logError:()=>WE,logFatal:()=>qE,logInfo:()=>HE,logTrace:()=>BE,logWarning:()=>jE,logWithLevel:()=>LE,makeSpan:()=>uE,makeSpanScoped:()=>fE,map:()=>ob,mapBoth:()=>Cb,mapBothEager:()=>p0,mapEager:()=>f0,mapError:()=>wb,mapErrorEager:()=>l0,match:()=>oS,matchCause:()=>iS,matchCauseEager:()=>cS,matchCauseEffect:()=>uS,matchCauseEffectEager:()=>aS,matchEager:()=>sS,matchEffect:()=>fS,never:()=>Ly,onError:()=>MS,onErrorFilter:()=>US,onErrorIf:()=>FS,onExit:()=>Lc,onExitFilter:()=>PS,onExitIf:()=>DS,onExitPrimitive:()=>NS,onInterrupt:()=>WS,option:()=>nb,orDie:()=>Tb,orElseSucceed:()=>Lb,partition:()=>Ty,promise:()=>Fy,provide:()=>xS,provideContext:()=>hS,provideService:()=>Dd,provideServiceEffect:()=>kS,race:()=>Vb,raceAll:()=>Kb,raceAllFirst:()=>Jb,raceFirst:()=>Zb,reduce:()=>Iy,repeat:()=>JS,repeatOrElse:()=>VS,replicate:()=>ZS,replicateEffect:()=>GS,request:()=>xE,requestUnsafe:()=>hE,result:()=>rb,retry:()=>_b,retryOrElse:()=>Mb,runCallback:()=>IE,runCallbackWith:()=>TE,runFork:()=>wE,runForkWith:()=>CE,runPromise:()=>RE,runPromiseExit:()=>AE,runPromiseExitWith:()=>_E,runPromiseWith:()=>OE,runSync:()=>ME,runSyncExit:()=>UE,runSyncExitWith:()=>NE,runSyncWith:()=>FE,sandbox:()=>Fb,satisfiesErrorType:()=>a0,satisfiesServicesType:()=>u0,satisfiesSuccessType:()=>c0,schedule:()=>YS,scheduleFrom:()=>$d,scope:()=>wS,scoped:()=>CS,scopedWith:()=>TS,service:()=>yS,serviceOption:()=>bS,setContext:()=>gS,sleep:()=>zb,spanAnnotations:()=>iE,spanLinks:()=>cE,succeed:()=>Id,succeedNone:()=>Ny,succeedSome:()=>Dy,suspend:()=>Rd,sync:()=>me,tap:()=>_d,tapCause:()=>Ud,tapCauseFilter:()=>Ob,tapCauseIf:()=>Rb,tapDefect:()=>Nd,tapError:()=>Fd,tapErrorTag:()=>Ib,timed:()=>Bb,timeout:()=>qb,timeoutOption:()=>jb,timeoutOrElse:()=>Wb,tracer:()=>XS,track:()=>GE,trackDefects:()=>QE,trackDuration:()=>e0,trackErrors:()=>XE,trackSuccesses:()=>YE,transposeOption:()=>Xy,try:()=>Jy,tryPromise:()=>Uy,tx:()=>t0,txRetry:()=>s0,undefined:()=>Py,uninterruptible:()=>HS,uninterruptibleMask:()=>Ld,unwrapReason:()=>hb,updateContext:()=>SS,updateService:()=>ES,updateServiceScoped:()=>vS,useSpan:()=>lE,validate:()=>Ry,void:()=>Nc,when:()=>nS,whileLoop:()=>Td,withErrorReporting:()=>Pb,withExecutionPlan:()=>Db,withFiber:()=>Ad,withLogSpan:()=>ZE,withLogger:()=>KE,withParentSpan:()=>mE,withSpan:()=>pE,withSpanScoped:()=>dE,withTracer:()=>QS,withTracerEnabled:()=>eE,withTracerTiming:()=>tE,yieldNow:()=>Vy,yieldNowWith:()=>Zy,zip:()=>ub,zipWith:()=>fb});var ap=Mo;var Xe={};Bt(Xe,{await:()=>pc,complete:()=>Dh,completeWith:()=>lp,die:()=>dp,dieSync:()=>$h,done:()=>Wt,doneUnsafe:()=>gp,fail:()=>pp,failCause:()=>dc,failCauseSync:()=>Lh,failSync:()=>Ph,interrupt:()=>qh,interruptWith:()=>mp,into:()=>yp,isDeferred:()=>Fh,isDone:()=>jh,isDoneUnsafe:()=>xp,make:()=>Nh,makeUnsafe:()=>Jo,poll:()=>Wh,succeed:()=>hp,sync:()=>Hh});var fp="~effect/Deferred",Fh=e=>b(e,fp),Uh={[fp]:{_A:T,_E:T},pipe(){return P(this,arguments)}},Jo=()=>{let e=Object.create(Uh);return e.resumes=void 0,e.effect=void 0,e},Nh=()=>v(()=>Jo()),pc=e=>ue(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),v(()=>{let r=e.resumes;if(r===void 0)return;let n=r.indexOf(t);n>=0&&r.splice(n,1)})));var Dh=a(2,(e,t)=>k(()=>e.effect?m(!1):yp(t,e))),lp=a(2,(e,t)=>v(()=>gp(e,t))),Wt=lp,pp=a(2,(e,t)=>Wt(e,st(t))),Ph=a(2,(e,t)=>k(()=>pp(e,t()))),dc=a(2,(e,t)=>Wt(e,ke(t))),Lh=a(2,(e,t)=>k(()=>dc(e,t()))),dp=a(2,(e,t)=>Wt(e,Je(t))),$h=a(2,(e,t)=>k(()=>dp(e,t()))),qh=e=>w(t=>mp(e,t.id)),mp=a(2,(e,t)=>dc(e,vn(t))),jh=e=>v(()=>xp(e)),xp=e=>e.effect!==void 0;function Wh(e){return v(()=>oo(e.effect))}var hp=a(2,(e,t)=>Wt(e,oe(t))),Hh=a(2,(e,t)=>k(()=>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=>Wt(t,n))));var bp=St;var Sp=Eo;var Ep=In;var Vo=Xf,mc=Bi;var wp="~effect/Layer",kp="~effect/Layer/MemoMap",Bh=(e,t)=>(e.observers++,Lt(Ct(t,r=>e.finalizer(r)),e.effect)),Cp=e=>b(e,wp),Kh={[wp]:{_ROut:T,_E:T,_RIn:T},pipe(){return P(this,arguments)}},Tp=e=>{let t=Object.create(Kh);return t.build=e,t},Ip=e=>Tp((t,r)=>{let n=Vo(r);return ae(e(t,n),o=>o._tag==="Failure"?mc(n,o):R)});var Jh=(e,t,r,n)=>{let o=Ep(),s=Jo(),i={observers:1,effect:pc(s),finalizer:c=>k(()=>(i.observers--,i.observers===0?(e.map.delete(t),mc(o,c)):R))};return e.map.set(t,i),Ct(r,i.finalizer).pipe(h(()=>n(e,o)),ae(c=>(i.effect=c,Wt(s,c))))},Zo=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?Bh(n,r):this.parent?.get(t,r)}getOrElseMemoize(t,r,n){return k(()=>{let o=this.get(t,r);return o||Jh(this,t,r,n)})}},xc=()=>new Zo,Vh=e=>new Zo(e);var An=class e extends yt()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let r=ao(t,e);return r?Vh(r):xc()}},hc=a(3,(e,t,r)=>ge(I(e.build(t,r),Ce(An,t)),An,t));var Rp=a(2,(e,t)=>w(r=>hc(e,An.forkOrCreate(r.context),t)));var Op=e=>Tp(ie(m(e)));var Ap=(e,t,r)=>{let n=Vo(r,"parallel");return pe(e,o=>o.build(t,Vo(n,"sequential")),{concurrency:e.length}).pipe(I(o=>Qa(...o)))},_p=(...e)=>Ip((t,r)=>Ap(e,t,r));var Zh=(e,t,r)=>Ip((n,o)=>h(Array.isArray(t)?Ap(t,n,o):t.build(n,o),s=>e.build(n,o).pipe(wt(s),I(i=>r(i,s))))),Mp=a(2,(e,t)=>Zh(e,t,T));var Fp="~effect/ExecutionPlan";var Gh={[Fp]:Fp,get captureRequirements(){let e=this;return qt(t=>m(Yh(e.steps.map(r=>({...r,provide:Cp(r.provide)?Mp(r.provide,Op(t)):r.provide})))))},pipe(){return P(this,arguments)}},Yh=e=>{let t=Object.create(Gh);return t.steps=e,t};var Up=U("effect/ExecutionPlan/CurrentMetadata",{defaultValue:ie({attempt:0,stepIndex:0})});var We={};Bt(We,{CurrentMetadata:()=>Ht,addDelay:()=>Wg,concat:()=>Hg,concatResult:()=>ad,cron:()=>Kg,duration:()=>Jg,during:()=>Vg,exponential:()=>Yg,fibonacci:()=>Xg,fixed:()=>Qg,forever:()=>ts,fromStep:()=>Ae,fromStepWithMetadata:()=>ir,identity:()=>sy,isSchedule:()=>Qo,jittered:()=>ey,map:()=>Xo,max:()=>zg,min:()=>Zg,modifyDelay:()=>Rc,passthrough:()=>es,recurs:()=>Oc,setInputType:()=>iy,spaced:()=>ud,tap:()=>ty,toStep:()=>lt,toStepWithMetadata:()=>jr,toStepWithSleep:()=>jg,upTo:()=>ry,while:()=>cr,windowed:()=>ny});var Le={};Bt(Le,{Clock:()=>Xh,clockWith:()=>Qh,currentTimeMillis:()=>eg,currentTimeNanos:()=>tg,monotonicTimeNanos:()=>rg});var Xh=Ge,Qh=ye,eg=Bo,tg=ep,rg=tp;var yc="~effect/time/DateTime",bc="~effect/time/DateTime/TimeZone",Lp={[yc]:yc,pipe(){return P(this,arguments)},[ve](){return this.toString()},toJSON(){return Nn(this).toJSON()}},ng={...Lp,_tag:"Utc",[L](){return mt(this.epochMilliseconds)},[$](e){return Un(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${Nn(this).toJSON()})`}},og={...Lp,_tag:"Zoned",[L](){return H(mt(this.epochMilliseconds))(F(this.zone))},[$](e){return Un(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&V(this.zone,e.zone)},toString(){return`DateTime.Zoned(${vg(this)})`}},$p={[bc]:bc,[ve](){return this.toString()}},sg={...$p,_tag:"Named",[L](){return B(`Named:${this.id}`)},[$](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}}},ig={...$p,_tag:"Offset",[L](){return B(`Offset:${this.offset}`)},[$](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}}},ft=(e,t,r)=>{let n=Object.create(og);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},Un=e=>b(e,yc),cg=e=>Un(e[0]),Ur=e=>b(e,bc);var qp=e=>Ur(e)&&e._tag==="Named";var ag=e=>e._tag==="Zoned";var jp=e=>{let t=Object.create(ng);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},_n=e=>{let t=e.getTime();if(Number.isNaN(t))throw new Ko("Invalid date");return jp(t)},ug=e=>{if(Un(e))return e;if(e instanceof Date)return _n(e);if(typeof e=="object"){if("epochMilliseconds"in e)return _n(new Date(e.epochMilliseconds));let t=new Date(0);return Sg(t,e),_n(t)}else if(typeof e=="string"&&!fg(e))return _n(new Date(e+"Z"));return _n(new Date(e))},fg=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),lg=-864e13+720*60*1e3,pg=864e13-840*60*1e3,Ec=(e,t)=>{let r=t?.timeZone;if(r===void 0&&Un(e)&&ag(e))return e;let n=ug(e);if(n.epochMilliseconds<lg||n.epochMilliseconds>pg)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(Yt(s))throw new Ko(`Invalid time zone: ${r}`);o=s.value}return t?.adjustForTimeZone!==!0?ft(n.epochMilliseconds,o,n.partsUtc):zp(n.epochMilliseconds,o,t?.disambiguation??"compatible")};var Fn=new Map,dg={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},mg=e=>{let t=e.resolvedOptions().timeZone;if(Fn.has(t))return Fn.get(t);let r=Object.create(sg);return r.id=t,r.format=e,Fn.set(t,r),r},xg=e=>{if(Fn.has(e))return Fn.get(e);try{return mg(new Intl.DateTimeFormat("en-US",{...dg,timeZone:e}))}catch{throw new Ko(`Invalid time zone: ${e}`)}},Sc=e=>{let t=Object.create(ig);return t.offset=e,t},hg=on(xg);var gg=/^(?:GMT|[+-])/,vc=e=>{if(gg.test(e)){let t=Bp(e);return t===null?Z():G(Sc(t))}return hg(e)};var Nn=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()-bg(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")}`},yg=e=>Hp(Wp(e)),bg=e=>e.epochMilliseconds;var Sg=(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 ft(e-t.offset,t);let n=Mn(e-Dp,e,t),o=Mn(e+Dp,e,t);if(n===o)return ft(e-n,t);let s=n<o,i=n-o;if(s){if(Mn(e-o,e,t)===o)return ft(e-o,t);let f=ft(e-n,t),x=Nr(f).getTime();if(e!==x)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 ft(e-o,t);case"compatible":case"later":return f}return f}if(Mn(e-n,e,t)===n){if(r==="earlier"||r==="compatible"||Mn(e-n+i,e+i,t)===n)return ft(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 ft(e-o,t)},Eg=/([+-])(\d{2}):(\d{2})$/,Bp=e=>{let t=Eg.exec(e);if(t===null)return null;let[,r,n,o]=t;return(r==="+"?1:-1)*(Number(n)*60+Number(o))*60*1e3},Mn=(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(ft(t,r)):o},Kp=a(cg,(e,t,r)=>{if(e._tag==="Utc"){let s=Nn(e);return t(s),jp(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)}${yg(e)}`},vg=e=>e.zone._tag==="Offset"?Pp(e):`${Pp(e)}[${e.zone.id}]`;var Fw=globalThis.Number;var Jp=Qn;var Uw=globalThis.String;var Zp=e=>e.toLowerCase();var Gp=e=>e.length>0;var Cc="~effect/time/Cron";function kc(e){return{tz:e.tz,and:e.and,seconds:J(e.seconds),minutes:J(e.minutes),hours:J(e.hours),days:J(e.days),months:J(e.months),weekdays:J(e.weekdays)}}var wg={[Cc]:Cc,[$](e){return Tc(e)&&Og(this,e)},[L](){return Hc(F(this.tz),H(F(this.and)),H(He(J(this.seconds))),H(He(J(this.minutes))),H(He(J(this.hours))),H(He(J(this.days))),H(He(J(this.months))),H(He(J(this.weekdays))))},toObject(){return kc(this)},toString(){return`Cron(${ne(kc(this))})`},toJSON(){let e=kc(this);return e._id="Cron",e},[ve](){return this.toJSON()},pipe(){return P(this,arguments)}},Tc=e=>b(e,Cc),Cg=e=>{let t=Object.create(wg);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=oo(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:qe.next.second(r),minute:qe.next.minute(n),hour:qe.next.hour(o),day:qe.next.day(s),month:qe.next.month(i),weekday:qe.next.weekday(c)},t.prev={second:qe.prev.second(r),minute:qe.prev.minute(n),hour:qe.prev.hour(o),day:qe.prev.day(s),month:qe.prev.month(i),weekday:qe.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(qa(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)},$e=(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},qe={prev:{second:$e(60,"prev"),minute:$e(60,"prev"),hour:$e(24,"prev"),day:$e(32,"prev"),month:$e(13,"prev"),weekday:$e(7,"prev")},next:{second:$e(60,"next"),minute:$e(60,"next"),hour:$e(24,"next"),day:$e(32,"next"),month:$e(13,"next"),weekday:$e(7,"next")}},Xp="~effect/time/Cron/CronParseError",je=class extends go("CronParseError"){[Xp]=Xp};var ed=(e,t)=>{let r=e.trim().split(/\s+/).filter(Gp);if(r.length!==5&&r.length!==6)return K(new je({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)?ee(t):Ma(vc(t),()=>new je({message:"Invalid time zone in cron expression",input:t}));return Na({tz:f,seconds:$r(n,Ag),minutes:$r(o,_g),hours:$r(s,Mg),days:$r(i,Fg),months:$r(c,Ug),weekdays:$r(u,Ng)}).pipe(Fa(({tz:x,seconds:d,minutes:g,hours:p,days:C,months:M,weekdays:y})=>Cg({tz:x,seconds:d.values,minutes:g.values,hours:p.values,days:C.values,months:M.values,weekdays:y.values,and:(C.wildcard||y.wildcard)&&C.values.size!==0&&y.values.size!==0})))};var Go=e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),td=(e,t)=>Tg(e,t,"next");var Tg=(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,C)=>p<C:(p,C)=>p>C,d=n!==void 0&&qp(n)&&n.id==="UTC"?Kt:p=>{let C=Ec(p,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:s?"later":void 0}).pipe(Nr),M=p.getTime()-C.getTime();(s?M!==0:M>0)&&p.setTime(s?C.getTime():p.getTime()+M)},g=Kp(o,p=>{p.setUTCSeconds(p.getUTCSeconds()+i,0);for(let C=0;C<1e4;C++){if(e.seconds.size!==0){let M=p.getUTCSeconds(),y=c.second[M];if(y===void 0){p.setUTCMinutes(p.getUTCMinutes()+i,u.second),d(p);continue}if(f(y,M)){p.setUTCSeconds(y),d(p);continue}}if(e.minutes.size!==0){let M=p.getUTCMinutes(),y=c.minute[M];if(y===void 0){p.setUTCHours(p.getUTCHours()+i,u.minute,u.second),d(p);continue}if(f(y,M)){p.setUTCMinutes(y,u.second),d(p);continue}}if(e.hours.size!==0){let M=p.getUTCHours(),y=c.hour[M];if(y===void 0){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(y,M)){p.setUTCHours(y,u.minute,u.second),d(p);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let M=e.days.size===0||e.days.has(p.getUTCDate()),y=e.weekdays.size===0||e.weekdays.has(p.getUTCDay());if(!M||!y){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}else{let M=s?-1/0:1/0,y=s?-1/0:1/0;if(e.weekdays.size!==0){let A=p.getUTCDay(),se=c.weekday[A];se===void 0?M=s?u.weekday-7-A:7-A+u.weekday:M=se-A}if(e.days.size!==0&&M!==0){let A=p.getUTCDate(),se=c.day[A];if(se===void 0)if(s){let re=new Date(p);re.setUTCDate(0);let X=c.day[re.getUTCDate()];if(X===void 0&&(re.setUTCDate(0),X=c.day[re.getUTCDate()]),X===void 0)throw new Error("Unable to find cron date");re.setUTCDate(X),y=(re.getTime()-p.getTime())/864e5}else y=Go(p)-A+u.day;else!s&&se>Go(p)?y=Go(p)-A+u.day:y=se-A}let z=s?Math.max(M,y):Math.min(M,y);if(z!==0){p.setUTCDate(p.getUTCDate()+z),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}if(e.months.size!==0){let M=p.getUTCMonth()+1,y=c.month[M],z=A=>{let se=Go(new Date(Date.UTC(p.getUTCFullYear(),A+1,0)));return e.days.size!==0&&e.weekdays.size===0?s?c.day[se]??se:u.day:s?se:1};if(y===void 0){p.setUTCFullYear(p.getUTCFullYear()+i),p.setUTCMonth(u.month,z(u.month)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(y,M)){let A=y-1;p.setUTCMonth(A,z(A)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}return}throw new Error("Unable to find cron date")});return Nn(g)};var Ig=xs((e,t)=>V(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)),Rg=Xc(Yc()),Lr=(e,t)=>Rg(J(e),J(t)),Og=a(2,(e,t)=>Ig(e,t)),Ag={min:0,max:59},_g={min:0,max:59},Mg={min:0,max:23},Fg={min:1,max:31},Ug={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}},Ng={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)?Kt:u=>{r.add(i(u))};for(let u=0;u<n.length;u++){let f=n[u],[x,d]=u===0?o:Qp(f);if(d!==void 0){if(!Number.isInteger(d))return K(new je({message:"Expected step value to be a positive integer",input:e}));if(d<1)return K(new je({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return K(new je({message:`Expected step value to be less than or equal to ${t.max}`,input:e}))}if(x==="*"){if(u===0&&(d===void 0||d===1))continue;for(let g=t.min;g<=t.max;g+=d??1)c(g)}else{let[g,p]=Dg(x,t.aliases);if(!Number.isInteger(g))return K(new je({message:"Expected a positive integer",input:e}));if(g<t.min||g>t.max)return K(new je({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(p===void 0)for(let C=g;C<=(d===void 0?g:t.max);C+=d??1)c(C);else{if(!Number.isInteger(p))return K(new je({message:"Expected a positive integer",input:e}));if(p<t.min||p>t.max)return K(new je({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(g>p)return K(new je({message:"Invalid value range",input:e}));for(let C=g;C<=p;C+=d??1)c(C)}}}return ee({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]},Dg=(e,t)=>{let r=e.indexOf("-");return r!==-1?[wc(e.slice(0,r),t),wc(e.slice(r+1),t)]:[wc(e,t),void 0]};function wc(e,t){return t?.[Zp(e)]??(rd.test(e)?Number(e):NaN)}var rd=/^\d+$/;var od=U("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 Yo=a(2,(e,t)=>Ar(e,Lg,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?K(e):r?K(ip(e.reasons.filter(n=>!sd(n)))):ee(t)};var Lg=e=>{let t=id(e);return Y(t)?t:ee(t.success.value)};var Dn=a(2,(e,t)=>at(e,{onSuccess:t.onSuccess,onFailure:r=>{let n=id(r);return Y(n)?t.onFailure(n.failure):t.onDone(n.success.value)}}));var cd="~effect/Schedule",$g=od.useSync(e=>e.nextDoubleUnsafe()),Ht=U("effect/Schedule/CurrentMetadata",{defaultValue:ie({input:void 0,output:void 0,duration:q,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),qg={[cd]:{_Out:T,_In:T,_Env:T},pipe(){return P(this,arguments)}},Qo=e=>b(e,cd),Ae=e=>{let t=Object.create(qg);return t.step=e,t},qr=()=>{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}}},ir=e=>Ae(I(e,t=>{let r=qr();return(n,o)=>t(r(n,o))})),lt=e=>Re(e.step,t=>m(()=>N(t))),jr=e=>ye(t=>I(lt(e),r=>{let n=qr();return o=>k(()=>{let s=t.currentTimeMillisUnsafe();return h(r(s,o),([i,c])=>{let u=n(s,o);return u.output=i,u.duration=c,de(sr(c),u)})})})),jg=e=>I(jr(e),t=>r=>I(t(r),n=>n.output)),Wg=a(2,(e,t)=>Rc(e,r=>I(t(r),n=>ho(W(n),r.duration)))),Hg=a(2,(e,t)=>Xo(ad(e,t),({output:r})=>m(Ua(r)))),ad=a(2,(e,t)=>Ae(v(()=>{let r=0,n,o=Xo(e,({output:i})=>K(i)),s=Xo(t,({output:i})=>ee(i));return function i(c,u){return n?n(c,u):lt(r===0?o:s).pipe(h(f=>(r++,r===1?(n=(x,d)=>Yo(f(x,d),g=>(n=void 0,i(x,d))),n(c,u)):(n=f,n(c,u)))))}}))),zg=e=>Ae(I(nr(e.map(lt)),t=>(r,n)=>h(pe(t,o=>Dn(o(r,n),{onSuccess:s=>m(s[1]),onDone:()=>On,onFailure:N})),o=>{let s=Bg(o);return s===void 0?ut(q):m([s,s])}))),Bg=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},Kg=(e,t)=>{let r=Tc(e)?ee(e):ed(e,t);return Ae(I(tr(r),n=>(o,s)=>o===Number.POSITIVE_INFINITY?ut(q):v(()=>{let i=td(n,o).getTime(),c=Ie(i-o);return[c,c]})))},Jg=e=>{let t=W(e);return ir(m(r=>r.attempt===1?m([t,t]):ut(q)))},Vg=e=>{let t=Ve(e);return ir(m(r=>{let n=Ie(r.elapsed);return r.elapsed>t?ut(n):m([n,q])}))},Zg=e=>Ae(I(nr(e.map(lt)),t=>(r,n)=>h(pe(t,o=>Dn(o(r,n),{onSuccess:s=>m(s[1]),onDone:()=>On,onFailure:N})),o=>{let s=Gg(o);return s===void 0?ut(q):m([s,s])}))),Gg=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},Yg=(e,t=2)=>{let r=Ve(W(e));return ir(m(n=>{let o=Ie(r*Math.pow(t,n.attempt-1));return m([o,o])}))},Xg=e=>{let t=Ve(W(e));return Ae(v(()=>{let r=0,n=t;return ie(v(()=>{let o=r+n;r=n,n=o;let s=Ie(o);return[s,s]}))}))},Qg=e=>{let t=Ve(W(e));return ir(v(()=>{let r=0,n=0;return o=>v(()=>{if(t===0)return[o.attempt-1,q];if(o.attempt===1)return r=o.now,n=o.now+t,[0,Ie(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,Ie(c)]})}))},Xo=a(2,(e,t)=>Ae(I(lt(e),r=>{let n=qr();return(o,s)=>Dn(r(o,s),{onSuccess:([i,c])=>{let u=t({...n(o,s),output:i,duration:c});return E(u)?I(u,f=>[f,c]):m([u,c])},onFailure:N,onDone:i=>{let c=t({...n(o,s),output:i,duration:q});return E(c)?h(c,ut):ut(c)}})}))),Rc=a(2,(e,t)=>Ae(I(lt(e),r=>{let n=qr();return(o,s)=>h(r(o,s),([i,c])=>I(t({...n(o,s),output:i,duration:c}),u=>[i,W(u)]))}))),ey=e=>Rc(e,({duration:t})=>I($g,r=>{let n=Ve(t);return Ie(n*.8*(1-r)+n*1.2*r)})),es=e=>Ae(I(lt(e),t=>(r,n)=>Dn(t(r,n),{onSuccess:o=>m([n,o[1]]),onFailure:N,onDone:()=>ut(n)}))),Oc=e=>cr(ts,({attempt:t})=>m(t<=e)),ud=e=>{let t=W(e);return ir(m(r=>m([r.attempt-1,t])))},ty=a(2,(e,t)=>Ae(I(lt(e),r=>{let n=qr();return(o,s)=>$t(r(o,s),([i,c])=>t({...n(o,s),output:i,duration:c}))}))),ry=a(2,(e,t)=>{let r=t.duration===void 0?void 0:W(t.duration);return cr(e,({attempt:n,elapsed:o})=>m((t.times===void 0||n<=t.times)&&(r===void 0||Bs(Ie(o),r))))}),cr=a(2,(e,t)=>Ae(I(lt(e),r=>{let n=qr();return(o,s)=>h(r(o,s),i=>{let[c,u]=i,f=t({...n(o,s),output:c,duration:u});return h(E(f)?f:m(f),x=>x?m(i):ut(c))})})));var ny=e=>{let t=Ve(W(e));return ir(m(r=>v(()=>[r.attempt-1,t===0?q:Ie(t-r.elapsed%t)])))},ts=ud(q),oy=Ae(m((e,t)=>m([t,q]))),sy=()=>oy;var iy=()=>e=>e;var cy=(e,t,r)=>qo(n=>h(r?.local?hc(t,xc(),n):Rp(t,n),o=>wt(e,o))),rs=a(e=>E(e[0]),(e,t,r)=>$s(t)?wt(e,t):cy(e,Array.isArray(t)?_p(...t):t,r));var Ac=a(3,(e,t,r)=>h(jr(t),n=>{let o=Ht.defaultValue();return Oe(Uo($t(h(k(()=>ge(e,Ht,o)),n),s=>v(()=>{o=s})),{disableYield:!0}),s=>rn(s)?m(s.value):r(s,o.attempt===0?Z():G(o)))})),_c=a(3,(e,t,r)=>h(jr(t),n=>{let o=Ht.defaultValue(),s,i=Oe(k(()=>ge(e,Ht,o)),c=>(s=c,h(n(c),u=>(o=u,i))));return Yo(i,c=>_(()=>r(s,c)))})),ld=a(2,(e,t)=>{let r=typeof t=="function"?t(T):Qo(t)?t:Ln(t);return Ac(e,r,j)}),Pn=a(2,(e,t)=>{let r=typeof t=="function"?t(T):Qo(t)?t:Ln(t);return _c(e,r,j)}),pd=a(3,(e,t,r)=>h(jr(r),n=>{let o=Ht.defaultValue(),s=k(()=>ge(e,Ht,o));return Oe(h(n(t),i=>{o=i;let c=ie(h(s,n));return It({while:_t,body:c,step(u){o=u}})}),i=>rn(i)?m(i.value):j(i))})),ay=es(ts),Ln=e=>{let t=e.schedule?es(e.schedule):ay;return e.while&&(t=cr(t,({input:r})=>{let n=e.while(r);return E(n)?n:m(n)})),e.until&&(t=cr(t,({input:r})=>{let n=e.until(r);return E(n)?I(n,o=>!o):m(!n)})),e.times!==void 0&&(t=cr(t,({attempt:r})=>m(r<=e.times))),t};var uy=(e,t)=>{let r=-1,n=0,o=s=>Po(e(s));return{begin:ye(s=>k(()=>{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 de(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>ye(c=>{let u=Nt(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=>E(e[0]),(e,t,r)=>k(()=>{let n=0,o={attempt:0,stepIndex:0},s=Fo(Up,v(()=>(o={attempt:o.attempt+1,stepIndex:n},o))),i=r?.onEvent===void 0?void 0:uy(r.onEvent,()=>o),c=i===void 0?T:f=>jt(x=>h(i.begin,d=>ae(x(f),g=>i.end(d,g)))),u;return h(It({while:()=>n<t.steps.length&&(u===void 0||Y(u)),body(){let f=t.steps[n],x=s(c(rs(e,f.provide)));if(u){let d=!1,g=x;x=k(()=>d?g:(d=!0,tr(u))),x=Pn(x,md(f,!1))}else{let d=md(f,!0);x=d?Pn(x,d):x}return Dt(x)},step(f){u=f,n++}}),()=>tr(u))})),md=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return Ln({schedule:e.schedule?e.schedule:e.attempts?void 0:fy,times:e.attempts,while:e.while});return Ln({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},fy=Oc(1);var py="~effect/Request",dy=Vc({_E:e=>e,_A:e=>e,_R:e=>e}),Qw={...xa,[py]:dy};var hd=e=>e;var yd=a(2,(e,t)=>{let r=n=>ue(o=>{let s=Sd(n,e,o,Cr());return xy(n,s)});return E(t)?h(t,r):r(t)}),bd=(e,t)=>{let r=Sd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:we(t.context,ln)});return()=>Ed(t.resolver,r)},ns=[],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(ns.length>0)s=ns.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(k(()=>f.resolver.delay),x=>gd(f)),run:ae(k(()=>f.resolver.runAll(Array.from(f.entries),f.key)),x=>{for(let d of f.entrySet)d.completeUnsafe(x._tag==="Success"?Je(new Error("Effect.request: RequestResolver did not complete request",{cause:d.request})):x);return f.entries.clear(),ns.length<128&&(f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,ns.push(f)),R})};s=f}o.set(u,s),s.fiber=Rt(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=Rt(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()))},xy=(e,t)=>v(()=>Ed(e,t));function gd(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):R}var gy="effect/Metric/CurrentMetricAttributes",yy=U(gy,{defaultValue:()=>({})}),by="~effect/observability/Metric/MetricRegistryKey",Sy=U(by,{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=we(t,yy);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=ky(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=Ey(this,r),o=we(t,Sy);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 P(this,arguments)}};var Wr=a(2,(e,t)=>qt(r=>v(()=>e.updateUnsafe(t,r))));function Ey(e,t){let r=`${e.type}:${e.id}`;return pr(e.description)&&(r+=`:${e.description}`),pr(t)&&(r+=`:${vy(t)}`),r}function vy(e){return JSON.stringify(Array.isArray(e)?e:Object.entries(e))}function ky(e,t){return{...Fc(e),...Fc(t)}}function Fc(e){return pr(e)&&Array.isArray(e)?e.reduce((t,[r,n])=>(Ee(t,r,n),t),{}):e}var wy=ot,ar=E,Cy=nr,Ty=rc,Iy=fl,Ry=ll,Oy=pl,Ay=ml,_y=pe,My=hl,Td=It,Fy=Ii,Uy=ef,Id=m,Ny=wn,Dy=Ti,Rd=k,me=v,Nc=R;var Py=On;var Dc=ue,Ly=Oo,$y=El,qy=vl,jy=wl;var Wy=kl,Hy=of,Uc=j,zy=Ro,By=N,Ky=Xu,Od=Pt,Jy=Qu;var Vy=Ir,Zy=Ci,Ad=w,Gy=tr,Yy=wi,Xy=Yu,Qy=Gu,Pc=h,eb=df,tb=Lt,_d=$t,rb=Dt,nb=zf,Md=_r,ob=I,sb=de,ib=Ao,cb=Rr,ab=af,ub=If,fb=Ui,lb=Oe;var pb=Li,db=Pf,mb=Lf,xb=$f,hb=qf,gb=Re,yb=Mf,bb=Cn,Sb=Do,Eb=_f,vb=Di,kb=Ar,wb=$i,Cb=qi,Tb=ji,Fd=Pi,Ib=Nf,Ud=Ff,Rb=Uf,Ob=No,Nd=Df,Ab=Wi,_b=Pn,Mb=_c,Fb=uf,Ub=Hf,Nb=Po,Db=xd,Pb=sp,Lb=jf,$b=Wf,qb=Zf,jb=Gf,Wb=zi,Hb=Vf,zb=sr,Bb=Yf,Kb=_i,Jb=Mi,Vb=ff,Zb=_o,Gb=yl,Yb=bl,Xb=Sl,Qb=nc,eS=oc,tS=Rf,rS=gl,nS=Of,oS=Lo,sS=Tn,iS=Hi,cS=Bf,aS=lf,uS=at,fS=rr,lS=Kf,pS=Jf,dS=Fi,mS=qt,xS=rs,hS=wt,gS=Tf,yS=kf,bS=wf,SS=Or,ES=kt,vS=Cf,Dd=ge,kS=Fo,wS=Rn,CS=Ji,TS=qo,IS=jo,RS=nl,OS=rl,AS=Vi,_S=Qf,MS=Yi,FS=el,US=Xi,NS=Fr,Lc=ae,DS=Zi,PS=Gi,LS=ol,$S=ec,qS=Qi,Pd=sl,jS=tc,WS=tl,HS=Tt,Ld=jt,zS=al,BS=ul,KS=Uo,JS=ld,VS=Ac,ZS=Ni,GS=Af,YS=a(2,(e,t)=>$d(e,void 0,t)),$d=pd,XS=Dl,QS=Pl,eE=Ll,tE=$l,rE=Vl,nE=Zl,oE=Gl,sE=Yl,iE=Hl,cE=zl,aE=Bl,uE=jl,fE=bn,lE=Sn,pE=Jl,dE=Wl,mE=wr,xE=yd,hE=bd,gE=Cl,yE=sc,bE=Rl,SE=Tl,EE=Il,vE=rf,kE=nf,wE=Al,CE=Rt,TE=ic,IE=_l,RE=Fl,OE=cc,AE=Ml,_E=Ho,ME=Nl,FE=ac,UE=Ul,NE=zo,DE=Oi,PE=sf,qd=ye,LE=Ye,$E=Ye(),qE=Ye("Fatal"),jE=Ye("Warn"),WE=Ye("Error"),HE=Ye("Info"),zE=Ye("Debug"),BE=Ye("Trace"),KE=a(2,(e,t)=>kt(e,fc,r=>new Set([...r,t]))),JE=a(e=>ar(e[0]),(e,...t)=>kt(e,bp,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||Ee(n,t[0],t[1]),n})),VE=np,ZE=a(2,(e,t)=>h(Bo,r=>kt(e,Sp,n=>[[t,r],...n]))),GE=a(e=>ar(e[0]),(e,t,r)=>Lc(e,n=>{let o=r===void 0?n:_(()=>r(n));return Wr(t,o)})),YE=a(e=>ar(e[0]),(e,t,r)=>_d(e,n=>{let o=r===void 0?n:r(n);return Wr(t,o)})),XE=a(e=>ar(e[0]),(e,t,r)=>Fd(e,n=>{let o=r===void 0?n:_(()=>r(n));return Wr(t,o)})),QE=a(e=>ar(e[0]),(e,t,r)=>Nd(e,n=>{let o=r===void 0?n:_(()=>r(n));return Wr(t,o)})),e0=a(e=>ar(e[0]),(e,t,r)=>qd(n=>{let o=n.monotonicTimeNanosUnsafe();return Lc(e,()=>{let s=n.monotonicTimeNanosUnsafe(),i=zs(W(s),W(o)),c=r===void 0?i:_(()=>r(i));return Wr(t,c)})})),Hr=class extends yt()("effect/Effect/Transaction"){},t0=e=>Ad(t=>{let r=ao(t.context,Hr);if(r)return e;r={journal:new Map,retry:!1};let n;return Ld(o=>Pc(Td({while:()=>!n,body:ie(o(e).pipe(Dd(Hr,r),Ud(()=>r.retry?o(n0(r)):Nc),Md)),step(s){if(r.retry||!r0(r))return Cd(r);ap(s)?o0(t,r):Cd(r),n=s}}),()=>n))}),r0=e=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},n0=e=>Rd(()=>{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 me(n)})});function o0(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 Cd(e){e.retry=!1,e.journal.clear()}var s0=Pc(Hr,e=>(e.retry=!0,Pd)),i0=(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)):Od(s))}}),c0=()=>e=>e,a0=()=>e=>e,u0=()=>e=>e,f0=mf,l0=xf,p0=hf,d0=pf,m0=gf,x0=cf;var $n={};Bt($n,{await:()=>h0,awaitAll:()=>g0,getCurrent:()=>C0,interrupt:()=>S0,interruptAll:()=>v0,interruptAllAs:()=>k0,interruptAs:()=>E0,isFiber:()=>w0,join:()=>y0,joinAll:()=>b0,runIn:()=>T0});var h0=vi;var g0=Tr,y0=Ju,b0=Vu,S0=Io,E0=ki,v0=Et,k0=Zu,w0=e=>b(e,gn),C0=Cr,T0=Ol;var jd="~effect/MutableRef",I0={[jd]:jd,...Ke,toJSON(){return{_id:"MutableRef",current:tt(this.current)}}},Wd=e=>{let t=Object.create(I0);return t.current=e,t};var Hd=a(2,(e,t)=>(e.current=t,e));var S={};Bt(S,{get:()=>_0,getAndSet:()=>F0,getAndUpdate:()=>U0,getAndUpdateSome:()=>N0,getUnsafe:()=>W0,make:()=>A0,makeUnsafe:()=>Bd,modify:()=>Kd,modifySome:()=>P0,set:()=>M0,setAndGet:()=>D0,update:()=>L0,updateAndGet:()=>$0,updateSome:()=>q0,updateSomeAndGet:()=>j0});var R0="~effect/Ref",O0={[R0]:{_A:T},...Ke,toJSON(){return{_id:"Ref",ref:this.ref}}},Bd=e=>{let t=Object.create(O0);return t.ref=Wd(e),t},A0=e=>me(()=>Bd(e)),_0=e=>me(()=>e.ref.current),M0=a(2,(e,t)=>me(()=>Hd(e.ref,t))),F0=a(2,(e,t)=>me(()=>{let r=e.ref.current;return e.ref.current=t,r})),U0=a(2,(e,t)=>me(()=>{let r=e.ref.current;return e.ref.current=t(r),r})),N0=a(2,(e,t)=>me(()=>{let r=e.ref.current,n=t(r);return n._tag==="Some"&&(e.ref.current=n.value),r})),D0=a(2,(e,t)=>me(()=>e.ref.current=t)),Kd=a(2,(e,t)=>me(()=>{let[r,n]=t(e.ref.current);return e.ref.current=n,r})),P0=a(2,(e,t)=>Kd(e,r=>{let[n,o]=t(r);return[n,o._tag==="None"?r:o.value]})),L0=a(2,(e,t)=>me(()=>{e.ref.current=t(e.ref.current)})),$0=a(2,(e,t)=>me(()=>e.ref.current=t(e.ref.current))),q0=a(2,(e,t)=>me(()=>{let r=t(e.ref.current);r._tag==="Some"&&(e.ref.current=r.value)})),j0=a(2,(e,t)=>me(()=>{let r=t(e.ref.current);return r._tag==="Some"&&(e.ref.current=r.value),e.ref.current})),W0=e=>e.ref.current;var H0={workers:new Map};function z0(e,t){return!!e.quiescing===t?e:{...e,quiescing:t}}function B0(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}),{...e,workers:o}}function K0(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{...e,workers:r}}function J0(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)}),{...e,workers:o}}function V0(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}),{...e,workers:n}}function Z0(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)}),{...e,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 G0(e){if(e.quiescing)return[];let t=[];for(let r of Vd(e))Jd(e,r)>0&&t.push(r);return t}function Y0(e){if(e.quiescing)return[];let t=[];for(let r of Vd(e)){let n=Jd(e,r);n>0&&t.push({type:r,freeSlots:n})}return t}function X0(e,t){for(let r of e.workers.values())if(r.types.has(t)&&r.active<r.capacity)return r.id;return null}var rI=(e=H0)=>l.gen(function*(){let t=yield*S.make(e);return{get:S.get(t),add:(n,o,s=1)=>S.update(t,i=>B0(i,n,o,s)),remove:n=>S.update(t,o=>K0(o,n)),setTypes:(n,o)=>S.update(t,s=>J0(s,n,o)),claim:n=>S.modify(t,o=>{let s=X0(o,n);return s===null?[null,o]:[s,V0(o,s)]}),releaseWorker:n=>S.update(t,o=>Z0(o,n)),pollTypes:S.get(t).pipe(l.map(G0)),pollBatch:S.get(t).pipe(l.map(Y0)),quiesce:(n=!0)=>S.update(t,o=>z0(o,n)),quiescing:S.get(t).pipe(l.map(n=>!!n.quiescing)),activeCount:S.get(t).pipe(l.map(n=>{let o=0;for(let s of n.workers.values())o+=s.active;return o}))}});var Zd={keySetHash:"",xmlByKey:new Map,jobTypes:[]};function Q0(e){return[...e].sort().join("\0")}function ev(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=Q0(o);if(s===r.keySetHash)return{cache:r,crawled:!1,fetchedKeys:[]};let i=new Set(o),c=new Map;for(let[x,d]of r.xmlByKey)i.has(x)&&c.set(x,d);let u=[];for(let x of o){if(c.has(x))continue;let d=yield*e.getProcessDefinitionXml(x);c.set(x,d),u.push(x)}let f=ev(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},tv=(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(te.millis(n.emptyPollBackoffMs)))}}),rv=(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=>tv(e,n.type,rv(n.freeSlots,r),r)));var nv={workers:new Map};function ov(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 sv(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function iv(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 cv(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 av(e){let t=[];for(let[r,n]of e.workers)t.push({instance:r,capability:n.capability,jobKeys:[...n.jobKeys]});return t}function uv(e,t){let r=e.workers.get(t);return r?[...r.jobKeys]:[]}var Xd=(e=nv)=>l.gen(function*(){let t=yield*S.make(e);return{get:S.get(t),register:(r,n)=>S.update(t,o=>ov(o,r,n)),deregister:r=>S.update(t,n=>sv(n,r)),claim:(r,n)=>S.update(t,o=>iv(o,r,n)),release:(r,n)=>S.update(t,o=>cv(o,r,n)),snapshot:S.get(t).pipe(l.map(av)),jobKeysFor:r=>S.get(t).pipe(l.map(n=>uv(n,r)))}}),os=(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?os(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)));var fv=e=>lv.test(e.message)||pv(tm(e.cause)),lv=/HTTP 4(?:09|04)\b|status\s*code\s*4(?:09|04)\b|\bnot activated\b|joblease\s*mismatch|lease\s*mismatch|\bnot found\b|\breclaim/i,pv=e=>e===409||e===404,tm=(e,t=0)=>{if(!e||typeof e!="object"||t>4)return;let r=e,n=r.status??r.statusCode??r.response?.status;return typeof n=="number"?n:tm(r.cause,t+1)},dv=e=>/HTTP 4(?:00|01|03|22)\b|\bunauthori[sz]ed\b|\bforbidden\b/i.test(e.message),mv=e=>fv(e)||dv(e),xv=e=>e instanceof Error?e.message:String(e),qc={recoveryWindowMs:3e5,extendIntervalMs:6e4},jc=(e,t,r)=>l.gen(function*(){let{engine:n,runner:o,registry:s,logger:i,config:c,ownership:u}=e,f=Math.max(1,c.extendTimeoutMs??c.extendIntervalMs);return(yield*n.extendLock(t.jobKey,c.recoveryWindowMs,t.leaseToken).pipe(l.timeout(te.millis(f)),l.as(!0),l.catch(g=>(i.warn(`[${t.type}] job ${t.jobKey}: winner extend failed (${g?.message??String(g)}) \u2014 not starting; slot released`),l.succeed(!1)))))?(yield*l.gen(function*(){let g=yield*S.make(yield*Le.currentTimeMillis),p=A=>l.all([Le.currentTimeMillis,S.get(g)]).pipe(l.flatMap(([se,re])=>{let X=se-re;return X+c.extendIntervalMs>=c.recoveryWindowMs?l.fail(new Me(`job ${t.jobKey}: lock lapsed \u2014 no successful extend in ${X}ms (recovery window ${c.recoveryWindowMs}ms); last error: ${A}`)):l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: heartbeat extend failed (transient, retrying) \u2014 ${A}`))})),C=l.sleep(te.millis(c.extendIntervalMs)).pipe(l.flatMap(()=>n.extendLock(t.jobKey,c.recoveryWindowMs,t.leaseToken).pipe(l.timeout(te.millis(f)),l.flatMap(()=>Le.currentTimeMillis),l.flatMap(A=>S.set(g,A)),l.catch(A=>A instanceof Me&&mv(A)?l.fail(A):p(A?.message??String(A))),l.catchDefect(A=>p(xv(A)))))),M=l.forever(C),y=o.run(t).pipe(l.catch(A=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: run failed \u2014 ${A.message}`)))),z=u?em(u,r,t.jobKey,y):y;return yield*l.raceFirst(z,M).pipe(l.as(!1),l.catch(A=>l.sync(()=>(i.warn(`[${t.type}] job ${t.jobKey}: lock lost mid-run \u2014 agent interrupted (lock unrenewable); slot released \u2014 ${A.message}`),!0))))}).pipe(l.ensuring(s.releaseWorker(r))))?{started:!0,reason:"lock-lost"}:{started:!0}:(yield*s.releaseWorker(r),{started:!1,reason:"extend-failed"})});function qn(e,t){return e.filter(r=>r.lockDeadlineMs>t)}function hv(e,t,r){let n=qn(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*S.make([]);return{park:(t,r)=>Le.currentTimeMillis.pipe(l.flatMap(n=>S.update(e,o=>[...qn(o,n),{job:t,lockDeadlineMs:n+r}]))),repark:t=>Le.currentTimeMillis.pipe(l.flatMap(r=>S.update(e,n=>t.lockDeadlineMs>r?[...qn(n,r),t]:qn(n,r)))),takeFor:t=>Le.currentTimeMillis.pipe(l.flatMap(r=>S.modify(e,n=>{let{picked:o,rest:s}=hv(n,t,r);return[o,s]}))),size:Le.currentTimeMillis.pipe(l.flatMap(t=>S.updateAndGet(e,r=>qn(r,t))),l.map(t=>t.length))}});var Wc={reconnectBaseMs:500,reconnectMaxMs:3e4},nm=e=>We.exponential(te.millis(e.reconnectBaseMs)).pipe(We.jittered,We.modifyDelay(({duration:t})=>l.succeed(te.min(t,te.millis(e.reconnectMaxMs))))),gv=(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)),yI=(e,t,r,n=Wc)=>l.scoped(gv(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=>S.set(r,u).pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.flatMap(()=>n(u)),l.flatMap(()=>u.closed??l.never)),u=>S.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($n.interrupt(c)))});var vI=e=>({connect:()=>l.gen(function*(){let t=yield*l.try({try:e,catch:c=>new Me(c instanceof Error?c.message:"agentic connect failed",c)}),r=yield*Xe.make(),n=yield*Xe.make();if(t.onOpen(()=>{l.runSync(Xe.succeed(n,!0))}),t.onClose(()=>{l.runSync(Xe.succeed(n,!1)),l.runSync(Xe.succeed(r,void 0))}),!(yield*Xe.await(n)))return yield*l.fail(new Me("agentic connection closed before it opened"));let s=c=>l.try({try:c,catch:u=>new Me(u instanceof Error?u.message:"agentic frame send failed",u)});return{disconnect:l.sync(()=>t.close()),closed:Xe.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,x)=>l.runFork(c(u,f,x))))}:{}}})});var ur=e=>t=>t instanceof Me?t:new Me(t instanceof Error?t.message:e,t),TI=e=>({activate:t=>l.tryPromise({try:r=>Promise.resolve(e.activate(t,r)),catch:ur(`activate ${t.type} failed`)}),extendLock:(t,r,n)=>l.tryPromise({try:o=>Promise.resolve(e.extendLock(t,r,n,o)).then(()=>{}),catch:ur(`extendLock ${t} failed`)}),complete:(t,r,n)=>l.tryPromise({try:()=>Promise.resolve(e.complete(t,r,n)).then(()=>{}),catch:ur(`complete ${t} failed`)}),fail:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.fail(t,r)).then(()=>{}),catch:ur(`fail ${t} failed`)})}),II=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`)})}),RI=e=>({run:t=>l.tryPromise({try:r=>Promise.resolve(e.run(t,r)).then(()=>{}),catch:ur(`run ${t.jobKey} failed`)})}),yv=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}},OI=e=>{let t={engine:e.engine,runner:e.runner,registry:e.registry,reconcileReader:e.reconcileReader,scan:e.scan,logger:yv(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?os(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 bv(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 im=(e,t,r)=>e.snapshot.pipe(l.flatMap(n=>S.get(r).pipe(l.flatMap(o=>{let{appeared:s,present:i,departed:c}=bv(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(()=>S.set(r,new Set(n.map(u=>u.instance)))))})))),cm=(e,t,r,n=ss)=>im(e,t,r).pipe(l.repeat(We.spaced(te.millis(n.heartbeatIntervalMs)))),am=(e,t,r)=>S.set(r,new Set).pipe(l.flatMap(()=>im(e,t,r))),um=(e=Qe)=>S.make(new Map).pipe(l.map(t=>({route:(r,n,o)=>S.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)=>S.update(t,o=>new Map(o).set(r,n)),unregister:r=>S.update(t,n=>{let o=new Map(n);return o.delete(r),o})}))),fm=(e,t,r=Qe)=>os(e.onSteer?.(t.route),r,"onSteer");var Sv={activation:$c,dispatch:qc,reconcileIntervalMs:3e4,idleSpacingMs:1e3,presence:ss,scope:""},zI=e=>l.gen(function*(){let t=e.logger??Qe,r={...Sv,...e.config,activation:{...$c,...e.config?.activation},dispatch:{...qc,...e.config?.dispatch},presence:{...ss,...e.config?.presence}},n=yield*rm(),o=yield*S.make(Zd),s=yield*Xd(),i=yield*S.make(null),c={currentHandle:S.get(i)},u=Qd(s,c,t),f=sm(c,t),x=yield*S.make(new Set),d=yield*um(t),g={engine:e.engine,runner:e.runner,registry:e.registry,logger:t,config:r.dispatch,ownership:u},p=S.get(o).pipe(l.flatMap(z=>Gd(e.reconcileReader,e.scan,z,r.scope)),l.flatMap(z=>S.set(o,z.cache).pipe(l.flatMap(()=>e.autoWorkerId?e.registry.setTypes(e.autoWorkerId,z.cache.jobTypes):l.void))),l.catch(z=>l.sync(()=>t.warn(`reconcile skipped \u2014 ${z.message} (keeping current job-type set)`)))),C=e.registry.pollBatch.pipe(l.flatMap(z=>{if(z.length===0)return l.sleep(te.millis(r.idleSpacingMs));let A=new Set(z.map(re=>re.type)),se=re=>l.gen(function*(){for(let X of re){let zt=yield*e.registry.claim(X.type);zt?yield*l.forkChild(jc(g,X,zt)):yield*n.park(X,r.activation.initialLockMs)}});return n.takeFor(A).pipe(l.flatMap(re=>re?e.registry.claim(re.job.type).pipe(l.flatMap(X=>X?l.forkChild(jc(g,re.job,X)).pipe(l.asVoid):n.repark(re))):Yd(e.engine,z,r.activation).pipe(l.flatMap(X=>se(X)),l.catch(X=>l.sync(()=>t.warn(`activation error \u2014 ${X.message}`))))))})),M=l.gen(function*(){return yield*l.forkChild(p.pipe(l.repeat(We.spaced(te.millis(r.reconcileIntervalMs))))),e.agenticEndpoint&&(yield*l.forkChild(cm(s,f,x,r.presence))),yield*C.pipe(l.forever)}),y=e.agenticEndpoint?om(e.agenticEndpoint,t,i,z=>fm(z,d,t).pipe(l.flatMap(()=>am(s,f,x))),M,e.agenticConfig):M;return{tick:C,reconcileOnce:p,run:y,parking:n,ownership:s,steerRouter:d,transcript:u.transcript,presence:f}});export{Le as Clock,te as Duration,l as Effect,$n as Fiber,S as Ref,We as Schedule,Me as SupervisorError,V0 as acquire,gv as acquireAgentic,Yd as activateWinner,B0 as addWorker,yv as asLogger,rv as batchSizeFor,iv as claimJob,$c as defaultActivationConfig,Wc as defaultAgenticConfig,qc as defaultDispatchConfig,ss as defaultPresenceConfig,Sv as defaultSupervisorConfig,sv as deregisterWorker,bv as diffPresence,jc as dispatch,os as emitFrame,Zd as emptyCache,nv as emptyOwnership,H0 as emptyRegistry,Jd as freeSlotsFor,Q0 as hashKeys,fm as installSteerRoute,fv as isLeaseLostError,dv as isPermanentRenewalError,mv as isTerminalRenewalError,uv as jobKeysForInstance,vI as makeAgenticEndpoint,TI as makeEngineClient,RI as makeJobRunner,Qd as makeOwnershipContext,Xd as makeOwnershipRegistry,rm as makeParkingLot,sm as makePresenceSink,II as makeReconcileReader,rI as makeRegistry,um as makeSteerRouter,zI as makeSupervisor,OI as makeSupervisorDeps,Qe as noopLogger,X0 as pickWorkerFor,cm as projectPresence,im as projectPresenceStep,qn as prune,Gd as reconcile,ov as registerWorker,Z0 as release,cv as releaseJob,K0 as removeWorker,am as resyncPresenceOnEstablish,Vd as serviceableTypes,z0 as setQuiesce,J0 as setWorkerTypes,av as snapshotOwnership,om as superviseAgentic,hv as takeValidFor,G0 as typesWithCapacity,Y0 as typesWithSlots,yI as withAgenticConnection,em as withOwnedJob};
|