mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-09 15:59:30 +00:00
chore(codex): bump app-server to 0.143.0
This commit is contained in:
parent
1cc0a95b14
commit
366258dee6
16 changed files with 301 additions and 124 deletions
56
extensions/codex/npm-shrinkwrap.json
generated
56
extensions/codex/npm-shrinkwrap.json
generated
|
|
@ -8,16 +8,16 @@
|
|||
"name": "@openclaw/codex",
|
||||
"version": "2026.7.1-beta.3",
|
||||
"dependencies": {
|
||||
"@openai/codex": "0.142.5",
|
||||
"@openai/codex": "0.143.0",
|
||||
"typebox": "1.3.3",
|
||||
"ws": "8.21.0",
|
||||
"zod": "4.4.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@openai/codex": {
|
||||
"version": "0.142.5",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5.tgz",
|
||||
"integrity": "sha512-WQEpD7l3k68eIAP0aq28EdR18ENBAf8DyprzFhzNwCOQJSv4nHzpwT8Fl30IJacprko2ZCmUBZjM2u941l2yLw==",
|
||||
"version": "0.143.0",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0.tgz",
|
||||
"integrity": "sha512-6h53sNtESIYncWVwU7zEjdVajwcad/0H94MOrgGqhwBMa9RRUDVG6DU9E9euC7yRdtrsKDAkJkz/m5moZ6MU3A==",
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"codex": "bin/codex.js"
|
||||
|
|
@ -26,19 +26,19 @@
|
|||
"node": ">=16"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@openai/codex-darwin-arm64": "npm:@openai/codex@0.142.5-darwin-arm64",
|
||||
"@openai/codex-darwin-x64": "npm:@openai/codex@0.142.5-darwin-x64",
|
||||
"@openai/codex-linux-arm64": "npm:@openai/codex@0.142.5-linux-arm64",
|
||||
"@openai/codex-linux-x64": "npm:@openai/codex@0.142.5-linux-x64",
|
||||
"@openai/codex-win32-arm64": "npm:@openai/codex@0.142.5-win32-arm64",
|
||||
"@openai/codex-win32-x64": "npm:@openai/codex@0.142.5-win32-x64"
|
||||
"@openai/codex-darwin-arm64": "npm:@openai/codex@0.143.0-darwin-arm64",
|
||||
"@openai/codex-darwin-x64": "npm:@openai/codex@0.143.0-darwin-x64",
|
||||
"@openai/codex-linux-arm64": "npm:@openai/codex@0.143.0-linux-arm64",
|
||||
"@openai/codex-linux-x64": "npm:@openai/codex@0.143.0-linux-x64",
|
||||
"@openai/codex-win32-arm64": "npm:@openai/codex@0.143.0-win32-arm64",
|
||||
"@openai/codex-win32-x64": "npm:@openai/codex@0.143.0-win32-x64"
|
||||
}
|
||||
},
|
||||
"node_modules/@openai/codex-darwin-arm64": {
|
||||
"name": "@openai/codex",
|
||||
"version": "0.142.5-darwin-arm64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5-darwin-arm64.tgz",
|
||||
"integrity": "sha512-l43p8xv+Z/2/b6fCUc7/FmcQZsaPB7RFizLponGwHAnFOWe3i9Vky69p+up3BUam9AetoQQUv7Mo+2KdaFEqhA==",
|
||||
"version": "0.143.0-darwin-arm64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0-darwin-arm64.tgz",
|
||||
"integrity": "sha512-hs9bPkE1c0+EtbHxxVfhaaGl1u6/LVdhEtOX5t9N+ri54yjMUkzKJLc7MOBa1DYRMDTWT+lPEfeB+8Fv9coTKg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
|
@ -53,9 +53,9 @@
|
|||
},
|
||||
"node_modules/@openai/codex-darwin-x64": {
|
||||
"name": "@openai/codex",
|
||||
"version": "0.142.5-darwin-x64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5-darwin-x64.tgz",
|
||||
"integrity": "sha512-yk6A06/VmW7NFsa48OVPaj//g/zeSpd79wjuqfXZwW8ZKRYQm3+wCd3hWjPl79F3QnXvDvM2j3JMIBL3m3GXXg==",
|
||||
"version": "0.143.0-darwin-x64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0-darwin-x64.tgz",
|
||||
"integrity": "sha512-xHbrb/Qkj+ZZqYkAuio3mcFxpqlg/NNpBDz5iMKlGa7XfK3miUu6R50c9cRW1ZPQVRfRnFhs4l7OhI5u5r+HvA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
|
@ -70,9 +70,9 @@
|
|||
},
|
||||
"node_modules/@openai/codex-linux-arm64": {
|
||||
"name": "@openai/codex",
|
||||
"version": "0.142.5-linux-arm64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5-linux-arm64.tgz",
|
||||
"integrity": "sha512-77ka5PSnm5HdxdBT99IwntCasmbqevlS0eiC0AtEb6ZXCLkim2gm0AWm+jNYy0EhbssvNK+KghayWo34HMgXeA==",
|
||||
"version": "0.143.0-linux-arm64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0-linux-arm64.tgz",
|
||||
"integrity": "sha512-1TMx1a/YBEY0SBhPGn8z9HjOpaDssw+WJiIi/+r0CB5uZf6qnALN02TrZTZl2PSUI8olnBf/VccjnwVCrzR38w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
|
@ -87,9 +87,9 @@
|
|||
},
|
||||
"node_modules/@openai/codex-linux-x64": {
|
||||
"name": "@openai/codex",
|
||||
"version": "0.142.5-linux-x64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5-linux-x64.tgz",
|
||||
"integrity": "sha512-pxY+d3NgNE57Y/MApD3/TZUAygxJN6I9h3ZeDUwe67mxWjUxsuapxMRFTKSznCalYbRAeZp752+AAXmUbmguEg==",
|
||||
"version": "0.143.0-linux-x64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0-linux-x64.tgz",
|
||||
"integrity": "sha512-B6v6oUgBbjt1bL7yBbRp7e0vLiVOjRdz9Wykotve52Aq2H2TeiCqxM5BSOaFkmNO6VxE0seW7hTi2UZF9x8LLA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
|
@ -104,9 +104,9 @@
|
|||
},
|
||||
"node_modules/@openai/codex-win32-arm64": {
|
||||
"name": "@openai/codex",
|
||||
"version": "0.142.5-win32-arm64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5-win32-arm64.tgz",
|
||||
"integrity": "sha512-65BEqGbUZ7r0ayunIHdBjo5crwgbwKX/6puOcO+VCswUw/dXvDsN2IGcbXB52+bS9U5+FxP783cUHfTT6m40DQ==",
|
||||
"version": "0.143.0-win32-arm64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0-win32-arm64.tgz",
|
||||
"integrity": "sha512-8ntYPI3IQWZuayL214tYanuYhom23RxHUWRkmay45hGymEW4TwwFqzppKXEzcBXrCF5uSWlOMMG+B2elN6kWuQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
|
@ -121,9 +121,9 @@
|
|||
},
|
||||
"node_modules/@openai/codex-win32-x64": {
|
||||
"name": "@openai/codex",
|
||||
"version": "0.142.5-win32-x64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.142.5-win32-x64.tgz",
|
||||
"integrity": "sha512-a+wI4PEx9a2fg6V5ueTTDkOkr1XpEvA5RFXIbo/L2hOfzMmGtyRnbG24bCGu5Q2RSgVxSQV0aLkdb3vdYMNH9A==",
|
||||
"version": "0.143.0-win32-x64",
|
||||
"resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.143.0-win32-x64.tgz",
|
||||
"integrity": "sha512-d60HLkzSQ7rdL35xPxH1x3g8DuJjEbhEx1UOK5ivA1PBD9eWvP46rtdHkSvCZyqHUhaHFr5We2SugE9+Y8HhVA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
},
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@openai/codex": "0.142.5",
|
||||
"@openai/codex": "0.143.0",
|
||||
"typebox": "1.3.3",
|
||||
"ws": "8.21.0",
|
||||
"zod": "4.4.3"
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ async function answerInitialize(harness: ClientHarness): Promise<void> {
|
|||
timeout: HARNESS_REQUEST_TIMEOUT_MS,
|
||||
});
|
||||
const initialize = JSON.parse(harness.writes[0] ?? "{}") as { id?: number };
|
||||
harness.send({ id: initialize.id, result: { userAgent: "openclaw/0.142.0 (macOS; test)" } });
|
||||
harness.send({ id: initialize.id, result: { userAgent: "openclaw/0.143.0 (macOS; test)" } });
|
||||
}
|
||||
|
||||
async function waitForRequest(
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ describe("CodexAppServerClient", () => {
|
|||
const { harness, initializing, outbound } = startInitialize();
|
||||
harness.send({
|
||||
id: outbound.id,
|
||||
result: { userAgent: "openclaw/0.142.0 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.143.0 (macOS; test)" },
|
||||
});
|
||||
|
||||
await expect(initializing).resolves.toBeUndefined();
|
||||
|
|
@ -263,11 +263,11 @@ describe("CodexAppServerClient", () => {
|
|||
const { harness, initializing, outbound } = startInitialize();
|
||||
harness.send({
|
||||
id: outbound.id,
|
||||
result: { userAgent: "openclaw/0.142.0-alpha.2 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.143.0-alpha.2 (macOS; test)" },
|
||||
});
|
||||
|
||||
await expect(initializing).rejects.toThrow(
|
||||
`Codex app-server ${MIN_CODEX_APP_SERVER_VERSION} or newer is required, but detected 0.142.0-alpha.2`,
|
||||
`Codex app-server ${MIN_CODEX_APP_SERVER_VERSION} or newer is required, but detected 0.143.0-alpha.2`,
|
||||
);
|
||||
expect(harness.writes).toHaveLength(1);
|
||||
});
|
||||
|
|
@ -276,11 +276,11 @@ describe("CodexAppServerClient", () => {
|
|||
const { harness, initializing, outbound } = startInitialize();
|
||||
harness.send({
|
||||
id: outbound.id,
|
||||
result: { userAgent: "openclaw/0.142.0+alpha.2 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.143.0+alpha.2 (macOS; test)" },
|
||||
});
|
||||
|
||||
await expect(initializing).rejects.toThrow(
|
||||
`Codex app-server ${MIN_CODEX_APP_SERVER_VERSION} or newer is required, but detected 0.142.0+alpha.2`,
|
||||
`Codex app-server ${MIN_CODEX_APP_SERVER_VERSION} or newer is required, but detected 0.143.0+alpha.2`,
|
||||
);
|
||||
expect(harness.writes).toHaveLength(1);
|
||||
});
|
||||
|
|
@ -289,7 +289,7 @@ describe("CodexAppServerClient", () => {
|
|||
const { harness, initializing, outbound } = startInitialize();
|
||||
harness.send({
|
||||
id: outbound.id,
|
||||
result: { userAgent: "openclaw/0.143.0-alpha.1 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.144.0-alpha.1 (macOS; test)" },
|
||||
});
|
||||
|
||||
await expect(initializing).resolves.toBeUndefined();
|
||||
|
|
@ -300,7 +300,7 @@ describe("CodexAppServerClient", () => {
|
|||
const { harness, initializing, outbound } = startInitialize();
|
||||
harness.send({
|
||||
id: outbound.id,
|
||||
result: { userAgent: "openclaw/0.143.0+custom (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.144.0+custom (macOS; test)" },
|
||||
});
|
||||
|
||||
await expect(initializing).resolves.toBeUndefined();
|
||||
|
|
@ -488,7 +488,7 @@ describe("CodexAppServerClient", () => {
|
|||
|
||||
it("reads the Codex version from the app-server user agent", () => {
|
||||
expect(readCodexVersionFromUserAgent("Codex Desktop/0.125.0")).toBe("0.125.0");
|
||||
expect(readCodexVersionFromUserAgent("openclaw/0.142.0 (macOS; test)")).toBe("0.142.0");
|
||||
expect(readCodexVersionFromUserAgent("openclaw/0.143.0 (macOS; test)")).toBe("0.143.0");
|
||||
expect(readCodexVersionFromUserAgent("codex_cli_rs/0.125.0-dev (linux; test)")).toBe(
|
||||
"0.125.0-dev",
|
||||
);
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ describe("listCodexAppServerModels", () => {
|
|||
const initialize = JSON.parse(harness.writes[0] ?? "{}") as { id?: number };
|
||||
harness.send({
|
||||
id: initialize.id,
|
||||
result: { userAgent: "openclaw/0.142.0 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.143.0 (macOS; test)" },
|
||||
});
|
||||
await vi.waitFor(() => expect(harness.writes.length).toBeGreaterThanOrEqual(3));
|
||||
const list = JSON.parse(harness.writes[2] ?? "{}") as { id?: number; method?: string };
|
||||
|
|
@ -132,7 +132,7 @@ describe("listCodexAppServerModels", () => {
|
|||
const initialize = JSON.parse(harness.writes[0] ?? "{}") as { id?: number };
|
||||
harness.send({
|
||||
id: initialize.id,
|
||||
result: { userAgent: "openclaw/0.142.0 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.143.0 (macOS; test)" },
|
||||
});
|
||||
await vi.waitFor(() => expect(harness.writes.length).toBeGreaterThanOrEqual(3));
|
||||
const firstList = JSON.parse(harness.writes[2] ?? "{}") as {
|
||||
|
|
@ -212,7 +212,7 @@ describe("listCodexAppServerModels", () => {
|
|||
const initialize = JSON.parse(harness.writes[0] ?? "{}") as { id?: number };
|
||||
harness.send({
|
||||
id: initialize.id,
|
||||
result: { userAgent: "openclaw/0.142.0 (macOS; test)" },
|
||||
result: { userAgent: "openclaw/0.143.0 (macOS; test)" },
|
||||
});
|
||||
await vi.waitFor(() => expect(harness.writes.length).toBeGreaterThanOrEqual(3));
|
||||
const firstList = JSON.parse(harness.writes[2] ?? "{}") as { id?: number };
|
||||
|
|
|
|||
|
|
@ -124,6 +124,7 @@
|
|||
{
|
||||
"enum": [
|
||||
"contextWindowExceeded",
|
||||
"sessionBudgetExceeded",
|
||||
"usageLimitExceeded",
|
||||
"serverOverloaded",
|
||||
"cyberPolicy",
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@
|
|||
{
|
||||
"enum": [
|
||||
"untrusted",
|
||||
"on-failure",
|
||||
"on-request",
|
||||
"never"
|
||||
],
|
||||
|
|
@ -229,6 +228,7 @@
|
|||
{
|
||||
"enum": [
|
||||
"contextWindowExceeded",
|
||||
"sessionBudgetExceeded",
|
||||
"usageLimitExceeded",
|
||||
"serverOverloaded",
|
||||
"cyberPolicy",
|
||||
|
|
@ -541,6 +541,18 @@
|
|||
},
|
||||
"McpToolCallAppContext": {
|
||||
"properties": {
|
||||
"actionName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"appName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"connectorId": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
@ -555,6 +567,12 @@
|
|||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"templateId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
@ -663,13 +681,29 @@
|
|||
]
|
||||
},
|
||||
"MultiAgentMode": {
|
||||
"description": "Controls whether the model receives multi-agent delegation instructions and, when it does, whether it should only spawn sub-agents after an explicit user request or may delegate proactively when doing so would help. `none` leaves the multi-agent tools available without injecting delegation instructions.",
|
||||
"enum": [
|
||||
"none",
|
||||
"explicitRequestOnly",
|
||||
"proactive"
|
||||
],
|
||||
"type": "string"
|
||||
"description": "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.",
|
||||
"oneOf": [
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"custom": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"custom"
|
||||
],
|
||||
"title": "CustomMultiAgentMode",
|
||||
"type": "object"
|
||||
},
|
||||
{
|
||||
"enum": [
|
||||
"explicitRequestOnly",
|
||||
"proactive"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"NetworkAccess": {
|
||||
"enum": [
|
||||
|
|
@ -1040,6 +1074,17 @@
|
|||
"description": "Whether the thread is ephemeral and should not be materialized on disk.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"extra": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ThreadExtra"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Optional implementation-specific thread data."
|
||||
},
|
||||
"forkedFromId": {
|
||||
"description": "Source thread id when this thread was created by forking another thread.",
|
||||
"type": [
|
||||
|
|
@ -1058,7 +1103,17 @@
|
|||
],
|
||||
"description": "Optional Git metadata captured when the thread was created."
|
||||
},
|
||||
"historyMode": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ThreadHistoryMode"
|
||||
}
|
||||
],
|
||||
"default": "legacy",
|
||||
"description": "Persisted thread history contract selected when this thread was created."
|
||||
},
|
||||
"id": {
|
||||
"description": "Identifier for this thread. Codex-generated thread IDs are UUIDv7.",
|
||||
"type": "string"
|
||||
},
|
||||
"modelProvider": {
|
||||
|
|
@ -1165,6 +1220,17 @@
|
|||
],
|
||||
"type": "string"
|
||||
},
|
||||
"ThreadExtra": {
|
||||
"description": "Extra app-server data for a thread.",
|
||||
"type": "object"
|
||||
},
|
||||
"ThreadHistoryMode": {
|
||||
"enum": [
|
||||
"legacy",
|
||||
"paginated"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"ThreadId": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
@ -1751,7 +1817,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"$ref": "#/definitions/AbsolutePathBuf"
|
||||
"$ref": "#/definitions/LegacyAppPathString"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
|
|
@ -2017,6 +2083,7 @@
|
|||
"description": "Only populated when the Turn's status is failed."
|
||||
},
|
||||
"id": {
|
||||
"description": "Identifier for this turn. Codex-generated turn IDs are UUIDv7.",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@
|
|||
{
|
||||
"enum": [
|
||||
"untrusted",
|
||||
"on-failure",
|
||||
"on-request",
|
||||
"never"
|
||||
],
|
||||
|
|
@ -229,6 +228,7 @@
|
|||
{
|
||||
"enum": [
|
||||
"contextWindowExceeded",
|
||||
"sessionBudgetExceeded",
|
||||
"usageLimitExceeded",
|
||||
"serverOverloaded",
|
||||
"cyberPolicy",
|
||||
|
|
@ -541,6 +541,18 @@
|
|||
},
|
||||
"McpToolCallAppContext": {
|
||||
"properties": {
|
||||
"actionName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"appName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"connectorId": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
@ -555,6 +567,12 @@
|
|||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"templateId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
@ -663,13 +681,29 @@
|
|||
]
|
||||
},
|
||||
"MultiAgentMode": {
|
||||
"description": "Controls whether the model receives multi-agent delegation instructions and, when it does, whether it should only spawn sub-agents after an explicit user request or may delegate proactively when doing so would help. `none` leaves the multi-agent tools available without injecting delegation instructions.",
|
||||
"enum": [
|
||||
"none",
|
||||
"explicitRequestOnly",
|
||||
"proactive"
|
||||
],
|
||||
"type": "string"
|
||||
"description": "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.",
|
||||
"oneOf": [
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"custom": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"custom"
|
||||
],
|
||||
"title": "CustomMultiAgentMode",
|
||||
"type": "object"
|
||||
},
|
||||
{
|
||||
"enum": [
|
||||
"explicitRequestOnly",
|
||||
"proactive"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"NetworkAccess": {
|
||||
"enum": [
|
||||
|
|
@ -1040,6 +1074,17 @@
|
|||
"description": "Whether the thread is ephemeral and should not be materialized on disk.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"extra": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ThreadExtra"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Optional implementation-specific thread data."
|
||||
},
|
||||
"forkedFromId": {
|
||||
"description": "Source thread id when this thread was created by forking another thread.",
|
||||
"type": [
|
||||
|
|
@ -1058,7 +1103,17 @@
|
|||
],
|
||||
"description": "Optional Git metadata captured when the thread was created."
|
||||
},
|
||||
"historyMode": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ThreadHistoryMode"
|
||||
}
|
||||
],
|
||||
"default": "legacy",
|
||||
"description": "Persisted thread history contract selected when this thread was created."
|
||||
},
|
||||
"id": {
|
||||
"description": "Identifier for this thread. Codex-generated thread IDs are UUIDv7.",
|
||||
"type": "string"
|
||||
},
|
||||
"modelProvider": {
|
||||
|
|
@ -1165,6 +1220,17 @@
|
|||
],
|
||||
"type": "string"
|
||||
},
|
||||
"ThreadExtra": {
|
||||
"description": "Extra app-server data for a thread.",
|
||||
"type": "object"
|
||||
},
|
||||
"ThreadHistoryMode": {
|
||||
"enum": [
|
||||
"legacy",
|
||||
"paginated"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"ThreadId": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
@ -1751,7 +1817,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"$ref": "#/definitions/AbsolutePathBuf"
|
||||
"$ref": "#/definitions/LegacyAppPathString"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
|
|
@ -2017,6 +2083,7 @@
|
|||
"description": "Only populated when the Turn's status is failed."
|
||||
},
|
||||
"id": {
|
||||
"description": "Identifier for this turn. Codex-generated turn IDs are UUIDv7.",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@
|
|||
{
|
||||
"enum": [
|
||||
"contextWindowExceeded",
|
||||
"sessionBudgetExceeded",
|
||||
"usageLimitExceeded",
|
||||
"serverOverloaded",
|
||||
"cyberPolicy",
|
||||
|
|
@ -436,6 +437,18 @@
|
|||
},
|
||||
"McpToolCallAppContext": {
|
||||
"properties": {
|
||||
"actionName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"appName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"connectorId": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
@ -450,6 +463,12 @@
|
|||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"templateId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
@ -1250,7 +1269,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"$ref": "#/definitions/AbsolutePathBuf"
|
||||
"$ref": "#/definitions/LegacyAppPathString"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
|
|
@ -1438,6 +1457,7 @@
|
|||
"description": "Only populated when the Turn's status is failed."
|
||||
},
|
||||
"id": {
|
||||
"description": "Identifier for this turn. Codex-generated turn IDs are UUIDv7.",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@
|
|||
{
|
||||
"enum": [
|
||||
"contextWindowExceeded",
|
||||
"sessionBudgetExceeded",
|
||||
"usageLimitExceeded",
|
||||
"serverOverloaded",
|
||||
"cyberPolicy",
|
||||
|
|
@ -436,6 +437,18 @@
|
|||
},
|
||||
"McpToolCallAppContext": {
|
||||
"properties": {
|
||||
"actionName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"appName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"connectorId": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
@ -450,6 +463,12 @@
|
|||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"templateId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
@ -1250,7 +1269,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"$ref": "#/definitions/AbsolutePathBuf"
|
||||
"$ref": "#/definitions/LegacyAppPathString"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
|
|
@ -1438,6 +1457,7 @@
|
|||
"description": "Only populated when the Turn's status is failed."
|
||||
},
|
||||
"id": {
|
||||
"description": "Identifier for this turn. Codex-generated turn IDs are UUIDv7.",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ function makeMinimalResponse(threadOverrides: Record<string, unknown> = {}) {
|
|||
}
|
||||
|
||||
describe("Codex thread response validators", () => {
|
||||
// The 0.142 floor guarantees both thread ids; pre-0.131 servers without
|
||||
// The 0.143 floor guarantees both thread ids; pre-0.131 servers without
|
||||
// sessionId must fail loudly instead of being silently normalized.
|
||||
it("rejects thread responses missing sessionId", () => {
|
||||
for (const assertResponse of [
|
||||
|
|
@ -58,6 +58,7 @@ describe("assertCodexThreadStartResponse", () => {
|
|||
const result = assertCodexThreadStartResponse(response);
|
||||
expect(result.thread.id).toBe("thread-1");
|
||||
expect(result.thread.sessionId).toBe("session-1");
|
||||
expect(result.thread.historyMode).toBe("legacy");
|
||||
});
|
||||
|
||||
it("throws on invalid response", () => {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ export type JsonObject = { [key: string]: JsonValue };
|
|||
export type CodexServiceTier = string;
|
||||
export type CodexApprovalPolicy =
|
||||
| "untrusted"
|
||||
| "on-failure"
|
||||
| "on-request"
|
||||
| {
|
||||
granular: {
|
||||
|
|
@ -287,6 +286,8 @@ export type CodexTurn = {
|
|||
export type CodexThread = {
|
||||
id: string;
|
||||
sessionId?: string;
|
||||
historyMode?: "legacy" | "paginated";
|
||||
extra?: JsonObject | null;
|
||||
name?: string | null;
|
||||
preview?: string | null;
|
||||
createdAt?: number | null;
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ describe("shared Codex app-server client", () => {
|
|||
|
||||
const listPromise = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(desktop, "openclaw/0.124.9 (macOS; test)");
|
||||
await sendInitializeResult(pluginLocal, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(pluginLocal, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(pluginLocal);
|
||||
|
||||
await expect(listPromise).resolves.toEqual({ models: [] });
|
||||
|
|
@ -235,7 +235,7 @@ describe("shared Codex app-server client", () => {
|
|||
expect(first.process.stdin.destroyed).toBe(true);
|
||||
|
||||
const secondList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
|
@ -257,7 +257,7 @@ describe("shared Codex app-server client", () => {
|
|||
abandonController.abort();
|
||||
expect(harness.process.stdin.destroyed).toBe(false);
|
||||
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
|
||||
await expect(abandonedAcquire).resolves.toBe(harness.client);
|
||||
await expect(activeAcquire).resolves.toBe(harness.client);
|
||||
|
|
@ -282,7 +282,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
authProfileId: "openai:work",
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(harness);
|
||||
|
||||
await expect(listPromise).resolves.toEqual({ models: [] });
|
||||
|
|
@ -309,7 +309,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
authProfileStore,
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
|
||||
await expect(clientPromise).resolves.toBe(harness.client);
|
||||
expect(mocks.resolveCodexAppServerAuthProfileStore).toHaveBeenCalledWith({
|
||||
|
|
@ -355,7 +355,7 @@ describe("shared Codex app-server client", () => {
|
|||
authProfileId: "openai:persisted",
|
||||
agentDir: "/tmp/openclaw-persisted-agent",
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
|
||||
await expect(clientPromise).resolves.toBe(harness.client);
|
||||
const priorWriteCount = harness.writes.length;
|
||||
|
|
@ -392,7 +392,7 @@ describe("shared Codex app-server client", () => {
|
|||
agentDir: "/tmp/openclaw-target-agent",
|
||||
config,
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
|
||||
await expect(clientPromise).resolves.toBe(harness.client);
|
||||
expect(mocks.resolveCodexAppServerAuthProfileIdForAgent).not.toHaveBeenCalled();
|
||||
|
|
@ -421,7 +421,7 @@ describe("shared Codex app-server client", () => {
|
|||
headers: {},
|
||||
},
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
|
||||
await expect(clientPromise).resolves.toBe(harness.client);
|
||||
expect(mocks.resolveCodexAppServerAuthProfileIdForAgent).not.toHaveBeenCalled();
|
||||
|
|
@ -439,7 +439,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
config,
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(harness);
|
||||
|
||||
await expect(listPromise).resolves.toEqual({ models: [] });
|
||||
|
|
@ -466,7 +466,7 @@ describe("shared Codex app-server client", () => {
|
|||
authProfileId: "openai:work",
|
||||
agentDir: "/tmp/openclaw-agent-nova",
|
||||
});
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(harness);
|
||||
|
||||
await expect(listPromise).resolves.toEqual({ models: [] });
|
||||
|
|
@ -490,7 +490,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
agentDir: "/tmp/openclaw-agent-one",
|
||||
});
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -498,7 +498,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
agentDir: "/tmp/openclaw-agent-two",
|
||||
});
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -517,7 +517,7 @@ describe("shared Codex app-server client", () => {
|
|||
}));
|
||||
|
||||
const listPromise = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(harness, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(harness, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(harness);
|
||||
|
||||
await expect(listPromise).resolves.toEqual({ models: [] });
|
||||
|
|
@ -551,7 +551,7 @@ describe("shared Codex app-server client", () => {
|
|||
headers: {},
|
||||
},
|
||||
});
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -566,7 +566,7 @@ describe("shared Codex app-server client", () => {
|
|||
headers: {},
|
||||
},
|
||||
});
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -586,12 +586,12 @@ describe("shared Codex app-server client", () => {
|
|||
.mockReturnValueOnce("api-key:second");
|
||||
|
||||
const firstList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
const secondList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -634,7 +634,7 @@ describe("shared Codex app-server client", () => {
|
|||
});
|
||||
await vi.waitFor(() => expect(second.writes.length).toBeGreaterThanOrEqual(1));
|
||||
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -652,7 +652,7 @@ describe("shared Codex app-server client", () => {
|
|||
.mockReturnValueOnce(second.client);
|
||||
|
||||
const firstList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -660,7 +660,7 @@ describe("shared Codex app-server client", () => {
|
|||
expect(first.process.stdin.destroyed).toBe(true);
|
||||
|
||||
const secondList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -678,7 +678,7 @@ describe("shared Codex app-server client", () => {
|
|||
.mockReturnValueOnce(second.client);
|
||||
|
||||
const firstList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -686,7 +686,7 @@ describe("shared Codex app-server client", () => {
|
|||
expect(first.process.stdin.destroyed).toBe(false);
|
||||
|
||||
const secondList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -707,7 +707,7 @@ describe("shared Codex app-server client", () => {
|
|||
.mockReturnValueOnce(second.client);
|
||||
|
||||
const firstList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -722,7 +722,7 @@ describe("shared Codex app-server client", () => {
|
|||
expect(first.process.stdin.destroyed).toBe(false);
|
||||
|
||||
const secondList = listCodexAppServerModels({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -744,7 +744,7 @@ describe("shared Codex app-server client", () => {
|
|||
|
||||
const firstLease = getLeasedSharedCodexAppServerClient({ timeoutMs: 1000 });
|
||||
const secondLease = getLeasedSharedCodexAppServerClient({ timeoutMs: 1000 });
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await expect(firstLease).resolves.toBe(first.client);
|
||||
await expect(secondLease).resolves.toBe(first.client);
|
||||
|
||||
|
|
@ -778,7 +778,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
agentDir: "/tmp/openclaw-agent-one",
|
||||
});
|
||||
await sendInitializeResult(first, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(first, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(first);
|
||||
await expect(firstList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -786,7 +786,7 @@ describe("shared Codex app-server client", () => {
|
|||
timeoutMs: 1000,
|
||||
agentDir: "/tmp/openclaw-agent-two",
|
||||
});
|
||||
await sendInitializeResult(second, "openclaw/0.142.0 (macOS; test)");
|
||||
await sendInitializeResult(second, "openclaw/0.143.0 (macOS; test)");
|
||||
await sendEmptyModelList(second);
|
||||
await expect(secondList).resolves.toEqual({ models: [] });
|
||||
|
||||
|
|
@ -812,7 +812,7 @@ describe("shared Codex app-server client", () => {
|
|||
const message = JSON.parse(rawDataToText(data)) as { id?: number; method?: string };
|
||||
if (message.method === "initialize") {
|
||||
socket.send(
|
||||
JSON.stringify({ id: message.id, result: { userAgent: "openclaw/0.142.0" } }),
|
||||
JSON.stringify({ id: message.id, result: { userAgent: "openclaw/0.143.0" } }),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ describe("Codex app-server websocket transport", () => {
|
|||
const message = JSON.parse(rawDataToText(data)) as { id?: number; method?: string };
|
||||
if (message.method === "initialize") {
|
||||
socket.send(
|
||||
JSON.stringify({ id: message.id, result: { userAgent: "openclaw/0.142.0" } }),
|
||||
JSON.stringify({ id: message.id, result: { userAgent: "openclaw/0.143.0" } }),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
*/
|
||||
// The floor tracks the managed package train. Every protocol shape OpenClaw
|
||||
// sends or reads assumes this floor; range-compat normalizers were removed
|
||||
// with the 0.142 bump, so lowering it requires reintroducing them.
|
||||
// with the 0.143 bump, so lowering it requires reintroducing them.
|
||||
/** Minimum Codex app-server version supported by the OpenClaw Codex bridge. */
|
||||
export const MIN_CODEX_APP_SERVER_VERSION = "0.142.0";
|
||||
export const MIN_CODEX_APP_SERVER_VERSION = "0.143.0";
|
||||
/** npm package name for the managed Codex app-server binary. */
|
||||
export const MANAGED_CODEX_APP_SERVER_PACKAGE = "@openai/codex";
|
||||
// Keep this in sync with the Codex CLI live-test package pin.
|
||||
/** Managed Codex app-server package version installed by OpenClaw. */
|
||||
export const MANAGED_CODEX_APP_SERVER_PACKAGE_VERSION = "0.142.5";
|
||||
export const MANAGED_CODEX_APP_SERVER_PACKAGE_VERSION = "0.143.0";
|
||||
|
|
|
|||
58
pnpm-lock.yaml
generated
58
pnpm-lock.yaml
generated
|
|
@ -531,8 +531,8 @@ importers:
|
|||
extensions/codex:
|
||||
dependencies:
|
||||
'@openai/codex':
|
||||
specifier: 0.142.5
|
||||
version: 0.142.5
|
||||
specifier: 0.143.0
|
||||
version: 0.143.0
|
||||
typebox:
|
||||
specifier: 1.3.3
|
||||
version: 1.3.3
|
||||
|
|
@ -3150,43 +3150,43 @@ packages:
|
|||
resolution: {integrity: sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==}
|
||||
engines: {node: ^20.17.0 || >=22.9.0}
|
||||
|
||||
'@openai/codex@0.142.5':
|
||||
resolution: {integrity: sha512-WQEpD7l3k68eIAP0aq28EdR18ENBAf8DyprzFhzNwCOQJSv4nHzpwT8Fl30IJacprko2ZCmUBZjM2u941l2yLw==}
|
||||
'@openai/codex@0.143.0':
|
||||
resolution: {integrity: sha512-6h53sNtESIYncWVwU7zEjdVajwcad/0H94MOrgGqhwBMa9RRUDVG6DU9E9euC7yRdtrsKDAkJkz/m5moZ6MU3A==}
|
||||
engines: {node: '>=16'}
|
||||
hasBin: true
|
||||
|
||||
'@openai/codex@0.142.5-darwin-arm64':
|
||||
resolution: {integrity: sha512-l43p8xv+Z/2/b6fCUc7/FmcQZsaPB7RFizLponGwHAnFOWe3i9Vky69p+up3BUam9AetoQQUv7Mo+2KdaFEqhA==}
|
||||
'@openai/codex@0.143.0-darwin-arm64':
|
||||
resolution: {integrity: sha512-hs9bPkE1c0+EtbHxxVfhaaGl1u6/LVdhEtOX5t9N+ri54yjMUkzKJLc7MOBa1DYRMDTWT+lPEfeB+8Fv9coTKg==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@openai/codex@0.142.5-darwin-x64':
|
||||
resolution: {integrity: sha512-yk6A06/VmW7NFsa48OVPaj//g/zeSpd79wjuqfXZwW8ZKRYQm3+wCd3hWjPl79F3QnXvDvM2j3JMIBL3m3GXXg==}
|
||||
'@openai/codex@0.143.0-darwin-x64':
|
||||
resolution: {integrity: sha512-xHbrb/Qkj+ZZqYkAuio3mcFxpqlg/NNpBDz5iMKlGa7XfK3miUu6R50c9cRW1ZPQVRfRnFhs4l7OhI5u5r+HvA==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@openai/codex@0.142.5-linux-arm64':
|
||||
resolution: {integrity: sha512-77ka5PSnm5HdxdBT99IwntCasmbqevlS0eiC0AtEb6ZXCLkim2gm0AWm+jNYy0EhbssvNK+KghayWo34HMgXeA==}
|
||||
'@openai/codex@0.143.0-linux-arm64':
|
||||
resolution: {integrity: sha512-1TMx1a/YBEY0SBhPGn8z9HjOpaDssw+WJiIi/+r0CB5uZf6qnALN02TrZTZl2PSUI8olnBf/VccjnwVCrzR38w==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@openai/codex@0.142.5-linux-x64':
|
||||
resolution: {integrity: sha512-pxY+d3NgNE57Y/MApD3/TZUAygxJN6I9h3ZeDUwe67mxWjUxsuapxMRFTKSznCalYbRAeZp752+AAXmUbmguEg==}
|
||||
'@openai/codex@0.143.0-linux-x64':
|
||||
resolution: {integrity: sha512-B6v6oUgBbjt1bL7yBbRp7e0vLiVOjRdz9Wykotve52Aq2H2TeiCqxM5BSOaFkmNO6VxE0seW7hTi2UZF9x8LLA==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@openai/codex@0.142.5-win32-arm64':
|
||||
resolution: {integrity: sha512-65BEqGbUZ7r0ayunIHdBjo5crwgbwKX/6puOcO+VCswUw/dXvDsN2IGcbXB52+bS9U5+FxP783cUHfTT6m40DQ==}
|
||||
'@openai/codex@0.143.0-win32-arm64':
|
||||
resolution: {integrity: sha512-8ntYPI3IQWZuayL214tYanuYhom23RxHUWRkmay45hGymEW4TwwFqzppKXEzcBXrCF5uSWlOMMG+B2elN6kWuQ==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@openai/codex@0.142.5-win32-x64':
|
||||
resolution: {integrity: sha512-a+wI4PEx9a2fg6V5ueTTDkOkr1XpEvA5RFXIbo/L2hOfzMmGtyRnbG24bCGu5Q2RSgVxSQV0aLkdb3vdYMNH9A==}
|
||||
'@openai/codex@0.143.0-win32-x64':
|
||||
resolution: {integrity: sha512-d60HLkzSQ7rdL35xPxH1x3g8DuJjEbhEx1UOK5ivA1PBD9eWvP46rtdHkSvCZyqHUhaHFr5We2SugE9+Y8HhVA==}
|
||||
engines: {node: '>=16'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
|
@ -8942,31 +8942,31 @@ snapshots:
|
|||
|
||||
'@npmcli/redact@4.0.0': {}
|
||||
|
||||
'@openai/codex@0.142.5':
|
||||
'@openai/codex@0.143.0':
|
||||
optionalDependencies:
|
||||
'@openai/codex-darwin-arm64': '@openai/codex@0.142.5-darwin-arm64'
|
||||
'@openai/codex-darwin-x64': '@openai/codex@0.142.5-darwin-x64'
|
||||
'@openai/codex-linux-arm64': '@openai/codex@0.142.5-linux-arm64'
|
||||
'@openai/codex-linux-x64': '@openai/codex@0.142.5-linux-x64'
|
||||
'@openai/codex-win32-arm64': '@openai/codex@0.142.5-win32-arm64'
|
||||
'@openai/codex-win32-x64': '@openai/codex@0.142.5-win32-x64'
|
||||
'@openai/codex-darwin-arm64': '@openai/codex@0.143.0-darwin-arm64'
|
||||
'@openai/codex-darwin-x64': '@openai/codex@0.143.0-darwin-x64'
|
||||
'@openai/codex-linux-arm64': '@openai/codex@0.143.0-linux-arm64'
|
||||
'@openai/codex-linux-x64': '@openai/codex@0.143.0-linux-x64'
|
||||
'@openai/codex-win32-arm64': '@openai/codex@0.143.0-win32-arm64'
|
||||
'@openai/codex-win32-x64': '@openai/codex@0.143.0-win32-x64'
|
||||
|
||||
'@openai/codex@0.142.5-darwin-arm64':
|
||||
'@openai/codex@0.143.0-darwin-arm64':
|
||||
optional: true
|
||||
|
||||
'@openai/codex@0.142.5-darwin-x64':
|
||||
'@openai/codex@0.143.0-darwin-x64':
|
||||
optional: true
|
||||
|
||||
'@openai/codex@0.142.5-linux-arm64':
|
||||
'@openai/codex@0.143.0-linux-arm64':
|
||||
optional: true
|
||||
|
||||
'@openai/codex@0.142.5-linux-x64':
|
||||
'@openai/codex@0.143.0-linux-x64':
|
||||
optional: true
|
||||
|
||||
'@openai/codex@0.142.5-win32-arm64':
|
||||
'@openai/codex@0.143.0-win32-arm64':
|
||||
optional: true
|
||||
|
||||
'@openai/codex@0.142.5-win32-x64':
|
||||
'@openai/codex@0.143.0-win32-x64':
|
||||
optional: true
|
||||
|
||||
'@openclaw/crabline@0.1.9':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue