@oai404iao/pi-codex-minimal-tools 1.4.1-alpha.0 → 2.0.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  Codex-specific Responses support for Pi, driven by an exact per-model JSON
4
4
  catalog instead of model-name heuristics.
5
5
 
6
- Peer floor: Pi 0.84.2; tested against 0.84.2 and 0.85.1.
6
+ Peer floor: Pi 0.85.1; tested against 0.85.1.
7
7
 
8
8
  > npm identity stays `@oai404iao/pi-codex-minimal-tools`. This checkout composes
9
9
  > core, web-search and imagegen through a shared runtime. The four new packages
@@ -113,6 +113,7 @@ Without `PI_CODING_AGENT_DIR`, Pi normally uses `~/.config/pi/agent` or
113
113
  "glyphStyle": "unicode",
114
114
  "autoEnable": true,
115
115
  "fastMode": false,
116
+ "imageGeneration": true,
116
117
  "imageOutputDir": ".pi/openai-codex-images",
117
118
  "imageModel": "gpt-image-2",
118
119
  "directImageApiFallback": false,
@@ -127,6 +128,7 @@ Without `PI_CODING_AGENT_DIR`, Pi normally uses `~/.config/pi/agent` or
127
128
  | `glyphStyle` | Use `unicode` or `ascii` UI glyphs. |
128
129
  | `autoEnable` | Add supported package tools automatically. |
129
130
  | `fastMode` | Global user toggle; only profiles with `fast` are affected. |
131
+ | `imageGeneration` | Global master switch. Set `false` to omit image tools, `/image-gen`, presentation, hosted injection, standalone requests, and direct fallback without changing other model behavior. |
130
132
  | `imageOutputDir` | Generated-image output directory. Relative paths resolve from the workspace root. |
131
133
  | `imageModel` | Image model used by standalone/hosted image requests and direct fallback. |
132
134
  | `directImageApiFallback` | Permit the separate `OPENAI_API_KEY` Images API fallback. |
@@ -134,7 +136,8 @@ Without `PI_CODING_AGENT_DIR`, Pi normally uses `~/.config/pi/agent` or
134
136
  | `deferApplyPatchRendering` | Use Pi's fallback renderer instead of the streaming patch preview. |
135
137
 
136
138
  The older model-level keys remain readable for one migration version, but are
