@earendil-works/pi-ai 0.79.7 → 0.79.9

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 (84) hide show
  1. package/README.md +32 -3
  2. package/dist/base.d.ts +30 -0
  3. package/dist/base.d.ts.map +1 -0
  4. package/dist/base.js +18 -0
  5. package/dist/base.js.map +1 -0
  6. package/dist/bedrock-provider.d.ts +2 -0
  7. package/dist/bedrock-provider.d.ts.map +1 -1
  8. package/dist/bedrock-provider.js +2 -1
  9. package/dist/bedrock-provider.js.map +1 -1
  10. package/dist/images-api-registry.d.ts +1 -0
  11. package/dist/images-api-registry.d.ts.map +1 -1
  12. package/dist/images-api-registry.js +3 -0
  13. package/dist/images-api-registry.js.map +1 -1
  14. package/dist/images.d.ts +0 -1
  15. package/dist/images.d.ts.map +1 -1
  16. package/dist/images.js +0 -1
  17. package/dist/images.js.map +1 -1
  18. package/dist/index.d.ts +1 -30
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -18
  21. package/dist/index.js.map +1 -1
  22. package/dist/models.generated.d.ts +30 -53
  23. package/dist/models.generated.d.ts.map +1 -1
  24. package/dist/models.generated.js +91 -108
  25. package/dist/models.generated.js.map +1 -1
  26. package/dist/providers/amazon-bedrock.d.ts +1 -0
  27. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  28. package/dist/providers/amazon-bedrock.js +8 -0
  29. package/dist/providers/amazon-bedrock.js.map +1 -1
  30. package/dist/providers/anthropic.d.ts +1 -0
  31. package/dist/providers/anthropic.d.ts.map +1 -1
  32. package/dist/providers/anthropic.js +8 -0
  33. package/dist/providers/anthropic.js.map +1 -1
  34. package/dist/providers/azure-openai-responses.d.ts +1 -0
  35. package/dist/providers/azure-openai-responses.d.ts.map +1 -1
  36. package/dist/providers/azure-openai-responses.js +8 -0
  37. package/dist/providers/azure-openai-responses.js.map +1 -1
  38. package/dist/providers/google-vertex.d.ts +1 -0
  39. package/dist/providers/google-vertex.d.ts.map +1 -1
  40. package/dist/providers/google-vertex.js +8 -0
  41. package/dist/providers/google-vertex.js.map +1 -1
  42. package/dist/providers/google.d.ts +1 -0
  43. package/dist/providers/google.d.ts.map +1 -1
  44. package/dist/providers/google.js +8 -0
  45. package/dist/providers/google.js.map +1 -1
  46. package/dist/providers/images/openrouter.d.ts +1 -0
  47. package/dist/providers/images/openrouter.d.ts.map +1 -1
  48. package/dist/providers/images/openrouter.js +7 -0
  49. package/dist/providers/images/openrouter.js.map +1 -1
  50. package/dist/providers/mistral.d.ts +1 -0
  51. package/dist/providers/mistral.d.ts.map +1 -1
  52. package/dist/providers/mistral.js +33 -4
  53. package/dist/providers/mistral.js.map +1 -1
  54. package/dist/providers/openai-codex-responses.d.ts +1 -0
  55. package/dist/providers/openai-codex-responses.d.ts.map +1 -1
  56. package/dist/providers/openai-codex-responses.js +8 -0
  57. package/dist/providers/openai-codex-responses.js.map +1 -1
  58. package/dist/providers/openai-completions.d.ts +1 -0
  59. package/dist/providers/openai-completions.d.ts.map +1 -1
  60. package/dist/providers/openai-completions.js +40 -0
  61. package/dist/providers/openai-completions.js.map +1 -1
  62. package/dist/providers/openai-responses.d.ts +1 -0
  63. package/dist/providers/openai-responses.d.ts.map +1 -1
  64. package/dist/providers/openai-responses.js +8 -0
  65. package/dist/providers/openai-responses.js.map +1 -1
  66. package/dist/providers/register-builtins.d.ts +5 -3
  67. package/dist/providers/register-builtins.d.ts.map +1 -1
  68. package/dist/providers/register-builtins.js +109 -172
  69. package/dist/providers/register-builtins.js.map +1 -1
  70. package/dist/stream.d.ts +0 -2
  71. package/dist/stream.d.ts.map +1 -1
  72. package/dist/stream.js +0 -2
  73. package/dist/stream.js.map +1 -1
  74. package/dist/types.d.ts +8 -2
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/types.js.map +1 -1
  77. package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  78. package/dist/utils/oauth/github-copilot.js +66 -7
  79. package/dist/utils/oauth/github-copilot.js.map +1 -1
  80. package/package.json +17 -4
  81. package/dist/providers/images/register-builtins.d.ts +0 -4
  82. package/dist/providers/images/register-builtins.d.ts.map +0 -1
  83. package/dist/providers/images/register-builtins.js +0 -34
  84. package/dist/providers/images/register-builtins.js.map +0 -1
package/README.md CHANGED
@@ -8,6 +8,7 @@ Unified LLM API with automatic model discovery, provider configuration, token an
8
8
 
