@f5-sales-demo/pi-ai 20.2.4 → 20.2.7

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/CHANGELOG.md CHANGED
@@ -21,6 +21,7 @@
21
21
  - Fixed Ollama discovery cache normalization so cached models upgrade to the OpenAI Responses transport after the provider change
22
22
 
23
23
  ## [14.0.0] - 2026-04-08
24
+
24
25
  ### Breaking Changes
25
26
 
26
27
  - Removed `coerceNullStrings` function and its automatic null-string coercion behavior from JSON parsing
@@ -43,6 +44,7 @@
43
44
  - Fixed Anthropic streaming to suppress transient SDK console errors for malformed SSE keep-alive frames so the TUI only shows surfaced provider errors
44
45
 
45
46
  - Added environment-based credential fallback for the OpenAI Codex provider.
47
+
46
48
  ## [13.17.6] - 2026-04-01
47
49
 
48
50
  ### Fixed
@@ -50,6 +52,7 @@
50
52
  - Fixed Anthropic first-event timeouts to exclude stream connection setup from the watchdog, preserve timeout-specific retry classification after local aborts, and reset retry state cleanly between attempts
51
53
 
52
54
  ## [13.17.5] - 2026-04-01
55
+
53
56
  ### Changed
54
57
 
55
58
  - Increased default first-event timeout from 15s to 45s to better accommodate longer request setup times
@@ -88,6 +91,7 @@
88
91
  - Added Vercel AI Gateway to `/login` providers for interactive API key setup
89
92
 
90
93
  ### Fixed
94
+
91
95
  - Fixed `omp commit` failing with HTTP 400 errors when using reasoning-enabled models on OpenAI-compatible endpoints that don't support the `developer` role (e.g., GitHub Copilot, custom proxies). Now falls back to `system` role when `developer` is unsupported.
92
96
 
93
97
  ## [13.17.0] - 2026-03-30
@@ -112,6 +116,7 @@
112
116
  - Fixed normalizeAnthropicBaseUrl returning empty string instead of undefined when baseUrl is empty
113
117
 
114
118
  ## [13.16.4] - 2026-03-28
119
+
115
120
  ### Added
116
121
 
117
122
  - Added support for Groq Compound and Compound Mini models with extended context window (131K tokens) and configurable thinking levels
@@ -132,6 +137,7 @@
132
137
  - Updated OpenRouter Claude 3.5 Sonnet pricing: input from 0.45 to 0.42, cache read from 0.225 to 0.21
133
138
 
134
139
  ## [13.16.3] - 2026-03-28
140
+
135
141
  ### Changed
136
142
 
137
143
  - Modified OAuth credential saving to preserve unrelated identities instead of replacing all credentials for a provider
@@ -157,6 +163,7 @@
157
163
  - Fixed `parseRateLimitReason` not recognizing "usage limit" in Codex error messages, causing incorrect fallback to `UNKNOWN` classification instead of `QUOTA_EXHAUSTED`
158
164
 
159
165
  ## [13.14.2] - 2026-03-21
166
+
160
167
  ### Changed
161
168
 
162
169
  - Updated thinking configuration format from `levels` array to `minLevel` and `maxLevel` properties for improved clarity
@@ -179,13 +186,14 @@
179
186
  - Added bundled GPT-5.4 mini model metadata for OpenAI, OpenAI Codex, and GitHub Copilot, including low-to-xhigh thinking support and GitHub Copilot premium multiplier metadata
180
187
  - Added bundled GPT-5.4 nano model metadata for OpenAI and OpenAI Codex, including low-to-xhigh thinking support
181
188
 
182
-
183
189
  ## [13.13.2] - 2026-03-18
190
+
184
191
  ### Changed
185
192
 
186
193
  - Modified tool result handling for aborted assistant messages to preserve existing tool results when already recorded, instead of always replacing them with synthetic 'aborted' results
187
194
 
188
195
  ## [13.13.0] - 2026-03-18
196
+
189
197
  ### Changed
190
198
 
191
199
  - Changed tool argument validation to always normalize optional null values before type coercion, ensuring consistent handling of LLM-generated 'null' strings
@@ -196,6 +204,7 @@
196
204
  - Improved type safety of `validateToolCall` and `validateToolArguments` functions by returning properly typed `ToolCall["arguments"]` instead of `any`
197
205
 
198
206
  ## [13.12.9] - 2026-03-17
207
+
199
208
  ### Changed
200
209
 
201
210
  - Extracted OpenAI compatibility detection and resolution logic into dedicated `openai-completions-compat` module for improved maintainability and reusability
@@ -245,6 +254,7 @@
245
254
  - Fixed auth schema V0-to-V1 migration crash when the V0 table lacks a `disabled` column
246
255
 
247
256
  ## [13.11.0] - 2026-03-12
257
+
248
258
  ### Added
249
259
 
250
260
  - Added support for Parallel AI provider with API key authentication
@@ -260,6 +270,7 @@
260
270
  - Improved retry logic to handle HTTP/2 stream errors and internal_error responses from Anthropic API
261
271
 
262
272
  ## [13.9.16] - 2026-03-10
273
+
263
274
  ### Added
264
275
 
265
276
  - Support for `onPayload` callback to replace provider request payloads before sending, enabling request interception and modification
@@ -282,11 +293,13 @@
282
293
  - Fixed handling of malformed JSON messages in websocket streams to trigger immediate fallback to SSE without retry attempts
283
294
 
284
295
  ## [13.9.13] - 2026-03-10
296
+
285
297
  ### Added
286
298
 
287
299
  - Added `isSpecialServiceTier` utility function to validate OpenAI service tier values
288
300
 
289
301
  ## [13.9.12] - 2026-03-09
302
+
290
303
  ### Added
291
304
 
292
305
  - Added Tavily web search provider support with API key authentication
@@ -319,11 +332,13 @@
319
332
  - Fixed auth storage to preserve newer recorded schema versions when opened by older binaries
320
333
 
321
334
  ## [13.9.8] - 2026-03-08
335
+
322
336
  ### Fixed
323
337
 
324
338
  - Fixed WebSocket stream fallback logic to safely replay buffered output over SSE when WebSocket fails after partial content has been streamed
325
339
 
326
340
  ## [13.9.4] - 2026-03-07
341
+
327
342
  ### Changed
328
343
 
329
344
  - Simplified API key credential storage to always replace existing credentials on re-login instead of accumulating multiple keys
@@ -336,6 +351,7 @@
336
351
  - Fixed Cerebras model compatibility by preventing `stream_options` usage requests in chat completions
337
352
 
338
353
  ## [13.9.3] - 2026-03-07
354
+
339
355
  ### Breaking Changes
340
356
 
341
357
  - Changed `reasoning` parameter from `ThinkingLevel | undefined` to `Effort | undefined` in `SimpleStreamOptions`; 'off' is no longer valid (omit the field instead)
@@ -944,7 +960,7 @@
944
960
  ### Changed
945
961
 
946
962
  - Updated GLM-4.5, GLM-4.5-Air, GLM-4.5-Flash, GLM-4.5V, GLM-4.6, GLM-4.6V, GLM-4.7, GLM-4.7-Flash, and GLM-5 models to use anthropic-messages API instead of openai-completions
947
- - Updated GLM models base URL from https://api.z.ai/api/coding/paas/v4 to https://api.z.ai/api/anthropic
963
+ - Updated GLM models base URL from <https://api.z.ai/api/coding/paas/v4> to <https://api.z.ai/api/anthropic>
948
964
  - Updated pricing for multiple models including Mistral, Moonshot, and Qwen variants
949
965
  - Updated context window and max tokens for several models to reflect accurate specifications
950
966
 
@@ -1529,8 +1545,8 @@
1529
1545
 
1530
1546
  ### Changed
1531
1547
 
