@peopl-health/nexus 3.14.0 → 3.14.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.
|
@@ -16,6 +16,7 @@ const scheduledMessageSchema = new mongoose.Schema({
|
|
|
16
16
|
wa_id: { type: String, default: null },
|
|
17
17
|
frontendId: { type: String, default: null },
|
|
18
18
|
flowActionPayload: { type: mongoose.Schema.Types.Mixed, default: null },
|
|
19
|
+
triggeredBy: { type: String, default: null },
|
|
19
20
|
createdAt: { type: Date, default: Date.now }
|
|
20
21
|
});
|
|
21
22
|
|
|
@@ -328,6 +328,7 @@ class OpenAIResponsesProvider {
|
|
|
328
328
|
presetToolIds,
|
|
329
329
|
presetId: resolvedPresetId,
|
|
330
330
|
presetVersion: resolvedPresetVersion,
|
|
331
|
+
modelConfig,
|
|
331
332
|
} = await composePrompt({
|
|
332
333
|
presetId,
|
|
333
334
|
presetVersion,
|
|
@@ -392,11 +393,15 @@ class OpenAIResponsesProvider {
|
|
|
392
393
|
if (promptVersion) promptConfig.version = String(promptVersion);
|
|
393
394
|
|
|
394
395
|
const apiCallConfig = {
|
|
395
|
-
|
|
396
|
+
...modelConfig,
|
|
396
397
|
instructions: instructions || additionalInstructions || devContent || '',
|
|
397
398
|
metadata,
|
|
398
399
|
tool_choice: prePromptResult?.toolChoice || toolChoice
|
|
399
400
|
};
|
|
401
|
+
|
|
402
|
+
if (!resolvedPresetId) {
|
|
403
|
+
apiCallConfig.prompt = promptConfig;
|
|
404
|
+
}
|
|
400
405
|
if (activeToolSchemas.length > 0) {
|
|
401
406
|
apiCallConfig.tools = activeToolSchemas.map(schema => {
|
|
402
407
|
if (schema.type === 'function' && schema.function) {
|
|
@@ -453,6 +458,7 @@ class OpenAIResponsesProvider {
|
|
|
453
458
|
preset_id: resolvedPresetId,
|
|
454
459
|
preset_version: resolvedPresetVersion,
|
|
455
460
|
preset: resolvedPresetId ? { id: resolvedPresetId, version: resolvedPresetVersion } : null,
|
|
461
|
+
model_config: modelConfig || null,
|
|
456
462
|
};
|
|
457
463
|
return result;
|
|
458
464
|
}
|
|
@@ -78,6 +78,7 @@ async function composePrompt({ presetId = null, presetVersion = null, promptId =
|
|
|
78
78
|
let presetSnippetIds = null;
|
|
79
79
|
let presetToolIds = null;
|
|
80
80
|
let resolvedPresetVersion = null;
|
|
81
|
+
let modelConfig = null;
|
|
81
82
|
|
|
82
83
|
async function applyPreset(id, version = null) {
|
|
83
84
|
const preset = await fetchPreset(id, version);
|
|
@@ -88,6 +89,14 @@ async function composePrompt({ presetId = null, presetVersion = null, promptId =
|
|
|
88
89
|
presetSnippetIds = preset.snippets || [];
|
|
89
90
|
presetToolIds = preset.tools || [];
|
|
90
91
|
resolvedPresetVersion = preset.version ? String(preset.version) : null;
|
|
92
|
+
|
|
93
|
+
if (preset.model_config) {
|
|
94
|
+
try {
|
|
95
|
+
modelConfig = JSON.parse(preset.model_config);
|
|
96
|
+
} catch (err) {
|
|
97
|
+
logger.error('[promptComposer] Invalid model_config JSON in preset', { presetId: id, error: err.message });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
91
100
|
const promptRecordId = preset.prompt?.[0];
|
|
92
101
|
if (promptRecordId) {
|
|
93
102
|
const promptRecords = await getRecordByFilter(Config_ID, 'responses', `RECORD_ID()="${promptRecordId}"`);
|
|
@@ -141,6 +150,7 @@ async function composePrompt({ presetId = null, presetVersion = null, promptId =
|
|
|
141
150
|
presetToolIds,
|
|
142
151
|
presetId: presetId || null,
|
|
143
152
|
presetVersion: resolvedPresetVersion,
|
|
153
|
+
modelConfig,
|
|
144
154
|
};
|
|
145
155
|
}
|
|
146
156
|
|
|
@@ -53,6 +53,7 @@ class MongoStorage {
|
|
|
53
53
|
body: values.body,
|
|
54
54
|
media: values.media,
|
|
55
55
|
type: values.interactive_type ? 'interactive' : values.media ? 'media' : 'message',
|
|
56
|
+
triggeredBy: values.triggeredBy,
|
|
56
57
|
...(messageData.frontendId && { frontendId: messageData.frontendId })
|
|
57
58
|
}));
|
|
58
59
|
} else {
|