@openclaw/codex 2026.9.1-beta.1 → 2026.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/api.js +5 -6
  2. package/dist/{attempt-client-cleanup-bfsmcQ6m.js → attempt-client-cleanup-DYHcRQAa.js} +31 -45
  3. package/dist/attempt-context-DmQUNWwT.js +634 -0
  4. package/dist/{auth-binding-B4FfbcCg.js → auth-binding-Ds_QVm-X.js} +18 -3
  5. package/dist/{binding-connection-BMvPX73o.js → binding-connection-E6uDsPlx.js} +2 -2
  6. package/dist/{bounded-turn-B7iBUcuP.js → bounded-turn-wzJrwKKe.js} +15 -20
  7. package/dist/{capabilities-BRMh0aIq.js → capabilities-dIjNVCYH.js} +1 -1
  8. package/dist/cli-metadata.js +1 -1
  9. package/dist/{command-formatters-DEsIufkt.js → command-formatters-CLHhEB1Q.js} +5 -4
  10. package/dist/{command-handlers-D_-1_qRp.js → command-handlers-CTGb2csu.js} +124 -101
  11. package/dist/{compact-BglNFZrQ.js → compact-_t0HQrUS.js} +38 -29
  12. package/dist/{config-giW8X0QA.js → config-BhmfC1s6.js} +294 -282
  13. package/dist/{context-compaction-activity-BOeJf7yo.js → context-compaction-activity-CMla5FPJ.js} +4 -1
  14. package/dist/{conversation-binding-data-CW2GuupV.js → conversation-binding-data-BiodpIzq.js} +2 -1
  15. package/dist/doctor-contract-api.js +143 -12
  16. package/dist/{dynamic-tools-Dnlfa--w.js → dynamic-tools-BU9tmlYm.js} +599 -655
  17. package/dist/{effective-mcp-catalog-CTeGrnfO.js → effective-mcp-catalog-DzYBW4h1.js} +2 -2
  18. package/dist/{event-projector-assistant-message-C5-Ds8mA.js → event-projector-assistant-message-DHRFXKbS.js} +4 -4
  19. package/dist/{event-projector-usage-Bk1I90Bg.js → event-projector-usage-C5mcrGjp.js} +15 -148
  20. package/dist/{harness-Csz0F-DK.js → harness-DXVZ5II5.js} +42 -52
  21. package/dist/harness.js +1 -1
  22. package/dist/index.js +458 -404
  23. package/dist/{isolated-completion-Cv6FqygM.js → isolated-completion-kg9kv4iH.js} +4 -4
  24. package/dist/launch-args-RXQwn8zV.js +90 -0
  25. package/dist/{managed-binary-DFYK4DWq.js → managed-binary-4-Vjz5GH.js} +14 -9
  26. package/dist/media-understanding-provider.js +1 -1
  27. package/dist/model-catalog-CUM68Hkl.js +101 -0
  28. package/dist/{models-TS3HBU-q.js → models-sYnEc0gd.js} +25 -28
  29. package/dist/{native-subagent-monitor-4Mfq2HDs.js → native-subagent-monitor-CnH147jH.js} +55 -115
  30. package/dist/{node-exec-server.runtime-BpWqJO1V.js → node-exec-server.runtime-CstNHCmC.js} +9 -6
  31. package/dist/{plugin-approval-roundtrip-bUm777tR.js → plugin-approval-roundtrip-CNe-Xrjx.js} +30 -3
  32. package/dist/{plugin-marketplace-discovery-B9DvaAG-.js → plugin-marketplace-discovery-CfFlKqDl.js} +15 -14
  33. package/dist/{plugin-metadata-cache-CTCT3w5L.js → plugin-metadata-cache-BFrPhb2c.js} +6 -6
  34. package/dist/provider-capabilities-DW5p4k9w.js +101 -0
  35. package/dist/{rate-limits-C5_D8Gmb.js → rate-limits-CawQJfUS.js} +3 -2
  36. package/dist/{sandbox-guard-kuWTn9C5.js → request-DYAI5FQE.js} +195 -2
  37. package/dist/{run-attempt-DYc0QCBF.js → run-attempt-D1hJO4fX.js} +828 -2100
  38. package/dist/{runtime-artifact-BvyT1uyd.js → runtime-artifact-C3jVimFn.js} +21 -14
  39. package/dist/{session-binding-Bcynfd-_.js → session-binding-BHuTCRZQ.js} +198 -127
  40. package/dist/{session-catalog-DaLKVtpH.js → session-catalog-yyvTWFOw.js} +564 -408
  41. package/dist/{session-cli-DMc4oS2w.js → session-cli-CmFEXMAM.js} +1 -1
  42. package/dist/session-history-C5J1AKzG.js +87 -0
  43. package/dist/session-initialization-BeWzjGiR.js +74 -0
  44. package/dist/{session-permission-policy-BrNH1bjy.js → session-permission-policy-DeWVTCMj.js} +2 -2
  45. package/dist/session-retirement-BujDjXVF.js +97 -0
  46. package/dist/{session-upstream-marker-BIkusb95.js → session-upstream-marker-C351-5Qw.js} +19 -4
  47. package/dist/settled-turn-context-D3SNWtUn.js +268 -0
  48. package/dist/settled-turn-finalizer-BVJx4yoc.js +104 -0
  49. package/dist/{shared-client-DKz23hHY.js → shared-client-DxcfF9KX.js} +3480 -679
  50. package/dist/{side-question-DjA_jsNe.js → side-question-BTZAII4l.js} +108 -70
  51. package/dist/{thread-lifecycle-L7oEkTlq.js → thread-lifecycle-DAcEJ_Om.js} +2188 -1915
  52. package/dist/{thread-ownership-DZeuKH1j.js → thread-ownership-zGokd8i1.js} +25 -14
  53. package/dist/thread-policy-g4KbJPzp.js +54 -0
  54. package/dist/{plugin-app-cache-key-C1CAdfcP.js → thread-resume-C7pyVKeW.js} +59 -7
  55. package/dist/{transcript-mirror-DsCMWBca.js → transcript-mirror-DTUxFWa_.js} +79 -17
  56. package/dist/transport-stdio-CyPldczm.js +726 -0
  57. package/dist/{upstream-prompt-provenance-CFmsKwr9.js → upstream-prompt-provenance-LphB8slG.js} +8 -4
  58. package/dist/upstream-session-fork-CYlBIGVt.js +966 -0
  59. package/dist/{usage-ROIaW3wo.js → usage-Bj-rrzkR.js} +3 -3
  60. package/dist/{web-search-provider.runtime-ClaNPV7N.js → web-search-provider.runtime-D2FWSK4w.js} +3 -3
  61. package/openclaw.plugin.json +1 -30
  62. package/package.json +6 -6
  63. package/dist/command-rpc-CCeCkf_v.js +0 -90
  64. package/dist/incognito-session-ET_ufDH-.js +0 -2
  65. package/dist/model-catalog-i9rNBthX.js +0 -48
  66. package/dist/protocol-validators-VeJxxJ0U.js +0 -2421
  67. package/dist/request-DXXGHko0.js +0 -157
  68. package/dist/session-catalog-home-id-BNwAJ9D7.js +0 -18
  69. package/dist/session-retirement-CcNC3YSY.js +0 -36
  70. package/dist/settled-turn-finalizer-Dc3ApjU4.js +0 -328
  71. package/dist/thread-resume-BE9qNEW0.js +0 -30
  72. package/dist/transport-stdio-DhoGy33Z.js +0 -99
  73. package/dist/upstream-session-fork-DlaHxSLC.js +0 -326
