@peopl-health/nexus 4.4.2 → 4.4.4
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/lib/controllers/assistantController.js +7 -16
- package/lib/index.d.ts +17 -0
- package/lib/index.js +2 -0
- package/lib/routes/index.js +1 -3
- package/lib/utils/MapCache.js +3 -3
- package/package.json +1 -1
|
@@ -10,28 +10,20 @@ const { createAssistant, addMsgAssistant, switchAssistant } = require('../servic
|
|
|
10
10
|
|
|
11
11
|
const { sendMessage, processInstruction, processSystemMessage } = require('../core/NexusMessaging');
|
|
12
12
|
|
|
13
|
-
const
|
|
14
|
-
const { code } = req.body;
|
|
15
|
-
const value = req.body[field];
|
|
13
|
+
const stopAssistantController = async (req, res) => {
|
|
14
|
+
const { code, stop } = req.body;
|
|
16
15
|
if (!code) return res.status(400).json({ success: false, error: 'Code is required' });
|
|
17
16
|
|
|
17
|
+
const stopped = typeof stop === 'string' ? stop === 'true' : !!stop;
|
|
18
18
|
try {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
return res.status(200).json({ success: true, message: successMsg });
|
|
19
|
+
await switchThreadStoppedStatus(code, stopped);
|
|
20
|
+
return res.status(200).json({ success: true, message: stopped ? 'Assistant stopped' : 'Assistant resumed' });
|
|
23
21
|
} catch (error) {
|
|
24
|
-
logger.error(
|
|
25
|
-
return res.status(500).json({ success: false, error:
|
|
22
|
+
logger.error('[AssistantController] Failed to stop assistant', { error: error.message, code });
|
|
23
|
+
return res.status(500).json({ success: false, error: 'Failed to stop assistant' });
|
|
26
24
|
}
|
|
27
25
|
};
|
|
28
26
|
|
|
29
|
-
const activeAssistantController = (req, res) =>
|
|
30
|
-
_updateThreadFlag(req, res, 'active', 'Assistant activated', 'Failed to activate assistant');
|
|
31
|
-
|
|
32
|
-
const stopAssistantController = (req, res) =>
|
|
33
|
-
_updateThreadFlag(req, res, 'stop', 'Assistant stopped', 'Failed to stop assistant');
|
|
34
|
-
|
|
35
27
|
const addInsAssistantController = async (req, res) => {
|
|
36
28
|
const { code, instruction, triggeredBy } = req.body;
|
|
37
29
|
if (!code) return res.status(400).json({ success: false, error: 'Code is required' });
|
|
@@ -124,7 +116,6 @@ const switchAssistantController = async (req, res) => {
|
|
|
124
116
|
};
|
|
125
117
|
|
|
126
118
|
module.exports = {
|
|
127
|
-
activeAssistantController,
|
|
128
119
|
addInsAssistantController,
|
|
129
120
|
addMsgAssistantController,
|
|
130
121
|
createAssistantController,
|
package/lib/index.d.ts
CHANGED
|
@@ -445,6 +445,23 @@ declare module '@peopl-health/nexus' {
|
|
|
445
445
|
handlePendingFunctionCalls(assistant: any, conversationMessages: any[], toolMetadata?: any): Promise<{ outputs: any[]; toolsExecuted: any[] }>;
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
+
export interface MapCacheOptions {
|
|
449
|
+
maxSize?: number;
|
|
450
|
+
ttl?: number | null;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export class MapCache<V = any> {
|
|
454
|
+
constructor(options?: MapCacheOptions);
|
|
455
|
+
get(key: any): V | undefined;
|
|
456
|
+
getEntry(key: any): { value: V; timestamp: number } | null;
|
|
457
|
+
set(key: any, value: V): void;
|
|
458
|
+
has(key: any): boolean;
|
|
459
|
+
delete(key: any): void;
|
|
460
|
+
clear(): void;
|
|
461
|
+
readonly size: number;
|
|
462
|
+
entries(): Array<[string, V]>;
|
|
463
|
+
}
|
|
464
|
+
|
|
448
465
|
export interface SessionEndResult {
|
|
449
466
|
summary: any | null;
|
|
450
467
|
memoriesCreated: number;
|
package/lib/index.js
CHANGED
|
@@ -21,6 +21,7 @@ const { EvalProvider } = require('./eval/EvalProvider');
|
|
|
21
21
|
const { registerTool, hasTool, getToolSchemas, clearRegistry } = require('./services/toolRegistryService');
|
|
22
22
|
const { DefaultMemoryManager } = require('./memory/DefaultMemoryManager');
|
|
23
23
|
const { EnhancedMemoryManager } = require('./memory/EnhancedMemoryManager');
|
|
24
|
+
const MapCache = require('./utils/MapCache');
|
|
24
25
|
|
|
25
26
|
class Nexus {
|
|
26
27
|
constructor(config = {}) {
|
|
@@ -227,4 +228,5 @@ module.exports = {
|
|
|
227
228
|
clearRegistry,
|
|
228
229
|
DefaultMemoryManager,
|
|
229
230
|
EnhancedMemoryManager,
|
|
231
|
+
MapCache,
|
|
230
232
|
};
|
package/lib/routes/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
const express = require('express');
|
|
2
2
|
|
|
3
3
|
const assistantRouteDefinitions = {
|
|
4
|
-
'POST /
|
|
5
|
-
'POST /add-instruction': 'addInsAssistantController',
|
|
4
|
+
'POST /add-instruction': 'addInsAssistantController',
|
|
6
5
|
'POST /add-msg': 'addMsgAssistantController',
|
|
7
6
|
'POST /create': 'createAssistantController',
|
|
8
7
|
'POST /info': 'getInfoAssistantController',
|
|
@@ -126,7 +125,6 @@ const prescriptionController = require('../controllers/prescriptionController');
|
|
|
126
125
|
|
|
127
126
|
const builtInControllers = {
|
|
128
127
|
// Assistant controllers
|
|
129
|
-
activeAssistantController: assistantController.activeAssistantController,
|
|
130
128
|
addInsAssistantController: assistantController.addInsAssistantController,
|
|
131
129
|
addMsgAssistantController: assistantController.addMsgAssistantController,
|
|
132
130
|
createAssistantController: assistantController.createAssistantController,
|
package/lib/utils/MapCache.js
CHANGED
|
@@ -8,17 +8,17 @@ class MapCache {
|
|
|
8
8
|
get(key) {
|
|
9
9
|
const k = String(key);
|
|
10
10
|
const entry = this._cache.get(k);
|
|
11
|
-
if (!entry) return
|
|
11
|
+
if (!entry) return undefined;
|
|
12
12
|
if (this._ttl && (Date.now() - entry.timestamp >= this._ttl)) {
|
|
13
13
|
this._cache.delete(k);
|
|
14
|
-
return
|
|
14
|
+
return undefined;
|
|
15
15
|
}
|
|
16
16
|
return entry.value;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
getEntry(key) {
|
|
20
20
|
const k = String(key);
|
|
21
|
-
return this._cache.get(k) ||
|
|
21
|
+
return this._cache.get(k) || undefined;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
set(key, value) {
|