maestro-agent-sdk 0.1.26 → 0.1.28

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 (65) hide show
  1. package/README.md +20 -0
  2. package/dist/core/agent.d.ts +28 -0
  3. package/dist/core/agent.d.ts.map +1 -1
  4. package/dist/core/agent.js +2 -0
  5. package/dist/core/agent.js.map +1 -1
  6. package/dist/core/is-abort-error.d.ts +18 -0
  7. package/dist/core/is-abort-error.d.ts.map +1 -1
  8. package/dist/core/is-abort-error.js +34 -0
  9. package/dist/core/is-abort-error.js.map +1 -1
  10. package/dist/core/loop.d.ts.map +1 -1
  11. package/dist/core/loop.js +69 -14
  12. package/dist/core/loop.js.map +1 -1
  13. package/dist/core/tool-result-truncation.d.ts +34 -0
  14. package/dist/core/tool-result-truncation.d.ts.map +1 -0
  15. package/dist/core/tool-result-truncation.js +162 -0
  16. package/dist/core/tool-result-truncation.js.map +1 -0
  17. package/dist/index.d.ts +7 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/memory/active-task-template.d.ts +7 -4
  22. package/dist/memory/active-task-template.d.ts.map +1 -1
  23. package/dist/memory/active-task-template.js +19 -4
  24. package/dist/memory/active-task-template.js.map +1 -1
  25. package/dist/memory/aux-model-map.d.ts +49 -0
  26. package/dist/memory/aux-model-map.d.ts.map +1 -0
  27. package/dist/memory/aux-model-map.js +103 -0
  28. package/dist/memory/aux-model-map.js.map +1 -0
  29. package/dist/memory/compressor.d.ts +34 -59
  30. package/dist/memory/compressor.d.ts.map +1 -1
  31. package/dist/memory/compressor.js +222 -89
  32. package/dist/memory/compressor.js.map +1 -1
  33. package/dist/platform/config.d.ts +5 -0
  34. package/dist/platform/config.d.ts.map +1 -1
  35. package/dist/platform/config.js +9 -0
  36. package/dist/platform/config.js.map +1 -1
  37. package/dist/platform/version.d.ts +1 -1
  38. package/dist/platform/version.js +1 -1
  39. package/dist/provider.d.ts +18 -6
  40. package/dist/provider.d.ts.map +1 -1
  41. package/dist/provider.js +71 -8
  42. package/dist/provider.js.map +1 -1
  43. package/dist/providers/codex-auth.d.ts +149 -0
  44. package/dist/providers/codex-auth.d.ts.map +1 -0
  45. package/dist/providers/codex-auth.js +332 -0
  46. package/dist/providers/codex-auth.js.map +1 -0
  47. package/dist/providers/codex-stream.d.ts +42 -0
  48. package/dist/providers/codex-stream.d.ts.map +1 -0
  49. package/dist/providers/codex-stream.js +330 -0
  50. package/dist/providers/codex-stream.js.map +1 -0
  51. package/dist/providers/codex-translators.d.ts +105 -0
  52. package/dist/providers/codex-translators.d.ts.map +1 -0
  53. package/dist/providers/codex-translators.js +244 -0
  54. package/dist/providers/codex-translators.js.map +1 -0
  55. package/dist/providers/codex.d.ts +145 -0
  56. package/dist/providers/codex.d.ts.map +1 -0
  57. package/dist/providers/codex.js +417 -0
  58. package/dist/providers/codex.js.map +1 -0
  59. package/dist/registry.d.ts.map +1 -1
  60. package/dist/registry.js +25 -1
  61. package/dist/registry.js.map +1 -1
  62. package/dist/types.d.ts +24 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/package.json +17 -1
package/dist/provider.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { join } from "node:path";
3
3
  import { AIAgent } from "./core/agent.js";
4
- import { isAbortError } from "./core/is-abort-error.js";
4
+ import { isAbortError, isTimeoutError } from "./core/is-abort-error.js";
5
5
  import { runConversation } from "./core/loop.js";
6
6
  import { registerMcpTools, startMcpPool } from "./mcp/pool.js";
7
7
  import { buildSystemReminder } from "./memory/reminder.js";
@@ -16,6 +16,7 @@ import { getMcpServersForQuery } from "./platform/mcp-config.js";
16
16
  // `platform/env-bootstrap.ts` for the full rationale and safety notes.
17
17
  bootstrapHostPath();
