@ai0x0/codex-ts 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -3
- package/dist/core/src/codex_thread.d.ts +6 -0
- package/dist/core/src/codex_thread.d.ts.map +1 -1
- package/dist/core/src/codex_thread.js +62 -7
- package/dist/core/src/codex_thread.js.map +1 -1
- package/dist/core/src/compact.d.ts +12 -2
- package/dist/core/src/compact.d.ts.map +1 -1
- package/dist/core/src/compact.js +28 -11
- package/dist/core/src/compact.js.map +1 -1
- package/dist/core/src/index.d.ts +4 -4
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/index.js +3 -3
- package/dist/core/src/index.js.map +1 -1
- package/dist/core/src/session/retry.d.ts +47 -5
- package/dist/core/src/session/retry.d.ts.map +1 -1
- package/dist/core/src/session/retry.js +143 -6
- package/dist/core/src/session/retry.js.map +1 -1
- package/dist/core/src/session/turn.d.ts +6 -0
- package/dist/core/src/session/turn.d.ts.map +1 -1
- package/dist/core/src/session/turn.js +103 -42
- package/dist/core/src/session/turn.js.map +1 -1
- package/dist/core/src/skills.d.ts +35 -2
- package/dist/core/src/skills.d.ts.map +1 -1
- package/dist/core/src/skills.js +146 -41
- package/dist/core/src/skills.js.map +1 -1
- package/dist/core/src/state/auto_compact_window.d.ts +58 -4
- package/dist/core/src/state/auto_compact_window.d.ts.map +1 -1
- package/dist/core/src/state/auto_compact_window.js +89 -5
- package/dist/core/src/state/auto_compact_window.js.map +1 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.d.ts +10 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.d.ts.map +1 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.js +30 -2
- package/dist/core/src/tools/handlers/request_user_input_spec.js.map +1 -1
- package/dist/core/src/tools/router.d.ts.map +1 -1
- package/dist/core/src/tools/router.js +12 -2
- package/dist/core/src/tools/router.js.map +1 -1
- package/dist/core/tests/suite/compact.test.js +64 -7
- package/dist/core/tests/suite/compact.test.js.map +1 -1
- package/dist/core/tests/suite/goal.test.js +18 -2
- package/dist/core/tests/suite/goal.test.js.map +1 -1
- package/dist/core/tests/suite/image_input.test.js +23 -0
- package/dist/core/tests/suite/image_input.test.js.map +1 -1
- package/dist/core/tests/suite/reasoning_delta.test.d.ts +11 -0
- package/dist/core/tests/suite/reasoning_delta.test.d.ts.map +1 -0
- package/dist/core/tests/suite/reasoning_delta.test.js +85 -0
- package/dist/core/tests/suite/reasoning_delta.test.js.map +1 -0
- package/dist/core/tests/suite/request_user_input.test.js +78 -1
- package/dist/core/tests/suite/request_user_input.test.js.map +1 -1
- package/dist/core/tests/suite/skills.test.js +30 -2
- package/dist/core/tests/suite/skills.test.js.map +1 -1
- package/dist/core/tests/suite/stream_failure.test.d.ts +11 -0
- package/dist/core/tests/suite/stream_failure.test.d.ts.map +1 -0
- package/dist/core/tests/suite/stream_failure.test.js +162 -0
- package/dist/core/tests/suite/stream_failure.test.js.map +1 -0
- package/dist/core/tests/suite/token_count.test.js +8 -1
- package/dist/core/tests/suite/token_count.test.js.map +1 -1
- package/dist/core/tests/suite/tool_arg_parse_error.test.d.ts +14 -0
- package/dist/core/tests/suite/tool_arg_parse_error.test.d.ts.map +1 -0
- package/dist/core/tests/suite/tool_arg_parse_error.test.js +100 -0
- package/dist/core/tests/suite/tool_arg_parse_error.test.js.map +1 -0
- package/dist/ext/goal/src/spec.d.ts.map +1 -1
- package/dist/ext/goal/src/spec.js +14 -9
- package/dist/ext/goal/src/spec.js.map +1 -1
- package/dist/ext/goal/src/tool.d.ts.map +1 -1
- package/dist/ext/goal/src/tool.js +39 -15
- package/dist/ext/goal/src/tool.js.map +1 -1
- package/dist/protocol/src/index.d.ts +2 -1
- package/dist/protocol/src/index.d.ts.map +1 -1
- package/dist/protocol/src/index.js +1 -1
- package/dist/protocol/src/index.js.map +1 -1
- package/dist/protocol/src/protocol.d.ts +114 -5
- package/dist/protocol/src/protocol.d.ts.map +1 -1
- package/dist/protocol/src/protocol.js +13 -1
- package/dist/protocol/src/protocol.js.map +1 -1
- package/dist/protocol/src/request_user_input.d.ts +15 -0
- package/dist/protocol/src/request_user_input.d.ts.map +1 -1
- package/dist/protocol/src/user_input.d.ts +11 -0
- package/dist/protocol/src/user_input.d.ts.map +1 -1
- package/dist/state/src/runtime/goals.d.ts +15 -1
- package/dist/state/src/runtime/goals.d.ts.map +1 -1
- package/dist/state/src/runtime/goals.js +36 -3
- package/dist/state/src/runtime/goals.js.map +1 -1
- package/dist/thread-store/src/types.d.ts +5 -0
- package/dist/thread-store/src/types.d.ts.map +1 -1
- package/dist/tools/src/json_schema.d.ts +2 -0
- package/dist/tools/src/json_schema.d.ts.map +1 -1
- package/dist/tools/src/json_schema.js +4 -0
- package/dist/tools/src/json_schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -30,15 +30,23 @@ export function backoff(attempt) {
|
|
|
30
30
|
/**
|
|
31
31
|
* A non-2xx Responses API response, carrying the status and (when present) the
|
|
32
32
|
* server-requested Retry-After delay so the retry loop can honor it.
|
|
33
|
+
*
|
|
34
|
+
* `terminal` marks a failure that must NOT be retried even though its status
|
|
35
|
+
* would normally look transient — mirrors codex-rs mapping certain
|
|
36
|
+
* `response.failed` payload codes to non-retryable CodexErr variants
|
|
37
|
+
* (`insufficient_quota`, `cyber_policy`, `invalid_prompt`, `server_is_overloaded`…
|
|
38
|
+
* see CodexErr::is_retryable, protocol/src/error.rs:358).
|
|
33
39
|
*/
|
|
34
40
|
export class ResponsesApiError extends Error {
|
|
35
41
|
status;
|
|
36
42
|
retryAfterMs;
|
|
37
|
-
|
|
43
|
+
terminal;
|
|
44
|
+
constructor(status, body, retryAfterMs, terminal = false) {
|
|
38
45
|
super(`Responses API ${status}: ${body}`);
|
|
39
46
|
this.name = "ResponsesApiError";
|
|
40
47
|
this.status = status;
|
|
41
48
|
this.retryAfterMs = retryAfterMs;
|
|
49
|
+
this.terminal = terminal;
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
/**
|
|
@@ -82,20 +90,96 @@ export function isContextWindowExceededError(error) {
|
|
|
82
90
|
isContextWindowExceededText(error.message));
|
|
83
91
|
}
|
|
84
92
|
/**
|
|
85
|
-
* Classify a thrown error as retryable. Aborts (interrupts) are terminal;
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
93
|
+
* Classify a thrown error as retryable. Aborts (interrupts) are terminal; an
|
|
94
|
+
* explicitly terminal ResponsesApiError (see classifyStreamFailure) is never
|
|
95
|
+
* retried; otherwise ResponsesApiError defers to its status, and anything else
|
|
96
|
+
* (network TypeError, dropped stream, JSON/IO error) is treated as a transient
|
|
97
|
+
* connection failure — mirrors codex-rs CodexErr::is_retryable
|
|
98
|
+
* (ConnectionFailed / Stream / Io / UnexpectedStatus → true).
|
|
89
99
|
*/
|
|
90
100
|
export function isRetryableError(error) {
|
|
91
101
|
if (isAbortError(error)) {
|
|
92
102
|
return false;
|
|
93
103
|
}
|
|
94
104
|
if (error instanceof ResponsesApiError) {
|
|
95
|
-
return isRetryableStatus(error.status);
|
|
105
|
+
return !error.terminal && isRetryableStatus(error.status);
|
|
96
106
|
}
|
|
97
107
|
return true;
|
|
98
108
|
}
|
|
109
|
+
// ─── SSE terminal-event classification (mirrors codex-api sse/responses.rs) ────
|
|
110
|
+
/**
|
|
111
|
+
* Error codes that make a `response.failed` event terminal.
|
|
112
|
+
* mirrors process_responses_event's `response.failed` arm
|
|
113
|
+
* (codex-api/src/sse/responses.rs:387): each of these maps to a CodexErr that
|
|
114
|
+
* `is_retryable()` rejects, so re-sending the identical request cannot help.
|
|
115
|
+
* - insufficient_quota → CodexErr::QuotaExceeded
|
|
116
|
+
* - usage_not_included → CodexErr::UsageNotIncluded
|
|
117
|
+
* - cyber_policy → CodexErr::CyberPolicy
|
|
118
|
+
* - invalid_prompt / bio_policy → CodexErr::InvalidRequest
|
|
119
|
+
* - server_is_overloaded / slow_down → CodexErr::ServerOverloaded
|
|
120
|
+
* (context_length_exceeded is terminal too, but is handled separately because
|
|
121
|
+
* it also drives compaction / the self-heal path.)
|
|
122
|
+
*/
|
|
123
|
+
const TERMINAL_STREAM_FAILURE_CODES = new Set([
|
|
124
|
+
"insufficient_quota",
|
|
125
|
+
"usage_not_included",
|
|
126
|
+
"cyber_policy",
|
|
127
|
+
"invalid_prompt",
|
|
128
|
+
"bio_policy",
|
|
129
|
+
"server_is_overloaded",
|
|
130
|
+
"slow_down",
|
|
131
|
+
]);
|
|
132
|
+
/** mirrors rate_limit_regex (codex-api/src/sse/responses.rs:656) */
|
|
133
|
+
const RATE_LIMIT_RETRY_AFTER_RE = /try again in\s*(\d+(?:\.\d+)?)\s*(ms|s|seconds?)/i;
|
|
134
|
+
/**
|
|
135
|
+
* Parse a provider "…please try again in 11.054s" hint into milliseconds.
|
|
136
|
+
* mirrors try_parse_retry_after (codex-api/src/sse/responses.rs:599), which only
|
|
137
|
+
* honors the hint for `rate_limit_exceeded`.
|
|
138
|
+
*/
|
|
139
|
+
export function parseRateLimitRetryAfterMs(code, message) {
|
|
140
|
+
if (code !== "rate_limit_exceeded" || !message) {
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
const match = RATE_LIMIT_RETRY_AFTER_RE.exec(message);
|
|
144
|
+
if (!match) {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
const value = Number(match[1]);
|
|
148
|
+
if (!Number.isFinite(value)) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
const unit = (match[2] ?? "").toLowerCase();
|
|
152
|
+
return unit === "ms" ? Math.round(value) : Math.round(value * 1000);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Turn a terminal SSE event (`response.failed` / `response.incomplete`) into a
|
|
156
|
+
* ResponsesApiError with the same retry verdict codex-rs would reach.
|
|
157
|
+
*
|
|
158
|
+
* mirrors process_responses_event (codex-api/src/sse/responses.rs:387-431):
|
|
159
|
+
* - `response.failed` inspects `response.error.code` and maps it to a
|
|
160
|
+
* terminal or retryable CodexErr, honoring a "try again in Xs" delay for
|
|
161
|
+
* rate limits (everything unrecognised stays Retryable, like rs);
|
|
162
|
+
* - `response.incomplete` becomes CodexErr::Stream (retryable) carrying the
|
|
163
|
+
* `incomplete_details.reason`.
|
|
164
|
+
* The 503 status is a stand-in for "stream-level failure, no HTTP status" so the
|
|
165
|
+
* retryable ones land in isRetryableStatus's set.
|
|
166
|
+
*/
|
|
167
|
+
export function classifyStreamFailure(raw) {
|
|
168
|
+
const kind = String(raw["type"] ?? "");
|
|
169
|
+
const response = raw["response"];
|
|
170
|
+
if (kind === "response.incomplete") {
|
|
171
|
+
const details = response?.["incomplete_details"];
|
|
172
|
+
const reason = typeof details?.["reason"] === "string" ? details["reason"] : "unknown";
|
|
173
|
+
return new ResponsesApiError(503, `Incomplete response returned, reason: ${reason}`);
|
|
174
|
+
}
|
|
175
|
+
const error = response?.["error"];
|
|
176
|
+
const code = typeof error?.["code"] === "string" ? error["code"] : undefined;
|
|
177
|
+
const message = typeof error?.["message"] === "string" ? error["message"] : undefined;
|
|
178
|
+
const body = error !== undefined ? JSON.stringify(error) : JSON.stringify(raw);
|
|
179
|
+
const terminal = code !== undefined && TERMINAL_STREAM_FAILURE_CODES.has(code);
|
|
180
|
+
const retryAfterMs = parseRateLimitRetryAfterMs(code, message);
|
|
181
|
+
return new ResponsesApiError(503, body, retryAfterMs, terminal);
|
|
182
|
+
}
|
|
99
183
|
export function isAbortError(error) {
|
|
100
184
|
return (error instanceof DOMException &&
|
|
101
185
|
error.name === "AbortError") ||
|
|
@@ -132,6 +216,59 @@ export function parseRetryAfter(headers) {
|
|
|
132
216
|
}
|
|
133
217
|
return undefined;
|
|
134
218
|
}
|
|
219
|
+
// ─── Client-facing error classification (mirrors to_codex_protocol_error) ─────
|
|
220
|
+
/**
|
|
221
|
+
* Classify a thrown error into the protocol's CodexErrorInfo so hosts can branch
|
|
222
|
+
* on the error class instead of matching message text.
|
|
223
|
+
*
|
|
224
|
+
* mirrors CodexErr::to_codex_protocol_error (protocol/src/error.rs:415) fed by
|
|
225
|
+
* the HTTP/SSE mapping in codex-api (api_bridge.rs:33-152, sse/responses.rs:387).
|
|
226
|
+
* Only the arms codex-ts can actually reach are produced; note how much rs funnels
|
|
227
|
+
* into `Other` — `InvalidRequest` (any 400), `Stream` (network failure, dropped
|
|
228
|
+
* stream, unrecognised `response.failed`), `RequestTimeout` and `UnexpectedStatus`
|
|
229
|
+
* (401/403/404…) all hit its `_ => Other` arm, so codex-ts must not invent finer
|
|
230
|
+
* classes for them.
|
|
231
|
+
*/
|
|
232
|
+
export function codexErrorInfoFor(error) {
|
|
233
|
+
if (isContextWindowExceededError(error)) {
|
|
234
|
+
return { type: "context_window_exceeded" };
|
|
235
|
+
}
|
|
236
|
+
if (!(error instanceof ResponsesApiError)) {
|
|
237
|
+
// A rejected fetch / dropped stream — rs TransportError::Network|Timeout →
|
|
238
|
+
// CodexErr::Stream|RequestTimeout → Other.
|
|
239
|
+
return { type: "other" };
|
|
240
|
+
}
|
|
241
|
+
// rs matches on the parsed error payload's `code` / `error_type`; codex-ts only
|
|
242
|
+
// has the response body, so probe it for the same identifiers.
|
|
243
|
+
const message = error.message;
|
|
244
|
+
const has = (needle) => message.includes(needle);
|
|
245
|
+
if (has("cyber_policy")) {
|
|
246
|
+
return { type: "cyber_policy" };
|
|
247
|
+
}
|
|
248
|
+
if (has("server_is_overloaded") || has("slow_down")) {
|
|
249
|
+
return { type: "server_overloaded" };
|
|
250
|
+
}
|
|
251
|
+
// QuotaExceeded | UsageNotIncluded | UsageLimitReached all collapse into
|
|
252
|
+
// UsageLimitExceeded (error.rs:419).
|
|
253
|
+
if (has("insufficient_quota") ||
|
|
254
|
+
has("usage_not_included") ||
|
|
255
|
+
has("usage_limit_reached")) {
|
|
256
|
+
return { type: "usage_limit_exceeded" };
|
|
257
|
+
}
|
|
258
|
+
switch (error.status) {
|
|
259
|
+
// 429 → CodexErr::RetryLimit → ResponseTooManyFailedAttempts.
|
|
260
|
+
case 429:
|
|
261
|
+
return {
|
|
262
|
+
type: "response_too_many_failed_attempts",
|
|
263
|
+
http_status_code: error.status,
|
|
264
|
+
};
|
|
265
|
+
// 500 → CodexErr::InternalServerError.
|
|
266
|
+
case 500:
|
|
267
|
+
return { type: "internal_server_error" };
|
|
268
|
+
default:
|
|
269
|
+
return { type: "other" };
|
|
270
|
+
}
|
|
271
|
+
}
|
|
135
272
|
/**
|
|
136
273
|
* Abortable sleep. Rejects with an AbortError if the signal fires first, so a
|
|
137
274
|
* mid-backoff interrupt cancels the turn promptly.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../core/src/session/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0EAA0E;AAC1E,gCAAgC;AAChC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;iFACiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,MAAM,GAAG,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,gBAAgB,GAAG,GAAG,CAAC;IACpC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;AACnC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../core/src/session/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,12 @@ export interface TurnConfig {
|
|
|
83
83
|
* stream/request_max_retries. Defaults to DEFAULT_MAX_RETRIES (5).
|
|
84
84
|
*/
|
|
85
85
|
maxRetries?: number | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Overrides the inline-compaction summarization prompt. mirrors
|
|
88
|
+
* `config.compact_prompt` (compact.rs:118-123) — omit to use the bundled
|
|
89
|
+
* SUMMARIZATION_PROMPT.
|
|
90
|
+
*/
|
|
91
|
+
compactPrompt?: string | undefined;
|
|
86
92
|
/**
|
|
87
93
|
* Turn-scoped context messages prepended to `input` ahead of history,
|
|
88
94
|
* mirroring codex-rs's contextual user fragments: user_instructions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../../../core/src/session/turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../../../core/src/session/turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oCAAoC,CAAC;AAc5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAGL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAIjC,KAAK,WAAW,GAAG,gBAAgB,CAAC;AAIpC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd;;;wBAGoB;IACpB,eAAe,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3E;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC9C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC3C;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;CAC1C;AAiFD,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EAAE,EACtB,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,EAClC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS;AACnC;oDACoD;AACpD,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS;AACrC;;;;;iCAKiC;AACjC,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,SAAS,GAC5C,OAAO,CAAC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAmfvC"}
|
|
@@ -12,19 +12,28 @@
|
|
|
12
12
|
import { toolSpecToRequestJson } from "../../../tools/src/tool_spec.js";
|
|
13
13
|
import { extractSkillMentions, renderSkillInjection } from "../skills.js";
|
|
14
14
|
import { parseSseStream } from "./sse.js";
|
|
15
|
-
import { computeRetryDelay, DEFAULT_MAX_RETRIES, isContextWindowExceededError, isRetryableError, parseRetryAfter, ResponsesApiError, sleep, } from "./retry.js";
|
|
15
|
+
import { classifyStreamFailure, computeRetryDelay, DEFAULT_MAX_RETRIES, isContextWindowExceededError, isRetryableError, parseRetryAfter, ResponsesApiError, sleep, } from "./retry.js";
|
|
16
16
|
import { runInlineAutoCompactTask } from "../compact.js";
|
|
17
17
|
import { normalizeHistory } from "../normalize.js";
|
|
18
18
|
import { AutoCompactWindow } from "../state/auto_compact_window.js";
|
|
19
19
|
import { approxTokenCount, estimateItemsTokenCount, SessionTokenState, } from "../state/token_state.js";
|
|
20
20
|
// ─── Auto-compaction status + orchestration ──────────────────────────────────
|
|
21
21
|
/**
|
|
22
|
-
* mirrors
|
|
23
|
-
* the
|
|
24
|
-
*
|
|
22
|
+
* mirrors context_window_token_status (core/src/session/context_window.rs:23 —
|
|
23
|
+
* the module upstream extracted `auto_compact_token_status` into), BodyAfterPrefix
|
|
24
|
+
* scope: the limit is reached when EITHER the growth since the window baseline
|
|
25
|
+
* hits `autoCompactTokenLimit`, OR the total active context reaches the model's
|
|
25
26
|
* full `contextWindow`. The second condition is what keeps a session with a
|
|
26
27
|
* large baseline (or a force-filled one after a context-window-exceeded
|
|
27
28
|
* rejection) from sailing past the model's window.
|
|
29
|
+
*
|
|
30
|
+
* rs additionally widens the scope limit by
|
|
31
|
+
* `token_budget.auto_compact_fallback_buffer_tokens` and reports
|
|
32
|
+
* `base_window_tokens_remaining`, both only used by its feature-gated
|
|
33
|
+
* token-budget reminders (session/token_budget.rs). codex-ts has no
|
|
34
|
+
* `token_budget` config, so the buffer is 0 — identical behaviour — and the
|
|
35
|
+
* remaining-tokens readout is left out; hosts can derive it from TokenCount's
|
|
36
|
+
* `model_context_window` + `total_token_usage`.
|
|
28
37
|
*/
|
|
29
38
|
function autoCompactTokenStatus(config, compactWindow, tokenState) {
|
|
30
39
|
const activeContextTokens = tokenState.totalTokens ?? 0;
|
|
@@ -39,15 +48,19 @@ function autoCompactTokenStatus(config, compactWindow, tokenState) {
|
|
|
39
48
|
}
|
|
40
49
|
/**
|
|
41
50
|
* Run one inline compaction and reseed the token bookkeeping.
|
|
42
|
-
* mirrors run_auto_compact + recompute_token_usage (
|
|
43
|
-
* after history is rewritten, the session total and
|
|
44
|
-
* both restart from a byte-based estimate of the
|
|
45
|
-
* by real server usage on the next sampled
|
|
51
|
+
* mirrors run_auto_compact + recompute_token_usage (compact.rs:359-386 +
|
|
52
|
+
* session/mod.rs:3794-3831): after history is rewritten, the session total and
|
|
53
|
+
* the NEW window's baseline both restart from a byte-based estimate of the
|
|
54
|
+
* compacted context (replaced by real server usage on the next sampled
|
|
55
|
+
* response).
|
|
46
56
|
*/
|
|
47
57
|
async function runCompactAndRecompute(history, config, compactWindow, tokenState, emitEvent) {
|
|
48
58
|
emitEvent({ type: "ContextCompacted", event: {} });
|
|
49
59
|
await runInlineAutoCompactTask(history, config);
|
|
50
|
-
|
|
60
|
+
// mirrors advance_auto_compact_window (compact.rs:359) followed by
|
|
61
|
+
// replace_compacted_history → replace_history's clear_prefill
|
|
62
|
+
// (state/session.rs:122): one call does both here.
|
|
63
|
+
compactWindow.startNewContextWindow();
|
|
51
64
|
const estimated = estimateItemsTokenCount([...(config.contextItems ?? []), ...history]) +
|
|
52
65
|
approxTokenCount(config.instructions ?? "");
|
|
53
66
|
tokenState.setEstimated(estimated);
|
|
@@ -75,13 +88,22 @@ extraUserMessages) {
|
|
|
75
88
|
// history array). codex-rs records each queued UserInput submission as its OWN
|
|
76
89
|
// role:user item and never merges them; we mirror that by recording `userItems`
|
|
77
90
|
// (the primary message) followed by each `extraUserMessages` entry as a separate
|
|
78
|
-
// message.
|
|
91
|
+
// message. Content mapping mirrors ResponseInputItem::from(Vec<UserInput>)
|
|
92
|
+
// (protocol/src/models.rs:1735): text → input_text, image → input_image
|
|
93
|
+
// { image_url } (detail default), audio → input_audio { audio_url }.
|
|
79
94
|
const toUserContent = (items) => items
|
|
80
|
-
.map((item) =>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
:
|
|
95
|
+
.map((item) => {
|
|
96
|
+
switch (item.type) {
|
|
97
|
+
case "text":
|
|
98
|
+
return { type: "input_text", text: item.text };
|
|
99
|
+
case "image":
|
|
100
|
+
return { type: "input_image", image_url: item.image_url };
|
|
101
|
+
case "audio":
|
|
102
|
+
return { type: "input_audio", audio_url: item.audio_url };
|
|
103
|
+
default:
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
})
|
|
85
107
|
.filter((part) => part !== null);
|
|
86
108
|
const userMsgs = [userItems, ...(extraUserMessages ?? [])]
|
|
87
109
|
.map(toUserContent)
|
|
@@ -196,7 +218,6 @@ extraUserMessages) {
|
|
|
196
218
|
// deltas live, so we only retry while NO visible output has streamed yet —
|
|
197
219
|
// re-streaming after that would duplicate text downstream.
|
|
198
220
|
const functionCalls = [];
|
|
199
|
-
const partialArgs = new Map();
|
|
200
221
|
let assistantText = "";
|
|
201
222
|
let currentItemId = `item-${++itemIdCounter}`;
|
|
202
223
|
let inputTokensThisRound = 0;
|
|
@@ -204,7 +225,6 @@ extraUserMessages) {
|
|
|
204
225
|
for (;;) {
|
|
205
226
|
// A retry re-streams from scratch → reset per-attempt accumulators.
|
|
206
227
|
functionCalls.length = 0;
|
|
207
|
-
partialArgs.clear();
|
|
208
228
|
assistantText = "";
|
|
209
229
|
currentItemId = `item-${++itemIdCounter}`;
|
|
210
230
|
inputTokensThisRound = 0;
|
|
@@ -228,11 +248,10 @@ extraUserMessages) {
|
|
|
228
248
|
switch (raw["type"]) {
|
|
229
249
|
case "response.output_item.added": {
|
|
230
250
|
const item = raw["item"];
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
else if (item?.["type"] === "message") {
|
|
251
|
+
// function_call 的 arguments 整体来自下面的 output_item.done;
|
|
252
|
+
// codex-rs 不累积 arg-delta(codex-api/src/sse/responses.rs 丢弃
|
|
253
|
+
// response.function_call_arguments.delta),故此处只跟踪 message item id。
|
|
254
|
+
if (item?.["type"] === "message") {
|
|
236
255
|
currentItemId = String(item["id"] ?? currentItemId);
|
|
237
256
|
}
|
|
238
257
|
break;
|
|
@@ -255,19 +274,31 @@ extraUserMessages) {
|
|
|
255
274
|
// codex-api/src/sse/responses.rs 的 reasoning delta 分支。供 host 在模型
|
|
256
275
|
// "真正 thinking"(而非仅已发请求未回)时显示 Thinking。Gemini 的 thinking
|
|
257
276
|
// 经 codeproxy 翻译为 responses reasoning,正是从这两个 SSE 事件流出。
|
|
277
|
+
//
|
|
278
|
+
// summary_index 照搬 rs 的 ReasoningContentDelta{,Summary} 分支
|
|
279
|
+
// (responses.rs:355-379):summary 用 `summary_index`,raw
|
|
280
|
+
// reasoning 用 `content_index`,供 host 区分多段 reasoning。
|
|
281
|
+
// rs 的 SSE 层不带 item_id(由 core 的
|
|
282
|
+
// assign_missing_streamed_response_item_id 补),故这里在事件缺失
|
|
283
|
+
// item_id 时同样回落到当前 item。
|
|
258
284
|
const delta = String(raw["delta"] ?? "");
|
|
285
|
+
const blockIndex = raw["type"] === "response.reasoning_summary_text.delta"
|
|
286
|
+
? raw["summary_index"]
|
|
287
|
+
: raw["content_index"];
|
|
259
288
|
emitEvent({
|
|
260
289
|
type: "ReasoningContentDelta",
|
|
261
|
-
event: {
|
|
290
|
+
event: {
|
|
291
|
+
turn_id: turnId,
|
|
292
|
+
item_id: String(raw["item_id"] ?? currentItemId),
|
|
293
|
+
delta,
|
|
294
|
+
summary_index: typeof blockIndex === "number" ? blockIndex : 0,
|
|
295
|
+
},
|
|
262
296
|
});
|
|
263
297
|
break;
|
|
264
298
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
partial.args += String(raw["delta"] ?? "");
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
299
|
+
// response.function_call_arguments.delta 不处理:function_call 的
|
|
300
|
+
// arguments 整体来自 output_item.done;codex-rs 亦丢弃该 delta 事件
|
|
301
|
+
// (codex-api/src/sse/responses.rs 落 `_ =>`),不做累积。
|
|
271
302
|
case "response.output_item.done": {
|
|
272
303
|
const item = raw["item"];
|
|
273
304
|
if (item?.["type"] === "function_call") {
|
|
@@ -311,6 +342,10 @@ extraUserMessages) {
|
|
|
311
342
|
const lastUsage = {
|
|
312
343
|
input_tokens: inputTokensThisRound,
|
|
313
344
|
cached_input_tokens: numberOr(inputDetails?.["cached_tokens"], 0),
|
|
345
|
+
// mirrors TokenUsage::cache_write_input_tokens ←
|
|
346
|
+
// usage.input_tokens_details.cache_write_tokens
|
|
347
|
+
// (codex-api/src/sse/responses.rs:137).
|
|
348
|
+
cache_write_input_tokens: numberOr(inputDetails?.["cache_write_tokens"], 0),
|
|
314
349
|
output_tokens: numberOr(usage["output_tokens"], 0),
|
|
315
350
|
reasoning_output_tokens: numberOr(outputDetails?.["reasoning_tokens"], 0),
|
|
316
351
|
total_tokens: numberOr(usage["total_tokens"], inputTokensThisRound + numberOr(usage["output_tokens"], 0)),
|
|
@@ -332,15 +367,18 @@ extraUserMessages) {
|
|
|
332
367
|
}
|
|
333
368
|
break;
|
|
334
369
|
}
|
|
335
|
-
case "response.failed":
|
|
336
|
-
|
|
337
|
-
//
|
|
338
|
-
//
|
|
339
|
-
//
|
|
340
|
-
//
|
|
341
|
-
//
|
|
342
|
-
|
|
343
|
-
|
|
370
|
+
case "response.failed":
|
|
371
|
+
case "response.incomplete": {
|
|
372
|
+
// mirrors codex-api sse/responses.rs process_responses_event's
|
|
373
|
+
// terminal arms (responses.rs:387-431): `response.failed` is
|
|
374
|
+
// classified from `response.error.code` — quota / cyber-policy /
|
|
375
|
+
// invalid-prompt / server-overloaded are TERMINAL (rs maps them to
|
|
376
|
+
// non-retryable CodexErr variants), a rate limit carries its
|
|
377
|
+
// "try again in Xs" delay, anything unrecognised stays retryable —
|
|
378
|
+
// and `response.incomplete` becomes a retryable stream error.
|
|
379
|
+
// context-window-exceeded is detected by the catch below, which
|
|
380
|
+
// also marks the session tokens full.
|
|
381
|
+
throw classifyStreamFailure(raw);
|
|
344
382
|
}
|
|
345
383
|
}
|
|
346
384
|
}
|
|
@@ -417,9 +455,26 @@ extraUserMessages) {
|
|
|
417
455
|
let args;
|
|
418
456
|
try {
|
|
419
457
|
args = JSON.parse(call.arguments);
|
|
458
|
+
if (typeof args !== "object" || args === null || Array.isArray(args)) {
|
|
459
|
+
// rs 的 from_str::<Struct> 对非对象(如 "5"、"[...]")同样失败。
|
|
460
|
+
throw new Error("expected a JSON object");
|
|
461
|
+
}
|
|
420
462
|
}
|
|
421
|
-
catch {
|
|
422
|
-
|
|
463
|
+
catch (err) {
|
|
464
|
+
// mirror codex-rs:参数无法解析 → 把错误当 function_call_output 回给模型、
|
|
465
|
+
// 跳过 dispatch,绝不拿空参执行工具(tools/handlers/mod.rs:77-84 parse_arguments
|
|
466
|
+
// → tools/parallel.rs:186-209 failure_response;MCP 同义 mcp_tool_call.rs:117-132)。
|
|
467
|
+
// 该 call 已作为 function_call 入 history 且仍在 functionCalls,本轮不 break,
|
|
468
|
+
// 外层 for(;;) 会再采样让模型看到错误 = rs 的 needs_follow_up。
|
|
469
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
470
|
+
const errorItem = {
|
|
471
|
+
type: "function_call_output",
|
|
472
|
+
call_id: call.call_id,
|
|
473
|
+
output: `failed to parse function arguments: ${message}`,
|
|
474
|
+
};
|
|
475
|
+
history.push(errorItem);
|
|
476
|
+
await liveThread?.appendConversationItems([errorItem]);
|
|
477
|
+
continue;
|
|
423
478
|
}
|
|
424
479
|
const output = await router.dispatch(call.name, call.call_id, args, {
|
|
425
480
|
turnId,
|
|
@@ -438,7 +493,7 @@ extraUserMessages) {
|
|
|
438
493
|
history.push(outputItem);
|
|
439
494
|
await liveThread?.appendConversationItems([outputItem]);
|
|
440
495
|
}
|
|
441
|
-
// ── Auto-compaction check (mirrors post-sampling compact, turn.rs:
|
|
496
|
+
// ── Auto-compaction check (mirrors post-sampling compact, turn.rs:417-455) ─
|
|
442
497
|
// Only triggered mid-turn (more sampling rounds follow), matching
|
|
443
498
|
// `token_limit_reached && needs_follow_up` in codex-rs. Runs AFTER the tool
|
|
444
499
|
// outputs are recorded — codex-rs compacts only between COMPLETE rounds; an
|
|
@@ -449,7 +504,13 @@ extraUserMessages) {
|
|
|
449
504
|
// active context ≥ contextWindow (see autoCompactTokenStatus).
|
|
450
505
|
{
|
|
451
506
|
const status = autoCompactTokenStatus(config, compactWindow, tokenState);
|
|
452
|
-
|
|
507
|
+
// mirrors should_roll_over (turn.rs:418-420): mid-turn compaction fires
|
|
508
|
+
// when the token limit is reached OR a new context window was explicitly
|
|
509
|
+
// requested (rs's `new_context` tool; in codex-ts a host can request one
|
|
510
|
+
// via compactWindow.requestNewContextWindow()). take… clears the flag, so
|
|
511
|
+
// it must be consulted every round even when the limit already tripped.
|
|
512
|
+
const rollOverRequested = compactWindow.takeNewContextWindowRequest();
|
|
513
|
+
if (rollOverRequested || status.tokenLimitReached) {
|
|
453
514
|
await runCompactAndRecompute(history, config, compactWindow, tokenState, emitEvent);
|
|
454
515
|
}
|
|
455
516
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../../core/src/session/turn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../../core/src/session/turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,10 +40,43 @@ export type SkillMetadataBudget = {
|
|
|
40
40
|
* otherwise a flat 8000-character cap. Mirrors render.rs default_skill_metadata_budget.
|
|
41
41
|
*/
|
|
42
42
|
export declare function defaultSkillMetadataBudget(contextWindow?: number): SkillMetadataBudget;
|
|
43
|
+
/**
|
|
44
|
+
* Cap a description before it ever reaches the budget allocator.
|
|
45
|
+
* mirrors truncate_default_context_skill_description (render.rs:537), applied in
|
|
46
|
+
* SkillLine::with_path — the ORIGINAL SkillMetadata is never mutated.
|
|
47
|
+
*/
|
|
48
|
+
export declare function truncateDefaultContextSkillDescription(description: string): string;
|
|
49
|
+
/** mirrors SkillRenderReport (render.rs:430) */
|
|
50
|
+
export interface SkillRenderReport {
|
|
51
|
+
totalCount: number;
|
|
52
|
+
includedCount: number;
|
|
53
|
+
omittedCount: number;
|
|
54
|
+
truncatedDescriptionChars: number;
|
|
55
|
+
truncatedDescriptionCount: number;
|
|
56
|
+
}
|
|
57
|
+
/** mirrors AvailableSkills (render.rs:131) — the catalog body plus the
|
|
58
|
+
* out-of-band warning codex-rs surfaces as EventMsg::Warning rather than
|
|
59
|
+
* embedding in the model-visible body (session/mod.rs:3393-3402). */
|
|
60
|
+
export interface AvailableSkills {
|
|
61
|
+
/** Model-visible body, or "" when there are no skills. */
|
|
62
|
+
body: string;
|
|
63
|
+
warningMessage: string | null;
|
|
64
|
+
report: SkillRenderReport;
|
|
65
|
+
}
|
|
43
66
|
/**
|
|
44
67
|
* Render the always-on skills catalog (Layer 1), trimmed to fit `budget`.
|
|
45
|
-
*
|
|
46
|
-
*
|
|
68
|
+
* mirrors render_available_skills_body (render.rs:65) for the absolute-paths
|
|
69
|
+
* variant, plus AvailableSkillsInstructions::from_available_skills
|
|
70
|
+
* (core/src/context/available_skills_instructions.rs:25), which is where
|
|
71
|
+
* upstream moved the "### How to use skills" section.
|
|
72
|
+
*/
|
|
73
|
+
export declare function renderAvailableSkills(skills: SkillMetadata[], budget?: SkillMetadataBudget): AvailableSkills;
|
|
74
|
+
/**
|
|
75
|
+
* Browser-specific convenience wrapper — codex-rs has no single-string form.
|
|
76
|
+
* Returns the catalog body with the budget warning appended, for hosts that
|
|
77
|
+
* inject one blob and have nowhere to route a separate warning. CodexThread
|
|
78
|
+
* itself uses renderAvailableSkills() and emits the warning as a `Warning`
|
|
79
|
+
* event, exactly like codex-rs.
|
|
47
80
|
* Returns "" when there are no skills so callers can skip injection entirely.
|
|
48
81
|
*/
|
|
49
82
|
export declare function renderSkillsCatalog(skills: SkillMetadata[], budget?: SkillMetadataBudget): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../core/src/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../core/src/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA0C1C;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,CAAC,EAAE,MAAM,GACrB,mBAAmB,CASrB;AAQD;;;;GAIG;AACH,wBAAgB,sCAAsC,CACpD,WAAW,EAAE,MAAM,GAClB,MAAM,CAYR;AAuCD,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAwQD;;sEAEsE;AACtE,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,GAAE,mBAAkD,GACzD,eAAe,CA4BjB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,GAAE,mBAAkD,GACzD,MAAM,CAMR;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EAAE,GACtB,aAAa,EAAE,CAuBjB;AAiBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER"}
|