deepclause-sdk 0.0.12 → 0.0.13
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.
|
@@ -631,6 +631,12 @@ set_context_stack(StateIn, Stack, StateOut) :-
|
|
|
631
631
|
set_memory(StateIn, Memory, StateOut) :-
|
|
632
632
|
StateOut = StateIn.put(memory, Memory).
|
|
633
633
|
|
|
634
|
+
%% is_system_memory_message(+Message)
|
|
635
|
+
%% True if the memory message has role=system
|
|
636
|
+
is_system_memory_message(Message) :-
|
|
637
|
+
is_dict(Message),
|
|
638
|
+
get_dict(role, Message, system).
|
|
639
|
+
|
|
634
640
|
%% ============================================================
|
|
635
641
|
%% Tool Scope Helpers
|
|
636
642
|
%% ============================================================
|
|
@@ -999,8 +1005,11 @@ mi_call(task(Desc), StateIn, StateOut) :-
|
|
|
999
1005
|
),
|
|
1000
1006
|
% Use full messages from agent loop result
|
|
1001
1007
|
( get_dict(messages, Result, Messages), Messages \= []
|
|
1002
|
-
-> %
|
|
1003
|
-
|
|
1008
|
+
-> % Preserve system messages from current memory (agent only returns user/assistant)
|
|
1009
|
+
get_memory(StateAfterAgent, OldMemory),
|
|
1010
|
+
include(is_system_memory_message, OldMemory, SystemMessages),
|
|
1011
|
+
append(SystemMessages, Messages, NewMemory),
|
|
1012
|
+
set_memory(StateAfterAgent, NewMemory, StateOut)
|
|
1004
1013
|
; % Fallback: just add task description and response (old behavior)
|
|
1005
1014
|
add_memory(StateAfterAgent, user, InterpDesc, State1),
|
|
1006
1015
|
( get_dict(response, Result, Response), Response \= ""
|
|
@@ -1111,8 +1120,11 @@ mi_call_task_n(Desc, Vars, VarNames, StateIn, StateOut) :-
|
|
|
1111
1120
|
bind_task_variables(Result.variables, VarNames, Vars),
|
|
1112
1121
|
% Use full messages from agent loop result
|
|
1113
1122
|
( get_dict(messages, Result, Messages), Messages \= []
|
|
1114
|
-
-> %
|
|
1115
|
-
|
|
1123
|
+
-> % Preserve system messages from current memory (agent only returns user/assistant)
|
|
1124
|
+
get_memory(StateAfterAgent, OldMemory),
|
|
1125
|
+
include(is_system_memory_message, OldMemory, SystemMessages),
|
|
1126
|
+
append(SystemMessages, Messages, NewMemory),
|
|
1127
|
+
set_memory(StateAfterAgent, NewMemory, StateOut)
|
|
1116
1128
|
; % Fallback: just add task description and response (old behavior)
|
|
1117
1129
|
add_memory(StateAfterAgent, user, InterpDesc, State1),
|
|
1118
1130
|
( get_dict(response, Result, Response), Response \= ""
|
package/package.json
CHANGED
|
@@ -631,6 +631,12 @@ set_context_stack(StateIn, Stack, StateOut) :-
|
|
|
631
631
|
set_memory(StateIn, Memory, StateOut) :-
|
|
632
632
|
StateOut = StateIn.put(memory, Memory).
|
|
633
633
|
|
|
634
|
+
%% is_system_memory_message(+Message)
|
|
635
|
+
%% True if the memory message has role=system
|
|
636
|
+
is_system_memory_message(Message) :-
|
|
637
|
+
is_dict(Message),
|
|
638
|
+
get_dict(role, Message, system).
|
|
639
|
+
|
|
634
640
|
%% ============================================================
|
|
635
641
|
%% Tool Scope Helpers
|
|
636
642
|
%% ============================================================
|
|
@@ -999,8 +1005,11 @@ mi_call(task(Desc), StateIn, StateOut) :-
|
|
|
999
1005
|
),
|
|
1000
1006
|
% Use full messages from agent loop result
|
|
1001
1007
|
( get_dict(messages, Result, Messages), Messages \= []
|
|
1002
|
-
-> %
|
|
1003
|
-
|
|
1008
|
+
-> % Preserve system messages from current memory (agent only returns user/assistant)
|
|
1009
|
+
get_memory(StateAfterAgent, OldMemory),
|
|
1010
|
+
include(is_system_memory_message, OldMemory, SystemMessages),
|
|
1011
|
+
append(SystemMessages, Messages, NewMemory),
|
|
1012
|
+
set_memory(StateAfterAgent, NewMemory, StateOut)
|
|
1004
1013
|
; % Fallback: just add task description and response (old behavior)
|
|
1005
1014
|
add_memory(StateAfterAgent, user, InterpDesc, State1),
|
|
1006
1015
|
( get_dict(response, Result, Response), Response \= ""
|
|
@@ -1111,8 +1120,11 @@ mi_call_task_n(Desc, Vars, VarNames, StateIn, StateOut) :-
|
|
|
1111
1120
|
bind_task_variables(Result.variables, VarNames, Vars),
|
|
1112
1121
|
% Use full messages from agent loop result
|
|
1113
1122
|
( get_dict(messages, Result, Messages), Messages \= []
|
|
1114
|
-
-> %
|
|
1115
|
-
|
|
1123
|
+
-> % Preserve system messages from current memory (agent only returns user/assistant)
|
|
1124
|
+
get_memory(StateAfterAgent, OldMemory),
|
|
1125
|
+
include(is_system_memory_message, OldMemory, SystemMessages),
|
|
1126
|
+
append(SystemMessages, Messages, NewMemory),
|
|
1127
|
+
set_memory(StateAfterAgent, NewMemory, StateOut)
|
|
1116
1128
|
; % Fallback: just add task description and response (old behavior)
|
|
1117
1129
|
add_memory(StateAfterAgent, user, InterpDesc, State1),
|
|
1118
1130
|
( get_dict(response, Result, Response), Response \= ""
|