@@ -1,6 +1,6 @@
1
- import { i as resolveCodexAppServerRuntimeOptions } from "./config-giW8X0QA.js";
2
- import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-C5_D8Gmb.js";
3
- import { t as readCodexAppServerUsage } from "./request-DXXGHko0.js";
1
+ import { i as resolveCodexAppServerRuntimeOptions } from "./config-BhmfC1s6.js";
2
+ import { n as readCodexAppServerUsage } from "./request-DYAI5FQE.js";
3
+ import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-CawQJfUS.js";
4
4
  import { CODEX_APP_SERVER_AUTH_MARKER } from "openclaw/plugin-sdk/agent-runtime";
5
5
  //#region extensions/codex/src/app-server/usage.ts
6
6
  /** Handles the synthetic usage credential for a Codex-backed OpenAI route. */
@@ -1,6 +1,6 @@
1
- import { vt as isJsonObject } from "./shared-client-DKz23hHY.js";
2
- import { P as buildCodexNativeWebSearchThreadConfig } from "./thread-lifecycle-L7oEkTlq.js";
3
- import { t as runBoundedCodexAppServerTurn } from "./bounded-turn-B7iBUcuP.js";
1
+ import { $t as isJsonObject } from "./shared-client-DxcfF9KX.js";
2
+ import { x as buildCodexNativeWebSearchThreadConfig } from "./thread-lifecycle-DAcEJ_Om.js";
3
+ import { t as runBoundedCodexAppServerTurn } from "./bounded-turn-wzJrwKKe.js";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { readStringParam, resolveSearchTimeoutSeconds, wrapWebContent } from "openclaw/plugin-sdk/provider-web-search";
6
6
  //#region extensions/codex/src/web-search-provider.runtime.ts