18
18
  import { AnthropicProvider, detectThinkingKeyword, effortToPersonaPrompt, effortToThinkingBudget, } from "./providers/anthropic.js";
19
+ import { CodexResponsesProvider } from "./providers/codex.js";
19
20
  import { DeepseekProvider } from "./providers/deepseek.js";
20
21
  import { maestroRegistry } from "./registry.js";
21
22
  import { isWellFormedMessage, loadMaestroSession, loadMaestroSessionMeta, saveMaestroSession, trimToSafePrefix, } from "./session-store.js";
@@ -24,6 +25,7 @@ import { buildSkillsIndex } from "./skills/index-builder.js";
24
25
  import { loadSkillsCached } from "./skills/loader.js";
25
26
  import { getTaskStore } from "./state/tasks.js";
26
27
  import { createAgentTool } from "./tools/builtin/agent.js";
28
+ import { askUserQuestionTool } from "./tools/builtin/ask_user_question.js";
27
29
  import { bashTool, createBashTool } from "./tools/builtin/bash.js";
28
30
  import { createBackgroundBashRegistry, createBashOutputTool, createKillBashTool, } from "./tools/builtin/bash_background.js";
29
31
  import { createEditTool } from "./tools/builtin/edit.js";
@@ -32,10 +34,9 @@ import { grepTool } from "./tools/builtin/grep.js";
32
34
  import { createReadTool } from "./tools/builtin/read.js";
33
35
  import { createSkillViewTool } from "./tools/builtin/skill_view.js";
34
36
  import { createSkillWriteTool } from "./tools/builtin/skill_write.js";
35
- import { createTaskOutputTool, createTaskStopTool, createTaskCreateTool, createTaskGetTool, createTaskListTool, createTaskUpdateTool, } from "./tools/builtin/tasks.js";
37
+ import { createTaskCreateTool, createTaskGetTool, createTaskListTool, createTaskOutputTool, createTaskStopTool, createTaskUpdateTool, } from "./tools/builtin/tasks.js";
36
38
  import { createToolSearchTool } from "./tools/builtin/tool_search.js";
37
39
  import { webFetchTool } from "./tools/builtin/web_fetch.js";
38
- import { askUserQuestionTool } from "./tools/builtin/ask_user_question.js";
39
40
  import { createWriteTool } from "./tools/builtin/write.js";
40
41
  import { getFileStateTracker } from "./tools/file-state.js";
41
42
  import { ToolRegistry } from "./tools/registry.js";
@@ -501,6 +502,12 @@ export async function* maestroProvider(opts) {
501
502
  ...(thinkingBudget ? { thinkingBudget } : {}),
502
503
  ...(resolvedEffort ? { effort: resolvedEffort } : {}),
503
504
  ...(opts.abortController?.signal ? { abortSignal: opts.abortController.signal } : {}),
505
+ // v0.1.28+: forward the caller's aux-model override into AIAgent so the
506
+ // loop's compressIfNeeded call honors it. When omitted the loop falls
507
+ // back to `resolveAuxModel(resolvedModel)`, which routes heavy tiers
508
+ // (gpt-5.5, opus, deepseek-v4-pro) to their cheapest sibling.
509
+ ...(opts.auxModel ? { auxModel: opts.auxModel } : {}),
510
+ ...(opts.toolResultTruncation ? { toolResultTruncation: opts.toolResultTruncation } : {}),
504
511
  });
505
512
  // Wire abort → close MCP pool early. Without this, an aborted turn could
506
513
  // leave Playwright / OCR subprocesses spinning until the finally block,
@@ -548,6 +555,28 @@ export async function* maestroProvider(opts) {
548
555
  aborted = true;
549
556
  }
