@mariozechner/pi-ai 0.48.0 → 0.49.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.
- package/README.md +23 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/models.generated.d.ts +0 -17
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +17 -34
- package/dist/models.generated.js.map +1 -1
- package/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/providers/amazon-bedrock.js +9 -7
- package/dist/providers/amazon-bedrock.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +33 -19
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/google-gemini-cli.d.ts.map +1 -1
- package/dist/providers/google-gemini-cli.js +2 -28
- package/dist/providers/google-gemini-cli.js.map +1 -1
- package/dist/providers/google-shared.d.ts +1 -1
- package/dist/providers/google-shared.d.ts.map +1 -1
- package/dist/providers/google-shared.js +8 -3
- package/dist/providers/google-shared.js.map +1 -1
- package/dist/providers/google-vertex.d.ts.map +1 -1
- package/dist/providers/google-vertex.js +1 -0
- package/dist/providers/google-vertex.js.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +1 -0
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/openai-codex-responses.d.ts.map +1 -1
- package/dist/providers/openai-codex-responses.js +21 -26
- package/dist/providers/openai-codex-responses.js.map +1 -1
- package/dist/providers/openai-completions.d.ts.map +1 -1
- package/dist/providers/openai-completions.js +17 -7
- package/dist/providers/openai-completions.js.map +1 -1
- package/dist/providers/openai-responses.d.ts.map +1 -1
- package/dist/providers/openai-responses.js +36 -3
- package/dist/providers/openai-responses.js.map +1 -1
- package/dist/providers/transform-messages.d.ts +7 -2
- package/dist/providers/transform-messages.d.ts.map +1 -1
- package/dist/providers/transform-messages.js +37 -29
- package/dist/providers/transform-messages.js.map +1 -1
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +48 -19
- package/dist/stream.js.map +1 -1
- package/dist/types.d.ts +13 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/constants.d.ts +0 -6
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -14
- package/dist/constants.js.map +0 -1
package/README.md
CHANGED
|
@@ -598,6 +598,20 @@ context.messages.push({ role: 'user', content: 'Please continue' });
|
|
|
598
598
|
const continuation = await complete(model, context);
|
|
599
599
|
```
|
|
600
600
|
|
|
601
|
+
### Debugging Provider Payloads
|
|
602
|
+
|
|
603
|
+
Use the `onPayload` callback to inspect the request payload sent to the provider. This is useful for debugging request formatting issues or provider validation errors.
|
|
604
|
+
|
|
605
|
+
```typescript
|
|
606
|
+
const response = await complete(model, context, {
|
|
607
|
+
onPayload: (payload) => {
|
|
608
|
+
console.log('Provider payload:', JSON.stringify(payload, null, 2));
|
|
609
|
+
}
|
|
610
|
+
});
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
The callback is supported by `stream`, `complete`, `streamSimple`, and `completeSimple`.
|
|
614
|
+
|
|
601
615
|
## APIs, Models, and Providers
|
|
602
616
|
|
|
603
617
|
The library implements 4 API interfaces, each with its own streaming function and options:
|
|
@@ -703,16 +717,20 @@ const response = await stream(ollamaModel, context, {
|
|
|
703
717
|
|
|
704
718
|
### OpenAI Compatibility Settings
|
|
705
719
|
|
|
706
|
-
The `openai-completions` API is implemented by many providers with minor differences. By default, the library auto-detects compatibility settings based on `baseUrl` for known providers (Cerebras, xAI, Mistral, Chutes, etc.). For custom proxies or unknown endpoints, you can override these settings via the `compat` field
|
|
720
|
+
The `openai-completions` API is implemented by many providers with minor differences. By default, the library auto-detects compatibility settings based on `baseUrl` for known providers (Cerebras, xAI, Mistral, Chutes, etc.). For custom proxies or unknown endpoints, you can override these settings via the `compat` field. For `openai-responses` models, the compat field only supports Responses-specific flags.
|
|
707
721
|
|
|
708
722
|
```typescript
|
|
709
|
-
interface
|
|
723
|
+
interface OpenAICompletionsCompat {
|
|
710
724
|
supportsStore?: boolean; // Whether provider supports the `store` field (default: true)
|
|
711
725
|
supportsDeveloperRole?: boolean; // Whether provider supports `developer` role vs `system` (default: true)
|
|
712
726
|
supportsReasoningEffort?: boolean; // Whether provider supports `reasoning_effort` (default: true)
|
|
713
727
|
maxTokensField?: 'max_completion_tokens' | 'max_tokens'; // Which field name to use (default: max_completion_tokens)
|
|
714
728
|
thinkingFormat?: 'openai' | 'zai'; // Format for reasoning param: 'openai' uses reasoning_effort, 'zai' uses thinking: { type: "enabled" } (default: openai)
|
|
715
729
|
}
|
|
730
|
+
|
|
731
|
+
interface OpenAIResponsesCompat {
|
|
732
|
+
strictResponsesPairing?: boolean; // Enforce strict reasoning/message pairing for OpenAI Responses history replay on providers like Azure (default: false)
|
|
733
|
+
}
|
|
716
734
|
```
|
|
717
735
|
|
|
718
736
|
If `compat` is not set, the library falls back to URL-based detection. If `compat` is partially set, unspecified fields use the detected defaults. This is useful for:
|
|
@@ -1082,6 +1100,9 @@ Create or update test files to cover the new provider:
|
|
|
1082
1100
|
- `tool-call-without-result.test.ts` - Orphaned tool calls
|
|
1083
1101
|
- `image-tool-result.test.ts` - Images in tool results
|
|
1084
1102
|
- `total-tokens.test.ts` - Token counting accuracy
|
|
1103
|
+
- `cross-provider-handoff.test.ts` - Cross-provider context replay
|
|
1104
|
+
|
|
1105
|
+
For `cross-provider-handoff.test.ts`, add at least one provider/model pair. If the provider exposes multiple model families (for example GPT and Claude), add at least one pair per family.
|
|
1085
1106
|
|
|
1086
1107
|
For providers with non-standard auth (AWS, Google Vertex), create a utility like `bedrock-utils.ts` with credential detection helpers.
|
|
1087
1108
|
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\n\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/json-parse.js\";\nexport * from \"./utils/oauth/index.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\n\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/json-parse.js\";\nexport * from \"./utils/oauth/index.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
|
|
@@ -1330,23 +1330,6 @@ export declare const MODELS: {
|
|
|
1330
1330
|
contextWindow: number;
|
|
1331
1331
|
maxTokens: number;
|
|
1332
1332
|
};
|
|
1333
|
-
readonly "zai-glm-4.6": {
|
|
1334
|
-
id: string;
|
|
1335
|
-
name: string;
|
|
1336
|
-
api: "openai-completions";
|
|
1337
|
-
provider: string;
|
|
1338
|
-
baseUrl: string;
|
|
1339
|
-
reasoning: false;
|
|
1340
|
-
input: "text"[];
|
|
1341
|
-
cost: {
|
|
1342
|
-
input: number;
|
|
1343
|
-
output: number;
|
|
1344
|
-
cacheRead: number;
|
|
1345
|
-
cacheWrite: number;
|
|
1346
|
-
};
|
|
1347
|
-
contextWindow: number;
|
|
1348
|
-
maxTokens: number;
|
|
1349
|
-
};
|
|
1350
1333
|
readonly "zai-glm-4.7": {
|
|
1351
1334
|
id: string;
|
|
1352
1335
|
name: string;
|