@@ -21,6 +21,7 @@
21
21
  "configRepair": true,
22
22
  "stateMigrations": true
23
23
  },
24
+ "doctorHealthChecks": true,
24
25
  "sessionRouteStateOwners": [
25
26
  {
26
27
  "id": "codex",
@@ -331,21 +332,6 @@
331
332
  "minimum": 1,
332
333
  "default": 60000
333
334
  },
334
- "turnCompletionIdleTimeoutMs": {
335
- "type": "number",
336
- "minimum": 1,
337
- "default": 60000
338
- },
339
- "turnAssistantCompletionIdleTimeoutMs": {
340
- "type": "number",
341
- "minimum": 1,
342
- "default": 10000
343
- },
344
- "postToolRawAssistantCompletionIdleTimeoutMs": {
345
- "type": "number",
346
- "minimum": 1,
347
- "default": 300000
348
- },
349
335
  "approvalPolicy": {
350
336
  "type": "string",
351
337
  "enum": ["never", "on-request", "on-failure", "untrusted"]
@@ -663,21 +649,6 @@
663
649
  "help": "Maximum time to wait for Codex app-server control-plane requests.",
664
650
  "advanced": true
665
651
  },
666
- "appServer.turnCompletionIdleTimeoutMs": {
667
- "label": "Turn Completion Idle Timeout",
668
- "help": "Maximum quiet time after Codex accepts a turn or after a turn-scoped app-server request before OpenClaw interrupts the turn while waiting for turn/completed.",
669
- "advanced": true
670
- },
671
- "appServer.turnAssistantCompletionIdleTimeoutMs": {
672
- "label": "Assistant Completion Idle Timeout",
673
- "help": "Short quiet-time guard after Codex reports a completed assistant message before OpenClaw releases the turn.",
674
- "advanced": true
675
- },
676
- "appServer.postToolRawAssistantCompletionIdleTimeoutMs": {
677
- "label": "Post-Tool Continuation Idle Timeout",
678
- "help": "Completion-idle and progress guard after a tool handoff, native tool completion, or post-tool raw assistant progress while waiting for turn/completed. Defaults to 300000 ms when unset.",
679
- "advanced": true
680
- },
681
652
  "appServer.approvalPolicy": {
682
653
  "label": "Approval Policy",
683
654
  "help": "Codex native approval policy sent to thread start, resume, and turns.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.9.1-beta.1",
3
+ "version": "2026.9.1",
4
4
  "description": "OpenClaw Codex app-server harness and native session supervision plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,10 +8,10 @@
8
8
  },
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "@openai/codex": "0.150.1",
11
+ "@openai/codex": "0.152.1",
12
12
  "semver": "7.8.5",
13
13
  "smol-toml": "1.8.0",
14
- "typebox": "1.3.16",
14
+ "typebox": "1.3.17",
15
15
  "ws": "8.21.3",
16
16
  "zod": "4.4.3"
17
17
  },
