@ai0x0/codex-ts 0.6.5 → 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 +77 -27
- 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/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)
|
|
@@ -252,10 +274,25 @@ extraUserMessages) {
|
|
|
252
274
|
// codex-api/src/sse/responses.rs 的 reasoning delta 分支。供 host 在模型
|
|
253
275
|
// "真正 thinking"(而非仅已发请求未回)时显示 Thinking。Gemini 的 thinking
|
|
254
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。
|
|
255
284
|
const delta = String(raw["delta"] ?? "");
|
|
285
|
+
const blockIndex = raw["type"] === "response.reasoning_summary_text.delta"
|
|
286
|
+
? raw["summary_index"]
|
|
287
|
+
: raw["content_index"];
|
|
256
288
|
emitEvent({
|
|
257
289
|
type: "ReasoningContentDelta",
|
|
258
|
-
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
|
+
},
|
|
259
296
|
});
|
|
260
297
|
break;
|
|
261
298
|
}
|
|
@@ -305,6 +342,10 @@ extraUserMessages) {
|
|
|
305
342
|
const lastUsage = {
|
|
306
343
|
input_tokens: inputTokensThisRound,
|
|
307
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),
|
|
308
349
|
output_tokens: numberOr(usage["output_tokens"], 0),
|
|
309
350
|
reasoning_output_tokens: numberOr(outputDetails?.["reasoning_tokens"], 0),
|
|
310
351
|
total_tokens: numberOr(usage["total_tokens"], inputTokensThisRound + numberOr(usage["output_tokens"], 0)),
|
|
@@ -326,15 +367,18 @@ extraUserMessages) {
|
|
|
326
367
|
}
|
|
327
368
|
break;
|
|
328
369
|
}
|
|
329
|
-
case "response.failed":
|
|
330
|
-
|
|
331
|
-
//
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
|
|
337
|
-
|
|
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);
|
|
338
382
|
}
|
|
339
383
|
}
|
|
340
384
|
}
|
|
@@ -449,7 +493,7 @@ extraUserMessages) {
|
|
|
449
493
|
history.push(outputItem);
|
|
450
494
|
await liveThread?.appendConversationItems([outputItem]);
|
|
451
495
|
}
|
|
452
|
-
// ── Auto-compaction check (mirrors post-sampling compact, turn.rs:
|
|
496
|
+
// ── Auto-compaction check (mirrors post-sampling compact, turn.rs:417-455) ─
|
|
453
497
|
// Only triggered mid-turn (more sampling rounds follow), matching
|
|
454
498
|
// `token_limit_reached && needs_follow_up` in codex-rs. Runs AFTER the tool
|
|
455
499
|
// outputs are recorded — codex-rs compacts only between COMPLETE rounds; an
|
|
@@ -460,7 +504,13 @@ extraUserMessages) {
|
|
|
460
504
|
// active context ≥ contextWindow (see autoCompactTokenStatus).
|
|
461
505
|
{
|
|
462
506
|
const status = autoCompactTokenStatus(config, compactWindow, tokenState);
|
|
463
|
-
|
|
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) {
|
|
464
514
|
await runCompactAndRecompute(history, config, compactWindow, tokenState, emitEvent);
|
|
465
515
|
}
|
|
466
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"}
|