@kindgi/adapter-model-openai-compat 0.1.4 → 0.1.5

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 CHANGED
@@ -42,6 +42,7 @@ Translate between the framework's `ModelCallInput` / `ModelCallResult` and one n
42
42
  - `clientOptions?` — other `openai` client options (`timeout`, `maxRetries`, `defaultHeaders`, `fetch`, …); `apiKey` and `baseURL` are excluded.
43
43
  - `extraBody?` — fields merged into every request body: settings an endpoint takes that the OpenAI format has no field for. A Qwen thinking model served by vLLM, SGLang or llama-server needs `{ chat_template_kwargs: { enable_thinking: false } }`, or its answer starts with its thinking and a typed (JSON) answer fails. The fields the adapter sets are refused: on Chat Completions `EXTRA_BODY_RESERVED` (`model`, `messages`, `tools`, `response_format`, `temperature`, `max_tokens`, `stream`), on Responses `EXTRA_BODY_RESERVED_RESPONSES` (`model`, `input`, `tools`, `text`, `temperature`, `max_output_tokens`, `stream`, `store`). On Responses, `{ reasoning: { effort: 'low' } }` sets a reasoning model's effort.
44
44
  - **`openAICompatAdapterFactory`** (`OPENAI_COMPAT_ADAPTER_ID`) — the `AdapterFactory` a runtime registers. A provider registration names its endpoint in `adapter_config.baseURL` (an http(s) URL; `openAICompatBaseUrl` reads and checks it), the OpenAI API in `adapter_config.api` (`openAICompatApi` reads and checks it, with the base URL's default when absent), any extra request fields as `extraBody.*` keys (`adapter_config` is flat, so one key per field and dots nest: `"extraBody.chat_template_kwargs.enable_thinking": false`; `openAICompatExtraBody` expands and checks them), and, for an endpoint that needs a key, its secret in `secret_ref`; without one the adapter sends `'unused'`, as local runners expect.
45
+ - **`openAICompatAdapterEntry`** — the `AdapterFactoryEntry` a runtime registers: `openAICompatAdapterFactory` plus **`openAICompatCheckConfig(input)`**, which reports every problem the factory would throw on (`adapter_config.baseURL`, `adapter_config.api`, each `adapter_config.extraBody.*` key), with the factory's own messages, without building anything.
45
46
  - **`BASE_URLS`** — well-known endpoints: `OPENAI`, `OLLAMA_LOCAL`, `VLLM_LOCAL`, `LLAMA_SERVER_LOCAL`, `LM_STUDIO_LOCAL`, `OPENROUTER`, `GROQ`, `TOGETHER`, `FIREWORKS`, `DEEPINFRA`, `LITELLM_LOCAL`. Any other URL works too.
46
47
  - **`ModelProvider`** — type re-export from `@kindgi/capabilities`.
47
48
 
@@ -0,0 +1,37 @@
1
+ import OpenAI from 'openai';
2
+ import type { EmbeddingProvider } from '@kindgi/embedding';
3
+ /**
4
+ * An embeddings endpoint that speaks OpenAI's `POST /embeddings`: OpenAI
5
+ * itself, Ollama (`nomic-embed-text`), vLLM, Hugging Face TEI, LM Studio,
6
+ * llama-server, a LiteLLM proxy. Same `baseURL` as for chat
7
+ * (`BASE_URLS`), with the `/v1` suffix.
8
+ */
9
+ export interface OpenAICompatEmbeddingOptions {
10
+ readonly baseURL: string;
11
+ /** The embedding model the endpoint serves (`text-embedding-3-small`, `nomic-embed-text`, …). */
12
+ readonly model: string;
13
+ /**
14
+ * The key, or a resolver called before each request (a rotated key
15
+ * takes effect on the next one). Absent: the endpoint takes none
16
+ * (Ollama, a local TEI); the SDK sends a placeholder.
17
+ */
18
+ readonly apiKey?: string | (() => string | Promise<string>);
19
+ /** The vector length, when known; otherwise learned by `probe()` or the first `embed()`. */
20
+ readonly dimensions?: number;
21
+ /** HTTP overrides passed through to the OpenAI SDK (`fetch`, `timeout`, `maxRetries`, …). */
22
+ readonly clientOptions?: Omit<NonNullable<ConstructorParameters<typeof OpenAI>[0]>, 'apiKey' | 'baseURL'>;
23
+ }
24
+ export interface OpenAICompatEmbeddingProvider extends EmbeddingProvider {
25
+ /**
26
+ * Embed a short text once: checks the endpoint answers with this model,
27
+ * and learns the dimensions. Call it at boot, before `dimensions()`.
28
+ */
29
+ probe(): Promise<number>;
30
+ }
31
+ /**
32
+ * Create an `EmbeddingProvider` over an OpenAI-compatible embeddings
33
+ * endpoint. The SDK client is built on first use (and rebuilt when the
34
+ * key rotates), so construction has no side effects.
35
+ */
36
+ export declare function createOpenAICompatEmbeddingProvider(options: OpenAICompatEmbeddingOptions): OpenAICompatEmbeddingProvider;
37
+ //# sourceMappingURL=embedding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAC3B,WAAW,CAAC,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,GAAG,SAAS,CACrB,CAAC;CACH;AAED,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACtE;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B;AAKD;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,4BAA4B,GACpC,6BAA6B,CAuD/B"}
@@ -0,0 +1,61 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ import OpenAI from 'openai';
4
+ import { OPENAI_COMPAT_ADAPTER_ID } from './provider.js';
5
+ /** The SDK needs a non-empty key; endpoints that take none ignore it. */
6
+ const NO_KEY = 'unused';
7
+ /**
8
+ * Create an `EmbeddingProvider` over an OpenAI-compatible embeddings
9
+ * endpoint. The SDK client is built on first use (and rebuilt when the
10
+ * key rotates), so construction has no side effects.
11
+ */
12
+ export function createOpenAICompatEmbeddingProvider(options) {
13
+ let dims = options.dimensions;
14
+ let cached;
15
+ async function client() {
16
+ const resolved = typeof options.apiKey === 'function' ? await options.apiKey() : options.apiKey;
17
+ const key = resolved === undefined || resolved === '' ? NO_KEY : resolved;
18
+ if (cached !== undefined && cached.key === key)
19
+ return cached.client;
20
+ const fresh = new OpenAI({
21
+ apiKey: key,
22
+ baseURL: options.baseURL,
23
+ ...(options.clientOptions ?? {}),
24
+ });
25
+ cached = { key, client: fresh };
26
+ return fresh;
27
+ }
28
+ async function embed(text) {
29
+ const response = await (await client()).embeddings.create({
30
+ model: options.model,
31
+ input: text,
32
+ encoding_format: 'float',
33
+ });
34
+ const values = response.data[0]?.embedding;
35
+ if (!Array.isArray(values) || values.length === 0) {
36
+ throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: the embeddings endpoint ${options.baseURL} returned no vector for model "${options.model}".`);
37
+ }
38
+ if (dims === undefined)
39
+ dims = values.length;
40
+ if (values.length !== dims) {
41
+ throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: model "${options.model}" returned a ${values.length}-dimension vector, expected ${dims}.`);
42
+ }
43
+ return Float32Array.from(values);
44
+ }
45
+ return {
46
+ embed,
47
+ async probe() {
48
+ return (await embed('dimension probe')).length;
49
+ },
50
+ dimensions() {
51
+ if (dims === undefined) {
52
+ throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: the dimensions of "${options.model}" aren't known yet; call probe() first.`);
53
+ }
54
+ return dims;
55
+ },
56
+ describe() {
57
+ return { name: OPENAI_COMPAT_ADAPTER_ID, version: '1', model: options.model };
58
+ },
59
+ };
60
+ }
61
+ //# sourceMappingURL=embedding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAmCzD,yEAAyE;AACzE,MAAM,MAAM,GAAG,QAAQ,CAAC;AAExB;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CACjD,OAAqC;IAErC,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAC9B,IAAI,MAAqE,CAAC;IAE1E,KAAK,UAAU,MAAM;QACnB,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAChG,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,IAAY;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YACxD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,6BAA6B,OAAO,CAAC,OAAO,kCAAkC,OAAO,CAAC,KAAK,IAAI,CAC3H,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,YAAY,OAAO,CAAC,KAAK,gBAAgB,MAAM,CAAC,MAAM,+BAA+B,IAAI,GAAG,CACxH,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,KAAK;QACL,KAAK,CAAC,KAAK;YACT,OAAO,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,CAAC;QACD,UAAU;YACR,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,wBAAwB,OAAO,CAAC,KAAK,yCAAyC,CAC1G,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ;YACN,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- export { BASE_URLS, EXTRA_BODY_PREFIX, EXTRA_BODY_RESERVED, OPENAI_COMPAT_ADAPTER_ID, OPENAI_COMPAT_APIS, createOpenAICompatModelProvider, defaultOpenAICompatApi, isDataResidencyHost, openAICompatAdapterFactory, openAICompatApi, openAICompatBaseUrl, openAICompatExtraBody, } from './provider.js';
1
+ export { BASE_URLS, EXTRA_BODY_PREFIX, EXTRA_BODY_RESERVED, OPENAI_COMPAT_ADAPTER_ID, OPENAI_COMPAT_APIS, createOpenAICompatModelProvider, openAICompatAdapterEntry, openAICompatCheckConfig, defaultOpenAICompatApi, isDataResidencyHost, openAICompatAdapterFactory, openAICompatApi, openAICompatBaseUrl, openAICompatExtraBody, } from './provider.js';
2
2
  export { EXTRA_BODY_RESERVED_RESPONSES } from './responses.js';
