@benvargas/pi-openai-verbosity 1.1.0 → 1.1.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 (2) hide show
  1. package/README.md +39 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -130,6 +130,42 @@ You can change any value to override the default for that model. If you have an
130
130
  older version of this extension, your file's entries win over these defaults, and entries for model slugs pi no
131
131
  longer exposes are simply ignored.
132
132
 
133
+ ## Why not `samplingParams`?
134
+
135
+ pi 0.84.0 added `samplingParams`, which lets you pass arbitrary OpenAI-compatible parameters through
136
+ `models.json`, model overrides, and extension providers. Reading those release notes, it is natural to assume
137
+ this extension is now redundant and that you can write:
138
+
139
+ ```json
140
+ {
141
+ "modelOverrides": {
142
+ "openai-codex/gpt-5.5": {
143
+ "samplingParams": { "text": { "verbosity": "medium" } }
144
+ }
145
+ }
146
+ }
147
+ ```
148
+
149
+ **On `openai-codex` this silently does nothing.** There is no error and no warning; the setting is simply never
150
+ applied. `samplingParams` is explicitly scoped to OpenAI-*compatible* adapters — pi-ai documents it as "only
151
+ applied by OpenAI-compatible adapters (completions, responses, Azure responses); other APIs ignore it" — and
152
+ the Codex adapter is not one of them. It builds its own request and hardcodes `text: { verbosity: ... }`,
153
+ defaulting to `low`.
154
+
155
+ So for the `openai-codex` provider, this extension remains the only way to set per-model verbosity.
156
+
157
+ ### If you use `samplingParams` on the plain `openai` provider
158
+
159
+ There it *is* applied, but the merge is a shallow top-level `Object.assign`. That means:
160
+
161
+ ```json
162
+ { "samplingParams": { "text": { "verbosity": "medium" } } }
163
+ ```
164
+
165
+ replaces the **entire** `text` object rather than merging into it, discarding any other `text` fields pi had
166
+ already set. This extension deliberately does the opposite: it preserves existing `text` fields and replaces
167
+ only `text.verbosity`.
168
+
133
169
  ## Debugging
134
170
 
135
171
  Pi does not currently expose a simple CLI flag to print the final provider request body. To verify this extension is
@@ -159,7 +195,9 @@ delete it when you are done debugging.
159
195
 
160
196
  - This extension only changes outgoing provider request payloads.
161
197
  - Existing `text` fields are preserved, and only `text.verbosity` is replaced.
162
- - Only the `openai-codex` provider is supported.
198
+ - Only the `openai-codex` provider is supported. pi 0.84.0's `samplingParams` does not reach that provider, so
199
+ this extension remains the only per-model verbosity control for it — see
200
+ [Why not `samplingParams`?](#why-not-samplingparams).
163
201
  - This extension is most useful if you want different verbosity settings for different OpenAI Codex model slugs.
164
202
 
165
203
  ## Uninstall
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.1",
4
4
  "description": "Per-model OpenAI Codex text verbosity overrides for pi",
5
5
  "keywords": [
6
6
  "pi",