@cedrugs/opencode-omniauth 1.2.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.
@@ -0,0 +1,26 @@
1
+ import type { OmniRouteConfig, OmniRouteModel, OmniRouteModelMetadata } from './types.js';
2
+ import type { ModelsDevIndex, ModelsDevModel } from './models-dev.js';
3
+ export interface OmniRouteCombo {
4
+ id: string;
5
+ name: string;
6
+ models: string[];
7
+ strategy: 'priority' | 'weighted' | 'round-robin' | 'random' | 'least-used' | 'cost-optimized';
8
+ config: {
9
+ maxRetries?: number;
10
+ retryDelayMs?: number;
11
+ concurrencyPerModel?: number;
12
+ };
13
+ createdAt: string;
14
+ updatedAt: string;
15
+ }
16
+ export interface OmniRouteCombosResponse {
17
+ combos: OmniRouteCombo[];
18
+ }
19
+ export declare function fetchComboData(config: OmniRouteConfig): Promise<Map<string, OmniRouteCombo> | null>;
20
+ export declare function clearComboCache(): void;
21
+ export declare function resolveUnderlyingModels(modelId: string, config: OmniRouteConfig): Promise<string[]>;
22
+ export declare function lookupModelInIndex(modelId: string, modelsDevIndex: ModelsDevIndex | null, config?: OmniRouteConfig): ModelsDevModel | null;
23
+ export declare function calculateModelCapabilities(model: OmniRouteModel, config: OmniRouteConfig, modelsDevIndex: ModelsDevIndex | null): Promise<OmniRouteModelMetadata>;
24
+ export declare function isComboModel(model: OmniRouteModel): boolean;
25
+ export declare function enrichComboModels(models: OmniRouteModel[], config: OmniRouteConfig, modelsDevIndex: ModelsDevIndex | null): Promise<OmniRouteModel[]>;
26
+ //# sourceMappingURL=omniroute-combos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omniroute-combos.d.ts","sourceRoot":"","sources":["../../src/omniroute-combos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAStE,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;IAC/F,MAAM,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE,cAAc,EAAE,CAAC;CACzB;AAUD,wBAAsB,cAAc,CACnC,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,CAyD7C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;AAED,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,MAAM,CAAC,EAAE,eAAe,GACtB,cAAc,GAAG,IAAI,CA0CvB;AAiBD,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,cAAc,GAAG,IAAI,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAiDjC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAW3D;AAED,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,cAAc,GAAG,IAAI,GACnC,OAAO,CAAC,cAAc,EAAE,CAAC,CA6B3B"}
@@ -0,0 +1,192 @@
1
+ import { modelsDevToMetadata, calculateLowestCommonCapabilities, resolveProviderAlias, normalizeModelKey, } from './models-dev.js';
2
+ import { REQUEST_TIMEOUT, log } from './constants.js';
3
+ let comboCache = null;
4
+ const COMBO_CACHE_TTL = 5 * 60 * 1000;
5
+ export async function fetchComboData(config) {
6
+ const baseUrl = config.baseUrl;
7
+ const apiKey = config.apiKey;
8
+ if (comboCache && Date.now() - comboCache.timestamp < COMBO_CACHE_TTL) {
9
+ log.info('[OmniRoute] Using cached combo data');
10
+ return comboCache.combos;
11
+ }
12
+ const combosUrl = `${baseUrl.replace(/\/v1\/?$/, '').replace(/\/$/, '')}/api/combos`;
13
+ log.info(`[OmniRoute] Fetching combo data from ${combosUrl}`);
14
+ const controller = new AbortController();
15
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
16
+ try {
17
+ const response = await fetch(combosUrl, {
18
+ method: 'GET',
19
+ headers: {
20
+ Authorization: `Bearer ${apiKey}`,
21
+ Accept: 'application/json',
22
+ },
23
+ signal: controller.signal,
24
+ });
25
+ if (!response.ok) {
26
+ log.warn(`[OmniRoute] Failed to fetch combo data: ${response.status}`);
27
+ return null;
28
+ }
29
+ const data = await response.json();
30
+ if (!data?.combos || !Array.isArray(data.combos)) {
31
+ log.warn('[OmniRoute] Invalid combo data structure');
32
+ return null;
33
+ }
34
+ const comboMap = new Map();
35
+ for (const combo of data.combos) {
36
+ if (combo?.name) {
37
+ comboMap.set(combo.name, combo);
38
+ }
39
+ }
40
+ comboCache = {
41
+ combos: comboMap,
42
+ timestamp: Date.now(),
43
+ };
44
+ log.info(`[OmniRoute] Successfully fetched ${comboMap.size} combos`);
45
+ return comboMap;
46
+ }
47
+ catch (error) {
48
+ log.warn('[OmniRoute] Error fetching combo data:', error);
49
+ return null;
50
+ }
51
+ finally {
52
+ clearTimeout(timeoutId);
53
+ }
54
+ }
55
+ export function clearComboCache() {
56
+ comboCache = null;
57
+ log.info('[OmniRoute] Combo cache cleared');
58
+ }
59
+ export async function resolveUnderlyingModels(modelId, config) {
60
+ const combos = await fetchComboData(config);
61
+ if (!combos) {
62
+ return [modelId];
63
+ }
64
+ const combo = combos.get(modelId);
65
+ if (combo) {
66
+ log.info(`[OmniRoute] Resolved combo "${modelId}" to ${combo.models.length} underlying models`);
67
+ return combo.models;
68
+ }
69
+ return [modelId];
70
+ }
71
+ export function lookupModelInIndex(modelId, modelsDevIndex, config) {
72
+ if (!modelsDevIndex)
73
+ return null;
74
+ const { providerKey, modelKey } = splitModelId(modelId);
75
+ const providerAlias = providerKey
76
+ ? resolveProviderAlias(providerKey, config)
77
+ : null;
78
+ const lookupKey = modelKey.toLowerCase();
79
+ const normalizedKey = normalizeModelKey(modelKey);
80
+ if (providerAlias) {
81
+ const providerExact = modelsDevIndex.exactByProvider.get(providerAlias)?.get(lookupKey);
82
+ if (providerExact)
83
+ return providerExact;
84
+ const providerNorm = modelsDevIndex.normalizedByProvider.get(providerAlias)?.get(normalizedKey);
85
+ if (providerNorm)
86
+ return providerNorm;
87
+ }
88
+ const globalExactList = modelsDevIndex.exactGlobal.get(lookupKey);
89
+ if (globalExactList?.length === 1) {
90
+ return globalExactList[0];
91
+ }
92
+ const globalNormList = modelsDevIndex.normalizedGlobal.get(normalizedKey);
93
+ if (globalNormList?.length === 1) {
94
+ return globalNormList[0];
95
+ }
96
+ if (globalExactList && globalExactList.length > 1 && providerAlias) {
97
+ const byProvider = globalExactList.find((m) => {
98
+ for (const [pKey, pMap] of modelsDevIndex.exactByProvider.entries()) {
99
+ if (pMap.get(lookupKey) === m && pKey === providerAlias) {
100
+ return true;
101
+ }
102
+ }
103
+ return false;
104
+ });
105
+ if (byProvider)
106
+ return byProvider;
107
+ }
108
+ return globalExactList?.[0] ?? globalNormList?.[0] ?? null;
109
+ }
110
+ function splitModelId(modelId) {
111
+ const trimmed = modelId.trim();
112
+ const withoutPrefix = trimmed.replace(/^omniroute\//, '');
113
+ const parts = withoutPrefix.split('/').filter((p) => p.trim() !== '');
114
+ if (parts.length >= 2) {
115
+ return {
116
+ providerKey: parts[0] ?? null,
117
+ modelKey: parts.slice(1).join('/'),
118
+ };
119
+ }
120
+ return { providerKey: null, modelKey: withoutPrefix };
121
+ }
122
+ export async function calculateModelCapabilities(model, config, modelsDevIndex) {
123
+ if (model.contextWindow !== undefined && model.maxTokens !== undefined) {
124
+ return {};
125
+ }
126
+ const underlyingModels = await resolveUnderlyingModels(model.id, config);
127
+ if (underlyingModels.length === 1 && underlyingModels[0] === model.id) {
128
+ const match = lookupModelInIndex(model.id, modelsDevIndex, config);
129
+ if (match) {
130
+ return modelsDevToMetadata(match);
131
+ }
132
+ return {};
133
+ }
134
+ log.info(`[OmniRoute] Calculating capabilities for combo "${model.id}" from ${underlyingModels.length} models`);
135
+ const resolvedModels = [];
136
+ const unresolvedModels = [];
137
+ for (const underlyingId of underlyingModels) {
138
+ const match = lookupModelInIndex(underlyingId, modelsDevIndex, config);
139
+ if (match) {
140
+ resolvedModels.push(match);
141
+ }
142
+ else {
143
+ unresolvedModels.push(underlyingId);
144
+ }
145
+ }
146
+ if (unresolvedModels.length > 0) {
147
+ log.warn(`[OmniRoute] Could not resolve ${unresolvedModels.length} underlying models for "${model.id}": ${unresolvedModels.join(', ')}`);
148
+ }
149
+ if (resolvedModels.length === 0) {
150
+ log.warn(`[OmniRoute] No models.dev matches found for combo "${model.id}"`);
151
+ return {};
152
+ }
153
+ log.info(`[OmniRoute] Resolved ${resolvedModels.length}/${underlyingModels.length} underlying models for "${model.id}"`);
154
+ const capabilities = calculateLowestCommonCapabilities(resolvedModels);
155
+ log.info(`[OmniRoute] Calculated capabilities for "${model.id}": context=${capabilities.contextWindow ?? 'N/A'}, maxTokens=${capabilities.maxTokens ?? 'N/A'}, vision=${capabilities.supportsVision ?? false}, tools=${capabilities.supportsTools ?? false}`);
156
+ return capabilities;
157
+ }
158
+ export function isComboModel(model) {
159
+ const record = model;
160
+ if (record.owned_by === 'combo') {
161
+ return true;
162
+ }
163
+ if (comboCache?.combos?.has(model.id)) {
164
+ return true;
165
+ }
166
+ return false;
167
+ }
168
+ export async function enrichComboModels(models, config, modelsDevIndex) {
169
+ const combos = await fetchComboData(config);
170
+ if (!combos) {
171
+ return models;
172
+ }
173
+ return Promise.all(models.map(async (model) => {
174
+ const isCombo = combos.has(model.id);
175
+ if (!isCombo) {
176
+ return model;
177
+ }
178
+ log.info(`[OmniRoute] Enriching combo model: ${model.id}`);
179
+ const capabilities = await calculateModelCapabilities(model, config, modelsDevIndex);
180
+ return {
181
+ ...model,
182
+ ...(capabilities.name !== undefined ? { name: capabilities.name } : {}),
183
+ ...(capabilities.contextWindow !== undefined ? { contextWindow: capabilities.contextWindow } : {}),
184
+ ...(capabilities.maxTokens !== undefined ? { maxTokens: capabilities.maxTokens } : {}),
185
+ ...(capabilities.supportsVision !== undefined ? { supportsVision: capabilities.supportsVision } : {}),
186
+ ...(capabilities.supportsTools !== undefined ? { supportsTools: capabilities.supportsTools } : {}),
187
+ ...(capabilities.supportsStreaming !== undefined ? { supportsStreaming: capabilities.supportsStreaming } : {}),
188
+ ...(capabilities.pricing !== undefined ? { pricing: { ...model.pricing, ...capabilities.pricing } } : {}),
189
+ };
190
+ }));
191
+ }
192
+ //# sourceMappingURL=omniroute-combos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omniroute-combos.js","sourceRoot":"","sources":["../../src/omniroute-combos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from '@opencode-ai/plugin';
2
+ export declare const OmniRouteAuthPlugin: Plugin;
3
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,qBAAqB,CAAC;AA+DzD,eAAO,MAAM,mBAAmB,EAAE,MA8BjC,CAAC"}