@vybestack/llxprt-code-core 0.8.0 → 0.9.0-nightly.260119.0f050754d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/src/auth/token-store.d.ts +57 -0
  2. package/dist/src/auth/token-store.js +137 -0
  3. package/dist/src/auth/token-store.js.map +1 -1
  4. package/dist/src/core/nonInteractiveToolExecutor.js +6 -1
  5. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  6. package/dist/src/index.d.ts +1 -0
  7. package/dist/src/index.js +3 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/models/hydration.d.ts +40 -0
  10. package/dist/src/models/hydration.js +148 -0
  11. package/dist/src/models/hydration.js.map +1 -0
  12. package/dist/src/models/index.d.ts +33 -0
  13. package/dist/src/models/index.js +46 -0
  14. package/dist/src/models/index.js.map +1 -0
  15. package/dist/src/models/profiles.d.ts +19 -0
  16. package/dist/src/models/profiles.js +83 -0
  17. package/dist/src/models/profiles.js.map +1 -0
  18. package/dist/src/models/provider-integration.d.ts +49 -0
  19. package/dist/src/models/provider-integration.js +162 -0
  20. package/dist/src/models/provider-integration.js.map +1 -0
  21. package/dist/src/models/registry.d.ts +137 -0
  22. package/dist/src/models/registry.js +321 -0
  23. package/dist/src/models/registry.js.map +1 -0
  24. package/dist/src/models/schema.d.ts +1173 -0
  25. package/dist/src/models/schema.js +166 -0
  26. package/dist/src/models/schema.js.map +1 -0
  27. package/dist/src/models/transformer.d.ts +21 -0
  28. package/dist/src/models/transformer.js +130 -0
  29. package/dist/src/models/transformer.js.map +1 -0
  30. package/dist/src/providers/IProviderManager.d.ts +7 -3
  31. package/dist/src/providers/ProviderManager.d.ts +2 -2
  32. package/dist/src/providers/ProviderManager.js +56 -1
  33. package/dist/src/providers/ProviderManager.js.map +1 -1
  34. package/dist/src/providers/anthropic/AnthropicProvider.js +15 -15
  35. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  36. package/dist/src/providers/gemini/GeminiProvider.js +27 -25
  37. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  38. package/dist/src/providers/openai/OpenAIProvider.js +15 -5
  39. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  40. package/dist/src/tools/diffOptions.d.ts +7 -3
  41. package/dist/src/tools/diffOptions.js.map +1 -1
  42. package/package.json +1 -1
@@ -46,6 +46,26 @@ export interface TokenStore {
46
46
  * @returns Bucket statistics if available, null otherwise
47
47
  */
48
48
  getBucketStats(provider: string, bucket: string): Promise<BucketStats | null>;
49
+ /**
50
+ * Acquire a refresh lock for a provider to prevent concurrent refreshes
51
+ * @param provider - The provider name
52
+ * @param options - Optional configuration for lock behavior
53
+ * - waitMs: Maximum time to wait for lock
54
+ * - staleMs: Threshold for considering a lock stale
55
+ * - bucket: Optional bucket name for multi-account support
56
+ * @returns true if lock was acquired, false otherwise
57
+ */
58
+ acquireRefreshLock(provider: string, options?: {
59
+ waitMs?: number;
60
+ staleMs?: number;
61
+ bucket?: string;
62
+ }): Promise<boolean>;
63
+ /**
64
+ * Release the refresh lock for a provider
65
+ * @param provider - The provider name
66
+ * @param bucket - Optional bucket name for multi-account support
67
+ */
68
+ releaseRefreshLock(provider: string, bucket?: string): Promise<void>;
49
69
  }
50
70
  /**
51
71
  * Implementation of multi-provider token storage
@@ -53,6 +73,8 @@ export interface TokenStore {
53
73
  */
