@auxiora/runtime 1.10.7 → 1.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enrichment/__tests__/model-identity-stage.test.js +14 -0
- package/dist/enrichment/__tests__/model-identity-stage.test.js.map +1 -1
- package/dist/enrichment/stages/model-identity-stage.d.ts +2 -1
- package/dist/enrichment/stages/model-identity-stage.d.ts.map +1 -1
- package/dist/enrichment/stages/model-identity-stage.js +4 -1
- package/dist/enrichment/stages/model-identity-stage.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +138 -2
- package/dist/index.js.map +1 -1
- package/package.json +79 -79
|
@@ -70,5 +70,19 @@ describe('ModelIdentityStage', () => {
|
|
|
70
70
|
const stage = new ModelIdentityStage(() => ({ provider }));
|
|
71
71
|
expect(stage.order).toBe(500);
|
|
72
72
|
});
|
|
73
|
+
it('includes version when provided', async () => {
|
|
74
|
+
const provider = makeProvider();
|
|
75
|
+
const stage = new ModelIdentityStage(() => ({ provider }), '1.10.7');
|
|
76
|
+
const ctx = makeCtx();
|
|
77
|
+
const result = await stage.enrich(ctx, 'current prompt');
|
|
78
|
+
expect(result.prompt).toContain('Auxiora version: 1.10.7');
|
|
79
|
+
});
|
|
80
|
+
it('omits version when not provided', async () => {
|
|
81
|
+
const provider = makeProvider();
|
|
82
|
+
const stage = new ModelIdentityStage(() => ({ provider }));
|
|
83
|
+
const ctx = makeCtx();
|
|
84
|
+
const result = await stage.enrich(ctx, 'current prompt');
|
|
85
|
+
expect(result.prompt).not.toContain('Auxiora version');
|
|
86
|
+
});
|
|
73
87
|
});
|
|
74
88
|
//# sourceMappingURL=model-identity-stage.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-identity-stage.test.js","sourceRoot":"","sources":["../../../src/enrichment/__tests__/model-identity-stage.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-identity-stage.test.js","sourceRoot":"","sources":["../../../src/enrichment/__tests__/model-identity-stage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,10 @@ interface ProviderInfo {
|
|
|
14
14
|
}
|
|
15
15
|
export declare class ModelIdentityStage implements EnrichmentStage {
|
|
16
16
|
private readonly getProviderInfo;
|
|
17
|
+
private readonly version?;
|
|
17
18
|
readonly name = "model-identity";
|
|
18
19
|
readonly order = 500;
|
|
19
|
-
constructor(getProviderInfo: () => ProviderInfo);
|
|
20
|
+
constructor(getProviderInfo: () => ProviderInfo, version?: string | undefined);
|
|
20
21
|
enabled(_ctx: EnrichmentContext): boolean;
|
|
21
22
|
enrich(_ctx: EnrichmentContext, currentPrompt: string): Promise<StageResult>;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-identity-stage.d.ts","sourceRoot":"","sources":["../../../src/enrichment/stages/model-identity-stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnF,UAAU,YAAY;IACpB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE;YACR,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gBAAE,gBAAgB,EAAE,MAAM,CAAC;gBAAC,cAAc,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC,CAAC;SAChF,CAAC;KACH,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAmB,YAAW,eAAe;
|
|
1
|
+
{"version":3,"file":"model-identity-stage.d.ts","sourceRoot":"","sources":["../../../src/enrichment/stages/model-identity-stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnF,UAAU,YAAY;IACpB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE;YACR,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gBAAE,gBAAgB,EAAE,MAAM,CAAC;gBAAC,cAAc,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC,CAAC;SAChF,CAAC;KACH,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAmB,YAAW,eAAe;IAKtD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAL3B,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,KAAK,OAAO;gBAGF,eAAe,EAAE,MAAM,YAAY,EACnC,OAAO,CAAC,EAAE,MAAM,YAAA;IAGnC,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO;IAInC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAcnF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export class ModelIdentityStage {
|
|
2
2
|
getProviderInfo;
|
|
3
|
+
version;
|
|
3
4
|
name = 'model-identity';
|
|
4
5
|
order = 500;
|
|
5
|
-
constructor(getProviderInfo) {
|
|
6
|
+
constructor(getProviderInfo, version) {
|
|
6
7
|
this.getProviderInfo = getProviderInfo;
|
|
8
|
+
this.version = version;
|
|
7
9
|
}
|
|
8
10
|
enabled(_ctx) {
|
|
9
11
|
return true;
|
|
@@ -14,6 +16,7 @@ export class ModelIdentityStage {
|
|
|
14
16
|
const caps = provider.metadata.models[activeModel];
|
|
15
17
|
const fragment = '\n\n[Model Identity]\n'
|
|
16
18
|
+ `You are running as ${activeModel} via ${provider.metadata.displayName}.`
|
|
19
|
+
+ (this.version ? ` Auxiora version: ${this.version}.` : '')
|
|
17
20
|
+ (caps ? ` Context window: ${caps.maxContextTokens.toLocaleString()} tokens.` : '')
|
|
18
21
|
+ (caps?.supportsVision ? ' You have vision capabilities.' : '')
|
|
19
22
|
+ ` Today's date: ${new Date().toISOString().slice(0, 10)}.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-identity-stage.js","sourceRoot":"","sources":["../../../src/enrichment/stages/model-identity-stage.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"model-identity-stage.js","sourceRoot":"","sources":["../../../src/enrichment/stages/model-identity-stage.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,kBAAkB;IAKV;IACA;IALV,IAAI,GAAG,gBAAgB,CAAC;IACxB,KAAK,GAAG,GAAG,CAAC;IAErB,YACmB,eAAmC,EACnC,OAAgB;QADhB,oBAAe,GAAf,eAAe,CAAoB;QACnC,YAAO,GAAP,OAAO,CAAS;IAChC,CAAC;IAEJ,OAAO,CAAC,IAAuB;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAuB,EAAE,aAAqB;QACzD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,wBAAwB;cACrC,sBAAsB,WAAW,QAAQ,QAAQ,CAAC,QAAQ,CAAC,WAAW,GAAG;cACzE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;cAC1D,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9D,kBAAkB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QAE/D,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,QAAQ,EAAE,CAAC;IAC9C,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,6 +39,9 @@ export declare class Auxiora {
|
|
|
39
39
|
private actionPlanner?;
|
|
40
40
|
private orchestrationEngine?;
|
|
41
41
|
private jobQueue?;
|
|
42
|
+
private modelRegistry?;
|
|
43
|
+
private modelRefreshTimer?;
|
|
44
|
+
private auxioraVersion;
|
|
42
45
|
private telemetryTracker?;
|
|
43
46
|
private sessionReflector?;
|
|
44
47
|
private userManager?;
|
|
@@ -125,6 +128,7 @@ export declare class Auxiora {
|
|
|
125
128
|
private initializeProviders;
|
|
126
129
|
private initializeRouter;
|
|
127
130
|
getRouter(): ModelRouter | undefined;
|
|
131
|
+
getModelRegistry(): import('@auxiora/model-registry').ModelRegistry | undefined;
|
|
128
132
|
getOrchestrationEngine(): OrchestrationEngine | undefined;
|
|
129
133
|
getCostSummary(): import("@auxiora/router").CostSummary | undefined;
|
|
130
134
|
private initializeChannels;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAkE,MAAM,iBAAiB,CAAC;AAE9G,OAAO,EAA4C,KAAK,MAAM,EAAsB,MAAM,iBAAiB,CAAC;AAwC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Gateway } from '@auxiora/gateway';
|
|
1
|
+
import { Gateway, createModelRegistryRouter } from '@auxiora/gateway';
|
|
2
2
|
import { SessionManager, sanitizeTranscript } from '@auxiora/sessions';
|
|
3
3
|
import { MediaProcessor, detectProviders } from '@auxiora/media';
|
|
4
4
|
import { ProviderFactory, readClaudeCliCredentials, isSetupToken, refreshOAuthToken, refreshPKCEOAuthToken, streamWithModelFallback } from '@auxiora/providers';
|
|
@@ -14,6 +14,7 @@ import { ResearchEngine, ResearchIntentDetector, DeepResearchOrchestrator, Repor
|
|
|
14
14
|
import { OrchestrationEngine } from '@auxiora/orchestrator';
|
|
15
15
|
import * as crypto from 'node:crypto';
|
|
16
16
|
import * as fs from 'node:fs/promises';
|
|
17
|
+
import { readFileSync } from 'node:fs';
|
|
17
18
|
import * as path from 'node:path';
|
|
18
19
|
import { BehaviorManager, evaluateConditions } from '@auxiora/behaviors';
|
|
19
20
|
import { BrowserManager } from '@auxiora/browser';
|
|
@@ -154,6 +155,9 @@ export class Auxiora {
|
|
|
154
155
|
actionPlanner;
|
|
155
156
|
orchestrationEngine;
|
|
156
157
|
jobQueue;
|
|
158
|
+
modelRegistry;
|
|
159
|
+
modelRefreshTimer;
|
|
160
|
+
auxioraVersion = '';
|
|
157
161
|
// Self-improvement telemetry (structural types — no direct @auxiora/telemetry import)
|
|
158
162
|
telemetryTracker;
|
|
159
163
|
sessionReflector;
|
|
@@ -243,6 +247,13 @@ export class Auxiora {
|
|
|
243
247
|
channelTargetsPath = path.join(path.dirname(getBehaviorsPath()), 'channel-targets.json');
|
|
244
248
|
orchestrationHistory = [];
|
|
245
249
|
async initialize(options = {}) {
|
|
250
|
+
// Read version from package.json
|
|
251
|
+
try {
|
|
252
|
+
const runtimeDir = path.dirname(fileURLToPath(import.meta.url));
|
|
253
|
+
const pkgPath = path.resolve(runtimeDir, '..', 'package.json');
|
|
254
|
+
this.auxioraVersion = JSON.parse(readFileSync(pkgPath, 'utf-8')).version;
|
|
255
|
+
}
|
|
256
|
+
catch { /* version will remain empty */ }
|
|
246
257
|
// Load config
|
|
247
258
|
this.config = options.config || (await loadConfig());
|
|
248
259
|
// Initialize vault (optional)
|
|
@@ -507,8 +518,83 @@ export class Auxiora {
|
|
|
507
518
|
if (purgedPending > 0 || purgedDead > 0) {
|
|
508
519
|
this.logger.info(`Purged stale ambient-flush jobs: ${purgedPending} pending, ${purgedDead} dead`);
|
|
509
520
|
}
|
|
521
|
+
// Register model registry refresh job
|
|
522
|
+
this.jobQueue.register('model-registry-refresh', async () => {
|
|
523
|
+
const results = [];
|
|
524
|
+
if (!this.modelRegistry)
|
|
525
|
+
return 'No model registry';
|
|
526
|
+
try {
|
|
527
|
+
const orKey = this.vault.get('OPENROUTER_API_KEY');
|
|
528
|
+
if (orKey) {
|
|
529
|
+
const { fetchOpenRouterModels, mapToDiscoveredModels } = await import('@auxiora/provider-openrouter');
|
|
530
|
+
const orModels = await fetchOpenRouterModels(orKey);
|
|
531
|
+
const discovered = mapToDiscoveredModels(orModels);
|
|
532
|
+
this.modelRegistry.upsertModels(discovered);
|
|
533
|
+
try {
|
|
534
|
+
const orProvider = this.providers.getProvider('openrouter');
|
|
535
|
+
if (orProvider && 'updateModels' in orProvider) {
|
|
536
|
+
const caps = this.modelRegistry.toModelCapabilities('openrouter');
|
|
537
|
+
orProvider.updateModels(caps);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
catch { /* provider may not be registered */ }
|
|
541
|
+
results.push(`OpenRouter: ${discovered.length} models`);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
catch (err) {
|
|
545
|
+
results.push(`OpenRouter: failed - ${err instanceof Error ? err.message : String(err)}`);
|
|
546
|
+
}
|
|
547
|
+
try {
|
|
548
|
+
const hfToken = this.vault.get('HUGGINGFACE_API_TOKEN');
|
|
549
|
+
if (hfToken) {
|
|
550
|
+
const { fetchHFModels, mapToDiscoveredModels } = await import('@auxiora/provider-huggingface');
|
|
551
|
+
const hfModels = await fetchHFModels(hfToken);
|
|
552
|
+
const discovered = mapToDiscoveredModels(hfModels);
|
|
553
|
+
this.modelRegistry.upsertModels(discovered);
|
|
554
|
+
try {
|
|
555
|
+
const hfProvider = this.providers.getProvider('huggingface');
|
|
556
|
+
if (hfProvider && 'updateModels' in hfProvider) {
|
|
557
|
+
const caps = this.modelRegistry.toModelCapabilities('huggingface');
|
|
558
|
+
hfProvider.updateModels(caps);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
catch { /* provider may not be registered */ }
|
|
562
|
+
results.push(`HuggingFace: ${discovered.length} models`);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
catch (err) {
|
|
566
|
+
results.push(`HuggingFace: failed - ${err instanceof Error ? err.message : String(err)}`);
|
|
567
|
+
}
|
|
568
|
+
const pruned = this.modelRegistry.pruneStale(7 * 24 * 60 * 60 * 1000);
|
|
569
|
+
if (pruned > 0)
|
|
570
|
+
results.push(`Pruned ${pruned} stale models`);
|
|
571
|
+
return results.join(', ');
|
|
572
|
+
});
|
|
510
573
|
this.jobQueue.start();
|
|
511
574
|
this.logger.info('Durable job queue initialized');
|
|
575
|
+
// Initialize model registry and schedule refresh
|
|
576
|
+
try {
|
|
577
|
+
const { ModelRegistry } = await import('@auxiora/model-registry');
|
|
578
|
+
const registryDbPath = path.join(path.dirname(getBehaviorsPath()), 'model-registry.db');
|
|
579
|
+
this.modelRegistry = new ModelRegistry(registryDbPath);
|
|
580
|
+
// Enqueue initial refresh if any dynamic provider keys exist
|
|
581
|
+
const hasOpenRouter = !!this.vault.get('OPENROUTER_API_KEY');
|
|
582
|
+
const hasHuggingFace = !!this.vault.get('HUGGINGFACE_API_TOKEN');
|
|
583
|
+
if (hasOpenRouter || hasHuggingFace) {
|
|
584
|
+
this.jobQueue.enqueue('model-registry-refresh', {});
|
|
585
|
+
// Schedule periodic refresh
|
|
586
|
+
const refreshMs = Math.min(this.config.provider.openrouter?.refreshIntervalHours ?? 4, this.config.provider.huggingface?.refreshIntervalHours ?? 4) * 60 * 60 * 1000;
|
|
587
|
+
this.modelRefreshTimer = setInterval(() => {
|
|
588
|
+
if (this.jobQueue) {
|
|
589
|
+
this.jobQueue.enqueue('model-registry-refresh', {});
|
|
590
|
+
}
|
|
591
|
+
}, refreshMs);
|
|
592
|
+
this.logger.info(`Model registry initialized, refresh every ${refreshMs / 3600000}h`);
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
catch (err) {
|
|
596
|
+
this.logger.warn('Failed to initialize model registry', { error: err instanceof Error ? err : new Error(String(err)) });
|
|
597
|
+
}
|
|
512
598
|
// Initialize behavior system
|
|
513
599
|
if (this.providers) {
|
|
514
600
|
this.behaviors = new BehaviorManager({
|
|
@@ -1250,6 +1336,11 @@ export class Auxiora {
|
|
|
1250
1336
|
this.gateway.mountRouter('/api/v1/canvas', this.createCanvasRouter());
|
|
1251
1337
|
// Sandbox API routes
|
|
1252
1338
|
this.gateway.mountRouter('/api/v1/sandbox', this.createSandboxRouter());
|
|
1339
|
+
// Model registry API routes
|
|
1340
|
+
this.gateway.mountRouter('/api/v1/models', createModelRegistryRouter(Router(), {
|
|
1341
|
+
modelRegistry: this.modelRegistry,
|
|
1342
|
+
jobQueue: this.jobQueue,
|
|
1343
|
+
}));
|
|
1253
1344
|
// Job queue status endpoint
|
|
1254
1345
|
this.gateway.mountRouter('/api/v1/jobs', (() => {
|
|
1255
1346
|
const jobsRouter = Router();
|
|
@@ -1770,6 +1861,8 @@ export class Auxiora {
|
|
|
1770
1861
|
let cohereKey;
|
|
1771
1862
|
let xaiKey;
|
|
1772
1863
|
let replicateToken;
|
|
1864
|
+
let openrouterKey;
|
|
1865
|
+
let huggingfaceToken;
|
|
1773
1866
|
let vaultLocked = false;
|
|
1774
1867
|
try {
|
|
1775
1868
|
anthropicKey = this.vault.get('ANTHROPIC_API_KEY');
|
|
@@ -1781,6 +1874,8 @@ export class Auxiora {
|
|
|
1781
1874
|
cohereKey = this.vault.get('COHERE_API_KEY');
|
|
1782
1875
|
xaiKey = this.vault.get('XAI_API_KEY');
|
|
1783
1876
|
replicateToken = this.vault.get('REPLICATE_API_TOKEN');
|
|
1877
|
+
openrouterKey = this.vault.get('OPENROUTER_API_KEY');
|
|
1878
|
+
huggingfaceToken = this.vault.get('HUGGINGFACE_API_TOKEN');
|
|
1784
1879
|
// Check if ANTHROPIC_API_KEY is actually an OAuth token (sk-ant-oat01-*)
|
|
1785
1880
|
// This handles users who stored their OAuth token in the wrong vault key
|
|
1786
1881
|
if (anthropicKey && isSetupToken(anthropicKey)) {
|
|
@@ -1804,7 +1899,7 @@ export class Auxiora {
|
|
|
1804
1899
|
const hasCliCredentials = cliCreds !== null;
|
|
1805
1900
|
const hasAnthropic = anthropicKey || anthropicOAuthToken || hasCliCredentials;
|
|
1806
1901
|
const hasOllama = this.config.provider.ollama?.model;
|
|
1807
|
-
const hasAnyKey = hasAnthropic || openaiKey || googleKey || groqKey || deepseekKey || cohereKey || xaiKey || replicateToken || hasOllama;
|
|
1902
|
+
const hasAnyKey = hasAnthropic || openaiKey || googleKey || groqKey || deepseekKey || cohereKey || xaiKey || replicateToken || hasOllama || openrouterKey || huggingfaceToken;
|
|
1808
1903
|
if (!hasAnyKey) {
|
|
1809
1904
|
if (vaultLocked) {
|
|
1810
1905
|
this.logger.warn('Vault is locked. AI providers not initialized.');
|
|
@@ -1948,6 +2043,39 @@ export class Auxiora {
|
|
|
1948
2043
|
: undefined,
|
|
1949
2044
|
},
|
|
1950
2045
|
});
|
|
2046
|
+
// Register dynamic providers (OpenRouter, HuggingFace) after factory construction
|
|
2047
|
+
if (openrouterKey) {
|
|
2048
|
+
try {
|
|
2049
|
+
const { OpenRouterProvider } = await import('@auxiora/provider-openrouter');
|
|
2050
|
+
const openrouter = new OpenRouterProvider({
|
|
2051
|
+
apiKey: openrouterKey,
|
|
2052
|
+
model: this.config.provider.openrouter?.model,
|
|
2053
|
+
maxTokens: this.config.provider.openrouter?.maxTokens,
|
|
2054
|
+
appName: this.config.provider.openrouter?.appName,
|
|
2055
|
+
});
|
|
2056
|
+
this.providers.register('openrouter', openrouter);
|
|
2057
|
+
this.logger.info('OpenRouter provider registered');
|
|
2058
|
+
}
|
|
2059
|
+
catch (err) {
|
|
2060
|
+
this.logger.warn('Failed to load OpenRouter provider', { error: err instanceof Error ? err : new Error(String(err)) });
|
|
2061
|
+
}
|
|
2062
|
+
}
|
|
2063
|
+
if (huggingfaceToken) {
|
|
2064
|
+
try {
|
|
2065
|
+
const { HuggingFaceProvider } = await import('@auxiora/provider-huggingface');
|
|
2066
|
+
const hf = new HuggingFaceProvider({
|
|
2067
|
+
apiKey: huggingfaceToken,
|
|
2068
|
+
model: this.config.provider.huggingface?.model,
|
|
2069
|
+
maxTokens: this.config.provider.huggingface?.maxTokens,
|
|
2070
|
+
preferredInferenceProvider: this.config.provider.huggingface?.preferredInferenceProvider,
|
|
2071
|
+
});
|
|
2072
|
+
this.providers.register('huggingface', hf);
|
|
2073
|
+
this.logger.info('HuggingFace provider registered');
|
|
2074
|
+
}
|
|
2075
|
+
catch (err) {
|
|
2076
|
+
this.logger.warn('Failed to load HuggingFace provider', { error: err instanceof Error ? err : new Error(String(err)) });
|
|
2077
|
+
}
|
|
2078
|
+
}
|
|
1951
2079
|
}
|
|
1952
2080
|
initializeRouter() {
|
|
1953
2081
|
// Gather provider metadata from available providers
|
|
@@ -1969,6 +2097,9 @@ export class Auxiora {
|
|
|
1969
2097
|
getRouter() {
|
|
1970
2098
|
return this.modelRouter;
|
|
1971
2099
|
}
|
|
2100
|
+
getModelRegistry() {
|
|
2101
|
+
return this.modelRegistry;
|
|
2102
|
+
}
|
|
1972
2103
|
getOrchestrationEngine() {
|
|
1973
2104
|
return this.orchestrationEngine;
|
|
1974
2105
|
}
|
|
@@ -2441,6 +2572,7 @@ export class Auxiora {
|
|
|
2441
2572
|
const caps = provider.metadata.models[activeModel];
|
|
2442
2573
|
return '\n\n[Model Identity]\n'
|
|
2443
2574
|
+ `You are running as ${activeModel} via ${provider.metadata.displayName}.`
|
|
2575
|
+
+ (this.auxioraVersion ? ` Auxiora version: ${this.auxioraVersion}.` : '')
|
|
2444
2576
|
+ (caps ? ` Context window: ${caps.maxContextTokens.toLocaleString()} tokens.` : '')
|
|
2445
2577
|
+ (caps?.supportsVision ? ' You have vision capabilities.' : '')
|
|
2446
2578
|
+ ` Today's date: ${new Date().toISOString().slice(0, 10)}.`;
|
|
@@ -3960,6 +4092,10 @@ export class Auxiora {
|
|
|
3960
4092
|
if (this.mcpClientManager) {
|
|
3961
4093
|
await this.mcpClientManager.disconnectAll();
|
|
3962
4094
|
}
|
|
4095
|
+
if (this.modelRefreshTimer) {
|
|
4096
|
+
clearInterval(this.modelRefreshTimer);
|
|
4097
|
+
this.modelRefreshTimer = undefined;
|
|
4098
|
+
}
|
|
3963
4099
|
if (this.jobQueue) {
|
|
3964
4100
|
await this.jobQueue.stop(30000);
|
|
3965
4101
|
}
|