@optima-chat/agentic-sdk 0.7.0 → 0.9.0
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.
|
@@ -63,7 +63,7 @@ export class ConversationAPI {
|
|
|
63
63
|
throw await toChatError(res, 'getMessages');
|
|
64
64
|
const raw = (await res.json());
|
|
65
65
|
const list = extractEnvelopeArray(raw, 'messages', 'getMessages');
|
|
66
|
-
return list
|
|
66
|
+
return mergeAndMap(list, conversationId);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
// ---- helpers ----
|
|
@@ -141,6 +141,86 @@ function toEpochMs(v) {
|
|
|
141
141
|
const t = new Date(v).getTime();
|
|
142
142
|
return Number.isFinite(t) ? t : 0;
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Walk the raw REST history payload, transforming gateway storage shape
|
|
146
|
+
* (one row per LLM iteration + role:'tool' rows for each tool result) into
|
|
147
|
+
* the SDK consumer shape (one Message per logical turn, toolCalls fully
|
|
148
|
+
* populated). Two passes:
|
|
149
|
+
*
|
|
150
|
+
* 1. Tool-result merge — each `role:'tool'` message's content is folded
|
|
151
|
+
* into the matching prior assistant.toolCalls[].result, the standalone
|
|
152
|
+
* tool entry dropped (#21). Mirrors streaming `updateToolCall`.
|
|
153
|
+
*
|
|
154
|
+
* 2. Consecutive-assistant merge — multi-iteration turns (assistant →
|
|
155
|
+
* tool → assistant → tool → assistant) collapse into one Message:
|
|
156
|
+
* content concatenated, toolCalls concatenated in order. Mirrors
|
|
157
|
+
* streaming where `addToolCall` / `appendContent` keep folding into
|
|
158
|
+
* the same status='streaming' assistant until `finish` (no `finish`
|
|
159
|
+
* between LLM iterations within one user turn).
|
|
160
|
+
*
|
|
161
|
+
* Orphan tool messages (no matching tool_call_id in any prior assistant)
|
|
162
|
+
* are dropped with a console.warn — `Message['role']` doesn't include
|
|
163
|
+
* 'tool', so surfacing them would defeat the purpose.
|
|
164
|
+
*/
|
|
165
|
+
function mergeAndMap(rawList, conversationId) {
|
|
166
|
+
// Pass 1: map + merge tool results
|
|
167
|
+
const afterToolMerge = [];
|
|
168
|
+
for (const raw of rawList) {
|
|
169
|
+
const r = (raw ?? {});
|
|
170
|
+
if (r.role === 'tool') {
|
|
171
|
+
const toolCallId = r.tool_call_id ?? r.toolCallId;
|
|
172
|
+
const result = typeof r.content === 'string' ? r.content : '';
|
|
173
|
+
let merged = false;
|
|
174
|
+
if (toolCallId) {
|
|
175
|
+
for (let i = afterToolMerge.length - 1; i >= 0; i--) {
|
|
176
|
+
const prev = afterToolMerge[i];
|
|
177
|
+
if (prev.role !== 'assistant')
|
|
178
|
+
continue;
|
|
179
|
+
const tcIdx = prev.toolCalls.findIndex((tc) => tc.id === toolCallId);
|
|
180
|
+
if (tcIdx === -1)
|
|
181
|
+
continue;
|
|
182
|
+
const updated = {
|
|
183
|
+
...prev.toolCalls[tcIdx],
|
|
184
|
+
result,
|
|
185
|
+
status: 'completed',
|
|
186
|
+
};
|
|
187
|
+
prev.toolCalls = [
|
|
188
|
+
...prev.toolCalls.slice(0, tcIdx),
|
|
189
|
+
updated,
|
|
190
|
+
...prev.toolCalls.slice(tcIdx + 1),
|
|
191
|
+
];
|
|
192
|
+
merged = true;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (!merged) {
|
|
197
|
+
// Orphan tool message — gateway returned a tool result with no matching
|
|
198
|
+
// assistant tool_call. Drop silently in prod; warn in dev.
|
|
199
|
+
if (typeof console !== 'undefined') {
|
|
200
|
+
console.warn('[agentic-sdk] orphan tool message dropped during history merge', { conversationId, toolCallId });
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
afterToolMerge.push(mapMessage(r, conversationId, afterToolMerge.length));
|
|
206
|
+
}
|
|
207
|
+
// Pass 2: collapse consecutive assistant messages (multi-iteration turns)
|
|
208
|
+
const out = [];
|
|
209
|
+
for (const msg of afterToolMerge) {
|
|
210
|
+
const prev = out[out.length - 1];
|
|
211
|
+
if (msg.role === 'assistant' && prev && prev.role === 'assistant') {
|
|
212
|
+
// Mirror chat-store.appendContent: pure concat, no separator
|
|
213
|
+
prev.content = prev.content + msg.content;
|
|
214
|
+
prev.toolCalls = [...prev.toolCalls, ...msg.toolCalls];
|
|
215
|
+
if (msg.attachments && msg.attachments.length > 0) {
|
|
216
|
+
prev.attachments = [...(prev.attachments ?? []), ...msg.attachments];
|
|
217
|
+
}
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
out.push(msg);
|
|
221
|
+
}
|
|
222
|
+
return out;
|
|
223
|
+
}
|
|
144
224
|
function mapMessage(raw, conversationId, index) {
|
|
145
225
|
const r = (raw ?? {});
|
|
146
226
|
const role = r.role ?? 'assistant';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-api.js","sourceRoot":"","sources":["../../src/client/conversation-api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conversation-api.js","sourceRoot":"","sources":["../../src/client/conversation-api.ts"],"names":[],"mappings":"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"}
|