@benvargas/pi-openai-verbosity 1.1.0 → 1.1.2

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
@@ -121,7 +121,8 @@ By default, the extension mirrors the Codex CLI's own per-model verbosity defaul
121
121
  "openai-codex/gpt-5.5": "low",
122
122
  "openai-codex/gpt-5.6-luna": "low",
123
123
  "openai-codex/gpt-5.6-sol": "low",
124
- "openai-codex/gpt-5.6-terra": "low"
124
+ "openai-codex/gpt-5.6-terra": "low",
125
+ "openai-codex/gpt-6-astra": "low"
125
126
  }
126
127
  }
127
128
  ```
@@ -130,6 +131,42 @@ You can change any value to override the default for that model. If you have an
130
131
  older version of this extension, your file's entries win over these defaults, and entries for model slugs pi no
131
132
  longer exposes are simply ignored.
132
133
 
134
+ ## Why not `samplingParams`?
135
+
136
+ pi 0.84.0 added `samplingParams`, which lets you pass arbitrary OpenAI-compatible parameters through
137
+ `models.json`, model overrides, and extension providers. Reading those release notes, it is natural to assume
138
+ this extension is now redundant and that you can write:
139
+
140
+ ```json
141
+ {
142
+ "modelOverrides": {
143
+ "openai-codex/gpt-5.5": {
144
+ "samplingParams": { "text": { "verbosity": "medium" } }
145
+ }
146
+ }
147
+ }
148
+ ```
149
+
150
+ **On `openai-codex` this silently does nothing.** There is no error and no warning; the setting is simply never
151
+ applied. `samplingParams` is explicitly scoped to OpenAI-*compatible* adapters — pi-ai documents it as "only
152
+ applied by OpenAI-compatible adapters (completions, responses, Azure responses); other APIs ignore it" — and
153
+ the Codex adapter is not one of them. It builds its own request and hardcodes `text: { verbosity: ... }`,
154
+ defaulting to `low`.
155
+
156
+ So for the `openai-codex` provider, this extension remains the only way to set per-model verbosity.
157
+
158
+ ### If you use `samplingParams` on the plain `openai` provider
159
+
160
+ There it *is* applied, but the merge is a shallow top-level `Object.assign`. That means:
161
+
162
+ ```json
163
+ { "samplingParams": { "text": { "verbosity": "medium" } } }
164
+ ```
165
+
166
+ replaces the **entire** `text` object rather than merging into it, discarding any other `text` fields pi had
167
+ already set. This extension deliberately does the opposite: it preserves existing `text` fields and replaces
168
+ only `text.verbosity`.
169
+
133
170
  ## Debugging
134
171
 
135
172
  Pi does not currently expose a simple CLI flag to print the final provider request body. To verify this extension is
@@ -159,7 +196,9 @@ delete it when you are done debugging.
159
196
 
160
197
  - This extension only changes outgoing provider request payloads.
161
198
  - Existing `text` fields are preserved, and only `text.verbosity` is replaced.
162
- - Only the `openai-codex` provider is supported.
199
+ - Only the `openai-codex` provider is supported. pi 0.84.0's `samplingParams` does not reach that provider, so
200
+ this extension remains the only per-model verbosity control for it — see
201
+ [Why not `samplingParams`?](#why-not-samplingparams).
163
202
  - This extension is most useful if you want different verbosity settings for different OpenAI Codex model slugs.
164
203
 
165
204
  ## Uninstall
@@ -21,9 +21,10 @@ const VERBOSITY_CONFIG_BASENAME = "pi-openai-verbosity.json";
21
21
  const VERBOSITY_COMMAND_ARGS = ["status"] as const;
22
22
  const DEBUG_LOG_ENV = "PI_OPENAI_VERBOSITY_DEBUG_LOG";
23
23
  const SUPPORTED_PROVIDERS = ["openai-codex"] as const;
24
- // Mirrors the Codex CLI upstream defaults for every model in pi's openai-codex
25
- // catalog. pi itself falls back to `low` for all codex requests, which matches
26
- // upstream everywhere except gpt-5.4-mini (upstream default: medium).
24
+ // Mirrors the Codex CLI upstream `default_verbosity` for every model in pi's
25
+ // openai-codex catalog as of pi 0.85.1 (gpt-5.3-codex-spark through
26
+ // gpt-6-astra). pi itself falls back to `low` for all codex requests, which
27
+ // matches upstream everywhere except gpt-5.4-mini (upstream default: medium).
27
28
  const DEFAULT_MODEL_VERBOSITY = {
28
29
  "openai-codex/gpt-5.3-codex-spark": "low",
29
30
  "openai-codex/gpt-5.4": "low",
@@ -32,6 +33,7 @@ const DEFAULT_MODEL_VERBOSITY = {
32
33
  "openai-codex/gpt-5.6-luna": "low",
33
34
  "openai-codex/gpt-5.6-sol": "low",
34
35
  "openai-codex/gpt-5.6-terra": "low",
36
+ "openai-codex/gpt-6-astra": "low",
35
37
  } as const;
36
38
 
37
39
  type TextVerbosity = "low" | "medium" | "high";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@benvargas/pi-openai-verbosity",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Per-model OpenAI Codex text verbosity overrides for pi",
5
5
  "keywords": [
6
6
  "pi",
@@ -12,6 +12,7 @@
12
12
  "openai-codex",
13
13
  "gpt-5.5",
14
14
  "gpt-5.6-sol",
15
+ "gpt-6-astra",
15
16
  "verbosity",
16
17
  "text-verbosity",
17
18
  "per-model"