137
- deprecated. See [Legacy migration](#legacy-migration).
139
+ deprecated. `imageGeneration` is the exception: it remains the supported global
140
+ master switch. See [Legacy migration](#legacy-migration).
138
141
 
139
142
  ### Per-Model Catalog
140
143
 
@@ -297,10 +300,12 @@ Important constraints:
297
300
  ## Built-In Profiles
298
301
 
299
302
  The bundled catalog is based on local Codex commit
300
- `eb9dceba1a2e658142a456c5898836774835616b` from August 12, 2026.
303
+ `eb9dceba1a2e658142a456c5898836774835616b` from August 12, 2026, with the
304
+ Astra profile updated from `ddea03ad049142943bdbf13e937b1d67e8c1ba0c`.
301
305
 
302
306
  | Models | Responses | Web | Image | Patch | Compaction |
303
307
  | --- | --- | --- | --- | --- | --- |
308
+ | `openai-codex/gpt-6-astra` | Lite, auto WS/SSE | standalone text+image | standalone | custom | responses |
304
309
  | `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna` | Lite, auto WS/SSE | standalone text+image | standalone | custom | responses |
305
310
  | `gpt-5.5`, `gpt-5.4` | Standard, auto WS/SSE | hosted text+image | standalone | custom | responses |
306
311
  | `gpt-5.4-mini`, `codex-auto-review` | Standard, auto WS/SSE | hosted text+image | standalone | custom | responses |
@@ -309,8 +314,19 @@ The bundled catalog is based on local Codex commit
309
314
  | `gpt-4.1` | Standard SSE | off | hosted | off | Pi |
310
315
  | `o4-mini` | Standard SSE | off | off | off | Pi |
311
316
 
312
- Equivalent `openai/...` and `openai-codex/...` IDs are included; the latter
313
- switch only the endpoint/auth shape to `codex`.
317
+ The pre-Astra entries include equivalent `openai/...` and
318
+ `openai-codex/...` IDs; the latter switch only the endpoint/auth shape to
319
+ `codex`. Astra is bundled only for `openai-codex`, matching the analyzed
320
+ ChatGPT subscription route. A public-API or proxy Astra deployment requires an
321
+ explicit user profile for that endpoint.
322
+
323
+ Pi 0.85.1 provides the Astra model descriptor; it is now the package peer
324
+ floor. The extension composes its stream shim over that provider and does not
325
+ replace authentication, streams, or the model catalog.
326
+ The descriptor keeps the production default at 272,000 context tokens and
327
+ 128,000 output tokens. A backend-authorized larger context must be selected
328
+ explicitly through Pi's provider `modelOverrides`; the extension does not infer
329
+ that entitlement from the Astra slug.
314
330
 
315
331
  These entries are defaults, not claims that every proxy with the same model
316
332
  slug supports the protocol. Override or disable a profile for the endpoint
@@ -335,6 +351,10 @@ raw result text.
335
351
 
336
352
  ## Image Generation
337
353
 
354
+ Set global `config.json.imageGeneration` to `false` to disable the entire
355
+ generation capability. Per-model `tools.imageGeneration:false` disables only
356
+ that profile. Neither setting disables image input or historical image replay.
357
+
338
358
  `tools.imageGeneration` supports:
339
359
 
340
360
  - `hosted`: Responses `image_generation`.
@@ -407,14 +427,15 @@ model override for compatibility:
407
427
  | `requestProfile.systemPromptPlacement` | `responses.systemPromptPlacement` |
408
428
  | `requestProfile.patchTransport` | `tools.applyPatch` |
409
429
  | `apiKeyMode` | `responses.endpoint` |
410
- | `imageGeneration` | `tools.imageGeneration` |
411
430
  | `webSearchEnabled` | `tools.webSearch` |
412
431
  | `viewImage` | `tools.viewImage` |
413
432
  | `applyPatchEnabled` | `tools.applyPatch` |
414
433
  | `additionalModelIds` | one exact user catalog entry per model |
415
434
 
416
435
  Move these values to extension `models.json`; legacy projection is intended
417
- only as a transition path.
436
+ only as a transition path. `imageGeneration` is no longer a legacy projection:
437
+ it is the supported global gate, while per-model selection stays in
438
+ `tools.imageGeneration`.
418
439
 
419
440
  ## Protocol Reference
420
441
 
@@ -8,7 +8,7 @@ forwards or verified asset mirrors. Their adaptations now live in
8
8
  `@oai404iao/pi-codex-runtime/src/reserved-tools/`. Those packages retain the
9
9
  original modification notices, Apache snapshots and provenance. Search/image
10
10
  clients live in their respective capability packages. No upstream revision or
11
- reviewed fingerprint changed during this move.
11
+ reviewed reserved-tool fingerprint changed during this move.
12
12
 
13
13
  ## OpenAI Codex
14
14
 
@@ -59,6 +59,16 @@ The repository's `reference/` directory contains protocol analysis based on
59
59
  both Codex revisions above. It is development documentation and is excluded
60
60
  from the npm tarball.
61
61
 
62
+ ### GPT-6 Astra profile
63
+
64
+ The Astra profile is derived from Codex model/request metadata at revision
65
+ [`ddea03ad049142943bdbf13e937b1d67e8c1ba0c`](https://github.com/openai/codex/commit/ddea03ad049142943bdbf13e937b1d67e8c1ba0c)
66
+ and cross-checked against the MIT-licensed
67
+ `@earendil-works/pi-ai@0.85.1` generated catalog. The Codex file/blob hashes
68
+ and locked npm tarball identity are recorded in
69
+ `provenance/openai-codex-ddea03ad-astra.json`. This delta does not repin or
70
+ modify the reserved namespace-tool and apply-patch grammar fingerprints.
71
+
62
72
  ### Modified namespace-tool compatibility serialization
63
73
 
64
74
  `src/codex-reserved-tools.ts` is a modified TypeScript compatibility
@@ -109,8 +109,7 @@
109
109
  },
110
110
  "imageGeneration": {
111
111
  "type": "boolean",
112
- "description": "Deprecated compatibility override. Move per-model image-generation support to extension models.json.",
113
- "deprecated": true,
112
+ "description": "Global image-generation master switch. false disables image tools, commands, presentation, hosted injection, standalone endpoints, and direct fallback without changing other model-profile behavior.",
114
113
  "default": true
115
114
  },
116
115
  "webSearchEnabled": {
package/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { default } from "./src/index.js";
2
+ export * from "./src/index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oai404iao/pi-codex-minimal-tools",
3
- "version": "1.4.1-alpha.0",
3
+ "version": "2.0.0",
4
4
  "description": "Model-profiled Codex Responses tools for Pi: WebSocket, Lite, web search, images, compaction, and apply_patch",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,20 +33,20 @@
33
33
  },
34
34
  "pi": {
35
35
  "extensions": [
36
- "./src/index.ts"
36
+ "./index.ts"
37
37
  ]
38
38
  },
39
39
  "peerDependencies": {
40
- "@earendil-works/pi-ai": ">=0.84.2",
41
- "@earendil-works/pi-coding-agent": ">=0.84.2",
42
- "@earendil-works/pi-tui": ">=0.84.2",
40
+ "@earendil-works/pi-ai": ">=0.85.1",
41
+ "@earendil-works/pi-coding-agent": ">=0.85.1",
42
+ "@earendil-works/pi-tui": ">=0.85.1",
43
43
  "typebox": "*"
44
44
  },
45
45
  "dependencies": {
46
- "@oai404iao/pi-codex-runtime": "0.1.0-alpha.1",
47
- "@oai404iao/pi-codex-core": "0.1.0-alpha.1",
48
- "@oai404iao/pi-codex-web-search": "0.1.0-alpha.1",
49
- "@oai404iao/pi-codex-imagegen": "0.1.0-alpha.1"
46
+ "@oai404iao/pi-codex-runtime": "0.1.0",
47
+ "@oai404iao/pi-codex-core": "0.1.0",
48
+ "@oai404iao/pi-codex-web-search": "0.1.0",
49
+ "@oai404iao/pi-codex-imagegen": "0.1.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@earendil-works/pi-ai": "0.85.1",
@@ -63,6 +63,7 @@
63
63
  "check": "npm run typecheck && npm test"
64
64
  },
65
65
  "files": [
66
+ "index.ts",
66
67
  "src/",
67
68
  "provenance/",
68
69
  "README.md",
@@ -87,5 +88,5 @@
87
88
  "optional": true
88
89
  }
89
90
  },
90
- "gitHead": "53026bf9e3f6a1d16a9c990e6034b49041928eab"
91
+ "gitHead": "88cb6f56447d88b71232cd764ca5b29251341d23"
91
92
  }
