@auxiora/runtime 1.10.0 → 1.10.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/dist/__tests__/telemetry-wiring.test.d.ts +2 -0
- package/dist/__tests__/telemetry-wiring.test.d.ts.map +1 -0
- package/dist/__tests__/telemetry-wiring.test.js +61 -0
- package/dist/__tests__/telemetry-wiring.test.js.map +1 -0
- package/dist/confidence.d.ts +46 -0
- package/dist/confidence.d.ts.map +1 -0
- package/dist/confidence.js +112 -0
- package/dist/confidence.js.map +1 -0
- package/dist/enrichment/__tests__/integration.test.js +10 -0
- package/dist/enrichment/__tests__/integration.test.js.map +1 -1
- package/dist/enrichment/__tests__/telemetry-stage.test.d.ts +2 -0
- package/dist/enrichment/__tests__/telemetry-stage.test.d.ts.map +1 -0
- package/dist/enrichment/__tests__/telemetry-stage.test.js +61 -0
- package/dist/enrichment/__tests__/telemetry-stage.test.js.map +1 -0
- package/dist/enrichment/index.d.ts +5 -0
- package/dist/enrichment/index.d.ts.map +1 -1
- package/dist/enrichment/index.js +3 -0
- package/dist/enrichment/index.js.map +1 -1
- package/dist/enrichment/stages/group-context-stage.d.ts +8 -0
- package/dist/enrichment/stages/group-context-stage.d.ts.map +1 -0
- package/dist/enrichment/stages/group-context-stage.js +24 -0
- package/dist/enrichment/stages/group-context-stage.js.map +1 -0
- package/dist/enrichment/stages/learning-stage.d.ts +17 -0
- package/dist/enrichment/stages/learning-stage.d.ts.map +1 -0
- package/dist/enrichment/stages/learning-stage.js +37 -0
- package/dist/enrichment/stages/learning-stage.js.map +1 -0
- package/dist/enrichment/stages/telemetry-stage.d.ts +18 -0
- package/dist/enrichment/stages/telemetry-stage.d.ts.map +1 -0
- package/dist/enrichment/stages/telemetry-stage.js +39 -0
- package/dist/enrichment/stages/telemetry-stage.js.map +1 -0
- package/dist/enrichment/types.d.ts +6 -0
- package/dist/enrichment/types.d.ts.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +288 -26
- package/dist/index.js.map +1 -1
- package/dist/queue-wiring.d.ts +73 -0
- package/dist/queue-wiring.d.ts.map +1 -0
- package/dist/queue-wiring.js +71 -0
- package/dist/queue-wiring.js.map +1 -0
- package/dist/response-provenance.d.ts +70 -0
- package/dist/response-provenance.d.ts.map +1 -0
- package/dist/response-provenance.js +115 -0
- package/dist/response-provenance.js.map +1 -0
- package/dist/source-attribution.d.ts +55 -0
- package/dist/source-attribution.d.ts.map +1 -0
- package/dist/source-attribution.js +107 -0
- package/dist/source-attribution.js.map +1 -0
- package/dist/telemetry-wiring.d.ts +28 -0
- package/dist/telemetry-wiring.d.ts.map +1 -0
- package/dist/telemetry-wiring.js +31 -0
- package/dist/telemetry-wiring.js.map +1 -0
- package/dist/user-model-export.d.ts +109 -0
- package/dist/user-model-export.d.ts.map +1 -0
- package/dist/user-model-export.js +88 -0
- package/dist/user-model-export.js.map +1 -0
- package/package.json +77 -72
package/dist/index.d.ts
CHANGED
|
@@ -39,6 +39,8 @@ export declare class Auxiora {
|
|
|
39
39
|
private actionPlanner?;
|
|
40
40
|
private orchestrationEngine?;
|
|
41
41
|
private jobQueue?;
|
|
42
|
+
private telemetryTracker?;
|
|
43
|
+
private sessionReflector?;
|
|
42
44
|
private userManager?;
|
|
43
45
|
private workflowEngine?;
|
|
44
46
|
private approvalManager?;
|
|
@@ -218,5 +220,15 @@ export declare class Auxiora {
|
|
|
218
220
|
}
|
|
219
221
|
export { AgentRouter, AgentInstance, type AgentRoutingConfig, type AgentRoutingRule, type AgentConfig, } from './agent-router.js';
|
|
220
222
|
export { BlockStream, ToolOutputStream, type BlockType, type ContentBlock, type BlockStreamEvent, type BlockStreamSender, } from './block-stream.js';
|
|
223
|
+
export { SourceAttributor } from './source-attribution.js';
|
|
224
|
+
export type { Attribution, AttributedSegment, ResponseAttribution, AttributionSource, SourceType } from './source-attribution.js';
|
|
225
|
+
export { ConfidenceAssessor } from './confidence.js';
|
|
226
|
+
export type { ConfidenceLevel, KnowledgeSource, ConfidenceSignal, ConfidenceAssessment, UncertaintyMarker } from './confidence.js';
|
|
227
|
+
export { ResponseProvenanceTracker } from './response-provenance.js';
|
|
228
|
+
export type { ProvenanceEntry, ProvenanceSummary, ContextSignalRecord, ToolCallRecord } from './response-provenance.js';
|
|
229
|
+
export { UserModelExporter } from './user-model-export.js';
|
|
230
|
+
export type { UserModelView, DomainProfile, PreferenceItem, DecisionItem } from './user-model-export.js';
|
|
231
|
+
export { createReActJobHandler, createWorkflowJobHandler } from './queue-wiring.js';
|
|
232
|
+
export type { QueuedReActPayload, QueuedWorkflowPayload } from './queue-wiring.js';
|
|
221
233
|
export declare function startAuxiora(options?: AuxioraOptions): Promise<Auxiora>;
|
|
222
234
|
//# sourceMappingURL=index.d.ts.map
|
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
|
@@ -18,12 +18,10 @@ import * as path from 'node:path';
|
|
|
18
18
|
import { BehaviorManager, evaluateConditions } from '@auxiora/behaviors';
|
|
19
19
|
import { BrowserManager } from '@auxiora/browser';
|
|
20
20
|
import { ClipboardMonitor, AppController, SystemStateMonitor } from '@auxiora/os-bridge';
|
|
21
|
-
import { VoiceManager } from '@auxiora/voice';
|
|
22
|
-
import { WhisperSTT } from '@auxiora/stt';
|
|
23
|
-
import { OpenAITTS } from '@auxiora/tts';
|
|
21
|
+
import { VoiceManager, detectVoiceProviders, createSTTProvider, createTTSProvider } from '@auxiora/voice';
|
|
24
22
|
import { WebhookManager } from '@auxiora/webhooks';
|
|
25
23
|
import { createDashboardRouter } from '@auxiora/dashboard';
|
|
26
|
-
import { PluginLoader } from '@auxiora/plugins';
|
|
24
|
+
import { PluginLoader, registerCreateSkillTool } from '@auxiora/plugins';
|
|
27
25
|
import { MemoryStore, MemoryRetriever, MemoryExtractor, PatternDetector, PersonalityAdapter, } from '@auxiora/memory';
|
|
28
26
|
import { TrustEngine, ActionAuditTrail, RollbackManager, TrustGate } from '@auxiora/autonomy';
|
|
29
27
|
import { IntentParser, ActionPlanner } from '@auxiora/intent';
|
|
@@ -42,6 +40,9 @@ import { linearConnector } from '@auxiora/connector-linear';
|
|
|
42
40
|
import { notionConnector } from '@auxiora/connector-notion';
|
|
43
41
|
import { homeAssistantConnector } from '@auxiora/connector-homeassistant';
|
|
44
42
|
import { twitterConnector, linkedinConnector, redditConnector, instagramConnector } from '@auxiora/connector-social';
|
|
43
|
+
import { spotifyConnector } from '@auxiora/connector-spotify';
|
|
44
|
+
import { hueConnector } from '@auxiora/connector-hue';
|
|
45
|
+
import { obsidianConnector } from '@auxiora/connector-obsidian';
|
|
45
46
|
import { ConversationEngine } from '@auxiora/conversation';
|
|
46
47
|
import { EmailTriageEngine, ThreadSummarizer } from '@auxiora/email-intelligence';
|
|
47
48
|
import { ScheduleAnalyzer, ScheduleOptimizer, MeetingPrepGenerator } from '@auxiora/calendar-intelligence';
|
|
@@ -52,6 +53,7 @@ import { CapabilityCatalogImpl, HealthMonitorImpl, createIntrospectTool, generat
|
|
|
52
53
|
import { JobQueue } from '@auxiora/job-queue';
|
|
53
54
|
import { Consciousness } from '@auxiora/consciousness';
|
|
54
55
|
import { McpClientManager } from '@auxiora/mcp';
|
|
56
|
+
// import { createMcpServer, StdioServerTransport } from '@auxiora/mcp-server';
|
|
55
57
|
import { GuardrailPipeline } from '@auxiora/guardrails';
|
|
56
58
|
import { collectTransparencyMeta } from './transparency/index.js';
|
|
57
59
|
import { IntentParser as NLIntentParser, AutomationBuilder } from '@auxiora/nl-automation';
|
|
@@ -76,7 +78,7 @@ import { getModesDir } from '@auxiora/core';
|
|
|
76
78
|
import { fileURLToPath } from 'node:url';
|
|
77
79
|
import { getLogger, generateRequestId, runWithRequestId } from '@auxiora/logger';
|
|
78
80
|
import { SelfAwarenessAssembler, InMemoryAwarenessStorage, ConversationReflector, CapacityMonitor, KnowledgeBoundary, RelationshipModel, TemporalTracker, EnvironmentSensor, MetaCognitor, } from '@auxiora/self-awareness';
|
|
79
|
-
import { EnrichmentPipeline, MemoryStage, ModeStage, ArchitectStage, SelfAwarenessStage } from './enrichment/index.js';
|
|
81
|
+
import { EnrichmentPipeline, MemoryStage, ModeStage, ArchitectStage, SelfAwarenessStage, GroupContextStage, TelemetryStage } from './enrichment/index.js';
|
|
80
82
|
/**
|
|
81
83
|
* Map Claude Code emulation tool calls to our actual tool names + input format.
|
|
82
84
|
* The model may call CC tools (WebSearch, Bash, etc.) since they're in the request for OAuth compat.
|
|
@@ -152,6 +154,9 @@ export class Auxiora {
|
|
|
152
154
|
actionPlanner;
|
|
153
155
|
orchestrationEngine;
|
|
154
156
|
jobQueue;
|
|
157
|
+
// Self-improvement telemetry (structural types — no direct @auxiora/telemetry import)
|
|
158
|
+
telemetryTracker;
|
|
159
|
+
sessionReflector;
|
|
155
160
|
// [P14] Team / Social
|
|
156
161
|
userManager;
|
|
157
162
|
workflowEngine;
|
|
@@ -274,6 +279,12 @@ export class Auxiora {
|
|
|
274
279
|
});
|
|
275
280
|
}
|
|
276
281
|
}
|
|
282
|
+
// MCP server (expose Auxiora as MCP tools) - enabled via config
|
|
283
|
+
// if (config.mcpServer?.enabled) {
|
|
284
|
+
// const mcpServer = createMcpServer({ memoryStore: this.memoryStore, ... });
|
|
285
|
+
// const transport = new StdioServerTransport();
|
|
286
|
+
// await mcpServer.connect(transport);
|
|
287
|
+
// }
|
|
277
288
|
// Initialize sessions
|
|
278
289
|
this.sessions = new SessionManager({
|
|
279
290
|
maxContextTokens: this.config.session.maxContextTokens,
|
|
@@ -472,17 +483,30 @@ export class Auxiora {
|
|
|
472
483
|
await this.behaviors.executeNow(payload.behaviorId);
|
|
473
484
|
}
|
|
474
485
|
});
|
|
475
|
-
// Register ambient pattern flush handler (re-enqueues itself)
|
|
486
|
+
// Register ambient pattern flush handler (re-enqueues itself on success only)
|
|
476
487
|
this.jobQueue.register('ambient-flush', async (_payload, ctx) => {
|
|
477
488
|
if (this.ambientEngine) {
|
|
478
489
|
const serialized = this.ambientEngine.serialize();
|
|
479
490
|
ctx.checkpoint(serialized);
|
|
480
491
|
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
492
|
+
});
|
|
493
|
+
// Listen for completion to schedule the next flush (avoids runaway re-enqueue on failure)
|
|
494
|
+
this.jobQueue.on('job:completed', (data) => {
|
|
495
|
+
const { job } = data;
|
|
496
|
+
if (job.type === 'ambient-flush' && this.jobQueue) {
|
|
497
|
+
// Check for existing pending ambient-flush before enqueueing
|
|
498
|
+
const pending = this.jobQueue.listJobs({ type: 'ambient-flush', status: 'pending' });
|
|
499
|
+
if (pending.length === 0) {
|
|
500
|
+
this.jobQueue.enqueue('ambient-flush', {}, { scheduledAt: Date.now() + 5 * 60 * 1000 });
|
|
501
|
+
}
|
|
484
502
|
}
|
|
485
503
|
});
|
|
504
|
+
// Purge stale ambient-flush jobs that accumulated from the re-enqueue bug
|
|
505
|
+
const purgedPending = this.jobQueue.purgeByType('ambient-flush', 'pending');
|
|
506
|
+
const purgedDead = this.jobQueue.purgeByType('ambient-flush', 'dead');
|
|
507
|
+
if (purgedPending > 0 || purgedDead > 0) {
|
|
508
|
+
this.logger.info(`Purged stale ambient-flush jobs: ${purgedPending} pending, ${purgedDead} dead`);
|
|
509
|
+
}
|
|
486
510
|
this.jobQueue.start();
|
|
487
511
|
this.logger.info('Durable job queue initialized');
|
|
488
512
|
// Initialize behavior system
|
|
@@ -627,22 +651,37 @@ export class Auxiora {
|
|
|
627
651
|
setGrammarChecker(grammarChecker);
|
|
628
652
|
setLanguageDetector(languageDetector);
|
|
629
653
|
this.logger.info('Compose system initialized');
|
|
630
|
-
// Initialize voice system (if enabled
|
|
654
|
+
// Initialize voice system (if enabled — auto-detects providers)
|
|
631
655
|
if (this.config.voice?.enabled) {
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
656
|
+
const detected = await detectVoiceProviders({
|
|
657
|
+
sttProvider: this.config.voice.sttProvider ?? 'auto',
|
|
658
|
+
ttsProvider: this.config.voice.ttsProvider ?? 'auto',
|
|
659
|
+
}, this.vault);
|
|
660
|
+
if (detected.stt.provider && detected.tts.provider) {
|
|
661
|
+
let openaiKey;
|
|
662
|
+
let elevenKey;
|
|
663
|
+
try {
|
|
664
|
+
openaiKey = this.vault.get('OPENAI_API_KEY');
|
|
665
|
+
}
|
|
666
|
+
catch { /* vault locked or key missing */ }
|
|
667
|
+
try {
|
|
668
|
+
elevenKey = this.vault.get('ELEVENLABS_API_KEY');
|
|
669
|
+
}
|
|
670
|
+
catch { /* vault locked or key missing */ }
|
|
671
|
+
const sttProvider = createSTTProvider(detected.stt.provider, {
|
|
672
|
+
apiKey: openaiKey,
|
|
673
|
+
binaryPath: detected.stt.binaryPath,
|
|
674
|
+
modelPath: detected.stt.modelPath,
|
|
675
|
+
});
|
|
676
|
+
const ttsProvider = createTTSProvider(detected.tts.provider, {
|
|
677
|
+
apiKey: detected.tts.provider === 'elevenlabs-tts' ? elevenKey : openaiKey,
|
|
678
|
+
binaryPath: detected.tts.binaryPath,
|
|
679
|
+
modelPath: detected.tts.modelPath,
|
|
680
|
+
defaultVoice: this.config.voice.defaultVoice,
|
|
681
|
+
});
|
|
640
682
|
this.voiceManager = new VoiceManager({
|
|
641
|
-
sttProvider
|
|
642
|
-
ttsProvider
|
|
643
|
-
apiKey: openaiKeyForVoice,
|
|
644
|
-
defaultVoice: this.config.voice.defaultVoice,
|
|
645
|
-
}),
|
|
683
|
+
sttProvider,
|
|
684
|
+
ttsProvider,
|
|
646
685
|
config: {
|
|
647
686
|
enabled: true,
|
|
648
687
|
defaultVoice: this.config.voice.defaultVoice,
|
|
@@ -652,10 +691,17 @@ export class Auxiora {
|
|
|
652
691
|
},
|
|
653
692
|
});
|
|
654
693
|
this.gateway.onVoiceMessage(this.handleVoiceMessage.bind(this));
|
|
655
|
-
this.logger.info('Voice mode enabled'
|
|
694
|
+
this.logger.info('Voice mode enabled', {
|
|
695
|
+
stt: detected.stt.provider,
|
|
696
|
+
tts: detected.tts.provider,
|
|
697
|
+
});
|
|
656
698
|
}
|
|
657
699
|
else {
|
|
658
|
-
|
|
700
|
+
audit('voice.skipped', { sttReason: detected.stt.reason, ttsReason: detected.tts.reason });
|
|
701
|
+
this.logger.warn('Voice mode enabled but no providers available', {
|
|
702
|
+
stt: detected.stt.reason,
|
|
703
|
+
tts: detected.tts.reason,
|
|
704
|
+
});
|
|
659
705
|
}
|
|
660
706
|
}
|
|
661
707
|
// Initialize webhook system (if enabled)
|
|
@@ -1214,17 +1260,84 @@ export class Auxiora {
|
|
|
1214
1260
|
}
|
|
1215
1261
|
res.json(this.jobQueue.getStats());
|
|
1216
1262
|
});
|
|
1263
|
+
jobsRouter.get('/list', (req, res) => {
|
|
1264
|
+
if (!this.jobQueue) {
|
|
1265
|
+
res.json({ data: [] });
|
|
1266
|
+
return;
|
|
1267
|
+
}
|
|
1268
|
+
const status = req.query.status;
|
|
1269
|
+
const type = req.query.type;
|
|
1270
|
+
const limit = req.query.limit ? Number(req.query.limit) : 50;
|
|
1271
|
+
const filter = { limit };
|
|
1272
|
+
if (status)
|
|
1273
|
+
filter.status = status;
|
|
1274
|
+
if (type)
|
|
1275
|
+
filter.type = type;
|
|
1276
|
+
const jobs = this.jobQueue.listJobs(filter);
|
|
1277
|
+
res.json({ data: jobs });
|
|
1278
|
+
});
|
|
1279
|
+
jobsRouter.get('/:id', (req, res) => {
|
|
1280
|
+
if (!this.jobQueue) {
|
|
1281
|
+
res.status(404).json({ error: 'Job queue not available' });
|
|
1282
|
+
return;
|
|
1283
|
+
}
|
|
1284
|
+
const job = this.jobQueue.getJob(String(req.params.id));
|
|
1285
|
+
if (!job) {
|
|
1286
|
+
res.status(404).json({ error: 'Job not found' });
|
|
1287
|
+
return;
|
|
1288
|
+
}
|
|
1289
|
+
res.json({ data: job });
|
|
1290
|
+
});
|
|
1291
|
+
jobsRouter.post('/:id/retry', (req, res) => {
|
|
1292
|
+
if (!this.jobQueue) {
|
|
1293
|
+
res.status(503).json({ error: 'Job queue not available' });
|
|
1294
|
+
return;
|
|
1295
|
+
}
|
|
1296
|
+
const job = this.jobQueue.getJob(String(req.params.id));
|
|
1297
|
+
if (!job) {
|
|
1298
|
+
res.status(404).json({ error: 'Job not found' });
|
|
1299
|
+
return;
|
|
1300
|
+
}
|
|
1301
|
+
if (job.status !== 'dead' && job.status !== 'failed') {
|
|
1302
|
+
res.status(400).json({ error: 'Only dead or failed jobs can be retried' });
|
|
1303
|
+
return;
|
|
1304
|
+
}
|
|
1305
|
+
const newId = this.jobQueue.enqueue(job.type, job.payload);
|
|
1306
|
+
res.json({ data: { originalId: job.id, newJobId: newId } });
|
|
1307
|
+
});
|
|
1217
1308
|
return jobsRouter;
|
|
1218
1309
|
})());
|
|
1219
1310
|
// Initialize plugin system (if enabled)
|
|
1220
1311
|
if (this.config.plugins?.enabled !== false) {
|
|
1221
1312
|
const pluginsDir = this.config.plugins?.dir || undefined;
|
|
1222
1313
|
this.pluginLoader = new PluginLoader(pluginsDir);
|
|
1314
|
+
const seeded = await this.pluginLoader.seedStarterSkills();
|
|
1315
|
+
if (seeded > 0) {
|
|
1316
|
+
this.logger.info(`Starter skills seeded: ${seeded}`);
|
|
1317
|
+
}
|
|
1223
1318
|
const loaded = await this.pluginLoader.loadAll();
|
|
1224
1319
|
const successful = loaded.filter(p => p.status === 'loaded');
|
|
1225
1320
|
if (loaded.length > 0) {
|
|
1226
1321
|
this.logger.info(`Plugins: ${successful.length} loaded, ${loaded.length - successful.length} failed`);
|
|
1227
1322
|
}
|
|
1323
|
+
// Register the create_skill tool so the AI can author new plugins at runtime
|
|
1324
|
+
if (this.providers) {
|
|
1325
|
+
try {
|
|
1326
|
+
const provider = this.providers.getPrimaryProvider();
|
|
1327
|
+
registerCreateSkillTool({
|
|
1328
|
+
loader: this.pluginLoader,
|
|
1329
|
+
generate: async (prompt) => {
|
|
1330
|
+
const result = await provider.complete([{ role: 'user', content: prompt }]);
|
|
1331
|
+
return result.content;
|
|
1332
|
+
},
|
|
1333
|
+
pluginsDir: pluginsDir,
|
|
1334
|
+
});
|
|
1335
|
+
this.logger.info('Self-authoring skills enabled (create_skill tool registered)');
|
|
1336
|
+
}
|
|
1337
|
+
catch {
|
|
1338
|
+
this.logger.warn('Self-authoring skills disabled: no AI provider available');
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1228
1341
|
}
|
|
1229
1342
|
// Initialize memory system (if enabled)
|
|
1230
1343
|
if (this.config.memory?.enabled !== false) {
|
|
@@ -1336,7 +1449,11 @@ export class Auxiora {
|
|
|
1336
1449
|
this.anticipationEngine = new AnticipationEngine();
|
|
1337
1450
|
this.ambientAwarenessCollector = new AmbientAwarenessCollector();
|
|
1338
1451
|
if (this.jobQueue) {
|
|
1339
|
-
|
|
1452
|
+
// Only enqueue if no ambient-flush jobs already exist (prevents buildup on restart)
|
|
1453
|
+
const existing = this.jobQueue.listJobs({ type: 'ambient-flush', status: 'pending' });
|
|
1454
|
+
if (existing.length === 0) {
|
|
1455
|
+
this.jobQueue.enqueue('ambient-flush', {}, { scheduledAt: Date.now() + 5 * 60 * 1000 });
|
|
1456
|
+
}
|
|
1340
1457
|
}
|
|
1341
1458
|
this.logger.info('Ambient intelligence initialized');
|
|
1342
1459
|
// Initialize RAG document store
|
|
@@ -1436,6 +1553,9 @@ export class Auxiora {
|
|
|
1436
1553
|
this.connectorRegistry.register(linkedinConnector);
|
|
1437
1554
|
this.connectorRegistry.register(redditConnector);
|
|
1438
1555
|
this.connectorRegistry.register(instagramConnector);
|
|
1556
|
+
this.connectorRegistry.register(spotifyConnector);
|
|
1557
|
+
this.connectorRegistry.register(hueConnector);
|
|
1558
|
+
this.connectorRegistry.register(obsidianConnector);
|
|
1439
1559
|
this.triggerManager = new TriggerManager(this.connectorRegistry, this.connectorAuthManager);
|
|
1440
1560
|
// Restore connector tokens from vault (per-connector try-catch so one
|
|
1441
1561
|
// failure doesn't prevent others from loading)
|
|
@@ -2285,6 +2405,13 @@ export class Auxiora {
|
|
|
2285
2405
|
}
|
|
2286
2406
|
buildEnrichmentPipeline() {
|
|
2287
2407
|
this.enrichmentPipeline = new EnrichmentPipeline();
|
|
2408
|
+
// Stage 0: Telemetry warnings (order 50) — injects operational insights before everything
|
|
2409
|
+
if (this.telemetryTracker) {
|
|
2410
|
+
const tracker = this.telemetryTracker;
|
|
2411
|
+
this.enrichmentPipeline.addStage(new TelemetryStage(() => tracker.getFlaggedTools(0.7, 5)));
|
|
2412
|
+
}
|
|
2413
|
+
// Group context (order 150) — self-gates via enabled()
|
|
2414
|
+
this.enrichmentPipeline.addStage(new GroupContextStage());
|
|
2288
2415
|
// Stage 1: Memory (order 100)
|
|
2289
2416
|
if (this.memoryStore && this.memoryRetriever) {
|
|
2290
2417
|
this.enrichmentPipeline.addStage(new MemoryStage(this.memoryStore, this.memoryRetriever));
|
|
@@ -3385,6 +3512,8 @@ export class Auxiora {
|
|
|
3385
3512
|
userId: inbound.senderId ?? 'anonymous',
|
|
3386
3513
|
toolsUsed: this.lastToolsUsed.get(session.id) ?? [],
|
|
3387
3514
|
config: this.config,
|
|
3515
|
+
senderName: inbound.senderName,
|
|
3516
|
+
groupContext: inbound.groupContext,
|
|
3388
3517
|
};
|
|
3389
3518
|
const result = await this.enrichmentPipeline.run(enrichCtx);
|
|
3390
3519
|
enrichedPrompt = result.prompt;
|
|
@@ -3834,6 +3963,14 @@ export class Auxiora {
|
|
|
3834
3963
|
if (this.jobQueue) {
|
|
3835
3964
|
await this.jobQueue.stop(30000);
|
|
3836
3965
|
}
|
|
3966
|
+
// Session reflection — capture insights before shutdown
|
|
3967
|
+
if (this.sessionReflector) {
|
|
3968
|
+
try {
|
|
3969
|
+
const reflection = this.sessionReflector.reflect('shutdown');
|
|
3970
|
+
this.sessionReflector.save(reflection);
|
|
3971
|
+
}
|
|
3972
|
+
catch { /* best-effort — don't block shutdown */ }
|
|
3973
|
+
}
|
|
3837
3974
|
this.consciousness?.shutdown();
|
|
3838
3975
|
this.sessions.destroy();
|
|
3839
3976
|
this.vault.lock();
|
|
@@ -4041,6 +4178,126 @@ export class Auxiora {
|
|
|
4041
4178
|
}
|
|
4042
4179
|
res.json(model);
|
|
4043
4180
|
});
|
|
4181
|
+
// --- Memory management ---
|
|
4182
|
+
router.get('/memories', async (_req, res) => {
|
|
4183
|
+
if (!guard(_req, res))
|
|
4184
|
+
return;
|
|
4185
|
+
if (!this.memoryStore) {
|
|
4186
|
+
res.status(404).json({ error: 'Memory store not available' });
|
|
4187
|
+
return;
|
|
4188
|
+
}
|
|
4189
|
+
const category = _req.query?.category;
|
|
4190
|
+
const data = category
|
|
4191
|
+
? await this.memoryStore.getByCategory(category)
|
|
4192
|
+
: await this.memoryStore.getAll();
|
|
4193
|
+
res.json({ data });
|
|
4194
|
+
});
|
|
4195
|
+
router.get('/memories/search', async (req, res) => {
|
|
4196
|
+
if (!guard(req, res))
|
|
4197
|
+
return;
|
|
4198
|
+
if (!this.memoryStore) {
|
|
4199
|
+
res.status(404).json({ error: 'Memory store not available' });
|
|
4200
|
+
return;
|
|
4201
|
+
}
|
|
4202
|
+
const q = req.query?.q;
|
|
4203
|
+
if (!q) {
|
|
4204
|
+
res.status(400).json({ error: 'Missing query parameter q' });
|
|
4205
|
+
return;
|
|
4206
|
+
}
|
|
4207
|
+
const data = await this.memoryStore.search(q);
|
|
4208
|
+
res.json({ data });
|
|
4209
|
+
});
|
|
4210
|
+
router.get('/memories/export', async (_req, res) => {
|
|
4211
|
+
if (!guard(_req, res))
|
|
4212
|
+
return;
|
|
4213
|
+
if (!this.memoryStore) {
|
|
4214
|
+
res.status(404).json({ error: 'Memory store not available' });
|
|
4215
|
+
return;
|
|
4216
|
+
}
|
|
4217
|
+
const data = await this.memoryStore.exportAll();
|
|
4218
|
+
res.json(data);
|
|
4219
|
+
});
|
|
4220
|
+
router.patch('/memories/:id', async (req, res) => {
|
|
4221
|
+
if (!guard(req, res))
|
|
4222
|
+
return;
|
|
4223
|
+
if (!this.memoryStore) {
|
|
4224
|
+
res.status(404).json({ error: 'Memory store not available' });
|
|
4225
|
+
return;
|
|
4226
|
+
}
|
|
4227
|
+
const { content, importance } = req.body ?? {};
|
|
4228
|
+
const updated = await this.memoryStore.update(req.params.id, { content, importance });
|
|
4229
|
+
if (!updated) {
|
|
4230
|
+
res.status(404).json({ error: 'Memory not found' });
|
|
4231
|
+
return;
|
|
4232
|
+
}
|
|
4233
|
+
res.json({ data: updated });
|
|
4234
|
+
});
|
|
4235
|
+
router.delete('/memories/:id', async (req, res) => {
|
|
4236
|
+
if (!guard(req, res))
|
|
4237
|
+
return;
|
|
4238
|
+
if (!this.memoryStore) {
|
|
4239
|
+
res.status(404).json({ error: 'Memory store not available' });
|
|
4240
|
+
return;
|
|
4241
|
+
}
|
|
4242
|
+
const removed = await this.memoryStore.remove(req.params.id);
|
|
4243
|
+
if (!removed) {
|
|
4244
|
+
res.status(404).json({ error: 'Memory not found' });
|
|
4245
|
+
return;
|
|
4246
|
+
}
|
|
4247
|
+
res.json({ success: true });
|
|
4248
|
+
});
|
|
4249
|
+
// --- Selective forgetting ---
|
|
4250
|
+
router.post('/forget', async (req, res) => {
|
|
4251
|
+
if (!guard(req, res))
|
|
4252
|
+
return;
|
|
4253
|
+
const { topic } = req.body ?? {};
|
|
4254
|
+
if (!topic || typeof topic !== 'string') {
|
|
4255
|
+
res.status(400).json({ error: 'Missing required field: topic' });
|
|
4256
|
+
return;
|
|
4257
|
+
}
|
|
4258
|
+
const removed = { memories: 0, decisions: 0 };
|
|
4259
|
+
if (this.memoryStore) {
|
|
4260
|
+
const matches = await this.memoryStore.search(topic);
|
|
4261
|
+
for (const m of matches) {
|
|
4262
|
+
if (await this.memoryStore.remove(m.id))
|
|
4263
|
+
removed.memories++;
|
|
4264
|
+
}
|
|
4265
|
+
}
|
|
4266
|
+
if (this.architect) {
|
|
4267
|
+
try {
|
|
4268
|
+
const dl = this.architect.decisionLog;
|
|
4269
|
+
if (dl) {
|
|
4270
|
+
const decisions = dl.query({ search: topic });
|
|
4271
|
+
for (const d of decisions) {
|
|
4272
|
+
dl.updateDecision(d.id, { status: 'abandoned' });
|
|
4273
|
+
removed.decisions++;
|
|
4274
|
+
}
|
|
4275
|
+
}
|
|
4276
|
+
}
|
|
4277
|
+
catch { }
|
|
4278
|
+
}
|
|
4279
|
+
res.json({ removed });
|
|
4280
|
+
});
|
|
4281
|
+
// --- Full personalization export ---
|
|
4282
|
+
router.get('/export/personalization', async (_req, res) => {
|
|
4283
|
+
if (!guard(_req, res))
|
|
4284
|
+
return;
|
|
4285
|
+
const exportData = {
|
|
4286
|
+
version: 1,
|
|
4287
|
+
exportedAt: Date.now(),
|
|
4288
|
+
};
|
|
4289
|
+
if (this.memoryStore) {
|
|
4290
|
+
exportData.memories = await this.memoryStore.exportAll();
|
|
4291
|
+
}
|
|
4292
|
+
if (this.architect) {
|
|
4293
|
+
try {
|
|
4294
|
+
exportData.architect = JSON.parse(await this.architect.exportData());
|
|
4295
|
+
}
|
|
4296
|
+
catch { }
|
|
4297
|
+
exportData.userModel = this.getCachedUserModel();
|
|
4298
|
+
}
|
|
4299
|
+
res.json(exportData);
|
|
4300
|
+
});
|
|
4044
4301
|
// --- Corrections (Gap 8) ---
|
|
4045
4302
|
router.post('/corrections', async (req, res) => {
|
|
4046
4303
|
if (!guard(req, res))
|
|
@@ -5975,6 +6232,11 @@ function deepMerge(target, source) {
|
|
|
5975
6232
|
}
|
|
5976
6233
|
export { AgentRouter, AgentInstance, } from './agent-router.js';
|
|
5977
6234
|
export { BlockStream, ToolOutputStream, } from './block-stream.js';
|
|
6235
|
+
export { SourceAttributor } from './source-attribution.js';
|
|
6236
|
+
export { ConfidenceAssessor } from './confidence.js';
|
|
6237
|
+
export { ResponseProvenanceTracker } from './response-provenance.js';
|
|
6238
|
+
export { UserModelExporter } from './user-model-export.js';
|
|
6239
|
+
export { createReActJobHandler, createWorkflowJobHandler } from './queue-wiring.js';
|
|
5978
6240
|
export async function startAuxiora(options = {}) {
|
|
5979
6241
|
const auxiora = new Auxiora();
|
|
5980
6242
|
await auxiora.initialize(options);
|