@theokit/agents 7.4.0 → 7.4.1

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.
@@ -132,8 +132,8 @@ function generatorToStream(gen) {
132
132
  });
133
133
  }
134
134
  var ApprovalAbortedError = class extends Error {
135
- constructor(approvalId, motivo) {
136
- super(`Aprova\xE7\xE3o '${approvalId}' descartada: ${motivo}.`);
135
+ constructor(approvalId, reason) {
136
+ super(`Approval '${approvalId}' discarded: ${reason}.`);
137
137
  this.approvalId = approvalId;
138
138
  this.name = "ApprovalAbortedError";
139
139
  }
@@ -142,33 +142,33 @@ var ApprovalAbortedError = class extends Error {
142
142
  var InProcessTransport = class {
143
143
  #run;
144
144
  /**
145
- * Aprovações inline estacionadas: `approvalId` → como resolver **ou rejeitar** a promessa parada.
145
+ * Parked inline approvals: `approvalId` → how to resolve **or reject** the stalled promise.
146
146
  *
147
- * M92 — o `reject` entrou junto com a eviction. Antes havia o `resolve`, e nada apagava a entrada
148
- * quando o turno abortava: a promessa ficava pendente **para sempre**, e a chamada de tool do SDK
149
- * pendurava com ela. Uma promessa que nunca resolve **nem** rejeita é a forma mais silenciosa de
150
- * engolir um erro nem stack trace existe (`error-handling.md § 2`).
147
+ * M92 — `reject` arrived together with the eviction. Before there was only `resolve`, and nothing
148
+ * erased the entry when the turn aborted: the promise stayed pending **forever**, and the SDK tool
149
+ * call hung with it. A promise that neither resolves **nor** rejects is the quietest way to swallow
150
+ * an errornot even a stack trace exists (`error-handling.md § 2`).
151
151
  */
152
152
  #pending = /* @__PURE__ */ new Map();
153
- /** O turno corrente. Um `send()` novo incrementa e varre o anterior. */
154
- #turno = 0;
153
+ /** The current turn. A new `send()` increments it and sweeps the previous one. */
154
+ #turn = 0;
155
155
  constructor(options) {
156
156
  this.#run = options.run;
157
157
  }
158
158
  /**
159
- * Cria o `awaitApproval` DESTE turno, com o número e o sinal fechados no closure.
159
+ * Creates the `awaitApproval` for THIS turn, with the number and the signal closed over.
160
160
  *
161
- * Campo compartilhado não serve, e a revisão do M92 mediu por quê: um runner do turno 1 que
162
- * estaciona **depois** do `send` do turno 2 o campo sobrescrito e nasce etiquetado turno 2
163
- * o abort do turno 1 não o varre, e a promessa pendura. A primeira correção do M92 trocou "ler no
164
- * momento da aprovação" por "ler no `send`", e continuou errada pela mesma razão: um campo só.
161
+ * A shared field will not do, and the M92 review measured why: a turn-1 runner that parks **after**
162
+ * turn 2's `send` reads the already-overwritten field and is born labelled turn 2 turn 1's abort
163
+ * does not sweep it, and the promise hangs. M92's first fix swapped "read at approval time" for
164
+ * "read at `send`", and stayed wrong for the same reason: a single field.
165
165
  *
166
- * O closure é o único lugar onde o turno de um runner pode viver sem ser sobrescrito por outro.
166
+ * The closure is the only place a runner's turn can live without another one overwriting it.
167
167
  */
168
- #criarAwaitApproval(turno, sinal) {
168
+ #createAwaitApproval(turn, signal) {
169
169
  return (req) => new Promise((resolve, reject) => {
170
- if (sinal?.aborted === true) {
171
- reject(new ApprovalAbortedError(req.approvalId, "o turno j\xE1 estava abortado"));
170
+ if (signal?.aborted === true) {
171
+ reject(new ApprovalAbortedError(req.approvalId, "the turn was already aborted"));
172
172
  return;
173
173
  }
174
174
  if (this.#pending.has(req.approvalId)) {
@@ -177,39 +177,39 @@ var InProcessTransport = class {
177
177
  );
178
178
  return;
179
179
  }
180
- this.#pending.set(req.approvalId, { resolve, reject, turno });
180
+ this.#pending.set(req.approvalId, { resolve, reject, turn });
181
181
  });
182
182
  }
183
183
  /**
184
- * Varre as aprovações de um turno, rejeitando cada uma com erro TIPADO.
184
+ * Sweeps a turn's approvals, rejecting each one with a TYPED error.
185
185
  *
186
- * Rejeitar e não `resolve(false)`: um `false` é indistinguível de *"o usuário negou"*, e a diferença
187
- * importanegar é decisão, abortar é interrupção. O SDK precisa das duas para desenrolar a chamada
188
- * de tool corretamente.
186
+ * Reject rather than `resolve(false)`: a `false` is indistinguishable from *"the user denied"*, and
187
+ * the difference matters denying is a decision, aborting is an interruption. The SDK needs both to
188
+ * unwind the tool call correctly.
189
189
  */
190
- #varrerTurno(turno, motivo) {
191
- for (const [id, entrada] of [...this.#pending]) {
192
- if (entrada.turno !== turno) continue;
190
+ #sweepTurn(turn, reason) {
191
+ for (const [id, entry] of [...this.#pending]) {
192
+ if (entry.turn !== turn) continue;
193
193
  this.#pending.delete(id);
194
- entrada.reject(new ApprovalAbortedError(id, motivo));
194
+ entry.reject(new ApprovalAbortedError(id, reason));
195
195
  }
196
196
  }
197
- /** Quantas aprovações estão estacionadas. Existe para o teste poder provar a eviction. */
198
- get pendentes() {
197
+ /** How many approvals are parked. Exists so the test can prove the eviction. */
198
+ get pending() {
199
199
  return this.#pending.size;
200
200
  }
201
201
  sendMessages(options) {
202
202
  const { messages, abortSignal, metadata } = options;
203
- this.#varrerTurno(this.#turno, "um turno novo come\xE7ou");
204
- this.#turno += 1;
205
- const turnoAtual = this.#turno;
203
+ this.#sweepTurn(this.#turn, "a new turn started");
204
+ this.#turn += 1;
205
+ const currentTurn = this.#turn;
206
206
  if (abortSignal?.aborted === true) {
207
- this.#varrerTurno(turnoAtual, "o turno j\xE1 estava abortado");
207
+ this.#sweepTurn(currentTurn, "the turn was already aborted");
208
208
  } else {
209
209
  abortSignal?.addEventListener(
210
210
  "abort",
211
211
  () => {
212
- this.#varrerTurno(turnoAtual, "o turno foi abortado");
212
+ this.#sweepTurn(currentTurn, "the turn was aborted");
213
213
  },
214
214
  { once: true }
215
215
  );
@@ -217,7 +217,7 @@ var InProcessTransport = class {
217
217
  const generator = this.#run({
218
218
  message: extractLastUserText(messages),
219
219
  signal: abortSignal ?? void 0,
220
- awaitApproval: this.#criarAwaitApproval(turnoAtual, abortSignal ?? void 0),
220
+ awaitApproval: this.#createAwaitApproval(currentTurn, abortSignal ?? void 0),
221
221
  // M43 — forward per-request context (the seam's `metadata`) to the runner.
222
222
  context: metadata
223
223
  });
@@ -227,14 +227,14 @@ var InProcessTransport = class {
227
227
  return Promise.resolve(null);
228
228
  }
229
229
  approve(approvalId, decision) {
230
- const entrada = this.#pending.get(approvalId);
231
- if (entrada === void 0) {
230
+ const entry = this.#pending.get(approvalId);
231
+ if (entry === void 0) {
232
232
  return Promise.reject(
233
233
  new Error(`No pending approval '${approvalId}' (unknown or already settled).`)
234
234
  );
235
235
  }
236
236
  this.#pending.delete(approvalId);
237
- entrada.resolve(decision);
237
+ entry.resolve(decision);
238
238
  return Promise.resolve();
239
239
  }
240
240
  };
@@ -358,22 +358,23 @@ var AgentClient = class {
358
358
  #currentAssistantId = "";
359
359
  #snapshot = { messages: [], thread: [], status: "idle", error: void 0 };
360
360
  /**
361
- * M92 — o prefixo commitado, materializado UMA vez por escrita em vez de por delta de token.
361
+ * M92 — the committed prefix, materialized ONCE per write instead of once per token delta.
362
362
  *
363
- * `#committed` muda em dois lugares (medido): no `done` de `send()` e em `reset()`. Entre deltas
364
- * ele é constante, então reconstruí-lo a cada `#emit` é trabalho que a estrutura já garante inútil.
363
+ * `#committed` changes in only two places (measured): in `send()`'s `done` and in `reset()`. Between
364
+ * deltas it is constant, so rebuilding it on every `#emit` is work the structure already guarantees
365
+ * is useless.
365
366
  *
366
- * Invalidação é **na escrita**, não por comparação: comparar custaria o mesmo O(C) que isto evita, e
367
- * memoizar por comprimento erraria em `reset()` — comprimento igual com conteúdo diferente é
368
- * possível, e o bug seria invisível.
367
+ * Invalidation happens **on write**, not by comparison: comparing would cost the same O(C) this
368
+ * avoids, and memoizing by length would be wrong in `reset()` — equal length with different content
369
+ * is possible, and the bug would be invisible.
369
370
  *
370
- * Honestidade sobre o tamanho do ganho: medido, o spread custa **0,0062 ms por delta @400 mensagens**
371
- * — 3,1 ms num turno de 500 deltas. É real e é micro. A ordem de grandeza deste milestone está no
372
- * coalescing abaixo, porque o que pende de cada emit (a derivação da timeline) custa **3,274 ms por
373
- * chamada** no mesmo tamanho de thread (M86).
371
+ * Honesty about the size of the win: measured, the spread costs **0.0062 ms per delta @400 messages**
372
+ * — 3.1 ms across a 500-delta turn. It is real and it is micro. The order of magnitude of this
373
+ * milestone is in the coalescing below, because what hangs off each emit (deriving the timeline)
374
+ * costs **3.274 ms per call** at the same thread size (M86).
374
375
  */
375
- #prefixo = [];
376
- /** Coalescing opt-in: `0` (default) emite por delta, como sempre. */
376
+ #committedPrefix = [];
377
+ /** Opt-in coalescing: `0` (the default) emits per delta, as always. */
377
378
  #emitIntervalMs;
378
379
  #timerDeEmit;
379
380
  constructor(transport, contextResolver, options) {
@@ -391,30 +392,30 @@ var AgentClient = class {
391
392
  /** The current immutable snapshot (stable reference until the next emit). */
392
393
  getSnapshot = () => this.#snapshot;
393
394
  /**
394
- * Emite AGORA. Usado diretamente nas transições de status ver `#agendarEmit`.
395
+ * Emits NOW. Used directly on status transitionssee `#scheduleEmit`.
395
396
  */
396
397
  #emit() {
397
398
  if (this.#timerDeEmit !== void 0) {
398
399
  clearTimeout(this.#timerDeEmit);
399
400
  this.#timerDeEmit = void 0;
400
401
  }
401
- const cauda = this.#currentUser ? [this.#currentUser, ...this.#messages] : this.#messages;
402
- const thread = this.#prefixo.concat(cauda);
402
+ const tail = this.#currentUser ? [this.#currentUser, ...this.#messages] : this.#messages;
403
+ const thread = this.#committedPrefix.concat(tail);
403
404
  this.#snapshot = { messages: this.#messages, thread, status: this.#status, error: this.#error };
404
405
  for (const listener of this.#listeners) listener();
405
406
  }
406
407
  /**
407
- * Emite por JANELA quando o coalescing está ligado; imediatamente quando não está.
408
+ * Emits per WINDOW when coalescing is on; immediately when it is off.
408
409
  *
409
- * Borda de saída: o timer emite ao **fim** da janela, com o estado mais recente. O que isto compra
410
- * não é um emit mais baratoé **menos emits**, e o que pende de cada um é a derivação de 3,274 ms
411
- * medida no M86.
410
+ * Trailing edge: the timer emits at the **end** of the window, with the most recent state. What this
411
+ * buys is not a cheaper emitit is **fewer emits**, and what hangs off each one is the 3.274 ms
412
+ * derivation measured in M86.
412
413
  *
413
- * As transições de status (`done`/`error`/`abort`) NÃO passam por aqui: elas chamam `#emit` direto,
414
- * porque um estado final preso num timer de 16 ms é um estado final perdido se o processo sair antes
415
- * e `exec` sai logo após o turno.
414
+ * Status transitions (`done`/`error`/`abort`) do NOT go through here: they call `#emit` directly,
415
+ * because a final state trapped in a 16 ms timer is a final state lost if the process exits first —
416
+ * and `exec` exits right after the turn.
416
417
  */
417
- #agendarEmit() {
418
+ #scheduleEmit() {
418
419
  if (this.#emitIntervalMs <= 0) {
419
420
  this.#emit();
420
421
  return;
@@ -446,7 +447,7 @@ var AgentClient = class {
446
447
  if (aborted()) return;
447
448
  const stamped = message.id ? message : { ...message, id: this.#currentAssistantId };
448
449
  this.#upsert(stamped);
449
- this.#agendarEmit();
450
+ this.#scheduleEmit();
450
451
  });
451
452
  if (aborted()) return;
452
453
  this.#status = "done";
@@ -462,7 +463,7 @@ var AgentClient = class {
462
463
  send = (input) => {
463
464
  if (this.#status === "done" && this.#currentUser) {
464
465
  this.#committed = [...this.#committed, this.#currentUser, ...this.#messages];
465
- this.#prefixo = this.#committed;
466
+ this.#committedPrefix = this.#committed;
466
467
  }
467
468
  this.abort();
468
469
  const controller = new AbortController();
@@ -524,7 +525,7 @@ var AgentClient = class {
524
525
  this.abort();
525
526
  this.#messages = [];
526
527
  this.#committed = [];
527
- this.#prefixo = this.#committed;
528
+ this.#committedPrefix = this.#committed;
528
529
  this.#currentUser = void 0;
529
530
  this.#error = void 0;
530
531
  this.#status = "idle";
@@ -561,4 +562,4 @@ export {
561
562
  agentHandle,
562
563
  isAgentHandle
563
564
  };
564
- //# sourceMappingURL=chunk-7ZQTOTK2.js.map
565
+ //# sourceMappingURL=chunk-FJA4QQLZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/consume-ui-message-stream.ts","../src/client/http-transport.ts","../src/client/last-user-text.ts","../src/client/in-process-transport.ts","../src/client/channel-transport.ts","../src/client/agent-client.ts","../src/client/agent-handle.ts"],"mappings":";AAAA,SAAS,iBAAiB,yBAAyB;AA8BnD,eAAsB,uBACpB,UACA,WACe;AACf,QAAM,cAAc,MAAM,sBAAsB,QAAQ;AACxD,QAAM,mBAAmB,aAAa,SAAS;AACjD;AAOO,SAAS,sBAAsB,UAA6D;AACjG,MAAI,SAAS,SAAS,MAAM;AAC1B,WAAO,QAAQ;AAAA,MACb,IAAI,eAA+B;AAAA,QACjC,MAAM,YAAY;AAChB,qBAAW,MAAM;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,QAAQ,QAAQ,gBAAgB,SAAS,IAAI,CAAC;AACvD;AAYA,eAAsB,mBACpB,QACA,WACe;AACf,mBAAiB,WAAW,kBAAkB,MAAM,GAAG;AACrD,cAAU,OAAO;AAAA,EACnB;AACF;;;AChDA,SAAS,SAAS,SAA+E;AAC/F,MAAI,YAAY,OAAW,QAAO,CAAC;AACnC,MAAI,mBAAmB,QAAS,QAAO,OAAO,YAAY,QAAQ,QAAQ,CAAC;AAC3E,SAAO;AACT;AAmBO,IAAM,gBAAN,MAA8C;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAET;AAAA,EAEA,YAAY,SAA+B;AACzC,SAAK,OAAO,QAAQ;AACpB,SAAK,WAAW,QAAQ,WAAW,CAAC;AAIpC,SAAK,SAAS,QAAQ,SAAS,WAAW,MAAM,KAAK,UAAU;AAAA,EACjE;AAAA;AAAA,EAGA,kBAA0C;AACxC,YAAQ,OAAO,KAAK,aAAa,aAAa,KAAK,SAAS,IAAI,KAAK,aAAa,CAAC;AAAA,EACrF;AAAA,EAEA,MAAM,aACJ,SACyC;AACzC,UAAM,EAAE,UAAU,aAAa,SAAS,MAAM,OAAO,IAAI;AAKzD,UAAM,QAAQ,OAAO,SAAS,WAAW,OAAO;AAChD,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK,MAAM;AAAA,MAC5C,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,GAAG,KAAK,gBAAgB;AAAA,QACxB,GAAG,SAAS,OAAO;AAAA,MACrB;AAAA;AAAA;AAAA;AAAA;AAAA,MAKA,MAAM,KAAK,UAAU,EAAE,GAAG,OAAO,UAAU,IAAI,OAAO,CAAC;AAAA,MACvD,QAAQ;AAAA,IACV,CAAC;AACD,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,oBAAoB,KAAK,IAAI,YAAY,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,MACjF;AAAA,IACF;AACA,SAAK,aAAa,SAAS,QAAQ,IAAI,kBAAkB,KAAK;AAC9D,WAAO,sBAAsB,QAAQ;AAAA,EACvC;AAAA,EAEA,MAAM,kBACJ,SACgD;AAChD,QAAI,KAAK,eAAe,OAAW,QAAO;AAC1C,UAAM,WAAW,MAAM,KAAK,OAAO,GAAG,KAAK,IAAI,SAAS,KAAK,UAAU,WAAW;AAAA,MAChF,QAAQ;AAAA,MACR,SAAS,EAAE,GAAG,KAAK,gBAAgB,GAAG,GAAG,SAAS,QAAQ,OAAO,EAAE;AAAA,IACrE,CAAC;AACD,QAAI,SAAS,WAAW,IAAK,QAAO;AACpC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,0BAA0B,KAAK,UAAU,YAAY,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,MAC7F;AAAA,IACF;AACA,WAAO,sBAAsB,QAAQ;AAAA,EACvC;AAAA,EAEA,MAAM,QAAQ,YAAoB,UAA2C;AAC3E,UAAM,WAAW,MAAM,KAAK,OAAO,GAAG,KAAK,IAAI,YAAY,UAAU,IAAI;AAAA,MACvE,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,GAAG,KAAK,gBAAgB;AAAA,MAC1B;AAAA,MACA,MAAM,KAAK,UAAU,QAAQ;AAAA,IAC/B,CAAC;AACD,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,WAAW,UAAU,YAAY,SAAS,MAAM,IAAI,SAAS,UAAU,EAAE;AAAA,IAC3F;AAAA,EACF;AACF;;;AC/HO,SAAS,oBAAoB,UAAwC;AAC1E,WAAS,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,KAAK;AAC7C,UAAM,UAAU,SAAS,CAAC;AAC1B,QAAI,QAAQ,SAAS,OAAQ;AAC7B,UAAM,OAAO,QAAQ,MAClB,OAAO,CAAC,SAAiD,KAAK,SAAS,MAAM,EAC7E,IAAI,CAAC,SAAS,KAAK,IAAI,EACvB,KAAK,EAAE;AACV,QAAI,KAAK,SAAS,EAAG,QAAO;AAAA,EAC9B;AACA,SAAO;AACT;;;ACwBA,SAAS,kBAAkB,KAAqE;AAC9F,SAAO,IAAI,eAA+B;AAAA,IACxC,MAAM,KAAK,YAAY;AACrB,UAAI;AACF,cAAM,SAAS,MAAM,IAAI,KAAK;AAC9B,YAAI,OAAO,SAAS,MAAM;AACxB,qBAAW,MAAM;AACjB;AAAA,QACF;AAEA,mBAAW,QAAQ,OAAO,KAAK;AAAA,MACjC,SAAS,KAAK;AACZ,mBAAW,MAAM,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,IACA,MAAM,SAAS;AACb,YAAM,IAAI,OAAO,MAAS;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAuBO,IAAM,uBAAN,cAAmC,MAAM;AAAA,EAC9C,YACW,YACT,QACA;AACA,UAAM,aAAa,UAAU,gBAAgB,MAAM,GAAG;AAH7C;AAIT,SAAK,OAAO;AAAA,EACd;AAAA,EALW;AAMb;AAEO,IAAM,qBAAN,MAAmD;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,oBAAI,IAOtB;AAAA;AAAA,EAGF,QAAQ;AAAA,EAER,YAAY,SAAoC;AAC9C,SAAK,OAAO,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,qBAAqB,MAAc,QAAyD;AAC1F,WAAO,CAAC,QACN,IAAI,QAAoC,CAAC,SAAS,WAAW;AAG3D,UAAI,QAAQ,YAAY,MAAM;AAC5B,eAAO,IAAI,qBAAqB,IAAI,YAAY,8BAA8B,CAAC;AAC/E;AAAA,MACF;AAGA,UAAI,KAAK,SAAS,IAAI,IAAI,UAAU,GAAG;AACrC;AAAA,UACE,IAAI,MAAM,kCAAkC,IAAI,UAAU,8BAAyB;AAAA,QACrF;AACA;AAAA,MACF;AACA,WAAK,SAAS,IAAI,IAAI,YAAY,EAAE,SAAS,QAAQ,KAAK,CAAC;AAAA,IAC7D,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,MAAc,QAAsB;AAC7C,eAAW,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,QAAQ,GAAG;AAC5C,UAAI,MAAM,SAAS,KAAM;AACzB,WAAK,SAAS,OAAO,EAAE;AACvB,YAAM,OAAO,IAAI,qBAAqB,IAAI,MAAM,CAAC;AAAA,IACnD;AAAA,EACF;AAAA;AAAA,EAGA,IAAI,UAAkB;AACpB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAEA,aACE,SACyC;AACzC,UAAM,EAAE,UAAU,aAAa,SAAS,IAAI;AAG5C,SAAK,WAAW,KAAK,OAAO,oBAAoB;AAChD,SAAK,SAAS;AACd,UAAM,cAAc,KAAK;AAOzB,QAAI,aAAa,YAAY,MAAM;AACjC,WAAK,WAAW,aAAa,8BAA8B;AAAA,IAC7D,OAAO;AACL,mBAAa;AAAA,QACX;AAAA,QACA,MAAM;AACJ,eAAK,WAAW,aAAa,sBAAsB;AAAA,QACrD;AAAA,QACA,EAAE,MAAM,KAAK;AAAA,MACf;AAAA,IACF;AACA,UAAM,YAAY,KAAK,KAAK;AAAA,MAC1B,SAAS,oBAAoB,QAAQ;AAAA,MACrC,QAAQ,eAAe;AAAA,MACvB,eAAe,KAAK,qBAAqB,aAAa,eAAe,MAAS;AAAA;AAAA,MAE9E,SAAS;AAAA,IACX,CAAC;AACD,WAAO,QAAQ,QAAQ,kBAAkB,SAAS,CAAC;AAAA,EACrD;AAAA,EAEA,oBAAoE;AAClE,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC7B;AAAA,EAEA,QAAQ,YAAoB,UAA2C;AACrE,UAAM,QAAQ,KAAK,SAAS,IAAI,UAAU;AAC1C,QAAI,UAAU,QAAW;AACvB,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,wBAAwB,UAAU,iCAAiC;AAAA,MAC/E;AAAA,IACF;AACA,SAAK,SAAS,OAAO,UAAU;AAC/B,UAAM,QAAQ,QAAQ;AACtB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;;;ACzKO,IAAM,mBAAN,MAAiD;AAAA,EAC7C;AAAA,EAET,YAAY,SAAkC;AAC5C,SAAK,UAAU,QAAQ;AAAA,EACzB;AAAA,EAEA,aACE,SACyC;AACzC,UAAM,EAAE,UAAU,aAAa,SAAS,IAAI;AAC5C,UAAM,UAAU,oBAAoB,QAAQ;AAC5C,UAAM,SAAS,KAAK;AAIpB,QAAI,SAAS;AACb,QAAI,WAAuB,MAAM;AACjC,QAAI,cAA0B,MAAM;AAEpC,UAAM,SAAS,IAAI,eAA+B;AAAA,MAChD,MAAM,YAAY;AAChB,cAAM,SAAS,CAAC,WAA6B;AAC3C,cAAI,OAAQ;AACZ,mBAAS;AACT,sBAAY;AACZ,iBAAO;AAAA,QACT;AACA,mBAAW,OAAO;AAAA,UAChB,EAAE,SAAS,SAAS,SAAS;AAAA,UAC7B;AAAA,YACE,QAAQ,CAAC,SAAS;AAChB,kBAAI,OAAQ;AAEZ,kBAAI;AACJ,kBAAI;AACF,yBAAS,KAAK,MAAM,IAAI;AAAA,cAC1B,QAAQ;AACN;AAAA,cACF;AAMA,kBACE,OAAO,WAAW,YAClB,WAAW,QACX,OAAQ,OAA8B,SAAS,UAC/C;AACA;AAAA,cACF;AACA,yBAAW,QAAQ,MAAwB;AAAA,YAC7C;AAAA,YACA,SAAS,MAAM;AACb,qBAAO,MAAM;AACX,2BAAW,MAAM;AAAA,cACnB,CAAC;AAAA,YACH;AAAA,YACA,SAAS,CAAC,QAAQ;AAChB,qBAAO,MAAM;AACX,2BAAW,MAAM,GAAG;AAAA,cACtB,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF;AACA,YAAI,gBAAgB,QAAW;AAC7B,gBAAM,UAAU,MAAY;AAC1B,mBAAO,MAAM;AACX,uBAAS;AACT,yBAAW,MAAM;AAAA,YACnB,CAAC;AAAA,UACH;AACA,cAAI,YAAY,QAAS,SAAQ;AAAA,eAC5B;AACH,wBAAY,iBAAiB,SAAS,OAAO;AAC7C,0BAAc,MAAM;AAClB,0BAAY,oBAAoB,SAAS,OAAO;AAAA,YAClD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS;AAEP,YAAI,OAAQ;AACZ,iBAAS;AACT,oBAAY;AACZ,iBAAS;AAAA,MACX;AAAA,IACF,CAAC;AACD,WAAO,QAAQ,QAAQ,MAAM;AAAA,EAC/B;AAAA,EAEA,oBAAoE;AAClE,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC7B;AAAA,EAEA,MAAM,QAAQ,YAAoB,UAA2C;AAC3E,QAAI,KAAK,QAAQ,WAAW,QAAW;AACrC,YAAM,IAAI,MAAM,iEAA4D,UAAU,IAAI;AAAA,IAC5F;AACA,UAAM,KAAK,QAAQ,OAAO,YAAY,QAAQ;AAAA,EAChD;AACF;;;ACtIA,SAAS,YAAY,OAAwB;AAC3C,MACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAAgC,YAAY,UACpD;AACA,WAAQ,MAA8B;AAAA,EACxC;AACA,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO,KAAK,UAAU,KAAK;AAC7B;AAGA,SAAS,iBAAiB,OAA2B;AACnD,SAAO;AAAA,IACL,IAAI,OAAO,WAAW;AAAA,IACtB,MAAM;AAAA,IACN,OAAO,CAAC,EAAE,MAAM,QAAQ,MAAM,YAAY,KAAK,EAAE,CAAC;AAAA,EACpD;AACF;AAwBO,IAAM,cAAN,MAAoC;AAAA,EAChC;AAAA,EACA,UAAU,OAAO,WAAW;AAAA,EAC5B,aAAa,oBAAI,IAAgB;AAAA;AAAA,EAEjC;AAAA,EAET,YAAyB,CAAC;AAAA,EAC1B,UAA0B;AAAA,EAC1B;AAAA,EACA,cAAsC;AAAA;AAAA;AAAA,EAGtC,aAA0B,CAAC;AAAA;AAAA,EAE3B;AAAA;AAAA,EAEA,sBAAsB;AAAA,EACtB,YAA8B,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,QAAQ,OAAO,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB3F,mBAAgC,CAAC;AAAA;AAAA,EAGxB;AAAA,EACT;AAAA,EAEA,YACE,WACA,iBACA,SACA;AACA,SAAK,aAAa;AAClB,SAAK,mBAAmB;AACxB,SAAK,kBAAkB,SAAS,kBAAkB;AAAA,EACpD;AAAA;AAAA,EAGA,YAAY,CAAC,aAAuC;AAClD,SAAK,WAAW,IAAI,QAAQ;AAC5B,WAAO,MAAM;AACX,WAAK,WAAW,OAAO,QAAQ;AAAA,IACjC;AAAA,EACF;AAAA;AAAA,EAGA,cAAc,MAAwB,KAAK;AAAA;AAAA;AAAA;AAAA,EAK3C,QAAc;AACZ,QAAI,KAAK,iBAAiB,QAAW;AACnC,mBAAa,KAAK,YAAY;AAC9B,WAAK,eAAe;AAAA,IACtB;AAeA,UAAM,OAAO,KAAK,eAAe,CAAC,KAAK,cAAc,GAAG,KAAK,SAAS,IAAI,KAAK;AAC/E,UAAM,SAAS,KAAK,iBAAiB,OAAO,IAAI;AAChD,SAAK,YAAY,EAAE,UAAU,KAAK,WAAW,QAAQ,QAAQ,KAAK,SAAS,OAAO,KAAK,OAAO;AAC9F,eAAW,YAAY,KAAK,WAAY,UAAS;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,gBAAsB;AACpB,QAAI,KAAK,mBAAmB,GAAG;AAC7B,WAAK,MAAM;AACX;AAAA,IACF;AACA,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,eAAe,WAAW,MAAM;AACnC,WAAK,eAAe;AACpB,WAAK,MAAM;AAAA,IACb,GAAG,KAAK,eAAe;AAAA,EACzB;AAAA,EAEA,QAAQ,SAA0B;AAChC,UAAM,OAAO,CAAC,GAAG,KAAK,SAAS;AAC/B,UAAM,MAAM,KAAK,UAAU,CAAC,aAAa,SAAS,OAAO,QAAQ,EAAE;AACnE,QAAI,OAAO,EAAG,MAAK,GAAG,IAAI;AAAA,QACrB,MAAK,KAAK,OAAO;AACtB,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,MAAM,OACJ,MACA,YACe;AAIf,UAAM,UAAU,MAAe,WAAW,OAAO;AACjD,QAAI;AACF,YAAM,SAAS,MAAM,KAAK;AAC1B,UAAI,QAAQ,EAAG;AACf,UAAI,WAAW,MAAM;AAEnB,aAAK,UAAU,KAAK,UAAU,SAAS,IAAI,SAAS;AACpD,aAAK,MAAM;AACX;AAAA,MACF;AACA,YAAM,mBAAmB,QAAQ,CAAC,YAAY;AAC5C,YAAI,QAAQ,EAAG;AAGf,cAAM,UAAU,QAAQ,KAAK,UAAU,EAAE,GAAG,SAAS,IAAI,KAAK,oBAAoB;AAClF,aAAK,QAAQ,OAAO;AAGpB,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,UAAI,QAAQ,EAAG;AACf,WAAK,UAAU;AACf,WAAK,MAAM;AAAA,IACb,SAAS,KAAK;AACZ,UAAI,QAAQ,EAAG;AACf,WAAK,SAAS,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC;AAChE,WAAK,UAAU;AACf,WAAK,MAAM;AAAA,IACb;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,CAAC,UAAwB;AAG9B,QAAI,KAAK,YAAY,UAAU,KAAK,cAAc;AAChD,WAAK,aAAa,CAAC,GAAG,KAAK,YAAY,KAAK,cAAc,GAAG,KAAK,SAAS;AAE3E,WAAK,mBAAmB,KAAK;AAAA,IAC/B;AACA,SAAK,MAAM;AACX,UAAM,aAAa,IAAI,gBAAgB;AACvC,SAAK,cAAc;AACnB,UAAM,UAAU,iBAAiB,KAAK;AACtC,SAAK,eAAe;AACpB,SAAK,sBAAsB,OAAO,WAAW;AAC7C,SAAK,YAAY,CAAC;AAClB,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,MAAM;AACX,UAAM,UAAU,KAAK,mBAAmB;AACxC,SAAK,KAAK;AAAA,MACR,MACE,KAAK,WAAW,aAAa;AAAA,QAC3B,SAAS;AAAA,QACT,QAAQ,KAAK;AAAA,QACb,WAAW;AAAA,QACX,UAAU,CAAC,OAAO;AAAA,QAClB,aAAa,WAAW;AAAA;AAAA;AAAA,QAGxB,MAAM,OAAO,UAAU,YAAY,UAAU,OAAO,QAAQ;AAAA;AAAA,QAE5D,SAAS,SAAS;AAAA,QAClB,UAAU,SAAS;AAAA,MACrB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGA,YAAY,MAAY;AACtB,UAAM,aAAa,IAAI,gBAAgB;AACvC,SAAK,cAAc;AAGnB,QAAI,CAAC,KAAK,oBAAqB,MAAK,sBAAsB,OAAO,WAAW;AAE5E,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,MAAM;AACX,UAAM,UAAU,KAAK,mBAAmB;AACxC,SAAK,KAAK;AAAA,MACR,MACE,KAAK,WAAW,kBAAkB;AAAA,QAChC,QAAQ,KAAK;AAAA,QACb,SAAS,SAAS;AAAA,QAClB,UAAU,SAAS;AAAA,MACrB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGA,QAAQ,MAAY;AAClB,SAAK,aAAa,MAAM;AACxB,SAAK,cAAc;AAKnB,QAAI,KAAK,YAAY,aAAa;AAChC,WAAK,UAAU,KAAK,WAAW,SAAS,KAAK,KAAK,UAAU,SAAS,IAAI,SAAS;AAClF,WAAK,MAAM;AAAA,IACb;AAAA,EACF;AAAA;AAAA,EAGA,QAAQ,MAAY;AAClB,SAAK,MAAM;AACX,SAAK,YAAY,CAAC;AAElB,SAAK,aAAa,CAAC;AAGnB,SAAK,mBAAmB,KAAK;AAC7B,SAAK,eAAe;AACpB,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,MAAM;AAAA,EACb;AAAA;AAAA,EAGA,UAAU,OAAO,YAAoB,aAA8C;AACjF,UAAM,KAAK,WAAW,UAAU,YAAY,QAAQ;AAAA,EACtD;AACF;;;AC3RO,SAAS,YACd,MACiC;AACjC,SAAO;AAAA,IACL;AAAA,IACA,WAAW,CAAC,QAAQ,IAAI,mBAAmB,EAAE,IAAI,CAAC;AAAA,IAClD,SAAS,CAAC,WAAW,IAAI,iBAAiB,EAAE,OAAO,CAAC;AAAA,EACtD;AACF;AAGO,SAAS,cAAc,OAAsC;AAClE,SACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAA6B,SAAS,YAC9C,OAAQ,MAAqC,iBAAiB;AAElE;","names":[]}