3
3
  export { computeCost } from './wire.js';
4
4
  export type { OpenAICompatCostRates, OpenAICompatModelInfo } from './wire.js';
5
5
  export type { OpenAICompatApi, OpenAICompatProviderOptions } from './provider.js';
6
+ export { createOpenAICompatEmbeddingProvider } from './embedding.js';
7
+ export type { OpenAICompatEmbeddingOptions, OpenAICompatEmbeddingProvider, } from './embedding.js';
6
8
  export type { ModelProvider } from '@kindgi/capabilities';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
- export { BASE_URLS, EXTRA_BODY_PREFIX, EXTRA_BODY_RESERVED, OPENAI_COMPAT_ADAPTER_ID, OPENAI_COMPAT_APIS, createOpenAICompatModelProvider, defaultOpenAICompatApi, isDataResidencyHost, openAICompatAdapterFactory, openAICompatApi, openAICompatBaseUrl, openAICompatExtraBody, } from './provider.js';
3
+ export { BASE_URLS, EXTRA_BODY_PREFIX, EXTRA_BODY_RESERVED, OPENAI_COMPAT_ADAPTER_ID, OPENAI_COMPAT_APIS, createOpenAICompatModelProvider, openAICompatAdapterEntry, openAICompatCheckConfig, defaultOpenAICompatApi, isDataResidencyHost, openAICompatAdapterFactory, openAICompatApi, openAICompatBaseUrl, openAICompatExtraBody, } from './provider.js';
4
4
  export { EXTRA_BODY_RESERVED_RESPONSES } from './responses.js';
5
5
  export { computeCost } from './wire.js';
6
+ export { createOpenAICompatEmbeddingProvider } from './embedding.js';
6
7
  //# 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":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import OpenAI from 'openai';
2
- import type { AdapterFactory, AdapterFactoryInput, Feature, ModelProvider, ProviderMetadata } from '@kindgi/capabilities';
2
+ import type { AdapterConfigCheckInput, AdapterConfigProblem, AdapterFactory, AdapterFactoryEntry, AdapterFactoryInput, Feature, ModelProvider, ProviderMetadata } from '@kindgi/capabilities';
3
3
  /**
4
4
  * Configuration for an OpenAI-compatible ModelProvider. `baseURL` is the
5
5
  * key — same adapter, different endpoints (the well-known ones are
@@ -108,6 +108,15 @@ export declare const OPENAI_COMPAT_ADAPTER_ID = "@kindgi/adapter-model-openai-co
108
108
  * Its `adapter_config.api` picks the OpenAI API (`openAICompatApi`).
109
109
  */
110
110
  export declare const openAICompatAdapterFactory: AdapterFactory;
111
+ /**
112
+ * What's wrong with a registration for this adapter, read without building
113
+ * it (`AdapterFactoryEntry.checkConfig`): its base URL, its API and its
114
+ * extra request fields. Each problem's message is the error the factory
115
+ * throws for it: both read the registration through the same functions.
116
+ */
117
+ export declare function openAICompatCheckConfig(input: AdapterConfigCheckInput): readonly AdapterConfigProblem[];
118
+ /** The entry a runtime registers: the factory, and its static check. */
119
+ export declare const openAICompatAdapterEntry: AdapterFactoryEntry;
111
120
  /** The endpoint a registration names (see `openAICompatAdapterFactory`). */
