@peopl-health/nexus 3.11.0 → 3.11.2

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.
@@ -36,7 +36,7 @@ class AssistantProcessor {
36
36
  async sendResponse(code, result) {
37
37
  if (!this.sendMessage) throw new Error('sendMessage function not configured');
38
38
  if (!result?.output) return null;
39
- await this.sendMessage({ code, body: result.output, processed: true, origin: 'assistant', tools_executed: result.tools_executed, prompt: result.prompt, response_id: result.response_id });
39
+ await this.sendMessage({ code, body: result.output, processed: true, origin: 'assistant', tools_executed: result.tools_executed, prompt: result.prompt, preset: result.preset, response_id: result.response_id });
40
40
  return result.output;
41
41
  }
42
42
 
@@ -87,6 +87,7 @@ const messageSchema = new mongoose.Schema({
87
87
  recoveryMessageId: { type: String, default: null }
88
88
  },
89
89
  prompt: { type: Object, default: null },
90
+ preset: { type: Object, default: null },
90
91
  response_id: { type: String, default: null }
91
92
  }, { timestamps: true });
92
93
 
@@ -27,6 +27,7 @@ const predictionMetricsSchema = new mongoose.Schema({
27
27
  tool_ids: { type: [String], default: [] },
28
28
  preset_id: { type: String, default: null, index: true },
29
29
  preset_version: { type: String, default: null },
30
+ preset: { type: Object, default: null },
30
31
  source: { type: String, default: () => process.env.USER_DB_MONGO }
31
32
  }, { timestamps: true });
32
33
 
@@ -432,7 +432,7 @@ class OpenAIResponsesProvider {
432
432
  }
433
433
  }
434
434
 
435
- return {
435
+ const result = {
436
436
  ...finalResponse,
437
437
  thread_id: threadId,
438
438
  assistant_id: assistantId,
@@ -445,7 +445,9 @@ class OpenAIResponsesProvider {
445
445
  tool_ids: toolIds,
446
446
  preset_id: resolvedPresetId,
447
447
  preset_version: resolvedPresetVersion,
448
+ preset: resolvedPresetId ? { id: resolvedPresetId, version: resolvedPresetVersion } : null,
448
449
  };
450
+ return result;
449
451
  }
450
452
 
451
453
  async transcribeAudio({ file, model, language, responseFormat, temperature, prompt } = {}) {
@@ -297,6 +297,7 @@ const replyAssistantCore = async (code, message_ = null, thread_ = null, runOpti
297
297
  tool_ids: run?.tool_ids || [],
298
298
  preset_id: run?.preset_id || null,
299
299
  preset_version: run?.preset_version || null,
300
+ preset: run?.preset || null,
300
301
  }).catch(err => logger.error('[replyAssistant] Failed to store metrics', { error: err.message }));
301
302
 
302
303
  const alertThreshold = parseInt(process.env.TOKEN_ALERT_THRESHOLD, 10);
@@ -311,7 +312,7 @@ const replyAssistantCore = async (code, message_ = null, thread_ = null, runOpti
311
312
  }
312
313
  }
313
314
 
314
- return { output, tools_executed, prompt_config: run?.prompt || null, response_id: run?.id || null };
315
+ return { output, tools_executed, prompt: run?.prompt || null, preset: run?.preset || null, response_id: run?.id || null };
315
316
  } catch (error) {
316
317
  logger.error('[replyAssistant] Error in reply', {
317
318
  error: error.message,
@@ -88,6 +88,7 @@ class MongoStorage {
88
88
  origin: messageData.origin || 'whatsapp_platform',
89
89
  tools_executed: messageData.tools_executed,
90
90
  prompt: messageData.prompt || null,
91
+ preset: messageData.preset || null,
91
92
  response_id: messageData.response_id || null,
92
93
  statusInfo: messageData.statusInfo || null,
93
94
  clinical_context: messageData.clinicalContext || null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peopl-health/nexus",
3
- "version": "3.11.0",
3
+ "version": "3.11.2",
4
4
  "description": "Core messaging and assistant library for WhatsApp communication platforms",
5
5
  "keywords": [
6
6
  "whatsapp",