@kodelyth/codex 2026.5.40

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.
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/doctor-contract-api.js";
2
+ import * as module from "../../../dist/extensions/codex/doctor-contract-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/harness.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/harness.js";
2
+ import * as module from "../../../dist/extensions/codex/harness.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/index.js";
2
+ import defaultModule from "../../../dist/extensions/codex/index.js";
3
+ let defaultExport = defaultModule;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,435 @@
1
+ {
2
+ "id": "codex",
3
+ "name": "Codex",
4
+ "description": "Codex app-server harness and Codex-managed GPT model catalog.",
5
+ "providers": [
6
+ "codex"
7
+ ],
8
+ "contracts": {
9
+ "mediaUnderstandingProviders": [
10
+ "codex"
11
+ ],
12
+ "migrationProviders": [
13
+ "codex"
14
+ ]
15
+ },
16
+ "mediaUnderstandingProviderMetadata": {
17
+ "codex": {
18
+ "capabilities": [
19
+ "image"
20
+ ],
21
+ "defaultModels": {
22
+ "image": "gpt-5.5"
23
+ }
24
+ }
25
+ },
26
+ "providerCatalogEntry": "./provider-discovery.ts",
27
+ "syntheticAuthRefs": [
28
+ "codex"
29
+ ],
30
+ "nonSecretAuthMarkers": [
31
+ "codex-app-server"
32
+ ],
33
+ "activation": {
34
+ "onStartup": false,
35
+ "onAgentHarnesses": [
36
+ "codex"
37
+ ]
38
+ },
39
+ "commandAliases": [
40
+ {
41
+ "name": "codex",
42
+ "kind": "runtime-slash",
43
+ "cliCommand": "plugins"
44
+ }
45
+ ],
46
+ "configSchema": {
47
+ "type": "object",
48
+ "additionalProperties": false,
49
+ "properties": {
50
+ "codexDynamicToolsLoading": {
51
+ "type": "string",
52
+ "enum": [
53
+ "searchable",
54
+ "direct"
55
+ ],
56
+ "default": "searchable"
57
+ },
58
+ "codexDynamicToolsExclude": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "string"
62
+ },
63
+ "default": []
64
+ },
65
+ "discovery": {
66
+ "type": "object",
67
+ "additionalProperties": false,
68
+ "properties": {
69
+ "enabled": {
70
+ "type": "boolean"
71
+ },
72
+ "timeoutMs": {
73
+ "type": "number",
74
+ "minimum": 1,
75
+ "default": 2500
76
+ }
77
+ }
78
+ },
79
+ "computerUse": {
80
+ "type": "object",
81
+ "additionalProperties": false,
82
+ "properties": {
83
+ "enabled": {
84
+ "type": "boolean",
85
+ "default": false
86
+ },
87
+ "autoInstall": {
88
+ "type": "boolean",
89
+ "default": false
90
+ },
91
+ "marketplaceDiscoveryTimeoutMs": {
92
+ "type": "number",
93
+ "minimum": 1,
94
+ "default": 60000
95
+ },
96
+ "marketplaceSource": {
97
+ "type": "string"
98
+ },
99
+ "marketplacePath": {
100
+ "type": "string"
101
+ },
102
+ "marketplaceName": {
103
+ "type": "string"
104
+ },
105
+ "pluginName": {
106
+ "type": "string",
107
+ "default": "computer-use"
108
+ },
109
+ "mcpServerName": {
110
+ "type": "string",
111
+ "default": "computer-use"
112
+ }
113
+ }
114
+ },
115
+ "codexPlugins": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "properties": {
119
+ "enabled": {
120
+ "type": "boolean",
121
+ "default": false
122
+ },
123
+ "allow_destructive_actions": {
124
+ "type": "boolean",
125
+ "default": true
126
+ },
127
+ "plugins": {
128
+ "type": "object",
129
+ "additionalProperties": {
130
+ "type": "object",
131
+ "additionalProperties": false,
132
+ "properties": {
133
+ "enabled": {
134
+ "type": "boolean"
135
+ },
136
+ "marketplaceName": {
137
+ "type": "string",
138
+ "enum": [
139
+ "openai-curated"
140
+ ]
141
+ },
142
+ "pluginName": {
143
+ "type": "string"
144
+ },
145
+ "allow_destructive_actions": {
146
+ "type": "boolean"
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ },
153
+ "appServer": {
154
+ "type": "object",
155
+ "additionalProperties": false,
156
+ "properties": {
157
+ "mode": {
158
+ "type": "string",
159
+ "enum": [
160
+ "yolo",
161
+ "guardian"
162
+ ],
163
+ "default": "yolo"
164
+ },
165
+ "transport": {
166
+ "type": "string",
167
+ "enum": [
168
+ "stdio",
169
+ "websocket"
170
+ ],
171
+ "default": "stdio"
172
+ },
173
+ "command": {
174
+ "type": "string"
175
+ },
176
+ "args": {
177
+ "oneOf": [
178
+ {
179
+ "type": "array",
180
+ "items": {
181
+ "type": "string"
182
+ }
183
+ },
184
+ {
185
+ "type": "string"
186
+ }
187
+ ]
188
+ },
189
+ "url": {
190
+ "type": "string"
191
+ },
192
+ "authToken": {
193
+ "type": "string"
194
+ },
195
+ "headers": {
196
+ "type": "object",
197
+ "additionalProperties": {
198
+ "type": "string"
199
+ }
200
+ },
201
+ "clearEnv": {
202
+ "type": "array",
203
+ "items": {
204
+ "type": "string"
205
+ }
206
+ },
207
+ "codeModeOnly": {
208
+ "type": "boolean",
209
+ "default": false
210
+ },
211
+ "requestTimeoutMs": {
212
+ "type": "number",
213
+ "minimum": 1,
214
+ "default": 60000
215
+ },
216
+ "turnCompletionIdleTimeoutMs": {
217
+ "type": "number",
218
+ "minimum": 1,
219
+ "default": 60000
220
+ },
221
+ "approvalPolicy": {
222
+ "type": "string",
223
+ "enum": [
224
+ "never",
225
+ "on-request",
226
+ "on-failure",
227
+ "untrusted"
228
+ ]
229
+ },
230
+ "sandbox": {
231
+ "type": "string",
232
+ "enum": [
233
+ "read-only",
234
+ "workspace-write",
235
+ "danger-full-access"
236
+ ]
237
+ },
238
+ "approvalsReviewer": {
239
+ "type": "string",
240
+ "enum": [
241
+ "user",
242
+ "auto_review",
243
+ "guardian_subagent"
244
+ ]
245
+ },
246
+ "serviceTier": {
247
+ "type": [
248
+ "string",
249
+ "null"
250
+ ]
251
+ },
252
+ "defaultWorkspaceDir": {
253
+ "type": "string"
254
+ }
255
+ }
256
+ }
257
+ }
258
+ },
259
+ "uiHints": {
260
+ "codexDynamicToolsLoading": {
261
+ "label": "Dynamic Tools Loading",
262
+ "help": "Use searchable to defer Klaw dynamic tools behind Codex tool search, or direct to expose them in the initial context.",
263
+ "advanced": true
264
+ },
265
+ "codexDynamicToolsExclude": {
266
+ "label": "Dynamic Tool Excludes",
267
+ "help": "Additional Klaw dynamic tool names to omit from Codex app-server turns.",
268
+ "advanced": true
269
+ },
270
+ "discovery": {
271
+ "label": "Model Discovery",
272
+ "help": "Plugin-owned controls for discovering Codex app-server models."
273
+ },
274
+ "discovery.enabled": {
275
+ "label": "Enable Discovery",
276
+ "help": "When false, Klaw keeps the Codex harness available but uses the bundled fallback model list."
277
+ },
278
+ "discovery.timeoutMs": {
279
+ "label": "Discovery Timeout",
280
+ "help": "Maximum time to wait for Codex app-server model discovery before falling back to the bundled model list.",
281
+ "advanced": true
282
+ },
283
+ "computerUse": {
284
+ "label": "Computer Use",
285
+ "help": "Controls Codex app-server setup for the Computer Use plugin.",
286
+ "advanced": true
287
+ },
288
+ "computerUse.enabled": {
289
+ "label": "Enable Computer Use",
290
+ "help": "When true, Codex-mode turns require the configured Computer Use MCP server to be available.",
291
+ "advanced": true
292
+ },
293
+ "computerUse.autoInstall": {
294
+ "label": "Auto Install",
295
+ "help": "Install the configured Computer Use plugin when Codex-mode turns start.",
296
+ "advanced": true
297
+ },
298
+ "computerUse.marketplaceDiscoveryTimeoutMs": {
299
+ "label": "Marketplace Discovery Timeout",
300
+ "help": "Maximum time to wait for Codex app-server to finish loading marketplaces during Computer Use install.",
301
+ "advanced": true
302
+ },
303
+ "computerUse.marketplaceSource": {
304
+ "label": "Marketplace Source",
305
+ "help": "Optional Codex marketplace source to add before installing Computer Use.",
306
+ "advanced": true
307
+ },
308
+ "computerUse.marketplacePath": {
309
+ "label": "Marketplace Path",
310
+ "help": "Optional local Codex marketplace file path containing the Computer Use plugin.",
311
+ "advanced": true
312
+ },
313
+ "computerUse.marketplaceName": {
314
+ "label": "Marketplace Name",
315
+ "help": "Optional registered Codex marketplace name containing the Computer Use plugin.",
316
+ "advanced": true
317
+ },
318
+ "computerUse.pluginName": {
319
+ "label": "Plugin Name",
320
+ "help": "Codex marketplace plugin name for Computer Use.",
321
+ "advanced": true
322
+ },
323
+ "computerUse.mcpServerName": {
324
+ "label": "MCP Server Name",
325
+ "help": "MCP server name exposed by the Computer Use plugin.",
326
+ "advanced": true
327
+ },
328
+ "codexPlugins": {
329
+ "label": "Native Codex Plugins",
330
+ "help": "Controls native Codex plugin availability for Codex harness turns.",
331
+ "advanced": true
332
+ },
333
+ "codexPlugins.enabled": {
334
+ "label": "Enable Native Plugins",
335
+ "help": "Expose explicit migrated Codex plugin entries to Codex harness turns.",
336
+ "advanced": true
337
+ },
338
+ "codexPlugins.allow_destructive_actions": {
339
+ "label": "Allow Destructive Plugin Actions",
340
+ "help": "Default policy for plugin app write or destructive action elicitations. Defaults to true.",
341
+ "advanced": true
342
+ },
343
+ "codexPlugins.plugins": {
344
+ "label": "Migrated Plugin Entries",
345
+ "help": "Explicit migration-authored plugin entries. The wildcard key * is not supported.",
346
+ "advanced": true
347
+ },
348
+ "appServer": {
349
+ "label": "App Server",
350
+ "help": "Runtime controls for connecting to Codex app-server.",
351
+ "advanced": true
352
+ },
353
+ "appServer.mode": {
354
+ "label": "Execution Mode",
355
+ "help": "Use yolo for unchained local execution or guardian for Codex guardian-reviewed approvals.",
356
+ "advanced": true
357
+ },
358
+ "appServer.transport": {
359
+ "label": "Transport",
360
+ "help": "Use stdio to spawn Codex locally, or websocket to connect to an already-running app-server.",
361
+ "advanced": true
362
+ },
363
+ "appServer.command": {
364
+ "label": "Command",
365
+ "help": "Executable used for stdio transport. Leave unset to use Klaw's managed Codex binary.",
366
+ "advanced": true
367
+ },
368
+ "appServer.args": {
369
+ "label": "Arguments",
370
+ "help": "Arguments used for stdio transport. Defaults to app-server --listen stdio://.",
371
+ "advanced": true
372
+ },
373
+ "appServer.url": {
374
+ "label": "WebSocket URL",
375
+ "help": "Codex app-server WebSocket URL when transport is websocket.",
376
+ "advanced": true
377
+ },
378
+ "appServer.authToken": {
379
+ "label": "Auth Token",
380
+ "help": "Bearer token sent to the WebSocket app-server.",
381
+ "sensitive": true,
382
+ "advanced": true
383
+ },
384
+ "appServer.headers": {
385
+ "label": "Headers",
386
+ "help": "Additional headers sent to the WebSocket app-server.",
387
+ "advanced": true
388
+ },
389
+ "appServer.clearEnv": {
390
+ "label": "Clear Environment",
391
+ "help": "Environment variable names removed from the spawned stdio app-server process after overrides are applied.",
392
+ "advanced": true
393
+ },
394
+ "appServer.codeModeOnly": {
395
+ "label": "Code Mode Only",
396
+ "help": "Expose Codex's code-mode-only tool surface. Klaw dynamic tools remain available through Codex nested tool calls.",
397
+ "advanced": true
398
+ },
399
+ "appServer.requestTimeoutMs": {
400
+ "label": "Request Timeout",
401
+ "help": "Maximum time to wait for Codex app-server control-plane requests.",
402
+ "advanced": true
403
+ },
404
+ "appServer.turnCompletionIdleTimeoutMs": {
405
+ "label": "Turn Completion Idle Timeout",
406
+ "help": "Maximum quiet time after Codex accepts a turn or after a turn-scoped app-server request before Klaw interrupts the turn while waiting for turn/completed.",
407
+ "advanced": true
408
+ },
409
+ "appServer.approvalPolicy": {
410
+ "label": "Approval Policy",
411
+ "help": "Codex native approval policy sent to thread start, resume, and turns.",
412
+ "advanced": true
413
+ },
414
+ "appServer.sandbox": {
415
+ "label": "Sandbox",
416
+ "help": "Codex native sandbox mode sent to thread start and resume.",
417
+ "advanced": true
418
+ },
419
+ "appServer.approvalsReviewer": {
420
+ "label": "Approvals Reviewer",
421
+ "help": "Use user approvals or Codex auto_review for native app-server approvals. guardian_subagent remains accepted for compatibility.",
422
+ "advanced": true
423
+ },
424
+ "appServer.serviceTier": {
425
+ "label": "Service Tier",
426
+ "help": "Optional Codex app-server service tier. Use priority, flex, or null. Legacy fast is accepted as priority.",
427
+ "advanced": true
428
+ },
429
+ "appServer.defaultWorkspaceDir": {
430
+ "label": "Default Workspace",
431
+ "help": "Workspace used by /codex bind when --cwd is omitted.",
432
+ "advanced": true
433
+ }
434
+ }
435
+ }
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/media-understanding-provider.js";
2
+ import * as module from "../../../dist/extensions/codex/media-understanding-provider.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@kodelyth/codex",
3
+ "version": "2026.5.40",
4
+ "description": "Klaw Codex harness and model provider plugin",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/kodelyth/klaw"
8
+ },
9
+ "type": "module",
10
+ "dependencies": {
11
+ "@earendil-works/pi-coding-agent": "0.75.1",
12
+ "@openai/codex": "0.130.0",
13
+ "ajv": "8.20.0",
14
+ "ws": "8.20.1",
15
+ "zod": "4.4.3"
16
+ },
17
+ "devDependencies": {
18
+ "@kodelyth/plugin-sdk": "1.0.1"
19
+ },
20
+ "klaw": {
21
+ "extensions": [
22
+ "./index.ts"
23
+ ],
24
+ "install": {
25
+ "npmSpec": "@kodelyth/codex",
26
+ "defaultChoice": "npm",
27
+ "minHostVersion": ">=2026.5.1-beta.1"
28
+ },
29
+ "compat": {
30
+ "pluginApi": ">=2026.5.40"
31
+ },
32
+ "build": {
33
+ "klawVersion": "2026.5.40"
34
+ },
35
+ "release": {
36
+ "publishToClawHub": true,
37
+ "publishToNpm": true
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/prompt-overlay.js";
2
+ import * as module from "../../../dist/extensions/codex/prompt-overlay.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/provider-catalog.js";
2
+ import * as module from "../../../dist/extensions/codex/provider-catalog.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/provider-discovery.js";
2
+ import defaultModule from "../../../dist/extensions/codex/provider-discovery.js";
3
+ let defaultExport = defaultModule;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/provider.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/provider.js";
2
+ import * as module from "../../../dist/extensions/codex/provider.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/test-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/codex/test-api.js";
2
+ import * as module from "../../../dist/extensions/codex/test-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };