@f5-sales-demo/pi-ai 20.2.3 → 20.2.6
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 +26 -8
- package/README.md +352 -352
- package/package.json +2 -2
- package/src/prompts/turn-aborted-guidance.md +1 -1
- package/src/providers/anthropic.ts +2 -1
- package/src/providers/cursor/proto/buf.gen.yaml +5 -4
- package/src/providers/cursor/proto/buf.yaml +14 -13
- package/src/providers/cursor.ts +26 -26
- package/src/utils/discovery/cursor.ts +1 -1
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*
|
|
1533
|
-
- Added automatic migration for legacy PI*
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
|