1532
- - Updated environment variable prefix from PI* to OMP* for better consistency
1533
- - Added automatic migration for legacy PI* environment variables to OMP* equivalents
1548
+ - Updated environment variable prefix from PI*to OMP* for better consistency
1549
+ - Added automatic migration for legacy PI*environment variables to OMP* equivalents
1534
1550
  - Adjusted Bedrock Claude thinking budgets to reserve output tokens when maxTokens is too low
1535
1551
 
1536
1552
  ### Fixed
@@ -1801,7 +1817,8 @@
1801
1817
 
1802
1818
  ### Fixed
1803
1819
 
1804
- - Vertex AI dummy value for `getEnvApiKey()`: Returns `"<authenticated>"` when Application Default Credentials are configured (`~/.config/gcloud/application_default_credentials.json` exists) and both `GOOGLE_CLOUD_PROJECT` (or `GCLOUD_PROJECT`) and `GOOGLE_CLOUD_LOCATION` are set. This allows `streamSimple()` to work with Vertex AI without explicit `apiKey` option. The ADC credentials file existence check is cached per-process to avoid repeated filesystem access.
1820
+ - Vertex AI dummy value for `getEnvApiKey()`: Returns `"<authenticated>"` when Application Default Credentials are configured (`~/.config/gcloud/application_default_credentials.json` exists) and both `GOOGLE_CLOUD_PROJECT` (or `GCLOUD_PROJECT`) and `GOOGLE_CLOUD_LOCATION` are set.
1821
+ This allows `streamSimple()` to work with Vertex AI without explicit `apiKey` option. The ADC credentials file existence check is cached per-process to avoid repeated filesystem access.
1805
1822
 
1806
1823
  ## [0.32.3] - 2026-01-03
1807
1824
 
@@ -1920,7 +1937,7 @@
1920
1937
 
1921
1938
  ## [0.22.1] - 2025-12-15
1922
1939
 
1923
- _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
1940
+ *Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))*
1924
1941
 
1925
1942
  ### Added
1926
1943
 
@@ -1974,7 +1991,8 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
1974
1991
 
1975
1992
  - Added `validateToolCall(tools, toolCall)` helper that finds the tool by name and validates arguments.
1976
1993
 
1977
- - **OpenAI compatibility overrides**: Added `compat` field to `Model` for `openai-completions` API, allowing explicit configuration of provider quirks (`supportsStore`, `supportsDeveloperRole`, `supportsReasoningEffort`, `maxTokensField`). Falls back to URL-based detection if not set. Useful for LiteLLM, custom proxies, and other non-standard endpoints. ([#133](https://github.com/badlogic/pi-mono/issues/133), thanks @fink-andreas for the initial idea and PR)
1994
+ - **OpenAI compatibility overrides**: Added `compat` field to `Model` for `openai-completions` API, allowing explicit configuration of provider quirks (`supportsStore`, `supportsDeveloperRole`, `supportsReasoningEffort`, `maxTokensField`). Falls back to URL-based detection if not set.
1995
+ Useful for LiteLLM, custom proxies, and other non-standard endpoints. ([#133](https://github.com/badlogic/pi-mono/issues/133), thanks @fink-andreas for the initial idea and PR)
1978
1996
 
1979
1997
  - **xhigh reasoning level**: Added `xhigh` to `ReasoningEffort` type for OpenAI codex-max models. For non-OpenAI providers (Anthropic, Google), `xhigh` is automatically mapped to `high`. ([#143](https://github.com/badlogic/pi-mono/issues/143))
1980
1998
 
@@ -2002,7 +2020,7 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
2002
2020
  - Corrected cache_read: $1.50 → $0.50 per MTok
2003
2021
  - Corrected cache_write: $18.75 → $6.25 per MTok
2004
2022
  - Added manual override in `scripts/generate-models.ts` until upstream fix is merged
2005
- - Submitted PR to models.dev: https://github.com/sst/models.dev/pull/439
2023
+ - Submitted PR to models.dev: <https://github.com/sst/models.dev/pull/439>
2006
2024
 
2007
2025
  ## [0.9.4] - 2025-11-26
2008
2026