c8ctl-plugin-nano 1.53.0 → 1.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -966,6 +966,13 @@ How it works and where things live:
966
966
  socket is unreachable (to report a stale/dead daemon).
967
967
  - Per-worker and daemon logs live under `logs/supervisor/` in the state home
968
968
  (`worker-<id>.log`, `daemon.log`).
969
+ - **Per-worker log cap:** each `worker-<id>.log` is bounded (default **10 MB**) —
970
+ the daemon pipes the child's stdout/stderr through a rotating ring, keeping the
971
+ **newest** output and rolling the previous fill to `worker-<id>.log.1` (so
972
+ on-disk usage stays ~2× the cap). `nano supervisor logs <id>` still tails the
973
+ live output across a rotation. Set `NANO_SUPERVISOR_LOG_MAX_BYTES` to change the
974
+ cap (bytes); `0` or a negative value disables the cap (unbounded append). An
975
+ unset/invalid value falls back to the 10 MB default.
969
976
  - **Restart policy:** a crashed child is restarted with exponential backoff
970
977
  (1s → 30s cap); a child that stayed up ≥60s resets its backoff. `remove`/`stop`
971
978
  cancel any pending restart, and a `restart` cleanly swaps the child (a late
package/c8ctl-plugin.js CHANGED
@@ -66,6 +66,7 @@ import { platformForHost } from './platforms.mjs';
66
66
  import { redactAgenticUrl, buildAgenticUrl } from './work-channel.mjs';
67
67
  import { createHostRelaySession, roleTerminalMode } from './work-relay.mjs';
68
68
  import { resolveBufferCapacity } from './work-buffer.mjs';
69
+ import { createLogRing, resolveLogMaxBytes } from './supervisor-log-ring.mjs';
69
70
  // Canonical ACP → transcript wire bridge (nanobpm/nano-ide#534), consumed through
70
71
  // the single agentic import surface. `acpUpdateToTranscriptChunk(update)` maps one
71
72
  // raw ACP `session/update` to the exact transcript-chunk bytes the cockpit decodes,
@@ -3366,7 +3367,7 @@ async function createSupervisorDeps(opts = {}) {
3366
3367
  };
3367
3368
  }
3368
3369
 
3369
- const rawEngine = createRawEngineClient({ baseUrl: rc.baseUrl, token: rc.token, authHeaders: resolvedAuthHeaders, worker, fetchImpl });
3370
+ const rawEngine = createRawEngineClient({ baseUrl: rc.baseUrl, token: rc.token, authHeaders: resolvedAuthHeaders, worker, fetchImpl, camunda });
3370
3371
  const engine = rt.makeEngineClient(rawEngine);
3371
3372
  // `reconcileReader` (a raw `{ searchProcessDefinitionKeys, getProcessDefinitionXml }`)
3372
3373
  // may be injected to override the default keep-alive `httpC8RestReader` — the
@@ -8840,9 +8841,21 @@ async function runSupervisorDaemon() {
8840
8841
  }
8841
8842
  };
8842
8843
 
8844
+ // Per-worker log cap (#183). A supervised worker is long-lived and chatty, so
8845
+ // an unbounded append fd could grow `worker-<id>.log` to multiple GB and fill
8846
+ // the disk. When capped (the default), the daemon OWNS the bytes: it pipes the
8847
+ // child's stdout/stderr through a rotating ring (see `supervisor-log-ring.mjs`)
8848
+ // that keeps the newest output and bounds on-disk usage to ~2x the cap. Set
8849
+ // `NANO_SUPERVISOR_LOG_MAX_BYTES=0` to opt out (legacy raw-fd append).
8850
+ const workerLogMaxBytes = resolveLogMaxBytes(process.env.NANO_SUPERVISOR_LOG_MAX_BYTES);
8851
+
8843
8852
  const startWorker = (w) => {
8844
- let fd;
8845
- try { fd = openSync(w.logFile, 'a'); } catch { fd = 'ignore'; }
8853
+ // With a cap we pipe stdout/stderr through the daemon so the ring can bound
8854
+ // them; unbounded (opt-out) keeps the legacy direct-fd append. `fd` is only
8855
+ // used on the direct-fd path.
8856
+ const ringed = workerLogMaxBytes > 0;
8857
+ let fd = 'ignore';
8858
+ if (!ringed) { try { fd = openSync(w.logFile, 'a'); } catch { fd = 'ignore'; } }
8846
8859
  // Clear any stale activity marker from a previous incarnation so a freshly
8847
8860
  // (re)started worker never briefly shows a dead job as in-flight.
8848
8861
  const activityFile = supervisorWorkerActivityFile(w.id);
@@ -8858,9 +8871,40 @@ async function runSupervisorDaemon() {
8858
8871
  // child reparents to init.
8859
8872
  const child = spawn(exec, [entry, 'nano', 'work', w.profile, '--name', w.id, ...w.args], {
8860
8873
  env: { ...process.env, NANO_SUPERVISOR_ACTIVITY_FILE: activityFile, NANO_SUPERVISOR_DAEMON_PID: String(process.pid) },
8861
- stdio: ['ignore', fd, fd],
8874
+ stdio: ['ignore', ringed ? 'pipe' : fd, ringed ? 'pipe' : fd],
8862
8875
  });
8863
8876
  if (typeof fd === 'number') { try { closeSync(fd); } catch { /* dup'd into child */ } }
8877
+ // On the ringed path, relay every stdout/stderr chunk into a bounded,
8878
+ // rotating writer the daemon owns. Sync writes mean received bytes are on
8879
+ // disk before the child can die, and the ring is closed in the death handler
8880
+ // (and before a restart re-opens it) so fds never leak.
8881
+ if (ringed) {
8882
+ let ring = null;
8883
+ try {
8884
+ ring = createLogRing(w.logFile, workerLogMaxBytes);
8885
+ const feed = (chunk) => { try { ring.write(chunk); } catch { /* never crash the daemon */ } };
8886
+ if (child.stdout) { child.stdout.on('data', feed); child.stdout.on('error', () => {}); }
8887
+ if (child.stderr) { child.stderr.on('data', feed); child.stderr.on('error', () => {}); }
8888
+ } catch { ring = null; /* fall back to dropping output rather than crashing */ }
8889
+ // If ring setup threw, the child was still spawned with piped stdio, so we
8890
+ // MUST still drain stdout/stderr — an undrained pipe applies backpressure
8891
+ // and can deadlock the worker once its buffers fill. `resume()` discards
8892
+ // the bytes harmlessly (better than a wedged worker).
8893
+ if (!ring) {
8894
+ if (child.stdout) { child.stdout.on('error', () => {}); child.stdout.resume(); }
8895
+ if (child.stderr) { child.stderr.on('error', () => {}); child.stderr.resume(); }
8896
+ }
8897
+ // Close THIS child's ring once its stdio streams end ('close' fires after
8898
+ // stdout/stderr have flushed) AND on a spawn 'error' — an ENOENT/EMFILE
8899
+ // spawn failure emits only 'error' with no 'close', so without this the
8900
+ // ring fd would leak. Bound to the local `ring` (kept as worker-local
8901
+ // closure state, never on `w`) so a stale child's late event never shuts
8902
+ // a restarted worker's live ring;
8903
+ // `ring.close()` is idempotent, so the close+error double-fire is safe.
8904
+ const closeRing = () => { if (ring) { try { ring.close(); } catch { /* best effort */ } } };
8905
+ child.once('close', closeRing);
8906
+ child.once('error', closeRing);
8907
+ }
8864
8908
  w.child = child;
8865
8909
  w.pid = child.pid || null;
8866
8910
  w.startedAt = new Date().toISOString();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c8ctl-plugin-nano",
3
- "version": "1.53.0",
3
+ "version": "1.54.0",
4
4
  "type": "module",
5
5
  "description": "c8ctl plugin to start, inspect, and stop a local Nano BPM (nanobpmn) cluster",
6
6
  "main": "c8ctl-plugin.js",
@@ -39,7 +39,7 @@
39
39
  "build:supervisor": "node supervisor/build.mjs",
40
40
  "vendor:effect": "node scripts/vendor-effect.mjs",
41
41
  "test:supervisor": "node --experimental-strip-types --test supervisor/test/*.test.ts",
42
- "test": "node --check c8ctl-plugin.js && npm run typecheck:supervisor && npm run build:supervisor && npm run test:supervisor && node --test",
42
+ "test": "node --check c8ctl-plugin.js && npm run typecheck:supervisor && npm run build:supervisor && npm run test:supervisor && node --test --test-timeout=120000 --test-force-exit",
43
43
  "prepublishOnly": "npm run typecheck:supervisor && npm run build:supervisor"
44
44
  },
45
45
  "license": "MIT",
@@ -70,12 +70,12 @@
70
70
  },
71
71
  "optionalDependencies": {
72
72
  "node-pty": "^1.0.0",
73
- "@nanobpm/c8ctl-plugin-nano-darwin-arm64": "1.53.0",
74
- "@nanobpm/c8ctl-plugin-nano-darwin-x64": "1.53.0",
75
- "@nanobpm/c8ctl-plugin-nano-linux-x64": "1.53.0",
76
- "@nanobpm/c8ctl-plugin-nano-linux-arm64": "1.53.0",
77
- "@nanobpm/c8ctl-plugin-nano-linux-armv7": "1.53.0",
78
- "@nanobpm/c8ctl-plugin-nano-linux-armv6": "1.53.0",
79
- "@nanobpm/c8ctl-plugin-nano-win32-x64": "1.53.0"
73
+ "@nanobpm/c8ctl-plugin-nano-darwin-arm64": "1.54.0",
74
+ "@nanobpm/c8ctl-plugin-nano-darwin-x64": "1.54.0",
75
+ "@nanobpm/c8ctl-plugin-nano-linux-x64": "1.54.0",
76
+ "@nanobpm/c8ctl-plugin-nano-linux-arm64": "1.54.0",
77
+ "@nanobpm/c8ctl-plugin-nano-linux-armv7": "1.54.0",
78
+ "@nanobpm/c8ctl-plugin-nano-linux-armv6": "1.54.0",
79
+ "@nanobpm/c8ctl-plugin-nano-win32-x64": "1.54.0"
80
80
  }
81
81
  }
@@ -4,19 +4,45 @@
4
4
  * (issue #156).
5
5
  *
6
6
  * #154's activation loop deliberately does NOT use the `@camunda8` SDK job
7
- * worker: the SDK models one poller per type with `maxJobsToActivate =
8
- * maxParallel − active` and structurally cannot express "global capacity S
9
- * shared across K types with per-type gating". The supervisor rolls its own race
10
- * over a NARROW two-call engine surface instead:
7
+ * worker (`createJobWorker`): that convenience loop models one self-driving
8
+ * poller per type with `maxJobsToActivate = maxParallel − active` and cannot
9
+ * express "global capacity S shared across K types with per-type gating". The
10
+ * supervisor rolls its own race over a NARROW single-shot engine surface — but
11
+ * every call on that surface still PREFERS the injected `camunda` SDK client's
12
+ * typed method, hand-rolling REST only as a standalone/wire-test fallback:
11
13
  *
12
- * - `activate` → `POST <base>/v2/jobs/activation` for exactly ONE type, one
13
- * long-poll, resolving 0..`maxJobsToActivate` jobs (0 == the long-poll
14
- * expired empty). `timeout` is the SHORT initial lock (the crash-safety net);
15
- * `requestTimeout` is how long the call blocks server-side.
16
- * - `extendLock` → `PATCH <base>/v2/jobs/{jobKey}/timeout` with `{ timeout }`.
14
+ * - `activate` → the SDK's typed `activateJobs` (operationId `activateJobs` →
15
+ * `POST <base>/jobs/activation`) for exactly ONE type, one long-poll,
16
+ * resolving 0..`maxJobsToActivate` jobs (0 == the long-poll expired empty).
17
+ * `activateJobs` is the SINGLE-SHOT primitive `createJobWorker` is built on;
18
+ * its input body (`JobActivationRequest`) is 1:1 with ours and its returned
19
+ * `CancelablePromise.cancel()` aborts the in-flight long-poll, so a losing
20
+ * `raceAll` fiber interrupts its poll at once. Falls back to the SAME call
21
+ * issued raw via `fetchImpl` when no SDK client is injected. `timeout` is the
22
+ * SHORT initial lock (the crash-safety net); `requestTimeout` is how long the
23
+ * call blocks server-side.
24
+ * - `extendLock` → the SDK's typed `updateJob` (operationId `updateJob`,
25
+ * `PATCH <base>/jobs/{jobKey}` with `{ changeset: { timeout } }`) when a
26
+ * `camunda` SDK client is injected, else the SAME call issued raw via
27
+ * `fetchImpl` (so the module stays wire-testable without a live client).
17
28
  * The C8 contract SETs the lock to `ms` from now (a duration-from-now), which
18
29
  * is exactly the supervisor's "extend the winner to the recovery window, then
19
- * heartbeat" model — set, not accumulate.
30
+ * heartbeat" model — set, not accumulate. NOTE: there is no
31
+ * `/jobs/{jobKey}/timeout` sub-route — that was a drifted URL that 404s on the
32
+ * engine; the timeout is a `changeset` field on the job resource itself.
33
+ * - `complete` / `fail` → the SDK's typed `completeJob` / `failJob` (operationIds
34
+ * `completeJob` → `POST <base>/jobs/{jobKey}/completion`, `failJob` →
35
+ * `POST <base>/jobs/{jobKey}/failure`) when a `camunda` SDK client is injected,
36
+ * else the SAME calls issued raw via `fetchImpl` — the settle surface the
37
+ * supervisor's JobRunner uses once an agent finishes.
38
+ *
39
+ * Every method on this surface (`activate`→`activateJobs`,
40
+ * `extendLock`→`updateJob`, `complete`→`completeJob`, `fail`→`failJob`) PREFERS
41
+ * the injected `camunda` client and only hand-rolls the REST call as a
42
+ * standalone/wire-test fallback; there is no sanctioned raw-only method. This
43
+ * convention is pinned by `supervisor-engine-sdk-preference.test.mjs` — a new
44
+ * engine method that hits a raw route must either prefer an SDK method or be
45
+ * added to that test's raw-only allowlist with a reason.
20
46
  *
21
47
  * This module is the raw-JS analogue of `agentic-endpoint.mjs`: it is Effect-free
