@oai404iao/pi-codex-runtime 0.1.0-alpha.1 → 0.1.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
@@ -4,7 +4,7 @@ Alpha bootstrap candidate; initial npm publication is still pending.
4
4
  It has no Pi extension entry
5
5
  and does not automatically register tools or providers.
6
6
 
7
- Peer floor: Pi 0.84.2; tested against 0.84.2 and 0.85.1.
7
+ Peer floor: Pi 0.85.1; tested against 0.85.1.
8
8
 
9
9
  Owns shared Codex authentication/headers, wire identity, settings/catalog,
10
10
  Responses replay contracts and the session-scoped composition broker.
@@ -12,7 +12,10 @@ Capability-specific HTTP clients, storage and transports live in other packages.
12
12
 
13
13
  Configuration paths remain
14
14
  `<agentDir>/extensions/pi-codex-minimal-tools/{config,models}.json`.
15
- This package ships the canonical schemas and default catalog.
15
+ This package ships the canonical schemas and default catalog, including the
16
+ `openai-codex/gpt-6-astra` Responses Lite profile. The global
17
+ `config.json.imageGeneration:false` setting gates image capability derivation
18
+ without replacing the selected model profile.
16
19
  `./subagent-inline` supplies the existing SDK identity integration.
17
20
  `./internal/*` is implementation wiring, not a stable public API.
18
21
 
@@ -11,6 +11,13 @@ apply-patch compatibility evidence remains pinned to
11
11
  The unmodified provenance record preserves upstream source identifiers, not
12
12
  claims that every referenced source file is shipped in this package.
13
13
 
14
+ The bundled `openai-codex/gpt-6-astra` profile is derived from Codex model and
15
+ request metadata at
16
+ `ddea03ad049142943bdbf13e937b1d67e8c1ba0c`, cross-checked against the
17
+ MIT-licensed `@earendil-works/pi-ai@0.85.1` catalog. Exact source and tarball
18
+ identifiers are recorded in
19
+ `provenance/openai-codex-ddea03ad-astra.json`.
20
+
14
21
  Modified namespace-tool compatibility serialization is in
15
22
  `src/codex-reserved-tools.ts` and the capability-specific `src/reserved-tools/`
16
23
  assets. This is not a license or authorization to access
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oai404iao/pi-codex-runtime",
3
- "version": "0.1.0-alpha.1",
3
+ "version": "0.1.0",
4
4
  "private": false,
5
5
  "description": "Unpublished pi-codex-runtime workspace for the staged Codex split",
6
6
  "type": "module",
@@ -23,8 +23,8 @@
23
23
  "./subagent-inline": "./src/subagent-inline.ts"
24
24
  },
25
25
  "peerDependencies": {
26
- "@earendil-works/pi-ai": ">=0.84.2",
27
- "@earendil-works/pi-coding-agent": ">=0.84.2"
26
+ "@earendil-works/pi-ai": ">=0.85.1",
27
+ "@earendil-works/pi-coding-agent": ">=0.85.1"
28
28
  },
29
29
  "peerDependenciesMeta": {
30
30
  "@earendil-works/pi-ai": {
@@ -64,5 +64,5 @@
64
64
  "engines": {
65
65
  "node": ">=22.19.0"
66
66
  },
67
- "gitHead": "32ba01f3c08b7fd63d09e9b2373cf081c4525533"
67
+ "gitHead": "88cb6f56447d88b71232cd764ca5b29251341d23"
68
68
  }
@@ -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
+ }
@@ -66,7 +66,9 @@ export function computeToolCapabilities(model: ModelLike | undefined, settings:
66
66
  const providerShimActive = modelSettings.providerShimActive;
67
67
 
68
68
  return {
69
- image_generation: imageGeneration === "hosted" && providerShimActive && imageInput
69
+ image_generation: !settings.imageGeneration
70
+ ? { enabled: false, reason: "image generation disabled by global setting" }
71
+ : imageGeneration === "hosted" && providerShimActive && imageInput
70
72
  ? { enabled: true, reason: "model profile enables hosted image_generation" }
71
73
  : imageGeneration === "standalone" && imageInput
72
74
  ? { enabled: true, reason: "model profile enables standalone image generation" }
@@ -490,7 +490,6 @@ function legacySettingsRecord(settings: CodexMinimalToolsSettings): JsonRecord {
490
490
  "compactionMode",
491
491
  "requestProfile",
492
492
  "apiKeyMode",
493
- "imageGeneration",
494
493
  "webSearchEnabled",
495
494
  "viewImage",
496
495
  "applyPatchEnabled",
@@ -523,7 +522,6 @@ function legacyProfilePatch(
523
522
  "compactionMode",
524
523
  "requestProfile",
525
524
  "apiKeyMode",
526
- "imageGeneration",
527
525
  "webSearchEnabled",
528
526
  "viewImage",
529
527
  "applyPatchEnabled",
@@ -569,9 +567,6 @@ function legacyProfilePatch(
569
567
  webSearch: settings.webSearchEnabled && hostedTools && oldExtendedToolModel
570
568
  ? { implementation: "hosted", contentTypes: [...contentTypes] }
571
569
  : false,
572
- imageGeneration: settings.imageGeneration && hostedTools
573
- ? "hosted"
574
- : false,
575
570
  viewImage: settings.viewImage,
576
571
  },
577
572
  compaction: settings.compactionMode,
@@ -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",
@@ -70,7 +70,9 @@ export function loadModelSettings(
70
70
  const configuredWebSearchImplementation = effective.tools.webSearch
71
71
  ? effective.tools.webSearch.implementation
72
72
  : undefined;
73
- const configuredImageGenerationImplementation = effective.tools.imageGeneration || undefined;
73
+ const configuredImageGenerationImplementation = baseSettings.imageGeneration
74
+ ? effective.tools.imageGeneration || undefined
75
+ : undefined;
74
76
  const webSearchImplementation = !packageEnabled
75
77
  || (configuredWebSearchImplementation === "hosted" && !providerShimActive)
76
78
  ? undefined