@cotal-ai/core 0.52.1 → 0.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.
Files changed (47) hide show
  1. package/dist/auth-provider.d.ts +10 -1
  2. package/dist/auth-provider.d.ts.map +1 -1
  3. package/dist/auth-provider.js.map +1 -1
  4. package/dist/endpoint-grants.d.ts +7 -2
  5. package/dist/endpoint-grants.d.ts.map +1 -1
  6. package/dist/endpoint-grants.js +11 -4
  7. package/dist/endpoint-grants.js.map +1 -1
  8. package/dist/endpoint-invoke.d.ts +22 -11
  9. package/dist/endpoint-invoke.d.ts.map +1 -1
  10. package/dist/endpoint-invoke.js +254 -84
  11. package/dist/endpoint-invoke.js.map +1 -1
  12. package/dist/endpoint-reconcile.d.ts +101 -0
  13. package/dist/endpoint-reconcile.d.ts.map +1 -0
  14. package/dist/endpoint-reconcile.js +203 -0
  15. package/dist/endpoint-reconcile.js.map +1 -0
  16. package/dist/endpoint-service.d.ts +12 -0
  17. package/dist/endpoint-service.d.ts.map +1 -1
  18. package/dist/endpoint-service.js +1 -1
  19. package/dist/endpoint-service.js.map +1 -1
  20. package/dist/endpoint-verbs.d.ts +1 -0
  21. package/dist/endpoint-verbs.d.ts.map +1 -1
  22. package/dist/endpoint-verbs.js +14 -6
  23. package/dist/endpoint-verbs.js.map +1 -1
  24. package/dist/endpoint.d.ts +33 -1
  25. package/dist/endpoint.d.ts.map +1 -1
  26. package/dist/endpoint.js +144 -13
  27. package/dist/endpoint.js.map +1 -1
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/provision.d.ts +3 -1
  33. package/dist/provision.d.ts.map +1 -1
  34. package/dist/provision.js +45 -1
  35. package/dist/provision.js.map +1 -1
  36. package/dist/remote-manager-authority.d.ts +36 -0
  37. package/dist/remote-manager-authority.d.ts.map +1 -1
  38. package/dist/remote-manager-authority.js.map +1 -1
  39. package/dist/run-driver-grants.d.ts +8 -7
  40. package/dist/run-driver-grants.d.ts.map +1 -1
  41. package/dist/run-driver-grants.js +12 -10
  42. package/dist/run-driver-grants.js.map +1 -1
  43. package/dist/secret-store.d.ts +39 -0
  44. package/dist/secret-store.d.ts.map +1 -1
  45. package/dist/secret-store.js +24 -0
  46. package/dist/secret-store.js.map +1 -1
  47. package/package.json +1 -1
@@ -22,6 +22,7 @@ import { openPublishDenialWatch } from "./endpoint-publish-denial.js";
22
22
  import { jetstreamManager } from "@nats-io/jetstream";
23
23
  import { EpEnvelopeError, EP_UNBOUND_RESPONDER, EP_UNANSWERED, renderLifecycleBlocked, lifecycleBlockedFrom } from "./endpoint-envelope.js";
24
24
  import { compileContract } from "./schema-profile.js";
25
+ import { parseGoalResultFact, } from "./endpoint-action.js";
25
26
  import { contractStoreContext, fetchContractClosure, contractRefToHex, contractArtifactDigestHex, } from "./endpoint-contract-store.js";
26
27
  import { parseClusterDocument } from "./endpoint-cluster.js";
27
28
  import { epCall, epScatterService } from "./endpoint-verbs.js";
@@ -62,6 +63,7 @@ const GOAL_FOLLOW_MARGIN_MS = 10_000;
62
63
  * must not be able to fail an honest describe), and the wait continues to the deadline.
63
64
  */
64
65
  export async function describeEndpoint(nc, space, endpoint, caller, opts = {}) {
66
+ opts.signal?.throwIfAborted();
65
67
  const deadlineMs = opts.deadlineMs ?? 10_000;
66
68
  const n = nonce();
67
69
  const requestId = nonce();
@@ -83,6 +85,11 @@ export async function describeEndpoint(nc, space, endpoint, caller, opts = {}) {
83
85
  let timer;
84
86
  let retryTimer;
85
87
  let denialWatch;
88
+ let onAbort;
89
+ const cancelled = new Promise((_, reject) => {
90
+ onAbort = () => reject(new EpEnvelopeError("unavailable", `describe(${endpoint}) observation cancelled`));
91
+ opts.signal?.addEventListener("abort", onAbort, { once: true });
92
+ });
86
93
  try {
87
94
  // REGISTER THE PERMISSION WATCH BEFORE THE PUBLISH IT IS WATCHING. See
88
95
  // {@link openPublishDenialWatch}: a refused publish is otherwise indistinguishable
@@ -134,7 +141,7 @@ export async function describeEndpoint(nc, space, endpoint, caller, opts = {}) {
134
141
  }, DESCRIBE_RETRY_MS);
135
142
  });
136
143
  const timeout = new Promise((_, reject) => { timer = setTimeout(() => reject(new EpEnvelopeError("deadline-exceeded", `no describe reply from ${endpoint} within ${deadlineMs}ms on the ${rail} rail`, [{ kind: EP_UNANSWERED, endpoint, command: "describe", rail }])), deadlineMs); });
