@aeye/openrouter 0.4.1 → 0.7.0
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 +652 -556
- package/aeye-openrouter.md +39 -21
- package/dist/__integration__/openrouter.integration.test.js +6 -6
- package/dist/__integration__/openrouter.integration.test.js.map +1 -1
- package/dist/__tests__/batch.test.d.ts +5 -0
- package/dist/__tests__/batch.test.d.ts.map +1 -0
- package/dist/__tests__/batch.test.js +41 -0
- package/dist/__tests__/batch.test.js.map +1 -0
- package/dist/__tests__/features.test.d.ts +5 -0
- package/dist/__tests__/features.test.d.ts.map +1 -0
- package/dist/__tests__/features.test.js +206 -0
- package/dist/__tests__/features.test.js.map +1 -0
- package/dist/__tests__/openrouter.test.js +38 -1
- package/dist/__tests__/openrouter.test.js.map +1 -1
- package/dist/__tests__/rerank-decide.test.d.ts +5 -0
- package/dist/__tests__/rerank-decide.test.d.ts.map +1 -0
- package/dist/__tests__/rerank-decide.test.js +75 -0
- package/dist/__tests__/rerank-decide.test.js.map +1 -0
- package/dist/__tests__/schema-rejection.test.d.ts +6 -0
- package/dist/__tests__/schema-rejection.test.d.ts.map +1 -0
- package/dist/__tests__/schema-rejection.test.js +39 -0
- package/dist/__tests__/schema-rejection.test.js.map +1 -0
- package/dist/openrouter.d.ts +100 -41
- package/dist/openrouter.d.ts.map +1 -1
- package/dist/openrouter.js +390 -211
- package/dist/openrouter.js.map +1 -1
- package/dist/source.d.ts +9 -4
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +45 -28
- package/dist/source.js.map +1 -1
- package/dist/types.d.ts +244 -81
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -109,6 +109,27 @@ describe('OpenRouterProvider strict structured output enforcement', () => {
|
|
|
109
109
|
expect(body.provider?.allow_fallbacks).toBe(false);
|
|
110
110
|
expect(body.provider?.order).toEqual(['openai']);
|
|
111
111
|
});
|
|
112
|
+
it('mentions JSON once when a response format is set and the messages never do', async () => {
|
|
113
|
+
const provider = new OpenRouterProvider({ apiKey: 'test-key' });
|
|
114
|
+
const silent = await buildBody(provider, strictRequest);
|
|
115
|
+
expect(silent.messages[0]).toEqual({ role: 'system', content: 'Respond in JSON.' });
|
|
116
|
+
const said = await buildBody(provider, { ...strictRequest, messages: [{ role: 'user', content: 'Return the query as JSON' }] });
|
|
117
|
+
expect(said.messages).toHaveLength(1);
|
|
118
|
+
});
|
|
119
|
+
it('sends the Anthropic structured-outputs flag only with a strict tool', async () => {
|
|
120
|
+
const haiku = { ...gpt4o, id: 'anthropic/claude-haiku-4.5', capabilities: new Set(['chat', 'tools', 'toolsStrict']) };
|
|
121
|
+
const executor = new OpenRouterProvider({ apiKey: 'test-key' }).createExecutor();
|
|
122
|
+
const tool = (strict) => ({
|
|
123
|
+
messages: [{ role: 'user', content: 'Call it' }],
|
|
124
|
+
tools: [{ name: 'record', parameters: z.object({ query: z.string() }), strict }],
|
|
125
|
+
});
|
|
126
|
+
await executor(tool(true), { ...ctxDefault, metadata: { model: haiku } }, { model: haiku.id });
|
|
127
|
+
await executor(tool(false), { ...ctxDefault, metadata: { model: haiku } }, { model: haiku.id });
|
|
128
|
+
const [[strictBody, strictOptions], [, looseOptions]] = mockOpenAI.chat.completions.create.mock.calls;
|
|
129
|
+
expect(strictBody.tools[0].function.strict).toBe(true);
|
|
130
|
+
expect(strictOptions.headers).toEqual({ 'x-anthropic-beta': 'structured-outputs-2025-11-13' });
|
|
131
|
+
expect(looseOptions.headers).toBeUndefined();
|
|
132
|
+
});
|
|
112
133
|
it('leaves require_parameters undefined for a non-strict request with unrelated provider config', async () => {
|
|
113
134
|
const config = {
|
|
114
135
|
apiKey: 'test-key',
|
|
@@ -220,7 +241,7 @@ describe('OpenRouterProvider tool schema dialects', () => {
|
|
|
220
241
|
// observable proof of which dialect was chosen.
|
|
221
242
|
expect(request.tools[0].descriptor).toBe('google-strict');
|
|
222
243
|
});
|
|
223
|
-
it('REGRESSION:
|
|
244
|
+
it('REGRESSION: an any-typed google tool argument is an empty schema, not a recursive $defs/Any', async () => {
|
|
224
245
|
const request = {
|
|
225
246
|
messages: [{ role: 'user', content: 'Declare it' }],
|
|
226
247
|
tools: [{ ...signatureTool }],
|
|
@@ -239,6 +260,22 @@ describe('OpenRouterProvider tool schema dialects', () => {
|
|
|
239
260
|
expect(parameters.properties.signature.additionalProperties).toEqual({});
|
|
240
261
|
expect(parameters.properties.signature.properties.name.type).toBe('string');
|
|
241
262
|
});
|
|
263
|
+
it('REGRESSION: a bare google/* model id still gets the google dialect', async () => {
|
|
264
|
+
// Without a full ModelInfo there is no strict capability to go on, but the
|
|
265
|
+
// dialect still applies: LENIENT's recursive $defs/Any is a ref loop
|
|
266
|
+
// through required values, which Gemini rejects with a 400.
|
|
267
|
+
const request = {
|
|
268
|
+
messages: [{ role: 'user', content: 'Declare it' }],
|
|
269
|
+
tools: [{ ...signatureTool }],
|
|
270
|
+
toolChoice: 'required',
|
|
271
|
+
};
|
|
272
|
+
const provider = new OpenRouterProvider({ apiKey: 'test-key' });
|
|
273
|
+
await provider.createExecutor()(request, { ai: AI.with().providers({}).create({}), metadata: {} }, { model: gemini3.id });
|
|
274
|
+
const calls = mockOpenAI.chat.completions.create.mock.calls;
|
|
275
|
+
const parameters = calls[calls.length - 1][0].tools[0].function.parameters;
|
|
276
|
+
expect(request.tools[0].descriptor).toBe('google-non-strict');
|
|
277
|
+
expect(keywordsIn(parameters).has('$defs')).toBe(false);
|
|
278
|
+
});
|
|
242
279
|
it('still resolves the OpenAI dialect for an openai/* model', async () => {
|
|
243
280
|
const request = {
|
|
244
281
|
messages: [{ role: 'user', content: 'Declare it' }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.test.js","sourceRoot":"","sources":["../../src/__tests__/openrouter.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openrouter.test.js","sourceRoot":"","sources":["../../src/__tests__/openrouter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerank-decide.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/rerank-decide.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter rerank and System One decisions.
|
|
3
|
+
*/
|
|
4
|
+
import { AI } from '@aeye/ai';
|
|
5
|
+
import { OpenRouterProvider } from '../openrouter';
|
|
6
|
+
const mockPost = jest.fn();
|
|
7
|
+
jest.mock('openai', () => jest.fn().mockImplementation(() => ({ post: mockPost, baseURL: 'https://openrouter.ai/api/v1' })));
|
|
8
|
+
const ctx = { ai: AI.with().providers({}).create({}), metadata: {} };
|
|
9
|
+
const provider = new OpenRouterProvider({ apiKey: 'k' });
|
|
10
|
+
beforeEach(() => jest.clearAllMocks());
|
|
11
|
+
describe('rerank', () => {
|
|
12
|
+
it('orders documents by relevance score', async () => {
|
|
13
|
+
mockPost.mockResolvedValue({ model: 'rerank-v3.5', results: [{ index: 1, relevance_score: 0.9 }, { index: 0, relevance_score: 0.1 }], usage: { search_units: 1, cost: 0.001 } });
|
|
14
|
+
const response = await provider.rerank({ query: 'capital', documents: ['Berlin', 'Paris'], topN: 2 }, ctx);
|
|
15
|
+
expect(mockPost).toHaveBeenCalledWith('/rerank', expect.objectContaining({ body: { model: 'cohere/rerank-v3.5', query: 'capital', documents: ['Berlin', 'Paris'], top_n: 2 } }));
|
|
16
|
+
expect(response.results).toEqual([{ index: 1, score: 0.9 }, { index: 0, score: 0.1 }]);
|
|
17
|
+
expect(response.usage).toEqual({ cost: 0.001 });
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('decide', () => {
|
|
21
|
+
it('asks System One questions at the alpha endpoint', async () => {
|
|
22
|
+
mockPost.mockResolvedValue({
|
|
23
|
+
model: 'typesafe/jev-1.14-20261014',
|
|
24
|
+
answers: {
|
|
25
|
+
billing: { type: 'noul', noul: 0.95 },
|
|
26
|
+
team: { type: 'choice', choice: 'payments', probabilities: { payments: 0.9, web: 0.1 }, confidence: 0.85 },
|
|
27
|
+
urgency: { type: 'score', score: 1.9, legend: { 0: 'Later', 1: 'Soon', 2: 'Now' }, probabilities: { 2: 0.9, 0: 0, 1: 0.1 }, confidence: 0.8 },
|
|
28
|
+
},
|
|
29
|
+
usage: { input_tokens: 421, output_tokens: 70, cost: 0.00002 },
|
|
30
|
+
});
|
|
31
|
+
const response = await provider.decide({
|
|
32
|
+
input: 'Charged twice.',
|
|
33
|
+
questions: {
|
|
34
|
+
billing: { type: 'predicate', instructions: 'Billing problem?' },
|
|
35
|
+
team: { type: 'choice', instructions: 'Which team?', choices: { payments: 'Charges', web: 'Bugs' } },
|
|
36
|
+
urgency: { type: 'score', instructions: 'How urgent?', levels: ['Later', 'Soon', 'Now'] },
|
|
37
|
+
},
|
|
38
|
+
}, ctx);
|
|
39
|
+
const [url, { body }] = mockPost.mock.calls[0];
|
|
40
|
+
expect(url).toBe('https://openrouter.ai/api/alpha/decisions');
|
|
41
|
+
expect(body).toEqual({
|
|
42
|
+
model: 'typesafe/jev-1.14',
|
|
43
|
+
state: 'Charged twice.',
|
|
44
|
+
questions: {
|
|
45
|
+
billing: { type: 'noul', instructions: 'Billing problem?' },
|
|
46
|
+
team: { type: 'choice', instructions: 'Which team?', criteria: { payments: 'Charges', web: 'Bugs' } },
|
|
47
|
+
urgency: { type: 'score', instructions: 'How urgent?', criteria: ['Later', 'Soon', 'Now'] },
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
expect(response.answers).toEqual({
|
|
51
|
+
billing: { type: 'predicate', probability: 0.95 },
|
|
52
|
+
team: { type: 'choice', choice: 'payments', probabilities: { payments: 0.9, web: 0.1 }, confidence: 0.85 },
|
|
53
|
+
urgency: { type: 'score', score: 1.9, probabilities: [0, 0.1, 0.9], confidence: 0.8 },
|
|
54
|
+
});
|
|
55
|
+
expect(response.usage).toEqual({ text: { input: 421, output: 70 }, cost: 0.00002 });
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('hooks', () => {
|
|
59
|
+
it('runs the rerank and decide hooks around the calls', async () => {
|
|
60
|
+
const calls = [];
|
|
61
|
+
const hooked = new OpenRouterProvider({
|
|
62
|
+
apiKey: 'k',
|
|
63
|
+
hooks: {
|
|
64
|
+
rerank: { beforeRequest: (request, params) => { calls.push(`rerank ${params.model}`); }, afterRequest: (request, params, response) => { calls.push(`reranked ${response.results.length}`); } },
|
|
65
|
+
decide: { beforeRequest: (request, params) => { calls.push(`decide ${'state' in params ? 'system-one' : 'openai'}`); } },
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
mockPost.mockResolvedValueOnce({ model: 'rerank-v3.5', results: [{ index: 0, relevance_score: 0.5 }] });
|
|
69
|
+
mockPost.mockResolvedValueOnce({ model: 'jev', answers: {}, usage: { input_tokens: 1, output_tokens: 0 } });
|
|
70
|
+
await hooked.rerank({ query: 'q', documents: ['d'] }, ctx);
|
|
71
|
+
await hooked.decide({ input: 'x', questions: {} }, ctx);
|
|
72
|
+
expect(calls).toEqual(['rerank cohere/rerank-v3.5', 'reranked 1', 'decide system-one']);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=rerank-decide.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerank-decide.test.js","sourceRoot":"","sources":["../../src/__tests__/rerank-decide.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-rejection.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/schema-rejection.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter reports an upstream schema rejection as "Provider returned
|
|
3
|
+
* error", with the upstream's message in `metadata.raw`.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { AI } from '@aeye/ai';
|
|
7
|
+
import { SchemaRejectedError } from '@aeye/core';
|
|
8
|
+
import { OpenRouterProvider } from '../openrouter';
|
|
9
|
+
const mockCreate = jest.fn();
|
|
10
|
+
jest.mock('openai', () => jest.fn().mockImplementation(() => ({ chat: { completions: { create: mockCreate } } })));
|
|
11
|
+
const ctx = { ai: AI.with().providers({}).create({}), metadata: {} };
|
|
12
|
+
/** An error shaped like the SDK's APIError for an upstream failure. */
|
|
13
|
+
function upstreamError(raw) {
|
|
14
|
+
return Object.assign(new Error('400 Provider returned error'), {
|
|
15
|
+
status: 400,
|
|
16
|
+
error: { message: 'Provider returned error', code: 400, metadata: { raw, provider_name: 'Google' } },
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async function rejection(error) {
|
|
20
|
+
mockCreate.mockRejectedValue(error);
|
|
21
|
+
const request = {
|
|
22
|
+
messages: [{ role: 'user', content: 'Answer' }],
|
|
23
|
+
responseFormat: { type: z.object({ value: z.number() }), strict: 1 },
|
|
24
|
+
};
|
|
25
|
+
return new OpenRouterProvider({ apiKey: 'test' }).createExecutor()(request, ctx, { model: 'google/gemini-2.5-flash' })
|
|
26
|
+
.then(() => undefined, (e) => e);
|
|
27
|
+
}
|
|
28
|
+
describe('OpenRouter schema rejections', () => {
|
|
29
|
+
it('reads the upstream message', async () => {
|
|
30
|
+
const error = await rejection(upstreamError('{"error":{"message":"Invalid JSON payload received. Unknown name \\"additionalProperties\\" at \'generation_config.response_schema\'"}}'));
|
|
31
|
+
expect(error).toBeInstanceOf(SchemaRejectedError);
|
|
32
|
+
expect(error).toMatchObject({ target: { kind: 'output' } });
|
|
33
|
+
});
|
|
34
|
+
it('leaves other upstream errors alone', async () => {
|
|
35
|
+
const original = upstreamError('{"error":{"message":"Model is overloaded"}}');
|
|
36
|
+
expect(await rejection(original)).toBe(original);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=schema-rejection.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-rejection.test.js","sourceRoot":"","sources":["../../src/__tests__/schema-rejection.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAqB,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAgB,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnH,MAAM,GAAG,GAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAEnF,uEAAuE;AACvE,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,EAAE;QAC7D,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;KACrG,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAY;IACnC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAY;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;KACrE,CAAC;IACF,OAAO,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;SACnH,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,yIAAyI,CAAC,CAAC,CAAC;QACxL,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,6CAA6C,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/openrouter.d.ts
CHANGED
|
@@ -14,15 +14,16 @@
|
|
|
14
14
|
* `defaultParams.providers.requireParameters` explicitly (`false` disables, `true`
|
|
15
15
|
* forces regardless of strictness). See {@link OpenRouterConfig.defaultParams}.
|
|
16
16
|
*/
|
|
17
|
-
import type { Message, ModelInfo, Provider } from '@aeye/ai';
|
|
18
|
-
import { type Chunk, type DescriptorFamily, type Request, type Response } from '@aeye/core';
|
|
19
|
-
import { OpenAIConfig, OpenAIProvider } from '@aeye/openai';
|
|
17
|
+
import type { BatchJob, Message, ModelInfo, Provider } from '@aeye/ai';
|
|
18
|
+
import { type Chunk, type DescriptorFamily, type Request, type Response, type SchemaRejectedError } from '@aeye/core';
|
|
19
|
+
import { type BatchSubmission, OpenAIConfig, OpenAIProvider, type OperationRun } from '@aeye/openai';
|
|
20
20
|
import OpenAI from 'openai';
|
|
21
|
-
import { OpenRouterChatChunk, OpenRouterChatRequest, OpenRouterChatResponse, OpenRouterModel, OpenRouterRequestMessage } from './types';
|
|
21
|
+
import type { OpenRouterChatChunk, OpenRouterChatRequest, OpenRouterChatResponse, OpenRouterContentPart, OpenRouterMetrics, OpenRouterModel, OpenRouterPlugin, OpenRouterProviderPreferences, OpenRouterRequestMessage } from './types';
|
|
22
22
|
/**
|
|
23
|
-
* OpenRouter provider configuration
|
|
23
|
+
* OpenRouter provider configuration. Requests always go through chat
|
|
24
|
+
* completions, where OpenRouter serves routing, plugins, and server tools.
|
|
24
25
|
*/
|
|
25
|
-
export interface OpenRouterConfig extends OpenAIConfig {
|
|
26
|
+
export interface OpenRouterConfig extends Omit<OpenAIConfig, 'api'> {
|
|
26
27
|
defaultParams?: {
|
|
27
28
|
siteUrl?: string;
|
|
28
29
|
appName?: string;
|
|
@@ -42,34 +43,46 @@ export interface OpenRouterConfig extends OpenAIConfig {
|
|
|
42
43
|
* Non-strict requests are unaffected unless this is explicitly set.
|
|
43
44
|
*/
|
|
44
45
|
requireParameters?: boolean;
|
|
45
|
-
dataCollection?: '
|
|
46
|
+
dataCollection?: OpenRouterProviderPreferences['data_collection'];
|
|
46
47
|
zdr?: boolean;
|
|
48
|
+
enforceDistillableText?: boolean;
|
|
47
49
|
only?: string[];
|
|
48
50
|
ignore?: string[];
|
|
49
|
-
quantizations?:
|
|
50
|
-
sort?: '
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
image?: number;
|
|
55
|
-
};
|
|
51
|
+
quantizations?: OpenRouterProviderPreferences['quantizations'];
|
|
52
|
+
sort?: OpenRouterProviderPreferences['sort'];
|
|
53
|
+
preferredMinThroughput?: number;
|
|
54
|
+
preferredMaxLatency?: number;
|
|
55
|
+
maxPrice?: OpenRouterProviderPreferences['max_price'];
|
|
56
56
|
};
|
|
57
|
+
fallbackModels?: string[];
|
|
58
|
+
plugins?: OpenRouterPlugin[];
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated OpenRouter replaced transforms with plugins; `middle-out`
|
|
61
|
+
* is sent as the `context-compression` plugin.
|
|
62
|
+
*/
|
|
57
63
|
transforms?: string[];
|
|
58
64
|
};
|
|
59
65
|
}
|
|
60
66
|
/**
|
|
61
67
|
* Convert OpenRouter model to ModelInfo with full details
|
|
62
68
|
*/
|
|
63
|
-
export declare function convertOpenRouterModel(model: OpenRouterModel, zdrModelIds: Set<string>, metrics?:
|
|
64
|
-
latency?: number;
|
|
65
|
-
throughput?: number;
|
|
66
|
-
uptime?: number;
|
|
67
|
-
} | null): ModelInfo;
|
|
69
|
+
export declare function convertOpenRouterModel(model: OpenRouterModel, zdrModelIds: Set<string>, metrics?: OpenRouterMetrics | null): ModelInfo;
|
|
68
70
|
/**
|
|
69
71
|
* OpenRouter provider implementation extending base OpenAI-compatible provider
|
|
70
72
|
*/
|
|
71
73
|
export declare class OpenRouterProvider extends OpenAIProvider<OpenRouterConfig> implements Provider<OpenRouterConfig> {
|
|
72
74
|
readonly name = "openrouter";
|
|
75
|
+
protected readonly defaults: {
|
|
76
|
+
chat?: import("@aeye/core").ModelInput;
|
|
77
|
+
imageGenerate?: import("@aeye/core").ModelInput;
|
|
78
|
+
imageEdit?: import("@aeye/core").ModelInput;
|
|
79
|
+
imageAnalyze?: import("@aeye/core").ModelInput;
|
|
80
|
+
transcription?: import("@aeye/core").ModelInput;
|
|
81
|
+
speech?: import("@aeye/core").ModelInput;
|
|
82
|
+
embedding?: import("@aeye/core").ModelInput;
|
|
83
|
+
decision?: import("@aeye/core").ModelInput;
|
|
84
|
+
rerank?: import("@aeye/core").ModelInput;
|
|
85
|
+
};
|
|
73
86
|
/**
|
|
74
87
|
* OpenRouter is a router, not a model host: it speaks an OpenAI-shaped API
|
|
75
88
|
* but forwards each request to the upstream provider that actually serves
|
|
@@ -88,56 +101,102 @@ export declare class OpenRouterProvider extends OpenAIProvider<OpenRouterConfig>
|
|
|
88
101
|
* why structured output looked family-aware while tools were not.
|
|
89
102
|
*/
|
|
90
103
|
protected supportedStrictFamilies: ReadonlySet<DescriptorFamily>;
|
|
104
|
+
private readonly reasoningOf;
|
|
91
105
|
protected createClient(config: OpenRouterConfig): OpenAI;
|
|
92
106
|
protected convertModel(model: OpenAI.Model): ModelInfo;
|
|
93
107
|
/**
|
|
94
|
-
*
|
|
108
|
+
* OpenRouter serves hosted tools and reasoning options through chat
|
|
109
|
+
* completions, so the Responses API is never needed.
|
|
95
110
|
*/
|
|
96
|
-
protected
|
|
111
|
+
protected usesResponses(): boolean;
|
|
97
112
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
|
|
113
|
+
* OpenRouter doesn't honor `allowed_tools` (models still call the others,
|
|
114
|
+
* and some upstreams reject it), so only the allowed tools are sent.
|
|
115
|
+
*/
|
|
116
|
+
protected buildChatParams(request: Request, run: OperationRun<OpenRouterConfig>, streaming: boolean): Promise<OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming>;
|
|
117
|
+
/**
|
|
118
|
+
* OpenRouter reports an upstream's rejection as "Provider returned error",
|
|
119
|
+
* with the upstream's own message in `metadata.raw`.
|
|
120
|
+
*/
|
|
121
|
+
protected rejectedSchema(request: Request, error: Error): SchemaRejectedError | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* OpenRouter strips `strict` from tools bound for Anthropic unless the
|
|
124
|
+
* request carries Anthropic's structured-outputs beta flag, so a strict tool
|
|
125
|
+
* would silently go unenforced (openrouter.ai/docs/guides/routing/provider-selection,
|
|
126
|
+
* read 2026-11-04). Other upstreams ignore the header.
|
|
127
|
+
*/
|
|
128
|
+
protected chatHeaders(params: OpenAI.Chat.ChatCompletionCreateParams): Record<string, string> | undefined;
|
|
129
|
+
/**
|
|
130
|
+
* Augment chat request with OpenRouter-specific parameters
|
|
101
131
|
*/
|
|
132
|
+
protected augmentChatRequest(params: OpenRouterChatRequest, request: Request, config: OpenRouterConfig): void;
|
|
102
133
|
protected augmentChatResponse(expected: OpenRouterChatResponse, response: Response, config: OpenRouterConfig): void;
|
|
103
134
|
protected augmentChatChunk(expected: OpenRouterChatChunk, chunk: Chunk, config: OpenRouterConfig): void;
|
|
104
|
-
|
|
135
|
+
/**
|
|
136
|
+
* OpenRouter marks cache breakpoints Anthropic-style and translates them
|
|
137
|
+
* for each upstream provider.
|
|
138
|
+
*/
|
|
139
|
+
protected augmentChatContent(chatContent: OpenRouterContentPart): void;
|
|
140
|
+
protected augmentChatMessage(chatMessage: OpenAI.Chat.ChatCompletionMessageParam, message: Message): void;
|
|
141
|
+
/**
|
|
142
|
+
* Assistant messages carry their reasoning back on the same message, which
|
|
143
|
+
* OpenRouter relays with the turn's text and tool calls, once even when a
|
|
144
|
+
* message was split into parts.
|
|
145
|
+
*/
|
|
105
146
|
protected convertMessages(request: Request, config: OpenRouterConfig): Promise<OpenRouterRequestMessage[]>;
|
|
106
147
|
/**
|
|
107
|
-
*
|
|
148
|
+
* Produce images through chat: image models on OpenRouter answer with
|
|
149
|
+
* images when asked for the image modality. Runs through the chat hooks.
|
|
108
150
|
*/
|
|
109
|
-
|
|
151
|
+
private chatImages;
|
|
152
|
+
generateImage: Provider['generateImage'];
|
|
153
|
+
editImage: Provider['editImage'];
|
|
110
154
|
/**
|
|
111
|
-
*
|
|
155
|
+
* Image streaming is not offered; image requests fall back to the
|
|
156
|
+
* non-streaming methods.
|
|
112
157
|
*/
|
|
113
158
|
generateImageStream: undefined;
|
|
159
|
+
editImageStream: undefined;
|
|
114
160
|
/**
|
|
115
|
-
*
|
|
161
|
+
* Transcription streaming is not offered; transcription falls back to
|
|
162
|
+
* the non-streaming method.
|
|
116
163
|
*/
|
|
117
|
-
|
|
164
|
+
transcribeStream: undefined;
|
|
118
165
|
/**
|
|
119
|
-
*
|
|
166
|
+
* Order documents by relevance to a query.
|
|
167
|
+
*
|
|
168
|
+
* @param request Rerank request parameters
|
|
169
|
+
* @param ctx Context object
|
|
170
|
+
* @param config Optional configuration override
|
|
171
|
+
* @returns Documents by relevance, most relevant first
|
|
120
172
|
*/
|
|
121
|
-
|
|
173
|
+
rerank: Provider['rerank'];
|
|
122
174
|
/**
|
|
123
|
-
*
|
|
175
|
+
* Typed answers about an input, from System One models such as Jev and
|
|
176
|
+
* Kev or other decision models. A conversation goes in as chat messages.
|
|
177
|
+
* Decisions are an alpha endpoint, outside the versioned API.
|
|
178
|
+
*
|
|
179
|
+
* @param request Decision request parameters
|
|
180
|
+
* @param ctx Context object
|
|
181
|
+
* @param config Optional configuration override
|
|
182
|
+
* @returns Answers by question name
|
|
124
183
|
*/
|
|
125
|
-
|
|
184
|
+
decide: Provider['decide'];
|
|
126
185
|
/**
|
|
127
|
-
*
|
|
186
|
+
* Start a batch: OpenRouter takes the requests inline.
|
|
128
187
|
*/
|
|
129
|
-
|
|
188
|
+
protected createBatch(batch: BatchSubmission, run: OperationRun<OpenRouterConfig>): Promise<BatchJob>;
|
|
130
189
|
/**
|
|
131
|
-
* OpenRouter
|
|
190
|
+
* Read a batch: OpenRouter returns the results inline once it completes.
|
|
132
191
|
*/
|
|
133
|
-
|
|
192
|
+
protected retrieveBatch(job: BatchJob, run: OperationRun<OpenRouterConfig>): Promise<BatchJob>;
|
|
134
193
|
/**
|
|
135
|
-
*
|
|
194
|
+
* A batch as @aeye reports it.
|
|
136
195
|
*/
|
|
137
|
-
|
|
196
|
+
private toBatchJob;
|
|
138
197
|
/**
|
|
139
198
|
* Override listModels to use OpenRouter's model API with ZDR support
|
|
140
199
|
*/
|
|
141
|
-
listModels(config
|
|
200
|
+
listModels(config?: OpenRouterConfig): Promise<ModelInfo[]>;
|
|
142
201
|
}
|
|
143
202
|
//# sourceMappingURL=openrouter.d.ts.map
|
package/dist/openrouter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"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"}
|