112
121
  export declare function openAICompatBaseUrl(input: AdapterFactoryInput): string;
113
122
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,OAAO,EAKP,aAAa,EAGb,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAQ9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAC3B,WAAW,CAAC,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,GAAG,SAAS,CACrB,CAAC;IACF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD;AAED,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,4CAA6C,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAGvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAaD,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,mGAQtB,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,2BAA2B,GACnC,aAAa,CAkJf;AA8ED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC;AAE/B,uDAAuD;AACvD,eAAO,MAAM,wBAAwB,wCAAwC,CAAC;AAK9E;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,cAYxC,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe,CAa3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAK9C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAoB/C"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EAKP,aAAa,EAGb,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAQ9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAC3B,WAAW,CAAC,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,GAAG,SAAS,CACrB,CAAC;IACF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD;AAED,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,4CAA6C,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAGvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAaD,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,mGAQtB,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,2BAA2B,GACnC,aAAa,CAkJf;AA8ED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC;AAE/B,uDAAuD;AACvD,eAAO,MAAM,wBAAwB,wCAAwC,CAAC;AAK9E;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,cAYxC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,uBAAuB,GAC7B,SAAS,oBAAoB,EAAE,CAIjC;AAED,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,EAAE,mBAKtC,CAAC;AAWF,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAGtE;AAWD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe,CAG3E;AAmBD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAK9C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAI/C"}
package/dist/provider.js CHANGED
@@ -1,10 +1,10 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
3
  import OpenAI from 'openai';
4
- import { samplingFor } from '@kindgi/capabilities';
4
+ import { adapterConfigError, samplingFor } from '@kindgi/capabilities';
5
5
  import { createAttemptCounter } from '@kindgi/capabilities/attempts';
6
6
  import { nameToolsAsSent } from '@kindgi/capabilities/tool-names';
7
- import { EXTRA_BODY_RESERVED_RESPONSES, invokeResponses } from './responses.js';
7
+ import { EXTRA_BODY_RESERVED_RESPONSES, invokeResponses, requestOptions } from './responses.js';
8
8
  import { computeCost, decodeToolName, encodeToolName } from './wire.js';
9
9
  /** The OpenAI APIs the adapter speaks (`OpenAICompatProviderOptions.api`). */
10
10
  export const OPENAI_COMPAT_APIS = ['responses', 'chat-completions'];
@@ -140,7 +140,7 @@ export function createOpenAICompatModelProvider(options) {
140
140
  }),
141
141
  ...(input.maxOutputTokens !== undefined && { max_tokens: input.maxOutputTokens }),
142
142
  stream: false,
143
- }, input.abortSignal !== undefined ? { signal: input.abortSignal } : undefined));
143
+ }, requestOptions(input)));
144
144
  const completion = counted.value;
145
145
  const durationMs = Date.now() - startedAt;
146
146
  const choice = completion.choices[0];
@@ -294,13 +294,40 @@ export const openAICompatAdapterFactory = (input) => {
294
294
  ...(input.fetch !== undefined && { clientOptions: { fetch: input.fetch } }),
295
295
  });
296
296
  };
297
+ /**
298
+ * What's wrong with a registration for this adapter, read without building
299
+ * it (`AdapterFactoryEntry.checkConfig`): its base URL, its API and its
300
+ * extra request fields. Each problem's message is the error the factory
301
+ * throws for it: both read the registration through the same functions.
302
+ */
303
+ export function openAICompatCheckConfig(input) {
304
+ return [baseUrlProblem(input), apiProblem(input), ...readExtraBody(input).problems].filter((problem) => problem !== undefined);
305
+ }
306
+ /** The entry a runtime registers: the factory, and its static check. */
307
+ export const openAICompatAdapterEntry = {
308
+ adapterId: OPENAI_COMPAT_ADAPTER_ID,
309
+ capabilityKind: 'llm-inference',
310
+ factory: openAICompatAdapterFactory,
311
+ checkConfig: openAICompatCheckConfig,
312
+ };
313
+ function throwIf(input, problem) {
314
+ if (problem !== undefined) {
315
+ throw adapterConfigError(OPENAI_COMPAT_ADAPTER_ID, input.metadata.id, problem);
316
+ }
317
+ }
297
318
  /** The endpoint a registration names (see `openAICompatAdapterFactory`). */
298
319
  export function openAICompatBaseUrl(input) {
320
+ throwIf(input, baseUrlProblem(input));
321
+ return input.config?.baseURL;
322
+ }
323
+ function baseUrlProblem(input) {
299
324
  const value = input.config?.baseURL;
300
- if (typeof value !== 'string' || !/^https?:\/\/[^\s/]+/.test(value)) {
301
- throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: provider "${input.metadata.id}" needs adapter_config.baseURL, an http(s) URL (e.g. ${BASE_URLS.OPENAI}).`);
302
- }
303
- return value;
325
+ if (typeof value === 'string' && /^https?:\/\/[^\s/]+/.test(value))
326
+ return undefined;
327
+ return {
328
+ path: '/adapter_config/baseURL',
329
+ message: `needs adapter_config.baseURL, an http(s) URL (e.g. ${BASE_URLS.OPENAI}).`,
330
+ };
304
331
  }
305
332
  /**
306
333
  * The API a registration speaks: its `adapter_config.api` (`OPENAI_COMPAT_APIS`),
@@ -308,16 +335,25 @@ export function openAICompatBaseUrl(input) {
308
335
  * Throws, naming the key, on an API the adapter doesn't speak.
309
336
  */
310
337
  export function openAICompatApi(input) {
338
+ throwIf(input, apiProblem(input));
339
+ return apiOf(input);
340
+ }
341
+ function apiProblem(input) {
311
342
  const value = input.config?.api;
312
- if (value === undefined) {
313
- const baseURL = input.config?.baseURL;
314
- return defaultOpenAICompatApi(typeof baseURL === 'string' ? baseURL : '');
315
- }
316
- const api = OPENAI_COMPAT_APIS.find((known) => known === value);
317
- if (api === undefined) {
318
- throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: provider "${input.metadata.id}": adapter_config.api must be one of ${OPENAI_COMPAT_APIS.join(', ')}.`);
319
- }
320
- return api;
343
+ if (value === undefined || OPENAI_COMPAT_APIS.some((known) => known === value))
344
+ return undefined;
345
+ return {
346
+ path: '/adapter_config/api',
347
+ message: `adapter_config.api must be one of ${OPENAI_COMPAT_APIS.join(', ')}.`,
348
+ };
349
+ }
350
+ /** The registration's API; its base URL's default when `api` is absent or not one the adapter speaks. */
351
+ function apiOf(input) {
352
+ const api = OPENAI_COMPAT_APIS.find((known) => known === input.config?.api);
353
+ if (api !== undefined)
354
+ return api;
355
+ const baseURL = input.config?.baseURL;
356
+ return defaultOpenAICompatApi(typeof baseURL === 'string' ? baseURL : '');
321
357
  }