@@ -36,10 +36,10 @@
36
36
  ]
37
37
  },
38
38
  "compat": {
39
- "pluginApi": ">=2026.9.1-beta.1"
39
+ "pluginApi": ">=2026.9.1"
40
40
  },
41
41
  "build": {
42
- "openclawVersion": "2026.9.1-beta.1"
42
+ "openclawVersion": "2026.9.1"
43
43
  },
44
44
  "release": {
45
45
  "publishToClawHub": true,
@@ -59,7 +59,7 @@
59
59
  "README.md"
60
60
  ],
61
61
  "peerDependencies": {
62
- "openclaw": ">=2026.9.1-beta.1"
62
+ "openclaw": ">=2026.9.1"
63
63
  },
64
64
  "peerDependenciesMeta": {
65
65
  "openclaw": {
@@ -1,90 +0,0 @@
1
- import { i as resolveCodexAppServerRuntimeOptions, s as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-giW8X0QA.js";
2
- import { n as listCodexAppServerModels } from "./models-TS3HBU-q.js";
3
- import { n as describeControlFailure, t as CODEX_CONTROL_METHODS } from "./capabilities-BRMh0aIq.js";
4
- import { i as withCodexAppServerJsonClient, r as requestCodexAppServerJson } from "./request-DXXGHko0.js";
5
- //#region extensions/codex/src/command-rpc.ts
6
- function requestOptions(pluginConfig, limit, config, agentDir) {
7
- const runtime = resolveCodexAppServerRuntimeOptions({ pluginConfig });
8
- return {
9
- limit,
10
- timeoutMs: runtime.requestTimeoutMs,
11
- startOptions: runtime.start,
12
- config,
13
- agentDir
14
- };
15
- }
16
- async function codexControlRequest(pluginConfig, method, requestParams, options = {}) {
17
- const runtime = options.startOptions ? resolveCodexSupervisionAppServerRuntimeOptions({ pluginConfig }) : resolveCodexAppServerRuntimeOptions({ pluginConfig });
18
- const controlRequestOptions = {
19
- timeoutMs: options.timeoutMs ?? runtime.requestTimeoutMs,
20
- startOptions: options.startOptions ?? runtime.start,
21
- config: options.config,
22
- sessionKey: options.sessionKey,
23
- sessionId: options.sessionId,
24
- authProfileId: options.authProfileId,
25
- agentDir: options.agentDir,
26
- isolated: options.isolated
27
- };
28
- if (options.onResponse) return await withCodexAppServerJsonClient(controlRequestOptions, async (request, client) => {
29
- const response = await request({
30
- method,
31
- requestParams
32
- });
33
- await options.onResponse(response, client);
34
- return response;
35
- });
36
- return await requestCodexAppServerJson({
37
- method,
38
- requestParams,
39
- ...controlRequestOptions
40
- });
41
- }
42
- async function safeCodexControlRequest(pluginConfig, method, requestParams, options = {}) {
43
- return await safeValue(async () => await codexControlRequest(pluginConfig, method, requestParams, options));
44
- }
45
- async function safeCodexModelList(pluginConfig, limit, config, agentDir) {
46
- return await safeValue(async () => await listCodexAppServerModels(requestOptions(pluginConfig, limit, config, agentDir)));
47
- }
48
- async function readCodexStatusProbes(pluginConfig, config, agentDir) {
49
- const [models, account, limits, mcps, skills] = await Promise.all([
50
- safeCodexModelList(pluginConfig, 20, config, agentDir),
51
- safeCodexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.account, { refreshToken: false }, {
52
- config,
53
- agentDir
54
- }),
55
- safeCodexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.rateLimits, void 0, {
56
- config,
57
- agentDir
58
- }),
59
- safeCodexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.listMcpServers, { limit: 100 }, {
60
- config,
61
- agentDir
62
- }),
63
- safeCodexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.listSkills, {}, {
64
- config,
65
- agentDir
66
- })
67
- ]);
68
- return {
69
- models,
70
- account,
71
- limits,
72
- mcps,
73
- skills
74
- };
75
- }
76
- async function safeValue(read) {
77
- try {
78
- return {
79
- ok: true,
80
- value: await read()
81
- };
82
- } catch (error) {
83
- return {
84
- ok: false,
85
- error: describeControlFailure(error)
86
- };
87
- }
88
- }
89
- //#endregion
90
- export { safeCodexControlRequest as i, readCodexStatusProbes as n, requestOptions as r, codexControlRequest as t };
@@ -1,2 +0,0 @@
1
- import { isIncognitoSessionKey } from "openclaw/plugin-sdk/routing";
2
- export { isIncognitoSessionKey as t };
@@ -1,48 +0,0 @@
1
- import { r as buildCodexRuntimeModelParams } from "./harness-Csz0F-DK.js";
2
- import { h as readCodexPluginConfig } from "./config-giW8X0QA.js";
3
- import { t as listAllCodexAppServerModels } from "./models-TS3HBU-q.js";
4
- import { r as requestOptions } from "./command-rpc-CCeCkf_v.js";
5
- //#region extensions/codex/src/app-server/model-catalog.ts
6
- const OPENAI_CODEX_BASE_URL = "https://chatgpt.com/backend-api/codex";
7
- const DEFAULT_MODEL_DISCOVERY_TIMEOUT_MS = 2500;
8
- const INPUT_TYPES = /* @__PURE__ */ new Set([
9
- "text",
10
- "image",
11
- "audio",
12
- "video",
13
- "document"
14
- ]);
15
- function isModelInputType(value) {
16
- return INPUT_TYPES.has(value);
17
- }
18
- function codexAppServerModelsToCatalogEntries(models) {
19
- return models.map((model, providerOrder) => {
20
- const input = model.inputModalities.filter(isModelInputType);
21
- const runtimeParams = buildCodexRuntimeModelParams(model.id, model.model);
22
- return {
23
- provider: "openai",
24
- id: model.id,
25
- name: model.displayName ?? model.id,
26
- providerOrder,
27
- api: "openai-chatgpt-responses",
28
- baseUrl: OPENAI_CODEX_BASE_URL,
29
- reasoning: model.supportedReasoningEfforts.length > 0,
30
- ...input.length > 0 ? { input } : {},
31
- ...runtimeParams ? { params: runtimeParams } : {},
32
- compat: {
33
- supportsReasoningEffort: model.supportedReasoningEfforts.length > 0,
34
- supportedReasoningEfforts: model.supportedReasoningEfforts
35
- }
36
- };
37
- });
38
- }
39
- async function loadCodexAppServerModelCatalog(params, pluginConfig) {
40
- const discovery = readCodexPluginConfig(pluginConfig).discovery;
41
- if (discovery?.enabled === false) return [];
42
- return codexAppServerModelsToCatalogEntries((await listAllCodexAppServerModels({
43
- ...requestOptions(pluginConfig, 100, params.config, params.agentDir),
44
- timeoutMs: discovery?.timeoutMs ?? DEFAULT_MODEL_DISCOVERY_TIMEOUT_MS
45
- })).models);
46
- }
47
- //#endregion
48
- export { loadCodexAppServerModelCatalog };