54
74
  export declare class MultiProviderTokenStore implements TokenStore {
55
75
  private readonly basePath;
76
+ private readonly DEFAULT_LOCK_WAIT_MS;
77
+ private readonly DEFAULT_STALE_THRESHOLD_MS;
56
78
  constructor(basePath?: string);
57
79
  /**
58
80
  * Save an OAuth token for a specific provider
@@ -93,4 +115,39 @@ export declare class MultiProviderTokenStore implements TokenStore {
93
115
  * Rejects characters that could cause issues with file paths
94
116
  */
95
117
  private validateBucketName;
118
+ /**
119
+ * Acquire a refresh lock for a provider to prevent concurrent token refreshes
120
+ * Implements the lock mechanism required for issue #1159
121
+ *
122
+ * @param provider - The provider name
123
+ * @param options - Configuration for lock behavior
124
+ * - waitMs: Maximum time to wait for lock (default: 10s)
125
+ * - staleMs: Threshold for considering a lock stale (default: 30s)
126
+ * - bucket: Optional bucket name for multi-account support
127
+ * @returns true if lock was acquired, false otherwise
128
+ */
129
+ acquireRefreshLock(provider: string, options?: {
130
+ waitMs?: number;
131
+ staleMs?: number;
132
+ bucket?: string;
133
+ }): Promise<boolean>;
134
+ /**
135
+ * Release the refresh lock for a provider
136
+ *
137
+ * @param provider - The provider name
138
+ * @param bucket - Optional bucket name for multi-account support
139
+ */
140
+ releaseRefreshLock(provider: string, bucket?: string): Promise<void>;
141
+ /**
142
+ * Create a lock file with current process info
143
+ */
144
+ private createLock;
145
+ /**
146
+ * Break a stale lock by removing it
147
+ */
148
+ private breakLock;
149
+ /**
150
+ * Get the lock file path for a provider (with optional bucket support)
151
+ */
152
+ private getLockPath;
96
153
  }
@@ -13,6 +13,8 @@ import { OAuthTokenSchema, } from './types.js';
13
13
  */
14
14
  export class MultiProviderTokenStore {
15
15
  basePath;
16
+ DEFAULT_LOCK_WAIT_MS = 10000; // 10 seconds
17
+ DEFAULT_STALE_THRESHOLD_MS = 30000; // 30 seconds
16
18
  constructor(basePath) {
17
19
  this.basePath = basePath ?? join(homedir(), '.llxprt', 'oauth');
18
20
  }
@@ -223,5 +225,140 @@ export class MultiProviderTokenStore {
223
225
  throw new Error(`Invalid bucket name: "${bucket}". Bucket names cannot contain: : / \\ < > " | ? *`);
224
226
  }
225
227
  }
228
+ /**
229
+ * Acquire a refresh lock for a provider to prevent concurrent token refreshes
230
+ * Implements the lock mechanism required for issue #1159
231
+ *
232
+ * @param provider - The provider name
233
+ * @param options - Configuration for lock behavior
234
+ * - waitMs: Maximum time to wait for lock (default: 10s)
235
+ * - staleMs: Threshold for considering a lock stale (default: 30s)
236
+ * - bucket: Optional bucket name for multi-account support
237
+ * @returns true if lock was acquired, false otherwise
238
+ */
239
+ async acquireRefreshLock(provider, options) {
240
+ // Validate bucket name if provided
241
+ if (options?.bucket) {
242
+ this.validateBucketName(options.bucket);
243
+ }
244
+ const lockPath = this.getLockPath(provider, options?.bucket);
245
+ const waitMs = options?.waitMs ?? this.DEFAULT_LOCK_WAIT_MS;
246
+ const staleMs = options?.staleMs ?? this.DEFAULT_STALE_THRESHOLD_MS;
247
+ const startTime = Date.now();
248
+ // Ensure directory exists
249
+ await this.ensureDirectory();
250
+ while (Date.now() - startTime < waitMs) {
251
+ try {
252
+ // Try to read existing lock
253
+ const lockContent = await fs.readFile(lockPath, 'utf8');
254
+ const lockInfo = JSON.parse(lockContent);
255
+ const lockAge = Date.now() - lockInfo.timestamp;
256
+ // Check if lock is stale
257
+ if (lockAge > staleMs) {
258
+ // Lock is stale, break it and acquire
259
+ await this.breakLock(lockPath);
260
+ // Continue to next iteration to try creating lock
261
+ continue;
262
+ }
263
+ // Lock is recent, wait and retry
264
+ await new Promise((resolve) => setTimeout(resolve, 100));
265
+ }
266
+ catch (error) {
267
+ // Handle different error cases
268
+ if (error &&
269
+ typeof error === 'object' &&
270
+ 'code' in error &&
271
+ error.code === 'ENOENT') {
272
+ // Lock file doesn't exist, try to create it
273
+ const created = await this.createLock(lockPath);
274
+ if (created) {
275
+ return true;
276
+ }
277
+ // EEXIST race - another process created it first, continue waiting
278
+ continue;
279
+ }
280
+ // If JSON parse fails (corrupted lock), break it and retry
281
+ await this.breakLock(lockPath);
282
+ continue;
283
+ }
284
+ }
285
+ // Timeout waiting for lock
286
+ return false;
287
+ }
288
+ /**
289
+ * Release the refresh lock for a provider
290
+ *
291
+ * @param provider - The provider name
292
+ * @param bucket - Optional bucket name for multi-account support
293
+ */
294
+ async releaseRefreshLock(provider, bucket) {
295
+ // Validate bucket name if provided
296
+ if (bucket) {
297
+ this.validateBucketName(bucket);
298
+ }
299
+ const lockPath = this.getLockPath(provider, bucket);
300
+ try {
301
+ await fs.unlink(lockPath);
302
+ }
303
+ catch (error) {
304
+ // Ignore errors if lock doesn't exist
305
+ if (error &&
306
+ typeof error === 'object' &&
307
+ 'code' in error &&
308
+ error.code !== 'ENOENT') {
309
+ throw error;
310
+ }
311
+ }
312
+ }
313
+ /**
314
+ * Create a lock file with current process info
315
+ */
316
+ async createLock(lockPath) {
317
+ try {
318
+ const lockInfo = {
319
+ pid: process.pid,
320
+ timestamp: Date.now(),
321
+ };
322
+ await fs.writeFile(lockPath, JSON.stringify(lockInfo), {
323
+ flag: 'wx', // Exclusive write - fails if file exists
324
+ mode: 0o600,
325
+ });
326
+ return true;
327
+ }
328
+ catch (error) {
329
+ // Lock already exists, another process beat us to it
330
+ if (error &&
331
+ typeof error === 'object' &&
332
+ 'code' in error &&
333
+ error.code === 'EEXIST') {
334
+ return false;
335
+ }
336
+ throw error;
337
+ }
338
+ }
339
+ /**
340
+ * Break a stale lock by removing it
341
+ */
342
+ async breakLock(lockPath) {
343
+ try {
344
+ await fs.unlink(lockPath);
345
+ }
346
+ catch (error) {
347
+ // Ignore if already removed
348
+ if (error &&
349
+ typeof error === 'object' &&
350
+ 'code' in error &&
351
+ error.code !== 'ENOENT') {
352
+ throw error;
353
+ }
354
+ }
355
+ }
356
+ /**
357
+ * Get the lock file path for a provider (with optional bucket support)
358
+ */
359
+ getLockPath(provider, bucket) {
360
+ const bucketSuffix = bucket && bucket !== 'default' ? `-${bucket}` : '';
361
+ return join(this.basePath, `${provider}${bucketSuffix}-refresh.lock`);
362
+ }
226
363
  }
227
364
  //# sourceMappingURL=token-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
