@bitkyc08/opencodex 2.7.42 → 2.7.43
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 +8 -1
- package/bin/ocx.mjs +13 -14
- package/gui/dist/assets/index-Czw-jpTU.css +1 -0
- package/gui/dist/assets/index-cmds12BG.js +67 -0
- package/gui/dist/index.html +2 -2
- package/package.json +1 -1
- package/src/AGENTS.md +28 -0
- package/src/adapters/anthropic.ts +15 -6
- package/src/adapters/cursor/native-exec-shell.ts +18 -6
- package/src/adapters/cursor/protobuf-events.ts +24 -2
- package/src/adapters/cursor/protobuf-request.ts +1 -2
- package/src/adapters/cursor/tool-definitions.ts +68 -29
- package/src/adapters/google-wire-compiler.ts +4 -0
- package/src/adapters/google.ts +128 -2
- package/src/adapters/identity.ts +12 -2
- package/src/adapters/kiro.ts +49 -6
- package/src/adapters/mimo-free.ts +2 -0
- package/src/adapters/openai-responses.ts +246 -59
- package/src/claude/agents-inject.ts +5 -0
- package/src/claude/inbound.ts +26 -9
- package/src/cli/account-auth.ts +1 -1
- package/src/cli/agent-driven.ts +37 -0
- package/src/cli/claude.ts +3 -3
- package/src/cli/doctor.ts +23 -18
- package/src/cli/help.ts +42 -6
- package/src/cli/index.ts +88 -19
- package/src/cli/interactive-confirm.ts +129 -0
- package/src/cli/opencode.ts +701 -0
- package/src/cli/provider-runtime.ts +3 -0
- package/src/cli/provider.ts +31 -10
- package/src/cli/star-prompt.ts +55 -16
- package/src/cli/status.ts +47 -13
- package/src/codex/account-id.ts +34 -0
- package/src/codex/account-lifecycle.ts +4 -1
- package/src/codex/account-namespace-match.ts +63 -0
- package/src/codex/account-namespaces.ts +149 -0
- package/src/codex/account-pause.ts +20 -0
- package/src/codex/account-usability.ts +6 -1
- package/src/codex/app-server-processes.ts +511 -0
- package/src/codex/auth-api.ts +293 -34
- package/src/codex/auth-collision.ts +2 -1
- package/src/codex/auth-context.ts +60 -17
- package/src/codex/catalog/parsing.ts +16 -1
- package/src/codex/catalog/provider-fetch.ts +48 -12
- package/src/codex/catalog/sync.ts +18 -3
- package/src/codex/catalog.ts +1 -1
- package/src/codex/history-provider.ts +145 -1
- package/src/codex/inject.ts +114 -14
- package/src/codex/main-account.ts +2 -8
- package/src/codex/pool-rotation.ts +186 -0
- package/src/codex/quota.ts +15 -0
- package/src/codex/routing.ts +695 -106
- package/src/codex/shim.ts +4 -1
- package/src/codex/subagent-defaults.ts +550 -0
- package/src/codex/subagent-model-fallback.ts +2 -0
- package/src/codex/sync.ts +3 -0
- package/src/config.ts +566 -25
- package/src/images/artifacts.ts +516 -0
- package/src/images/fulfill-video.ts +163 -0
- package/src/images/fulfill.ts +111 -0
- package/src/images/index.ts +4 -0
- package/src/images/loop.ts +789 -0
- package/src/images/plan.ts +133 -0
- package/src/images/synthetic-tool.ts +133 -0
- package/src/images/types.ts +41 -0
- package/src/images/xai-client.ts +141 -0
- package/src/images/xai-video-client.ts +163 -0
- package/src/lib/admin-secrets.ts +25 -0
- package/src/lib/config-ownership.ts +327 -0
- package/src/lib/crash-guard.ts +2 -0
- package/src/lib/destination-policy.ts +122 -4
- package/src/lib/pinned-http.ts +151 -0
- package/src/lib/process-control.ts +2 -2
- package/src/lib/provider-outbound.ts +164 -0
- package/src/lib/provider-url.ts +14 -0
- package/src/lib/proxy-env.ts +18 -0
- package/src/lib/windows-elevation.ts +81 -3
- package/src/lib/windows-secret-acl.ts +189 -12
- package/src/lib/winsw.ts +2 -0
- package/src/oauth/anthropic-routing.ts +570 -0
- package/src/oauth/health.ts +6 -0
- package/src/oauth/index.ts +283 -72
- package/src/oauth/key-providers.ts +17 -6
- package/src/oauth/kimi.ts +2 -0
- package/src/oauth/kiro-credentials.ts +322 -10
- package/src/oauth/kiro.ts +423 -43
- package/src/oauth/login-cli.ts +32 -5
- package/src/oauth/store.ts +54 -4
- package/src/oauth/types.ts +11 -0
- package/src/providers/alibaba-region-migration.ts +16 -3
- package/src/providers/antigravity-models.ts +3 -0
- package/src/providers/api-keys.ts +13 -6
- package/src/providers/derive.ts +6 -0
- package/src/providers/key-failover.ts +24 -4
- package/src/providers/quota.ts +233 -29
- package/src/providers/registry.ts +11 -3
- package/src/responses/parser.ts +11 -0
- package/src/responses/state.ts +22 -8
- package/src/responses/tool-groups.ts +19 -0
- package/src/router.ts +14 -4
- package/src/server/auth-cors.ts +110 -22
- package/src/server/claude-messages.ts +8 -1
- package/src/server/gui-static.ts +30 -6
- package/src/server/images.ts +303 -9
- package/src/server/index.ts +77 -9
- package/src/server/lifecycle.ts +25 -1
- package/src/server/management/agent-settings-routes.ts +28 -4
- package/src/server/management/combo-routes.ts +7 -0
- package/src/server/management/config-routes.ts +5 -2
- package/src/server/management/logs-usage-routes.ts +167 -3
- package/src/server/management/oauth-account-routes.ts +163 -17
- package/src/server/management/provider-routes.ts +35 -7
- package/src/server/management/system-restart.ts +172 -0
- package/src/server/management/system-routes.ts +33 -10
- package/src/server/management-api.ts +2 -2
- package/src/server/management-auth.ts +216 -0
- package/src/server/proxy-liveness.ts +14 -3
- package/src/server/responses/compact.ts +21 -13
- package/src/server/responses/core.ts +583 -152
- package/src/server/responses-image-gen-repair.ts +118 -0
- package/src/server/responses-item-id-repair.ts +10 -85
- package/src/server/sse-payload-rewrite.ts +116 -0
- package/src/server/system-env.ts +28 -10
- package/src/service.ts +49 -2
- package/src/storage/cleanup-job.ts +57 -0
- package/src/storage/cleanup.ts +1504 -28
- package/src/storage/policy-job.ts +366 -0
- package/src/storage/policy-scheduler.ts +40 -0
- package/src/storage/policy-worker.ts +53 -0
- package/src/storage/policy.ts +522 -0
- package/src/storage/restore-job.ts +242 -0
- package/src/storage/restore-worker.ts +52 -0
- package/src/storage/storage-mutation-coordinator.ts +109 -0
- package/src/tray/windows.ts +2 -0
- package/src/types.ts +96 -1
- package/src/update/index.ts +36 -18
- package/src/update/job.ts +103 -12
- package/src/update/npm-invocation.d.mts +23 -0
- package/src/update/npm-invocation.mjs +94 -0
- package/src/usage/debug.ts +2 -0
- package/src/usage/log.ts +4 -0
- package/gui/dist/assets/index-Bl_VBGoI.js +0 -65
- package/gui/dist/assets/index-DfVGuN88.css +0 -1
|
@@ -51,6 +51,7 @@ import {
|
|
|
51
51
|
isCodexAuthContextUsable,
|
|
52
52
|
resolveCodexAuthContext,
|
|
53
53
|
codexProbeLeaseId,
|
|
54
|
+
codexProbeQuotaScope,
|
|
54
55
|
type CodexAuthContext,
|
|
55
56
|
} from "../../codex/auth-context";
|
|
56
57
|
import {
|
|
@@ -217,7 +218,7 @@ export async function handleResponsesCompact(
|
|
|
217
218
|
const headers = new Headers({ "content-type": "application/json" });
|
|
218
219
|
try {
|
|
219
220
|
if (route.codexAccountMode) {
|
|
220
|
-
authCtx = await resolveCodexAuthContext(req.headers, config, route.codexAccountMode);
|
|
221
|
+
authCtx = await resolveCodexAuthContext(req.headers, config, route.codexAccountMode, { modelId: selectedModelId });
|
|
221
222
|
const selected = headersForCodexAuthContext(req.headers, authCtx);
|
|
222
223
|
compactProvider = applyCodexAuthContextToProvider(route.provider, authCtx, route.codexAccountMode);
|
|
223
224
|
for (const name of FORWARD_HEADERS) {
|
|
@@ -255,12 +256,17 @@ export async function handleResponsesCompact(
|
|
|
255
256
|
const compactUrl = `${base}/responses/compact`;
|
|
256
257
|
const compactThreadId = req.headers.get("x-codex-parent-thread-id");
|
|
257
258
|
const connectMs = config.connectTimeoutMs ?? 200_000;
|
|
258
|
-
const recordCompactPoolOutcome = (
|
|
259
|
+
const recordCompactPoolOutcome = (
|
|
260
|
+
outcome: CodexUpstreamOutcome,
|
|
261
|
+
meta: { retryAfter?: string | null; resetAt?: unknown | unknown[] } = {},
|
|
262
|
+
) => {
|
|
259
263
|
if (!usesCodexForwardPoolAuth(authCtx, route.provider)) return;
|
|
260
264
|
recordCodexUpstreamOutcome(config, authCtx.accountId, outcome, {
|
|
261
265
|
...meta,
|
|
262
266
|
threadId: compactThreadId,
|
|
267
|
+
modelId: selectedModelId,
|
|
263
268
|
probeLeaseId: codexProbeLeaseId(authCtx),
|
|
269
|
+
probeQuotaScope: codexProbeQuotaScope(authCtx),
|
|
264
270
|
});
|
|
265
271
|
};
|
|
266
272
|
let upstream: Response;
|
|
@@ -283,28 +289,30 @@ export async function handleResponsesCompact(
|
|
|
283
289
|
{ abortSignal: req.signal, label: safeHostLabel(compactUrl) },
|
|
284
290
|
);
|
|
285
291
|
} catch (err) {
|
|
286
|
-
if (req.signal.aborted)
|
|
292
|
+
if (req.signal.aborted) {
|
|
293
|
+
recordCompactPoolOutcome(499);
|
|
294
|
+
return formatErrorResponse(499, "client_cancelled", "Client cancelled compact request");
|
|
295
|
+
}
|
|
287
296
|
const outcome = err instanceof Error && err.name === "TimeoutError" ? "timeout" : "connect_error";
|
|
288
297
|
recordCompactPoolOutcome(outcome);
|
|
289
298
|
return formatErrorResponse(502, "upstream_error", "Failed to connect to compact upstream");
|
|
290
299
|
}
|
|
291
300
|
const retryAfter = upstream.headers.get("retry-after");
|
|
301
|
+
const resetAt = [
|
|
302
|
+
upstream.headers.get("x-codex-primary-reset-at"),
|
|
303
|
+
upstream.headers.get("x-codex-secondary-reset-at"),
|
|
304
|
+
upstream.headers.get("x-codex-tertiary-reset-at"),
|
|
305
|
+
].filter(Boolean);
|
|
292
306
|
const buffered = await bufferCompactResponse(upstream, req.signal);
|
|
293
307
|
// Record pool health only after the body is fully delivered (or definitively failed).
|
|
294
308
|
// A premature 200 would clear soft-avoid while the client still sees a buffer 502.
|
|
295
309
|
if (buffered.status === 499) {
|
|
310
|
+
recordCompactPoolOutcome(499);
|
|
296
311
|
return buffered;
|
|
297
312
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
// reset on a small JSON payload) is a local proxy issue, not account flakiness.
|
|
302
|
-
// Record the upstream status so a deterministic payload-size limit does not
|
|
303
|
-
// soft-avoid a healthy account and rotate a thread for 30s.
|
|
304
|
-
recordCompactPoolOutcome(upstream.status, { retryAfter });
|
|
305
|
-
} else {
|
|
306
|
-
recordCompactPoolOutcome(upstream.status, { retryAfter });
|
|
307
|
-
}
|
|
313
|
+
// Always record the real upstream status: a local buffering failure after a
|
|
314
|
+
// 200 upstream response must not soft-avoid a healthy account or rotate a thread.
|
|
315
|
+
recordCompactPoolOutcome(upstream.status, { retryAfter, resetAt });
|
|
308
316
|
return buffered;
|
|
309
317
|
}
|
|
310
318
|
|