@@ -0,0 +1,54 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "upstream": {
4
+ "repository": "https://github.com/openai/codex",
5
+ "revision": "ddea03ad049142943bdbf13e937b1d67e8c1ba0c",
6
+ "commitUrl": "https://github.com/openai/codex/commit/ddea03ad049142943bdbf13e937b1d67e8c1ba0c",
7
+ "license": "Apache-2.0"
8
+ },
9
+ "files": {
10
+ "LICENSE": {
11
+ "role": "upstream Apache-2.0 license",
12
+ "gitBlobSha": "4606e72e042564097e8780d66c1d4dcb611869bd",
13
+ "sha256": "d17f227e4df5da1600391338865ce0f3055211760a36688f816941d58232d8dc",
14
+ "rawUrl": "https://raw.githubusercontent.com/openai/codex/ddea03ad049142943bdbf13e937b1d67e8c1ba0c/LICENSE"
15
+ },
16
+ "NOTICE": {
17
+ "role": "upstream NOTICE",
18
+ "gitBlobSha": "2805899d56d0332d175cfc613c67d45d6f006db7",
19
+ "sha256": "9d71575ecfd9a843fc1677b0efb08053c6ba9fd686a0de1a6f5382fd3c220915",
20
+ "rawUrl": "https://raw.githubusercontent.com/openai/codex/ddea03ad049142943bdbf13e937b1d67e8c1ba0c/NOTICE"
21
+ },
22
+ "codex-rs/models-manager/models.json": {
23
+ "role": "GPT-6 Astra capabilities and defaults",
24
+ "gitBlobSha": "1b5ce2c515986f84147abe5f4fb6e9b0deab0470",
25
+ "sha256": "897614e513a591b362f76c34e4b4d31af5809a2b52f8c0ab57f2990c5bf4ab3d",
26
+ "rawUrl": "https://raw.githubusercontent.com/openai/codex/ddea03ad049142943bdbf13e937b1d67e8c1ba0c/codex-rs/models-manager/models.json"
27
+ },
28
+ "codex-rs/models-manager/src/model_info.rs": {
29
+ "role": "model metadata representation and context-window limits",
30
+ "gitBlobSha": "ca1006993137d66de19137ff136f7ac8d36f9da3",
31
+ "sha256": "919883a4a15f6f3cace2ec78388aa7f9f8e042f74f553877843552ed55bf15bf",
32
+ "rawUrl": "https://raw.githubusercontent.com/openai/codex/ddea03ad049142943bdbf13e937b1d67e8c1ba0c/codex-rs/models-manager/src/model_info.rs"
33
+ },
34
+ "codex-rs/core/src/client.rs": {
35
+ "role": "Responses Lite and WebSocket request behavior",
36
+ "gitBlobSha": "8d2db30d7bb942cd030cb8d511eaafba8cbe46dd",
37
+ "sha256": "6a9b3d5d60293ca694e1642c905b574c2c12da490cff1c165e485f35a81f6edb",
38
+ "rawUrl": "https://raw.githubusercontent.com/openai/codex/ddea03ad049142943bdbf13e937b1d67e8c1ba0c/codex-rs/core/src/client.rs"
39
+ }
40
+ },
41
+ "catalogReference": {
42
+ "package": "@earendil-works/pi-ai",
43
+ "version": "0.85.1",
44
+ "license": "MIT",
45
+ "repository": "https://github.com/earendil-works/pi",
46
+ "tarballIntegrity": "sha512-+VgVIJDkDO2efYJKEEqvPTH4zmnIaXdAppGbO+vKFA9qy5PdhFiAenuFAkU+oiCSfOC4dMHDyrjdQeL4ZoC5CQ==",
47
+ "path": "dist/providers/data/openai-codex.json",
48
+ "sha256": "a10bfcfd34db6bcb98d8ee46175e154cab30530a137dbf31ac1434020ed3ffdd"
49
+ },
50
+ "localImplementations": [
51
+ "pi-codex-runtime/src/model-catalog/default-models.json",
52
+ "pi-codex-minimal-tools/src/model-catalog/default-models.json"
53
+ ]
54
+ }
@@ -150,6 +150,14 @@
150
150
  "endpoint": "codex"
151
151
  }
152
152
  },
153
+ {
154
+ "id": "openai-codex/gpt-6-astra",
155
+ "extends": "openai/gpt-5.6-sol",
156
+ "responses": {
157
+ "endpoint": "codex",
158
+ "reasoningSummary": "none"
159
+ }
160
+ },
153
161
  {
154
162
  "id": "openai-codex/gpt-5.6-terra",
155
163
  "extends": "openai/gpt-5.6-terra",