9
9
  - [Supported Providers](#supported-providers)
10
10
  - [Installation](#installation)
11
+ - [Base Entry Point](#base-entry-point)
11
12
  - [Quick Start](#quick-start)
12
13
  - [Tools](#tools)
13
14
  - [Defining Tools](#defining-tools)
@@ -88,6 +89,30 @@ npm install @earendil-works/pi-ai
88
89
 
89
90
  TypeBox exports are re-exported from `@earendil-works/pi-ai`: `Type`, `Static`, and `TSchema`.
90
91
 
92
+ ## Base Entry Point
93
+
94
+ Use `@earendil-works/pi-ai/base` when a bundler should include only explicitly selected transport implementations. The base entry point exposes model discovery, registries, generic dispatch, environment-key helpers, and provider-neutral utilities without registering built-in transports during module initialization. Generic dispatch still resolves configured environment keys when called.
95
+
96
+ Import each selected transport directly and call its `register()` function:
97
+
98
+ ```typescript
99
+ import { getModel, streamSimple } from '@earendil-works/pi-ai/base';
100
+ import { register as registerAnthropic } from '@earendil-works/pi-ai/anthropic';
101
+
102
+ registerAnthropic();
103
+
104
+ const model = getModel('anthropic', 'claude-sonnet-4-6');
105
+ const response = await streamSimple(model, {
106
+ messages: [{ role: 'user', content: 'Hello!' }]
107
+ }, {
108
+ apiKey: process.env.ANTHROPIC_API_KEY
109
+ }).result();
110
+ ```
111
+
112
+ Direct transport imports bundle their implementation and SDK code. Register only the transports used by the application. For example, OpenRouter, Groq, xAI, and DeepSeek chat models share the `@earendil-works/pi-ai/openai-completions` transport.
113
+
114
+ Use `@earendil-works/pi-ai` for the batteries-included behavior. The root entry point remains backward-compatible: it registers lazy wrappers for all built-in transports and resolves environment API keys automatically during dispatch.
115
+
91
116
  ## Quick Start
92
117
 
93
118
  ```typescript
@@ -438,7 +463,7 @@ Do not use `stream()` or `complete()` for image generation. Image generation is
438
463
  ### Basic Image Generation
439
464
 
440
465
  ```typescript
441
- import { getImageModel, generateImages } from '@mariozechner/pi-ai';
466
+ import { getImageModel, generateImages } from '@earendil-works/pi-ai';
442
467
 
443
468
  const model = getImageModel('openrouter', 'google/gemini-2.5-flash-image');
444
469
 
@@ -942,7 +967,8 @@ interface OpenAICompletionsCompat {
942
967
  requiresAssistantAfterToolResult?: boolean; // Whether tool results must be followed by an assistant message (default: false)
943
968
  requiresThinkingAsText?: boolean; // Whether thinking blocks must be converted to text (default: false)
944
969
  requiresReasoningContentOnAssistantMessages?: boolean; // Whether all replayed assistant messages must include empty reasoning_content when reasoning is enabled (default: auto-detected for DeepSeek)
945
- thinkingFormat?: 'openai' | 'openrouter' | 'deepseek' | 'together' | 'zai' | 'qwen' | 'qwen-chat-template' | 'string-thinking' | 'ant-ling'; // Format for reasoning param: 'openai' uses reasoning_effort, 'openrouter' uses reasoning: { effort }, 'deepseek' uses thinking: { type } plus reasoning_effort when supported, 'together' uses reasoning: { enabled } plus reasoning_effort when supported, 'zai' uses enable_thinking, 'qwen' uses enable_thinking, 'qwen-chat-template' uses chat_template_kwargs.enable_thinking, 'string-thinking' uses top-level thinking, 'ant-ling' uses reasoning: { effort } only for mapped efforts (default: openai)
970
+ thinkingFormat?: 'openai' | 'openrouter' | 'deepseek' | 'together' | 'zai' | 'qwen' | 'chat-template' | 'qwen-chat-template' | 'string-thinking' | 'ant-ling'; // Format for reasoning param: 'openai' uses reasoning_effort, 'openrouter' uses reasoning: { effort }, 'deepseek' uses thinking: { type } plus reasoning_effort when supported, 'together' uses reasoning: { enabled } plus reasoning_effort when supported, 'zai' uses thinking: { type }, 'qwen' uses enable_thinking, 'chat-template' uses configurable chat_template_kwargs, 'qwen-chat-template' uses chat_template_kwargs.enable_thinking and preserve_thinking, 'string-thinking' uses top-level thinking, 'ant-ling' uses reasoning: { effort } only for mapped efforts (default: openai)
971
+ chatTemplateKwargs?: Record<string, string | number | boolean | null | { '$var': 'thinking.enabled' | 'thinking.effort'; omitWhenOff?: boolean }>; // chat_template_kwargs values; use $var for pi-controlled thinking values
946
972
  cacheControlFormat?: 'anthropic'; // Anthropic-style cache_control on system prompt, last tool, and last user/assistant text content
947
973
  openRouterRouting?: OpenRouterRouting; // OpenRouter routing preferences (default: {})
948
974
  vercelGatewayRouting?: VercelGatewayRouting; // Vercel AI Gateway routing preferences (default: {})
@@ -1097,6 +1123,7 @@ const response = await complete(model, {
1097
1123
  - OAuth login flows are not supported in browser environments. Use the `@earendil-works/pi-ai/oauth` entry point in Node.js.
1098
1124
  - In browser builds, Bedrock can still appear in model lists. Calls to Bedrock models fail at runtime.
1099
1125
  - Use a server-side proxy or backend service if you need Bedrock or OAuth-based auth from a web app.
1126
+ - Use `@earendil-works/pi-ai/base` plus explicit direct transport registration when a browser bundle should exclude unused provider SDK implementations.
1100
1127
 
1101
1128
  ### Environment Variables (Node.js only)
1102
1129
 
@@ -1333,6 +1360,7 @@ Create a new provider file (for example `amazon-bedrock.ts`) that exports:
1333
1360
 
1334
1361
  - `stream<Provider>()` function returning `AssistantMessageEventStream`
1335
1362
  - `streamSimple<Provider>()` for `SimpleStreamOptions` mapping
1363
+ - `register()` for explicit direct transport registration from `@earendil-works/pi-ai/base`
1336
1364
  - Provider-specific options interface
1337
1365
  - Message conversion functions to transform `Context` to provider format
1338
1366
  - Tool conversion if the provider supports tools
@@ -1343,7 +1371,8 @@ Create a new provider file (for example `amazon-bedrock.ts`) that exports:
1343
1371
  - Register the API with `registerApiProvider()`
1344
1372
  - Add a package subpath export in `package.json` for the provider module (`./dist/providers/<provider>.js`)
1345
1373
  - Add lazy loader wrappers in `src/providers/register-builtins.ts`, do not statically import provider implementation modules there
1346
- - Add any root-level `export type` re-exports in `src/index.ts` that should remain available from `@earendil-works/pi-ai`
1374
+ - Add any root-level `export type` re-exports in `src/index.ts` and `src/base.ts` that should remain available from `@earendil-works/pi-ai` and `@earendil-works/pi-ai/base`
1375
+ - Keep `src/base.ts` free of built-in registration imports
1347
1376
  - Add credential detection in `env-api-keys.ts` for the new provider
1348
1377
  - Ensure `streamSimple` handles auth lookup via `getEnvApiKey()` or provider-specific auth
1349
1378
 
package/dist/base.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ export type { Static, TSchema } from "typebox";
2
+ export { Type } from "typebox";
3
+ export * from "./api-registry.ts";
4
+ export * from "./env-api-keys.ts";
5
+ export * from "./image-models.ts";
6
+ export * from "./images.ts";
7
+ export * from "./images-api-registry.ts";
8
+ export * from "./models.ts";
9
+ export type { BedrockOptions, BedrockThinkingDisplay } from "./providers/amazon-bedrock.ts";
10
+ export type { AnthropicEffort, AnthropicOptions, AnthropicThinkingDisplay } from "./providers/anthropic.ts";
11
+ export type { AzureOpenAIResponsesOptions } from "./providers/azure-openai-responses.ts";
12
+ export * from "./providers/faux.ts";
13
+ export type { GoogleOptions } from "./providers/google.ts";
14
+ export type { GoogleThinkingLevel } from "./providers/google-shared.ts";
15
+ export type { GoogleVertexOptions } from "./providers/google-vertex.ts";
16
+ export type { MistralOptions } from "./providers/mistral.ts";
17
+ export type { OpenAICodexResponsesOptions, OpenAICodexWebSocketDebugStats, } from "./providers/openai-codex-responses.ts";
18
+ export type { OpenAICompletionsOptions } from "./providers/openai-completions.ts";
19
+ export type { OpenAIResponsesOptions } from "./providers/openai-responses.ts";
20
+ export * from "./session-resources.ts";
21
+ export * from "./stream.ts";
22
+ export * from "./types.ts";
23
+ export * from "./utils/diagnostics.ts";
24
+ export * from "./utils/event-stream.ts";
25
+ export * from "./utils/json-parse.ts";
26
+ export type { OAuthAuthInfo, OAuthCredentials, OAuthDeviceCodeInfo, OAuthLoginCallbacks, OAuthPrompt, OAuthProvider, OAuthProviderId, OAuthProviderInfo, OAuthProviderInterface, OAuthSelectOption, OAuthSelectPrompt, } from "./utils/oauth/types.ts";
27
+ export * from "./utils/overflow.ts";
28
+ export * from "./utils/typebox-helpers.ts";
29
+ export * from "./utils/validation.ts";
30
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5G,YAAY,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EACX,2BAA2B,EAC3B,8BAA8B,GAC9B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,YAAY,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"typebox\";\nexport { Type } from \"typebox\";\n\nexport * from \"./api-registry.ts\";\nexport * from \"./env-api-keys.ts\";\nexport * from \"./image-models.ts\";\nexport * from \"./images.ts\";\nexport * from \"./images-api-registry.ts\";\nexport * from \"./models.ts\";\nexport type { BedrockOptions, BedrockThinkingDisplay } from \"./providers/amazon-bedrock.ts\";\nexport type { AnthropicEffort, AnthropicOptions, AnthropicThinkingDisplay } from \"./providers/anthropic.ts\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.ts\";\nexport * from \"./providers/faux.ts\";\nexport type { GoogleOptions } from \"./providers/google.ts\";\nexport type { GoogleThinkingLevel } from \"./providers/google-shared.ts\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.ts\";\nexport type { MistralOptions } from \"./providers/mistral.ts\";\nexport type {\n\tOpenAICodexResponsesOptions,\n\tOpenAICodexWebSocketDebugStats,\n} from \"./providers/openai-codex-responses.ts\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.ts\";\nexport type { OpenAIResponsesOptions } from \"./providers/openai-responses.ts\";\nexport * from \"./session-resources.ts\";\nexport * from \"./stream.ts\";\nexport * from \"./types.ts\";\nexport * from \"./utils/diagnostics.ts\";\nexport * from \"./utils/event-stream.ts\";\nexport * from \"./utils/json-parse.ts\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthDeviceCodeInfo,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n\tOAuthSelectOption,\n\tOAuthSelectPrompt,\n} from \"./utils/oauth/types.ts\";\nexport * from \"./utils/overflow.ts\";\nexport * from \"./utils/typebox-helpers.ts\";\nexport * from \"./utils/validation.ts\";\n"]}
package/dist/base.js ADDED
@@ -0,0 +1,18 @@
1
+ export { Type } from "typebox";
2
+ export * from "./api-registry.js";
3
+ export * from "./env-api-keys.js";
4
+ export * from "./image-models.js";
5
+ export * from "./images.js";
6
+ export * from "./images-api-registry.js";
7
+ export * from "./models.js";
8
+ export * from "./providers/faux.js";
9
+ export * from "./session-resources.js";
10
+ export * from "./stream.js";
11
+ export * from "./types.js";
12
+ export * from "./utils/diagnostics.js";
13
+ export * from "./utils/event-stream.js";
14
+ export * from "./utils/json-parse.js";
15
+ export * from "./utils/overflow.js";
16
+ export * from "./utils/typebox-helpers.js";
17
+ export * from "./utils/validation.js";
18
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAI5B,cAAc,qBAAqB,CAAC;AAWpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AActC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"typebox\";\nexport { Type } from \"typebox\";\n\nexport * from \"./api-registry.ts\";\nexport * from \"./env-api-keys.ts\";\nexport * from \"./image-models.ts\";\nexport * from \"./images.ts\";\nexport * from \"./images-api-registry.ts\";\nexport * from \"./models.ts\";\nexport type { BedrockOptions, BedrockThinkingDisplay } from \"./providers/amazon-bedrock.ts\";\nexport type { AnthropicEffort, AnthropicOptions, AnthropicThinkingDisplay } from \"./providers/anthropic.ts\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.ts\";\nexport * from \"./providers/faux.ts\";\nexport type { GoogleOptions } from \"./providers/google.ts\";\nexport type { GoogleThinkingLevel } from \"./providers/google-shared.ts\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.ts\";\nexport type { MistralOptions } from \"./providers/mistral.ts\";\nexport type {\n\tOpenAICodexResponsesOptions,\n\tOpenAICodexWebSocketDebugStats,\n} from \"./providers/openai-codex-responses.ts\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.ts\";\nexport type { OpenAIResponsesOptions } from \"./providers/openai-responses.ts\";\nexport * from \"./session-resources.ts\";\nexport * from \"./stream.ts\";\nexport * from \"./types.ts\";\nexport * from \"./utils/diagnostics.ts\";\nexport * from \"./utils/event-stream.ts\";\nexport * from \"./utils/json-parse.ts\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthDeviceCodeInfo,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n\tOAuthSelectOption,\n\tOAuthSelectPrompt,\n} from \"./utils/oauth/types.ts\";\nexport * from \"./utils/overflow.ts\";\nexport * from \"./utils/typebox-helpers.ts\";\nexport * from \"./utils/validation.ts\";\n"]}
@@ -1,3 +1,5 @@
1
+ import { register } from "./providers/amazon-bedrock.ts";
2
+ export { register };
1
3
  export declare const bedrockProviderModule: {
2
4
  streamBedrock: import("./types.ts").StreamFunction<"bedrock-converse-stream", import("./providers/amazon-bedrock.ts").BedrockOptions>;
3
5
  streamSimpleBedrock: import("./types.ts").StreamFunction<"bedrock-converse-stream", import("./types.ts").SimpleStreamOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock-provider.d.ts","sourceRoot":"","sources":["../src/bedrock-provider.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;;CAGjC,CAAC","sourcesContent":["import { streamBedrock, streamSimpleBedrock } from \"./providers/amazon-bedrock.ts\";\n\nexport const bedrockProviderModule = {\n\tstreamBedrock,\n\tstreamSimpleBedrock,\n};\n"]}
1
+ {"version":3,"file":"bedrock-provider.d.ts","sourceRoot":"","sources":["../src/bedrock-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,eAAO,MAAM,qBAAqB;;;CAGjC,CAAC","sourcesContent":["import { register, streamBedrock, streamSimpleBedrock } from \"./providers/amazon-bedrock.ts\";\n\nexport { register };\n\nexport const bedrockProviderModule = {\n\tstreamBedrock,\n\tstreamSimpleBedrock,\n};\n"]}
@@ -1,4 +1,5 @@
1
- import { streamBedrock, streamSimpleBedrock } from "./providers/amazon-bedrock.js";
1
+ import { register, streamBedrock, streamSimpleBedrock } from "./providers/amazon-bedrock.js";
2
+ export { register };
2
3
  export const bedrockProviderModule = {
3
4
  streamBedrock,
4
5
  streamSimpleBedrock,
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock-provider.js","sourceRoot":"","sources":["../src/bedrock-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEnF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,aAAa;IACb,mBAAmB;CACnB,CAAC","sourcesContent":["import { streamBedrock, streamSimpleBedrock } from \"./providers/amazon-bedrock.ts\";\n\nexport const bedrockProviderModule = {\n\tstreamBedrock,\n\tstreamSimpleBedrock,\n};\n"]}
1
+ {"version":3,"file":"bedrock-provider.js","sourceRoot":"","sources":["../src/bedrock-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,aAAa;IACb,mBAAmB;CACnB,CAAC","sourcesContent":["import { register, streamBedrock, streamSimpleBedrock } from \"./providers/amazon-bedrock.ts\";\n\nexport { register };\n\nexport const bedrockProviderModule = {\n\tstreamBedrock,\n\tstreamSimpleBedrock,\n};\n"]}
@@ -10,5 +10,6 @@ interface ImagesApiProviderInternal {
10
10
  }
11
11
  export declare function registerImagesApiProvider<TApi extends ImagesApi, TOptions extends ImagesOptions>(provider: ImagesApiProvider<TApi, TOptions>, sourceId?: string): void;
12
12
  export declare function getImagesApiProvider(api: ImagesApi): ImagesApiProviderInternal | undefined;
13
+ export declare function clearImagesApiProviders(): void;
13
14
  export {};
14
15
  //# sourceMappingURL=images-api-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"images-api-registry.d.ts","sourceRoot":"","sources":["../src/images-api-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExH,MAAM,MAAM,iBAAiB,GAAG,CAC/B,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAC7B,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,aAAa,KACnB,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa;IACpH,GAAG,EAAE,IAAI,CAAC;IACV,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAC/C;AAED,UAAU,yBAAyB;IAClC,GAAG,EAAE,SAAS,CAAC;IACf,cAAc,EAAE,iBAAiB,CAAC;CAClC;AAqBD,wBAAgB,yBAAyB,CAAC,IAAI,SAAS,SAAS,EAAE,QAAQ,SAAS,aAAa,EAC/F,QAAQ,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI,CAQN;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,yBAAyB,GAAG,SAAS,CAE1F","sourcesContent":["import type { AssistantImages, ImagesApi, ImagesContext, ImagesFunction, ImagesModel, ImagesOptions } from \"./types.ts\";\n\nexport type ImagesApiFunction = (\n\tmodel: ImagesModel<ImagesApi>,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => Promise<AssistantImages>;\n\nexport interface ImagesApiProvider<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> {\n\tapi: TApi;\n\tgenerateImages: ImagesFunction<TApi, TOptions>;\n}\n\ninterface ImagesApiProviderInternal {\n\tapi: ImagesApi;\n\tgenerateImages: ImagesApiFunction;\n}\n\ntype RegisteredImagesApiProvider = {\n\tprovider: ImagesApiProviderInternal;\n\tsourceId?: string;\n};\n\nconst imagesApiProviderRegistry = new Map<string, RegisteredImagesApiProvider>();\n\nfunction wrapGenerateImages<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tapi: TApi,\n\tgenerateImages: ImagesFunction<TApi, TOptions>,\n): ImagesApiFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn generateImages(model as ImagesModel<TApi>, context, options as TOptions);\n\t};\n}\n\nexport function registerImagesApiProvider<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tprovider: ImagesApiProvider<TApi, TOptions>,\n\tsourceId?: string,\n): void {\n\timagesApiProviderRegistry.set(provider.api, {\n\t\tprovider: {\n\t\t\tapi: provider.api,\n\t\t\tgenerateImages: wrapGenerateImages(provider.api, provider.generateImages),\n\t\t},\n\t\tsourceId,\n\t});\n}\n\nexport function getImagesApiProvider(api: ImagesApi): ImagesApiProviderInternal | undefined {\n\treturn imagesApiProviderRegistry.get(api)?.provider;\n}\n"]}
1
+ {"version":3,"file":"images-api-registry.d.ts","sourceRoot":"","sources":["../src/images-api-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExH,MAAM,MAAM,iBAAiB,GAAG,CAC/B,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAC7B,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,aAAa,KACnB,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa;IACpH,GAAG,EAAE,IAAI,CAAC;IACV,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAC/C;AAED,UAAU,yBAAyB;IAClC,GAAG,EAAE,SAAS,CAAC;IACf,cAAc,EAAE,iBAAiB,CAAC;CAClC;AAqBD,wBAAgB,yBAAyB,CAAC,IAAI,SAAS,SAAS,EAAE,QAAQ,SAAS,aAAa,EAC/F,QAAQ,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI,CAQN;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,yBAAyB,GAAG,SAAS,CAE1F;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C","sourcesContent":["import type { AssistantImages, ImagesApi, ImagesContext, ImagesFunction, ImagesModel, ImagesOptions } from \"./types.ts\";\n\nexport type ImagesApiFunction = (\n\tmodel: ImagesModel<ImagesApi>,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => Promise<AssistantImages>;\n\nexport interface ImagesApiProvider<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> {\n\tapi: TApi;\n\tgenerateImages: ImagesFunction<TApi, TOptions>;\n}\n\ninterface ImagesApiProviderInternal {\n\tapi: ImagesApi;\n\tgenerateImages: ImagesApiFunction;\n}\n\ntype RegisteredImagesApiProvider = {\n\tprovider: ImagesApiProviderInternal;\n\tsourceId?: string;\n};\n\nconst imagesApiProviderRegistry = new Map<string, RegisteredImagesApiProvider>();\n\nfunction wrapGenerateImages<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tapi: TApi,\n\tgenerateImages: ImagesFunction<TApi, TOptions>,\n): ImagesApiFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn generateImages(model as ImagesModel<TApi>, context, options as TOptions);\n\t};\n}\n\nexport function registerImagesApiProvider<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tprovider: ImagesApiProvider<TApi, TOptions>,\n\tsourceId?: string,\n): void {\n\timagesApiProviderRegistry.set(provider.api, {\n\t\tprovider: {\n\t\t\tapi: provider.api,\n\t\t\tgenerateImages: wrapGenerateImages(provider.api, provider.generateImages),\n\t\t},\n\t\tsourceId,\n\t});\n}\n\nexport function getImagesApiProvider(api: ImagesApi): ImagesApiProviderInternal | undefined {\n\treturn imagesApiProviderRegistry.get(api)?.provider;\n}\n\nexport function clearImagesApiProviders(): void {\n\timagesApiProviderRegistry.clear();\n}\n"]}
@@ -19,4 +19,7 @@ export function registerImagesApiProvider(provider, sourceId) {
19
19
  export function getImagesApiProvider(api) {
20
20
  return imagesApiProviderRegistry.get(api)?.provider;
21
21
  }
22
+ export function clearImagesApiProviders() {
23
+ imagesApiProviderRegistry.clear();
24
+ }
22
25
  //# sourceMappingURL=images-api-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"images-api-registry.js","sourceRoot":"","sources":["../src/images-api-registry.ts"],"names":[],"mappings":"AAuBA,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAuC,CAAC;AAEjF,SAAS,kBAAkB,CAC1B,GAAS,EACT,cAA8C,EAC1B;IACpB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,GAAG,aAAa,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,cAAc,CAAC,KAA0B,EAAE,OAAO,EAAE,OAAmB,CAAC,CAAC;IAAA,CAChF,CAAC;AAAA,CACF;AAED,MAAM,UAAU,yBAAyB,CACxC,QAA2C,EAC3C,QAAiB,EACV;IACP,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC3C,QAAQ,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC;SACzE;QACD,QAAQ;KACR,CAAC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAc,EAAyC;IAC3F,OAAO,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;AAAA,CACpD","sourcesContent":["import type { AssistantImages, ImagesApi, ImagesContext, ImagesFunction, ImagesModel, ImagesOptions } from \"./types.ts\";\n\nexport type ImagesApiFunction = (\n\tmodel: ImagesModel<ImagesApi>,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => Promise<AssistantImages>;\n\nexport interface ImagesApiProvider<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> {\n\tapi: TApi;\n\tgenerateImages: ImagesFunction<TApi, TOptions>;\n}\n\ninterface ImagesApiProviderInternal {\n\tapi: ImagesApi;\n\tgenerateImages: ImagesApiFunction;\n}\n\ntype RegisteredImagesApiProvider = {\n\tprovider: ImagesApiProviderInternal;\n\tsourceId?: string;\n};\n\nconst imagesApiProviderRegistry = new Map<string, RegisteredImagesApiProvider>();\n\nfunction wrapGenerateImages<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tapi: TApi,\n\tgenerateImages: ImagesFunction<TApi, TOptions>,\n): ImagesApiFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn generateImages(model as ImagesModel<TApi>, context, options as TOptions);\n\t};\n}\n\nexport function registerImagesApiProvider<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tprovider: ImagesApiProvider<TApi, TOptions>,\n\tsourceId?: string,\n): void {\n\timagesApiProviderRegistry.set(provider.api, {\n\t\tprovider: {\n\t\t\tapi: provider.api,\n\t\t\tgenerateImages: wrapGenerateImages(provider.api, provider.generateImages),\n\t\t},\n\t\tsourceId,\n\t});\n}\n\nexport function getImagesApiProvider(api: ImagesApi): ImagesApiProviderInternal | undefined {\n\treturn imagesApiProviderRegistry.get(api)?.provider;\n}\n"]}
1
+ {"version":3,"file":"images-api-registry.js","sourceRoot":"","sources":["../src/images-api-registry.ts"],"names":[],"mappings":"AAuBA,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAuC,CAAC;AAEjF,SAAS,kBAAkB,CAC1B,GAAS,EACT,cAA8C,EAC1B;IACpB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,GAAG,aAAa,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,cAAc,CAAC,KAA0B,EAAE,OAAO,EAAE,OAAmB,CAAC,CAAC;IAAA,CAChF,CAAC;AAAA,CACF;AAED,MAAM,UAAU,yBAAyB,CACxC,QAA2C,EAC3C,QAAiB,EACV;IACP,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC3C,QAAQ,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC;SACzE;QACD,QAAQ;KACR,CAAC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAc,EAAyC;IAC3F,OAAO,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;AAAA,CACpD;AAED,MAAM,UAAU,uBAAuB,GAAS;IAC/C,yBAAyB,CAAC,KAAK,EAAE,CAAC;AAAA,CAClC","sourcesContent":["import type { AssistantImages, ImagesApi, ImagesContext, ImagesFunction, ImagesModel, ImagesOptions } from \"./types.ts\";\n\nexport type ImagesApiFunction = (\n\tmodel: ImagesModel<ImagesApi>,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => Promise<AssistantImages>;\n\nexport interface ImagesApiProvider<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> {\n\tapi: TApi;\n\tgenerateImages: ImagesFunction<TApi, TOptions>;\n}\n\ninterface ImagesApiProviderInternal {\n\tapi: ImagesApi;\n\tgenerateImages: ImagesApiFunction;\n}\n\ntype RegisteredImagesApiProvider = {\n\tprovider: ImagesApiProviderInternal;\n\tsourceId?: string;\n};\n\nconst imagesApiProviderRegistry = new Map<string, RegisteredImagesApiProvider>();\n\nfunction wrapGenerateImages<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tapi: TApi,\n\tgenerateImages: ImagesFunction<TApi, TOptions>,\n): ImagesApiFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn generateImages(model as ImagesModel<TApi>, context, options as TOptions);\n\t};\n}\n\nexport function registerImagesApiProvider<TApi extends ImagesApi, TOptions extends ImagesOptions>(\n\tprovider: ImagesApiProvider<TApi, TOptions>,\n\tsourceId?: string,\n): void {\n\timagesApiProviderRegistry.set(provider.api, {\n\t\tprovider: {\n\t\t\tapi: provider.api,\n\t\t\tgenerateImages: wrapGenerateImages(provider.api, provider.generateImages),\n\t\t},\n\t\tsourceId,\n\t});\n}\n\nexport function getImagesApiProvider(api: ImagesApi): ImagesApiProviderInternal | undefined {\n\treturn imagesApiProviderRegistry.get(api)?.provider;\n}\n\nexport function clearImagesApiProviders(): void {\n\timagesApiProviderRegistry.clear();\n}\n"]}
package/dist/images.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import "./providers/images/register-builtins.ts";
2
1
  import type { AssistantImages, ImagesApi, ImagesContext, ImagesModel, ProviderImagesOptions } from "./types.ts";
3
2
  export declare function generateImages<TApi extends ImagesApi>(model: ImagesModel<TApi>, context: ImagesContext, options?: ProviderImagesOptions): Promise<AssistantImages>;
4
3
  //# sourceMappingURL=images.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAAA,OAAO,yCAAyC,CAAC;AAGjD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAUhH,wBAAsB,cAAc,CAAC,IAAI,SAAS,SAAS,EAC1D,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EACxB,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAG1B","sourcesContent":["import \"./providers/images/register-builtins.ts\";\n\nimport { getImagesApiProvider } from \"./images-api-registry.ts\";\nimport type { AssistantImages, ImagesApi, ImagesContext, ImagesModel, ProviderImagesOptions } from \"./types.ts\";\n\nfunction resolveImagesApiProvider(api: ImagesApi) {\n\tconst provider = getImagesApiProvider(api);\n\tif (!provider) {\n\t\tthrow new Error(`No API provider registered for api: ${api}`);\n\t}\n\treturn provider;\n}\n\nexport async function generateImages<TApi extends ImagesApi>(\n\tmodel: ImagesModel<TApi>,\n\tcontext: ImagesContext,\n\toptions?: ProviderImagesOptions,\n): Promise<AssistantImages> {\n\tconst provider = resolveImagesApiProvider(model.api);\n\treturn provider.generateImages(model, context, options);\n}\n"]}
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAUhH,wBAAsB,cAAc,CAAC,IAAI,SAAS,SAAS,EAC1D,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EACxB,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAG1B","sourcesContent":["import { getImagesApiProvider } from \"./images-api-registry.ts\";\nimport type { AssistantImages, ImagesApi, ImagesContext, ImagesModel, ProviderImagesOptions } from \"./types.ts\";\n\nfunction resolveImagesApiProvider(api: ImagesApi) {\n\tconst provider = getImagesApiProvider(api);\n\tif (!provider) {\n\t\tthrow new Error(`No API provider registered for api: ${api}`);\n\t}\n\treturn provider;\n}\n\nexport async function generateImages<TApi extends ImagesApi>(\n\tmodel: ImagesModel<TApi>,\n\tcontext: ImagesContext,\n\toptions?: ProviderImagesOptions,\n): Promise<AssistantImages> {\n\tconst provider = resolveImagesApiProvider(model.api);\n\treturn provider.generateImages(model, context, options);\n}\n"]}
package/dist/images.js CHANGED
@@ -1,4 +1,3 @@
1
- import "./providers/images/register-builtins.js";
2
1
  import { getImagesApiProvider } from "./images-api-registry.js";
3
2
  function resolveImagesApiProvider(api) {
4
3
  const provider = getImagesApiProvider(api);
@@ -1 +1 @@
1
- {"version":3,"file":"images.js","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAAA,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,SAAS,wBAAwB,CAAC,GAAc,EAAE;IACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC;AAAA,CAChB;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,KAAwB,EACxB,OAAsB,EACtB,OAA+B,EACJ;IAC3B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAAA,CACxD","sourcesContent":["import \"./providers/images/register-builtins.ts\";\n\nimport { getImagesApiProvider } from \"./images-api-registry.ts\";\nimport type { AssistantImages, ImagesApi, ImagesContext, ImagesModel, ProviderImagesOptions } from \"./types.ts\";\n\nfunction resolveImagesApiProvider(api: ImagesApi) {\n\tconst provider = getImagesApiProvider(api);\n\tif (!provider) {\n\t\tthrow new Error(`No API provider registered for api: ${api}`);\n\t}\n\treturn provider;\n}\n\nexport async function generateImages<TApi extends ImagesApi>(\n\tmodel: ImagesModel<TApi>,\n\tcontext: ImagesContext,\n\toptions?: ProviderImagesOptions,\n): Promise<AssistantImages> {\n\tconst provider = resolveImagesApiProvider(model.api);\n\treturn provider.generateImages(model, context, options);\n}\n"]}
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,SAAS,wBAAwB,CAAC,GAAc,EAAE;IACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC;AAAA,CAChB;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,KAAwB,EACxB,OAAsB,EACtB,OAA+B,EACJ;IAC3B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAAA,CACxD","sourcesContent":["import { getImagesApiProvider } from \"./images-api-registry.ts\";\nimport type { AssistantImages, ImagesApi, ImagesContext, ImagesModel, ProviderImagesOptions } from \"./types.ts\";\n\nfunction resolveImagesApiProvider(api: ImagesApi) {\n\tconst provider = getImagesApiProvider(api);\n\tif (!provider) {\n\t\tthrow new Error(`No API provider registered for api: ${api}`);\n\t}\n\treturn provider;\n}\n\nexport async function generateImages<TApi extends ImagesApi>(\n\tmodel: ImagesModel<TApi>,\n\tcontext: ImagesContext,\n\toptions?: ProviderImagesOptions,\n): Promise<AssistantImages> {\n\tconst provider = resolveImagesApiProvider(model.api);\n\treturn provider.generateImages(model, context, options);\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,32 +1,3 @@
1
- export type { Static, TSchema } from "typebox";
2
- export { Type } from "typebox";
3
- export * from "./api-registry.ts";
4
- export * from "./env-api-keys.ts";
5
- export * from "./image-models.ts";
6
- export * from "./images.ts";
7
- export * from "./images-api-registry.ts";
8
- export * from "./models.ts";
9
- export type { BedrockOptions, BedrockThinkingDisplay } from "./providers/amazon-bedrock.ts";
10
- export type { AnthropicEffort, AnthropicOptions, AnthropicThinkingDisplay } from "./providers/anthropic.ts";
11
- export type { AzureOpenAIResponsesOptions } from "./providers/azure-openai-responses.ts";
12
- export * from "./providers/faux.ts";
13
- export type { GoogleOptions } from "./providers/google.ts";
14
- export type { GoogleThinkingLevel } from "./providers/google-shared.ts";
15
- export type { GoogleVertexOptions } from "./providers/google-vertex.ts";
16
- export * from "./providers/images/register-builtins.ts";
17
- export type { MistralOptions } from "./providers/mistral.ts";
18
- export type { OpenAICodexResponsesOptions, OpenAICodexWebSocketDebugStats, } from "./providers/openai-codex-responses.ts";
19
- export type { OpenAICompletionsOptions } from "./providers/openai-completions.ts";
20
- export type { OpenAIResponsesOptions } from "./providers/openai-responses.ts";
1
+ export * from "./base.ts";
21
2
  export * from "./providers/register-builtins.ts";
22
- export * from "./session-resources.ts";
23
- export * from "./stream.ts";
24
- export * from "./types.ts";
25
- export * from "./utils/diagnostics.ts";
26
- export * from "./utils/event-stream.ts";
27
- export * from "./utils/json-parse.ts";
28
- export type { OAuthAuthInfo, OAuthCredentials, OAuthDeviceCodeInfo, OAuthLoginCallbacks, OAuthPrompt, OAuthProvider, OAuthProviderId, OAuthProviderInfo, OAuthProviderInterface, OAuthSelectOption, OAuthSelectPrompt, } from "./utils/oauth/types.ts";
29
- export * from "./utils/overflow.ts";
30
- export * from "./utils/typebox-helpers.ts";
31
- export * from "./utils/validation.ts";
32
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5G,YAAY,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,cAAc,yCAAyC,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EACX,2BAA2B,EAC3B,8BAA8B,GAC9B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,YAAY,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"typebox\";\nexport { Type } from \"typebox\";\n\nexport * from \"./api-registry.ts\";\nexport * from \"./env-api-keys.ts\";\nexport * from \"./image-models.ts\";\nexport * from \"./images.ts\";\nexport * from \"./images-api-registry.ts\";\nexport * from \"./models.ts\";\nexport type { BedrockOptions, BedrockThinkingDisplay } from \"./providers/amazon-bedrock.ts\";\nexport type { AnthropicEffort, AnthropicOptions, AnthropicThinkingDisplay } from \"./providers/anthropic.ts\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.ts\";\nexport * from \"./providers/faux.ts\";\nexport type { GoogleOptions } from \"./providers/google.ts\";\nexport type { GoogleThinkingLevel } from \"./providers/google-shared.ts\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.ts\";\nexport * from \"./providers/images/register-builtins.ts\";\nexport type { MistralOptions } from \"./providers/mistral.ts\";\nexport type {\n\tOpenAICodexResponsesOptions,\n\tOpenAICodexWebSocketDebugStats,\n} from \"./providers/openai-codex-responses.ts\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.ts\";\nexport type { OpenAIResponsesOptions } from \"./providers/openai-responses.ts\";\nexport * from \"./providers/register-builtins.ts\";\nexport * from \"./session-resources.ts\";\nexport * from \"./stream.ts\";\nexport * from \"./types.ts\";\nexport * from \"./utils/diagnostics.ts\";\nexport * from \"./utils/event-stream.ts\";\nexport * from \"./utils/json-parse.ts\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthDeviceCodeInfo,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n\tOAuthSelectOption,\n\tOAuthSelectPrompt,\n} from \"./utils/oauth/types.ts\";\nexport * from \"./utils/overflow.ts\";\nexport * from \"./utils/typebox-helpers.ts\";\nexport * from \"./utils/validation.ts\";\n"]}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAC;AAC1B,cAAc,kCAAkC,CAAC","sourcesContent":["import { registerBuiltInImagesApiProviders } from \"./providers/register-builtins.ts\";\n\nexport * from \"./base.ts\";\nexport * from \"./providers/register-builtins.ts\";\n\nregisterBuiltInImagesApiProviders();\n"]}
package/dist/index.js CHANGED
@@ -1,20 +1,5 @@
1
- export { Type } from "typebox";
2
- export * from "./api-registry.js";
3
- export * from "./env-api-keys.js";
4
- export * from "./image-models.js";
5
- export * from "./images.js";
6
- export * from "./images-api-registry.js";
7
- export * from "./models.js";
8
- export * from "./providers/faux.js";
9
- export * from "./providers/images/register-builtins.js";
1
+ import { registerBuiltInImagesApiProviders } from "./providers/register-builtins.js";
2
+ export * from "./base.js";
10
3
  export * from "./providers/register-builtins.js";
11
- export * from "./session-resources.js";
12
- export * from "./stream.js";
13
- export * from "./types.js";
14
- export * from "./utils/diagnostics.js";
15
- export * from "./utils/event-stream.js";
16
- export * from "./utils/json-parse.js";
17
- export * from "./utils/overflow.js";
18
- export * from "./utils/typebox-helpers.js";
19
- export * from "./utils/validation.js";
4
+ registerBuiltInImagesApiProviders();
20
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAI5B,cAAc,qBAAqB,CAAC;AAIpC,cAAc,yCAAyC,CAAC;AAQxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AActC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"typebox\";\nexport { Type } from \"typebox\";\n\nexport * from \"./api-registry.ts\";\nexport * from \"./env-api-keys.ts\";\nexport * from \"./image-models.ts\";\nexport * from \"./images.ts\";\nexport * from \"./images-api-registry.ts\";\nexport * from \"./models.ts\";\nexport type { BedrockOptions, BedrockThinkingDisplay } from \"./providers/amazon-bedrock.ts\";\nexport type { AnthropicEffort, AnthropicOptions, AnthropicThinkingDisplay } from \"./providers/anthropic.ts\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.ts\";\nexport * from \"./providers/faux.ts\";\nexport type { GoogleOptions } from \"./providers/google.ts\";\nexport type { GoogleThinkingLevel } from \"./providers/google-shared.ts\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.ts\";\nexport * from \"./providers/images/register-builtins.ts\";\nexport type { MistralOptions } from \"./providers/mistral.ts\";\nexport type {\n\tOpenAICodexResponsesOptions,\n\tOpenAICodexWebSocketDebugStats,\n} from \"./providers/openai-codex-responses.ts\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.ts\";\nexport type { OpenAIResponsesOptions } from \"./providers/openai-responses.ts\";\nexport * from \"./providers/register-builtins.ts\";\nexport * from \"./session-resources.ts\";\nexport * from \"./stream.ts\";\nexport * from \"./types.ts\";\nexport * from \"./utils/diagnostics.ts\";\nexport * from \"./utils/event-stream.ts\";\nexport * from \"./utils/json-parse.ts\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthDeviceCodeInfo,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n\tOAuthSelectOption,\n\tOAuthSelectPrompt,\n} from \"./utils/oauth/types.ts\";\nexport * from \"./utils/overflow.ts\";\nexport * from \"./utils/typebox-helpers.ts\";\nexport * from \"./utils/validation.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAErF,cAAc,WAAW,CAAC;AAC1B,cAAc,kCAAkC,CAAC;AAEjD,iCAAiC,EAAE,CAAC","sourcesContent":["import { registerBuiltInImagesApiProviders } from \"./providers/register-builtins.ts\";\n\nexport * from \"./base.ts\";\nexport * from \"./providers/register-builtins.ts\";\n\nregisterBuiltInImagesApiProviders();\n"]}
@@ -4187,16 +4187,21 @@ export declare const MODELS: {
4187
4187
  readonly "accounts/fireworks/models/glm-5p2": {
4188
4188
  id: string;
4189
4189
  name: string;
4190
- api: "anthropic-messages";
4190
+ api: "openai-completions";
4191
4191
  provider: string;
4192
4192
  baseUrl: string;
4193
4193
  compat: {
4194
- sendSessionAffinityHeaders: true;
4195
- supportsEagerToolInputStreaming: false;
4196
- supportsCacheControlOnTools: false;
4197
- supportsLongCacheRetention: false;
4194
+ supportsStore: false;
4195
+ supportsDeveloperRole: false;
4198
4196
  };
4199
4197
  reasoning: true;
4198
+ thinkingLevelMap: {
4199
+ off: string;
4200
+ minimal: null;
4201
+ low: string;
4202
+ medium: string;
4203
+ xhigh: string;
4204
+ };
4200
4205
  input: "text"[];
4201
4206
  cost: {
4202
4207
  input: number;
@@ -5402,54 +5407,6 @@ export declare const MODELS: {
5402
5407
  contextWindow: number;
5403
5408
  maxTokens: number;
5404
5409
  };
5405
- readonly "gemma-4-E2B-it": {
5406
- id: string;
5407
- name: string;
5408
- api: "google-generative-ai";
5409
- provider: string;
5410
- baseUrl: string;
5411
- reasoning: true;
5412
- thinkingLevelMap: {
5413
- off: null;
5414
- minimal: string;
5415
- low: null;
5416
- medium: null;
5417
- high: string;
5418
- };
5419
- input: ("image" | "text")[];
5420
- cost: {
5421
- input: number;
5422
- output: number;
5423
- cacheRead: number;
5424
- cacheWrite: number;
5425
- };
5426
- contextWindow: number;
5427
- maxTokens: number;
5428
- };
5429
- readonly "gemma-4-E4B-it": {
5430
- id: string;
5431
- name: string;
5432
- api: "google-generative-ai";
5433
- provider: string;
5434
- baseUrl: string;
5435
- reasoning: true;
5436
- thinkingLevelMap: {
5437
- off: null;
5438
- minimal: string;
5439
- low: null;
5440
- medium: null;
5441
- high: string;
5442
- };
5443
- input: ("image" | "text")[];
5444
- cost: {
5445
- input: number;
5446
- output: number;
5447
- cacheRead: number;
5448
- cacheWrite: number;
5449
- };
5450
- contextWindow: number;
5451
- maxTokens: number;
5452
- };
5453
5410
  };
5454
5411
  readonly "google-vertex": {
5455
5412
  readonly "gemini-2.5-flash": {
@@ -13005,6 +12962,23 @@ export declare const MODELS: {
13005
12962
  contextWindow: number;
13006
12963
  maxTokens: number;
13007
12964
  };
12965
+ readonly "openrouter/fusion": {
12966
+ id: string;
12967
+ name: string;
12968
+ api: "openai-completions";
12969
+ provider: string;
12970
+ baseUrl: string;
12971
+ reasoning: true;
12972
+ input: "text"[];
12973
+ cost: {
12974
+ input: number;
12975
+ output: number;
12976
+ cacheRead: number;
12977
+ cacheWrite: number;
12978
+ };
12979
+ contextWindow: number;
12980
+ maxTokens: number;
12981
+ };
13008
12982
  readonly "openrouter/owl-alpha": {
13009
12983
  id: string;
13010
12984
  name: string;
@@ -14321,6 +14295,9 @@ export declare const MODELS: {
14321
14295
  provider: string;
14322
14296
  baseUrl: string;
14323
14297
  reasoning: true;
14298
+ thinkingLevelMap: {
14299
+ xhigh: string;
14300
+ };
14324
14301
  input: "text"[];
14325
14302
  cost: {
14326
14303
  input: number;