322
358
  /**
323
359
  * The `adapter_config` key prefix for extra request fields. `adapter_config`
@@ -335,12 +371,17 @@ const UNSAFE_FIELDS = new Set(['__proto__', 'constructor', 'prototype']);
335
371
  * keys that collide, or a field the adapter sets.
336
372
  */
337
373
  export function openAICompatExtraBody(input) {
338
- const fail = (problem) => {
339
- throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: provider "${input.metadata.id}": ${problem}`);
340
- };
374
+ const { body, problems } = readExtraBody(input);
375
+ throwIf(input, problems[0]);
376
+ return body;
377
+ }
378
+ /** A registration's extra request fields, and what's wrong with them (`openAICompatExtraBody`). */
379
+ function readExtraBody(input) {
380
+ const problems = [];
381
+ const at = (path, problem) => problems.push({ path, message: problem });
341
382
  const config = input.config ?? {};
342
383
  if (Object.hasOwn(config, 'extraBody')) {
343
- fail(`adapter_config takes extra request fields one per key, "${EXTRA_BODY_PREFIX}<field>" (dots nest), e.g. "${EXTRA_BODY_PREFIX}chat_template_kwargs.enable_thinking": false`);
384
+ at('/adapter_config/extraBody', `adapter_config takes extra request fields one per key, "${EXTRA_BODY_PREFIX}<field>" (dots nest), e.g. "${EXTRA_BODY_PREFIX}chat_template_kwargs.enable_thinking": false`);
344
385
  }
345
386
  let body;
346
387
  for (const [key, value] of Object.entries(config)) {
@@ -349,12 +390,17 @@ export function openAICompatExtraBody(input) {
349
390
  body ??= {};
350
391
  const problem = setField(body, key.slice(EXTRA_BODY_PREFIX.length).split('.'), value);
351
392
  if (problem !== undefined)
352
- fail(`adapter_config "${key}" ${problem}`);
393
+ at(pointerTo(key), `adapter_config "${key}" ${problem}`);
353
394
  }
354
- const problem = extraBodyProblem(body, openAICompatApi(input));
355
- if (problem !== undefined)
356
- fail(`adapter_config ${problem}`);
357
- return body;
395
+ const reserved = reservedIn(body, apiOf(input));
396
+ if (reserved.length > 0) {
397
+ at(pointerTo(`${EXTRA_BODY_PREFIX}${reserved[0]}`), `adapter_config ${reservedProblem(reserved)}`);
398
+ }
399
+ return { ...(body !== undefined && { body }), problems };
400
+ }
401
+ /** The JSON pointer to a flat `adapter_config` key (its dots stay in one token). */
402
+ function pointerTo(key) {
403
+ return `/adapter_config/${key.replace(/~/g, '~0').replace(/\//g, '~1')}`;
358
404
  }
359
405
  /** Set `path` in `body` to `value`; what's wrong, if anything. */
360
406
  function setField(body, path, value) {
@@ -388,11 +434,18 @@ function extraBodyProblem(value, api) {
388
434
  if (value === null || typeof value !== 'object' || Array.isArray(value)) {
389
435
  return 'extraBody must be an object of request fields, e.g. { chat_template_kwargs: { enable_thinking: false } }';
390
436
  }
437
+ const reserved = reservedIn(value, api);
438
+ return reserved.length > 0 ? reservedProblem(reserved) : undefined;
439
+ }
440
+ /** The fields of `body` the adapter sets itself on `api`. */
441
+ function reservedIn(body, api) {
442
+ if (body === undefined)
443
+ return [];
391
444
  const fields = api === 'responses' ? EXTRA_BODY_RESERVED_RESPONSES : EXTRA_BODY_RESERVED;
392
- const reserved = fields.filter((key) => Object.hasOwn(value, key));
393
- return reserved.length > 0
394
- ? `extraBody can't set ${reserved.join(', ')}: the adapter sets ${reserved.length === 1 ? 'it' : 'them'}`
395
- : undefined;
445
+ return fields.filter((key) => Object.hasOwn(body, key));
446
+ }
447
+ function reservedProblem(reserved) {
448
+ return `extraBody can't set ${reserved.join(', ')}: the adapter sets ${reserved.length === 1 ? 'it' : 'them'}`;
396
449
  }
397
450
  /**
398
451
  * The completion's usage as the framework's counters. The endpoint's
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAgB5B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAgExE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAU,CAAC;AAG7E,yFAAyF;AACzF,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,6EAA6E;IAC7E,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,KAAK,gBAAgB;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,UAAU;IACV,OAAO;IACP,iBAAiB;IACjB,aAAa;IACb,YAAY;IACZ,QAAQ;CACA,CAAC;AAEX;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAoC;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3E,iDAAiD;QACjD,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,eAAe,QAAQ,CAAC,EAAE,yBAAyB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAwB,eAAe,QAAQ,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAoB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAClG,qEAAqE;IACrE,gEAAgE;IAChE,IAAI,MAAqE,CAAC;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACpE,KAAK,UAAU,aAAa;QAC1B,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3F,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACxB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YAChC,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;QACH,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK,CAAC,MAAM,CAAC,KAAqB;YAChC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,kDAAkD,QAAQ,CAAC,EAAE,4BAA4B,KAAK,CAAC,KAAK,KAAK;oBACvG,cAAc,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CACnE,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACrC,mFAAmF;YACnF,yEAAyE;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE;gBACxE,CAAC,CAAC,CAAC,CACN,CAAC;YACF,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/C,wEAAwE;YACxE,MAAM,cAAc,GAClB,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS;gBAC7D,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBAC3B,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBACxB,OAAO,eAAe,CAAC;oBACrB,MAAM,EAAE,MAAM;oBACd,QAAQ;oBACR,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACnC,SAAS;oBACT,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,SAAS;oBACT,aAAa;oBACb,GAAG,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAChF,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;oBACxE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YAE7C,MAAM,cAAc,GAAG,KAAK,CAAC,gBAAgB;gBAC3C,CAAC,CAAC;oBACE,IAAI,EAAE,aAAsB;oBAC5B,WAAW,EAAE;wBACX,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI;wBACjC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM;wBACrC,MAAM,EAAE,IAAI;qBACb;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAC5B;gBACE,GAAG,SAAS;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ;gBACR,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzD,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;gBACxE,GAAG,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAChF,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI;oBAClC,gBAAgB,EAAE,cAEjB;iBACF,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;gBACjF,MAAM,EAAE,KAAK;aACd,EACD,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5E,CACF,CAAC;YACF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;YAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAiB;gBACpC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;aAC3C,CAAC;YAEF,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEjD,OAAO;gBACL,OAAO,EAAE,eAAe;gBACxB,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC;gBACpD,KAAK;gBACL,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC;gBACzD,UAAU;gBACV,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;gBACjD,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS;oBAChC,UAAU,CAAC,KAAK,KAAK,EAAE,IAAI;oBACzB,WAAW,EAAE,UAAU,CAAC,KAAK;iBAC9B,CAAC;gBACJ,GAAG,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,IAAI;oBAChD,iBAAiB,EAAE,UAAU,CAAC,WAAW;iBAC1C,CAAC;gBACF,oEAAoE;gBACpE,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3D,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC5E,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;aACrE,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,CAAe;IACtC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,YAAY,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE;oBACR,wDAAwD;oBACxD,4CAA4C;oBAC5C,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC;oBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;iBACxC;aACF,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACvE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,IAAyB;IAC7C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,WAAsC;SACxD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAwE;IAExE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACrC,IAAI,IAA6B,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,2DAA2D;QAC3D,qCAAqC;QACrC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAiC;IACxD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,UAAU,CAAC;QACpB,KAAK,gBAAgB;YACnB,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,2BAA2B;IACnC,YAAY,EAAE,2BAA2B;IACzC,UAAU,EAAE,0BAA0B;IACtC,kBAAkB,EAAE,0BAA0B;IAC9C,eAAe,EAAE,0BAA0B;IAC3C,UAAU,EAAE,8BAA8B;IAC1C,IAAI,EAAE,gCAAgC;IACtC,QAAQ,EAAE,6BAA6B;IACvC,SAAS,EAAE,uCAAuC;IAClD,SAAS,EAAE,qCAAqC;IAChD,aAAa,EAAE,0BAA0B;CACjC,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AAE9E,0EAA0E;AAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAmB,CAAC,KAAK,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,+BAA+B,CAAC;QACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;QACnC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM;QACrC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,mEAAmE;QACnE,0DAA0D;QAC1D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;KAC5E,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,eAAe,KAAK,CAAC,QAAQ,CAAC,EAAE,wDAAwD,SAAS,CAAC,MAAM,IAAI,CACxI,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAA0B;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;QACtC,OAAO,sBAAsB,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAChE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,eAAe,KAAK,CAAC,QAAQ,CAAC,EAAE,wCAAwC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpI,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C,6EAA6E;AAC7E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAA0B;IAE1B,MAAM,IAAI,GAAG,CAAC,OAAe,EAAS,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,wBAAwB,eAAe,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACvC,IAAI,CACF,2DAA2D,iBAAiB,+BAA+B,iBAAiB,8CAA8C,CAC3K,CAAC;IACJ,CAAC;IACD,IAAI,IAAyC,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,SAAS;QACjD,IAAI,KAAK,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACtF,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,mBAAmB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kEAAkE;AAClE,SAAS,QAAQ,CAAC,IAA6B,EAAE,IAAuB,EAAE,KAAc;IACtF,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YACpB,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,GAAG,IAA+B,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,sCAAsC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAW,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACnB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,GAAoB;IAC5D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,0GAA0G,CAAC;IACpH,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;QACzG,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAyC;IACjE,MAAM,SAAS,GAAG,KAAK,EAAE,qBAAqB,EAAE,aAAa,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,CAAC;IACrE,OAAO;QACL,YAAY,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC;QACvC,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC;QAC/C,mDAAmD;QACnD,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -39,5 +39,14 @@ export interface ResponsesCall {
39
39
  /** When the call started (`Date.now()`), for `durationMs`. */
40
40
  readonly startedAt: number;
41
41
  }
42
+ /**
43
+ * A call's per-request options, on both paths: its abort signal, and its
44
+ * `traceparent` as a header when the caller set it (the provider's
45
+ * registration opted in). A header only: never in the body, and never logged.
46
+ */
47
+ export declare function requestOptions(input: ModelCallInput): {
48
+ signal?: AbortSignal;
49
+ headers?: Record<string, string>;
50
+ } | undefined;
42
51
  export declare function invokeResponses(call: ResponsesCall): Promise<ModelCallResult>;
43
52
  //# sourceMappingURL=responses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,SAAS,EAKV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAQpE,sFAAsF;AACtF,eAAO,MAAM,6BAA6B,qGAShC,CAAC;AAEX,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,yFAAyF;IACzF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA8DnF"}
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,SAAS,EAKV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAQpE,sFAAsF;AACtF,eAAO,MAAM,6BAA6B,qGAShC,CAAC;AAEX,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,yFAAyF;IACzF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,GACpB;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,SAAS,CAMxE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA8DnF"}
package/dist/responses.js CHANGED
@@ -12,6 +12,19 @@ export const EXTRA_BODY_RESERVED_RESPONSES = [
12
12
  'stream',
13
13
  'store',
14
14
  ];
15
+ /**
16
+ * A call's per-request options, on both paths: its abort signal, and its
17
+ * `traceparent` as a header when the caller set it (the provider's
18
+ * registration opted in). A header only: never in the body, and never logged.
19
+ */
20
+ export function requestOptions(input) {
21
+ if (input.abortSignal === undefined && input.traceparent === undefined)
22
+ return undefined;
23
+ return {
24
+ ...(input.abortSignal !== undefined && { signal: input.abortSignal }),
25
+ ...(input.traceparent !== undefined && { headers: { traceparent: input.traceparent } }),
26
+ };
27
+ }
15
28
  export async function invokeResponses(call) {
16
29
  const { input } = call;
17
30
  const tools = input.tools?.map(toTool);
@@ -40,7 +53,7 @@ export async function invokeResponses(call) {
40
53
  ...(input.maxOutputTokens !== undefined && { max_output_tokens: input.maxOutputTokens }),
41
54
  store: false,
42
55
  stream: false,
43
- }, input.abortSignal !== undefined ? { signal: input.abortSignal } : undefined));
56
+ }, requestOptions(input)));
44
57
  const response = counted.value;