22
48
  * (the supervisor's `makeEngineClient` lift wraps each method into the Effect
@@ -136,7 +162,8 @@ async function readErrorBody(res) {
136
162
  * @param {Record<string,string>|(() => (Record<string,string>|Promise<Record<string,string>>))} [opts.authHeaders] Ready-made auth header map, OR a resolver invoked per request (so rotating SDK auth — e.g. an OAuth bearer that refreshes — is re-derived each call rather than frozen). Wins over `token`.
137
163
  * @param {typeof fetch} [opts.fetchImpl] Injected `fetch` (defaults to the global; overridden in tests).
138
164
  * @param {number} [opts.requestTimeoutSlackMs] Extra ms added to a call's abort budget over its server long-poll (default 5000).
139
- * @returns {{ activate(req: ActivateRequest): 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> }}
165
+ * @param {{ activateJobs?: (input: { type: string, worker?: string, maxJobsToActivate: number, timeout: number, requestTimeout?: number }) => (Promise<{ jobs?: object[] }> & { cancel?: () => void }), updateJob?: (req: { jobKey: string, changeset: { timeout: number } }) => Promise<unknown>, completeJob?: (req: { jobKey: string, variables?: object }) => Promise<unknown>, failJob?: (req: { jobKey: string, retries?: number, errorMessage?: string, retryBackOff?: number, variables?: object }) => Promise<unknown> }} [opts.camunda] Optional Camunda SDK client. When present, each engine method prefers its typed SDK method over the raw fetch fallback: `activate`→`activateJobs` (`POST /v2/jobs/activation`, cancelled via the returned `CancelablePromise.cancel()`), `extendLock`→`updateJob` (`PATCH /v2/jobs/{jobKey}` `{ changeset: { timeout } }`), `complete`→`completeJob` (`POST /v2/jobs/{jobKey}/completion`), `fail`→`failJob` (`POST /v2/jobs/{jobKey}/failure`).
166
+ * @returns {{ activate(req: ActivateRequest, signal?: AbortSignal): Promise<ReadonlyArray<ActivatedJob>>, extendLock(jobKey: string, ms: number): Promise<void>, complete(jobKey: string, variables?: object): Promise<void>, fail(jobKey: string, opts?: { retries?: number, errorMessage?: string, retryBackOff?: number, variables?: object }): Promise<void> }}
140
167
  */
141
168
  export function createRawEngineClient(opts = {}) {
142
169
  const {
@@ -146,6 +173,7 @@ export function createRawEngineClient(opts = {}) {
146
173
  authHeaders,
147
174
  fetchImpl = fetch,
148
175
  requestTimeoutSlackMs = 5_000,
176
+ camunda,
149
177
  } = opts;
150
178
  if (typeof fetchImpl !== "function") {
151
179
  throw new TypeError("createRawEngineClient: `fetchImpl` must be a function (global fetch or an injected fake)");
@@ -172,34 +200,78 @@ export function createRawEngineClient(opts = {}) {
172
200
 
173
201
  /**
174
202
  * Issue one call with an abort budget. `abortAfterMs <= 0` means no timer
175
- * (the caller relies purely on the server long-poll / connection).
203
+ * (the caller relies purely on the server long-poll / connection). An optional
204
+ * `extSignal` (e.g. the Effect fiber's interruption signal for the `activate`
205
+ * long-poll) also aborts the in-flight fetch, so a losing `raceAll` fiber stops
206
+ * its poll immediately instead of leaking it until the budget timer fires.
176
207
  */
177
- async function call(url, init, abortAfterMs) {
208
+ async function call(url, init, abortAfterMs, extSignal) {
178
209
  const controller = new AbortController();
179
210
  const timer = abortAfterMs > 0 ? setTimeout(() => controller.abort(), abortAfterMs) : null;
211
+ const onExtAbort = () => controller.abort();
212
+ if (extSignal) {
213
+ if (extSignal.aborted) controller.abort();
214
+ else extSignal.addEventListener("abort", onExtAbort, { once: true });
215
+ }
180
216
  try {
181
217
  const headers = await resolveHeaders();
182
218
  return await fetchImpl(url, { ...init, headers, signal: controller.signal });
183
219
  } finally {
184
220
  if (timer) clearTimeout(timer);
221
+ if (extSignal) extSignal.removeEventListener("abort", onExtAbort);
185
222
  }
186
223
  }
187
224
 
188
225
  return {
189
- async activate(req) {
190
- const body = JSON.stringify({
226
+ async activate(req, signal) {
227
+ // Prefer the SDK's typed `activateJobs` (operationId `activateJobs` →
228
+ // `POST /v2/jobs/activation`) so the ONE-type long-poll tracks the engine
229
+ // contract instead of a hand-rolled body/URL. The SDK's `createJobWorker`
230
+ // convenience loop can't express the supervisor's global-capacity single
231
+ // race — but `activateJobs` is the SAME single-shot primitive that loop is
232
+ // built on, and its input body (`JobActivationRequest`) is 1:1 with ours.
233
+ // Its `CancelablePromise.cancel()` aborts the in-flight long-poll, so a
234
+ // losing `raceAll` fiber (interruption → `signal.aborted`) stops its poll
235
+ // immediately. Fall back to the SAME call issued raw via `fetchImpl` when no
236
+ // SDK client is injected (keeps this module wire-testable and standalone).
237
+ // `timeout` is the SHORT initial lock applied to any returned job;
238
+ // `requestTimeout` is the server-side long-poll window.
239
+ const input = {
191
240
  type: req.type,
192
241
  worker,
193
242
  maxJobsToActivate: req.maxJobsToActivate,
194
- // `timeout` is the SHORT initial lock applied to any returned job.
195
243
  timeout: req.lockMs,
196
- // `requestTimeout` is the server-side long-poll window.
197
244
  requestTimeout: req.requestTimeoutMs,
198
- });
245
+ };
199
246
  // Give the abort budget slack over the server long-poll so we don't cancel
200
247
  // a still-valid long-poll a hair before the server would answer it.
201
248
  const abortAfterMs = req.requestTimeoutMs > 0 ? req.requestTimeoutMs + requestTimeoutSlackMs : 0;
202
- const res = await call(`${base}/jobs/activation`, { method: "POST", body }, abortAfterMs);
249
+ if (camunda && typeof camunda.activateJobs === "function") {
250
+ const p = camunda.activateJobs(input);
251
+ // Wire BOTH cancellation sources onto the CancelablePromise: the external
252
+ // interruption signal (fiber lost the race) and the client-side abort
253
+ // budget (a hung connection past the server window). `cancel()` aborts the
254
+ // SDK's own AbortController, ending the long-poll.
255
+ const cancel = typeof p?.cancel === "function" ? () => p.cancel() : () => {};
256
+ const timer = abortAfterMs > 0 ? setTimeout(cancel, abortAfterMs) : null;
257
+ const onExtAbort = () => cancel();
258
+ if (signal) {
259
+ if (signal.aborted) cancel();
260
+ else signal.addEventListener("abort", onExtAbort, { once: true });
261
+ }
262
+ try {
263
+ const result = await p;
264
+ const jobs = Array.isArray(result?.jobs) ? result.jobs : Array.isArray(result) ? result : [];
265
+ return jobs.map(mapJob);
266
+ } catch (err) {
267
+ throw new Error(`activate ${req.type}: SDK activateJobs failed: ${err?.message ?? err}`, { cause: err });
268
+ } finally {
269
+ if (timer) clearTimeout(timer);
270
+ if (signal) signal.removeEventListener("abort", onExtAbort);
271
+ }
272
+ }
273
+ const body = JSON.stringify(input);
274
+ const res = await call(`${base}/jobs/activation`, { method: "POST", body }, abortAfterMs, signal);
203
275
  if (!res || !res.ok) {
204
276
  const status = res ? res.status : "?";
205
277
  throw new Error(`activate ${req.type}: HTTP ${status} from ${base}/jobs/activation${res ? await readErrorBody(res) : ""}`);
@@ -210,8 +282,21 @@ export function createRawEngineClient(opts = {}) {
210
282
  },
211
283
 
212
284
  async extendLock(jobKey, ms) {
213
- const url = `${base}/jobs/${encodeURIComponent(jobKey)}/timeout`;
214
- const res = await call(url, { method: "PATCH", body: JSON.stringify({ timeout: ms }) }, 15_000);
285
+ // Prefer the SDK's typed `updateJob` (operationId `updateJob` →
286
+ // `PATCH /v2/jobs/{jobKey}` with `{ changeset: { timeout } }`) so the lock
287
+ // extension tracks the engine contract instead of a hand-rolled URL. Fall
288
+ // back to the SAME call issued raw when no SDK client is injected (keeps
289
+ // this module wire-testable and usable standalone).
290
+ if (camunda && typeof camunda.updateJob === "function") {
291
+ try {
292
+ await camunda.updateJob({ changeset: { timeout: ms }, jobKey: String(jobKey) });
293
+ return;
294
+ } catch (err) {
295
+ throw new Error(`extendLock ${jobKey}: SDK updateJob failed: ${err?.message ?? err}`, { cause: err });
296
+ }
297
+ }
298
+ const url = `${base}/jobs/${encodeURIComponent(jobKey)}`;
299
+ const res = await call(url, { method: "PATCH", body: JSON.stringify({ changeset: { timeout: ms } }) }, 15_000);
215
300
  if (!res || !res.ok) {
216
301
  const status = res ? res.status : "?";
217
302
  throw new Error(`extendLock ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
@@ -220,21 +305,33 @@ export function createRawEngineClient(opts = {}) {
220
305
 
221
306
  // ---- Job completion / failure ------------------------------------------
222
307
  // The narrow surface the supervisor's JobRunner needs to SETTLE a job once
223
- // its agent harness finishes — the direct-REST analogue of the SDK job
224
- // object's `job.complete()` / `job.fail()` (which the per-type SDK poller
225
- // path in `workAgent` still uses). A plain `ActivatedJob` (jobKey/type/
226
- // variables) carries no settle methods, so the supervisor path completes via
227
- // these calls instead. Effect-free and wire-testable like `activate` /
228
- // `extendLock`; a non-2xx (e.g. a 409 when the lock already lapsed and the
229
- // job was reclaimed) surfaces as a rejected promise for the port to map.
308
+ // its agent harness finishes — the analogue of the SDK job object's
309
+ // `job.complete()` / `job.fail()` (which the per-type SDK poller path in
310
+ // `workAgent` still uses). A plain `ActivatedJob` (jobKey/type/variables)
311
+ // carries no settle methods, so the supervisor path settles via these calls.
312
+ // Like `extendLock`, each PREFERS the injected `camunda` SDK client's typed
313
+ // method (`completeJob` / `failJob`) and only hand-rolls the REST call as a
314
+ // standalone/wire-test fallback. Effect-free and wire-testable; a non-2xx /
315
+ // SDK rejection (e.g. a 409 when the lock lapsed and the job was reclaimed)
316
+ // surfaces as a rejected promise for the port to map.
230
317
 
231
318
  async complete(jobKey, variables) {
232
- // `POST <base>/v2/jobs/{jobKey}/completion` with `{ variables }` — the
319
+ // Prefer the SDK's typed `completeJob` (operationId `completeJob` →
320
+ // `POST /v2/jobs/{jobKey}/completion` with `{ variables }`) when a `camunda`
321
+ // SDK client is injected, else the SAME call issued raw via `fetchImpl`. The
233
322
  // result-variable map the model produced is merged onto the process
234
323
  // instance. C8 v2 answers 204 No Content on success.
324
+ const vars = isPlainObjectMap(variables) ? { variables } : {};
325
+ if (camunda && typeof camunda.completeJob === "function") {
326
+ try {
327
+ await camunda.completeJob({ jobKey: String(jobKey), ...vars });
328
+ return;
329
+ } catch (err) {
330
+ throw new Error(`complete ${jobKey}: SDK completeJob failed: ${err?.message ?? err}`, { cause: err });
331
+ }
332
+ }
235
333
  const url = `${base}/jobs/${encodeURIComponent(jobKey)}/completion`;
236
- const body = JSON.stringify(isPlainObjectMap(variables) ? { variables } : {});
237
- const res = await call(url, { method: "POST", body }, 15_000);
334
+ const res = await call(url, { method: "POST", body: JSON.stringify(vars) }, 15_000);
238
335
  if (!res || !res.ok) {
239
336
  const status = res ? res.status : "?";
240
337
  throw new Error(`complete ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
@@ -246,19 +343,30 @@ export function createRawEngineClient(opts = {}) {
246
343
  // null-safe `variables`), so a caller passing `null` never trips the
247
344
  // signature-destructure TypeError.
248
345
  const { retries = 0, errorMessage, retryBackOff, variables } = opts || {};
249
- // `POST <base>/v2/jobs/{jobKey}/failure` with `{ retries, errorMessage?,
250
- // retryBackOff?, variables? }` — `retries > 0` re-queues for another
251
- // attempt, `retries === 0` raises an incident. Optional fields are omitted
252
- // when absent so the engine applies its own defaults. C8 v2 answers 204.
253
- const url = `${base}/jobs/${encodeURIComponent(jobKey)}/failure`;
254
346
  // Normalize retries to a non-negative integer (mirrors `mapJob`), so a
255
- // string/float/negative never reaches the engine as an invalid count.
347
+ // string/float/negative never reaches the engine (or SDK) as an invalid
348
+ // count. `retries > 0` re-queues for another attempt, `retries === 0`
349
+ // raises an incident. Optional fields are omitted when absent so the engine
350
+ // applies its own defaults.
256
351
  const nRetries = Number(retries);
257
- const payload = { retries: Number.isFinite(nRetries) ? Math.max(0, Math.trunc(nRetries)) : 0 };
258
- if (errorMessage !== undefined && errorMessage !== null) payload.errorMessage = String(errorMessage);
259
- if (Number.isFinite(retryBackOff) && retryBackOff > 0) payload.retryBackOff = retryBackOff;
260
- if (isPlainObjectMap(variables)) payload.variables = variables;
261
- const res = await call(url, { method: "POST", body: JSON.stringify(payload) }, 15_000);
352
+ const normRetries = Number.isFinite(nRetries) ? Math.max(0, Math.trunc(nRetries)) : 0;
353
+ const extra = {};
354
+ if (errorMessage !== undefined && errorMessage !== null) extra.errorMessage = String(errorMessage);
355
+ if (Number.isFinite(retryBackOff) && retryBackOff > 0) extra.retryBackOff = retryBackOff;
356
+ if (isPlainObjectMap(variables)) extra.variables = variables;
357
+ // Prefer the SDK's typed `failJob` (operationId `failJob` →
358
+ // `POST /v2/jobs/{jobKey}/failure`) when a `camunda` SDK client is injected,
359
+ // else the SAME call issued raw via `fetchImpl`. C8 v2 answers 204.
360
+ if (camunda && typeof camunda.failJob === "function") {
361
+ try {
362
+ await camunda.failJob({ jobKey: String(jobKey), retries: normRetries, ...extra });
363
+ return;
364
+ } catch (err) {
365
+ throw new Error(`fail ${jobKey}: SDK failJob failed: ${err?.message ?? err}`, { cause: err });
366
+ }
367
+ }
368
+ const url = `${base}/jobs/${encodeURIComponent(jobKey)}/failure`;
369
+ const res = await call(url, { method: "POST", body: JSON.stringify({ retries: normRetries, ...extra }) }, 15_000);
262
370
  if (!res || !res.ok) {
263
371
  const status = res ? res.status : "?";
264
372
  throw new Error(`fail ${jobKey}: HTTP ${status} from ${url}${res ? await readErrorBody(res) : ""}`);
@@ -21,4 +21,4 @@ ${Ku(e.cause," ")}
21
21
  `),n=`${t}[cause]: ${r[0]}`;for(let o=1,s=r.length;o<s;o++)n+=`
22
22
  ${t}${r[o]}`;return e.cause&&(n+=` {
23
23
  ${Ku(e.cause,`${t} `)}
24
- ${t}}`),n},yn="~effect/Fiber",Zx={_A:w,_E:w},Gx={id:0},wr=()=>globalThis[mr],Co=class{constructor(t,r=!0){this[yn]=Zx,this.setContext(t),this.id=++Gx.id,this.currentOpCount=0,this.interruptible=r,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this.runtimeMetrics?.recordFiberStart(this.context)}[yn];id;interruptible;currentOpCount;_stack;_observers;_exit;_children;_interruptedCause;_yielded;_running;_deferredInterrupt;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(t){return ve(this.context,t)}addObserver(t){return this._exit?(t(this._exit),Bt):(this._observers.push(t),()=>{if(this._exit)return;let r=this._observers.indexOf(t);r>=0&&this._observers.splice(r,1)})}interruptUnsafe(t,r){if(this._exit)return;let n=kn(t);this.currentStackFrame&&(n=en(n,ao(Yn,this.currentStackFrame))),r&&(n=en(n,r)),this._interruptedCause=this._interruptedCause?bi(this._interruptedCause,n):n,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(F(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(t){if(this._exit)return;if(this._yielded!==void 0){let o=this._yielded;this._yielded=void 0,o()}let r=this.runLoop(t);if(r===Vt)return;let n=si.interruptChildren&&si.interruptChildren(this);if(n!==void 0)return this.evaluate(h(n,()=>r));this._exit=r,this.runtimeMetrics?.recordFiberEnd(this.context,this._exit);for(let o=0;o<this._observers.length;o++)this._observers[o](r);this._observers.length=0,this._stack.length=0,this._children=void 0,this.context=Me()}runLoop(t){let r=globalThis[mr];globalThis[mr]=this;let n=this._running;this._running=!0;let o=!1,s=t;this.currentOpCount=0;try{for(;;){if(this._deferredInterrupt&&(this._deferredInterrupt=!1,s=F(this._interruptedCause)),this.currentOpCount++,!o&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){o=!0;let i=s;s=h(Ir,()=>i)}if(s=this.currentTracerContext?this.currentTracerContext(s,this):s[Y](this),s===Vt){let i=this._yielded;if(xr in i)return this._deferredInterrupt=!1,this._yielded=void 0,i;if(this._deferredInterrupt){this._yielded=void 0,i();continue}return Vt}}}catch(i){return b(s,Y)?this.runLoop(Ke(i)):Ke(`Fiber.runLoop: Not a valid effect: ${String(s)}`)}finally{this._running=n,globalThis[mr]=r}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,Yx;for(;;){let r=this._stack.pop();if(!r)return;let n=r[Mt]&&r[Mt](this);if(n)return n[t]=n,n;if(r[t])return r}}yieldWith(t){return this._yielded=t,Vt}children(){return this._children??=new Set}pipe(){return D(this,arguments)}setContext(t){let r=this.context;if(this.context=t,r!==void 0&&Ga(r,t))return;let n=this.getRef(pn);n!==this.currentScheduler&&(this.currentScheduler=n,this._dispatcher=void 0),this.currentSpan=an(t,Ys),this.currentLogLevel=this.getRef(Qs),this.minimumLogLevel=this.getRef(ei),this.currentStackFrame=this.getRef(xn),this.maxOpsBeforeYield=this.getRef(Eu),this.currentPreventYield=this.getRef(vu),this.runtimeMetrics=an(t,Au);let o=an(t,Xs);this.currentTracerContext=o?o.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}},Yx={[ue](e,t){return F(t._interruptedCause)},[Ae](e,t){return F(t._interruptedCause)}},si={interruptChildren:void 0},Cn=e=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(bs.key,e.currentStackFrame),Sr(t)},Xx=e=>{if(!(e._children===void 0||e._children.size===0))return St(e._children)},vi=e=>{let t=e;return t._exit?x(t._exit):ce(r=>t._exit?r(x(t._exit)):E(e.addObserver(n=>r(x(n)))))},Tr=e=>ce(t=>{let r=e[Symbol.iterator](),n=[],o;function s(){let i=r.next();for(;!i.done;){if(i.value._exit){n.push(i.value._exit),i=r.next();continue}o=i.value.addObserver(c=>{n.push(c),s()});return}t(x(n))}return s(),E(()=>o?.())}),Ju=e=>{let t=e;return t._exit?t._exit:ce(r=>t._exit?r(t._exit):E(e.addObserver(r)))},Vu=e=>ce(t=>{let r=Array.from(e);if(r.length===0)return t(x(cn()));let n=new Array(r.length),o=cn(),s=0,i=!1;for(let c=0;c<r.length&&!i;c++)o.push(r[c].addObserver(u=>{if(s++,u._tag==="Failure")return i=!0,o.forEach(f=>f()),t(u);n[c]=u.value,s===r.length&&t(x(n))}));return E(()=>{i=!0,o.forEach(c=>c())})}),Oo=e=>k(t=>ki(e,t.id)),ki=a(e=>b(e[0],yn),(e,t,r)=>k(n=>{let o=Cn(n);return o=o&&r?fo(o,r):o??r,e.interruptUnsafe(t,o),Or(vi(e))})),St=e=>k(t=>{let r=Cn(t),n=cn();for(let o of e)o.interruptUnsafe(t.id,r),n.push(o);return Or(Tr(n))}),Zu=a(2,(e,t)=>k(r=>{let n=Cn(r),o=cn();for(let s of e)s.interruptUnsafe(t,n),o.push(s);return Or(Tr(o))})),x=re,F=Ee,j=nt,E=_e({op:"Sync",[Y](e){let t=this[R](),r=e.getCont(ue);return r?r[ue](t,e):e.yieldWith(re(t))}}),v=_e({op:"Suspend",[Y](e){return this[R]()}}),Ci=a(e=>e.length>=2||Aa(e[0]),(e,t)=>Gt(e)?j(t?t():new tt("Effect.fromOption: Option.none")):x(e.value)),er=Fs({onFailure:j,onSuccess:x}),Gu=e=>e==null?j(new tt):x(e),wi=_e({op:"Yield",[Y](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(Ue)},this[R]??0),e.yieldWith(()=>{t=!0})}}),Ir=wi(0),Ti=e=>x(Z(e)),wn=x(V()),Yu=e=>Gt(e)?wn:T(e.value,Z),Xu=e=>v(()=>F(A(e))),Dt=e=>Ke(e),Ro=e=>v(()=>j(A(e))),O=x(void 0);var Qu=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.try"):e.catch;return v(()=>{try{return x(A(t))}catch(n){return j(A(()=>r(n)))}})};var Ii=e=>Oi(function(t,r){A(()=>e(r)).then(n=>t(x(n)),n=>t(Dt(n)))},e.length!==0),ef=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.tryPromise"):e.catch;return Oi(function(n,o){let s=i=>{try{n(j(A(()=>r(i))))}catch(c){n(Dt(c))}};try{A(()=>t(o)).then(i=>n(x(i)),s)}catch(i){s(i)}},t.length!==0)},tf=e=>k(t=>e(t.id)),rf=k(x),nf=tf(x),Oi=_e({op:"Async",single:!1,[Y](e){let t=A(()=>this[R][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[R][1]?new AbortController:void 0,s=t(i=>{r||(r=!0,n?e.evaluate(i):n=i)},o?.signal);return n!==!1?n:(n=!0,e._yielded=()=>{r=!0},o===void 0&&s===void 0?Vt:(e._stack.push(Qx(()=>(r=!0,o?.abort(),s??Ue))),Vt))}}),Qx=_e({op:"AsyncFinalizer",[Mt](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Ho))},[Ae](e,t){return ju(e)?h(this[R](),()=>F(e)):F(e)}}),ce=e=>Oi(e,e.length>=2),Ao=ce(Bt),of=(...e)=>v(()=>kr(e.length===1?e[0]():e[1].call(e[0].self))),Ri=(e,...t)=>{let r=t.length===0?function(){return v(()=>kr(e.apply(this,arguments)))}:function(){let n=v(()=>kr(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return Ai(e.length,r)},Ai=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),Mu=ti(2),sf=function(){let e=typeof arguments[0]=="string",t=e?arguments[0]:"Effect.fn",r=e?arguments[1]:void 0,n=vr();st(2);let o=new globalThis.Error;return st(n),e?(s,...i)=>Fu(t,s,o,i,e,r):Fu(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},Fu=(e,t,r,n,o,s)=>{let i=typeof t=="function"?t:n.shift().bind(t.self);return Ai(i.length,function(...c){let u=v(()=>{let d=i.apply(this,arguments);return S(d)?d:kr(d)});for(let d=0;d<n.length;d++)u=n[d](u,...c);if(!S(u))return u;let f=vr();st(2);let m=new globalThis.Error;return st(f),vt(o?En(e,s,d=>fi(u,d)):u,xn,d=>({name:e,stack:Mu(()=>m.stack),parent:{name:`${e} (definition)`,stack:Mu(()=>r.stack),parent:d}}))})},cf=(e,...t)=>Ai(e.length,t.length===0?function(){return Uu(()=>e.apply(this,arguments))}:function(){let r=Uu(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),Uu=e=>{try{let t=e(),r;for(;;){let n=t.next(r);if(n.done)return x(n.value);let o=n.value;if(o&&o._tag==="Success"){r=o.value;continue}else{if(o&&o._tag==="Failure")return n.value;{let s=!0;return v(()=>s?(s=!1,h(n.value,i=>kr(t,i))):v(()=>kr(e())))}}}}catch(t){return Dt(t)}},kr=_e({op:"Iterator",single:!1,[ue](e,t){let r=this[R][0];for(;;){let n=r.next(e);if(n.done)return x(n.value);if(me(n.value)){if(n.value._tag==="Failure")return n.value}else return t._stack.push(this),n.value;e=n.value.value}},[Y](e){return this[ue](this[R][1],e)}}),le=a(2,(e,t)=>{let r=x(t);return h(e,n=>r)}),_o=e=>T(e,Z),af=e=>tr(e,{onFailure:x,onSuccess:j}),Pt=a(2,(e,t)=>h(e,r=>S(t)?t:A(()=>t(r)))),Lt=a(2,(e,t)=>h(e,r=>le(S(t)?t:A(()=>t(r)),r))),Or=e=>h(e,t=>Ue),uf=e=>Te(e,j),_i=(e,t)=>k(r=>ce(n=>{let o=B(e),s=o.length,i=0,c=!1,u=new Set,f=[],m=(d,y,p)=>{if(i++,d._tag==="Failure"){f.push(...d.cause.reasons),i>=s&&n(F(Ft(f)));return}let I=!c;c=!0,n(u.size===0?d:h(wt(St(u)),()=>d)),I&&t?.onWinner&&t.onWinner({fiber:y,index:p,parentFiber:r})};for(let d=0;d<s;d++){let y=nr(r,o[d],!0,!0,!1);if(u.add(y),y.addObserver(p=>{u.delete(y),m(p,y,d)}),c)break}return St(u)})),Mi=(e,t)=>k(r=>ce(n=>{let o=!1,s=new Set,i=u=>{o=!0,n(s.size===0?u:h(wt(St(s)),()=>u))},c=0;for(let u of e){if(o)break;let f=c++,m=nr(r,u,!0,!0,!1);s.add(m),m.addObserver(d=>{s.delete(m);let y=!o;i(d),y&&t?.onWinner&&t.onWinner({fiber:m,index:f,parentFiber:r})})}return St(s)})),ff=a(e=>S(e[1]),(e,t,r)=>_i([e,t],r)),Mo=a(e=>S(e[1]),(e,t,r)=>Mi([e,t],r)),h=a(2,(e,t)=>{let r=Object.create(eh);return r[R]=e,r[ue]=t.length!==1?n=>t(n):t,r}),eh=mt({op:"OnSuccess",[Y](e){return e._stack.push(this),this[R]}}),lf=a(2,(e,t)=>me(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):it(e,t)),me=e=>xr in e,pf=a(2,(e,t)=>me(e)?e._tag==="Success"?t(e.value):e:h(e,t)),df=e=>h(e,w),T=a(2,(e,t)=>h(e,r=>x(A(()=>t(r))))),mf=a(2,(e,t)=>me(e)?bf(e,t):T(e,t)),xf=a(2,(e,t)=>me(e)?Sf(e,t):$i(e,t)),hf=a(2,(e,t)=>me(e)?Ef(e,t):ji(e,t)),gf=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:t(r.success)}return Ie(e,t)});var Fo=e=>e._tag==="Success";var yf=e=>e._tag==="Failure"?Q(e.cause):z(e);var Ue=re(void 0),bf=a(2,(e,t)=>e._tag==="Success"?re(t(e.value)):e),Sf=a(2,(e,t)=>{if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:nt(t(r.success))}),Ef=a(2,(e,t)=>{if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:nt(t.onFailure(r.success))});var vf=e=>{let t=[];for(let r of e)r._tag==="Failure"&&t.push(...r.cause.reasons);return t.length===0?Ue:Ee(Ft(t))};var kf=e=>e,Cf=e=>k(t=>x(js(t.context,e))),th=e=>k(t=>Ci(js(t.context,e))),Rr=a(2,(e,t)=>k(r=>{let n=r.context,o=t(n);return n===o?e:(r.setContext(o),Fr(e,()=>{r.setContext(n)}))})),vt=a(3,(e,t,r)=>Rr(e,n=>{let o=yt(n,t),s=r(o);return o===s?n:ke(n,t,s)})),wf=(e,t,r)=>wt(k(n=>{let o=yt(n.context,e),s=t(o);return n.setContext(ke(n.context,e,s)),Ct(yt(n.context,Mr),i=>{let c=yt(n.context,e),u;if(r?.reset===void 0){if(c!==s)return O;u=o}else u=r.reset(o,s,c);return n.setContext(ke(n.context,e,u)),O})})),Fi=()=>rh,rh=k(e=>x(e.context)),$t=e=>k(t=>e(t.context)),Tf=a(2,(e,t)=>Rr(e,oe(t))),kt=a(2,(e,t)=>me(e)?e:Rr(e,fo(t))),xe=function(){return arguments.length===1?a(2,(e,t)=>Nu(e,arguments[0],t)):a(3,(e,t,r)=>Nu(e,t,r)).apply(this,arguments)},Nu=(e,t,r)=>Rr(e,ke(t,r)),Uo=a(3,(e,t,r)=>h(r,n=>xe(e,t,n))),If=a(e=>S(e[1]),(e,t,r)=>Ui(e,t,(n,o)=>[n,o],r)),Ui=a(e=>S(e[1]),(e,t,r,n)=>n?.concurrent?T(rr([e,t],{concurrency:2}),([o,s])=>A(()=>r(o,s))):h(e,o=>T(t,s=>A(()=>r(o,s))))),Of=a(e=>S(e[0]),(e,t,r)=>nc(e,t,r?n=>j(r(n)):()=>j(new tt))),Rf=a(2,(e,t)=>h(t,r=>r?_o(e):wn)),Ni=a(2,(e,t)=>Array.from({length:t},()=>e)),Af=a(e=>S(e[0]),(e,t,r)=>rr(Ni(e,t),r)),No=a(e=>S(e[0]),(e,t)=>Tt({while:At,body:oe(t?.disableYield?e:h(e,r=>Ir)),step:Bt})),Te=a(2,(e,t)=>{let r=Object.create(nh);return r[R]=e,r[Ae]=t.length!==1?n=>t(n):t,r}),nh=mt({op:"OnFailure",[Y](e){return e._stack.push(this),this[R]}}),Di=a(3,(e,t,r)=>Te(e,n=>t(n)?A(()=>r(n)):F(n))),Ar=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(o.failure):A(()=>r(o.success,n))})),Ie=a(2,(e,t)=>Ar(e,Et,r=>t(r))),_f=e=>tr(e,{onFailure:t=>Ss(t)?wn:j(t),onSuccess:Ti}),Mf=a(2,(e,t)=>Ar(e,yi,t)),Ff=a(2,(e,t)=>Te(e,r=>Pt(A(()=>t(r)),F(r)))),Uf=a(3,(e,t,r)=>Di(e,t,n=>Pt(A(()=>r(n)),F(n)))),Do=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(n):Pt(A(()=>r(o.success,n)),F(n))})),Pi=a(2,(e,t)=>Do(e,Et,r=>t(r))),Nf=a(3,(e,t,r)=>{let n=Array.isArray(t)?o=>b(o,"_tag")&&t.includes(o._tag):Kt(t);return Pi(e,o=>n(o)?r(o):O)}),Df=a(2,(e,t)=>Do(e,yi,r=>t(r))),Tn=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);return G(s)?F(s.failure):t(s.success)?A(()=>r(s.success)):n?A(()=>n(s.success)):F(o)})),Po=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);if(G(s))return F(s.failure);let i=t(s.success);return G(i)?n?A(()=>n(i.failure)):F(o):A(()=>r(i.success))})),Li=a(e=>S(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?s=>b(s,"_tag")&&t.includes(s._tag):Kt(t);return Tn(e,o,r,n)}),Pf=a(e=>S(e[0]),(e,t,r)=>{let n;return Po(e,o=>(n??=Object.keys(t),b(o,"_tag")&&Hn(o._tag)&&n.includes(o._tag)?Q(o):z(o)),o=>A(()=>t[o._tag](o)),r)}),Lf=a(e=>S(e[0]),(e,t,r,n,o)=>Tn(e,s=>Kt(s,t)&&b(s,"reason"),s=>{let i=s.reason;return Kt(i,r)?n(i,s):o?A(()=>o(i,s)):j(s)})),$f=a(e=>S(e[0]),(e,t,r,n)=>{let o;return Tn(e,s=>Kt(s,t)&&b(s,"reason")&&b(s.reason,"_tag")&&Hn(s.reason._tag),s=>{let i=s.reason;return o??=Object.keys(r),o.includes(i._tag)?A(()=>r[i._tag](i,s)):n?A(()=>n(i,s)):j(s)})}),jf=a(2,(e,t)=>Po(e,r=>Kt(r,t)&&b(r,"reason")?Q(r.reason):z(r),j)),$i=a(2,(e,t)=>Ie(e,r=>Ro(()=>t(r)))),ji=a(2,(e,t)=>tr(e,{onFailure:r=>Ro(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),qi=e=>Ie(e,Dt),qf=a(2,(e,t)=>Ie(e,r=>E(t))),Wf=e=>v(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Dt(new Error("Received an empty collection of effects"));function n(o){let s=t.next();return s.done?o.value:Ie(o.value,i=>n(s))}return n(r)}),Wi=e=>Ie(e,t=>h(Ir,()=>Wi(e))),Hf=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return tr(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure(n){let o=Lu(n);return G(o)?F(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:n=>O})}),Lo=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return it(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure:n=>t.message===void 0?r(n):r(t.message,n),onSuccess:n=>O})}),zf=e=>$o(e,{onFailure:V,onSuccess:Z}),Nt=e=>In(e,{onFailure:z,onSuccess:Q}),it=a(2,(e,t)=>{let r=Object.create(oh);return r[R]=e,r[ue]=t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,r[Ae]=t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure,r}),oh=mt({op:"OnSuccessAndFailure",[Y](e){return e._stack.push(this),this[R]}}),Hi=a(2,(e,t)=>it(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),tr=a(2,(e,t)=>it(e,{onFailure:r=>{let n=r.reasons.find(tn);return n?A(()=>t.onFailure(n.error)):F(r)},onSuccess:t.onSuccess})),$o=a(2,(e,t)=>tr(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),In=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:re(t.onFailure(r.success))}return $o(e,t)}),Bf=a(2,(e,t)=>me(e)?e._tag==="Success"?re(t.onSuccess(e.value)):re(t.onFailure(e.cause)):Hi(e,t)),_r=e=>me(e)?re(e):sh(e),sh=_e({op:"Exit",[Y](e){return e._stack.push(this),this[R]},[ue](e,t,r){return x(r??re(e))},[Ae](e,t,r){return x(r??Ee(e))}}),Kf=In({onFailure:()=>!0,onSuccess:()=>!1}),Jf=In({onFailure:()=>!1,onSuccess:()=>!0}),Vf=a(2,(e,t)=>Pt(or(t),e)),zi=a(2,(e,t)=>Mo(e,h(or(t.duration),t.orElse))),Zf=a(2,(e,t)=>zi(e,{duration:t,orElse:()=>j(new wo)})),Gf=a(2,(e,t)=>Mo(_o(e),le(or(t),V()))),Yf=e=>he(t=>{let r=t.monotonicTimeNanosUnsafe();return T(e,n=>[Ut(t.monotonicTimeNanosUnsafe()-r),n])}),ii="~effect/Scope",ci="~effect/Scope/Closeable",Mr=gt("effect/Scope"),Bi=(e,t)=>v(()=>jo(e,t)??O),jo=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let n=e.state;if(e.state=r,n.finalizer!==void 0)return n.finalizer(t);let o=n.finalizers;if(!(o===void 0||o.size===0))return o.size===1?o.values().next().value(t):ch(e,o,t)},ih=(e,t)=>Fo(e)?t:Te(t,r=>F(bi(e.cause,r))),ch=Ri(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=wr();for(let c=s.length-1;c>=0;c--){let u=s[c];e.strategy==="sequential"?n.push(yield*_r(u(r))):o.push(nr(i,u(r),!0,!0,"inherit"))}return o.length>0&&(n=yield*Tr(o)),yield*vf(n)});var Xf=(e,t)=>{let r=On(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return bn(e,n,o=>Bi(r,o)),bn(r,n,o=>E(()=>Ki(e,n))),r},Ct=(e,t)=>v(()=>e.state._tag==="Closed"?t(e.state.exit):(bn(e,{},t),O));var bn=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizerKey:t,finalizer:r,finalizers:void 0};else if(e.state._tag==="Open"){let n=e.state;n.finalizer!==void 0?(n.finalizers=new Map([[n.finalizerKey,n.finalizer]]),n.finalizerKey=void 0,n.finalizer=void 0,n.finalizers.set(t,r)):n.finalizers===void 0?(n.finalizerKey=t,n.finalizer=r):n.finalizers.set(t,r)}},Ki=(e,t)=>{if(e.state._tag==="Open"){let r=e.state;r.finalizerKey===t?(r.finalizerKey=void 0,r.finalizer=void 0):r.finalizers!==void 0&&r.finalizers.delete(t)}};var On=(e="sequential")=>({[ci]:ci,[ii]:ii,strategy:e,state:ah}),ah={_tag:"Empty"};var Rn=Mr;var Ji=e=>k(t=>{let r=t.context,n=On();return t.setContext(ke(t.context,Mr,n)),Fr(e,o=>(t.setContext(r),jo(n,o)))});var qo=e=>v(()=>{let t=On();return ie(e(t),r=>v(()=>jo(t,r)??O))}),Wo=(e,t,r)=>$t(n=>jt(o=>h(Rn,s=>Lt(r?.interruptible?o(e):e,i=>Ct(s,c=>kt(t(i,c),n)))))),Vi=e=>h(Rn,t=>$t(r=>Ct(t,n=>kt(e(n),r)))),Fr=_e({op:"OnExit",single:!1,[Y](e){return e._stack.push(this),this[R][0]},[Mt](e){e.interruptible&&this[R][2]!==!0&&(e._stack.push(Ho),e.interruptible=!1)},[ue](e,t,r){r??=re(e);let n=this[R][1](r);return n?h(n,o=>r):r},[Ae](e,t,r){r??=Ee(e);let n=this[R][1](r);return n?h(ih(r,n),o=>r):r}}),ie=a(2,Fr),Qf=a(2,(e,t)=>ie(e,r=>t)),Zi=a(3,(e,t,r)=>ie(e,n=>t(n)?r(n):O)),Gi=a(3,(e,t,r)=>ie(e,n=>{let o=t(n);return G(o)?O:r(o.success,n)})),Yi=a(2,(e,t)=>Gi(e,yf,t)),el=a(3,(e,t,r)=>Zi(e,n=>n._tag!=="Failure"?!1:t(n.cause),n=>r(n.cause))),Xi=a(3,(e,t,r)=>ie(e,n=>{if(n._tag!=="Failure")return O;let o=t(n.cause);return G(o)?O:r(o.success,n.cause)})),tl=a(2,(e,t)=>Xi(qu,t)(e)),rl=(e,t,r)=>jt(n=>h(e,o=>Fr(n(t(o)),s=>r(o,s),!0))),nl=e=>Wo(e,t=>b(t,Symbol.asyncDispose)?Ii(()=>t[Symbol.asyncDispose]()):E(()=>t[Symbol.dispose]())),Qi=a(2,(e,t)=>E(()=>{let r=Je(q(t)),n=Number.isFinite(r),o=dh(!1),s=0,i=!1,c,u=h(o.await,()=>c);return[k(f=>{let m=f.getRef(Ze),d=n?m.currentTimeMillisUnsafe():0;return i||d<s?c??u:(i=!0,o.closeUnsafe(),c=void 0,ie(e,y=>E(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=y,o.openUnsafe()})))}),E(()=>{s=0,o.closeUnsafe(),c=void 0})]})),ec=a(2,(e,t)=>T(Qi(e,t),r=>r[0])),ol=e=>ec(e,se),sl=k(e=>F(kn(e.id))),wt=e=>k(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Ho)),e)),il=_e({op:"SetInterruptible",[Mt](e){if(e.interruptible=this[R],e._interruptedCause&&e.interruptible)return()=>F(e._interruptedCause)}}),Ho=il(!0),uh=il(!1),cl=e=>{if(e.interruptible=!0,e._stack.push(uh),e._interruptedCause)return F(e._interruptedCause)},tc=e=>k(t=>t.interruptible?e:cl(t)??e),jt=e=>k(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Ho),e(tc)):e(w)),al=e=>k(t=>{if(t.interruptible)return e(w);let r=cl(t),n=e(wt);return r??n}),ul=T(Wo(E(()=>new AbortController),e=>E(()=>e.abort())),e=>e.signal),rr=(e,t)=>pt(e)?t?.mode==="result"?fe(e,Nt,t):fe(e,w,t):t?.discard?t.mode==="result"?fe(Object.values(e),Nt,t):fe(Object.values(e),w,t):v(()=>{let r={};return le(fe(Object.entries(e),([n,o])=>T(t?.mode==="result"?Nt(o):o,s=>{be(r,n,s)}),{discard:!0,concurrency:t?.concurrency}),r)}),rc=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>T(fe(e,(n,o)=>Nt(t(n,o)),r),n=>Wa(n,w))),fl=a(3,(e,t,r)=>{let n=B(e);return n.length===0?E(t):v(()=>{let o=0,s=t();return T(Tt({while:()=>o<n.length,body:()=>r(s,n[o],o),step(i){s=i,o++}}),()=>s)})}),ll=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>h(rc(e,t,{concurrency:r?.concurrency}),([n,o])=>$a(n)?j(n):r?.discard?O:x(o))),pl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):dl(r,0,t,n.value)})),dl=(e,t,r,n)=>h(r(n,t),o=>{if(o)return x(Z(n));let s=e.next();return s.done?x(V()):dl(e,t+1,r,s.value)}),ml=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):xl(r,0,t,n.value)})),xl=(e,t,r,n)=>h(r(n,t),o=>{if(Yt(o))return x(Z(o.success));let s=e.next();return s.done?x(V()):xl(e,t+1,r,s.value)}),Tt=_e({op:"While",[ue](e,t){return this[R].step(e),this[R].while()?(t._stack.push(this),this[R].body()):Ue},[Y](e){return this[R].while()?(e._stack.push(this),this[R].body()):Ue}}),fe=a(e=>typeof e[1]=="function",(e,t,r)=>v(()=>{let n=r?.concurrency??1,o=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n);if(o===1)return fh(e,t,r);let s=B(e),i=s.length;if(i===0)return r?.discard?O:x([]);let c=r?.discard?void 0:new Array(i),u=ph({f:t,out:c},s,{concurrency:o});return u?le(u,c):x(c)})),hl=e=>h(e,t=>{let r=t[Symbol.iterator]().next();return r.done?j(new tt):x(r.value)}),fh=(e,t,r)=>v(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return le(Tt({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{n&&n.push(c),s=o.next()}}),n)}),lh=e=>{let t=e.onItem,r=e.step,n=(o,s,i,c)=>{for(;i<c;i++){let u=s[i],f=t(o,u,i);if(!me(f))return h(_r(f),d=>r(o,u,d,i)??n(o,s,i+1,c)??O);let m=r(o,u,f,i);if(m)return m._tag==="Failure"?m:void 0}};return(o,s,i)=>{let c=0,u=i?.end??s.length,f=i?.concurrency??1;if(f===1)return n(o,s,0,u);let m=i?.orderedStep===!0,d=!1,y,p,I,U=!1,g,$e,X=c,K=m?new Array(u):void 0,ee=fr=>{let ge=Ke(fr);return g=ge,d=!0,U=!0,p&&p.size>0?h(wt(St(Array.from(p))),()=>ge):ge},je=(fr,ge,ft)=>{if(!m)return r(o,fr,ge,ft);if(g)return g;for(K[ft]=ge;X<u;){let Re=K[X];if(Re===void 0)return;K[X]=void 0;let Ot=X++,Rt=r(o,s[Ot],Re,Ot);if(Rt)return Rt}},qn=()=>{let fr=!1;for(;!g&&c<u;c++){let ge=s[c],ft=$e??t(o,ge,c);if(me(ft)){if(g=je(ge,ft,c),g)break}else if(y){$e=void 0;let Re=nr(y,ft,!0,!0,"inherit");if(Re._exit){if(g=je(ge,Re._exit,c),g)break;continue}p.add(Re);let Ot=c;if(Re.addObserver(Rt=>{p.delete(Re);try{if(g){if(!U&&Rt._tag==="Failure")for(let ye of Rt.cause.reasons)ye._tag!=="Interrupt"&&(g._tag==="Failure"?g.cause.reasons.push(ye):g=Ee(Ft([ye])))}else{let ye=je(ge,Rt,Ot);ye&&(g=ye._tag==="Failure"?Ee(Ft(ye.cause.reasons.slice())):ye,qn())}if(fr){let ye=qn();ye&&I(ye)}else d&&p.size===0&&I(g??O)}catch(ye){I(ee(ye))}}),p.size<f)continue;fr=!0,c++;return}else return ce(Re=>{y=wr(),p=new Set,$e=ft,I=Re;let Ot;try{Ot=qn()}catch(Rt){return Re(ee(Rt))}return Ot?Re(Ot):v(()=>(g=Ue,U=!0,p?St(p):O))})}if(d=!0,g){if(p&&p.size>0){let ge=Cn(y);p.forEach(ft=>ft.interruptUnsafe(y.id,ge));return}if(I||g._tag==="Failure")return g}else if(I)if(p)p.size===0&&I(O);else return Ue};return qn()}};var ph=lh({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;e.out&&(e.out[n]=r.value)}}),nc=a(3,(e,t,r)=>h(e,n=>t(n)?x(n):r(n))),oc=a(3,(e,t,r)=>h(e,n=>{let o=t(n);return G(o)?r(o.failure):x(o.success)})),gl=a(e=>S(e[0]),(e,t,r)=>oc(e,t,r?n=>j(r(n)):()=>j(new tt))),yl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,(o,s)=>{let i=t(o,s);return typeof i=="boolean"?(i&&n.push(o),O):T(i,c=>{c&&n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),bl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=[];for(let n of e){let o=t(n);Yt(o)&&r.push(o.success)}return x(r)})),Sl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,o=>T(t(o),s=>{Yt(s)&&n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),El=x({}),vl=ta(T),kl=ra(T,h),Cl=ea(T);var wl=a(e=>S(e[0]),(e,t)=>k(r=>(Rh(),x(nr(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),nr=(e,t,r=!1,n=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new Co(s.context,i);return r?c.evaluate(t):s.currentDispatcher.scheduleTask(()=>c.evaluate(t),0),!n&&!c._exit&&(s.children().add(c),c.addObserver(()=>s._children.delete(c))),c},Tl=a(e=>S(e[0]),(e,t)=>k(r=>x(nr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Il=e=>k(t=>{let r=t._children&&new Set(t._children);return ie(e,n=>{let o=t._children;return o===void 0||o.size===0?O:(r&&(o=Da(o,s=>!r.has(s))),Or(Tr(o)))})}),sc=a(e=>S(e[0]),(e,t,r)=>k(n=>{let o=nr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};bn(t,s,()=>tf(c=>c===o.id?O:Oo(o))),o.addObserver(()=>Ki(t,s))}else o.interruptUnsafe(n.id,Cn(n));return x(o)})),Ol=a(e=>S(e[0]),(e,t)=>h(Rn,r=>sc(e,r,t))),It=e=>(t,r)=>{let n=new Co(r?.scheduler?ke(e,pn,r.scheduler):e,r?.uninterruptible!==!0);if(n.evaluate(t),n._exit)return n;if(r?.signal)if(r.signal.aborted)n.interruptUnsafe();else{let o=()=>n.interruptUnsafe();r.signal.addEventListener("abort",o,{once:!0}),n.addObserver(()=>r.signal.removeEventListener("abort",o))}return r?.onFiberStart&&r.onFiberStart(n),n},Rl=a(2,(e,t)=>{if(e._exit)return e;if(t.state._tag==="Closed")return e.interruptUnsafe(e.id),e;let r={};return bn(t,r,()=>Oo(e)),e.addObserver(()=>Ki(t,r)),e}),Al=It(Me()),ic=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return n?.onExit&&o.addObserver(n.onExit),s=>o.interruptUnsafe(s)}},_l=ic(Me()),zo=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise(s=>{o.addObserver(i=>s(i))})}},Ml=zo(Me()),cc=e=>{let t=zo(e);return(r,n)=>t(r,n).then(o=>{if(o._tag==="Failure")throw Si(o.cause);return o.value})},Fl=cc(Me()),Bo=e=>{let t=It(e);return r=>{if(me(r))return r;let n=new ln("sync"),o=t(r,{scheduler:n});return o._dispatcher?.flush(),o._exit??Ke(new Io(o))}},Ul=Bo(Me()),ac=e=>{let t=Bo(e);return r=>{let n=t(r);if(n._tag==="Failure")throw Si(n.cause);return n.value}},Nl=ac(Me()),Du=x(!0),Pu=x(!1),ai=class{waiters=[];scheduled=void 0;_isOpen;constructor(t){this._isOpen=t}scheduleUnsafe(t){if(this.waiters.length===0)return Du;if(this.scheduled===void 0)this.scheduled=this.waiters,t.currentDispatcher.scheduleTask(this.flushScheduled,0);else for(let r=0;r<this.waiters.length;r++)this.scheduled.push(this.waiters[r]);return this.waiters=[],Du}flushScheduled=()=>{if(this.scheduled===void 0)return;let t=this.scheduled;this.scheduled=void 0;for(let r=0;r<t.length;r++)t[r](Ue)};flushWaiters(){let t=this.waiters;this.waiters=[],this.flushScheduled();for(let r=0;r<t.length;r++)t[r](Ue)}open=k(t=>this._isOpen?Pu:(this._isOpen=!0,this.scheduleUnsafe(t)));release=k(t=>this._isOpen?Pu:this.scheduleUnsafe(t));openUnsafe(){return this._isOpen?!1:(this._isOpen=!0,this.flushWaiters(),!0)}await=ce(t=>this._isOpen?t(O):(this.waiters.push(t),E(()=>{let r=this.waiters.indexOf(t);r!==-1?this.waiters.splice(r,1):this.scheduled!==void 0&&(r=this.scheduled.indexOf(t),r!==-1&&this.scheduled.splice(r,1))})));closeUnsafe(){return this._isOpen?(this._isOpen=!1,!0):!1}close=E(()=>this.closeUnsafe());whenOpen=t=>h(this.await,()=>t);isOpen(){return this._isOpen}},dh=e=>new ai(e??!1);var Dl=k(e=>x(e.getRef(So))),Pl=a(2,(e,t)=>xe(e,So,t)),Ll=xe(Eo),$l=xe(Er),ui=BigInt(0),mh={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ui,endTime:ui,exit:Ue},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},xh=e=>Object.assign(Object.create(mh),e),jl=e=>e?ve(e.annotations,bo)?e._tag==="Span"?jl(br(e.parent)):V():Z(e):V(),uc=(e,t,r)=>{let n=!e.getRef(Eo)||r?.annotations&&ve(r.annotations,bo),o=r?.parent!==void 0?Z(r.parent):r?.root?V():jl(e.currentSpan),s;if(n)s=xh({name:t,parent:o,annotations:ke(r?.annotations??Me(),bo,!0)});else{let i=e.getRef(So),c=e.getRef(Ze),u=e.getRef(Er),f=e.getRef(hn),m=e.getRef(gn),d=r?.level??e.getRef(Iu),y=r?.links!==void 0?[...m,...r.links]:m.length===0?[]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Me(),links:y,startTime:u?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??Gt(o),sampled:r?.sampled??(_a(o)&&o.value.sampled===!1?!1:!rp(e.getRef(Ou),d))});for(let p in f)s.attribute(p,f[p]);if(r?.attributes!==void 0)for(let p in r.attributes)s.attribute(p,r.attributes[p])}return s},ql=(e,t)=>k(r=>x(uc(r,e,t))),Sn=(e,t)=>wt(k(r=>{let n=yt(r.context,Mr),o=uc(r,e,t??{}),s=r.getRef(Ze),i=r.getRef(Er);return le(Ct(n,c=>Kl(o,c,s,i)),o)})),Wl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return h(Sn(t,r),o=>Cr(n,o,r))}return n=>h(Sn(t,r),o=>Cr(n,o,r))},hh=(e,t)=>(t=typeof t=="function"?t:Xe,vt(xn,r=>({name:e,stack:t,parent:r}))),Hl=hn,zl=gn,Bl=a(e=>S(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:r}));return vt(e,gn,s=>[...s,...o])}),Kl=(e,t,r,n)=>E(()=>{e.status._tag!=="Ended"&&e.end(n?r.currentTimeNanosUnsafe():ui,t)}),En=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return k(o=>{let s=uc(o,e,r),i=o.getRef(Ze),c=o.getRef(Er);return ie(A(()=>n(s)),u=>Kl(s,u,i,c))})},fi=xe(mn),Cr=function(){let e=S(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;return t._tag==="Span"&&(r=ko(r),n=hh(t.name,r?.captureStackTrace)),e?fi(n(arguments[0]),t):o=>fi(n(o),t)},Jl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(arguments[2]);if(e){let s=arguments[0];return En(t,arguments[2],i=>Cr(s,i,r))}let n=typeof arguments[1]=="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>En(t,n?n(...i):o,c=>Cr(s,c,r))},Vl=a(e=>S(e[0]),(e,...t)=>vt(e,hn,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),Zl=(...e)=>k(t=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return O}),Gl=k(e=>{let t=e.currentSpanLocal;return t?x(t):j(new tt)}),Yl=th(mn),Ze=M("effect/Clock",{defaultValue:()=>new li}),ri=2**31-1,li=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=E(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return gh()}currentTimeNanos=E(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return Ql()}monotonicTimeNanos=E(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(Je(t))}sleepMillis(t){return t<=0?Ir:Number.isFinite(t)?ce(r=>{let n=t>ri?this.sleepMillis(t-ri):O,o=setTimeout(()=>r(n),Math.min(t,ri));return E(()=>clearTimeout(o))}):Ao}},Xl=BigInt(1e6),Ql=(function(){let e=globalThis.process?.hrtime;if(typeof e?.bigint=="function")return()=>e.bigint();if(typeof performance<"u"&&typeof performance.now=="function")return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(0);return()=>{let r=BigInt(Date.now())*Xl;return r>t&&(t=r),t}})(),gh=(function(){let e=BigInt(1e9),t;return()=>{let r=Ql(),n=BigInt(Date.now())*Xl;if(t===void 0)t=n-r;else{let o=t+r;(n>o?n-o:o-n)>e&&(t=n-r)}return t+r}})(),he=e=>k(t=>e(t.getRef(Ze))),or=e=>he(t=>t.sleep(q(e))),Ko=he(e=>e.currentTimeMillis),ep=he(e=>e.currentTimeNanos),tp=he(e=>e.monotonicTimeNanos),pi="~effect/Cause/TimeoutError";var wo=class extends xt("TimeoutError"){[pi]=pi;constructor(t){super({message:t})}},di="~effect/Cause/IllegalArgumentError";var To=class extends xt("IllegalArgumentError"){[di]=di;constructor(t){super({message:t})}},mi="~effect/Cause/ExceededCapacityError";var xi=class extends xt("ExceededCapacityError"){[mi]=mi;constructor(t){super({message:t})}},hi="~effect/Cause/AsyncFiberError";var Io=class extends xt("AsyncFiberError"){[hi]=hi;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},gi="~effect/Cause/UnknownError";var vn=class extends xt("UnknownError"){[gi]=gi;constructor(t,r){super({message:r,cause:t})}},yh=M("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),bh=e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},Sh=Ra(eo,bh),rp=yr(Sh),fc=M("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([Ih,Oh])}),Eh=M("effect/Logger/LogToStderr",{defaultValue:Wn}),np=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return wt(k(t=>{let r=t.getRef(bt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];be(n,s,i)}return t.setContext(ke(t.context,bt,n)),Ct(yt(t.context,Mr),o=>{let s=t.getRef(bt),i={...s};for(let c=0;c<e.length;c++){let[u,f]=e[c];s[u]===f&&(Object.hasOwn(r,u)?be(i,u,r[u]):delete i[u])}return t.setContext(ke(t.context,bt,i)),O})}))},vh="~effect/Logger",kh={[vh]:{_Message:w,_Output:w},pipe(){return D(this,arguments)}},op=e=>{let t=Object.create(kh);return t.log=e,t},Ch=e=>e.replace(/[\s="]/g,"_"),wh=(e,t)=>`${Ch(e[0])}=${t-e[1]}ms`;var Ge=e=>(...t)=>{let r;for(let n=0,o=t.length;n<o;n++){let s=t[n];Xr(s)&&(r?t.splice(n,1):t=t.slice(0,n).concat(t.slice(n+1)),r=r?Ft(r.reasons.concat(s.reasons)):s,n--)}return r===void 0&&(r=ys),k(n=>{let o=e??n.currentLogLevel;if(rp(n.minimumLogLevel,o))return O;let s=n.getRef(Ze),i=n.getRef(fc);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let u of i)u.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return O})};var Qt={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Ik={None:[],All:[],Trace:[Qt.gray],Debug:[Qt.blue],Info:[Qt.green],Warn:[Qt.yellow],Error:[Qt.red],Fatal:[Qt.bgBrightRed,Qt.black]};var Th=e=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var Ih=op(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];e.reasons.length>0&&s.push(Ei(e));let i=t.getTime(),c=r.getRef(vo),u="";for(let y of c)u+=` ${wh(y,i)}`;let f=r.getRef(bt);Object.keys(f).length>0&&s.push(f);let m=r.getRef(yh);(r.getRef(Eh)?m.error:m.log)(`[${Th(t)}] ${n.toUpperCase()} (#${r.id})${u}:`,...s)}),Oh=op(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(Ze),s=t.getRef(bt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[u,f]of Object.entries(s))be(c,u,f);c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0&&(c["effect.cause"]=Ei(e)),i.event(la(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function Rh(){si.interruptChildren??=Xx}var An=x(void 0);var sp=a(e=>S(e[0]),(e,t)=>Yi(e,r=>k(n=>(Ah(n,r,t?.defectsOnly),O)))),Ah=(e,t,r)=>{let n=e.getRef(_u);if(n.size===0||r&&!$u(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(Ze).currentTimeNanosUnsafe()};n.forEach(s=>s.report(o))};var ip=Ft;var cp=nn;var ct=va;var Jo=To;var l={};zt(l,{Do:()=>Py,Transaction:()=>Hr,TypeId:()=>vy,abortSignal:()=>HS,acquireDisposable:()=>TS,acquireRelease:()=>wS,acquireUseRelease:()=>IS,addFinalizer:()=>OS,all:()=>ky,andThen:()=>Qy,annotateCurrentSpan:()=>tE,annotateLogs:()=>BE,annotateLogsScoped:()=>KE,annotateSpans:()=>eE,as:()=>nb,asSome:()=>ob,asVoid:()=>sb,awaitAllChildren:()=>bE,bind:()=>jy,bindTo:()=>Ly,cached:()=>DS,cachedInvalidateWithTTL:()=>LS,cachedWithTTL:()=>PS,callback:()=>Dc,catch:()=>ub,catchCause:()=>xb,catchCauseFilter:()=>Eb,catchCauseIf:()=>Sb,catchDefect:()=>hb,catchEager:()=>p0,catchFilter:()=>yb,catchIf:()=>gb,catchNoSuchElement:()=>bb,catchReason:()=>pb,catchReasons:()=>db,catchTag:()=>fb,catchTags:()=>lb,clockWith:()=>jd,context:()=>lS,contextWith:()=>pS,currentParentSpan:()=>nE,currentSpan:()=>rE,delay:()=>qb,die:()=>Rd,effectify:()=>o0,ensuring:()=>RS,eventually:()=>Ob,exit:()=>Md,fail:()=>Uc,failCause:()=>Hy,failCauseSync:()=>zy,failSync:()=>Wy,fiber:()=>SE,fiberId:()=>EE,filter:()=>Vb,filterMap:()=>Zb,filterMapEffect:()=>Gb,filterMapOrElse:()=>Xb,filterMapOrFail:()=>eS,filterOrElse:()=>Yb,filterOrFail:()=>Qb,findFirst:()=>Iy,findFirstFilter:()=>Oy,firstSuccessOf:()=>Pb,flatMap:()=>Pc,flatMapEager:()=>l0,flatten:()=>Xy,flip:()=>ib,fn:()=>NE,fnUntraced:()=>UE,fnUntracedEager:()=>d0,forEach:()=>Ry,forever:()=>zS,forkChild:()=>xE,forkDetach:()=>yE,forkIn:()=>hE,forkScoped:()=>gE,fromNullishOr:()=>Yy,fromOption:()=>Zy,fromResult:()=>Vy,gen:()=>qy,head:()=>Ay,ignore:()=>Mb,ignoreCause:()=>Fb,interrupt:()=>Pd,interruptible:()=>$S,interruptibleMask:()=>WS,isEffect:()=>cr,isFailure:()=>uS,isSuccess:()=>fS,let:()=>$y,linkSpans:()=>iE,log:()=>PE,logDebug:()=>WE,logError:()=>jE,logFatal:()=>LE,logInfo:()=>qE,logTrace:()=>HE,logWarning:()=>$E,logWithLevel:()=>DE,makeSpan:()=>cE,makeSpanScoped:()=>aE,map:()=>rb,mapBoth:()=>kb,mapBothEager:()=>f0,mapEager:()=>a0,mapError:()=>vb,mapErrorEager:()=>u0,match:()=>rS,matchCause:()=>oS,matchCauseEager:()=>sS,matchCauseEffect:()=>cS,matchCauseEffectEager:()=>iS,matchEager:()=>nS,matchEffect:()=>aS,never:()=>Dy,onError:()=>AS,onErrorFilter:()=>MS,onErrorIf:()=>_S,onExit:()=>Lc,onExitFilter:()=>NS,onExitIf:()=>US,onExitPrimitive:()=>FS,onInterrupt:()=>jS,option:()=>tb,orDie:()=>Cb,orElseSucceed:()=>Db,partition:()=>Cy,promise:()=>_y,provide:()=>dS,provideContext:()=>mS,provideService:()=>Dd,provideServiceEffect:()=>ES,race:()=>Kb,raceAll:()=>zb,raceAllFirst:()=>Bb,raceFirst:()=>Jb,reduce:()=>wy,repeat:()=>BS,repeatOrElse:()=>KS,replicate:()=>JS,replicateEffect:()=>VS,request:()=>dE,requestUnsafe:()=>mE,result:()=>eb,retry:()=>Rb,retryOrElse:()=>Ab,runCallback:()=>wE,runCallbackWith:()=>CE,runFork:()=>vE,runForkWith:()=>kE,runPromise:()=>TE,runPromiseExit:()=>OE,runPromiseExitWith:()=>RE,runPromiseWith:()=>IE,runSync:()=>AE,runSyncExit:()=>ME,runSyncExitWith:()=>FE,runSyncWith:()=>_E,sandbox:()=>_b,satisfiesErrorType:()=>i0,satisfiesServicesType:()=>c0,satisfiesSuccessType:()=>s0,schedule:()=>ZS,scheduleFrom:()=>$d,scope:()=>vS,scoped:()=>kS,scopedWith:()=>CS,service:()=>hS,serviceOption:()=>gS,setContext:()=>xS,sleep:()=>Wb,spanAnnotations:()=>oE,spanLinks:()=>sE,succeed:()=>Id,succeedNone:()=>Fy,succeedSome:()=>Uy,suspend:()=>Od,sync:()=>pe,tap:()=>_d,tapCause:()=>Ud,tapCauseFilter:()=>Ib,tapCauseIf:()=>Tb,tapDefect:()=>Nd,tapError:()=>Fd,tapErrorTag:()=>wb,timed:()=>Hb,timeout:()=>Lb,timeoutOption:()=>$b,timeoutOrElse:()=>jb,tracer:()=>GS,track:()=>VE,trackDefects:()=>YE,trackDuration:()=>XE,trackErrors:()=>GE,trackSuccesses:()=>ZE,transposeOption:()=>Gy,try:()=>By,tryPromise:()=>My,tx:()=>QE,txRetry:()=>n0,undefined:()=>Ny,uninterruptible:()=>qS,uninterruptibleMask:()=>Ld,unwrapReason:()=>mb,updateContext:()=>yS,updateService:()=>bS,updateServiceScoped:()=>SS,useSpan:()=>uE,validate:()=>Ty,void:()=>Nc,when:()=>tS,whileLoop:()=>Td,withErrorReporting:()=>Nb,withExecutionPlan:()=>Ub,withFiber:()=>Ad,withLogSpan:()=>JE,withLogger:()=>zE,withParentSpan:()=>pE,withSpan:()=>fE,withSpanScoped:()=>lE,withTracer:()=>YS,withTracerEnabled:()=>XS,withTracerTiming:()=>QS,yieldNow:()=>Ky,yieldNowWith:()=>Jy,zip:()=>cb,zipWith:()=>ab});var ap=Fo;var Ye={};zt(Ye,{await:()=>pc,complete:()=>Uh,completeWith:()=>lp,die:()=>dp,dieSync:()=>Ph,done:()=>qt,doneUnsafe:()=>gp,fail:()=>pp,failCause:()=>dc,failCauseSync:()=>Dh,failSync:()=>Nh,interrupt:()=>Lh,interruptWith:()=>mp,into:()=>yp,isDeferred:()=>_h,isDone:()=>$h,isDoneUnsafe:()=>xp,make:()=>Fh,makeUnsafe:()=>Vo,poll:()=>jh,succeed:()=>hp,sync:()=>qh});var fp="~effect/Deferred",_h=e=>b(e,fp),Mh={[fp]:{_A:w,_E:w},pipe(){return D(this,arguments)}},Vo=()=>{let e=Object.create(Mh);return e.resumes=void 0,e.effect=void 0,e},Fh=()=>E(()=>Vo()),pc=e=>ce(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),E(()=>{let r=e.resumes;if(r===void 0)return;let n=r.indexOf(t);n>=0&&r.splice(n,1)})));var Uh=a(2,(e,t)=>v(()=>e.effect?x(!1):yp(t,e))),lp=a(2,(e,t)=>E(()=>gp(e,t))),qt=lp,pp=a(2,(e,t)=>qt(e,nt(t))),Nh=a(2,(e,t)=>v(()=>pp(e,t()))),dc=a(2,(e,t)=>qt(e,Ee(t))),Dh=a(2,(e,t)=>v(()=>dc(e,t()))),dp=a(2,(e,t)=>qt(e,Ke(t))),Ph=a(2,(e,t)=>v(()=>dp(e,t()))),Lh=e=>k(t=>mp(e,t.id)),mp=a(2,(e,t)=>dc(e,kn(t))),$h=e=>E(()=>xp(e)),xp=e=>e.effect!==void 0;function jh(e){return E(()=>so(e.effect))}var hp=a(2,(e,t)=>qt(e,re(t))),qh=a(2,(e,t)=>v(()=>hp(e,t()))),gp=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let r=e.resumes;e.resumes=void 0;for(let n=0;n<r.length;n++)r[n](t)}return!0},yp=a(2,(e,t)=>jt(r=>h(_r(r(e)),n=>qt(t,n))));var bp=bt;var Sp=vo;var Ep=On;var Zo=Xf,mc=Bi;var Cp="~effect/Layer",kp="~effect/Layer/MemoMap",Hh=(e,t)=>(e.observers++,Pt(Ct(t,r=>e.finalizer(r)),e.effect)),wp=e=>b(e,Cp),zh={[Cp]:{_ROut:w,_E:w,_RIn:w},pipe(){return D(this,arguments)}},Tp=e=>{let t=Object.create(zh);return t.build=e,t},Ip=e=>Tp((t,r)=>{let n=Zo(r);return ie(e(t,n),o=>o._tag==="Failure"?mc(n,o):O)});var Bh=(e,t,r,n)=>{let o=Ep(),s=Vo(),i={observers:1,effect:pc(s),finalizer:c=>v(()=>(i.observers--,i.observers===0?(e.map.delete(t),mc(o,c)):O))};return e.map.set(t,i),Ct(r,i.finalizer).pipe(h(()=>n(e,o)),ie(c=>(i.effect=c,qt(s,c))))},Go=class{get[kp](){return kp}parent;constructor(t){this.parent=t}map=new Map;get(t,r){let n=this.map.get(t);return n?Hh(n,r):this.parent?.get(t,r)}getOrElseMemoize(t,r,n){return v(()=>{let o=this.get(t,r);return o||Bh(this,t,r,n)})}},xc=()=>new Go,Kh=e=>new Go(e);var _n=class e extends gt()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let r=uo(t,e);return r?Kh(r):xc()}},hc=a(3,(e,t,r)=>xe(T(e.build(t,r),ke(_n,t)),_n,t));var Op=a(2,(e,t)=>k(r=>hc(e,_n.forkOrCreate(r.context),t)));var Rp=e=>Tp(oe(x(e)));var Ap=(e,t,r)=>{let n=Zo(r,"parallel");return fe(e,o=>o.build(t,Zo(n,"sequential")),{concurrency:e.length}).pipe(T(o=>Qa(...o)))},_p=(...e)=>Ip((t,r)=>Ap(e,t,r));var Jh=(e,t,r)=>Ip((n,o)=>h(Array.isArray(t)?Ap(t,n,o):t.build(n,o),s=>e.build(n,o).pipe(kt(s),T(i=>r(i,s))))),Mp=a(2,(e,t)=>Jh(e,t,w));var Fp="~effect/ExecutionPlan";var Vh={[Fp]:Fp,get captureRequirements(){let e=this;return $t(t=>x(Zh(e.steps.map(r=>({...r,provide:wp(r.provide)?Mp(r.provide,Rp(t)):r.provide})))))},pipe(){return D(this,arguments)}},Zh=e=>{let t=Object.create(Vh);return t.steps=e,t};var Up=M("effect/ExecutionPlan/CurrentMetadata",{defaultValue:oe({attempt:0,stepIndex:0})});var Le={};zt(Le,{CurrentMetadata:()=>Ht,addDelay:()=>jg,concat:()=>qg,concatResult:()=>ad,cron:()=>zg,duration:()=>Bg,during:()=>Kg,exponential:()=>Zg,fibonacci:()=>Gg,fixed:()=>Yg,forever:()=>rs,fromStep:()=>Oe,fromStepWithMetadata:()=>sr,identity:()=>ny,isSchedule:()=>es,jittered:()=>Xg,map:()=>Qo,max:()=>Wg,min:()=>Jg,modifyDelay:()=>Oc,passthrough:()=>ts,recurs:()=>Rc,setInputType:()=>oy,spaced:()=>ud,tap:()=>Qg,toStep:()=>ut,toStepWithMetadata:()=>qr,toStepWithSleep:()=>$g,upTo:()=>ey,while:()=>ir,windowed:()=>ty});var Wt={};zt(Wt,{Clock:()=>Gh,clockWith:()=>Yh,currentTimeMillis:()=>Xh,currentTimeNanos:()=>Qh,monotonicTimeNanos:()=>eg});var Gh=Ze,Yh=he,Xh=Ko,Qh=ep,eg=tp;var yc="~effect/time/DateTime",bc="~effect/time/DateTime/TimeZone",Lp={[yc]:yc,pipe(){return D(this,arguments)},[Se](){return this.toString()},toJSON(){return Dn(this).toJSON()}},tg={...Lp,_tag:"Utc",[P](){return dt(this.epochMilliseconds)},[L](e){return Nn(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${Dn(this).toJSON()})`}},rg={...Lp,_tag:"Zoned",[P](){return W(dt(this.epochMilliseconds))(_(this.zone))},[L](e){return Nn(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&J(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Sg(this)})`}},$p={[bc]:bc,[Se](){return this.toString()}},ng={...$p,_tag:"Named",[P](){return H(`Named:${this.id}`)},[L](e){return Ur(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},og={...$p,_tag:"Offset",[P](){return H(`Offset:${this.offset}`)},[L](e){return Ur(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${Hp(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},at=(e,t,r)=>{let n=Object.create(rg);return n.epochMilliseconds=e,n.zone=t,Object.defineProperty(n,"partsUtc",{value:r,enumerable:!1,writable:!0}),Object.defineProperty(n,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(n,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),n},Nn=e=>b(e,yc),sg=e=>Nn(e[0]),Ur=e=>b(e,bc);var jp=e=>Ur(e)&&e._tag==="Named";var ig=e=>e._tag==="Zoned";var qp=e=>{let t=Object.create(tg);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Mn=e=>{let t=e.getTime();if(Number.isNaN(t))throw new Jo("Invalid date");return qp(t)},cg=e=>{if(Nn(e))return e;if(e instanceof Date)return Mn(e);if(typeof e=="object"){if("epochMilliseconds"in e)return Mn(new Date(e.epochMilliseconds));let t=new Date(0);return yg(t,e),Mn(t)}else if(typeof e=="string"&&!ag(e))return Mn(new Date(e+"Z"));return Mn(new Date(e))},ag=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),ug=-864e13+720*60*1e3,fg=864e13-840*60*1e3,Ec=(e,t)=>{let r=t?.timeZone;if(r===void 0&&Nn(e)&&ig(e))return e;let n=cg(e);if(n.epochMilliseconds<ug||n.epochMilliseconds>fg)throw new RangeError(`Epoch millis out of range: ${n.epochMilliseconds}`);r===void 0&&typeof e=="object"&&"timeZoneId"in e&&(r=e.timeZoneId);let o;if(r===void 0){let s=new Date(n.epochMilliseconds).getTimezoneOffset()*-60*1e3;o=Sc(s)}else if(Ur(r))o=r;else if(typeof r=="number")o=Sc(r);else{let s=vc(r);if(Gt(s))throw new Jo(`Invalid time zone: ${r}`);o=s.value}return t?.adjustForTimeZone!==!0?at(n.epochMilliseconds,o,n.partsUtc):zp(n.epochMilliseconds,o,t?.disambiguation??"compatible")};var Un=new Map,lg={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},pg=e=>{let t=e.resolvedOptions().timeZone;if(Un.has(t))return Un.get(t);let r=Object.create(ng);return r.id=t,r.format=e,Un.set(t,r),r},dg=e=>{if(Un.has(e))return Un.get(e);try{return pg(new Intl.DateTimeFormat("en-US",{...lg,timeZone:e}))}catch{throw new Jo(`Invalid time zone: ${e}`)}},Sc=e=>{let t=Object.create(og);return t.offset=e,t},mg=sn(dg);var xg=/^(?:GMT|[+-])/,vc=e=>{if(xg.test(e)){let t=Bp(e);return t===null?V():Z(Sc(t))}return mg(e)};var Dn=e=>new Date(e.epochMilliseconds),Nr=e=>{if(e._tag==="Utc")return new Date(e.epochMilliseconds);if(e.zone._tag==="Offset")return new Date(e.epochMilliseconds+e.zone.offset);if(e.adjustedEpochMilliseconds!==void 0)return new Date(e.adjustedEpochMilliseconds);let t=e.zone.format.formatToParts(e.epochMilliseconds).filter(n=>n.type!=="literal"),r=new Date(0);return r.setUTCFullYear(Number(t[2].value),Number(t[0].value)-1,Number(t[1].value)),r.setUTCHours(Number(t[3].value),Number(t[4].value),Number(t[5].value),Number(t[6].value)),e.adjustedEpochMilliseconds=r.getTime(),r},Wp=e=>Nr(e).getTime()-gg(e),Hp=e=>{let t=Math.abs(e),r=Math.floor(t/(3600*1e3)),n=Math.round(t%(3600*1e3)/(60*1e3));return n===60&&(r+=1,n=0),`${e<0?"-":"+"}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`},hg=e=>Hp(Wp(e)),gg=e=>e.epochMilliseconds;var yg=(e,t)=>{if(t.year!==void 0&&e.setUTCFullYear(t.year),t.month!==void 0&&e.setUTCMonth(t.month-1),t.day!==void 0&&e.setUTCDate(t.day),t.weekDay!==void 0){let r=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+r)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)};var Dp=1440*60*1e3,zp=(e,t,r)=>{if(t._tag==="Offset")return at(e-t.offset,t);let n=Fn(e-Dp,e,t),o=Fn(e+Dp,e,t);if(n===o)return at(e-n,t);let s=n<o,i=n-o;if(s){if(Fn(e-o,e,t)===o)return at(e-o,t);let f=at(e-n,t),m=Nr(f).getTime();if(e!==m)switch(r){case"reject":{let d=new Date(e).toISOString();throw new RangeError(`Gap time: ${d} does not exist in time zone ${t.id}`)}case"earlier":return at(e-o,t);case"compatible":case"later":return f}return f}if(Fn(e-n,e,t)===n){if(r==="earlier"||r==="compatible"||Fn(e-n+i,e+i,t)===n)return at(e-n,t);if(r==="reject"){let f=new Date(e).toISOString();throw new RangeError(`Ambiguous time: ${f} occurs twice in time zone ${t.id}`)}}return at(e-o,t)},bg=/([+-])(\d{2}):(\d{2})$/,Bp=e=>{let t=bg.exec(e);if(t===null)return null;let[,r,n,o]=t;return(r==="+"?1:-1)*(Number(n)*60+Number(o))*60*1e3},Fn=(e,t,r)=>{let n=r.format.formatToParts(e).find(s=>s.type==="timeZoneName")?.value??"";if(n==="GMT")return 0;let o=Bp(n);return o===null?Wp(at(t,r)):o},Kp=a(sg,(e,t,r)=>{if(e._tag==="Utc"){let s=Dn(e);return t(s),qp(s.getTime())}let n=Nr(e),o=new Date(n.getTime());return t(o),zp(o.getTime(),e.zone,r?.disambiguation??"compatible")});var Pp=e=>{let t=Nr(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${hg(e)}`},Sg=e=>e.zone._tag==="Offset"?Pp(e):`${Pp(e)}[${e.zone.id}]`;var wC=globalThis.Number;var Jp=eo;var TC=globalThis.String;var Zp=e=>e.toLowerCase();var Gp=e=>e.length>0;var wc="~effect/time/Cron";function kc(e){return{tz:e.tz,and:e.and,seconds:B(e.seconds),minutes:B(e.minutes),hours:B(e.hours),days:B(e.days),months:B(e.months),weekdays:B(e.weekdays)}}var vg={[wc]:wc,[L](e){return Tc(e)&&Ig(this,e)},[P](){return Hc(_(this.tz),W(_(this.and)),W(We(B(this.seconds))),W(We(B(this.minutes))),W(We(B(this.hours))),W(We(B(this.days))),W(We(B(this.months))),W(We(B(this.weekdays))))},toObject(){return kc(this)},toString(){return`Cron(${te(kc(this))})`},toJSON(){let e=kc(this);return e._id="Cron",e},[Se](){return this.toJSON()},pipe(){return D(this,arguments)}},Tc=e=>b(e,wc),kg=e=>{let t=Object.create(vg);t.seconds=Pr.seconds(e.seconds??[0]),t.minutes=Pr.minutes(e.minutes),t.hours=Pr.hours(e.hours),t.days=Pr.days(e.days),t.months=Pr.months(e.months),t.weekdays=Pr.weekdays(e.weekdays),t.and=e.and===!0,t.tz=so(e.tz);let r=Array.from(t.seconds),n=Array.from(t.minutes),o=Array.from(t.hours),s=Array.from(t.days),i=Array.from(t.months),c=Array.from(t.weekdays);return t.first={second:r[0]??0,minute:n[0]??0,hour:o[0]??0,day:s[0]??1,month:(i[0]??1)-1,weekday:c[0]??0},t.last={second:r[r.length-1]??59,minute:n[n.length-1]??59,hour:o[o.length-1]??23,day:s[s.length-1]??31,month:(i[i.length-1]??12)-1,weekday:c[c.length-1]??6},t.next={second:De.next.second(r),minute:De.next.minute(n),hour:De.next.hour(o),day:De.next.day(s),month:De.next.month(i),weekday:De.next.weekday(c)},t.prev={second:De.prev.second(r),minute:De.prev.minute(n),hour:De.prev.hour(o),day:De.prev.day(s),month:De.prev.month(i),weekday:De.prev.weekday(c)},t},Dr=(e,t,r,n=o=>o)=>o=>{let s=[];for(let i of o){if(!Number.isInteger(i)||i<t||i>r)throw new RangeError(`${e} must contain only integers between ${t} and ${r}`);s.push(n(i))}return new Set(ja(s,Jp))},Pr={seconds:Dr("seconds",0,59),minutes:Dr("minutes",0,59),hours:Dr("hours",0,23),days:Dr("days",1,31),months:Dr("months",1,12),weekdays:Dr("weekdays",0,7,e=>e===7?0:e)},Ne=(e,t)=>r=>{let n=new Array(e).fill(void 0);if(r.length===0)return n;let o;if(t==="next"){let s=r.length-1;for(let i=e-1;i>=0;i--){for(;s>=0&&r[s]>=i;)o=r[s--];n[i]=o}}else{let s=0;for(let i=0;i<e;i++){for(;s<r.length&&r[s]<=i;)o=r[s++];n[i]=o}}return n},De={prev:{second:Ne(60,"prev"),minute:Ne(60,"prev"),hour:Ne(24,"prev"),day:Ne(32,"prev"),month:Ne(13,"prev"),weekday:Ne(7,"prev")},next:{second:Ne(60,"next"),minute:Ne(60,"next"),hour:Ne(24,"next"),day:Ne(32,"next"),month:Ne(13,"next"),weekday:Ne(7,"next")}},Xp="~effect/time/Cron/CronParseError",Pe=class extends yo("CronParseError"){[Xp]=Xp};var ed=(e,t)=>{let r=e.trim().split(/\s+/).filter(Gp);if(r.length!==5&&r.length!==6)return z(new Pe({message:"Invalid number of segments in cron expression",input:e}));r.length===5&&r.unshift("0");let[n,o,s,i,c,u]=r,f=t===void 0||Ur(t)?Q(t):Ma(vc(t),()=>new Pe({message:"Invalid time zone in cron expression",input:t}));return Na({tz:f,seconds:$r(n,Og),minutes:$r(o,Rg),hours:$r(s,Ag),days:$r(i,_g),months:$r(c,Mg),weekdays:$r(u,Fg)}).pipe(Fa(({tz:m,seconds:d,minutes:y,hours:p,days:I,months:U,weekdays:g})=>kg({tz:m,seconds:d.values,minutes:y.values,hours:p.values,days:I.values,months:U.values,weekdays:g.values,and:(I.wildcard||g.wildcard)&&I.values.size!==0&&g.values.size!==0})))};var Yo=e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),td=(e,t)=>Cg(e,t,"next");var Cg=(e,t,r)=>{let n=br(e.tz),o=Ec(t??new Date,{timeZone:n}),s=r==="prev",i=s?-1:1,c=e[r],u=s?e.last:e.first,f=s?(p,I)=>p<I:(p,I)=>p>I,d=n!==void 0&&jp(n)&&n.id==="UTC"?Bt:p=>{let I=Ec(p,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:s?"later":void 0}).pipe(Nr),U=p.getTime()-I.getTime();(s?U!==0:U>0)&&p.setTime(s?I.getTime():p.getTime()+U)},y=Kp(o,p=>{p.setUTCSeconds(p.getUTCSeconds()+i,0);for(let I=0;I<1e4;I++){if(e.seconds.size!==0){let U=p.getUTCSeconds(),g=c.second[U];if(g===void 0){p.setUTCMinutes(p.getUTCMinutes()+i,u.second),d(p);continue}if(f(g,U)){p.setUTCSeconds(g),d(p);continue}}if(e.minutes.size!==0){let U=p.getUTCMinutes(),g=c.minute[U];if(g===void 0){p.setUTCHours(p.getUTCHours()+i,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCMinutes(g,u.second),d(p);continue}}if(e.hours.size!==0){let U=p.getUTCHours(),g=c.hour[U];if(g===void 0){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCHours(g,u.minute,u.second),d(p);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let U=e.days.size===0||e.days.has(p.getUTCDate()),g=e.weekdays.size===0||e.weekdays.has(p.getUTCDay());if(!U||!g){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}else{let U=s?-1/0:1/0,g=s?-1/0:1/0;if(e.weekdays.size!==0){let X=p.getUTCDay(),K=c.weekday[X];K===void 0?U=s?u.weekday-7-X:7-X+u.weekday:U=K-X}if(e.days.size!==0&&U!==0){let X=p.getUTCDate(),K=c.day[X];if(K===void 0)if(s){let ee=new Date(p);ee.setUTCDate(0);let je=c.day[ee.getUTCDate()];if(je===void 0&&(ee.setUTCDate(0),je=c.day[ee.getUTCDate()]),je===void 0)throw new Error("Unable to find cron date");ee.setUTCDate(je),g=(ee.getTime()-p.getTime())/864e5}else g=Yo(p)-X+u.day;else!s&&K>Yo(p)?g=Yo(p)-X+u.day:g=K-X}let $e=s?Math.max(U,g):Math.min(U,g);if($e!==0){p.setUTCDate(p.getUTCDate()+$e),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}if(e.months.size!==0){let U=p.getUTCMonth()+1,g=c.month[U],$e=X=>{let K=Yo(new Date(Date.UTC(p.getUTCFullYear(),X+1,0)));return e.days.size!==0&&e.weekdays.size===0?s?c.day[K]??K:u.day:s?K:1};if(g===void 0){p.setUTCFullYear(p.getUTCFullYear()+i),p.setUTCMonth(u.month,$e(u.month)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){let X=g-1;p.setUTCMonth(X,$e(X)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}return}throw new Error("Unable to find cron date")});return Dn(y)};var wg=xs((e,t)=>J(e.tz,t.tz)&&e.and===t.and&&Lr(e.seconds,t.seconds)&&Lr(e.minutes,t.minutes)&&Lr(e.hours,t.hours)&&Lr(e.days,t.days)&&Lr(e.months,t.months)&&Lr(e.weekdays,t.weekdays)),Tg=Xc(Yc()),Lr=(e,t)=>Tg(B(e),B(t)),Ig=a(2,(e,t)=>wg(e,t)),Og={min:0,max:59},Rg={min:0,max:59},Ag={min:0,max:23},_g={min:1,max:31},Mg={min:1,max:12,aliases:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12}},Fg={min:0,max:7,normalize:e=>e===7?0:e,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},$r=(e,t)=>{let r=new Set,n=e.split(","),o=Qp(n[0]),s=o[0]==="*",i=t.normalize??(u=>u),c=s&&(o[1]===void 0||o[1]===1)?Bt:u=>{r.add(i(u))};for(let u=0;u<n.length;u++){let f=n[u],[m,d]=u===0?o:Qp(f);if(d!==void 0){if(!Number.isInteger(d))return z(new Pe({message:"Expected step value to be a positive integer",input:e}));if(d<1)return z(new Pe({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return z(new Pe({message:`Expected step value to be less than or equal to ${t.max}`,input:e}))}if(m==="*"){if(u===0&&(d===void 0||d===1))continue;for(let y=t.min;y<=t.max;y+=d??1)c(y)}else{let[y,p]=Ug(m,t.aliases);if(!Number.isInteger(y))return z(new Pe({message:"Expected a positive integer",input:e}));if(y<t.min||y>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(p===void 0)for(let I=y;I<=(d===void 0?y:t.max);I+=d??1)c(I);else{if(!Number.isInteger(p))return z(new Pe({message:"Expected a positive integer",input:e}));if(p<t.min||p>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(y>p)return z(new Pe({message:"Invalid value range",input:e}));for(let I=y;I<=p;I+=d??1)c(I)}}}return Q({values:r,wildcard:s})},Qp=e=>{let t=e.indexOf("/");if(t!==-1){let r=e.slice(t+1);return[e.slice(0,t),rd.test(r)?Number(r):NaN]}return[e,void 0]},Ug=(e,t)=>{let r=e.indexOf("-");return r!==-1?[Cc(e.slice(0,r),t),Cc(e.slice(r+1),t)]:[Cc(e,t),void 0]};function Cc(e,t){return t?.[Zp(e)]??(rd.test(e)?Number(e):NaN)}var rd=/^\d+$/;var od=M("effect/Random",{defaultValue:()=>({nextIntUnsafe(){return Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER-Number.MIN_SAFE_INTEGER+1))+Number.MIN_SAFE_INTEGER},nextDoubleUnsafe(){return Math.random()}})});var Xo=a(2,(e,t)=>Ar(e,Dg,r=>t(r)));var sd=e=>e._tag==="Fail"&&cp(e.error),id=e=>{let t,r=!1;for(let n of e.reasons)sd(n)?t??=n.error:n._tag!=="Interrupt"&&(r=!0);return t===void 0?z(e):r?z(ip(e.reasons.filter(n=>!sd(n)))):Q(t)};var Dg=e=>{let t=id(e);return G(t)?t:Q(t.success.value)};var Pn=a(2,(e,t)=>it(e,{onSuccess:t.onSuccess,onFailure:r=>{let n=id(r);return G(n)?t.onFailure(n.failure):t.onDone(n.success.value)}}));var cd="~effect/Schedule",Pg=od.useSync(e=>e.nextDoubleUnsafe()),Ht=M("effect/Schedule/CurrentMetadata",{defaultValue:oe({input:void 0,output:void 0,duration:$,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Lg={[cd]:{_Out:w,_In:w,_Env:w},pipe(){return D(this,arguments)}},es=e=>b(e,cd),Oe=e=>{let t=Object.create(Lg);return t.step=e,t},jr=()=>{let e=0,t,r;return(n,o)=>{r===void 0&&(r=n);let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},sr=e=>Oe(T(e,t=>{let r=jr();return(n,o)=>t(r(n,o))})),ut=e=>Te(e.step,t=>x(()=>F(t))),qr=e=>he(t=>T(ut(e),r=>{let n=jr();return o=>v(()=>{let s=t.currentTimeMillisUnsafe();return h(r(s,o),([i,c])=>{let u=n(s,o);return u.output=i,u.duration=c,le(or(c),u)})})})),$g=e=>T(qr(e),t=>r=>T(t(r),n=>n.output)),jg=a(2,(e,t)=>Oc(e,r=>T(t(r),n=>go(q(n),r.duration)))),qg=a(2,(e,t)=>Qo(ad(e,t),({output:r})=>x(Ua(r)))),ad=a(2,(e,t)=>Oe(E(()=>{let r=0,n,o=Qo(e,({output:i})=>z(i)),s=Qo(t,({output:i})=>Q(i));return function i(c,u){return n?n(c,u):ut(r===0?o:s).pipe(h(f=>(r++,r===1?(n=(m,d)=>Xo(f(m,d),y=>(n=void 0,i(m,d))),n(c,u)):(n=f,n(c,u)))))}}))),Wg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Hg(o);return s===void 0?ct($):x([s,s])}))),Hg=e=>{let t=e[0];for(let r=1;r<e.length&&(t=e[r]&&t&&Hs(t,e[r]),t!==void 0);r++);return t},zg=(e,t)=>{let r=Tc(e)?Q(e):ed(e,t);return Oe(T(er(r),n=>(o,s)=>o===Number.POSITIVE_INFINITY?ct($):E(()=>{let i=td(n,o).getTime(),c=we(i-o);return[c,c]})))},Bg=e=>{let t=q(e);return sr(x(r=>r.attempt===1?x([t,t]):ct($)))},Kg=e=>{let t=Je(e);return sr(x(r=>{let n=we(r.elapsed);return r.elapsed>t?ct(n):x([n,$])}))},Jg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Vg(o);return s===void 0?ct($):x([s,s])}))),Vg=e=>{let t;for(let r=0;r<e.length;r++){let n=e[r];n!==void 0&&(t=t===void 0?n:Ws(t,n))}return t},Zg=(e,t=2)=>{let r=Je(q(e));return sr(x(n=>{let o=we(r*Math.pow(t,n.attempt-1));return x([o,o])}))},Gg=e=>{let t=Je(q(e));return Oe(E(()=>{let r=0,n=t;return oe(E(()=>{let o=r+n;r=n,n=o;let s=we(o);return[s,s]}))}))},Yg=e=>{let t=Je(q(e));return sr(E(()=>{let r=0,n=0;return o=>E(()=>{if(t===0)return[o.attempt-1,$];if(o.attempt===1)return r=o.now,n=o.now+t,[0,we(t)];let s=o.now>n+t,i=t-(o.now-r)%t,c=s?0:i===0?t:i;return n=s?o.now:o.now+c,[o.attempt-1,we(c)]})}))},Qo=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Pn(r(o,s),{onSuccess:([i,c])=>{let u=t({...n(o,s),output:i,duration:c});return S(u)?T(u,f=>[f,c]):x([u,c])},onFailure:F,onDone:i=>{let c=t({...n(o,s),output:i,duration:$});return S(c)?h(c,ct):ct(c)}})}))),Oc=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),([i,c])=>T(t({...n(o,s),output:i,duration:c}),u=>[i,q(u)]))}))),Xg=e=>Oc(e,({duration:t})=>T(Pg,r=>{let n=Je(t);return we(n*.8*(1-r)+n*1.2*r)})),ts=e=>Oe(T(ut(e),t=>(r,n)=>Pn(t(r,n),{onSuccess:o=>x([n,o[1]]),onFailure:F,onDone:()=>ct(n)}))),Rc=e=>ir(rs,({attempt:t})=>x(t<=e)),ud=e=>{let t=q(e);return sr(x(r=>x([r.attempt-1,t])))},Qg=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Lt(r(o,s),([i,c])=>t({...n(o,s),output:i,duration:c}))}))),ey=a(2,(e,t)=>{let r=t.duration===void 0?void 0:q(t.duration);return ir(e,({attempt:n,elapsed:o})=>x((t.times===void 0||n<=t.times)&&(r===void 0||Bs(we(o),r))))}),ir=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),i=>{let[c,u]=i,f=t({...n(o,s),output:c,duration:u});return h(S(f)?f:x(f),m=>m?x(i):ct(c))})})));var ty=e=>{let t=Je(q(e));return sr(x(r=>E(()=>[r.attempt-1,t===0?$:we(t-r.elapsed%t)])))},rs=ud($),ry=Oe(x((e,t)=>x([t,$]))),ny=()=>ry;var oy=()=>e=>e;var sy=(e,t,r)=>qo(n=>h(r?.local?hc(t,xc(),n):Op(t,n),o=>kt(e,o))),ns=a(e=>S(e[0]),(e,t,r)=>$s(t)?kt(e,t):sy(e,Array.isArray(t)?_p(...t):t,r));var Ac=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue();return Ie(No(Lt(h(v(()=>xe(e,Ht,o)),n),s=>E(()=>{o=s})),{disableYield:!0}),s=>nn(s)?x(s.value):r(s,o.attempt===0?V():Z(o)))})),_c=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue(),s,i=Ie(v(()=>xe(e,Ht,o)),c=>(s=c,h(n(c),u=>(o=u,i))));return Xo(i,c=>A(()=>r(s,c)))})),ld=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return Ac(e,r,j)}),Ln=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return _c(e,r,j)}),pd=a(3,(e,t,r)=>h(qr(r),n=>{let o=Ht.defaultValue(),s=v(()=>xe(e,Ht,o));return Ie(h(n(t),i=>{o=i;let c=oe(h(s,n));return Tt({while:At,body:c,step(u){o=u}})}),i=>nn(i)?x(i.value):j(i))})),iy=ts(rs),$n=e=>{let t=e.schedule?ts(e.schedule):iy;return e.while&&(t=ir(t,({input:r})=>{let n=e.while(r);return S(n)?n:x(n)})),e.until&&(t=ir(t,({input:r})=>{let n=e.until(r);return S(n)?T(n,o=>!o):x(!n)})),e.times!==void 0&&(t=ir(t,({attempt:r})=>x(r<=e.times))),t};var cy=(e,t)=>{let r=-1,n=0,o=s=>Lo(e(s));return{begin:he(s=>v(()=>{let i=t();i.stepIndex!==r&&(r=i.stepIndex,n=0),n++;let c={attempt:i.attempt,stepAttempt:n,stepIndex:i.stepIndex,startNanos:s.monotonicTimeNanosUnsafe()};return le(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>he(c=>{let u=Ut(c.monotonicTimeNanosUnsafe()-s.startNanos);return o(i._tag==="Success"?{_tag:"AttemptSuccess",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u}:{_tag:"AttemptFailure",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u,cause:i.cause})})}},xd=a(e=>S(e[0]),(e,t,r)=>v(()=>{let n=0,o={attempt:0,stepIndex:0},s=Uo(Up,E(()=>(o={attempt:o.attempt+1,stepIndex:n},o))),i=r?.onEvent===void 0?void 0:cy(r.onEvent,()=>o),c=i===void 0?w:f=>jt(m=>h(i.begin,d=>ie(m(f),y=>i.end(d,y)))),u;return h(Tt({while:()=>n<t.steps.length&&(u===void 0||G(u)),body(){let f=t.steps[n],m=s(c(ns(e,f.provide)));if(u){let d=!1,y=m;m=v(()=>d?y:(d=!0,er(u))),m=Ln(m,md(f,!1))}else{let d=md(f,!0);m=d?Ln(m,d):m}return Nt(m)},step(f){u=f,n++}}),()=>er(u))})),md=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return $n({schedule:e.schedule?e.schedule:e.attempts?void 0:ay,times:e.attempts,while:e.while});return $n({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},ay=Rc(1);var fy="~effect/Request",ly=Vc({_E:e=>e,_A:e=>e,_R:e=>e}),BC={...xa,[fy]:ly};var hd=e=>e;var yd=a(2,(e,t)=>{let r=n=>ce(o=>{let s=Sd(n,e,o,wr());return dy(n,s)});return S(t)?h(t,r):r(t)}),bd=(e,t)=>{let r=Sd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:ve(t.context,pn)});return()=>Ed(t.resolver,r)},os=[],Mc=new WeakMap,Sd=(e,t,r,n)=>{let o=Mc.get(e);o||(o=new Map,Mc.set(e,o));let s,i=!1,c=hd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(f){i||(i=!0,r(f),s?.entrySet.delete(c))}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let u=e.batchKey(c);if(s=o.get(u),!s){if(os.length>0)s=os.pop(),s.key=u,s.resolver=e,s.map=o;else{let f={key:u,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:h(v(()=>f.resolver.delay),m=>gd(f)),run:ie(v(()=>f.resolver.runAll(Array.from(f.entries),f.key)),m=>{for(let d of f.entrySet)d.completeUnsafe(m._tag==="Success"?Ke(new Error("Effect.request: RequestResolver did not complete request",{cause:d.request})):m);return f.entries.clear(),os.length<128&&(f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,os.push(f)),O})};s=f}o.set(u,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}return s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries)||(s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(gd(s),{scheduler:n.currentScheduler})),c},Ed=(e,t)=>{if(t.uninterruptible)return;let r=Mc.get(e);if(!r)return;let n=e.batchKey(t),o=r.get(n);o&&(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0&&(r.delete(n),o.fiber?.interruptUnsafe()))},dy=(e,t)=>E(()=>Ed(e,t));function gd(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):O}var xy="effect/Metric/CurrentMetricAttributes",hy=M(xy,{defaultValue:()=>({})}),gy="~effect/observability/Metric/MetricRegistryKey",yy=M(gy,{defaultValue:()=>new Map}),vd="~effect/observability/Metric",kd=class{[vd]=vd;#t=new WeakMap;#e;id;description;attributes;constructor(t,r,n){this.id=t,this.description=r,this.attributes=n}valueUnsafe(t){return this.hook(t).get(t)}modifyUnsafe(t,r){return this.hook(r).modify(t,r)}updateUnsafe(t,r){return this.hook(r).update(t,r)}hook(t){let r=ve(t,hy);if(Object.keys(r).length===0)return pr(this.#e)?this.#e.hooks:(this.#e=this.getOrCreate(t,this.attributes),this.#e.hooks);let n=Ey(this.attributes,r),o=this.#t.get(n);return pr(o)||(o=this.getOrCreate(t,n),this.#t.set(n,o)),o.hooks}getOrCreate(t,r){let n=by(this,r),o=ve(t,yy);if(o.has(n))return o.get(n);let s=this.createHooks(),i={id:this.id,type:this.type,description:this.description,attributes:Fc(r),hooks:s};return o.set(n,i),i}pipe(){return D(this,arguments)}};var Wr=a(2,(e,t)=>$t(r=>E(()=>e.updateUnsafe(t,r))));function by(e,t){let r=`${e.type}:${e.id}`;return pr(e.description)&&(r+=`:${e.description}`),pr(t)&&(r+=`:${Sy(t)}`),r}function Sy(e){return JSON.stringify(Array.isArray(e)?e:Object.entries(e))}function Ey(e,t){return{...Fc(e),...Fc(t)}}function Fc(e){return pr(e)&&Array.isArray(e)?e.reduce((t,[r,n])=>(be(t,r,n),t),{}):e}var vy=rt,cr=S,ky=rr,Cy=rc,wy=fl,Ty=ll,Iy=pl,Oy=ml,Ry=fe,Ay=hl,Td=Tt,_y=Ii,My=ef,Id=x,Fy=wn,Uy=Ti,Od=v,pe=E,Nc=O;var Ny=An;var Dc=ce,Dy=Ao,Py=El,Ly=vl,$y=Cl;var jy=kl,qy=of,Uc=j,Wy=Ro,Hy=F,zy=Xu,Rd=Dt,By=Qu;var Ky=Ir,Jy=wi,Ad=k,Vy=er,Zy=Ci,Gy=Yu,Yy=Gu,Pc=h,Xy=df,Qy=Pt,_d=Lt,eb=Nt,tb=zf,Md=_r,rb=T,nb=le,ob=_o,sb=Or,ib=af,cb=If,ab=Ui,ub=Ie;var fb=Li,lb=Pf,pb=Lf,db=$f,mb=jf,xb=Te,hb=Mf,gb=Tn,yb=Po,bb=_f,Sb=Di,Eb=Ar,vb=$i,kb=ji,Cb=qi,Fd=Pi,wb=Nf,Ud=Ff,Tb=Uf,Ib=Do,Nd=Df,Ob=Wi,Rb=Ln,Ab=_c,_b=uf,Mb=Hf,Fb=Lo,Ub=xd,Nb=sp,Db=qf,Pb=Wf,Lb=Zf,$b=Gf,jb=zi,qb=Vf,Wb=or,Hb=Yf,zb=_i,Bb=Mi,Kb=ff,Jb=Mo,Vb=yl,Zb=bl,Gb=Sl,Yb=nc,Xb=oc,Qb=Of,eS=gl,tS=Rf,rS=$o,nS=In,oS=Hi,sS=Bf,iS=lf,cS=it,aS=tr,uS=Kf,fS=Jf,lS=Fi,pS=$t,dS=ns,mS=kt,xS=Tf,hS=kf,gS=Cf,yS=Rr,bS=vt,SS=wf,Dd=xe,ES=Uo,vS=Rn,kS=Ji,CS=qo,wS=Wo,TS=nl,IS=rl,OS=Vi,RS=Qf,AS=Yi,_S=el,MS=Xi,FS=Fr,Lc=ie,US=Zi,NS=Gi,DS=ol,PS=ec,LS=Qi,Pd=sl,$S=tc,jS=tl,qS=wt,Ld=jt,WS=al,HS=ul,zS=No,BS=ld,KS=Ac,JS=Ni,VS=Af,ZS=a(2,(e,t)=>$d(e,void 0,t)),$d=pd,GS=Dl,YS=Pl,XS=Ll,QS=$l,eE=Vl,tE=Zl,rE=Gl,nE=Yl,oE=Hl,sE=zl,iE=Bl,cE=ql,aE=Sn,uE=En,fE=Jl,lE=Wl,pE=Cr,dE=yd,mE=bd,xE=wl,hE=sc,gE=Ol,yE=Tl,bE=Il,SE=rf,EE=nf,vE=Al,kE=It,CE=ic,wE=_l,TE=Fl,IE=cc,OE=Ml,RE=zo,AE=Nl,_E=ac,ME=Ul,FE=Bo,UE=Ri,NE=sf,jd=he,DE=Ge,PE=Ge(),LE=Ge("Fatal"),$E=Ge("Warn"),jE=Ge("Error"),qE=Ge("Info"),WE=Ge("Debug"),HE=Ge("Trace"),zE=a(2,(e,t)=>vt(e,fc,r=>new Set([...r,t]))),BE=a(e=>cr(e[0]),(e,...t)=>vt(e,bp,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),KE=np,JE=a(2,(e,t)=>h(Ko,r=>vt(e,Sp,n=>[[t,r],...n]))),VE=a(e=>cr(e[0]),(e,t,r)=>Lc(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),ZE=a(e=>cr(e[0]),(e,t,r)=>_d(e,n=>{let o=r===void 0?n:r(n);return Wr(t,o)})),GE=a(e=>cr(e[0]),(e,t,r)=>Fd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),YE=a(e=>cr(e[0]),(e,t,r)=>Nd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),XE=a(e=>cr(e[0]),(e,t,r)=>jd(n=>{let o=n.monotonicTimeNanosUnsafe();return Lc(e,()=>{let s=n.monotonicTimeNanosUnsafe(),i=zs(q(s),q(o)),c=r===void 0?i:A(()=>r(i));return Wr(t,c)})})),Hr=class extends gt()("effect/Effect/Transaction"){},QE=e=>Ad(t=>{let r=uo(t.context,Hr);if(r)return e;r={journal:new Map,retry:!1};let n;return Ld(o=>Pc(Td({while:()=>!n,body:oe(o(e).pipe(Dd(Hr,r),Ud(()=>r.retry?o(t0(r)):Nc),Md)),step(s){if(r.retry||!e0(r))return wd(r);ap(s)?r0(t,r):wd(r),n=s}}),()=>n))}),e0=e=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},t0=e=>Od(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return Dc(o=>{let s=()=>{n(),o(Nc)};for(let i of r)i.pending.set(t,s);return pe(n)})});function r0(e,t){for(let[r,{value:n}]of t.journal){n!==r.value&&(r.version=r.version+1,r.value=n);for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function wd(e){e.retry=!1,e.journal.clear()}var n0=Pc(Hr,e=>(e.retry=!0,Pd)),o0=(e,t,r)=>(...n)=>Dc(o=>{try{e(...n,(s,i)=>{o(s?Uc(t?t(s,n):s):Id(i))})}catch(s){o(r?Uc(r(s,n)):Rd(s))}}),s0=()=>e=>e,i0=()=>e=>e,c0=()=>e=>e,a0=mf,u0=xf,f0=hf,l0=pf,p0=gf,d0=cf;var ar={};zt(ar,{await:()=>m0,awaitAll:()=>x0,getCurrent:()=>k0,interrupt:()=>y0,interruptAll:()=>S0,interruptAllAs:()=>E0,interruptAs:()=>b0,isFiber:()=>v0,join:()=>h0,joinAll:()=>g0,runIn:()=>C0});var m0=vi;var x0=Tr,h0=Ju,g0=Vu,y0=Oo,b0=ki,S0=St,E0=Zu,v0=e=>b(e,yn),k0=wr,C0=Rl;var qd="~effect/MutableRef",w0={[qd]:qd,...Be,toJSON(){return{_id:"MutableRef",current:Qe(this.current)}}},Wd=e=>{let t=Object.create(w0);return t.current=e,t};var Hd=a(2,(e,t)=>(e.current=t,e));var C={};zt(C,{get:()=>R0,getAndSet:()=>_0,getAndUpdate:()=>M0,getAndUpdateSome:()=>F0,getUnsafe:()=>j0,make:()=>O0,makeUnsafe:()=>Bd,modify:()=>Kd,modifySome:()=>N0,set:()=>A0,setAndGet:()=>U0,update:()=>D0,updateAndGet:()=>P0,updateSome:()=>L0,updateSomeAndGet:()=>$0});var T0="~effect/Ref",I0={[T0]:{_A:w},...Be,toJSON(){return{_id:"Ref",ref:this.ref}}},Bd=e=>{let t=Object.create(I0);return t.ref=Wd(e),t},O0=e=>pe(()=>Bd(e)),R0=e=>pe(()=>e.ref.current),A0=a(2,(e,t)=>pe(()=>Hd(e.ref,t))),_0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t,r})),M0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t(r),r})),F0=a(2,(e,t)=>pe(()=>{let r=e.ref.current,n=t(r);return n._tag==="Some"&&(e.ref.current=n.value),r})),U0=a(2,(e,t)=>pe(()=>e.ref.current=t)),Kd=a(2,(e,t)=>pe(()=>{let[r,n]=t(e.ref.current);return e.ref.current=n,r})),N0=a(2,(e,t)=>Kd(e,r=>{let[n,o]=t(r);return[n,o._tag==="None"?r:o.value]})),D0=a(2,(e,t)=>pe(()=>{e.ref.current=t(e.ref.current)})),P0=a(2,(e,t)=>pe(()=>e.ref.current=t(e.ref.current))),L0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);r._tag==="Some"&&(e.ref.current=r.value)})),$0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);return r._tag==="Some"&&(e.ref.current=r.value),e.ref.current})),j0=e=>e.ref.current;var q0={workers:new Map};function W0(e,t,r,n=1){let o=new Map(e.workers),s=o.get(t);return o.set(t,{id:t,types:new Set(r),capacity:n,active:s?.active??0}),{workers:o}}function H0(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function z0(e,t,r){let n=e.workers.get(t);if(!n)return e;let o=new Map(e.workers);return o.set(t,{...n,types:new Set(r)}),{workers:o}}function B0(e,t){let r=e.workers.get(t);if(!r)throw new Error(`acquire: unknown worker ${t}`);if(r.active>=r.capacity)throw new Error(`acquire: worker ${t} at capacity`);let n=new Map(e.workers);return n.set(t,{...r,active:r.active+1}),{workers:n}}function K0(e,t){let r=e.workers.get(t);if(!r)return e;let n=new Map(e.workers);return n.set(t,{...r,active:Math.max(0,r.active-1)}),{workers:n}}function Jd(e,t){let r=0;for(let n of e.workers.values())n.types.has(t)&&(r+=Math.max(0,n.capacity-n.active));return r}function Vd(e){let t=new Set;for(let r of e.workers.values())for(let n of r.types)t.add(n);return t}function J0(e){let t=[];for(let r of Vd(e))Jd(e,r)>0&&t.push(r);return t}function V0(e){let t=[];for(let r of Vd(e)){let n=Jd(e,r);n>0&&t.push({type:r,freeSlots:n})}return t}function Z0(e,t){for(let r of e.workers.values())if(r.types.has(t)&&r.active<r.capacity)return r.id;return null}var VT=(e=q0)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),add:(n,o,s=1)=>C.update(t,i=>W0(i,n,o,s)),remove:n=>C.update(t,o=>H0(o,n)),setTypes:(n,o)=>C.update(t,s=>z0(s,n,o)),claim:n=>C.modify(t,o=>{let s=Z0(o,n);return s===null?[null,o]:[s,B0(o,s)]}),releaseWorker:n=>C.update(t,o=>K0(o,n)),pollTypes:C.get(t).pipe(l.map(J0)),pollBatch:C.get(t).pipe(l.map(V0))}});var Zd={keySetHash:"",xmlByKey:new Map,jobTypes:[]};function G0(e){return[...e].sort().join("\0")}function Y0(e,t,r,n){let o=new Set,s=[];for(let i of e){let c=t.get(i);if(c!==void 0)for(let u of r(c))n&&!(u.process===n||u.process.startsWith(n))||o.has(u.taskType)||(o.add(u.taskType),s.push(u.taskType))}return s}var Gd=(e,t,r,n="")=>l.gen(function*(){let o=yield*e.searchProcessDefinitionKeys(),s=G0(o);if(s===r.keySetHash)return{cache:r,crawled:!1,fetchedKeys:[]};let i=new Set(o),c=new Map;for(let[m,d]of r.xmlByKey)i.has(m)&&c.set(m,d);let u=[];for(let m of o){if(c.has(m))continue;let d=yield*e.getProcessDefinitionXml(m);c.set(m,d),u.push(m)}let f=Y0(o,c,t,n);return{cache:{keySetHash:s,xmlByKey:c,jobTypes:f},crawled:!0,fetchedKeys:u}});var $c={requestTimeoutMs:1e4,initialLockMs:15e3,emptyPollBackoffMs:0,maxBatchPerType:10},X0=(e,t,r,n)=>l.gen(function*(){for(;;){let o=yield*e.activate({type:t,maxJobsToActivate:r,requestTimeoutMs:n.requestTimeoutMs,lockMs:n.initialLockMs});if(o.length>0)return o;n.emptyPollBackoffMs>0&&(yield*l.sleep(ne.millis(n.emptyPollBackoffMs)))}}),Q0=(e,t)=>Math.min(Math.max(1,e),Math.max(1,t.maxBatchPerType)),Yd=(e,t,r)=>t.length===0?l.die(new Error("activateWinner: no serviceable-with-capacity types to poll")):l.raceAll(t.map(n=>X0(e,n.type,Q0(n.freeSlots,r),r)));var ev={workers:new Map};function tv(e,t,r){let n=new Map(e.workers),o=n.get(t);return n.set(t,{capability:r,jobKeys:o?.jobKeys??new Set}),{workers:n}}function rv(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function nv(e,t,r){let n=new Map(e.workers),o=n.get(t),s=new Set(o?.jobKeys??[]);return s.add(r),n.set(t,{capability:o?.capability??{},jobKeys:s}),{workers:n}}function ov(e,t,r){let n=e.workers.get(t);if(!n||!n.jobKeys.has(r))return e;let o=new Map(e.workers),s=new Set(n.jobKeys);return s.delete(r),o.set(t,{capability:n.capability,jobKeys:s}),{workers:o}}function sv(e){let t=[];for(let[r,n]of e.workers)t.push({instance:r,capability:n.capability,jobKeys:[...n.jobKeys]});return t}function iv(e,t){let r=e.workers.get(t);return r?[...r.jobKeys]:[]}var Xd=(e=ev)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),register:(r,n)=>C.update(t,o=>tv(o,r,n)),deregister:r=>C.update(t,n=>rv(n,r)),claim:(r,n)=>C.update(t,o=>nv(o,r,n)),release:(r,n)=>C.update(t,o=>ov(o,r,n)),snapshot:C.get(t).pipe(l.map(sv)),jobKeysFor:r=>C.get(t).pipe(l.map(n=>iv(n,r)))}}),zr=(e,t,r)=>e===void 0?l.void:e.pipe(l.catch(n=>l.sync(()=>t.debug?.(`agentic ${r} frame failed \u2014 ${n.message}`)))),Qd=(e,t,r=qe)=>{let n=(o,s)=>t.currentHandle.pipe(l.flatMap(i=>i?zr(o(i),r,s):l.void));return{ownership:e,register:(o,s)=>e.register(o,s).pipe(l.flatMap(()=>n(i=>i.register?.(o,s),"register"))),claim:(o,s)=>e.claim(o,s).pipe(l.flatMap(()=>n(i=>i.claim?.(o,s),"claim"))),transcript:(o,s,i)=>n(c=>c.transcript?.(o,s,i),"transcript"),release:(o,s)=>e.release(o,s).pipe(l.flatMap(()=>n(i=>i.release?.(o,s),"release")))}},em=(e,t,r,n)=>e.claim(t,r).pipe(l.flatMap(()=>n),l.ensuring(e.release(t,r))),tm=(e,t,r=qe)=>t.snapshot.pipe(l.flatMap(n=>l.forEach(n,o=>zr(e.register?.(o.instance,o.capability),r,"register").pipe(l.flatMap(()=>l.forEach(o.jobKeys,s=>zr(e.claim?.(o.instance,s),r,"claim"),{discard:!0}))),{discard:!0})));var jc={recoveryWindowMs:3e5,extendIntervalMs:6e4},qc=(e,t,r)=>l.gen(function*(){let{engine:n,runner:o,registry:s,logger:i,config:c,ownership:u}=e;return(yield*n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.as(!0),l.catch(m=>(i.warn(`[${t.type}] job ${t.jobKey}: winner extend failed (${m.message}) \u2014 not starting; slot released`),l.succeed(!1)))))?(yield*l.gen(function*(){let m=n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: heartbeat extend failed \u2014 ${p.message}`)))),d=yield*l.forkChild(l.sleep(ne.millis(c.extendIntervalMs)).pipe(l.flatMap(()=>m),l.forever)),y=o.run(t).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: run failed \u2014 ${p.message}`))));yield*(u?em(u,r,t.jobKey,y):y).pipe(l.ensuring(ar.interrupt(d)))}).pipe(l.ensuring(s.releaseWorker(r))),{started:!0}):(yield*s.releaseWorker(r),{started:!1,reason:"extend-failed"})});function jn(e,t){return e.filter(r=>r.lockDeadlineMs>t)}function cv(e,t,r){let n=jn(e,r),o=n.findIndex(c=>t.has(c.job.type));if(o===-1)return{picked:null,rest:n};let s=n[o],i=n.filter((c,u)=>u!==o);return{picked:s,rest:i}}var rm=()=>l.gen(function*(){let e=yield*C.make([]);return{park:(t,r)=>Wt.currentTimeMillis.pipe(l.flatMap(n=>C.update(e,o=>[...jn(o,n),{job:t,lockDeadlineMs:n+r}]))),repark:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.update(e,n=>t.lockDeadlineMs>r?[...jn(n,r),t]:jn(n,r)))),takeFor:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.modify(e,n=>{let{picked:o,rest:s}=cv(n,t,r);return[o,s]}))),size:Wt.currentTimeMillis.pipe(l.flatMap(t=>C.updateAndGet(e,r=>jn(r,t))),l.map(t=>t.length))}});var Wc={reconnectBaseMs:500,reconnectMaxMs:3e4},nm=e=>Le.exponential(ne.millis(e.reconnectBaseMs)).pipe(Le.jittered,Le.modifyDelay(({duration:t})=>l.succeed(ne.min(t,ne.millis(e.reconnectMaxMs))))),av=(e,t,r=Wc)=>l.acquireRelease(e.connect().pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.retry(nm(r))),n=>n.disconnect.pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: disconnected"))),l.ignore)),uI=(e,t,r,n=Wc)=>l.scoped(av(e,t,n).pipe(l.flatMap(r))),om=(e,t,r,n,o,s=Wc)=>l.gen(function*(){let i=l.acquireUseRelease(e.connect().pipe(l.retry(nm(s))),u=>C.set(r,u).pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: (re)connected \u2014 resyncing"))),l.flatMap(()=>n(u)),l.flatMap(()=>u.closed??l.never)),u=>C.set(r,null).pipe(l.flatMap(()=>u.disconnect.pipe(l.ignore)))),c=yield*l.forkChild(i.pipe(l.forever));return yield*o.pipe(l.ensuring(ar.interrupt(c)))});var dI=e=>({connect:()=>l.gen(function*(){let t=yield*l.try({try:e,catch:c=>new lt(c instanceof Error?c.message:"agentic connect failed",c)}),r=yield*Ye.make(),n=yield*Ye.make();if(t.onOpen(()=>{l.runSync(Ye.succeed(n,!0))}),t.onClose(()=>{l.runSync(Ye.succeed(n,!1)),l.runSync(Ye.succeed(r,void 0))}),!(yield*Ye.await(n)))return yield*l.fail(new lt("agentic connection closed before it opened"));let s=c=>l.try({try:c,catch:u=>new lt(u instanceof Error?u.message:"agentic frame send failed",u)});return{disconnect:l.sync(()=>t.close()),closed:Ye.await(r),register:(c,u)=>s(()=>t.register(c,u)),heartbeat:c=>s(()=>t.heartbeat(c)),deregister:(c,u)=>s(()=>t.deregister(c,u)),transcript:(c,u,f)=>s(()=>t.transcript(c,u,f)),...t.supportsClaimRelease?{claim:(c,u)=>s(()=>t.claim(c,u)),release:(c,u)=>s(()=>t.release(c,u))}:{},...t.supportsSteer?{onSteer:c=>s(()=>t.onSteer((u,f,m)=>l.runFork(c(u,f,m))))}:{}}})});var ur=e=>t=>t instanceof lt?t:new lt(t instanceof Error?t.message:e,t),gI=e=>({activate:t=>l.tryPromise({try:()=>Promise.resolve(e.activate(t)),catch:ur(`activate ${t.type} failed`)}),extendLock:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.extendLock(t,r)).then(()=>{}),catch:ur(`extendLock ${t} failed`)}),complete:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.complete(t,r)).then(()=>{}),catch:ur(`complete ${t} failed`)}),fail:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.fail(t,r)).then(()=>{}),catch:ur(`fail ${t} failed`)})}),yI=e=>({searchProcessDefinitionKeys:()=>l.tryPromise({try:()=>Promise.resolve(e.searchProcessDefinitionKeys()),catch:ur("searchProcessDefinitionKeys failed")}),getProcessDefinitionXml:t=>l.tryPromise({try:()=>Promise.resolve(e.getProcessDefinitionXml(t)),catch:ur(`getProcessDefinitionXml ${t} failed`)})}),bI=e=>({run:t=>l.tryPromise({try:()=>Promise.resolve(e.run(t)).then(()=>{}),catch:ur(`run ${t.jobKey} failed`)})}),uv=e=>{if(!e||typeof e.info!="function"||typeof e.warn!="function")return qe;let t=e.info.bind(e),r=e.warn.bind(e),n=typeof e.debug=="function"?e.debug.bind(e):()=>{};return{info:t,warn:r,debug:n}},SI=e=>{let t={engine:e.engine,runner:e.runner,registry:e.registry,reconcileReader:e.reconcileReader,scan:e.scan,logger:uv(e.logger)};return e.autoWorkerId!==void 0&&(t.autoWorkerId=e.autoWorkerId),e.agenticEndpoint!==void 0&&(t.agenticEndpoint=e.agenticEndpoint),e.agenticConfig!==void 0&&(t.agenticConfig=e.agenticConfig),e.config!==void 0&&(t.config=e.config),t};var ss={heartbeatIntervalMs:1e4},sm=(e,t=qe)=>{let r=(n,o)=>e.currentHandle.pipe(l.flatMap(s=>s?zr(n(s),t,o):l.void));return{register:(n,o)=>r(s=>s.register?.(n,o),"register"),heartbeat:n=>r(o=>o.heartbeat?.(n),"heartbeat"),deregister:(n,o)=>r(s=>s.deregister?.(n,o),"deregister")}};function fv(e,t){let r=[],n=[],o=new Set;for(let i of t)o.add(i.instance),(e.has(i.instance)?n:r).push(i);let s=[];for(let i of e)o.has(i)||s.push(i);return{appeared:r,present:n,departed:s}}var lv=(e,t,r)=>e.snapshot.pipe(l.flatMap(n=>C.get(r).pipe(l.flatMap(o=>{let{appeared:s,present:i,departed:c}=fv(o,n);return l.forEach(s,u=>t.register(u.instance,u.capability),{discard:!0}).pipe(l.flatMap(()=>l.forEach(i,u=>t.heartbeat(u.instance),{discard:!0})),l.flatMap(()=>l.forEach(c,u=>t.deregister(u),{discard:!0})),l.flatMap(()=>C.set(r,new Set(n.map(u=>u.instance)))))})))),im=(e,t,r=ss)=>C.make(new Set).pipe(l.flatMap(n=>lv(e,t,n).pipe(l.repeat(Le.spaced(ne.millis(r.heartbeatIntervalMs)))))),cm=(e=qe)=>C.make(new Map).pipe(l.map(t=>({route:(r,n,o)=>C.get(t).pipe(l.flatMap(s=>{let i=s.get(r);return i?i(n,o):l.sync(()=>e.debug?.(`steer: no sink for instance ${r} \u2014 dropped ${o.length}B`))})),register:(r,n)=>C.update(t,o=>new Map(o).set(r,n)),unregister:r=>C.update(t,n=>{let o=new Map(n);return o.delete(r),o})}))),am=(e,t,r=qe)=>zr(e.onSteer?.(t.route),r,"onSteer");var pv={activation:$c,dispatch:jc,reconcileIntervalMs:3e4,idleSpacingMs:1e3,presence:ss,scope:""},NI=e=>l.gen(function*(){let t=e.logger??qe,r={...pv,...e.config,activation:{...$c,...e.config?.activation},dispatch:{...jc,...e.config?.dispatch},presence:{...ss,...e.config?.presence}},n=yield*rm(),o=yield*C.make(Zd),s=yield*Xd(),i=yield*C.make(null),c={currentHandle:C.get(i)},u=Qd(s,c,t),f=sm(c,t),m=yield*cm(t),d={engine:e.engine,runner:e.runner,registry:e.registry,logger:t,config:r.dispatch,ownership:u},y=C.get(o).pipe(l.flatMap(g=>Gd(e.reconcileReader,e.scan,g,r.scope)),l.flatMap(g=>C.set(o,g.cache).pipe(l.flatMap(()=>e.autoWorkerId?e.registry.setTypes(e.autoWorkerId,g.cache.jobTypes):l.void))),l.catch(g=>l.sync(()=>t.warn(`reconcile skipped \u2014 ${g.message} (keeping current job-type set)`)))),p=e.registry.pollBatch.pipe(l.flatMap(g=>{if(g.length===0)return l.sleep(ne.millis(r.idleSpacingMs));let $e=new Set(g.map(K=>K.type)),X=K=>l.gen(function*(){for(let ee of K){let je=yield*e.registry.claim(ee.type);je?yield*l.forkChild(qc(d,ee,je)):yield*n.park(ee,r.activation.initialLockMs)}});return n.takeFor($e).pipe(l.flatMap(K=>K?e.registry.claim(K.job.type).pipe(l.flatMap(ee=>ee?l.forkChild(qc(d,K.job,ee)).pipe(l.asVoid):n.repark(K))):Yd(e.engine,g,r.activation).pipe(l.flatMap(ee=>X(ee)),l.catch(ee=>l.sync(()=>t.warn(`activation error \u2014 ${ee.message}`))))))})),I=l.gen(function*(){return yield*l.forkChild(y.pipe(l.repeat(Le.spaced(ne.millis(r.reconcileIntervalMs))))),e.agenticEndpoint&&(yield*l.forkChild(im(s,f,r.presence))),yield*p.pipe(l.forever)}),U=e.agenticEndpoint?om(e.agenticEndpoint,t,i,g=>tm(g,s,t).pipe(l.flatMap(()=>am(g,m,t))),I,e.agenticConfig):I;return{tick:p,reconcileOnce:y,run:U,parking:n,ownership:s,steerRouter:m,transcript:u.transcript,presence:f}});export{Wt as Clock,ne as Duration,l as Effect,ar as Fiber,C as Ref,Le as Schedule,lt as SupervisorError,B0 as acquire,av as acquireAgentic,Yd as activateWinner,W0 as addWorker,uv as asLogger,Q0 as batchSizeFor,nv as claimJob,$c as defaultActivationConfig,Wc as defaultAgenticConfig,jc as defaultDispatchConfig,ss as defaultPresenceConfig,pv as defaultSupervisorConfig,rv as deregisterWorker,fv as diffPresence,qc as dispatch,zr as emitFrame,Zd as emptyCache,ev as emptyOwnership,q0 as emptyRegistry,Jd as freeSlotsFor,G0 as hashKeys,am as installSteerRoute,iv as jobKeysForInstance,dI as makeAgenticEndpoint,gI as makeEngineClient,bI as makeJobRunner,Qd as makeOwnershipContext,Xd as makeOwnershipRegistry,rm as makeParkingLot,sm as makePresenceSink,yI as makeReconcileReader,VT as makeRegistry,cm as makeSteerRouter,NI as makeSupervisor,SI as makeSupervisorDeps,qe as noopLogger,Z0 as pickWorkerFor,im as projectPresence,lv as projectPresenceStep,jn as prune,Gd as reconcile,tv as registerWorker,K0 as release,ov as releaseJob,H0 as removeWorker,tm as resyncOwnership,Vd as serviceableTypes,z0 as setWorkerTypes,sv as snapshotOwnership,om as superviseAgentic,cv as takeValidFor,J0 as typesWithCapacity,V0 as typesWithSlots,uI as withAgenticConnection,em as withOwnedJob};
24
+ ${t}}`),n},yn="~effect/Fiber",Zx={_A:w,_E:w},Gx={id:0},wr=()=>globalThis[mr],Co=class{constructor(t,r=!0){this[yn]=Zx,this.setContext(t),this.id=++Gx.id,this.currentOpCount=0,this.interruptible=r,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this.runtimeMetrics?.recordFiberStart(this.context)}[yn];id;interruptible;currentOpCount;_stack;_observers;_exit;_children;_interruptedCause;_yielded;_running;_deferredInterrupt;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(t){return ve(this.context,t)}addObserver(t){return this._exit?(t(this._exit),Bt):(this._observers.push(t),()=>{if(this._exit)return;let r=this._observers.indexOf(t);r>=0&&this._observers.splice(r,1)})}interruptUnsafe(t,r){if(this._exit)return;let n=kn(t);this.currentStackFrame&&(n=en(n,ao(Yn,this.currentStackFrame))),r&&(n=en(n,r)),this._interruptedCause=this._interruptedCause?bi(this._interruptedCause,n):n,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(F(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(t){if(this._exit)return;if(this._yielded!==void 0){let o=this._yielded;this._yielded=void 0,o()}let r=this.runLoop(t);if(r===Vt)return;let n=si.interruptChildren&&si.interruptChildren(this);if(n!==void 0)return this.evaluate(h(n,()=>r));this._exit=r,this.runtimeMetrics?.recordFiberEnd(this.context,this._exit);for(let o=0;o<this._observers.length;o++)this._observers[o](r);this._observers.length=0,this._stack.length=0,this._children=void 0,this.context=Me()}runLoop(t){let r=globalThis[mr];globalThis[mr]=this;let n=this._running;this._running=!0;let o=!1,s=t;this.currentOpCount=0;try{for(;;){if(this._deferredInterrupt&&(this._deferredInterrupt=!1,s=F(this._interruptedCause)),this.currentOpCount++,!o&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){o=!0;let i=s;s=h(Ir,()=>i)}if(s=this.currentTracerContext?this.currentTracerContext(s,this):s[Y](this),s===Vt){let i=this._yielded;if(xr in i)return this._deferredInterrupt=!1,this._yielded=void 0,i;if(this._deferredInterrupt){this._yielded=void 0,i();continue}return Vt}}}catch(i){return b(s,Y)?this.runLoop(Ke(i)):Ke(`Fiber.runLoop: Not a valid effect: ${String(s)}`)}finally{this._running=n,globalThis[mr]=r}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,Yx;for(;;){let r=this._stack.pop();if(!r)return;let n=r[Mt]&&r[Mt](this);if(n)return n[t]=n,n;if(r[t])return r}}yieldWith(t){return this._yielded=t,Vt}children(){return this._children??=new Set}pipe(){return D(this,arguments)}setContext(t){let r=this.context;if(this.context=t,r!==void 0&&Ga(r,t))return;let n=this.getRef(pn);n!==this.currentScheduler&&(this.currentScheduler=n,this._dispatcher=void 0),this.currentSpan=an(t,Ys),this.currentLogLevel=this.getRef(Qs),this.minimumLogLevel=this.getRef(ei),this.currentStackFrame=this.getRef(xn),this.maxOpsBeforeYield=this.getRef(Eu),this.currentPreventYield=this.getRef(vu),this.runtimeMetrics=an(t,Au);let o=an(t,Xs);this.currentTracerContext=o?o.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}},Yx={[ue](e,t){return F(t._interruptedCause)},[Ae](e,t){return F(t._interruptedCause)}},si={interruptChildren:void 0},Cn=e=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(bs.key,e.currentStackFrame),Sr(t)},Xx=e=>{if(!(e._children===void 0||e._children.size===0))return St(e._children)},vi=e=>{let t=e;return t._exit?x(t._exit):ce(r=>t._exit?r(x(t._exit)):E(e.addObserver(n=>r(x(n)))))},Tr=e=>ce(t=>{let r=e[Symbol.iterator](),n=[],o;function s(){let i=r.next();for(;!i.done;){if(i.value._exit){n.push(i.value._exit),i=r.next();continue}o=i.value.addObserver(c=>{n.push(c),s()});return}t(x(n))}return s(),E(()=>o?.())}),Ju=e=>{let t=e;return t._exit?t._exit:ce(r=>t._exit?r(t._exit):E(e.addObserver(r)))},Vu=e=>ce(t=>{let r=Array.from(e);if(r.length===0)return t(x(cn()));let n=new Array(r.length),o=cn(),s=0,i=!1;for(let c=0;c<r.length&&!i;c++)o.push(r[c].addObserver(u=>{if(s++,u._tag==="Failure")return i=!0,o.forEach(f=>f()),t(u);n[c]=u.value,s===r.length&&t(x(n))}));return E(()=>{i=!0,o.forEach(c=>c())})}),Oo=e=>k(t=>ki(e,t.id)),ki=a(e=>b(e[0],yn),(e,t,r)=>k(n=>{let o=Cn(n);return o=o&&r?fo(o,r):o??r,e.interruptUnsafe(t,o),Or(vi(e))})),St=e=>k(t=>{let r=Cn(t),n=cn();for(let o of e)o.interruptUnsafe(t.id,r),n.push(o);return Or(Tr(n))}),Zu=a(2,(e,t)=>k(r=>{let n=Cn(r),o=cn();for(let s of e)s.interruptUnsafe(t,n),o.push(s);return Or(Tr(o))})),x=re,F=Ee,j=nt,E=_e({op:"Sync",[Y](e){let t=this[R](),r=e.getCont(ue);return r?r[ue](t,e):e.yieldWith(re(t))}}),v=_e({op:"Suspend",[Y](e){return this[R]()}}),Ci=a(e=>e.length>=2||Aa(e[0]),(e,t)=>Gt(e)?j(t?t():new tt("Effect.fromOption: Option.none")):x(e.value)),er=Fs({onFailure:j,onSuccess:x}),Gu=e=>e==null?j(new tt):x(e),wi=_e({op:"Yield",[Y](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(Ue)},this[R]??0),e.yieldWith(()=>{t=!0})}}),Ir=wi(0),Ti=e=>x(Z(e)),wn=x(V()),Yu=e=>Gt(e)?wn:T(e.value,Z),Xu=e=>v(()=>F(A(e))),Dt=e=>Ke(e),Ro=e=>v(()=>j(A(e))),O=x(void 0);var Qu=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.try"):e.catch;return v(()=>{try{return x(A(t))}catch(n){return j(A(()=>r(n)))}})};var Ii=e=>Oi(function(t,r){A(()=>e(r)).then(n=>t(x(n)),n=>t(Dt(n)))},e.length!==0),ef=e=>{let t=typeof e=="function"?e:e.try,r=typeof e=="function"?n=>new vn(n,"An error occurred in Effect.tryPromise"):e.catch;return Oi(function(n,o){let s=i=>{try{n(j(A(()=>r(i))))}catch(c){n(Dt(c))}};try{A(()=>t(o)).then(i=>n(x(i)),s)}catch(i){s(i)}},t.length!==0)},tf=e=>k(t=>e(t.id)),rf=k(x),nf=tf(x),Oi=_e({op:"Async",single:!1,[Y](e){let t=A(()=>this[R][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[R][1]?new AbortController:void 0,s=t(i=>{r||(r=!0,n?e.evaluate(i):n=i)},o?.signal);return n!==!1?n:(n=!0,e._yielded=()=>{r=!0},o===void 0&&s===void 0?Vt:(e._stack.push(Qx(()=>(r=!0,o?.abort(),s??Ue))),Vt))}}),Qx=_e({op:"AsyncFinalizer",[Mt](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Ho))},[Ae](e,t){return ju(e)?h(this[R](),()=>F(e)):F(e)}}),ce=e=>Oi(e,e.length>=2),Ao=ce(Bt),of=(...e)=>v(()=>kr(e.length===1?e[0]():e[1].call(e[0].self))),Ri=(e,...t)=>{let r=t.length===0?function(){return v(()=>kr(e.apply(this,arguments)))}:function(){let n=v(()=>kr(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return Ai(e.length,r)},Ai=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),Mu=ti(2),sf=function(){let e=typeof arguments[0]=="string",t=e?arguments[0]:"Effect.fn",r=e?arguments[1]:void 0,n=vr();st(2);let o=new globalThis.Error;return st(n),e?(s,...i)=>Fu(t,s,o,i,e,r):Fu(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},Fu=(e,t,r,n,o,s)=>{let i=typeof t=="function"?t:n.shift().bind(t.self);return Ai(i.length,function(...c){let u=v(()=>{let d=i.apply(this,arguments);return S(d)?d:kr(d)});for(let d=0;d<n.length;d++)u=n[d](u,...c);if(!S(u))return u;let f=vr();st(2);let m=new globalThis.Error;return st(f),vt(o?En(e,s,d=>fi(u,d)):u,xn,d=>({name:e,stack:Mu(()=>m.stack),parent:{name:`${e} (definition)`,stack:Mu(()=>r.stack),parent:d}}))})},cf=(e,...t)=>Ai(e.length,t.length===0?function(){return Uu(()=>e.apply(this,arguments))}:function(){let r=Uu(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),Uu=e=>{try{let t=e(),r;for(;;){let n=t.next(r);if(n.done)return x(n.value);let o=n.value;if(o&&o._tag==="Success"){r=o.value;continue}else{if(o&&o._tag==="Failure")return n.value;{let s=!0;return v(()=>s?(s=!1,h(n.value,i=>kr(t,i))):v(()=>kr(e())))}}}}catch(t){return Dt(t)}},kr=_e({op:"Iterator",single:!1,[ue](e,t){let r=this[R][0];for(;;){let n=r.next(e);if(n.done)return x(n.value);if(me(n.value)){if(n.value._tag==="Failure")return n.value}else return t._stack.push(this),n.value;e=n.value.value}},[Y](e){return this[ue](this[R][1],e)}}),le=a(2,(e,t)=>{let r=x(t);return h(e,n=>r)}),_o=e=>T(e,Z),af=e=>tr(e,{onFailure:x,onSuccess:j}),Pt=a(2,(e,t)=>h(e,r=>S(t)?t:A(()=>t(r)))),Lt=a(2,(e,t)=>h(e,r=>le(S(t)?t:A(()=>t(r)),r))),Or=e=>h(e,t=>Ue),uf=e=>Te(e,j),_i=(e,t)=>k(r=>ce(n=>{let o=B(e),s=o.length,i=0,c=!1,u=new Set,f=[],m=(d,y,p)=>{if(i++,d._tag==="Failure"){f.push(...d.cause.reasons),i>=s&&n(F(Ft(f)));return}let I=!c;c=!0,n(u.size===0?d:h(wt(St(u)),()=>d)),I&&t?.onWinner&&t.onWinner({fiber:y,index:p,parentFiber:r})};for(let d=0;d<s;d++){let y=nr(r,o[d],!0,!0,!1);if(u.add(y),y.addObserver(p=>{u.delete(y),m(p,y,d)}),c)break}return St(u)})),Mi=(e,t)=>k(r=>ce(n=>{let o=!1,s=new Set,i=u=>{o=!0,n(s.size===0?u:h(wt(St(s)),()=>u))},c=0;for(let u of e){if(o)break;let f=c++,m=nr(r,u,!0,!0,!1);s.add(m),m.addObserver(d=>{s.delete(m);let y=!o;i(d),y&&t?.onWinner&&t.onWinner({fiber:m,index:f,parentFiber:r})})}return St(s)})),ff=a(e=>S(e[1]),(e,t,r)=>_i([e,t],r)),Mo=a(e=>S(e[1]),(e,t,r)=>Mi([e,t],r)),h=a(2,(e,t)=>{let r=Object.create(eh);return r[R]=e,r[ue]=t.length!==1?n=>t(n):t,r}),eh=mt({op:"OnSuccess",[Y](e){return e._stack.push(this),this[R]}}),lf=a(2,(e,t)=>me(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):it(e,t)),me=e=>xr in e,pf=a(2,(e,t)=>me(e)?e._tag==="Success"?t(e.value):e:h(e,t)),df=e=>h(e,w),T=a(2,(e,t)=>h(e,r=>x(A(()=>t(r))))),mf=a(2,(e,t)=>me(e)?bf(e,t):T(e,t)),xf=a(2,(e,t)=>me(e)?Sf(e,t):$i(e,t)),hf=a(2,(e,t)=>me(e)?Ef(e,t):ji(e,t)),gf=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:t(r.success)}return Ie(e,t)});var Fo=e=>e._tag==="Success";var yf=e=>e._tag==="Failure"?Q(e.cause):z(e);var Ue=re(void 0),bf=a(2,(e,t)=>e._tag==="Success"?re(t(e.value)):e),Sf=a(2,(e,t)=>{if(e._tag==="Success")return e;let r=Et(e.cause);return G(r)?e:nt(t(r.success))}),Ef=a(2,(e,t)=>{if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:nt(t.onFailure(r.success))});var vf=e=>{let t=[];for(let r of e)r._tag==="Failure"&&t.push(...r.cause.reasons);return t.length===0?Ue:Ee(Ft(t))};var kf=e=>e,Cf=e=>k(t=>x(js(t.context,e))),th=e=>k(t=>Ci(js(t.context,e))),Rr=a(2,(e,t)=>k(r=>{let n=r.context,o=t(n);return n===o?e:(r.setContext(o),Fr(e,()=>{r.setContext(n)}))})),vt=a(3,(e,t,r)=>Rr(e,n=>{let o=yt(n,t),s=r(o);return o===s?n:ke(n,t,s)})),wf=(e,t,r)=>wt(k(n=>{let o=yt(n.context,e),s=t(o);return n.setContext(ke(n.context,e,s)),Ct(yt(n.context,Mr),i=>{let c=yt(n.context,e),u;if(r?.reset===void 0){if(c!==s)return O;u=o}else u=r.reset(o,s,c);return n.setContext(ke(n.context,e,u)),O})})),Fi=()=>rh,rh=k(e=>x(e.context)),$t=e=>k(t=>e(t.context)),Tf=a(2,(e,t)=>Rr(e,oe(t))),kt=a(2,(e,t)=>me(e)?e:Rr(e,fo(t))),xe=function(){return arguments.length===1?a(2,(e,t)=>Nu(e,arguments[0],t)):a(3,(e,t,r)=>Nu(e,t,r)).apply(this,arguments)},Nu=(e,t,r)=>Rr(e,ke(t,r)),Uo=a(3,(e,t,r)=>h(r,n=>xe(e,t,n))),If=a(e=>S(e[1]),(e,t,r)=>Ui(e,t,(n,o)=>[n,o],r)),Ui=a(e=>S(e[1]),(e,t,r,n)=>n?.concurrent?T(rr([e,t],{concurrency:2}),([o,s])=>A(()=>r(o,s))):h(e,o=>T(t,s=>A(()=>r(o,s))))),Of=a(e=>S(e[0]),(e,t,r)=>nc(e,t,r?n=>j(r(n)):()=>j(new tt))),Rf=a(2,(e,t)=>h(t,r=>r?_o(e):wn)),Ni=a(2,(e,t)=>Array.from({length:t},()=>e)),Af=a(e=>S(e[0]),(e,t,r)=>rr(Ni(e,t),r)),No=a(e=>S(e[0]),(e,t)=>Tt({while:At,body:oe(t?.disableYield?e:h(e,r=>Ir)),step:Bt})),Te=a(2,(e,t)=>{let r=Object.create(nh);return r[R]=e,r[Ae]=t.length!==1?n=>t(n):t,r}),nh=mt({op:"OnFailure",[Y](e){return e._stack.push(this),this[R]}}),Di=a(3,(e,t,r)=>Te(e,n=>t(n)?A(()=>r(n)):F(n))),Ar=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(o.failure):A(()=>r(o.success,n))})),Ie=a(2,(e,t)=>Ar(e,Et,r=>t(r))),_f=e=>tr(e,{onFailure:t=>Ss(t)?wn:j(t),onSuccess:Ti}),Mf=a(2,(e,t)=>Ar(e,yi,t)),Ff=a(2,(e,t)=>Te(e,r=>Pt(A(()=>t(r)),F(r)))),Uf=a(3,(e,t,r)=>Di(e,t,n=>Pt(A(()=>r(n)),F(n)))),Do=a(3,(e,t,r)=>Te(e,n=>{let o=t(n);return G(o)?F(n):Pt(A(()=>r(o.success,n)),F(n))})),Pi=a(2,(e,t)=>Do(e,Et,r=>t(r))),Nf=a(3,(e,t,r)=>{let n=Array.isArray(t)?o=>b(o,"_tag")&&t.includes(o._tag):Kt(t);return Pi(e,o=>n(o)?r(o):O)}),Df=a(2,(e,t)=>Do(e,yi,r=>t(r))),Tn=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);return G(s)?F(s.failure):t(s.success)?A(()=>r(s.success)):n?A(()=>n(s.success)):F(o)})),Po=a(e=>S(e[0]),(e,t,r,n)=>Te(e,o=>{let s=Et(o);if(G(s))return F(s.failure);let i=t(s.success);return G(i)?n?A(()=>n(i.failure)):F(o):A(()=>r(i.success))})),Li=a(e=>S(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?s=>b(s,"_tag")&&t.includes(s._tag):Kt(t);return Tn(e,o,r,n)}),Pf=a(e=>S(e[0]),(e,t,r)=>{let n;return Po(e,o=>(n??=Object.keys(t),b(o,"_tag")&&Hn(o._tag)&&n.includes(o._tag)?Q(o):z(o)),o=>A(()=>t[o._tag](o)),r)}),Lf=a(e=>S(e[0]),(e,t,r,n,o)=>Tn(e,s=>Kt(s,t)&&b(s,"reason"),s=>{let i=s.reason;return Kt(i,r)?n(i,s):o?A(()=>o(i,s)):j(s)})),$f=a(e=>S(e[0]),(e,t,r,n)=>{let o;return Tn(e,s=>Kt(s,t)&&b(s,"reason")&&b(s.reason,"_tag")&&Hn(s.reason._tag),s=>{let i=s.reason;return o??=Object.keys(r),o.includes(i._tag)?A(()=>r[i._tag](i,s)):n?A(()=>n(i,s)):j(s)})}),jf=a(2,(e,t)=>Po(e,r=>Kt(r,t)&&b(r,"reason")?Q(r.reason):z(r),j)),$i=a(2,(e,t)=>Ie(e,r=>Ro(()=>t(r)))),ji=a(2,(e,t)=>tr(e,{onFailure:r=>Ro(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),qi=e=>Ie(e,Dt),qf=a(2,(e,t)=>Ie(e,r=>E(t))),Wf=e=>v(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Dt(new Error("Received an empty collection of effects"));function n(o){let s=t.next();return s.done?o.value:Ie(o.value,i=>n(s))}return n(r)}),Wi=e=>Ie(e,t=>h(Ir,()=>Wi(e))),Hf=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return tr(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure(n){let o=Lu(n);return G(o)?F(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:n=>O})}),Lo=a(e=>S(e[0]),(e,t)=>{if(!t?.log)return it(e,{onFailure:n=>O,onSuccess:n=>O});let r=Ge(t.log===!0?void 0:t.log);return it(e,{onFailure:n=>t.message===void 0?r(n):r(t.message,n),onSuccess:n=>O})}),zf=e=>$o(e,{onFailure:V,onSuccess:Z}),Nt=e=>In(e,{onFailure:z,onSuccess:Q}),it=a(2,(e,t)=>{let r=Object.create(oh);return r[R]=e,r[ue]=t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,r[Ae]=t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure,r}),oh=mt({op:"OnSuccessAndFailure",[Y](e){return e._stack.push(this),this[R]}}),Hi=a(2,(e,t)=>it(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),tr=a(2,(e,t)=>it(e,{onFailure:r=>{let n=r.reasons.find(tn);return n?A(()=>t.onFailure(n.error)):F(r)},onSuccess:t.onSuccess})),$o=a(2,(e,t)=>tr(e,{onFailure:r=>E(()=>t.onFailure(r)),onSuccess:r=>E(()=>t.onSuccess(r))})),In=a(2,(e,t)=>{if(me(e)){if(e._tag==="Success")return re(t.onSuccess(e.value));let r=Et(e.cause);return G(r)?e:re(t.onFailure(r.success))}return $o(e,t)}),Bf=a(2,(e,t)=>me(e)?e._tag==="Success"?re(t.onSuccess(e.value)):re(t.onFailure(e.cause)):Hi(e,t)),_r=e=>me(e)?re(e):sh(e),sh=_e({op:"Exit",[Y](e){return e._stack.push(this),this[R]},[ue](e,t,r){return x(r??re(e))},[Ae](e,t,r){return x(r??Ee(e))}}),Kf=In({onFailure:()=>!0,onSuccess:()=>!1}),Jf=In({onFailure:()=>!1,onSuccess:()=>!0}),Vf=a(2,(e,t)=>Pt(or(t),e)),zi=a(2,(e,t)=>Mo(e,h(or(t.duration),t.orElse))),Zf=a(2,(e,t)=>zi(e,{duration:t,orElse:()=>j(new wo)})),Gf=a(2,(e,t)=>Mo(_o(e),le(or(t),V()))),Yf=e=>he(t=>{let r=t.monotonicTimeNanosUnsafe();return T(e,n=>[Ut(t.monotonicTimeNanosUnsafe()-r),n])}),ii="~effect/Scope",ci="~effect/Scope/Closeable",Mr=gt("effect/Scope"),Bi=(e,t)=>v(()=>jo(e,t)??O),jo=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let n=e.state;if(e.state=r,n.finalizer!==void 0)return n.finalizer(t);let o=n.finalizers;if(!(o===void 0||o.size===0))return o.size===1?o.values().next().value(t):ch(e,o,t)},ih=(e,t)=>Fo(e)?t:Te(t,r=>F(bi(e.cause,r))),ch=Ri(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=wr();for(let c=s.length-1;c>=0;c--){let u=s[c];e.strategy==="sequential"?n.push(yield*_r(u(r))):o.push(nr(i,u(r),!0,!0,"inherit"))}return o.length>0&&(n=yield*Tr(o)),yield*vf(n)});var Xf=(e,t)=>{let r=On(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return bn(e,n,o=>Bi(r,o)),bn(r,n,o=>E(()=>Ki(e,n))),r},Ct=(e,t)=>v(()=>e.state._tag==="Closed"?t(e.state.exit):(bn(e,{},t),O));var bn=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizerKey:t,finalizer:r,finalizers:void 0};else if(e.state._tag==="Open"){let n=e.state;n.finalizer!==void 0?(n.finalizers=new Map([[n.finalizerKey,n.finalizer]]),n.finalizerKey=void 0,n.finalizer=void 0,n.finalizers.set(t,r)):n.finalizers===void 0?(n.finalizerKey=t,n.finalizer=r):n.finalizers.set(t,r)}},Ki=(e,t)=>{if(e.state._tag==="Open"){let r=e.state;r.finalizerKey===t?(r.finalizerKey=void 0,r.finalizer=void 0):r.finalizers!==void 0&&r.finalizers.delete(t)}};var On=(e="sequential")=>({[ci]:ci,[ii]:ii,strategy:e,state:ah}),ah={_tag:"Empty"};var Rn=Mr;var Ji=e=>k(t=>{let r=t.context,n=On();return t.setContext(ke(t.context,Mr,n)),Fr(e,o=>(t.setContext(r),jo(n,o)))});var qo=e=>v(()=>{let t=On();return ie(e(t),r=>v(()=>jo(t,r)??O))}),Wo=(e,t,r)=>$t(n=>jt(o=>h(Rn,s=>Lt(r?.interruptible?o(e):e,i=>Ct(s,c=>kt(t(i,c),n)))))),Vi=e=>h(Rn,t=>$t(r=>Ct(t,n=>kt(e(n),r)))),Fr=_e({op:"OnExit",single:!1,[Y](e){return e._stack.push(this),this[R][0]},[Mt](e){e.interruptible&&this[R][2]!==!0&&(e._stack.push(Ho),e.interruptible=!1)},[ue](e,t,r){r??=re(e);let n=this[R][1](r);return n?h(n,o=>r):r},[Ae](e,t,r){r??=Ee(e);let n=this[R][1](r);return n?h(ih(r,n),o=>r):r}}),ie=a(2,Fr),Qf=a(2,(e,t)=>ie(e,r=>t)),Zi=a(3,(e,t,r)=>ie(e,n=>t(n)?r(n):O)),Gi=a(3,(e,t,r)=>ie(e,n=>{let o=t(n);return G(o)?O:r(o.success,n)})),Yi=a(2,(e,t)=>Gi(e,yf,t)),el=a(3,(e,t,r)=>Zi(e,n=>n._tag!=="Failure"?!1:t(n.cause),n=>r(n.cause))),Xi=a(3,(e,t,r)=>ie(e,n=>{if(n._tag!=="Failure")return O;let o=t(n.cause);return G(o)?O:r(o.success,n.cause)})),tl=a(2,(e,t)=>Xi(qu,t)(e)),rl=(e,t,r)=>jt(n=>h(e,o=>Fr(n(t(o)),s=>r(o,s),!0))),nl=e=>Wo(e,t=>b(t,Symbol.asyncDispose)?Ii(()=>t[Symbol.asyncDispose]()):E(()=>t[Symbol.dispose]())),Qi=a(2,(e,t)=>E(()=>{let r=Je(q(t)),n=Number.isFinite(r),o=dh(!1),s=0,i=!1,c,u=h(o.await,()=>c);return[k(f=>{let m=f.getRef(Ze),d=n?m.currentTimeMillisUnsafe():0;return i||d<s?c??u:(i=!0,o.closeUnsafe(),c=void 0,ie(e,y=>E(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=y,o.openUnsafe()})))}),E(()=>{s=0,o.closeUnsafe(),c=void 0})]})),ec=a(2,(e,t)=>T(Qi(e,t),r=>r[0])),ol=e=>ec(e,se),sl=k(e=>F(kn(e.id))),wt=e=>k(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Ho)),e)),il=_e({op:"SetInterruptible",[Mt](e){if(e.interruptible=this[R],e._interruptedCause&&e.interruptible)return()=>F(e._interruptedCause)}}),Ho=il(!0),uh=il(!1),cl=e=>{if(e.interruptible=!0,e._stack.push(uh),e._interruptedCause)return F(e._interruptedCause)},tc=e=>k(t=>t.interruptible?e:cl(t)??e),jt=e=>k(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Ho),e(tc)):e(w)),al=e=>k(t=>{if(t.interruptible)return e(w);let r=cl(t),n=e(wt);return r??n}),ul=T(Wo(E(()=>new AbortController),e=>E(()=>e.abort())),e=>e.signal),rr=(e,t)=>pt(e)?t?.mode==="result"?fe(e,Nt,t):fe(e,w,t):t?.discard?t.mode==="result"?fe(Object.values(e),Nt,t):fe(Object.values(e),w,t):v(()=>{let r={};return le(fe(Object.entries(e),([n,o])=>T(t?.mode==="result"?Nt(o):o,s=>{be(r,n,s)}),{discard:!0,concurrency:t?.concurrency}),r)}),rc=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>T(fe(e,(n,o)=>Nt(t(n,o)),r),n=>Wa(n,w))),fl=a(3,(e,t,r)=>{let n=B(e);return n.length===0?E(t):v(()=>{let o=0,s=t();return T(Tt({while:()=>o<n.length,body:()=>r(s,n[o],o),step(i){s=i,o++}}),()=>s)})}),ll=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>h(rc(e,t,{concurrency:r?.concurrency}),([n,o])=>$a(n)?j(n):r?.discard?O:x(o))),pl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):dl(r,0,t,n.value)})),dl=(e,t,r,n)=>h(r(n,t),o=>{if(o)return x(Z(n));let s=e.next();return s.done?x(V()):dl(e,t+1,r,s.value)}),ml=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=e[Symbol.iterator](),n=r.next();return n.done?x(V()):xl(r,0,t,n.value)})),xl=(e,t,r,n)=>h(r(n,t),o=>{if(Yt(o))return x(Z(o.success));let s=e.next();return s.done?x(V()):xl(e,t+1,r,s.value)}),Tt=_e({op:"While",[ue](e,t){return this[R].step(e),this[R].while()?(t._stack.push(this),this[R].body()):Ue},[Y](e){return this[R].while()?(e._stack.push(this),this[R].body()):Ue}}),fe=a(e=>typeof e[1]=="function",(e,t,r)=>v(()=>{let n=r?.concurrency??1,o=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n);if(o===1)return fh(e,t,r);let s=B(e),i=s.length;if(i===0)return r?.discard?O:x([]);let c=r?.discard?void 0:new Array(i),u=ph({f:t,out:c},s,{concurrency:o});return u?le(u,c):x(c)})),hl=e=>h(e,t=>{let r=t[Symbol.iterator]().next();return r.done?j(new tt):x(r.value)}),fh=(e,t,r)=>v(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return le(Tt({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{n&&n.push(c),s=o.next()}}),n)}),lh=e=>{let t=e.onItem,r=e.step,n=(o,s,i,c)=>{for(;i<c;i++){let u=s[i],f=t(o,u,i);if(!me(f))return h(_r(f),d=>r(o,u,d,i)??n(o,s,i+1,c)??O);let m=r(o,u,f,i);if(m)return m._tag==="Failure"?m:void 0}};return(o,s,i)=>{let c=0,u=i?.end??s.length,f=i?.concurrency??1;if(f===1)return n(o,s,0,u);let m=i?.orderedStep===!0,d=!1,y,p,I,U=!1,g,$e,X=c,K=m?new Array(u):void 0,ee=fr=>{let ge=Ke(fr);return g=ge,d=!0,U=!0,p&&p.size>0?h(wt(St(Array.from(p))),()=>ge):ge},je=(fr,ge,ft)=>{if(!m)return r(o,fr,ge,ft);if(g)return g;for(K[ft]=ge;X<u;){let Re=K[X];if(Re===void 0)return;K[X]=void 0;let Ot=X++,Rt=r(o,s[Ot],Re,Ot);if(Rt)return Rt}},qn=()=>{let fr=!1;for(;!g&&c<u;c++){let ge=s[c],ft=$e??t(o,ge,c);if(me(ft)){if(g=je(ge,ft,c),g)break}else if(y){$e=void 0;let Re=nr(y,ft,!0,!0,"inherit");if(Re._exit){if(g=je(ge,Re._exit,c),g)break;continue}p.add(Re);let Ot=c;if(Re.addObserver(Rt=>{p.delete(Re);try{if(g){if(!U&&Rt._tag==="Failure")for(let ye of Rt.cause.reasons)ye._tag!=="Interrupt"&&(g._tag==="Failure"?g.cause.reasons.push(ye):g=Ee(Ft([ye])))}else{let ye=je(ge,Rt,Ot);ye&&(g=ye._tag==="Failure"?Ee(Ft(ye.cause.reasons.slice())):ye,qn())}if(fr){let ye=qn();ye&&I(ye)}else d&&p.size===0&&I(g??O)}catch(ye){I(ee(ye))}}),p.size<f)continue;fr=!0,c++;return}else return ce(Re=>{y=wr(),p=new Set,$e=ft,I=Re;let Ot;try{Ot=qn()}catch(Rt){return Re(ee(Rt))}return Ot?Re(Ot):v(()=>(g=Ue,U=!0,p?St(p):O))})}if(d=!0,g){if(p&&p.size>0){let ge=Cn(y);p.forEach(ft=>ft.interruptUnsafe(y.id,ge));return}if(I||g._tag==="Failure")return g}else if(I)if(p)p.size===0&&I(O);else return Ue};return qn()}};var ph=lh({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;e.out&&(e.out[n]=r.value)}}),nc=a(3,(e,t,r)=>h(e,n=>t(n)?x(n):r(n))),oc=a(3,(e,t,r)=>h(e,n=>{let o=t(n);return G(o)?r(o.failure):x(o.success)})),gl=a(e=>S(e[0]),(e,t,r)=>oc(e,t,r?n=>j(r(n)):()=>j(new tt))),yl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,(o,s)=>{let i=t(o,s);return typeof i=="boolean"?(i&&n.push(o),O):T(i,c=>{c&&n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),bl=a(e=>pt(e[0])&&!S(e[0]),(e,t)=>v(()=>{let r=[];for(let n of e){let o=t(n);Yt(o)&&r.push(o.success)}return x(r)})),Sl=a(e=>pt(e[0])&&!S(e[0]),(e,t,r)=>v(()=>{let n=[];return le(fe(e,o=>T(t(o),s=>{Yt(s)&&n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),El=x({}),vl=ta(T),kl=ra(T,h),Cl=ea(T);var wl=a(e=>S(e[0]),(e,t)=>k(r=>(Rh(),x(nr(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),nr=(e,t,r=!1,n=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new Co(s.context,i);return r?c.evaluate(t):s.currentDispatcher.scheduleTask(()=>c.evaluate(t),0),!n&&!c._exit&&(s.children().add(c),c.addObserver(()=>s._children.delete(c))),c},Tl=a(e=>S(e[0]),(e,t)=>k(r=>x(nr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Il=e=>k(t=>{let r=t._children&&new Set(t._children);return ie(e,n=>{let o=t._children;return o===void 0||o.size===0?O:(r&&(o=Da(o,s=>!r.has(s))),Or(Tr(o)))})}),sc=a(e=>S(e[0]),(e,t,r)=>k(n=>{let o=nr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};bn(t,s,()=>tf(c=>c===o.id?O:Oo(o))),o.addObserver(()=>Ki(t,s))}else o.interruptUnsafe(n.id,Cn(n));return x(o)})),Ol=a(e=>S(e[0]),(e,t)=>h(Rn,r=>sc(e,r,t))),It=e=>(t,r)=>{let n=new Co(r?.scheduler?ke(e,pn,r.scheduler):e,r?.uninterruptible!==!0);if(n.evaluate(t),n._exit)return n;if(r?.signal)if(r.signal.aborted)n.interruptUnsafe();else{let o=()=>n.interruptUnsafe();r.signal.addEventListener("abort",o,{once:!0}),n.addObserver(()=>r.signal.removeEventListener("abort",o))}return r?.onFiberStart&&r.onFiberStart(n),n},Rl=a(2,(e,t)=>{if(e._exit)return e;if(t.state._tag==="Closed")return e.interruptUnsafe(e.id),e;let r={};return bn(t,r,()=>Oo(e)),e.addObserver(()=>Ki(t,r)),e}),Al=It(Me()),ic=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return n?.onExit&&o.addObserver(n.onExit),s=>o.interruptUnsafe(s)}},_l=ic(Me()),zo=e=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise(s=>{o.addObserver(i=>s(i))})}},Ml=zo(Me()),cc=e=>{let t=zo(e);return(r,n)=>t(r,n).then(o=>{if(o._tag==="Failure")throw Si(o.cause);return o.value})},Fl=cc(Me()),Bo=e=>{let t=It(e);return r=>{if(me(r))return r;let n=new ln("sync"),o=t(r,{scheduler:n});return o._dispatcher?.flush(),o._exit??Ke(new Io(o))}},Ul=Bo(Me()),ac=e=>{let t=Bo(e);return r=>{let n=t(r);if(n._tag==="Failure")throw Si(n.cause);return n.value}},Nl=ac(Me()),Du=x(!0),Pu=x(!1),ai=class{waiters=[];scheduled=void 0;_isOpen;constructor(t){this._isOpen=t}scheduleUnsafe(t){if(this.waiters.length===0)return Du;if(this.scheduled===void 0)this.scheduled=this.waiters,t.currentDispatcher.scheduleTask(this.flushScheduled,0);else for(let r=0;r<this.waiters.length;r++)this.scheduled.push(this.waiters[r]);return this.waiters=[],Du}flushScheduled=()=>{if(this.scheduled===void 0)return;let t=this.scheduled;this.scheduled=void 0;for(let r=0;r<t.length;r++)t[r](Ue)};flushWaiters(){let t=this.waiters;this.waiters=[],this.flushScheduled();for(let r=0;r<t.length;r++)t[r](Ue)}open=k(t=>this._isOpen?Pu:(this._isOpen=!0,this.scheduleUnsafe(t)));release=k(t=>this._isOpen?Pu:this.scheduleUnsafe(t));openUnsafe(){return this._isOpen?!1:(this._isOpen=!0,this.flushWaiters(),!0)}await=ce(t=>this._isOpen?t(O):(this.waiters.push(t),E(()=>{let r=this.waiters.indexOf(t);r!==-1?this.waiters.splice(r,1):this.scheduled!==void 0&&(r=this.scheduled.indexOf(t),r!==-1&&this.scheduled.splice(r,1))})));closeUnsafe(){return this._isOpen?(this._isOpen=!1,!0):!1}close=E(()=>this.closeUnsafe());whenOpen=t=>h(this.await,()=>t);isOpen(){return this._isOpen}},dh=e=>new ai(e??!1);var Dl=k(e=>x(e.getRef(So))),Pl=a(2,(e,t)=>xe(e,So,t)),Ll=xe(Eo),$l=xe(Er),ui=BigInt(0),mh={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ui,endTime:ui,exit:Ue},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},xh=e=>Object.assign(Object.create(mh),e),jl=e=>e?ve(e.annotations,bo)?e._tag==="Span"?jl(br(e.parent)):V():Z(e):V(),uc=(e,t,r)=>{let n=!e.getRef(Eo)||r?.annotations&&ve(r.annotations,bo),o=r?.parent!==void 0?Z(r.parent):r?.root?V():jl(e.currentSpan),s;if(n)s=xh({name:t,parent:o,annotations:ke(r?.annotations??Me(),bo,!0)});else{let i=e.getRef(So),c=e.getRef(Ze),u=e.getRef(Er),f=e.getRef(hn),m=e.getRef(gn),d=r?.level??e.getRef(Iu),y=r?.links!==void 0?[...m,...r.links]:m.length===0?[]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Me(),links:y,startTime:u?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??Gt(o),sampled:r?.sampled??(_a(o)&&o.value.sampled===!1?!1:!rp(e.getRef(Ou),d))});for(let p in f)s.attribute(p,f[p]);if(r?.attributes!==void 0)for(let p in r.attributes)s.attribute(p,r.attributes[p])}return s},ql=(e,t)=>k(r=>x(uc(r,e,t))),Sn=(e,t)=>wt(k(r=>{let n=yt(r.context,Mr),o=uc(r,e,t??{}),s=r.getRef(Ze),i=r.getRef(Er);return le(Ct(n,c=>Kl(o,c,s,i)),o)})),Wl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return h(Sn(t,r),o=>Cr(n,o,r))}return n=>h(Sn(t,r),o=>Cr(n,o,r))},hh=(e,t)=>(t=typeof t=="function"?t:Xe,vt(xn,r=>({name:e,stack:t,parent:r}))),Hl=hn,zl=gn,Bl=a(e=>S(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:r}));return vt(e,gn,s=>[...s,...o])}),Kl=(e,t,r,n)=>E(()=>{e.status._tag!=="Ended"&&e.end(n?r.currentTimeNanosUnsafe():ui,t)}),En=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return k(o=>{let s=uc(o,e,r),i=o.getRef(Ze),c=o.getRef(Er);return ie(A(()=>n(s)),u=>Kl(s,u,i,c))})},fi=xe(mn),Cr=function(){let e=S(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;return t._tag==="Span"&&(r=ko(r),n=hh(t.name,r?.captureStackTrace)),e?fi(n(arguments[0]),t):o=>fi(n(o),t)},Jl=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],r=ko(arguments[2]);if(e){let s=arguments[0];return En(t,arguments[2],i=>Cr(s,i,r))}let n=typeof arguments[1]=="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>En(t,n?n(...i):o,c=>Cr(s,c,r))},Vl=a(e=>S(e[0]),(e,...t)=>vt(e,hn,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),Zl=(...e)=>k(t=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return O}),Gl=k(e=>{let t=e.currentSpanLocal;return t?x(t):j(new tt)}),Yl=th(mn),Ze=M("effect/Clock",{defaultValue:()=>new li}),ri=2**31-1,li=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=E(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return gh()}currentTimeNanos=E(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return Ql()}monotonicTimeNanos=E(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(Je(t))}sleepMillis(t){return t<=0?Ir:Number.isFinite(t)?ce(r=>{let n=t>ri?this.sleepMillis(t-ri):O,o=setTimeout(()=>r(n),Math.min(t,ri));return E(()=>clearTimeout(o))}):Ao}},Xl=BigInt(1e6),Ql=(function(){let e=globalThis.process?.hrtime;if(typeof e?.bigint=="function")return()=>e.bigint();if(typeof performance<"u"&&typeof performance.now=="function")return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(0);return()=>{let r=BigInt(Date.now())*Xl;return r>t&&(t=r),t}})(),gh=(function(){let e=BigInt(1e9),t;return()=>{let r=Ql(),n=BigInt(Date.now())*Xl;if(t===void 0)t=n-r;else{let o=t+r;(n>o?n-o:o-n)>e&&(t=n-r)}return t+r}})(),he=e=>k(t=>e(t.getRef(Ze))),or=e=>he(t=>t.sleep(q(e))),Ko=he(e=>e.currentTimeMillis),ep=he(e=>e.currentTimeNanos),tp=he(e=>e.monotonicTimeNanos),pi="~effect/Cause/TimeoutError";var wo=class extends xt("TimeoutError"){[pi]=pi;constructor(t){super({message:t})}},di="~effect/Cause/IllegalArgumentError";var To=class extends xt("IllegalArgumentError"){[di]=di;constructor(t){super({message:t})}},mi="~effect/Cause/ExceededCapacityError";var xi=class extends xt("ExceededCapacityError"){[mi]=mi;constructor(t){super({message:t})}},hi="~effect/Cause/AsyncFiberError";var Io=class extends xt("AsyncFiberError"){[hi]=hi;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},gi="~effect/Cause/UnknownError";var vn=class extends xt("UnknownError"){[gi]=gi;constructor(t,r){super({message:r,cause:t})}},yh=M("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),bh=e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},Sh=Ra(eo,bh),rp=yr(Sh),fc=M("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([Ih,Oh])}),Eh=M("effect/Logger/LogToStderr",{defaultValue:Wn}),np=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return wt(k(t=>{let r=t.getRef(bt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];be(n,s,i)}return t.setContext(ke(t.context,bt,n)),Ct(yt(t.context,Mr),o=>{let s=t.getRef(bt),i={...s};for(let c=0;c<e.length;c++){let[u,f]=e[c];s[u]===f&&(Object.hasOwn(r,u)?be(i,u,r[u]):delete i[u])}return t.setContext(ke(t.context,bt,i)),O})}))},vh="~effect/Logger",kh={[vh]:{_Message:w,_Output:w},pipe(){return D(this,arguments)}},op=e=>{let t=Object.create(kh);return t.log=e,t},Ch=e=>e.replace(/[\s="]/g,"_"),wh=(e,t)=>`${Ch(e[0])}=${t-e[1]}ms`;var Ge=e=>(...t)=>{let r;for(let n=0,o=t.length;n<o;n++){let s=t[n];Xr(s)&&(r?t.splice(n,1):t=t.slice(0,n).concat(t.slice(n+1)),r=r?Ft(r.reasons.concat(s.reasons)):s,n--)}return r===void 0&&(r=ys),k(n=>{let o=e??n.currentLogLevel;if(rp(n.minimumLogLevel,o))return O;let s=n.getRef(Ze),i=n.getRef(fc);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let u of i)u.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return O})};var Qt={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Ik={None:[],All:[],Trace:[Qt.gray],Debug:[Qt.blue],Info:[Qt.green],Warn:[Qt.yellow],Error:[Qt.red],Fatal:[Qt.bgBrightRed,Qt.black]};var Th=e=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var Ih=op(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];e.reasons.length>0&&s.push(Ei(e));let i=t.getTime(),c=r.getRef(vo),u="";for(let y of c)u+=` ${wh(y,i)}`;let f=r.getRef(bt);Object.keys(f).length>0&&s.push(f);let m=r.getRef(yh);(r.getRef(Eh)?m.error:m.log)(`[${Th(t)}] ${n.toUpperCase()} (#${r.id})${u}:`,...s)}),Oh=op(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(Ze),s=t.getRef(bt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[u,f]of Object.entries(s))be(c,u,f);c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0&&(c["effect.cause"]=Ei(e)),i.event(la(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function Rh(){si.interruptChildren??=Xx}var An=x(void 0);var sp=a(e=>S(e[0]),(e,t)=>Yi(e,r=>k(n=>(Ah(n,r,t?.defectsOnly),O)))),Ah=(e,t,r)=>{let n=e.getRef(_u);if(n.size===0||r&&!$u(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(Ze).currentTimeNanosUnsafe()};n.forEach(s=>s.report(o))};var ip=Ft;var cp=nn;var ct=va;var Jo=To;var l={};zt(l,{Do:()=>Py,Transaction:()=>Hr,TypeId:()=>vy,abortSignal:()=>HS,acquireDisposable:()=>TS,acquireRelease:()=>wS,acquireUseRelease:()=>IS,addFinalizer:()=>OS,all:()=>ky,andThen:()=>Qy,annotateCurrentSpan:()=>tE,annotateLogs:()=>BE,annotateLogsScoped:()=>KE,annotateSpans:()=>eE,as:()=>nb,asSome:()=>ob,asVoid:()=>sb,awaitAllChildren:()=>bE,bind:()=>jy,bindTo:()=>Ly,cached:()=>DS,cachedInvalidateWithTTL:()=>LS,cachedWithTTL:()=>PS,callback:()=>Dc,catch:()=>ub,catchCause:()=>xb,catchCauseFilter:()=>Eb,catchCauseIf:()=>Sb,catchDefect:()=>hb,catchEager:()=>p0,catchFilter:()=>yb,catchIf:()=>gb,catchNoSuchElement:()=>bb,catchReason:()=>pb,catchReasons:()=>db,catchTag:()=>fb,catchTags:()=>lb,clockWith:()=>jd,context:()=>lS,contextWith:()=>pS,currentParentSpan:()=>nE,currentSpan:()=>rE,delay:()=>qb,die:()=>Rd,effectify:()=>o0,ensuring:()=>RS,eventually:()=>Ob,exit:()=>Md,fail:()=>Uc,failCause:()=>Hy,failCauseSync:()=>zy,failSync:()=>Wy,fiber:()=>SE,fiberId:()=>EE,filter:()=>Vb,filterMap:()=>Zb,filterMapEffect:()=>Gb,filterMapOrElse:()=>Xb,filterMapOrFail:()=>eS,filterOrElse:()=>Yb,filterOrFail:()=>Qb,findFirst:()=>Iy,findFirstFilter:()=>Oy,firstSuccessOf:()=>Pb,flatMap:()=>Pc,flatMapEager:()=>l0,flatten:()=>Xy,flip:()=>ib,fn:()=>NE,fnUntraced:()=>UE,fnUntracedEager:()=>d0,forEach:()=>Ry,forever:()=>zS,forkChild:()=>xE,forkDetach:()=>yE,forkIn:()=>hE,forkScoped:()=>gE,fromNullishOr:()=>Yy,fromOption:()=>Zy,fromResult:()=>Vy,gen:()=>qy,head:()=>Ay,ignore:()=>Mb,ignoreCause:()=>Fb,interrupt:()=>Pd,interruptible:()=>$S,interruptibleMask:()=>WS,isEffect:()=>cr,isFailure:()=>uS,isSuccess:()=>fS,let:()=>$y,linkSpans:()=>iE,log:()=>PE,logDebug:()=>WE,logError:()=>jE,logFatal:()=>LE,logInfo:()=>qE,logTrace:()=>HE,logWarning:()=>$E,logWithLevel:()=>DE,makeSpan:()=>cE,makeSpanScoped:()=>aE,map:()=>rb,mapBoth:()=>kb,mapBothEager:()=>f0,mapEager:()=>a0,mapError:()=>vb,mapErrorEager:()=>u0,match:()=>rS,matchCause:()=>oS,matchCauseEager:()=>sS,matchCauseEffect:()=>cS,matchCauseEffectEager:()=>iS,matchEager:()=>nS,matchEffect:()=>aS,never:()=>Dy,onError:()=>AS,onErrorFilter:()=>MS,onErrorIf:()=>_S,onExit:()=>Lc,onExitFilter:()=>NS,onExitIf:()=>US,onExitPrimitive:()=>FS,onInterrupt:()=>jS,option:()=>tb,orDie:()=>Cb,orElseSucceed:()=>Db,partition:()=>Cy,promise:()=>_y,provide:()=>dS,provideContext:()=>mS,provideService:()=>Dd,provideServiceEffect:()=>ES,race:()=>Kb,raceAll:()=>zb,raceAllFirst:()=>Bb,raceFirst:()=>Jb,reduce:()=>wy,repeat:()=>BS,repeatOrElse:()=>KS,replicate:()=>JS,replicateEffect:()=>VS,request:()=>dE,requestUnsafe:()=>mE,result:()=>eb,retry:()=>Rb,retryOrElse:()=>Ab,runCallback:()=>wE,runCallbackWith:()=>CE,runFork:()=>vE,runForkWith:()=>kE,runPromise:()=>TE,runPromiseExit:()=>OE,runPromiseExitWith:()=>RE,runPromiseWith:()=>IE,runSync:()=>AE,runSyncExit:()=>ME,runSyncExitWith:()=>FE,runSyncWith:()=>_E,sandbox:()=>_b,satisfiesErrorType:()=>i0,satisfiesServicesType:()=>c0,satisfiesSuccessType:()=>s0,schedule:()=>ZS,scheduleFrom:()=>$d,scope:()=>vS,scoped:()=>kS,scopedWith:()=>CS,service:()=>hS,serviceOption:()=>gS,setContext:()=>xS,sleep:()=>Wb,spanAnnotations:()=>oE,spanLinks:()=>sE,succeed:()=>Id,succeedNone:()=>Fy,succeedSome:()=>Uy,suspend:()=>Od,sync:()=>pe,tap:()=>_d,tapCause:()=>Ud,tapCauseFilter:()=>Ib,tapCauseIf:()=>Tb,tapDefect:()=>Nd,tapError:()=>Fd,tapErrorTag:()=>wb,timed:()=>Hb,timeout:()=>Lb,timeoutOption:()=>$b,timeoutOrElse:()=>jb,tracer:()=>GS,track:()=>VE,trackDefects:()=>YE,trackDuration:()=>XE,trackErrors:()=>GE,trackSuccesses:()=>ZE,transposeOption:()=>Gy,try:()=>By,tryPromise:()=>My,tx:()=>QE,txRetry:()=>n0,undefined:()=>Ny,uninterruptible:()=>qS,uninterruptibleMask:()=>Ld,unwrapReason:()=>mb,updateContext:()=>yS,updateService:()=>bS,updateServiceScoped:()=>SS,useSpan:()=>uE,validate:()=>Ty,void:()=>Nc,when:()=>tS,whileLoop:()=>Td,withErrorReporting:()=>Nb,withExecutionPlan:()=>Ub,withFiber:()=>Ad,withLogSpan:()=>JE,withLogger:()=>zE,withParentSpan:()=>pE,withSpan:()=>fE,withSpanScoped:()=>lE,withTracer:()=>YS,withTracerEnabled:()=>XS,withTracerTiming:()=>QS,yieldNow:()=>Ky,yieldNowWith:()=>Jy,zip:()=>cb,zipWith:()=>ab});var ap=Fo;var Ye={};zt(Ye,{await:()=>pc,complete:()=>Uh,completeWith:()=>lp,die:()=>dp,dieSync:()=>Ph,done:()=>qt,doneUnsafe:()=>gp,fail:()=>pp,failCause:()=>dc,failCauseSync:()=>Dh,failSync:()=>Nh,interrupt:()=>Lh,interruptWith:()=>mp,into:()=>yp,isDeferred:()=>_h,isDone:()=>$h,isDoneUnsafe:()=>xp,make:()=>Fh,makeUnsafe:()=>Vo,poll:()=>jh,succeed:()=>hp,sync:()=>qh});var fp="~effect/Deferred",_h=e=>b(e,fp),Mh={[fp]:{_A:w,_E:w},pipe(){return D(this,arguments)}},Vo=()=>{let e=Object.create(Mh);return e.resumes=void 0,e.effect=void 0,e},Fh=()=>E(()=>Vo()),pc=e=>ce(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),E(()=>{let r=e.resumes;if(r===void 0)return;let n=r.indexOf(t);n>=0&&r.splice(n,1)})));var Uh=a(2,(e,t)=>v(()=>e.effect?x(!1):yp(t,e))),lp=a(2,(e,t)=>E(()=>gp(e,t))),qt=lp,pp=a(2,(e,t)=>qt(e,nt(t))),Nh=a(2,(e,t)=>v(()=>pp(e,t()))),dc=a(2,(e,t)=>qt(e,Ee(t))),Dh=a(2,(e,t)=>v(()=>dc(e,t()))),dp=a(2,(e,t)=>qt(e,Ke(t))),Ph=a(2,(e,t)=>v(()=>dp(e,t()))),Lh=e=>k(t=>mp(e,t.id)),mp=a(2,(e,t)=>dc(e,kn(t))),$h=e=>E(()=>xp(e)),xp=e=>e.effect!==void 0;function jh(e){return E(()=>so(e.effect))}var hp=a(2,(e,t)=>qt(e,re(t))),qh=a(2,(e,t)=>v(()=>hp(e,t()))),gp=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let r=e.resumes;e.resumes=void 0;for(let n=0;n<r.length;n++)r[n](t)}return!0},yp=a(2,(e,t)=>jt(r=>h(_r(r(e)),n=>qt(t,n))));var bp=bt;var Sp=vo;var Ep=On;var Zo=Xf,mc=Bi;var Cp="~effect/Layer",kp="~effect/Layer/MemoMap",Hh=(e,t)=>(e.observers++,Pt(Ct(t,r=>e.finalizer(r)),e.effect)),wp=e=>b(e,Cp),zh={[Cp]:{_ROut:w,_E:w,_RIn:w},pipe(){return D(this,arguments)}},Tp=e=>{let t=Object.create(zh);return t.build=e,t},Ip=e=>Tp((t,r)=>{let n=Zo(r);return ie(e(t,n),o=>o._tag==="Failure"?mc(n,o):O)});var Bh=(e,t,r,n)=>{let o=Ep(),s=Vo(),i={observers:1,effect:pc(s),finalizer:c=>v(()=>(i.observers--,i.observers===0?(e.map.delete(t),mc(o,c)):O))};return e.map.set(t,i),Ct(r,i.finalizer).pipe(h(()=>n(e,o)),ie(c=>(i.effect=c,qt(s,c))))},Go=class{get[kp](){return kp}parent;constructor(t){this.parent=t}map=new Map;get(t,r){let n=this.map.get(t);return n?Hh(n,r):this.parent?.get(t,r)}getOrElseMemoize(t,r,n){return v(()=>{let o=this.get(t,r);return o||Bh(this,t,r,n)})}},xc=()=>new Go,Kh=e=>new Go(e);var _n=class e extends gt()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let r=uo(t,e);return r?Kh(r):xc()}},hc=a(3,(e,t,r)=>xe(T(e.build(t,r),ke(_n,t)),_n,t));var Op=a(2,(e,t)=>k(r=>hc(e,_n.forkOrCreate(r.context),t)));var Rp=e=>Tp(oe(x(e)));var Ap=(e,t,r)=>{let n=Zo(r,"parallel");return fe(e,o=>o.build(t,Zo(n,"sequential")),{concurrency:e.length}).pipe(T(o=>Qa(...o)))},_p=(...e)=>Ip((t,r)=>Ap(e,t,r));var Jh=(e,t,r)=>Ip((n,o)=>h(Array.isArray(t)?Ap(t,n,o):t.build(n,o),s=>e.build(n,o).pipe(kt(s),T(i=>r(i,s))))),Mp=a(2,(e,t)=>Jh(e,t,w));var Fp="~effect/ExecutionPlan";var Vh={[Fp]:Fp,get captureRequirements(){let e=this;return $t(t=>x(Zh(e.steps.map(r=>({...r,provide:wp(r.provide)?Mp(r.provide,Rp(t)):r.provide})))))},pipe(){return D(this,arguments)}},Zh=e=>{let t=Object.create(Vh);return t.steps=e,t};var Up=M("effect/ExecutionPlan/CurrentMetadata",{defaultValue:oe({attempt:0,stepIndex:0})});var Le={};zt(Le,{CurrentMetadata:()=>Ht,addDelay:()=>jg,concat:()=>qg,concatResult:()=>ad,cron:()=>zg,duration:()=>Bg,during:()=>Kg,exponential:()=>Zg,fibonacci:()=>Gg,fixed:()=>Yg,forever:()=>rs,fromStep:()=>Oe,fromStepWithMetadata:()=>sr,identity:()=>ny,isSchedule:()=>es,jittered:()=>Xg,map:()=>Qo,max:()=>Wg,min:()=>Jg,modifyDelay:()=>Oc,passthrough:()=>ts,recurs:()=>Rc,setInputType:()=>oy,spaced:()=>ud,tap:()=>Qg,toStep:()=>ut,toStepWithMetadata:()=>qr,toStepWithSleep:()=>$g,upTo:()=>ey,while:()=>ir,windowed:()=>ty});var Wt={};zt(Wt,{Clock:()=>Gh,clockWith:()=>Yh,currentTimeMillis:()=>Xh,currentTimeNanos:()=>Qh,monotonicTimeNanos:()=>eg});var Gh=Ze,Yh=he,Xh=Ko,Qh=ep,eg=tp;var yc="~effect/time/DateTime",bc="~effect/time/DateTime/TimeZone",Lp={[yc]:yc,pipe(){return D(this,arguments)},[Se](){return this.toString()},toJSON(){return Dn(this).toJSON()}},tg={...Lp,_tag:"Utc",[P](){return dt(this.epochMilliseconds)},[L](e){return Nn(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${Dn(this).toJSON()})`}},rg={...Lp,_tag:"Zoned",[P](){return W(dt(this.epochMilliseconds))(_(this.zone))},[L](e){return Nn(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&J(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Sg(this)})`}},$p={[bc]:bc,[Se](){return this.toString()}},ng={...$p,_tag:"Named",[P](){return H(`Named:${this.id}`)},[L](e){return Ur(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},og={...$p,_tag:"Offset",[P](){return H(`Offset:${this.offset}`)},[L](e){return Ur(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${Hp(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},at=(e,t,r)=>{let n=Object.create(rg);return n.epochMilliseconds=e,n.zone=t,Object.defineProperty(n,"partsUtc",{value:r,enumerable:!1,writable:!0}),Object.defineProperty(n,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(n,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),n},Nn=e=>b(e,yc),sg=e=>Nn(e[0]),Ur=e=>b(e,bc);var jp=e=>Ur(e)&&e._tag==="Named";var ig=e=>e._tag==="Zoned";var qp=e=>{let t=Object.create(tg);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Mn=e=>{let t=e.getTime();if(Number.isNaN(t))throw new Jo("Invalid date");return qp(t)},cg=e=>{if(Nn(e))return e;if(e instanceof Date)return Mn(e);if(typeof e=="object"){if("epochMilliseconds"in e)return Mn(new Date(e.epochMilliseconds));let t=new Date(0);return yg(t,e),Mn(t)}else if(typeof e=="string"&&!ag(e))return Mn(new Date(e+"Z"));return Mn(new Date(e))},ag=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),ug=-864e13+720*60*1e3,fg=864e13-840*60*1e3,Ec=(e,t)=>{let r=t?.timeZone;if(r===void 0&&Nn(e)&&ig(e))return e;let n=cg(e);if(n.epochMilliseconds<ug||n.epochMilliseconds>fg)throw new RangeError(`Epoch millis out of range: ${n.epochMilliseconds}`);r===void 0&&typeof e=="object"&&"timeZoneId"in e&&(r=e.timeZoneId);let o;if(r===void 0){let s=new Date(n.epochMilliseconds).getTimezoneOffset()*-60*1e3;o=Sc(s)}else if(Ur(r))o=r;else if(typeof r=="number")o=Sc(r);else{let s=vc(r);if(Gt(s))throw new Jo(`Invalid time zone: ${r}`);o=s.value}return t?.adjustForTimeZone!==!0?at(n.epochMilliseconds,o,n.partsUtc):zp(n.epochMilliseconds,o,t?.disambiguation??"compatible")};var Un=new Map,lg={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},pg=e=>{let t=e.resolvedOptions().timeZone;if(Un.has(t))return Un.get(t);let r=Object.create(ng);return r.id=t,r.format=e,Un.set(t,r),r},dg=e=>{if(Un.has(e))return Un.get(e);try{return pg(new Intl.DateTimeFormat("en-US",{...lg,timeZone:e}))}catch{throw new Jo(`Invalid time zone: ${e}`)}},Sc=e=>{let t=Object.create(og);return t.offset=e,t},mg=sn(dg);var xg=/^(?:GMT|[+-])/,vc=e=>{if(xg.test(e)){let t=Bp(e);return t===null?V():Z(Sc(t))}return mg(e)};var Dn=e=>new Date(e.epochMilliseconds),Nr=e=>{if(e._tag==="Utc")return new Date(e.epochMilliseconds);if(e.zone._tag==="Offset")return new Date(e.epochMilliseconds+e.zone.offset);if(e.adjustedEpochMilliseconds!==void 0)return new Date(e.adjustedEpochMilliseconds);let t=e.zone.format.formatToParts(e.epochMilliseconds).filter(n=>n.type!=="literal"),r=new Date(0);return r.setUTCFullYear(Number(t[2].value),Number(t[0].value)-1,Number(t[1].value)),r.setUTCHours(Number(t[3].value),Number(t[4].value),Number(t[5].value),Number(t[6].value)),e.adjustedEpochMilliseconds=r.getTime(),r},Wp=e=>Nr(e).getTime()-gg(e),Hp=e=>{let t=Math.abs(e),r=Math.floor(t/(3600*1e3)),n=Math.round(t%(3600*1e3)/(60*1e3));return n===60&&(r+=1,n=0),`${e<0?"-":"+"}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`},hg=e=>Hp(Wp(e)),gg=e=>e.epochMilliseconds;var yg=(e,t)=>{if(t.year!==void 0&&e.setUTCFullYear(t.year),t.month!==void 0&&e.setUTCMonth(t.month-1),t.day!==void 0&&e.setUTCDate(t.day),t.weekDay!==void 0){let r=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+r)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)};var Dp=1440*60*1e3,zp=(e,t,r)=>{if(t._tag==="Offset")return at(e-t.offset,t);let n=Fn(e-Dp,e,t),o=Fn(e+Dp,e,t);if(n===o)return at(e-n,t);let s=n<o,i=n-o;if(s){if(Fn(e-o,e,t)===o)return at(e-o,t);let f=at(e-n,t),m=Nr(f).getTime();if(e!==m)switch(r){case"reject":{let d=new Date(e).toISOString();throw new RangeError(`Gap time: ${d} does not exist in time zone ${t.id}`)}case"earlier":return at(e-o,t);case"compatible":case"later":return f}return f}if(Fn(e-n,e,t)===n){if(r==="earlier"||r==="compatible"||Fn(e-n+i,e+i,t)===n)return at(e-n,t);if(r==="reject"){let f=new Date(e).toISOString();throw new RangeError(`Ambiguous time: ${f} occurs twice in time zone ${t.id}`)}}return at(e-o,t)},bg=/([+-])(\d{2}):(\d{2})$/,Bp=e=>{let t=bg.exec(e);if(t===null)return null;let[,r,n,o]=t;return(r==="+"?1:-1)*(Number(n)*60+Number(o))*60*1e3},Fn=(e,t,r)=>{let n=r.format.formatToParts(e).find(s=>s.type==="timeZoneName")?.value??"";if(n==="GMT")return 0;let o=Bp(n);return o===null?Wp(at(t,r)):o},Kp=a(sg,(e,t,r)=>{if(e._tag==="Utc"){let s=Dn(e);return t(s),qp(s.getTime())}let n=Nr(e),o=new Date(n.getTime());return t(o),zp(o.getTime(),e.zone,r?.disambiguation??"compatible")});var Pp=e=>{let t=Nr(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${hg(e)}`},Sg=e=>e.zone._tag==="Offset"?Pp(e):`${Pp(e)}[${e.zone.id}]`;var wC=globalThis.Number;var Jp=eo;var TC=globalThis.String;var Zp=e=>e.toLowerCase();var Gp=e=>e.length>0;var wc="~effect/time/Cron";function kc(e){return{tz:e.tz,and:e.and,seconds:B(e.seconds),minutes:B(e.minutes),hours:B(e.hours),days:B(e.days),months:B(e.months),weekdays:B(e.weekdays)}}var vg={[wc]:wc,[L](e){return Tc(e)&&Ig(this,e)},[P](){return Hc(_(this.tz),W(_(this.and)),W(We(B(this.seconds))),W(We(B(this.minutes))),W(We(B(this.hours))),W(We(B(this.days))),W(We(B(this.months))),W(We(B(this.weekdays))))},toObject(){return kc(this)},toString(){return`Cron(${te(kc(this))})`},toJSON(){let e=kc(this);return e._id="Cron",e},[Se](){return this.toJSON()},pipe(){return D(this,arguments)}},Tc=e=>b(e,wc),kg=e=>{let t=Object.create(vg);t.seconds=Pr.seconds(e.seconds??[0]),t.minutes=Pr.minutes(e.minutes),t.hours=Pr.hours(e.hours),t.days=Pr.days(e.days),t.months=Pr.months(e.months),t.weekdays=Pr.weekdays(e.weekdays),t.and=e.and===!0,t.tz=so(e.tz);let r=Array.from(t.seconds),n=Array.from(t.minutes),o=Array.from(t.hours),s=Array.from(t.days),i=Array.from(t.months),c=Array.from(t.weekdays);return t.first={second:r[0]??0,minute:n[0]??0,hour:o[0]??0,day:s[0]??1,month:(i[0]??1)-1,weekday:c[0]??0},t.last={second:r[r.length-1]??59,minute:n[n.length-1]??59,hour:o[o.length-1]??23,day:s[s.length-1]??31,month:(i[i.length-1]??12)-1,weekday:c[c.length-1]??6},t.next={second:De.next.second(r),minute:De.next.minute(n),hour:De.next.hour(o),day:De.next.day(s),month:De.next.month(i),weekday:De.next.weekday(c)},t.prev={second:De.prev.second(r),minute:De.prev.minute(n),hour:De.prev.hour(o),day:De.prev.day(s),month:De.prev.month(i),weekday:De.prev.weekday(c)},t},Dr=(e,t,r,n=o=>o)=>o=>{let s=[];for(let i of o){if(!Number.isInteger(i)||i<t||i>r)throw new RangeError(`${e} must contain only integers between ${t} and ${r}`);s.push(n(i))}return new Set(ja(s,Jp))},Pr={seconds:Dr("seconds",0,59),minutes:Dr("minutes",0,59),hours:Dr("hours",0,23),days:Dr("days",1,31),months:Dr("months",1,12),weekdays:Dr("weekdays",0,7,e=>e===7?0:e)},Ne=(e,t)=>r=>{let n=new Array(e).fill(void 0);if(r.length===0)return n;let o;if(t==="next"){let s=r.length-1;for(let i=e-1;i>=0;i--){for(;s>=0&&r[s]>=i;)o=r[s--];n[i]=o}}else{let s=0;for(let i=0;i<e;i++){for(;s<r.length&&r[s]<=i;)o=r[s++];n[i]=o}}return n},De={prev:{second:Ne(60,"prev"),minute:Ne(60,"prev"),hour:Ne(24,"prev"),day:Ne(32,"prev"),month:Ne(13,"prev"),weekday:Ne(7,"prev")},next:{second:Ne(60,"next"),minute:Ne(60,"next"),hour:Ne(24,"next"),day:Ne(32,"next"),month:Ne(13,"next"),weekday:Ne(7,"next")}},Xp="~effect/time/Cron/CronParseError",Pe=class extends yo("CronParseError"){[Xp]=Xp};var ed=(e,t)=>{let r=e.trim().split(/\s+/).filter(Gp);if(r.length!==5&&r.length!==6)return z(new Pe({message:"Invalid number of segments in cron expression",input:e}));r.length===5&&r.unshift("0");let[n,o,s,i,c,u]=r,f=t===void 0||Ur(t)?Q(t):Ma(vc(t),()=>new Pe({message:"Invalid time zone in cron expression",input:t}));return Na({tz:f,seconds:$r(n,Og),minutes:$r(o,Rg),hours:$r(s,Ag),days:$r(i,_g),months:$r(c,Mg),weekdays:$r(u,Fg)}).pipe(Fa(({tz:m,seconds:d,minutes:y,hours:p,days:I,months:U,weekdays:g})=>kg({tz:m,seconds:d.values,minutes:y.values,hours:p.values,days:I.values,months:U.values,weekdays:g.values,and:(I.wildcard||g.wildcard)&&I.values.size!==0&&g.values.size!==0})))};var Yo=e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),td=(e,t)=>Cg(e,t,"next");var Cg=(e,t,r)=>{let n=br(e.tz),o=Ec(t??new Date,{timeZone:n}),s=r==="prev",i=s?-1:1,c=e[r],u=s?e.last:e.first,f=s?(p,I)=>p<I:(p,I)=>p>I,d=n!==void 0&&jp(n)&&n.id==="UTC"?Bt:p=>{let I=Ec(p,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:s?"later":void 0}).pipe(Nr),U=p.getTime()-I.getTime();(s?U!==0:U>0)&&p.setTime(s?I.getTime():p.getTime()+U)},y=Kp(o,p=>{p.setUTCSeconds(p.getUTCSeconds()+i,0);for(let I=0;I<1e4;I++){if(e.seconds.size!==0){let U=p.getUTCSeconds(),g=c.second[U];if(g===void 0){p.setUTCMinutes(p.getUTCMinutes()+i,u.second),d(p);continue}if(f(g,U)){p.setUTCSeconds(g),d(p);continue}}if(e.minutes.size!==0){let U=p.getUTCMinutes(),g=c.minute[U];if(g===void 0){p.setUTCHours(p.getUTCHours()+i,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCMinutes(g,u.second),d(p);continue}}if(e.hours.size!==0){let U=p.getUTCHours(),g=c.hour[U];if(g===void 0){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){p.setUTCHours(g,u.minute,u.second),d(p);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let U=e.days.size===0||e.days.has(p.getUTCDate()),g=e.weekdays.size===0||e.weekdays.has(p.getUTCDay());if(!U||!g){p.setUTCDate(p.getUTCDate()+i),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}else{let U=s?-1/0:1/0,g=s?-1/0:1/0;if(e.weekdays.size!==0){let X=p.getUTCDay(),K=c.weekday[X];K===void 0?U=s?u.weekday-7-X:7-X+u.weekday:U=K-X}if(e.days.size!==0&&U!==0){let X=p.getUTCDate(),K=c.day[X];if(K===void 0)if(s){let ee=new Date(p);ee.setUTCDate(0);let je=c.day[ee.getUTCDate()];if(je===void 0&&(ee.setUTCDate(0),je=c.day[ee.getUTCDate()]),je===void 0)throw new Error("Unable to find cron date");ee.setUTCDate(je),g=(ee.getTime()-p.getTime())/864e5}else g=Yo(p)-X+u.day;else!s&&K>Yo(p)?g=Yo(p)-X+u.day:g=K-X}let $e=s?Math.max(U,g):Math.min(U,g);if($e!==0){p.setUTCDate(p.getUTCDate()+$e),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}if(e.months.size!==0){let U=p.getUTCMonth()+1,g=c.month[U],$e=X=>{let K=Yo(new Date(Date.UTC(p.getUTCFullYear(),X+1,0)));return e.days.size!==0&&e.weekdays.size===0?s?c.day[K]??K:u.day:s?K:1};if(g===void 0){p.setUTCFullYear(p.getUTCFullYear()+i),p.setUTCMonth(u.month,$e(u.month)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}if(f(g,U)){let X=g-1;p.setUTCMonth(X,$e(X)),p.setUTCHours(u.hour,u.minute,u.second),d(p);continue}}return}throw new Error("Unable to find cron date")});return Dn(y)};var wg=xs((e,t)=>J(e.tz,t.tz)&&e.and===t.and&&Lr(e.seconds,t.seconds)&&Lr(e.minutes,t.minutes)&&Lr(e.hours,t.hours)&&Lr(e.days,t.days)&&Lr(e.months,t.months)&&Lr(e.weekdays,t.weekdays)),Tg=Xc(Yc()),Lr=(e,t)=>Tg(B(e),B(t)),Ig=a(2,(e,t)=>wg(e,t)),Og={min:0,max:59},Rg={min:0,max:59},Ag={min:0,max:23},_g={min:1,max:31},Mg={min:1,max:12,aliases:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12}},Fg={min:0,max:7,normalize:e=>e===7?0:e,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},$r=(e,t)=>{let r=new Set,n=e.split(","),o=Qp(n[0]),s=o[0]==="*",i=t.normalize??(u=>u),c=s&&(o[1]===void 0||o[1]===1)?Bt:u=>{r.add(i(u))};for(let u=0;u<n.length;u++){let f=n[u],[m,d]=u===0?o:Qp(f);if(d!==void 0){if(!Number.isInteger(d))return z(new Pe({message:"Expected step value to be a positive integer",input:e}));if(d<1)return z(new Pe({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return z(new Pe({message:`Expected step value to be less than or equal to ${t.max}`,input:e}))}if(m==="*"){if(u===0&&(d===void 0||d===1))continue;for(let y=t.min;y<=t.max;y+=d??1)c(y)}else{let[y,p]=Ug(m,t.aliases);if(!Number.isInteger(y))return z(new Pe({message:"Expected a positive integer",input:e}));if(y<t.min||y>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(p===void 0)for(let I=y;I<=(d===void 0?y:t.max);I+=d??1)c(I);else{if(!Number.isInteger(p))return z(new Pe({message:"Expected a positive integer",input:e}));if(p<t.min||p>t.max)return z(new Pe({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(y>p)return z(new Pe({message:"Invalid value range",input:e}));for(let I=y;I<=p;I+=d??1)c(I)}}}return Q({values:r,wildcard:s})},Qp=e=>{let t=e.indexOf("/");if(t!==-1){let r=e.slice(t+1);return[e.slice(0,t),rd.test(r)?Number(r):NaN]}return[e,void 0]},Ug=(e,t)=>{let r=e.indexOf("-");return r!==-1?[Cc(e.slice(0,r),t),Cc(e.slice(r+1),t)]:[Cc(e,t),void 0]};function Cc(e,t){return t?.[Zp(e)]??(rd.test(e)?Number(e):NaN)}var rd=/^\d+$/;var od=M("effect/Random",{defaultValue:()=>({nextIntUnsafe(){return Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER-Number.MIN_SAFE_INTEGER+1))+Number.MIN_SAFE_INTEGER},nextDoubleUnsafe(){return Math.random()}})});var Xo=a(2,(e,t)=>Ar(e,Dg,r=>t(r)));var sd=e=>e._tag==="Fail"&&cp(e.error),id=e=>{let t,r=!1;for(let n of e.reasons)sd(n)?t??=n.error:n._tag!=="Interrupt"&&(r=!0);return t===void 0?z(e):r?z(ip(e.reasons.filter(n=>!sd(n)))):Q(t)};var Dg=e=>{let t=id(e);return G(t)?t:Q(t.success.value)};var Pn=a(2,(e,t)=>it(e,{onSuccess:t.onSuccess,onFailure:r=>{let n=id(r);return G(n)?t.onFailure(n.failure):t.onDone(n.success.value)}}));var cd="~effect/Schedule",Pg=od.useSync(e=>e.nextDoubleUnsafe()),Ht=M("effect/Schedule/CurrentMetadata",{defaultValue:oe({input:void 0,output:void 0,duration:$,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Lg={[cd]:{_Out:w,_In:w,_Env:w},pipe(){return D(this,arguments)}},es=e=>b(e,cd),Oe=e=>{let t=Object.create(Lg);return t.step=e,t},jr=()=>{let e=0,t,r;return(n,o)=>{r===void 0&&(r=n);let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},sr=e=>Oe(T(e,t=>{let r=jr();return(n,o)=>t(r(n,o))})),ut=e=>Te(e.step,t=>x(()=>F(t))),qr=e=>he(t=>T(ut(e),r=>{let n=jr();return o=>v(()=>{let s=t.currentTimeMillisUnsafe();return h(r(s,o),([i,c])=>{let u=n(s,o);return u.output=i,u.duration=c,le(or(c),u)})})})),$g=e=>T(qr(e),t=>r=>T(t(r),n=>n.output)),jg=a(2,(e,t)=>Oc(e,r=>T(t(r),n=>go(q(n),r.duration)))),qg=a(2,(e,t)=>Qo(ad(e,t),({output:r})=>x(Ua(r)))),ad=a(2,(e,t)=>Oe(E(()=>{let r=0,n,o=Qo(e,({output:i})=>z(i)),s=Qo(t,({output:i})=>Q(i));return function i(c,u){return n?n(c,u):ut(r===0?o:s).pipe(h(f=>(r++,r===1?(n=(m,d)=>Xo(f(m,d),y=>(n=void 0,i(m,d))),n(c,u)):(n=f,n(c,u)))))}}))),Wg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Hg(o);return s===void 0?ct($):x([s,s])}))),Hg=e=>{let t=e[0];for(let r=1;r<e.length&&(t=e[r]&&t&&Hs(t,e[r]),t!==void 0);r++);return t},zg=(e,t)=>{let r=Tc(e)?Q(e):ed(e,t);return Oe(T(er(r),n=>(o,s)=>o===Number.POSITIVE_INFINITY?ct($):E(()=>{let i=td(n,o).getTime(),c=we(i-o);return[c,c]})))},Bg=e=>{let t=q(e);return sr(x(r=>r.attempt===1?x([t,t]):ct($)))},Kg=e=>{let t=Je(e);return sr(x(r=>{let n=we(r.elapsed);return r.elapsed>t?ct(n):x([n,$])}))},Jg=e=>Oe(T(rr(e.map(ut)),t=>(r,n)=>h(fe(t,o=>Pn(o(r,n),{onSuccess:s=>x(s[1]),onDone:()=>An,onFailure:F})),o=>{let s=Vg(o);return s===void 0?ct($):x([s,s])}))),Vg=e=>{let t;for(let r=0;r<e.length;r++){let n=e[r];n!==void 0&&(t=t===void 0?n:Ws(t,n))}return t},Zg=(e,t=2)=>{let r=Je(q(e));return sr(x(n=>{let o=we(r*Math.pow(t,n.attempt-1));return x([o,o])}))},Gg=e=>{let t=Je(q(e));return Oe(E(()=>{let r=0,n=t;return oe(E(()=>{let o=r+n;r=n,n=o;let s=we(o);return[s,s]}))}))},Yg=e=>{let t=Je(q(e));return sr(E(()=>{let r=0,n=0;return o=>E(()=>{if(t===0)return[o.attempt-1,$];if(o.attempt===1)return r=o.now,n=o.now+t,[0,we(t)];let s=o.now>n+t,i=t-(o.now-r)%t,c=s?0:i===0?t:i;return n=s?o.now:o.now+c,[o.attempt-1,we(c)]})}))},Qo=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Pn(r(o,s),{onSuccess:([i,c])=>{let u=t({...n(o,s),output:i,duration:c});return S(u)?T(u,f=>[f,c]):x([u,c])},onFailure:F,onDone:i=>{let c=t({...n(o,s),output:i,duration:$});return S(c)?h(c,ct):ct(c)}})}))),Oc=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),([i,c])=>T(t({...n(o,s),output:i,duration:c}),u=>[i,q(u)]))}))),Xg=e=>Oc(e,({duration:t})=>T(Pg,r=>{let n=Je(t);return we(n*.8*(1-r)+n*1.2*r)})),ts=e=>Oe(T(ut(e),t=>(r,n)=>Pn(t(r,n),{onSuccess:o=>x([n,o[1]]),onFailure:F,onDone:()=>ct(n)}))),Rc=e=>ir(rs,({attempt:t})=>x(t<=e)),ud=e=>{let t=q(e);return sr(x(r=>x([r.attempt-1,t])))},Qg=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>Lt(r(o,s),([i,c])=>t({...n(o,s),output:i,duration:c}))}))),ey=a(2,(e,t)=>{let r=t.duration===void 0?void 0:q(t.duration);return ir(e,({attempt:n,elapsed:o})=>x((t.times===void 0||n<=t.times)&&(r===void 0||Bs(we(o),r))))}),ir=a(2,(e,t)=>Oe(T(ut(e),r=>{let n=jr();return(o,s)=>h(r(o,s),i=>{let[c,u]=i,f=t({...n(o,s),output:c,duration:u});return h(S(f)?f:x(f),m=>m?x(i):ct(c))})})));var ty=e=>{let t=Je(q(e));return sr(x(r=>E(()=>[r.attempt-1,t===0?$:we(t-r.elapsed%t)])))},rs=ud($),ry=Oe(x((e,t)=>x([t,$]))),ny=()=>ry;var oy=()=>e=>e;var sy=(e,t,r)=>qo(n=>h(r?.local?hc(t,xc(),n):Op(t,n),o=>kt(e,o))),ns=a(e=>S(e[0]),(e,t,r)=>$s(t)?kt(e,t):sy(e,Array.isArray(t)?_p(...t):t,r));var Ac=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue();return Ie(No(Lt(h(v(()=>xe(e,Ht,o)),n),s=>E(()=>{o=s})),{disableYield:!0}),s=>nn(s)?x(s.value):r(s,o.attempt===0?V():Z(o)))})),_c=a(3,(e,t,r)=>h(qr(t),n=>{let o=Ht.defaultValue(),s,i=Ie(v(()=>xe(e,Ht,o)),c=>(s=c,h(n(c),u=>(o=u,i))));return Xo(i,c=>A(()=>r(s,c)))})),ld=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return Ac(e,r,j)}),Ln=a(2,(e,t)=>{let r=typeof t=="function"?t(w):es(t)?t:$n(t);return _c(e,r,j)}),pd=a(3,(e,t,r)=>h(qr(r),n=>{let o=Ht.defaultValue(),s=v(()=>xe(e,Ht,o));return Ie(h(n(t),i=>{o=i;let c=oe(h(s,n));return Tt({while:At,body:c,step(u){o=u}})}),i=>nn(i)?x(i.value):j(i))})),iy=ts(rs),$n=e=>{let t=e.schedule?ts(e.schedule):iy;return e.while&&(t=ir(t,({input:r})=>{let n=e.while(r);return S(n)?n:x(n)})),e.until&&(t=ir(t,({input:r})=>{let n=e.until(r);return S(n)?T(n,o=>!o):x(!n)})),e.times!==void 0&&(t=ir(t,({attempt:r})=>x(r<=e.times))),t};var cy=(e,t)=>{let r=-1,n=0,o=s=>Lo(e(s));return{begin:he(s=>v(()=>{let i=t();i.stepIndex!==r&&(r=i.stepIndex,n=0),n++;let c={attempt:i.attempt,stepAttempt:n,stepIndex:i.stepIndex,startNanos:s.monotonicTimeNanosUnsafe()};return le(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>he(c=>{let u=Ut(c.monotonicTimeNanosUnsafe()-s.startNanos);return o(i._tag==="Success"?{_tag:"AttemptSuccess",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u}:{_tag:"AttemptFailure",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:u,cause:i.cause})})}},xd=a(e=>S(e[0]),(e,t,r)=>v(()=>{let n=0,o={attempt:0,stepIndex:0},s=Uo(Up,E(()=>(o={attempt:o.attempt+1,stepIndex:n},o))),i=r?.onEvent===void 0?void 0:cy(r.onEvent,()=>o),c=i===void 0?w:f=>jt(m=>h(i.begin,d=>ie(m(f),y=>i.end(d,y)))),u;return h(Tt({while:()=>n<t.steps.length&&(u===void 0||G(u)),body(){let f=t.steps[n],m=s(c(ns(e,f.provide)));if(u){let d=!1,y=m;m=v(()=>d?y:(d=!0,er(u))),m=Ln(m,md(f,!1))}else{let d=md(f,!0);m=d?Ln(m,d):m}return Nt(m)},step(f){u=f,n++}}),()=>er(u))})),md=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return $n({schedule:e.schedule?e.schedule:e.attempts?void 0:ay,times:e.attempts,while:e.while});return $n({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},ay=Rc(1);var fy="~effect/Request",ly=Vc({_E:e=>e,_A:e=>e,_R:e=>e}),BC={...xa,[fy]:ly};var hd=e=>e;var yd=a(2,(e,t)=>{let r=n=>ce(o=>{let s=Sd(n,e,o,wr());return dy(n,s)});return S(t)?h(t,r):r(t)}),bd=(e,t)=>{let r=Sd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:ve(t.context,pn)});return()=>Ed(t.resolver,r)},os=[],Mc=new WeakMap,Sd=(e,t,r,n)=>{let o=Mc.get(e);o||(o=new Map,Mc.set(e,o));let s,i=!1,c=hd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(f){i||(i=!0,r(f),s?.entrySet.delete(c))}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let u=e.batchKey(c);if(s=o.get(u),!s){if(os.length>0)s=os.pop(),s.key=u,s.resolver=e,s.map=o;else{let f={key:u,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:h(v(()=>f.resolver.delay),m=>gd(f)),run:ie(v(()=>f.resolver.runAll(Array.from(f.entries),f.key)),m=>{for(let d of f.entrySet)d.completeUnsafe(m._tag==="Success"?Ke(new Error("Effect.request: RequestResolver did not complete request",{cause:d.request})):m);return f.entries.clear(),os.length<128&&(f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,os.push(f)),O})};s=f}o.set(u,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}return s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries)||(s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(gd(s),{scheduler:n.currentScheduler})),c},Ed=(e,t)=>{if(t.uninterruptible)return;let r=Mc.get(e);if(!r)return;let n=e.batchKey(t),o=r.get(n);o&&(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0&&(r.delete(n),o.fiber?.interruptUnsafe()))},dy=(e,t)=>E(()=>Ed(e,t));function gd(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):O}var xy="effect/Metric/CurrentMetricAttributes",hy=M(xy,{defaultValue:()=>({})}),gy="~effect/observability/Metric/MetricRegistryKey",yy=M(gy,{defaultValue:()=>new Map}),vd="~effect/observability/Metric",kd=class{[vd]=vd;#t=new WeakMap;#e;id;description;attributes;constructor(t,r,n){this.id=t,this.description=r,this.attributes=n}valueUnsafe(t){return this.hook(t).get(t)}modifyUnsafe(t,r){return this.hook(r).modify(t,r)}updateUnsafe(t,r){return this.hook(r).update(t,r)}hook(t){let r=ve(t,hy);if(Object.keys(r).length===0)return pr(this.#e)?this.#e.hooks:(this.#e=this.getOrCreate(t,this.attributes),this.#e.hooks);let n=Ey(this.attributes,r),o=this.#t.get(n);return pr(o)||(o=this.getOrCreate(t,n),this.#t.set(n,o)),o.hooks}getOrCreate(t,r){let n=by(this,r),o=ve(t,yy);if(o.has(n))return o.get(n);let s=this.createHooks(),i={id:this.id,type:this.type,description:this.description,attributes:Fc(r),hooks:s};return o.set(n,i),i}pipe(){return D(this,arguments)}};var Wr=a(2,(e,t)=>$t(r=>E(()=>e.updateUnsafe(t,r))));function by(e,t){let r=`${e.type}:${e.id}`;return pr(e.description)&&(r+=`:${e.description}`),pr(t)&&(r+=`:${Sy(t)}`),r}function Sy(e){return JSON.stringify(Array.isArray(e)?e:Object.entries(e))}function Ey(e,t){return{...Fc(e),...Fc(t)}}function Fc(e){return pr(e)&&Array.isArray(e)?e.reduce((t,[r,n])=>(be(t,r,n),t),{}):e}var vy=rt,cr=S,ky=rr,Cy=rc,wy=fl,Ty=ll,Iy=pl,Oy=ml,Ry=fe,Ay=hl,Td=Tt,_y=Ii,My=ef,Id=x,Fy=wn,Uy=Ti,Od=v,pe=E,Nc=O;var Ny=An;var Dc=ce,Dy=Ao,Py=El,Ly=vl,$y=Cl;var jy=kl,qy=of,Uc=j,Wy=Ro,Hy=F,zy=Xu,Rd=Dt,By=Qu;var Ky=Ir,Jy=wi,Ad=k,Vy=er,Zy=Ci,Gy=Yu,Yy=Gu,Pc=h,Xy=df,Qy=Pt,_d=Lt,eb=Nt,tb=zf,Md=_r,rb=T,nb=le,ob=_o,sb=Or,ib=af,cb=If,ab=Ui,ub=Ie;var fb=Li,lb=Pf,pb=Lf,db=$f,mb=jf,xb=Te,hb=Mf,gb=Tn,yb=Po,bb=_f,Sb=Di,Eb=Ar,vb=$i,kb=ji,Cb=qi,Fd=Pi,wb=Nf,Ud=Ff,Tb=Uf,Ib=Do,Nd=Df,Ob=Wi,Rb=Ln,Ab=_c,_b=uf,Mb=Hf,Fb=Lo,Ub=xd,Nb=sp,Db=qf,Pb=Wf,Lb=Zf,$b=Gf,jb=zi,qb=Vf,Wb=or,Hb=Yf,zb=_i,Bb=Mi,Kb=ff,Jb=Mo,Vb=yl,Zb=bl,Gb=Sl,Yb=nc,Xb=oc,Qb=Of,eS=gl,tS=Rf,rS=$o,nS=In,oS=Hi,sS=Bf,iS=lf,cS=it,aS=tr,uS=Kf,fS=Jf,lS=Fi,pS=$t,dS=ns,mS=kt,xS=Tf,hS=kf,gS=Cf,yS=Rr,bS=vt,SS=wf,Dd=xe,ES=Uo,vS=Rn,kS=Ji,CS=qo,wS=Wo,TS=nl,IS=rl,OS=Vi,RS=Qf,AS=Yi,_S=el,MS=Xi,FS=Fr,Lc=ie,US=Zi,NS=Gi,DS=ol,PS=ec,LS=Qi,Pd=sl,$S=tc,jS=tl,qS=wt,Ld=jt,WS=al,HS=ul,zS=No,BS=ld,KS=Ac,JS=Ni,VS=Af,ZS=a(2,(e,t)=>$d(e,void 0,t)),$d=pd,GS=Dl,YS=Pl,XS=Ll,QS=$l,eE=Vl,tE=Zl,rE=Gl,nE=Yl,oE=Hl,sE=zl,iE=Bl,cE=ql,aE=Sn,uE=En,fE=Jl,lE=Wl,pE=Cr,dE=yd,mE=bd,xE=wl,hE=sc,gE=Ol,yE=Tl,bE=Il,SE=rf,EE=nf,vE=Al,kE=It,CE=ic,wE=_l,TE=Fl,IE=cc,OE=Ml,RE=zo,AE=Nl,_E=ac,ME=Ul,FE=Bo,UE=Ri,NE=sf,jd=he,DE=Ge,PE=Ge(),LE=Ge("Fatal"),$E=Ge("Warn"),jE=Ge("Error"),qE=Ge("Info"),WE=Ge("Debug"),HE=Ge("Trace"),zE=a(2,(e,t)=>vt(e,fc,r=>new Set([...r,t]))),BE=a(e=>cr(e[0]),(e,...t)=>vt(e,bp,r=>{let n=t.length===1?{...r,...t[0]}:{...r};return t.length===1||be(n,t[0],t[1]),n})),KE=np,JE=a(2,(e,t)=>h(Ko,r=>vt(e,Sp,n=>[[t,r],...n]))),VE=a(e=>cr(e[0]),(e,t,r)=>Lc(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),ZE=a(e=>cr(e[0]),(e,t,r)=>_d(e,n=>{let o=r===void 0?n:r(n);return Wr(t,o)})),GE=a(e=>cr(e[0]),(e,t,r)=>Fd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),YE=a(e=>cr(e[0]),(e,t,r)=>Nd(e,n=>{let o=r===void 0?n:A(()=>r(n));return Wr(t,o)})),XE=a(e=>cr(e[0]),(e,t,r)=>jd(n=>{let o=n.monotonicTimeNanosUnsafe();return Lc(e,()=>{let s=n.monotonicTimeNanosUnsafe(),i=zs(q(s),q(o)),c=r===void 0?i:A(()=>r(i));return Wr(t,c)})})),Hr=class extends gt()("effect/Effect/Transaction"){},QE=e=>Ad(t=>{let r=uo(t.context,Hr);if(r)return e;r={journal:new Map,retry:!1};let n;return Ld(o=>Pc(Td({while:()=>!n,body:oe(o(e).pipe(Dd(Hr,r),Ud(()=>r.retry?o(t0(r)):Nc),Md)),step(s){if(r.retry||!e0(r))return wd(r);ap(s)?r0(t,r):wd(r),n=s}}),()=>n))}),e0=e=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},t0=e=>Od(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return Dc(o=>{let s=()=>{n(),o(Nc)};for(let i of r)i.pending.set(t,s);return pe(n)})});function r0(e,t){for(let[r,{value:n}]of t.journal){n!==r.value&&(r.version=r.version+1,r.value=n);for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function wd(e){e.retry=!1,e.journal.clear()}var n0=Pc(Hr,e=>(e.retry=!0,Pd)),o0=(e,t,r)=>(...n)=>Dc(o=>{try{e(...n,(s,i)=>{o(s?Uc(t?t(s,n):s):Id(i))})}catch(s){o(r?Uc(r(s,n)):Rd(s))}}),s0=()=>e=>e,i0=()=>e=>e,c0=()=>e=>e,a0=mf,u0=xf,f0=hf,l0=pf,p0=gf,d0=cf;var ar={};zt(ar,{await:()=>m0,awaitAll:()=>x0,getCurrent:()=>k0,interrupt:()=>y0,interruptAll:()=>S0,interruptAllAs:()=>E0,interruptAs:()=>b0,isFiber:()=>v0,join:()=>h0,joinAll:()=>g0,runIn:()=>C0});var m0=vi;var x0=Tr,h0=Ju,g0=Vu,y0=Oo,b0=ki,S0=St,E0=Zu,v0=e=>b(e,yn),k0=wr,C0=Rl;var qd="~effect/MutableRef",w0={[qd]:qd,...Be,toJSON(){return{_id:"MutableRef",current:Qe(this.current)}}},Wd=e=>{let t=Object.create(w0);return t.current=e,t};var Hd=a(2,(e,t)=>(e.current=t,e));var C={};zt(C,{get:()=>R0,getAndSet:()=>_0,getAndUpdate:()=>M0,getAndUpdateSome:()=>F0,getUnsafe:()=>j0,make:()=>O0,makeUnsafe:()=>Bd,modify:()=>Kd,modifySome:()=>N0,set:()=>A0,setAndGet:()=>U0,update:()=>D0,updateAndGet:()=>P0,updateSome:()=>L0,updateSomeAndGet:()=>$0});var T0="~effect/Ref",I0={[T0]:{_A:w},...Be,toJSON(){return{_id:"Ref",ref:this.ref}}},Bd=e=>{let t=Object.create(I0);return t.ref=Wd(e),t},O0=e=>pe(()=>Bd(e)),R0=e=>pe(()=>e.ref.current),A0=a(2,(e,t)=>pe(()=>Hd(e.ref,t))),_0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t,r})),M0=a(2,(e,t)=>pe(()=>{let r=e.ref.current;return e.ref.current=t(r),r})),F0=a(2,(e,t)=>pe(()=>{let r=e.ref.current,n=t(r);return n._tag==="Some"&&(e.ref.current=n.value),r})),U0=a(2,(e,t)=>pe(()=>e.ref.current=t)),Kd=a(2,(e,t)=>pe(()=>{let[r,n]=t(e.ref.current);return e.ref.current=n,r})),N0=a(2,(e,t)=>Kd(e,r=>{let[n,o]=t(r);return[n,o._tag==="None"?r:o.value]})),D0=a(2,(e,t)=>pe(()=>{e.ref.current=t(e.ref.current)})),P0=a(2,(e,t)=>pe(()=>e.ref.current=t(e.ref.current))),L0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);r._tag==="Some"&&(e.ref.current=r.value)})),$0=a(2,(e,t)=>pe(()=>{let r=t(e.ref.current);return r._tag==="Some"&&(e.ref.current=r.value),e.ref.current})),j0=e=>e.ref.current;var q0={workers:new Map};function W0(e,t,r,n=1){let o=new Map(e.workers),s=o.get(t);return o.set(t,{id:t,types:new Set(r),capacity:n,active:s?.active??0}),{workers:o}}function H0(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function z0(e,t,r){let n=e.workers.get(t);if(!n)return e;let o=new Map(e.workers);return o.set(t,{...n,types:new Set(r)}),{workers:o}}function B0(e,t){let r=e.workers.get(t);if(!r)throw new Error(`acquire: unknown worker ${t}`);if(r.active>=r.capacity)throw new Error(`acquire: worker ${t} at capacity`);let n=new Map(e.workers);return n.set(t,{...r,active:r.active+1}),{workers:n}}function K0(e,t){let r=e.workers.get(t);if(!r)return e;let n=new Map(e.workers);return n.set(t,{...r,active:Math.max(0,r.active-1)}),{workers:n}}function Jd(e,t){let r=0;for(let n of e.workers.values())n.types.has(t)&&(r+=Math.max(0,n.capacity-n.active));return r}function Vd(e){let t=new Set;for(let r of e.workers.values())for(let n of r.types)t.add(n);return t}function J0(e){let t=[];for(let r of Vd(e))Jd(e,r)>0&&t.push(r);return t}function V0(e){let t=[];for(let r of Vd(e)){let n=Jd(e,r);n>0&&t.push({type:r,freeSlots:n})}return t}function Z0(e,t){for(let r of e.workers.values())if(r.types.has(t)&&r.active<r.capacity)return r.id;return null}var VT=(e=q0)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),add:(n,o,s=1)=>C.update(t,i=>W0(i,n,o,s)),remove:n=>C.update(t,o=>H0(o,n)),setTypes:(n,o)=>C.update(t,s=>z0(s,n,o)),claim:n=>C.modify(t,o=>{let s=Z0(o,n);return s===null?[null,o]:[s,B0(o,s)]}),releaseWorker:n=>C.update(t,o=>K0(o,n)),pollTypes:C.get(t).pipe(l.map(J0)),pollBatch:C.get(t).pipe(l.map(V0))}});var Zd={keySetHash:"",xmlByKey:new Map,jobTypes:[]};function G0(e){return[...e].sort().join("\0")}function Y0(e,t,r,n){let o=new Set,s=[];for(let i of e){let c=t.get(i);if(c!==void 0)for(let u of r(c))n&&!(u.process===n||u.process.startsWith(n))||o.has(u.taskType)||(o.add(u.taskType),s.push(u.taskType))}return s}var Gd=(e,t,r,n="")=>l.gen(function*(){let o=yield*e.searchProcessDefinitionKeys(),s=G0(o);if(s===r.keySetHash)return{cache:r,crawled:!1,fetchedKeys:[]};let i=new Set(o),c=new Map;for(let[m,d]of r.xmlByKey)i.has(m)&&c.set(m,d);let u=[];for(let m of o){if(c.has(m))continue;let d=yield*e.getProcessDefinitionXml(m);c.set(m,d),u.push(m)}let f=Y0(o,c,t,n);return{cache:{keySetHash:s,xmlByKey:c,jobTypes:f},crawled:!0,fetchedKeys:u}});var $c={requestTimeoutMs:1e4,initialLockMs:15e3,emptyPollBackoffMs:0,maxBatchPerType:10},X0=(e,t,r,n)=>l.gen(function*(){for(;;){let o=yield*e.activate({type:t,maxJobsToActivate:r,requestTimeoutMs:n.requestTimeoutMs,lockMs:n.initialLockMs});if(o.length>0)return o;n.emptyPollBackoffMs>0&&(yield*l.sleep(ne.millis(n.emptyPollBackoffMs)))}}),Q0=(e,t)=>Math.min(Math.max(1,e),Math.max(1,t.maxBatchPerType)),Yd=(e,t,r)=>t.length===0?l.die(new Error("activateWinner: no serviceable-with-capacity types to poll")):l.raceAll(t.map(n=>X0(e,n.type,Q0(n.freeSlots,r),r)));var ev={workers:new Map};function tv(e,t,r){let n=new Map(e.workers),o=n.get(t);return n.set(t,{capability:r,jobKeys:o?.jobKeys??new Set}),{workers:n}}function rv(e,t){if(!e.workers.has(t))return e;let r=new Map(e.workers);return r.delete(t),{workers:r}}function nv(e,t,r){let n=new Map(e.workers),o=n.get(t),s=new Set(o?.jobKeys??[]);return s.add(r),n.set(t,{capability:o?.capability??{},jobKeys:s}),{workers:n}}function ov(e,t,r){let n=e.workers.get(t);if(!n||!n.jobKeys.has(r))return e;let o=new Map(e.workers),s=new Set(n.jobKeys);return s.delete(r),o.set(t,{capability:n.capability,jobKeys:s}),{workers:o}}function sv(e){let t=[];for(let[r,n]of e.workers)t.push({instance:r,capability:n.capability,jobKeys:[...n.jobKeys]});return t}function iv(e,t){let r=e.workers.get(t);return r?[...r.jobKeys]:[]}var Xd=(e=ev)=>l.gen(function*(){let t=yield*C.make(e);return{get:C.get(t),register:(r,n)=>C.update(t,o=>tv(o,r,n)),deregister:r=>C.update(t,n=>rv(n,r)),claim:(r,n)=>C.update(t,o=>nv(o,r,n)),release:(r,n)=>C.update(t,o=>ov(o,r,n)),snapshot:C.get(t).pipe(l.map(sv)),jobKeysFor:r=>C.get(t).pipe(l.map(n=>iv(n,r)))}}),zr=(e,t,r)=>e===void 0?l.void:e.pipe(l.catch(n=>l.sync(()=>t.debug?.(`agentic ${r} frame failed \u2014 ${n.message}`)))),Qd=(e,t,r=qe)=>{let n=(o,s)=>t.currentHandle.pipe(l.flatMap(i=>i?zr(o(i),r,s):l.void));return{ownership:e,register:(o,s)=>e.register(o,s).pipe(l.flatMap(()=>n(i=>i.register?.(o,s),"register"))),claim:(o,s)=>e.claim(o,s).pipe(l.flatMap(()=>n(i=>i.claim?.(o,s),"claim"))),transcript:(o,s,i)=>n(c=>c.transcript?.(o,s,i),"transcript"),release:(o,s)=>e.release(o,s).pipe(l.flatMap(()=>n(i=>i.release?.(o,s),"release")))}},em=(e,t,r,n)=>e.claim(t,r).pipe(l.flatMap(()=>n),l.ensuring(e.release(t,r))),tm=(e,t,r=qe)=>t.snapshot.pipe(l.flatMap(n=>l.forEach(n,o=>zr(e.register?.(o.instance,o.capability),r,"register").pipe(l.flatMap(()=>l.forEach(o.jobKeys,s=>zr(e.claim?.(o.instance,s),r,"claim"),{discard:!0}))),{discard:!0})));var jc={recoveryWindowMs:3e5,extendIntervalMs:6e4},qc=(e,t,r)=>l.gen(function*(){let{engine:n,runner:o,registry:s,logger:i,config:c,ownership:u}=e;return(yield*n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.as(!0),l.catch(m=>(i.warn(`[${t.type}] job ${t.jobKey}: winner extend failed (${m.message}) \u2014 not starting; slot released`),l.succeed(!1)))))?(yield*l.gen(function*(){let m=n.extendLock(t.jobKey,c.recoveryWindowMs).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: heartbeat extend failed \u2014 ${p.message}`)))),d=yield*l.forkChild(l.sleep(ne.millis(c.extendIntervalMs)).pipe(l.flatMap(()=>m),l.forever)),y=o.run(t).pipe(l.catch(p=>l.sync(()=>i.warn(`[${t.type}] job ${t.jobKey}: run failed \u2014 ${p.message}`))));yield*(u?em(u,r,t.jobKey,y):y).pipe(l.ensuring(ar.interrupt(d)))}).pipe(l.ensuring(s.releaseWorker(r))),{started:!0}):(yield*s.releaseWorker(r),{started:!1,reason:"extend-failed"})});function jn(e,t){return e.filter(r=>r.lockDeadlineMs>t)}function cv(e,t,r){let n=jn(e,r),o=n.findIndex(c=>t.has(c.job.type));if(o===-1)return{picked:null,rest:n};let s=n[o],i=n.filter((c,u)=>u!==o);return{picked:s,rest:i}}var rm=()=>l.gen(function*(){let e=yield*C.make([]);return{park:(t,r)=>Wt.currentTimeMillis.pipe(l.flatMap(n=>C.update(e,o=>[...jn(o,n),{job:t,lockDeadlineMs:n+r}]))),repark:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.update(e,n=>t.lockDeadlineMs>r?[...jn(n,r),t]:jn(n,r)))),takeFor:t=>Wt.currentTimeMillis.pipe(l.flatMap(r=>C.modify(e,n=>{let{picked:o,rest:s}=cv(n,t,r);return[o,s]}))),size:Wt.currentTimeMillis.pipe(l.flatMap(t=>C.updateAndGet(e,r=>jn(r,t))),l.map(t=>t.length))}});var Wc={reconnectBaseMs:500,reconnectMaxMs:3e4},nm=e=>Le.exponential(ne.millis(e.reconnectBaseMs)).pipe(Le.jittered,Le.modifyDelay(({duration:t})=>l.succeed(ne.min(t,ne.millis(e.reconnectMaxMs))))),av=(e,t,r=Wc)=>l.acquireRelease(e.connect().pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: connected"))),l.retry(nm(r))),n=>n.disconnect.pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: disconnected"))),l.ignore)),uI=(e,t,r,n=Wc)=>l.scoped(av(e,t,n).pipe(l.flatMap(r))),om=(e,t,r,n,o,s=Wc)=>l.gen(function*(){let i=l.acquireUseRelease(e.connect().pipe(l.retry(nm(s))),u=>C.set(r,u).pipe(l.tap(()=>l.sync(()=>t.debug?.("agentic: (re)connected \u2014 resyncing"))),l.flatMap(()=>n(u)),l.flatMap(()=>u.closed??l.never)),u=>C.set(r,null).pipe(l.flatMap(()=>u.disconnect.pipe(l.ignore)))),c=yield*l.forkChild(i.pipe(l.forever));return yield*o.pipe(l.ensuring(ar.interrupt(c)))});var dI=e=>({connect:()=>l.gen(function*(){let t=yield*l.try({try:e,catch:c=>new lt(c instanceof Error?c.message:"agentic connect failed",c)}),r=yield*Ye.make(),n=yield*Ye.make();if(t.onOpen(()=>{l.runSync(Ye.succeed(n,!0))}),t.onClose(()=>{l.runSync(Ye.succeed(n,!1)),l.runSync(Ye.succeed(r,void 0))}),!(yield*Ye.await(n)))return yield*l.fail(new lt("agentic connection closed before it opened"));let s=c=>l.try({try:c,catch:u=>new lt(u instanceof Error?u.message:"agentic frame send failed",u)});return{disconnect:l.sync(()=>t.close()),closed:Ye.await(r),register:(c,u)=>s(()=>t.register(c,u)),heartbeat:c=>s(()=>t.heartbeat(c)),deregister:(c,u)=>s(()=>t.deregister(c,u)),transcript:(c,u,f)=>s(()=>t.transcript(c,u,f)),...t.supportsClaimRelease?{claim:(c,u)=>s(()=>t.claim(c,u)),release:(c,u)=>s(()=>t.release(c,u))}:{},...t.supportsSteer?{onSteer:c=>s(()=>t.onSteer((u,f,m)=>l.runFork(c(u,f,m))))}:{}}})});var ur=e=>t=>t instanceof lt?t:new lt(t instanceof Error?t.message:e,t),gI=e=>({activate:t=>l.tryPromise({try:r=>Promise.resolve(e.activate(t,r)),catch:ur(`activate ${t.type} failed`)}),extendLock:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.extendLock(t,r)).then(()=>{}),catch:ur(`extendLock ${t} failed`)}),complete:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.complete(t,r)).then(()=>{}),catch:ur(`complete ${t} failed`)}),fail:(t,r)=>l.tryPromise({try:()=>Promise.resolve(e.fail(t,r)).then(()=>{}),catch:ur(`fail ${t} failed`)})}),yI=e=>({searchProcessDefinitionKeys:()=>l.tryPromise({try:()=>Promise.resolve(e.searchProcessDefinitionKeys()),catch:ur("searchProcessDefinitionKeys failed")}),getProcessDefinitionXml:t=>l.tryPromise({try:()=>Promise.resolve(e.getProcessDefinitionXml(t)),catch:ur(`getProcessDefinitionXml ${t} failed`)})}),bI=e=>({run:t=>l.tryPromise({try:()=>Promise.resolve(e.run(t)).then(()=>{}),catch:ur(`run ${t.jobKey} failed`)})}),uv=e=>{if(!e||typeof e.info!="function"||typeof e.warn!="function")return qe;let t=e.info.bind(e),r=e.warn.bind(e),n=typeof e.debug=="function"?e.debug.bind(e):()=>{};return{info:t,warn:r,debug:n}},SI=e=>{let t={engine:e.engine,runner:e.runner,registry:e.registry,reconcileReader:e.reconcileReader,scan:e.scan,logger:uv(e.logger)};return e.autoWorkerId!==void 0&&(t.autoWorkerId=e.autoWorkerId),e.agenticEndpoint!==void 0&&(t.agenticEndpoint=e.agenticEndpoint),e.agenticConfig!==void 0&&(t.agenticConfig=e.agenticConfig),e.config!==void 0&&(t.config=e.config),t};var ss={heartbeatIntervalMs:1e4},sm=(e,t=qe)=>{let r=(n,o)=>e.currentHandle.pipe(l.flatMap(s=>s?zr(n(s),t,o):l.void));return{register:(n,o)=>r(s=>s.register?.(n,o),"register"),heartbeat:n=>r(o=>o.heartbeat?.(n),"heartbeat"),deregister:(n,o)=>r(s=>s.deregister?.(n,o),"deregister")}};function fv(e,t){let r=[],n=[],o=new Set;for(let i of t)o.add(i.instance),(e.has(i.instance)?n:r).push(i);let s=[];for(let i of e)o.has(i)||s.push(i);return{appeared:r,present:n,departed:s}}var lv=(e,t,r)=>e.snapshot.pipe(l.flatMap(n=>C.get(r).pipe(l.flatMap(o=>{let{appeared:s,present:i,departed:c}=fv(o,n);return l.forEach(s,u=>t.register(u.instance,u.capability),{discard:!0}).pipe(l.flatMap(()=>l.forEach(i,u=>t.heartbeat(u.instance),{discard:!0})),l.flatMap(()=>l.forEach(c,u=>t.deregister(u),{discard:!0})),l.flatMap(()=>C.set(r,new Set(n.map(u=>u.instance)))))})))),im=(e,t,r=ss)=>C.make(new Set).pipe(l.flatMap(n=>lv(e,t,n).pipe(l.repeat(Le.spaced(ne.millis(r.heartbeatIntervalMs)))))),cm=(e=qe)=>C.make(new Map).pipe(l.map(t=>({route:(r,n,o)=>C.get(t).pipe(l.flatMap(s=>{let i=s.get(r);return i?i(n,o):l.sync(()=>e.debug?.(`steer: no sink for instance ${r} \u2014 dropped ${o.length}B`))})),register:(r,n)=>C.update(t,o=>new Map(o).set(r,n)),unregister:r=>C.update(t,n=>{let o=new Map(n);return o.delete(r),o})}))),am=(e,t,r=qe)=>zr(e.onSteer?.(t.route),r,"onSteer");var pv={activation:$c,dispatch:jc,reconcileIntervalMs:3e4,idleSpacingMs:1e3,presence:ss,scope:""},NI=e=>l.gen(function*(){let t=e.logger??qe,r={...pv,...e.config,activation:{...$c,...e.config?.activation},dispatch:{...jc,...e.config?.dispatch},presence:{...ss,...e.config?.presence}},n=yield*rm(),o=yield*C.make(Zd),s=yield*Xd(),i=yield*C.make(null),c={currentHandle:C.get(i)},u=Qd(s,c,t),f=sm(c,t),m=yield*cm(t),d={engine:e.engine,runner:e.runner,registry:e.registry,logger:t,config:r.dispatch,ownership:u},y=C.get(o).pipe(l.flatMap(g=>Gd(e.reconcileReader,e.scan,g,r.scope)),l.flatMap(g=>C.set(o,g.cache).pipe(l.flatMap(()=>e.autoWorkerId?e.registry.setTypes(e.autoWorkerId,g.cache.jobTypes):l.void))),l.catch(g=>l.sync(()=>t.warn(`reconcile skipped \u2014 ${g.message} (keeping current job-type set)`)))),p=e.registry.pollBatch.pipe(l.flatMap(g=>{if(g.length===0)return l.sleep(ne.millis(r.idleSpacingMs));let $e=new Set(g.map(K=>K.type)),X=K=>l.gen(function*(){for(let ee of K){let je=yield*e.registry.claim(ee.type);je?yield*l.forkChild(qc(d,ee,je)):yield*n.park(ee,r.activation.initialLockMs)}});return n.takeFor($e).pipe(l.flatMap(K=>K?e.registry.claim(K.job.type).pipe(l.flatMap(ee=>ee?l.forkChild(qc(d,K.job,ee)).pipe(l.asVoid):n.repark(K))):Yd(e.engine,g,r.activation).pipe(l.flatMap(ee=>X(ee)),l.catch(ee=>l.sync(()=>t.warn(`activation error \u2014 ${ee.message}`))))))})),I=l.gen(function*(){return yield*l.forkChild(y.pipe(l.repeat(Le.spaced(ne.millis(r.reconcileIntervalMs))))),e.agenticEndpoint&&(yield*l.forkChild(im(s,f,r.presence))),yield*p.pipe(l.forever)}),U=e.agenticEndpoint?om(e.agenticEndpoint,t,i,g=>tm(g,s,t).pipe(l.flatMap(()=>am(g,m,t))),I,e.agenticConfig):I;return{tick:p,reconcileOnce:y,run:U,parking:n,ownership:s,steerRouter:m,transcript:u.transcript,presence:f}});export{Wt as Clock,ne as Duration,l as Effect,ar as Fiber,C as Ref,Le as Schedule,lt as SupervisorError,B0 as acquire,av as acquireAgentic,Yd as activateWinner,W0 as addWorker,uv as asLogger,Q0 as batchSizeFor,nv as claimJob,$c as defaultActivationConfig,Wc as defaultAgenticConfig,jc as defaultDispatchConfig,ss as defaultPresenceConfig,pv as defaultSupervisorConfig,rv as deregisterWorker,fv as diffPresence,qc as dispatch,zr as emitFrame,Zd as emptyCache,ev as emptyOwnership,q0 as emptyRegistry,Jd as freeSlotsFor,G0 as hashKeys,am as installSteerRoute,iv as jobKeysForInstance,dI as makeAgenticEndpoint,gI as makeEngineClient,bI as makeJobRunner,Qd as makeOwnershipContext,Xd as makeOwnershipRegistry,rm as makeParkingLot,sm as makePresenceSink,yI as makeReconcileReader,VT as makeRegistry,cm as makeSteerRouter,NI as makeSupervisor,SI as makeSupervisorDeps,qe as noopLogger,Z0 as pickWorkerFor,im as projectPresence,lv as projectPresenceStep,jn as prune,Gd as reconcile,tv as registerWorker,K0 as release,ov as releaseJob,H0 as removeWorker,tm as resyncOwnership,Vd as serviceableTypes,z0 as setWorkerTypes,sv as snapshotOwnership,om as superviseAgentic,cv as takeValidFor,J0 as typesWithCapacity,V0 as typesWithSlots,uI as withAgenticConnection,em as withOwnedJob};