@axiom-lattice/client-sdk 2.1.8 → 2.1.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ChunkMessageMerger.d.ts","sourceRoot":"","sources":["../src/ChunkMessageMerger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAW,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGjE;;;GAGG;AACH,wBAAgB,yBAAyB;kBA0LlB,YAAY;4BA3DF,GAAG,EAAE;uBAqJZ,GAAG,EAAE;uCAiDW,GAAG,EAAE;mCAaP,MAAM,KAAG,OAAO;;EAwCvD"}
1
+ {"version":3,"file":"ChunkMessageMerger.d.ts","sourceRoot":"","sources":["../src/ChunkMessageMerger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,EACb,MAAM,0BAA0B,CAAC;AAGlC;;;GAGG;AACH,wBAAgB,yBAAyB;kBA8IlB,YAAY;4BAXF,GAAG,EAAE;uBA+HZ,GAAG,EAAE;uCAkDW,GAAG,EAAE;mCAaP,MAAM,KAAG,OAAO;;EAyCvD"}
@@ -11,6 +11,7 @@ import { parse } from "best-effort-json-parser";
11
11
  export function createSimpleMessageMerger() {
12
12
  let messages = [];
13
13
  const messageMap = new Map();
14
+ const toolId_MessageIdMap = new Map();
14
15
  // Tool call builder: messageId -> index -> build state
15
16
  const toolBuilders = new Map();
16
17
  /**
@@ -77,8 +78,11 @@ export function createSimpleMessageMerger() {
77
78
  default:
78
79
  newMessage = { id, role: "ai", content: "" };
79
80
  }
80
- messages.push(newMessage);
81
- messageMap.set(id, messages.length - 1);
81
+ if (newMessage.role !== "tool") {
82
+ // tool message always append to the ai message
83
+ messages.push(newMessage);
84
+ messageMap.set(id, messages.length - 1);
85
+ }
82
86
  return newMessage;
83
87
  }
84
88
  /**
@@ -116,49 +120,7 @@ export function createSimpleMessageMerger() {
116
120
  * @param msgs - Initial messages
117
121
  */
118
122
  function initialMessages(msgs) {
119
- // Store the messages
120
- //messages = msgs;
121
- // Build messageMap: map message IDs to their indices
122
- messageMap.clear();
123
- // messages.forEach((msg, index) => {
124
- // if (msg.id) {
125
- // messageMap.set(msg.id, index);
126
- // }
127
- // });
128
- // Build toolBuilders for messages with tool_calls (for incremental updates)
129
- toolBuilders.clear();
130
- // messages.forEach((msg) => {
131
- // if (
132
- // msg.role === "ai" &&
133
- // msg.tool_calls &&
134
- // Array.isArray(msg.tool_calls)
135
- // ) {
136
- // const builders = new Map<
137
- // number,
138
- // {
139
- // id?: string;
140
- // name?: string;
141
- // args: string;
142
- // }
143
- // >();
144
- // msg.tool_calls.forEach((toolCall: any, index: number) => {
145
- // if (toolCall.id && toolCall.name) {
146
- // const argsStr =
147
- // typeof toolCall.args === "object"
148
- // ? JSON.stringify(toolCall.args)
149
- // : String(toolCall.args || "");
150
- // builders.set(index, {
151
- // id: toolCall.id,
152
- // name: toolCall.name,
153
- // args: argsStr,
154
- // });
155
- // }
156
- // });
157
- // if (builders.size > 0) {
158
- // toolBuilders.set(msg.id, builders);
159
- // }
160
- // }
161
- // });
123
+ reset();
162
124
  msgs.forEach((msg) => {
163
125
  push({ type: msg.role, data: msg });
164
126
  });
@@ -168,15 +130,21 @@ export function createSimpleMessageMerger() {
168
130
  * @param chunk - Message chunk to process
169
131
  */
170
132
  function push(chunk) {
133
+ // console.log("push chunk", chunk);
171
134
  const role = normalizeRole(chunk.type);
172
135
  const message = ensureMessage(chunk.data.id, role);
173
136
  // Accumulate content
174
137
  if (chunk.data.content) {
175
138
  message.content = (message.content || "") + chunk.data.content;
176
139
  }
177
- // Handle tool call ID (for tool messages)
178
- if (message.role === "tool" && chunk.data.tool_call_id) {
179
- message.tool_call_id = chunk.data.tool_call_id;
140
+ // Handle tool start call ID
141
+ if (message.role === "ai" &&
142
+ chunk.data.tool_calls &&
143
+ chunk.data.tool_calls.length > 0) {
144
+ for (const toolCall of chunk.data.tool_calls) {
145
+ toolId_MessageIdMap.set(toolCall.id, message.id);
146
+ }
147
+ message.tool_calls = chunk.data.tool_calls;
180
148
  }
181
149
  // Handle tool call chunks (incremental)
182
150
  if (chunk.data.tool_call_chunks && message.role === "ai") {
@@ -200,51 +168,71 @@ export function createSimpleMessageMerger() {
200
168
  }
201
169
  updateToolCalls(message);
202
170
  }
203
- // Handle complete tool calls (overwrite)
204
- if (chunk.data.tool_calls && message.role === "ai") {
205
- const toolCalls = chunk.data.tool_calls
206
- .filter((tc) => tc.name && tc.id)
207
- .map((tc) => ({
208
- id: tc.id,
209
- name: tc.name,
210
- args: tc.args,
211
- type: "tool_call",
212
- response: tc.response,
213
- status: "success",
214
- }));
215
- if (toolCalls.length > 0) {
216
- message.tool_calls = toolCalls;
171
+ if (message.role === "tool" && chunk.data.tool_call_id) {
172
+ const messageId = toolId_MessageIdMap.get(chunk.data.tool_call_id);
173
+ if (!messageId)
174
+ return;
175
+ const messageIndex = messageMap.get(messageId);
176
+ if (messageIndex !== undefined) {
177
+ const message = messages[messageIndex];
178
+ message.tool_calls = message.tool_calls?.map((tc) => {
179
+ if (tc.id === chunk.data.tool_call_id) {
180
+ return { ...tc, response: chunk.data.content, status: "success" };
181
+ }
182
+ return tc;
183
+ });
184
+ messages[messageIndex] = message;
217
185
  }
218
186
  }
187
+ // // Handle complete tool calls (overwrite)
188
+ // if (chunk.data.tool_calls && message.role === "ai") {
189
+ // const toolCalls: any[] = chunk.data.tool_calls
190
+ // .filter((tc) => tc.name && tc.id)
191
+ // .map((tc) => ({
192
+ // id: tc.id,
193
+ // name: tc.name,
194
+ // args: tc.args,
195
+ // type: "tool_call",
196
+ // response: tc.response,
197
+ // status: "success",
198
+ // }));
199
+ // if (toolCalls.length > 0) {
200
+ // message.tool_calls = toolCalls;
201
+ // }
202
+ // }
219
203
  // Handle tool calls in additional_kwargs
220
- if (chunk.data.additional_kwargs?.tool_calls &&
221
- message.role === "ai" &&
222
- !message.tool_calls) {
223
- const toolCalls = [];
224
- for (const tc of chunk.data.additional_kwargs.tool_calls) {
225
- if (tc.function?.name && tc.id) {
226
- // Convert to our format
227
- const args = typeof tc.function.arguments === "string"
228
- ? safeJsonParse(tc.function.arguments)
229
- : tc.function.arguments || {};
230
- toolCalls.push({
231
- id: tc.id,
232
- name: tc.function.name,
233
- args,
234
- type: "tool_call",
235
- });
236
- }
237
- }
238
- if (toolCalls.length > 0) {
239
- message.tool_calls = toolCalls;
240
- }
241
- }
204
+ // if (
205
+ // chunk.data.additional_kwargs?.tool_calls &&
206
+ // message.role === "ai" &&
207
+ // !message.tool_calls
208
+ // ) {
209
+ // const toolCalls: any[] = [];
210
+ // for (const tc of chunk.data.additional_kwargs.tool_calls) {
211
+ // if (tc.function?.name && tc.id) {
212
+ // // Convert to our format
213
+ // const args =
214
+ // typeof tc.function.arguments === "string"
215
+ // ? safeJsonParse(tc.function.arguments)
216
+ // : tc.function.arguments || {};
217
+ // toolCalls.push({
218
+ // id: tc.id,
219
+ // name: tc.function.name,
220
+ // args,
221
+ // type: "tool_call",
222
+ // });
223
+ // }
224
+ // }
225
+ // if (toolCalls.length > 0) {
226
+ // message.tool_calls = toolCalls;
227
+ // }
228
+ // }
242
229
  }
243
230
  /**
244
231
  * Gets all messages with tool responses merged into tool calls
245
232
  * @returns Array of messages with tool responses merged into tool calls
246
233
  */
247
234
  function getMessages() {
235
+ return [...messages];
248
236
  // Create a map to store tool responses by their tool_call_id
249
237
  const toolResponsesMap = {};
250
238
  // First pass: collect all tool responses
@@ -321,6 +309,7 @@ export function createSimpleMessageMerger() {
321
309
  messages = [];
322
310
  messageMap.clear();
323
311
  toolBuilders.clear();
312
+ toolId_MessageIdMap.clear();
324
313
  }
325
314
  return {
326
315
  push,
@@ -1 +1 @@
1
- {"version":3,"file":"ChunkMessageMerger.js","sourceRoot":"","sources":["../src/ChunkMessageMerger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChunkMessageMerger.js","sourceRoot":"","sources":["../src/ChunkMessageMerger.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2976,6 +2976,7 @@ var import_best_effort_json_parser = require("best-effort-json-parser");
2976
2976
  function createSimpleMessageMerger() {
2977
2977
  let messages = [];
2978
2978
  const messageMap = /* @__PURE__ */ new Map();
2979
+ const toolId_MessageIdMap = /* @__PURE__ */ new Map();
2979
2980
  const toolBuilders = /* @__PURE__ */ new Map();
2980
2981
  function normalizeRole(type) {
2981
2982
  switch (type) {
@@ -3023,8 +3024,10 @@ function createSimpleMessageMerger() {
3023
3024
  default:
3024
3025
  newMessage = { id, role: "ai", content: "" };
3025
3026
  }
3026
- messages.push(newMessage);
3027
- messageMap.set(id, messages.length - 1);
3027
+ if (newMessage.role !== "tool") {
3028
+ messages.push(newMessage);
3029
+ messageMap.set(id, messages.length - 1);
3030
+ }
3028
3031
  return newMessage;
3029
3032
  }
3030
3033
  function updateToolCalls(message) {
@@ -3051,8 +3054,7 @@ function createSimpleMessageMerger() {
3051
3054
  }
3052
3055
  }
3053
3056
  function initialMessages(msgs) {
3054
- messageMap.clear();
3055
- toolBuilders.clear();
3057
+ reset();
3056
3058
  msgs.forEach((msg) => {
3057
3059
  push({ type: msg.role, data: msg });
3058
3060
  });
@@ -3063,8 +3065,11 @@ function createSimpleMessageMerger() {
3063
3065
  if (chunk.data.content) {
3064
3066
  message.content = (message.content || "") + chunk.data.content;
3065
3067
  }
3066
- if (message.role === "tool" && chunk.data.tool_call_id) {
3067
- message.tool_call_id = chunk.data.tool_call_id;
3068
+ if (message.role === "ai" && chunk.data.tool_calls && chunk.data.tool_calls.length > 0) {
3069
+ for (const toolCall of chunk.data.tool_calls) {
3070
+ toolId_MessageIdMap.set(toolCall.id, message.id);
3071
+ }
3072
+ message.tool_calls = chunk.data.tool_calls;
3068
3073
  }
3069
3074
  if (chunk.data.tool_call_chunks && message.role === "ai") {
3070
3075
  let builders = toolBuilders.get(message.id);
@@ -3087,38 +3092,25 @@ function createSimpleMessageMerger() {
3087
3092
  }
3088
3093
  updateToolCalls(message);
3089
3094
  }
3090
- if (chunk.data.tool_calls && message.role === "ai") {
3091
- const toolCalls = chunk.data.tool_calls.filter((tc) => tc.name && tc.id).map((tc) => ({
3092
- id: tc.id,
3093
- name: tc.name,
3094
- args: tc.args,
3095
- type: "tool_call",
3096
- response: tc.response,
3097
- status: "success"
3098
- }));
3099
- if (toolCalls.length > 0) {
3100
- message.tool_calls = toolCalls;
3101
- }
3102
- }
3103
- if (chunk.data.additional_kwargs?.tool_calls && message.role === "ai" && !message.tool_calls) {
3104
- const toolCalls = [];
3105
- for (const tc of chunk.data.additional_kwargs.tool_calls) {
3106
- if (tc.function?.name && tc.id) {
3107
- const args = typeof tc.function.arguments === "string" ? safeJsonParse(tc.function.arguments) : tc.function.arguments || {};
3108
- toolCalls.push({
3109
- id: tc.id,
3110
- name: tc.function.name,
3111
- args,
3112
- type: "tool_call"
3113
- });
3114
- }
3115
- }
3116
- if (toolCalls.length > 0) {
3117
- message.tool_calls = toolCalls;
3095
+ if (message.role === "tool" && chunk.data.tool_call_id) {
3096
+ const messageId = toolId_MessageIdMap.get(chunk.data.tool_call_id);
3097
+ if (!messageId)
3098
+ return;
3099
+ const messageIndex = messageMap.get(messageId);
3100
+ if (messageIndex !== void 0) {
3101
+ const message2 = messages[messageIndex];
3102
+ message2.tool_calls = message2.tool_calls?.map((tc) => {
3103
+ if (tc.id === chunk.data.tool_call_id) {
3104
+ return { ...tc, response: chunk.data.content, status: "success" };
3105
+ }
3106
+ return tc;
3107
+ });
3108
+ messages[messageIndex] = message2;
3118
3109
  }
3119
3110
  }
3120
3111
  }
3121
3112
  function getMessages() {
3113
+ return [...messages];
3122
3114
  const toolResponsesMap = {};
3123
3115
  messages.forEach((message) => {
3124
3116
  if (message.role === "tool" && message.tool_call_id) {
@@ -3174,6 +3166,7 @@ function createSimpleMessageMerger() {
3174
3166
  messages = [];
3175
3167
  messageMap.clear();
3176
3168
  toolBuilders.clear();
3169
+ toolId_MessageIdMap.clear();
3177
3170
  }
3178
3171
  return {
3179
3172
  push,