137
- const { body: reply, responder } = await Promise.race([got, timeout, denialWatch.denied]);
144
+ const { body: reply, responder } = await Promise.race([got, timeout, denialWatch.denied, cancelled]);
138
145
  if (reply.ok !== true) {
139
146
  // A responder ANSWERED with a refusal: it is rethrown under the responder's own code (which
140
147
  // may be `unavailable`) and deliberately without the EP_UNANSWERED marker the deadline above
@@ -150,6 +157,8 @@ export async function describeEndpoint(nc, space, endpoint, caller, opts = {}) {
150
157
  clearTimeout(timer);
151
158
  if (retryTimer !== undefined)
152
159
  clearInterval(retryTimer);
160
+ if (onAbort)
161
+ opts.signal?.removeEventListener("abort", onAbort);
153
162
  // Release on EVERY exit, success included. See {@link openPublishDenialWatch}.
154
163
  denialWatch?.release();
155
164
  }
@@ -254,7 +263,10 @@ export async function resolveService(nc, space, endpoint, caller, opts = {}) {
254
263
  // that is the whole latency). Each closure walk is still internally sequential and its §13.7
255
264
  // bounds are still counted per walk — the concurrency is BETWEEN walks, so no limit is widened.
256
265
  const artifactMemo = new Map();
257
- const docs = await pooled(answer.descriptor.clusters, RESOLVE_MAX_INFLIGHT_READS, (cl) => fetchClusterDocument(store, cl.digest, artifactMemo));
266
+ const docs = await pooled(answer.descriptor.clusters, RESOLVE_MAX_INFLIGHT_READS, (cl) => {
267
+ opts.signal?.throwIfAborted();
268
+ return fetchClusterDocument(store, cl.digest, artifactMemo);
269
+ });
258
270
  // Flattened in DOCUMENT ORDER first, then resolved concurrently and inserted in that same order:
259
271
  // when two clusters declare one command name, last-in-document-order still wins, exactly as the
260
272
  // sequential form did. Concurrency must not make the resolved surface depend on read timing.
@@ -262,6 +274,7 @@ export async function resolveService(nc, space, endpoint, caller, opts = {}) {
262
274
  // Each command needs two closures, so the pool runs at half the read bound to keep the in-flight
263
275
  // read count under it.
264
276
  const resolved = await pooled(declared, Math.max(1, RESOLVE_MAX_INFLIGHT_READS >> 1), async (cmd) => {
277
+ opts.signal?.throwIfAborted();
265
278
  // Each command recompiles its OWN validators (cheap, CPU-only) even when two commands share a
266
279
  // closure digest: a compiled contract is not shared, only the artifact bytes behind it are.
267
280
  const [input, output] = await Promise.all([
@@ -277,6 +290,7 @@ export async function resolveService(nc, space, endpoint, caller, opts = {}) {
277
290
  capability: cmd.capability,
278
291
  };
279
292
  });
293
+ opts.signal?.throwIfAborted();
280
294
  const commands = new Map();
281
295
  for (const rc of resolved)
282
296
  commands.set(rc.command, rc);
@@ -366,6 +380,7 @@ export async function invokeCommand(nc, space, service, command, args, opts) {
366
380
  ...(opts.id !== undefined ? { id: opts.id } : {}),
367
381
  }, {
368
382
  deadlineMs: opts.deadlineMs ?? 10_000,
383
+ signal: opts.signal,
369
384
  currentEpoch: opts.currentEpoch ?? describeBound,
370
385
  // What the currency hook returns decides how a stale-epoch refusal is worded and marked: the
371
386
  // describe-bound default is this handle's own bind (a responder ahead of it is a successor and
@@ -373,103 +388,249 @@ export async function invokeCommand(nc, space, service, command, args, opts) {
373
388
  currencyReference: opts.currentEpoch ? "registry" : "bind",
374
389
  });
375
390
  }
376
- /** Submit an ACTION command and FOLLOW its goal to the terminal (P2 item 2, 2b): since 2a a
377
- * spawn/launch reply is the ACCEPTANCE (returned before the agent is live), so a consumer that
378
- * wants the old block-until-outcome behaviour follows the caller-scoped progress subtree to the
379
- * terminal here. The subscription opens BEFORE `submit` runs (a fast join could terminalize within
380
- * milliseconds of the acceptance), buffering terminals by goalId. The reply is then RESOLVED from
381
- * the terminal: `succeeded` → the terminal's data (today's live reply — name/id/role/agent/mode/
382
- * lifecycleUid), `failed`/`uncertain`/`cancelled` → a non-ok reply carrying the cause. A reply with
383
- * NO goalId (a refuse-at-accept, or a non-action command) passes through unchanged. UX is preserved:
384
- * the call still returns on the real outcome. The caller needs the per-goal progress read row
385
- * ({@link epGoalProgressGrantRow}) — minted with any goal-bearing capability. */
386
- export async function submitAndFollowGoal(nc, space, endpoint, caller, deadlineMs, submit) {
391
+ /** Subscribe before a single submission, then observe its accepted goal through live progress and
392
+ * mediated canonical reads. Local failures before an attributed reply throw; they never invent a
393
+ * responder. Once accepted, observation failures retain that responder and never authorize retry. */
394
+ export async function submitAndFollowGoal(nc, space, endpoint, caller, deadlineMs, submit, opts) {
395
+ if (!Number.isSafeInteger(deadlineMs) || deadlineMs <= 0)
396
+ throw new EpEnvelopeError("bad-request", "goal following requires a positive integer deadline", undefined, "not-executed");
397
+ const acceptingCaller = { ...caller };
387
398
  const terminals = new Map();
388
- const waiters = new Map();
389
- const progressSubject = epGoalProgressGrantRow(space, endpoint, caller);
390
- // A SUBSCRIPTION ERROR IS NOT ABSENCE OF NEWS, AND IT MUST NOT BE DISCARDED. If the broker
391
- // refuses this subscription the caller can never hear ANY terminal for this goal - success as
392
- // readily as failure - so waiting out the deadline reports "no terminal arrived" about a goal
393
- // whose terminal may have been committed on time. Measured (#610): the manager bound the goal,
394
- // earned ownership, committed the terminal and emitted it, while the caller sat denied and then
395
- // printed a timeout. The broker's own wording for this is "a denied peer looks absent", which is
396
- // exactly the confusion, and the operator response to the two is opposite: a timeout invites a
397
- // retry (which duplicates the effect), a denial requires a grant.
399
+ const progressSubject = epGoalProgressGrantRow(space, endpoint, acceptingCaller);
400
+ const work = new AbortController();
401
+ const timers = new Set();
402
+ let activeNc = nc;
403
+ let activeSub;
404
+ let generation = 0;
405
+ let unbindReconnect;
406
+ let completed = false;
407
+ let stopped = opts?.signal?.aborted === true;
408
+ let submitted = false;
398
409
  let subError;
399
- const sub = nc.subscribe(progressSubject, {
400
- callback: (err, m) => {
401
- if (err) {
402
- // Keep the FIRST error (later ones are consequences) and wake every waiter: once this
403
- // subscription is refused, no further waiting can change the answer.
404
- subError ??= err instanceof Error ? err : new Error(String(err));
405
- for (const wake of waiters.values())
406
- wake();
407
- return;
410
+ let observationError;
411
+ let wake;
412
+ let abortPhase;
413
+ let needsReconcile = false;
414
+ let reading = false;
415
+ let progressReady = false;
416
+ const aborted = new Promise((resolve) => { abortPhase = resolve; });
417
+ const onAbort = () => {
418
+ stopped = true;
419
+ work.abort();
420
+ abortPhase?.();
421
+ wake?.();
422
+ };
423
+ const phaseError = (code) => new EpEnvelopeError(code, submitted
424
+ ? "the goal submission was interrupted while in flight; its outcome is unknown. It may have been accepted or executed; do NOT retry without inspecting 'ps'/'inspect' first (SPEC 13.6)"
425
+ : "goal observation stopped or exceeded its deadline before submission; the manager request WAS NOT RUN", undefined, submitted ? "unknown" : "not-executed");
426
+ let deadline = Date.now() + deadlineMs;
427
+ const bounded = async (operation, until) => {
428
+ if (stopped || completed)
429
+ throw phaseError("unavailable");
430
+ const remaining = until - Date.now();
431
+ if (remaining <= 0)
432
+ throw phaseError("deadline-exceeded");
433
+ let timer;
434
+ try {
435
+ return await Promise.race([
436
+ operation(),
437
+ aborted.then(() => { throw phaseError("unavailable"); }),
438
+ new Promise((_, reject) => {
439
+ timer = setTimeout(() => reject(phaseError("deadline-exceeded")), Math.min(remaining, 2_147_483_647));
440
+ timers.add(timer);
441
+ }),
442
+ ]);
443
+ }
444
+ finally {
445
+ if (timer !== undefined) {
446
+ clearTimeout(timer);
447
+ timers.delete(timer);
408
448
  }
409
- let ev;
449
+ }
450
+ };
451
+ const subscribe = (next) => {
452
+ if (completed || stopped)
453
+ return;
454
+ const mine = ++generation;
455
+ activeSub?.unsubscribe();
456
+ activeNc = next;
457
+ progressReady = false;
458
+ subError = undefined;
459
+ activeSub = next.subscribe(progressSubject, {
460
+ callback: (err, msg) => {
461
+ if (completed || stopped || mine !== generation)
462
+ return;
463
+ if (err) {
464
+ subError ??= err;
465
+ wake?.();
466
+ return;
467
+ }
468
+ let ev;
469
+ try {
470
+ ev = JSON.parse(dec.decode(msg.data));
471
+ }
472
+ catch {
473
+ return;
474
+ }
475
+ if (ev?.phase === "terminal" && typeof ev.goalId === "string") {
476
+ terminals.set(ev.goalId, { state: String(ev.state), data: ev.data });
477
+ wake?.();
478
+ }
479
+ },
480
+ });
481
+ };
482
+ const replaceConnection = (next) => {
483
+ if (completed || stopped)
484
+ return;
485
+ try {
486
+ subscribe(next);
487
+ }
488
+ catch (err) {
489
+ subError = err instanceof Error ? err : new Error(String(err));
490
+ wake?.();
491
+ return;
492
+ }
493
+ const mine = generation;
494
+ void bounded(() => next.flush(), deadline).then(() => {
495
+ if (completed || stopped || mine !== generation)
496
+ return;
497
+ progressReady = true;
498
+ needsReconcile = true;
499
+ wake?.();
500
+ }, (err) => {
501
+ if (completed || stopped || mine !== generation)
502
+ return;
503
+ subError = err instanceof Error ? err : new Error(String(err));
504
+ wake?.();
505
+ });
506
+ };
507
+ try {
508
+ opts?.signal?.addEventListener("abort", onAbort, { once: true });
509
+ if (stopped)
510
+ throw phaseError("unavailable");
511
+ subscribe(opts?.currentNc?.() ?? nc);
512
+ unbindReconnect = opts?.onReconnect?.(replaceConnection);
513
+ // A borrowed submit can publish on another connection. Confirm broker interest first,
514
+ // including a replacement that arrived while the first connection's flush was pending.
515
+ for (;;) {
516
+ const preparing = activeNc;
410
517
  try {
411
- ev = JSON.parse(dec.decode(m.data));
518
+ await bounded(() => preparing.flush(), deadline);
412
519
  }
413
- catch {
414
- return;
520
+ catch (err) {
521
+ if (!stopped && preparing !== activeNc)
522
+ continue;
523
+ throw err;
415
524
  }
416
- if (ev && ev.phase === "terminal" && typeof ev.goalId === "string") {
417
- terminals.set(ev.goalId, { state: String(ev.state), data: ev.data });
418
- waiters.get(ev.goalId)?.();
525
+ if (stopped)
526
+ throw phaseError("unavailable");
527
+ const current = opts?.currentNc?.();
528
+ if (current && current !== activeNc)
529
+ subscribe(current);
530
+ if (preparing === activeNc) {
531
+ progressReady = true;
532
+ break;
419
533
  }
420
- },
421
- });
422
- try {
423
- const attributed = await submit();
534
+ }
535
+ if (stopped)
536
+ throw phaseError("unavailable");
537
+ submitted = true;
538
+ let attributed;
539
+ try {
540
+ attributed = await bounded(() => submit(work.signal), deadline);
541
+ }
542
+ catch (err) {
543
+ if (stopped)
544
+ throw phaseError("unavailable");
545
+ if (err instanceof EpEnvelopeError && err.outcome === "not-executed")
546
+ throw err;
547
+ throw new EpEnvelopeError(err instanceof EpEnvelopeError ? err.code : "unavailable", `${err instanceof Error ? err.message : String(err)}; the submission outcome is unknown. It may have been accepted or executed; do NOT retry without inspecting 'ps'/'inspect' first (SPEC 13.6)`, undefined, "unknown");
548
+ }
424
549
  if (attributed.reply.ok !== true)
425
- return attributed; // refuse at accept — surface as-is
550
+ return attributed;
426
551
  const acceptance = attributed.reply.data;
427
552
  const goalId = acceptance?.goalId;
428
553
  if (typeof goalId !== "string")
429
- return attributed; // not an action reply — pass through
430
- // A bounded action's owner chooses its readiness budget at acceptance. The follow must outlive
431
- // THAT accepted budget, not only the caller's generic request window: otherwise a connector can
432
- // lawfully still be booting when its caller reports a timeout and invites a duplicate retry.
433
- // Keep the explicit caller deadline as a floor for commands whose acceptance carries no bound.
554
+ return attributed;
555
+ const acceptedFingerprint = typeof acceptance?.fingerprint === "string" ? acceptance.fingerprint : undefined;
434
556
  const readinessDeadlineMs = acceptance?.readinessDeadlineMs;
435
557
  const followDeadlineMs = typeof readinessDeadlineMs === "number"
436
558
  && Number.isSafeInteger(readinessDeadlineMs) && readinessDeadlineMs >= 0
437
- ? Math.max(deadlineMs, readinessDeadlineMs + GOAL_FOLLOW_MARGIN_MS)
438
- : deadlineMs;
439
- // A denial that has ALREADY arrived must not be waited out: it is knowable now, and holding the
440
- // caller to its deadline is what turns a grant problem into a retry (the cell that caught this
441
- // measured 20004ms of a 20000ms budget with the right message attached to it).
442
- const terminal = terminals.get(goalId) ?? (subError !== undefined ? undefined : await new Promise((resolve) => {
443
- const t = setTimeout(() => resolve(terminals.get(goalId)), followDeadlineMs);
444
- waiters.set(goalId, () => { clearTimeout(t); resolve(terminals.get(goalId)); });
445
- }));
446
- if (terminal === undefined && subError !== undefined) {
447
- // THE DISTINCT, ACTIONABLE FAILURE (#610). Deliberately NOT the deadline message below: this
448
- // caller was never listening, so "no terminal arrived" would be a statement about the goal
449
- // when the true statement is about this credential.
450
- //
451
- // SURFACING IS FOR EVERY ERROR; ONLY THE DIAGNOSIS IS NARROWED. Whether the subscription
452
- // failed is knowable from `err` being present, so that decision must never key on the error's
453
- // class: narrowing the SURFACE would re-create this very defect for every other class, which
454
- // would fall back through to the silent timeout. What may key on the class is the CAUSE and
455
- // the REMEDY, because "the broker refused your grant, ask for the row" is a specific claim
456
- // and it is false for a transport failure. So an unrecognized class stays loud and says less,
457
- // and never degrades to silence.
458
- const refused = subError instanceof PermissionViolationError;
459
- return { ...attributed, reply: { ...attributed.reply, ok: false, data: undefined, error: refused
460
- ? { code: "permission-denied", message: `the goal "${goalId}" was accepted, but this caller is NOT PERMITTED to hear its outcome: the broker refused the per-goal progress subscription "${progressSubject}" (${subError.message}). THE GOAL IS UNAFFECTED - it may already have succeeded, and its terminal may have been committed on time; what failed is this credential's ability to observe it. Do NOT retry: a retry submits a second goal and duplicates the effect, and it will be just as unobservable. Read the outcome with 'ps'/'inspect', and grant this caller the per-goal progress read row so a following call can hear its own goal (SPEC 13.6)` }
461
- : { code: "unavailable", message: `the goal "${goalId}" was accepted, but this caller's per-goal progress subscription "${progressSubject}" FAILED, so it cannot hear the outcome (${subError.name}: ${subError.message}). THE GOAL IS UNAFFECTED - it may already have succeeded, and its terminal may have been committed on time; what failed is this connection's ability to observe it. This is NOT a grant refusal, so changing ACLs is the wrong remedy. Do NOT retry: a retry submits a second goal and duplicates the effect. Read the outcome with 'ps'/'inspect' (SPEC 13.6)` } } };
559
+ ? Math.max(deadlineMs, readinessDeadlineMs + GOAL_FOLLOW_MARGIN_MS) : deadlineMs;
560
+ deadline = Date.now() + followDeadlineMs;
561
+ const reconcileAt = deadline - Math.min(deadlineMs, followDeadlineMs / 2);
562
+ let finalReadRequested = false;
563
+ const reconcile = async () => {
564
+ if (!opts?.reconcile || completed || stopped || reading || !progressReady)
565
+ return;
566
+ reading = true;
567
+ needsReconcile = false;
568
+ try {
569
+ const result = await opts.reconcile(goalId, attributed, {
570
+ caller: { ...acceptingCaller }, signal: work.signal, deadlineMs: Math.max(1, deadline - Date.now()),
571
+ });
572
+ if (completed || stopped || Date.now() >= deadline)
573
+ return;
574
+ if (!result || typeof result !== "object" || result.goalId !== goalId)
575
+ throw new EpEnvelopeError("internal", "goal-result reply is malformed or names a different goal; it cannot authorize this outcome (SPEC 13.6)");
576
+ if (result.result !== undefined) {
577
+ const ref = { endpoint, caller: acceptingCaller, goalId };
578
+ const fact = parseGoalResultFact(result.result, "goal-result reply", ref);
579
+ if (acceptedFingerprint !== undefined && fact.fingerprint !== acceptedFingerprint)
580
+ throw new EpEnvelopeError("internal", "goal result fingerprint does not match the accepted goal (SPEC 13.6)");
581
+ terminals.set(goalId, { state: fact.state, data: fact.data });
582
+ }
583
+ }
584
+ catch (err) {
585
+ if (!completed && !stopped && Date.now() < deadline)
586
+ observationError = err instanceof Error ? err : new Error(String(err));
587
+ }
588
+ finally {
589
+ reading = false;
590
+ if (!completed && !stopped)
591
+ wake?.();
592
+ }
593
+ };
594
+ const current = opts?.currentNc?.();
595
+ if (current && current !== activeNc && !stopped)
596
+ replaceConnection(current);
597
+ needsReconcile = true; // Also covers a terminal lost before the acceptance arrived.
598
+ while (!terminals.has(goalId) && !stopped && !observationError && !subError && Date.now() < deadline) {
599
+ if (!finalReadRequested && Date.now() >= reconcileAt) {
600
+ finalReadRequested = true;
601
+ needsReconcile = true;
602
+ }
603
+ if (needsReconcile && !reading)
604
+ void reconcile();
605
+ if (terminals.has(goalId) || stopped || observationError || subError)
606
+ break;
607
+ await new Promise((resolve) => {
608
+ const until = finalReadRequested ? deadline : reconcileAt;
609
+ const timer = setTimeout(() => { timers.delete(timer); wake = undefined; resolve(); }, Math.max(0, Math.min(until - Date.now(), 2_147_483_647)));
610
+ timers.add(timer);
611
+ wake = () => { clearTimeout(timer); timers.delete(timer); wake = undefined; resolve(); };
612
+ });
462
613
  }
463
- if (terminal === undefined)
464
- // WHAT THIS PROVED: nothing about the goal. The goal was ACCEPTED (the submit above returned
465
- // ok); only its terminal did not arrive here in time, which a slow runtime or a dropped
466
- // progress subscription produces just as readily as a real failure. Observed live: seats that
467
- // reported this had already come up and were messaging peers. So say the deadline is about
468
- // the WAIT, not the work, and warn about the one action that turns a false negative into real
469
- // damage: a retry, which submits a SECOND goal and duplicates whatever the first one did.
470
- return { ...attributed, reply: { ...attributed.reply, ok: false, data: undefined, error: { code: "deadline-exceeded", message: `the goal "${goalId}" was accepted but produced no terminal within ${followDeadlineMs}ms; this is a timeout on the WAIT, not evidence the goal failed - it may already have succeeded, and may still succeed. Read its outcome with 'ps'/'inspect' before acting; do NOT retry on this alone, a retry submits a second goal and duplicates the effect (SPEC 13.6)` } } };
614
+ const terminal = terminals.get(goalId);
615
+ const observationFailure = (code, reason) => ({
616
+ ...attributed,
617
+ reply: { ...attributed.reply, ok: false, data: undefined, error: {
618
+ code, outcome: "unknown",
619
+ message: `the goal "${goalId}" was accepted, but ${reason}. THE GOAL IS UNAFFECTED - it may already have succeeded; this is not evidence the goal failed. Do NOT retry: another submission could duplicate the effect. Inspect 'ps'/'inspect' first (SPEC 13.6)`,
620
+ } },
621
+ });
622
+ if (stopped)
623
+ return observationFailure("unavailable", "the endpoint was stopped while awaiting its outcome");
624
+ if (observationError)
625
+ return observationFailure("unavailable", `following its outcome failed: ${observationError.message}`);
626
+ if (!terminal && subError)
627
+ return subError instanceof PermissionViolationError
628
+ ? observationFailure("permission-denied", `this caller is NOT PERMITTED to hear its outcome: the broker refused the per-goal progress subscription \"${progressSubject}\" (${subError.message}); grant this caller the per-goal progress read row`)
629
+ : observationFailure("unavailable", `the per-goal progress subscription \"${progressSubject}\" FAILED (${subError.name}: ${subError.message}); this is NOT a grant refusal, so changing ACLs is the wrong remedy`);
630
+ if (!terminal)
631
+ return observationFailure("deadline-exceeded", `no terminal arrived within ${followDeadlineMs}ms; this is a timeout on the WAIT`);
471
632
  if (terminal.state === "succeeded")
472
- return { ...attributed, reply: { ...attributed.reply, ok: true, ...(terminal.data !== undefined ? { data: terminal.data } : { data: undefined }), error: undefined } };
633
+ return { ...attributed, reply: { ...attributed.reply, ok: true, data: terminal.data, error: undefined } };
473
634
  const d = (terminal.data ?? {});
474
635
  const raw = typeof d.error === "string" ? d.error : typeof d.reason === "string" ? d.reason : `the goal settled ${terminal.state}`;
475
636
  const details = Array.isArray(d.details) ? d.details : undefined;
@@ -479,7 +640,16 @@ export async function submitAndFollowGoal(nc, space, endpoint, caller, deadlineM
479
640
  return { ...attributed, reply: { ...attributed.reply, ok: false, data: undefined, error: { code: terminal.state, message, ...(merged ? { details: merged } : {}) } } };
480
641
  }
481
642
  finally {
482
- sub.unsubscribe();
643
+ completed = true;
644
+ opts?.signal?.removeEventListener("abort", onAbort);
645
+ unbindReconnect?.();
646
+ activeSub?.unsubscribe();
647
+ for (const timer of timers)
648
+ clearTimeout(timer);
649
+ timers.clear();
650
+ wake = undefined;
651
+ work.abort();
652
+ abortPhase?.();
483
653
  }
484
654
  }
485
655
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-invoke.js","sourceRoot":"","sources":["../src/endpoint-invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAA0C,MAAM,yBAAyB,CAAC;AAC3G,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,yBAAyB,GAExF,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAA+B,MAAM,wBAAwB,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,EAAE,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AACvD,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClE;;;8FAG8F;AAC9F,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;oEAEoE;AACpE,SAAS,UAAU,CAAC,CAAU,EAAE,QAAgB;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;gFAEgF;AAChF,MAAM,qBAAqB,GAAG,MAAM,CAAC;AA+BrC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAkB,EAClB,KAAa,EACb,QAAgB,EAChB,MAAgB,EAChB,OAAqD,EAAE;IAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC;IAC7C,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAC1B,kGAAkG;IAClG,mGAAmG;IACnG,mEAAmE;IACnE,MAAM,KAAK,GAAY,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACvH,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,+FAA+F;IAC/F,6GAA6G;IAC7G,0GAA0G;IAC1G,gGAAgG;IAChG,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG;QACV,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW;QAC9E,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE;KACrG,CAAC;IACF,IAAI,GAA6B,CAAC;IAClC,IAAI,KAAgD,CAAC;IACrD,IAAI,UAAsD,CAAC;IAC3D,IAAI,WAAoE,CAAC;IACzE,IAAI,CAAC;QACH,uEAAuE;QACvE,mFAAmF;QACnF,+BAA+B;QAC/B,WAAW,GAAG,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAC7F,oBAAoB,QAAQ,0GAA0G,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,IAAI,CAAC,UAAU,kGAAkG,CAAC,CAAC,CAAC,EAAE,oFAAoF,CAAC,EAAE,UAAU,CAAC,CAAC;QACva,MAAM,GAAG,GAAG,IAAI,OAAO,CAAsF,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/H,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;gBACrD,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBACrB,IAAI,GAAG,EAAE,CAAC;wBAAC,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,EAAE,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACtH,qFAAqF;oBACrF,sFAAsF;oBACtF,mFAAmF;oBACnF,uFAAuF;oBACvF,yEAAyE;oBACzE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;wBAAE,OAAO;oBACtG,mFAAmF;oBACnF,8EAA8E;oBAC9E,IAAI,KAAK,CAAC;oBACV,IAAI,CAAC;wBAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBACrE,MAAM,CAAC;wBAAC,OAAO;oBAAC,CAAC,CAAC,6EAA6E;oBAC/F,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;wBAAE,OAAO;oBACnC,OAAO,CAAC,EAAE,IAAI,EAAE,KAA2C,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpI,CAAC;aACF,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,4FAA4F;YAC5F,+FAA+F;YAC/F,4FAA4F;YAC5F,+FAA+F;YAC/F,gFAAgF;YAChF,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC;oBAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAAC,CAAC;gBACrC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,EAAE,0BAA0B,QAAQ,uBAAuB,UAAU,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClJ,CAAC;YACH,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,0BAA0B,QAAQ,WAAW,UAAU,aAAa,IAAI,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChS,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1F,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACtB,4FAA4F;YAC5F,6FAA6F;YAC7F,4FAA4F;YAC5F,MAAM,CAAC,GAAG,KAAK,CAAC,KAAwD,CAAC;YACzE,MAAM,IAAI,eAAe,CAAE,CAAC,EAAE,IAAc,IAAI,aAAa,EAAE,YAAY,QAAQ,aAAa,CAAC,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;QAC7H,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAiC,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;YAAS,CAAC;QACT,GAAG,EAAE,WAAW,EAAE,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,SAAS;YAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,+EAA+E;QAC/E,WAAW,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;iFAEiF;AACjF,KAAK,UAAU,oBAAoB,CAAC,KAA2B,EAAE,aAAqB,EAAE,YAA2B;IACjH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1I,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,SAAS;QACzB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,wBAAwB,aAAa,eAAe,QAAQ,CAAC,IAAI,uEAAuE,CAAC,CAAC;IAC7L,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;0FAE0F;AAC1F,KAAK,UAAU,gBAAgB,CAAC,KAA2B,EAAE,aAAqB,EAAE,YAA2B;IAC7G,+FAA+F;IAC/F,gGAAgG;IAChG,wEAAwE;IACxE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrK,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS;QAAE,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS;QACpB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,kBAAkB,aAAa,wBAAwB,OAAO,cAAc,CAAC,CAAC;IACjI,6FAA6F;IAC7F,mDAAmD;IACnD,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,IAAI,GAAG,KAAK,OAAO;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpG,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,aAAa,KAAK,aAAa;QAC1C,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,2CAA2C,QAAQ,CAAC,aAAa,qBAAqB,aAAa,oEAAoE,CAAC,CAAC;IACjN,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;uFAEuF;AACvF,SAAS,iBAAiB,CAAC,KAAiB;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;QAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;iGAIiG;AACjG,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC;mGACmG;AACnG,KAAK,UAAU,MAAM,CAAO,KAAmB,EAAE,KAAa,EAAE,IAA6B;IAC3F,MAAM,GAAG,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,SAAS,CAAC;YACR,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,GAAG,CAAC;AACb,CAAC;AAQD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAkB,EAClB,KAAa,EACb,QAAgB,EAChB,MAAgB,EAChB,OAAqD,EAAE;IAEvD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,iGAAiG;IACjG,gGAAgG;IAChG,8FAA8F;IAC9F,6FAA6F;IAC7F,gGAAgG;IAChG,MAAM,YAAY,GAAiB,IAAI,GAAG,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,0BAA0B,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAChJ,iGAAiG;IACjG,gGAAgG;IAChG,6FAA6F;IAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAC/I,iGAAiG;IACjG,uBAAuB;IACvB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAA4B,EAAE;QAC5H,8FAA8F;QAC9F,4FAA4F;QAC5F,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC;YACtD,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;SACxD,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,KAAK,MAAM,EAAE,IAAI,QAAQ;QAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChM,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAkB,EAClB,KAAa,EACb,OAAwB,EACxB,OAAe,EACf,IAAyC,EACzC,IAOC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QACxB,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,YAAY,OAAO,eAAe,OAAO,CAAC,QAAQ,sCAAsC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC/L,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAChD,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,YAAY,OAAO,yBAAyB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QACjD,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,YAAY,OAAO,oDAAoD,CAAC,CAAC;IACpH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,6FAA6F;IAC7F,wFAAwF;IACxF,yFAAyF;IACzF,6FAA6F;IAC7F,4FAA4F;IAC5F,mFAAmF;IACnF,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3G,QAAQ,GAAG,EAAE,CAAC;IAChB,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAU,EAAE;QACnD,IAAI,UAAU,KAAK,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAChD,0FAA0F;YAC1F,yEAAyE;YACzE,EAAE;YACF,sFAAsF;YACtF,EAAE;YACF,4FAA4F;YAC5F,4FAA4F;YAC5F,8FAA8F;YAC9F,6FAA6F;YAC7F,2FAA2F;YAC3F,4FAA4F;YAC5F,4FAA4F;YAC5F,yFAAyF;YACzF,0FAA0F;YAC1F,yFAAyF;YACzF,iFAAiF;YACjF,4FAA4F;YAC5F,0FAA0F;YAC1F,qFAAqF;YACrF,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACrF,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,aAAa,UAAU,0CAA0C,OAAO,CAAC,gBAAgB,iEAAiE,UAAU,+CAA+C,OAAO,uFAAuF;gBAC1U,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,aAAa,UAAU,kEAAkE,OAAO,CAAC,SAAS,CAAC,UAAU,+QAA+Q,UAAU,wIAAwI,OAAO,oMAAoM,EAC1vB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1L,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;IACjC,CAAC,CAAC;IACF,uGAAuG;IACvG,qGAAqG;IACrG,kGAAkG;IAClG,6FAA6F;IAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,KAAK,SAAS;QAClD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,UAAU,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;QACjG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,CAAC;IAC7B,4FAA4F;IAC5F,8FAA8F;IAC9F,wFAAwF;IACxF,gGAAgG;IAChG,iGAAiG;IACjG,6FAA6F;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;QAC1C,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;QAC1G,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;QACxE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,EAAE;QACD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,aAAa;QAChD,6FAA6F;QAC7F,+FAA+F;QAC/F,iGAAiG;QACjG,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;KAC3D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;kFASkF;AAClF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAkB,EAClB,KAAa,EACb,QAAgB,EAChB,MAAgB,EAChB,UAAkB,EAClB,MAAwC;IAExC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6C,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxE,2FAA2F;IAC3F,8FAA8F;IAC9F,8FAA8F;IAC9F,+FAA+F;IAC/F,gGAAgG;IAChG,iGAAiG;IACjG,+FAA+F;IAC/F,kEAAkE;IAClE,IAAI,QAA2B,CAAC;IAChC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE;QACxC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,GAAG,EAAE,CAAC;gBACR,sFAAsF;gBACtF,qEAAqE;gBACrE,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE;oBAAE,IAAI,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,IAAI,EAA0E,CAAC;YAC/E,IAAI,CAAC;gBAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9D,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC,CAAC,mCAAmC;QACxF,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAuE,CAAC;QAC5G,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;QAClC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,CAAC,qCAAqC;QACxF,+FAA+F;QAC/F,gGAAgG;QAChG,6FAA6F;QAC7F,+FAA+F;QAC/F,MAAM,mBAAmB,GAAG,UAAU,EAAE,mBAAmB,CAAC;QAC5D,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,KAAK,QAAQ;eAC3D,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;YACnE,CAAC,CAAC,UAAU,CAAC;QACf,gGAAgG;QAChG,+FAA+F;QAC/F,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAgD,CAAC,OAAO,EAAE,EAAE;YAC3J,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrD,6FAA6F;YAC7F,2FAA2F;YAC3F,oDAAoD;YACpD,EAAE;YACF,yFAAyF;YACzF,8FAA8F;YAC9F,6FAA6F;YAC7F,4FAA4F;YAC5F,2FAA2F;YAC3F,8FAA8F;YAC9F,iCAAiC;YACjC,MAAM,OAAO,GAAG,QAAQ,YAAY,wBAAwB,CAAC;YAC7D,OAAO,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO;wBAC9F,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,MAAM,gIAAgI,eAAe,MAAM,QAAQ,CAAC,OAAO,maAAma,EAAE;wBACroB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,MAAM,qEAAqE,eAAe,4CAA4C,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,iWAAiW,EAAE,EAAE,EAAE,CAAC;QACnkB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS;YACxB,6FAA6F;YAC7F,wFAAwF;YACxF,8FAA8F;YAC9F,2FAA2F;YAC3F,8FAA8F;YAC9F,0FAA0F;YAC1F,OAAO,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,MAAM,kDAAkD,gBAAgB,6QAA6Q,EAAE,EAAE,EAAE,CAAC;QAC1e,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW;YAChC,OAAO,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;QACzK,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAA6D,CAAC;QAC5F,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnI,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAwD,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACzK,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAkB,EAClB,KAAa,EACb,OAAwB,EACxB,OAAe,EACf,IAAyC,EACzC,IAMC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QACxB,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,YAAY,OAAO,eAAe,OAAO,CAAC,QAAQ,sCAAsC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC/L,IAAI,QAAQ,CAAC,QAAQ;QACnB,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,YAAY,OAAO,4GAA4G,CAAC,CAAC;IAC5K,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;QACxC,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,6DAA6D,OAAO,CAAC,gBAAgB,uEAAuE,CAAC,CAAC;IACzM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,kGAAkG;IAClG,iGAAiG;IACjG,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3G,QAAQ,GAAG,EAAE,CAAC;IAChB,gGAAgG;IAChG,+FAA+F;IAC/F,gGAAgG;IAChG,yDAAyD;IACzD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,OAAO,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;QACxE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,yBAAyB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"endpoint-invoke.js","sourceRoot":"","sources":["../src/endpoint-invoke.ts"],"names":[],"mappings":"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"}