@@ -32,12 +32,14 @@ export async function executeToolCall(config, toolCallRequest, abortSignal) {
32
32
  const agentId = toolCallRequest.agentId ?? DEFAULT_AGENT_ID;
33
33
  toolCallRequest.agentId = agentId;
34
34
  const internalAbortController = new AbortController();
35
+ let parentAbortHandler = null;
35
36
  if (abortSignal) {
36
37
  if (abortSignal.aborted) {
37
38
  internalAbortController.abort();
38
39
  }
39
40
  else {
40
- abortSignal.addEventListener('abort', () => internalAbortController.abort(), { once: true });
41
+ parentAbortHandler = () => internalAbortController.abort();
42
+ abortSignal.addEventListener('abort', parentAbortHandler, { once: true });
41
43
  }
42
44
  }
43
45
  const schedulerConfig = await createSchedulerConfigForNonInteractive(config);
@@ -71,6 +73,9 @@ export async function executeToolCall(config, toolCallRequest, abortSignal) {
71
73
  return createErrorCompletedToolCall(toolCallRequest, e instanceof Error ? e : new Error(String(e)), ToolErrorType.UNHANDLED_EXCEPTION, Date.now() - startTime);
72
74
  }
73
75
  finally {
76
+ if (abortSignal && parentAbortHandler) {
77
+ abortSignal.removeEventListener('abort', parentAbortHandler);
78
+ }
74
79
  if (internalAbortController.signal.aborted) {
75
80
  scheduler.cancelAll();
76
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractiveToolExecutor.js","sourceRoot":"","sources":["../../../src/core/nonInteractiveToolExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nonInteractiveToolExecutor.js","sourceRoot":"","sources":["../../../src/core/nonInteractiveToolExecutor.ts"],"names":[],"mappings":"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"}
@@ -177,6 +177,7 @@ export type { DebugSettings, DebugOutputConfig } from './debug/index.js';
177
177
  export type { LogEntry as DebugLogEntry } from './debug/index.js';
178
178
  export { Storage } from './config/storage.js';
179
179
  export * from './config/models.js';
180
+ export * from './models/index.js';
180
181
  export { SubagentManager } from './config/subagentManager.js';
181
182
  export { SubagentOrchestrator } from './core/subagentOrchestrator.js';
182
183
  export type { SubagentConfig } from './config/types.js';
package/dist/src/index.js CHANGED
@@ -187,8 +187,10 @@ export { EmojiFilter } from './filters/EmojiFilter.js';
187
187
  export { ConfigurationManager, DebugLogger, FileOutput, } from './debug/index.js';
188
188
  // Export Storage
189
189
  export { Storage } from './config/storage.js';
190
- // Export models
190
+ // Export models (legacy constants)
191
191
  export * from './config/models.js';
192
+ // Export models registry (models.dev integration)
193
+ export * from './models/index.js';
192
194
  // --- Subagent Feature: PLAN-20250117-SUBAGENTCONFIG ---
193
195
  export { SubagentManager } from './config/subagentManager.js';
194
196
  export { SubagentOrchestrator } from './core/subagentOrchestrator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Model Hydration Utilities
8
+ *
9
+ * Enriches base IModel data with extended information from models.dev registry.
10
+ * Provides a unified path for all model-fetching flows.
11
+ */
12
+ import type { IModel } from '../providers/IModel.js';
13
+ import type { LlxprtModelCapabilities, LlxprtModelPricing, LlxprtModelLimits, LlxprtModelMetadata } from './schema.js';
14
+ /**
15
+ * Extended model data from models.dev hydration.
16
+ * All fields optional since hydration may fail or model may not exist in registry.
17
+ */
18
+ export interface ModelHydrationData {
19
+ capabilities?: LlxprtModelCapabilities;
20
+ pricing?: LlxprtModelPricing;
21
+ limits?: LlxprtModelLimits;
22
+ metadata?: LlxprtModelMetadata;
23
+ providerId?: string;
24
+ modelId?: string;
25
+ family?: string;
26
+ hydrated: boolean;
27
+ }
28
+ /**
29
+ * Model with optional hydration data from models.dev
30
+ */
31
+ export type HydratedModel = IModel & Partial<ModelHydrationData>;
32
+ export { getModelsDevProviderIds } from './provider-integration.js';
33
+ /**
34
+ * Hydrate a list of IModel with data from models.dev registry.
35
+ *
36
+ * @param models - Base models from provider.getModels()
37
+ * @param modelsDevProviderIds - The models.dev provider IDs to lookup (e.g., ["openrouter", "chutes"])
38
+ * @returns Models with hydration data where available
39
+ */
40
+ export declare function hydrateModelsWithRegistry(models: IModel[], modelsDevProviderIds: string[]): Promise<HydratedModel[]>;
@@ -0,0 +1,148 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { getModelRegistry } from './registry.js';
7
+ // Re-export for backward compatibility
8
+ export { getModelsDevProviderIds } from './provider-integration.js';
9
+ /**
10
+ * Hydrate a list of IModel with data from models.dev registry.
11
+ *
12
+ * @param models - Base models from provider.getModels()
13
+ * @param modelsDevProviderIds - The models.dev provider IDs to lookup (e.g., ["openrouter", "chutes"])
14
+ * @returns Models with hydration data where available
15
+ */
16
+ export async function hydrateModelsWithRegistry(models, modelsDevProviderIds) {
17
+ const registry = getModelRegistry();
18
+ // If registry not initialized or no provider IDs, return unhydrated
19
+ if (!registry.isInitialized() || modelsDevProviderIds.length === 0) {
20
+ return models.map((m) => ({ ...m, hydrated: false }));
21
+ }
22
+ // Collect all models from mapped provider IDs
23
+ const registryModels = [];
24
+ for (const providerId of modelsDevProviderIds) {
25
+ const providerModels = registry.getByProvider(providerId);
26
+ registryModels.push(...providerModels);
27
+ }
28
+ // Build lookup map: modelId -> LlxprtModel
29
+ // Index by multiple keys for flexible matching
30
+ //
31
+ // NOTE: Name-based indexing can cause collisions if multiple models share
32
+ // the same display name. This is acceptable because:
33
+ // 1. modelsDevProviderIds typically maps to a single provider
34
+ // 2. Multi-provider IDs (e.g., ['google', 'google-vertex']) are same-vendor
35
+ // 3. Primary lookup is by model.id; name is a fallback only
36
+ const registryMap = new Map();
37
+ for (const rm of registryModels) {
38
+ registryMap.set(rm.modelId, rm); // Short ID (e.g., "gpt-4o")
39
+ registryMap.set(rm.id, rm); // Full ID (e.g., "openai/gpt-4o")
40
+ registryMap.set(rm.name, rm); // Display name (fallback, may collide)
41
+ }
42
+ // Hydrate each model
43
+ return models.map((model) => {
44
+ // Try multiple matching strategies
45
+ const registryModel = registryMap.get(model.id) ||
46
+ registryMap.get(model.name) ||
47
+ // Try partial match for models with prefixes/suffixes
48
+ findPartialMatch(model.id, registryMap);
49
+ if (!registryModel) {
50
+ // Model not found in registry - return unhydrated
51
+ return { ...model, hydrated: false };
52
+ }
53
+ // Merge registry data
54
+ return {
55
+ ...model,
56
+ // Override context/output if registry has them
57
+ contextWindow: registryModel.contextWindow ?? model.contextWindow,
58
+ maxOutputTokens: registryModel.maxOutputTokens ?? model.maxOutputTokens,
59
+ // Add hydration data
60
+ capabilities: registryModel.capabilities,
61
+ pricing: registryModel.pricing,
62
+ limits: registryModel.limits,
63
+ metadata: registryModel.metadata,
64
+ providerId: registryModel.providerId,
65
+ modelId: registryModel.modelId,
66
+ family: registryModel.family,
67
+ hydrated: true,
68
+ };
69
+ });
70
+ }
71
+ /**
72
+ * Separators used for tokenizing model IDs
73
+ */
74
+ const MODEL_ID_SEPARATORS = /[-_./]/;
75
+ /**
76
+ * Minimum score threshold for a partial match to be considered valid.
77
+ * This prevents false positives from overly loose matching.
78
+ */
79
+ const MATCH_SCORE_THRESHOLD = 50;
80
+ /**
81
+ * Calculate match score between a model ID and a registry key.
82
+ * Higher scores indicate better matches.
83
+ *
84
+ * Scoring:
85
+ * - Exact match: 100
86
+ * - Exact prefix/suffix with separator: 80
87
+ * - Token overlap: proportional to matching tokens (max 60)
88
+ */
89
+ function calculateMatchScore(normalizedId, normalizedKey) {
90
+ // Exact match is best
91
+ if (normalizedId === normalizedKey) {
92
+ return 100;
93
+ }
94
+ // Check for exact prefix/suffix with separator
95
+ // e.g., "gpt-4o-2024" matches "gpt-4o" as a prefix
96
+ if (normalizedId.startsWith(normalizedKey)) {
97
+ const remainder = normalizedId.slice(normalizedKey.length);
98
+ if (remainder.length === 0 || MODEL_ID_SEPARATORS.test(remainder[0])) {
99
+ return 80;
100
+ }
101
+ }
102
+ if (normalizedKey.startsWith(normalizedId)) {
103
+ const remainder = normalizedKey.slice(normalizedId.length);
104
+ if (remainder.length === 0 || MODEL_ID_SEPARATORS.test(remainder[0])) {
105
+ return 80;
106
+ }
107
+ }
108
+ // Token-based matching
109
+ const idTokens = new Set(normalizedId.split(MODEL_ID_SEPARATORS).filter(Boolean));
110
+ const keyTokens = new Set(normalizedKey.split(MODEL_ID_SEPARATORS).filter(Boolean));
111
+ if (idTokens.size === 0 || keyTokens.size === 0) {
112
+ return 0;
113
+ }
114
+ // Count matching tokens
115
+ let matchingTokens = 0;
116
+ for (const token of idTokens) {
117
+ if (keyTokens.has(token)) {
118
+ matchingTokens++;
119
+ }
120
+ }
121
+ // Score based on proportion of matching tokens
122
+ const maxTokens = Math.max(idTokens.size, keyTokens.size);
123
+ const tokenScore = (matchingTokens / maxTokens) * 60;
124
+ return tokenScore;
125
+ }
126
+ /**
127
+ * Find the best partial match for a model ID in the registry map.
128
+ * Uses scoring to prevent false positives from overly loose matching.
129
+ */
130
+ function findPartialMatch(modelId, registryMap) {
131
+ const normalizedId = modelId.toLowerCase();
132
+ let bestMatch;
133
+ let bestScore = 0;
134
+ for (const [key, model] of registryMap) {
135
+ const normalizedKey = key.toLowerCase();
136
+ const score = calculateMatchScore(normalizedId, normalizedKey);
137
+ if (score > bestScore) {
138
+ bestScore = score;
139
+ bestMatch = model;
140
+ }
141
+ }
142
+ // Only return if score meets threshold
143
+ if (bestScore >= MATCH_SCORE_THRESHOLD) {
144
+ return bestMatch;
145
+ }
146
+ return undefined;
147
+ }
148
+ //# sourceMappingURL=hydration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration.js","sourceRoot":"","sources":["../../../src/models/hydration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Models Registry - models.dev integration for llxprt
8
+ *
9
+ * Provides automatic model discovery, pricing, and capabilities
10
+ * from the models.dev API with caching and fallback support.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { initializeModelRegistry, getModelRegistry } from '@vybestack/llxprt-code-core/models';
15
+ *
16
+ * // Initialize on startup
17
+ * await initializeModelRegistry();
18
+ *
19
+ * // Get registry instance
20
+ * const registry = getModelRegistry();
21
+ *
22
+ * // Query models
23
+ * const allModels = registry.getAll();
24
+ * const claudeModels = registry.getByProvider('anthropic');
25
+ * const reasoningModels = registry.search({ reasoning: true });
26
+ * ```
27
+ */
28
+ export { ModelRegistry, getModelRegistry, initializeModelRegistry, type ModelSearchQuery, type ModelRegistryEvent, } from './registry.js';
29
+ export { ModelsDevModelSchema, ModelsDevProviderSchema, ModelsDevApiResponseSchema, type ModelsDevModel, type ModelsDevProvider, type ModelsDevApiResponse, LlxprtModelSchema, LlxprtProviderSchema, LlxprtModelCapabilitiesSchema, LlxprtModelPricingSchema, LlxprtModelLimitsSchema, LlxprtModelMetadataSchema, LlxprtDefaultProfileSchema, type LlxprtModel, type LlxprtProvider, type LlxprtModelCapabilities, type LlxprtModelPricing, type LlxprtModelLimits, type LlxprtModelMetadata, type LlxprtDefaultProfile, ModelCacheMetadataSchema, type ModelCacheMetadata, } from './schema.js';
30
+ export { transformModel, transformProvider, transformApiResponse, } from './transformer.js';
31
+ export { generateDefaultProfile, getRecommendedThinkingBudget, mergeProfileWithDefaults, } from './profiles.js';
32
+ export { llxprtModelToIModel, hasModelInRegistry, getExtendedModelInfo, getRecommendedModel, } from './provider-integration.js';
33
+ export { hydrateModelsWithRegistry, getModelsDevProviderIds, type HydratedModel, type ModelHydrationData, } from './hydration.js';
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Models Registry - models.dev integration for llxprt
8
+ *
9
+ * Provides automatic model discovery, pricing, and capabilities
10
+ * from the models.dev API with caching and fallback support.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { initializeModelRegistry, getModelRegistry } from '@vybestack/llxprt-code-core/models';
15
+ *
16
+ * // Initialize on startup
17
+ * await initializeModelRegistry();
18
+ *
19
+ * // Get registry instance
20
+ * const registry = getModelRegistry();
21
+ *
22
+ * // Query models
23
+ * const allModels = registry.getAll();
24
+ * const claudeModels = registry.getByProvider('anthropic');
25
+ * const reasoningModels = registry.search({ reasoning: true });
26
+ * ```
27
+ */
28
+ // Core registry
29
+ export { ModelRegistry, getModelRegistry, initializeModelRegistry, } from './registry.js';
30
+ // Schemas and types
31
+ export {
32
+ // models.dev API schemas
33
+ ModelsDevModelSchema, ModelsDevProviderSchema, ModelsDevApiResponseSchema,
34
+ // llxprt internal schemas
35
+ LlxprtModelSchema, LlxprtProviderSchema, LlxprtModelCapabilitiesSchema, LlxprtModelPricingSchema, LlxprtModelLimitsSchema, LlxprtModelMetadataSchema, LlxprtDefaultProfileSchema,
36
+ // Cache metadata
37
+ ModelCacheMetadataSchema, } from './schema.js';
38
+ // Transformers
39
+ export { transformModel, transformProvider, transformApiResponse, } from './transformer.js';
40
+ // Profile utilities
41
+ export { generateDefaultProfile, getRecommendedThinkingBudget, mergeProfileWithDefaults, } from './profiles.js';
42
+ // Provider integration utilities
43
+ export { llxprtModelToIModel, hasModelInRegistry, getExtendedModelInfo, getRecommendedModel, } from './provider-integration.js';
44
+ // Hydration utilities
45
+ export { hydrateModelsWithRegistry, getModelsDevProviderIds, } from './hydration.js';
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GAGxB,MAAM,eAAe,CAAC;AAEvB,oBAAoB;AACpB,OAAO;AACL,yBAAyB;AACzB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B;AAK1B,0BAA0B;AAC1B,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B;AAS1B,iBAAiB;AACjB,wBAAwB,GAEzB,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AAEvB,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,sBAAsB;AACtB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GAGxB,MAAM,gBAAgB,CAAC"}