550
557
  else {
558
+ // v0.1.28: dump the full error shape (name/code/cause/stack) so we can
559
+ // tell the difference between a codex OAuth refresh timeout, the
560
+ // `/responses` HTTP fetch timing out mid-roundtrip, an SSE stream
561
+ // abort during chunk parse, and a plain Anthropic/Deepseek crash —
562
+ // all of which previously surfaced as the same opaque "maestroProvider
563
+ // crashed: <message>" event. The lower-level codex hops also log on
564
+ // throw (see `codex.ts`/`codex-auth.ts` v0.1.28 instrumentation), so
565
+ // the combined log trail tells us which leg actually died.
566
+ const errIsTimeout = isTimeoutError(e);
567
+ logger.error({
568
+ sessionId,
569
+ model: resolvedModel,
570
+ effort: resolvedEffort,
571
+ isTimeoutError: errIsTimeout,
572
+ errName: e instanceof Error ? e.name : typeof e,
573
+ errCode: e?.code,
574
+ errMessage: e instanceof Error ? e.message : String(e),
575
+ errCause: e?.cause,
576
+ stack: e instanceof Error ? e.stack : undefined,
577
+ }, errIsTimeout
578
+ ? "maestroProvider: upstream timeout caught in provider.ts catch"
579
+ : "maestroProvider: unhandled error caught in provider.ts catch");
551
580
  yield {
552
581
  type: "error",
553
582
  content: `maestroProvider crashed: ${e instanceof Error ? e.message : String(e)}`,
@@ -784,17 +813,51 @@ export function applySkillAllowlist(skills, allowedSkills) {
784
813
  return skills.filter((s) => allowedSkills.includes(s.name));
785
814
  }
786
815
  /**
787
- * Pick the right provider adapter for a resolved model id. DeepSeek's V4
788
- * family uses `deepseek-*` ids; everything else (Anthropic claude-* + future
789
- * direct full ids) falls through to the Anthropic adapter. Exported so tests
790
- * can lock the dispatch shape independently of `maestroProvider`'s I/O.
816
+ * Pick the right provider adapter for a resolved model id.
817
+ *
818
+ * Dispatch table:
819
+ * - `gpt-5.*` / `gpt-4.*` / `o3` / `o4` CodexResponsesProvider
820
+ * (ChatGPT-OAuth-backed Responses API at
821
+ * chatgpt.com/backend-api/codex; reads ~/.codex/auth.json).
822
+ * - `deepseek-*` → DeepseekProvider
823
+ * (DEEPSEEK_API_KEY env).
824
+ * - everything else (claude-*, custom full ids)
825
+ * → AnthropicProvider
826
+ * (ANTHROPIC_API_KEY env).
827
+ *
828
+ * Exported so tests / hosts can lock the dispatch shape independently of
829
+ * `maestroProvider`'s I/O. The codex match is prefix-based so hosts can ship
830
+ * new codex slugs (gpt-5.6, future tiers) without a dispatcher change — only
831
+ * the registry alias map needs updating.
791
832
  */
792
833
  export function providerForModel(resolvedModel) {
834
+ if (isCodexModel(resolvedModel)) {
835
+ return CodexResponsesProvider.fromEnv();
836
+ }
793
837
  if (resolvedModel.startsWith("deepseek-")) {
794
838
  return DeepseekProvider.fromEnv();
795
839
  }
796
840
  return AnthropicProvider.fromEnv();
797
841
  }
842
+ /**
843
+ * Heuristic: does this resolved model id belong on the Codex backend?
844
+ *
845
+ * The codex `/codex/models` endpoint enforces an exact whitelist of slugs
846
+ * (`gpt-5.5`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.3-codex`, `gpt-5.2`, ...),
847
+ * but we accept any `gpt-5.*` / `gpt-4.*` / `o3` / `o4` here so the dispatcher
848
+ * routes correctly even before a new slug lands in the registry. The backend
849
+ * itself will 400 on unsupported slugs with an informative `detail` — better
850
+ * to surface that than to silently fall through to Anthropic (which would
851
+ * also 400, but with a less useful "model not found" message).
852
+ */
853
+ function isCodexModel(model) {
854
+ return (model.startsWith("gpt-5") ||
855
+ model.startsWith("gpt-4") ||
856
+ model === "o3" ||
857
+ model === "o4" ||
858
+ model.startsWith("o3-") ||
859
+ model.startsWith("o4-"));
860
+ }
798
861
  /**
799
862
  * Combine two optional thinking budgets — keyword-derived and effort-derived
800
863
  * — by picking the higher non-undefined value. Used by `maestroProvider` so
@@ -831,5 +894,5 @@ export function pickHigherBudget(a, b) {
831
894
  * Exported for unit coverage — used internally by `maestroProvider`'s catch
832
895
  * branch to distinguish a user-initiated abort from a real provider crash.
833
896
  */
834
- export { isAbortError };
897
+ export { isAbortError, isTimeoutError };
835
898
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Codex OAuth loader + refresh.
3
+ *
4
+ * Reads `~/.codex/auth.json` (the file the upstream `codex` CLI maintains) and
5
+ * surfaces the access token in the shape the Codex Responses provider needs.
6
+ * Handles JWT-claim extraction for the `ChatGPT-Account-ID` Cloudflare header
7
+ * and refreshes the access token against `https://auth.openai.com/oauth/token`
8
+ * when it is past the configured skew threshold.
9
+ *
10
+ * Why we read codex's own file rather than running our own OAuth flow:
11
+ * - The user already authenticated via `codex login`. Forcing a second
12
+ * OAuth dance just to use the same backend would be hostile UX.
13
+ * - codex CLI rotates refresh tokens periodically and writes them back to
14
+ * `auth.json`. We write the rotated refresh token back to the same file
15
+ * so both clients stay in sync — single source of truth.
16
+ *
17
+ * Hermes reference: `hermes_cli/auth.py::refresh_codex_oauth_pure` and
18
+ * `agent/auxiliary_client.py::_codex_cloudflare_headers`. Behavioral parity
19
+ * with those two functions is the bar — diverge only when a TS-specific
20
+ * concern (no httpx, no JWT lib) forces it.
21
+ */
22
+ /**
23
+ * Disk layout of `~/.codex/auth.json` as written by the upstream codex CLI.
24
+ *
25
+ * Two auth modes coexist: `chatgpt` (OAuth, what we care about) and `apikey`
26
+ * (legacy `OPENAI_API_KEY`). We only handle the former — apikey mode users
27
+ * would just point a regular OpenAI provider at the standard endpoint.
28
+ *
29
+ * `account_id` and `id_token` are present in newer codex versions but neither
30
+ * is required for the Responses API call; we keep the fields typed so a future
31
+ * caller can read them without re-parsing the file.
32
+ */
33
+ export interface CodexAuthFile {
34
+ OPENAI_API_KEY: string | null;
35
+ auth_mode: "chatgpt" | "apikey" | string;
36
+ last_refresh: string;
37
+ tokens: {
38
+ access_token: string;
39
+ account_id?: string;
40
+ id_token?: string;
41
+ refresh_token: string;
42
+ };
43
+ }
44
+ /** Path to `auth.json`. Honors `CODEX_HOME` env var for parity with
45
+ * upstream codex CLI; falls back to `~/.codex/auth.json`. */
46
+ export declare function codexAuthPath(): string;
47
+ /** Read the auth file. Throws a structured error if the file is missing or
48
+ * malformed — callers can map this to a "run `codex login`" message. */
49
+ export declare function readCodexAuth(path?: string): CodexAuthFile;
50
+ /**
51
+ * Decode a JWT access token (no signature verification — we only need the
52
+ * `chatgpt_account_id` claim for an HTTP header). Returns `undefined` if the
53
+ * token isn't a parseable JWT; callers must tolerate that case and fall back
54
+ * to omitting the `ChatGPT-Account-ID` header (the request still succeeds for
55
+ * most account types — only Cloudflare-edge mitigation rules require it).
56
+ */
57
+ export declare function decodeJwtClaims(accessToken: string): Record<string, unknown> | undefined;
58
+ /**
59
+ * Pull the `chatgpt_account_id` value out of a Codex JWT. The claim path
60
+ * (`https://api.openai.com/auth.chatgpt_account_id`) is what hermes pins
61
+ * against codex-rs `auth.rs`; we copy it verbatim.
62
+ */
63
+ export declare function extractAccountId(accessToken: string): string | undefined;
64
+ /**
65
+ * Return the access-token `exp` claim as an absolute epoch-seconds value, or
66
+ * `undefined` if not present / unparseable. Used by `accessTokenIsExpiring`.
67
+ */
68
+ export declare function accessTokenExpiresAt(accessToken: string): number | undefined;
69
+ /**
70
+ * `true` when the access token is within `skewSeconds` of its `exp` claim
71
+ * (or already expired). Tokens with no `exp` claim are conservatively treated
72
+ * as "always refresh" — better to round-trip the refresh endpoint than to
73
+ * leak a stale token into a long-running stream.
74
+ */
75
+ export declare function accessTokenIsExpiring(accessToken: string, skewSeconds?: number): boolean;
76
+ /**
77
+ * Required Cloudflare-bypass headers for `chatgpt.com/backend-api/codex`.
78
+ *
79
+ * The edge in front of the Codex endpoint allowlists requests whose
80
+ * `originator` is one of `codex_cli_rs`, `codex_vscode`, `codex_sdk_ts`, or
81
+ * anything starting with `Codex`. Non-residential IPs without an allowlisted
82
+ * originator get a 403 with `cf-mitigated: challenge` regardless of auth
83
+ * correctness — meaning the request never reaches the application layer and
84
+ * the bug looks like an auth problem when it isn't.
85
+ *
86
+ * We pin `originator: codex_cli_rs` (the upstream codex-rs CLI value) and
87
+ * shape the User-Agent to match codex-rs's fingerprint. The
88
+ * `ChatGPT-Account-ID` header is conditional — most accounts don't need it,
89
+ * but Enterprise / Team accounts will 403 without it.
90
+ */
91
+ export declare function cloudflareHeaders(accessToken: string): Record<string, string>;
92
+ /**
93
+ * Error type for all OAuth-related failures. `reloginRequired` indicates the
94
+ * user must run `codex login` again — the refresh-token chain is unrecoverable.
95
+ * Other failures (network, 5xx) are retryable in-process.
96
+ */
97
+ export declare class CodexAuthError extends Error {
98
+ readonly code: string;
99
+ readonly reloginRequired: boolean;
100
+ constructor(message: string, code: string, reloginRequired: boolean);
101
+ }
102
+ /**
103
+ * Refresh the access token using the stored refresh token. Returns the new
104
+ * tokens (access + possibly rotated refresh) without touching the on-disk
105
+ * file. Callers that want to persist call `writeRefreshedTokens()` below.
106
+ *
107
+ * Behavior mirrors hermes's `refresh_codex_oauth_pure` — same client_id,
108
+ * same form-encoded body, same error-mapping rules. The notable difference is
109
+ * that we leave timeouts to the platform `fetch` (Node 22+ supports
110
+ * `signal: AbortSignal.timeout(ms)`); we don't pull in a `httpx` analog.
111
+ */
112
+ export declare function refreshAccessToken(refreshToken: string, timeoutMs?: number): Promise<{
113
+ access_token: string;
114
+ refresh_token: string;
115
+ }>;
116
+ /**
117
+ * Persist a freshly refreshed token pair back to `~/.codex/auth.json` while
118
+ * preserving the other fields (auth_mode, OPENAI_API_KEY, account_id,
119
+ * id_token). Updates `last_refresh` to "now". Best-effort — if the write
120
+ * fails the in-process token is still usable for the lifetime of the
121
+ * process; we just won't share it with codex CLI.
122
+ *
123
+ * Note: this is racy with codex CLI running in parallel. The upstream
124
+ * codex-rs implementation uses an advisory file lock; we don't bother
125
+ * because typical maestro usage doesn't overlap with `codex` invocations
126
+ * on the same machine. If lock contention becomes a real problem, lift
127
+ * the lockfile pattern from hermes's `_auth_store_lock`.
128
+ */
129
+ export declare function writeRefreshedTokens(newTokens: {
130
+ access_token: string;
131
+ refresh_token: string;
132
+ }, path?: string): void;
133
+ /**
134
+ * The top-level helper a Provider uses on every turn. Reads the on-disk
135
+ * tokens; refreshes if expiring; writes the refreshed pair back to disk;
136
+ * returns the live access token. Idempotent under concurrent calls within
137
+ * one process — repeated calls in the same expiry window just hit the
138
+ * `isExpiring` short-circuit. Cross-process concurrency is best-effort
139
+ * (see `writeRefreshedTokens`).
140
+ *
141
+ * `forceRefresh` is exposed for tests and for hosts that want to recover
142
+ * from a 401 mid-stream by minting a fresh token and retrying once.
143
+ */
144
+ export declare function resolveAccessToken(opts?: {
145
+ forceRefresh?: boolean;
146
+ skewSeconds?: number;
147
+ timeoutMs?: number;
148
+ }): Promise<string>;
149
+ //# sourceMappingURL=codex-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-auth.d.ts","sourceRoot":"","sources":["../../src/providers/codex-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAeD;8DAC8D;AAC9D,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED;yEACyE;AACzE,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAkC1D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAaxF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOxE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,SAA+B,GACzC,OAAO,CAKT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS7E;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;aACZ,eAAe,EAAE,OAAO;gBAFxC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO;CAK3C;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,SAAS,SAAS,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CA8H1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAC1D,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAaN;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,CAAC,EAAE;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB"}