45
58
  const durationMs = Date.now() - call.startedAt;
46
59
  refuseUnfinished(response, call.providerId);
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/adapter-model-openai-compat",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "OpenAI-compatible ModelProvider for @kindgi/capabilities. Speaks OpenAI's Responses API to OpenAI itself, and the Chat Completions wire format to any compatible endpoint — Ollama (/v1), vLLM, llama-server, LM Studio, OpenRouter, Groq, Together, Fireworks, DeepInfra, LiteLLM proxy (base URLs exported as BASE_URLS), or any other compatible endpoint. One adapter, many backends. Cost per 1K tokens is supplied by the caller (from the provider's public pricing) since the API surface itself doesn't expose it.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -28,7 +28,8 @@
28
28
  "README.md"
29
29
  ],
30
30
  "dependencies": {
31
- "@kindgi/capabilities": "0.1.4",
31
+ "@kindgi/capabilities": "0.1.5",
32
+ "@kindgi/embedding": "0.1.5",
32
33
  "openai": "^7.17.0"
33
34
  },
34
35
  "engines": {
@@ -0,0 +1,108 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+
4
+ import OpenAI from 'openai';
5
+
6
+ import type { EmbeddingProvider } from '@kindgi/embedding';
7
+
8
+ import { OPENAI_COMPAT_ADAPTER_ID } from './provider.js';
9
+
10
+ /**
11
+ * An embeddings endpoint that speaks OpenAI's `POST /embeddings`: OpenAI
12
+ * itself, Ollama (`nomic-embed-text`), vLLM, Hugging Face TEI, LM Studio,
13
+ * llama-server, a LiteLLM proxy. Same `baseURL` as for chat
14
+ * (`BASE_URLS`), with the `/v1` suffix.
15
+ */
16
+ export interface OpenAICompatEmbeddingOptions {
17
+ readonly baseURL: string;
18
+ /** The embedding model the endpoint serves (`text-embedding-3-small`, `nomic-embed-text`, …). */
19
+ readonly model: string;
20
+ /**
21
+ * The key, or a resolver called before each request (a rotated key
22
+ * takes effect on the next one). Absent: the endpoint takes none
23
+ * (Ollama, a local TEI); the SDK sends a placeholder.
24
+ */
25
+ readonly apiKey?: string | (() => string | Promise<string>);
26
+ /** The vector length, when known; otherwise learned by `probe()` or the first `embed()`. */
27
+ readonly dimensions?: number;
28
+ /** HTTP overrides passed through to the OpenAI SDK (`fetch`, `timeout`, `maxRetries`, …). */
29
+ readonly clientOptions?: Omit<
30
+ NonNullable<ConstructorParameters<typeof OpenAI>[0]>,
31
+ 'apiKey' | 'baseURL'
32
+ >;
33
+ }
34
+
35
+ export interface OpenAICompatEmbeddingProvider extends EmbeddingProvider {
36
+ /**
37
+ * Embed a short text once: checks the endpoint answers with this model,
38
+ * and learns the dimensions. Call it at boot, before `dimensions()`.
39
+ */
40
+ probe(): Promise<number>;
41
+ }
42
+
43
+ /** The SDK needs a non-empty key; endpoints that take none ignore it. */
44
+ const NO_KEY = 'unused';
45
+
46
+ /**
47
+ * Create an `EmbeddingProvider` over an OpenAI-compatible embeddings
48
+ * endpoint. The SDK client is built on first use (and rebuilt when the
49
+ * key rotates), so construction has no side effects.
50
+ */
51
+ export function createOpenAICompatEmbeddingProvider(
52
+ options: OpenAICompatEmbeddingOptions,
53
+ ): OpenAICompatEmbeddingProvider {
54
+ let dims = options.dimensions;
55
+ let cached: { readonly key: string; readonly client: OpenAI } | undefined;
56
+
57
+ async function client(): Promise<OpenAI> {
58
+ const resolved = typeof options.apiKey === 'function' ? await options.apiKey() : options.apiKey;
59
+ const key = resolved === undefined || resolved === '' ? NO_KEY : resolved;
60
+ if (cached !== undefined && cached.key === key) return cached.client;
61
+ const fresh = new OpenAI({
62
+ apiKey: key,
63
+ baseURL: options.baseURL,
64
+ ...(options.clientOptions ?? {}),
65
+ });
66
+ cached = { key, client: fresh };
67
+ return fresh;
68
+ }
69
+
70
+ async function embed(text: string): Promise<Float32Array> {
71
+ const response = await (await client()).embeddings.create({
72
+ model: options.model,
73
+ input: text,
74
+ encoding_format: 'float',
75
+ });
76
+ const values = response.data[0]?.embedding;
77
+ if (!Array.isArray(values) || values.length === 0) {
78
+ throw new Error(
79
+ `${OPENAI_COMPAT_ADAPTER_ID}: the embeddings endpoint ${options.baseURL} returned no vector for model "${options.model}".`,
80
+ );
81
+ }
82
+ if (dims === undefined) dims = values.length;
83
+ if (values.length !== dims) {
84
+ throw new Error(
85
+ `${OPENAI_COMPAT_ADAPTER_ID}: model "${options.model}" returned a ${values.length}-dimension vector, expected ${dims}.`,
86
+ );
87
+ }
88
+ return Float32Array.from(values);
89
+ }
90
+
91
+ return {
92
+ embed,
93
+ async probe() {
94
+ return (await embed('dimension probe')).length;
95
+ },
96
+ dimensions() {
97
+ if (dims === undefined) {
98
+ throw new Error(
99
+ `${OPENAI_COMPAT_ADAPTER_ID}: the dimensions of "${options.model}" aren't known yet; call probe() first.`,
100
+ );
101
+ }
102
+ return dims;
103
+ },
104
+ describe() {
105
+ return { name: OPENAI_COMPAT_ADAPTER_ID, version: '1', model: options.model };
106
+ },
107
+ };
108
+ }
package/src/index.ts CHANGED
@@ -8,6 +8,8 @@ export {
8
8
  OPENAI_COMPAT_ADAPTER_ID,
9
9
  OPENAI_COMPAT_APIS,
10
10
  createOpenAICompatModelProvider,
11
+ openAICompatAdapterEntry,
12
+ openAICompatCheckConfig,
11
13
  defaultOpenAICompatApi,
12
14
  isDataResidencyHost,
13
15
  openAICompatAdapterFactory,
@@ -19,4 +21,9 @@ export { EXTRA_BODY_RESERVED_RESPONSES } from './responses.js';
19
21
  export { computeCost } from './wire.js';
20
22
  export type { OpenAICompatCostRates, OpenAICompatModelInfo } from './wire.js';
21
23
  export type { OpenAICompatApi, OpenAICompatProviderOptions } from './provider.js';
24
+ export { createOpenAICompatEmbeddingProvider } from './embedding.js';
25
+ export type {
26
+ OpenAICompatEmbeddingOptions,
27
+ OpenAICompatEmbeddingProvider,
28
+ } from './embedding.js';
22
29
  export type { ModelProvider } from '@kindgi/capabilities';
package/src/provider.ts CHANGED
@@ -4,7 +4,10 @@
4
4
  import OpenAI from 'openai';
5
5
 
6
6
  import type {
7
+ AdapterConfigCheckInput,
8
+ AdapterConfigProblem,
7
9
  AdapterFactory,
10
+ AdapterFactoryEntry,
8
11
  AdapterFactoryInput,
9
12
  Feature,
10
13
  ModelCallInput,
@@ -17,11 +20,11 @@ import type {
17
20
  ProviderMetadata,
18
21
  UsageCounters,
19
22
  } from '@kindgi/capabilities';
20
- import { samplingFor } from '@kindgi/capabilities';
23
+ import { adapterConfigError, samplingFor } from '@kindgi/capabilities';
21
24
  import { createAttemptCounter } from '@kindgi/capabilities/attempts';
22
25
  import { nameToolsAsSent } from '@kindgi/capabilities/tool-names';
23
26
 
24
- import { EXTRA_BODY_RESERVED_RESPONSES, invokeResponses } from './responses.js';
27
+ import { EXTRA_BODY_RESERVED_RESPONSES, invokeResponses, requestOptions } from './responses.js';
25
28
  import { computeCost, decodeToolName, encodeToolName } from './wire.js';
26
29
 
27
30
  /**
@@ -241,7 +244,7 @@ export function createOpenAICompatModelProvider(
241
244
  ...(input.maxOutputTokens !== undefined && { max_tokens: input.maxOutputTokens }),
242
245
  stream: false,
243
246
  },
244
- input.abortSignal !== undefined ? { signal: input.abortSignal } : undefined,
247
+ requestOptions(input),
245
248
  ),
246
249
  );
247
250
  const completion = counted.value;
@@ -408,15 +411,50 @@ export const openAICompatAdapterFactory: AdapterFactory = (input) => {
408
411
  });
409
412
  };
410
413
 
414
+ /**
415
+ * What's wrong with a registration for this adapter, read without building
416
+ * it (`AdapterFactoryEntry.checkConfig`): its base URL, its API and its
417
+ * extra request fields. Each problem's message is the error the factory
418
+ * throws for it: both read the registration through the same functions.
419
+ */
420
+ export function openAICompatCheckConfig(
421
+ input: AdapterConfigCheckInput,
422
+ ): readonly AdapterConfigProblem[] {
423
+ return [baseUrlProblem(input), apiProblem(input), ...readExtraBody(input).problems].filter(
424
+ (problem): problem is AdapterConfigProblem => problem !== undefined,
425
+ );
426
+ }
427
+
428
+ /** The entry a runtime registers: the factory, and its static check. */
429
+ export const openAICompatAdapterEntry: AdapterFactoryEntry = {
430
+ adapterId: OPENAI_COMPAT_ADAPTER_ID,
431
+ capabilityKind: 'llm-inference',
432
+ factory: openAICompatAdapterFactory,
433
+ checkConfig: openAICompatCheckConfig,
434
+ };
435
+
436
+ /** What the checks read of a registration. */
437
+ type Registration = Pick<AdapterFactoryInput, 'metadata' | 'config'>;
438
+
439
+ function throwIf(input: Registration, problem: AdapterConfigProblem | undefined): void {
440
+ if (problem !== undefined) {
441
+ throw adapterConfigError(OPENAI_COMPAT_ADAPTER_ID, input.metadata.id, problem);
442
+ }
443
+ }
444
+
411
445
  /** The endpoint a registration names (see `openAICompatAdapterFactory`). */
412
446
  export function openAICompatBaseUrl(input: AdapterFactoryInput): string {
447
+ throwIf(input, baseUrlProblem(input));
448
+ return input.config?.baseURL as string;
449
+ }
450
+
451
+ function baseUrlProblem(input: Registration): AdapterConfigProblem | undefined {
413
452
  const value = input.config?.baseURL;
414
- if (typeof value !== 'string' || !/^https?:\/\/[^\s/]+/.test(value)) {
415
- throw new Error(
416
- `${OPENAI_COMPAT_ADAPTER_ID}: provider "${input.metadata.id}" needs adapter_config.baseURL, an http(s) URL (e.g. ${BASE_URLS.OPENAI}).`,
417
- );
418
- }
419
- return value;
453
+ if (typeof value === 'string' && /^https?:\/\/[^\s/]+/.test(value)) return undefined;
454
+ return {
455
+ path: '/adapter_config/baseURL',
456
+ message: `needs adapter_config.baseURL, an http(s) URL (e.g. ${BASE_URLS.OPENAI}).`,
457
+ };
420
458
  }
421
459
 
422
460
  /**
@@ -425,18 +463,25 @@ export function openAICompatBaseUrl(input: AdapterFactoryInput): string {
425
463
  * Throws, naming the key, on an API the adapter doesn't speak.
426
464
  */
427
465
  export function openAICompatApi(input: AdapterFactoryInput): OpenAICompatApi {
466
+ throwIf(input, apiProblem(input));
467
+ return apiOf(input);
468
+ }
469
+
470
+ function apiProblem(input: Registration): AdapterConfigProblem | undefined {
428
471
  const value = input.config?.api;
429
- if (value === undefined) {
430
- const baseURL = input.config?.baseURL;
431
- return defaultOpenAICompatApi(typeof baseURL === 'string' ? baseURL : '');
432
- }
433
- const api = OPENAI_COMPAT_APIS.find((known) => known === value);
434
- if (api === undefined) {
435
- throw new Error(
436
- `${OPENAI_COMPAT_ADAPTER_ID}: provider "${input.metadata.id}": adapter_config.api must be one of ${OPENAI_COMPAT_APIS.join(', ')}.`,
437
- );
438
- }
439
- return api;
472
+ if (value === undefined || OPENAI_COMPAT_APIS.some((known) => known === value)) return undefined;
473
+ return {
474
+ path: '/adapter_config/api',
475
+ message: `adapter_config.api must be one of ${OPENAI_COMPAT_APIS.join(', ')}.`,
476
+ };
477
+ }
478
+
479
+ /** The registration's API; its base URL's default when `api` is absent or not one the adapter speaks. */
480
+ function apiOf(input: Registration): OpenAICompatApi {
481
+ const api = OPENAI_COMPAT_APIS.find((known) => known === input.config?.api);
482
+ if (api !== undefined) return api;
483
+ const baseURL = input.config?.baseURL;
484
+ return defaultOpenAICompatApi(typeof baseURL === 'string' ? baseURL : '');
440
485
  }
441
486
 
442
487
  /**
@@ -459,12 +504,22 @@ const UNSAFE_FIELDS = new Set(['__proto__', 'constructor', 'prototype']);
459
504
  export function openAICompatExtraBody(
460
505
  input: AdapterFactoryInput,
461
506
  ): Readonly<Record<string, unknown>> | undefined {
462
- const fail = (problem: string): never => {
463
- throw new Error(`${OPENAI_COMPAT_ADAPTER_ID}: provider "${input.metadata.id}": ${problem}`);
464
- };
507
+ const { body, problems } = readExtraBody(input);
508
+ throwIf(input, problems[0]);
509
+ return body;
510
+ }
511
+
512
+ /** A registration's extra request fields, and what's wrong with them (`openAICompatExtraBody`). */
513
+ function readExtraBody(input: Registration): {
514
+ readonly body?: Record<string, unknown>;
515
+ readonly problems: readonly AdapterConfigProblem[];
516
+ } {
517
+ const problems: AdapterConfigProblem[] = [];
518
+ const at = (path: string, problem: string) => problems.push({ path, message: problem });
465
519
  const config = input.config ?? {};
466
520
  if (Object.hasOwn(config, 'extraBody')) {
467
- fail(
521
+ at(
522
+ '/adapter_config/extraBody',
468
523
  `adapter_config takes extra request fields one per key, "${EXTRA_BODY_PREFIX}<field>" (dots nest), e.g. "${EXTRA_BODY_PREFIX}chat_template_kwargs.enable_thinking": false`,
469
524
  );
470
525
  }
@@ -473,11 +528,21 @@ export function openAICompatExtraBody(
473
528
  if (!key.startsWith(EXTRA_BODY_PREFIX)) continue;
474
529
  body ??= {};
475
530
  const problem = setField(body, key.slice(EXTRA_BODY_PREFIX.length).split('.'), value);
476
- if (problem !== undefined) fail(`adapter_config "${key}" ${problem}`);
531
+ if (problem !== undefined) at(pointerTo(key), `adapter_config "${key}" ${problem}`);
477
532
  }
478
- const problem = extraBodyProblem(body, openAICompatApi(input));
479
- if (problem !== undefined) fail(`adapter_config ${problem}`);
480
- return body;
533
+ const reserved = reservedIn(body, apiOf(input));
534
+ if (reserved.length > 0) {
535
+ at(
536
+ pointerTo(`${EXTRA_BODY_PREFIX}${reserved[0]}`),
537
+ `adapter_config ${reservedProblem(reserved)}`,
538
+ );
539
+ }
540
+ return { ...(body !== undefined && { body }), problems };
541
+ }
542
+
543
+ /** The JSON pointer to a flat `adapter_config` key (its dots stay in one token). */
544
+ function pointerTo(key: string): string {
545
+ return `/adapter_config/${key.replace(/~/g, '~0').replace(/\//g, '~1')}`;
481
546
  }
482
547
 
483
548
  /** Set `path` in `body` to `value`; what's wrong, if anything. */
@@ -509,11 +574,19 @@ function extraBodyProblem(value: unknown, api: OpenAICompatApi): string | undefi
509
574
  if (value === null || typeof value !== 'object' || Array.isArray(value)) {
510
575
  return 'extraBody must be an object of request fields, e.g. { chat_template_kwargs: { enable_thinking: false } }';
511
576
  }
577
+ const reserved = reservedIn(value, api);
578
+ return reserved.length > 0 ? reservedProblem(reserved) : undefined;
579
+ }
580
+
581
+ /** The fields of `body` the adapter sets itself on `api`. */
582
+ function reservedIn(body: object | undefined, api: OpenAICompatApi): readonly string[] {
583
+ if (body === undefined) return [];
512
584
  const fields = api === 'responses' ? EXTRA_BODY_RESERVED_RESPONSES : EXTRA_BODY_RESERVED;
513
- const reserved = fields.filter((key) => Object.hasOwn(value, key));
514
- return reserved.length > 0
515
- ? `extraBody can't set ${reserved.join(', ')}: the adapter sets ${reserved.length === 1 ? 'it' : 'them'}`
516
- : undefined;
585
+ return fields.filter((key) => Object.hasOwn(body, key));
586
+ }
587
+
588
+ function reservedProblem(reserved: readonly string[]): string {
589
+ return `extraBody can't set ${reserved.join(', ')}: the adapter sets ${reserved.length === 1 ? 'it' : 'them'}`;
517
590
  }
518
591
 
519
592
  /**
package/src/responses.ts CHANGED
@@ -71,6 +71,21 @@ export interface ResponsesCall {
71
71
  readonly startedAt: number;
72
72
  }
73
73
 
74
+ /**
75
+ * A call's per-request options, on both paths: its abort signal, and its
76
+ * `traceparent` as a header when the caller set it (the provider's
77
+ * registration opted in). A header only: never in the body, and never logged.
78
+ */
79
+ export function requestOptions(
80
+ input: ModelCallInput,
81
+ ): { signal?: AbortSignal; headers?: Record<string, string> } | undefined {
82
+ if (input.abortSignal === undefined && input.traceparent === undefined) return undefined;
83
+ return {
84
+ ...(input.abortSignal !== undefined && { signal: input.abortSignal }),
85
+ ...(input.traceparent !== undefined && { headers: { traceparent: input.traceparent } }),
86
+ };
87
+ }
88
+
74
89
  export async function invokeResponses(call: ResponsesCall): Promise<ModelCallResult> {
75
90
  const { input } = call;
76
91
  const tools = input.tools?.map(toTool);
@@ -102,7 +117,7 @@ export async function invokeResponses(call: ResponsesCall): Promise<ModelCallRes
102
117
  store: false,
103
118
  stream: false,
104
119
  },
105
- input.abortSignal !== undefined ? { signal: input.abortSignal } : undefined,
120
+ requestOptions(input),
106
121
  ),
107
122
  );
108
123
  const response = counted.value;