@mastra/client-js 0.14.0-alpha.0 → 0.14.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.
package/dist/index.js CHANGED
@@ -223,11 +223,7 @@ async function executeToolCallAndRespond({
223
223
  }
224
224
  );
225
225
  const updatedMessages = [
226
- {
227
- role: "user",
228
- content: params.messages
229
- },
230
- ...response.response.messages,
226
+ ...response.response.messages || [],
231
227
  {
232
228
  role: "tool",
233
229
  content: [
@@ -323,7 +319,7 @@ var Agent = class extends BaseResource {
323
319
  }
324
320
  async generate(params) {
325
321
  console.warn(
326
- "Deprecation NOTICE:Generate method will switch to use generateVNext implementation September 30th, 2025. Please use generateLegacy if you don't want to upgrade just yet."
322
+ "Deprecation NOTICE: Generate method will switch to use generateVNext implementation the week of September 30th, 2025. Please use generateLegacy if you don't want to upgrade just yet."
327
323
  );
328
324
  return this.generateLegacy(params);
329
325
  }
@@ -368,10 +364,6 @@ var Agent = class extends BaseResource {
368
364
  }
369
365
  );
370
366
  const updatedMessages = [
371
- {
372
- role: "user",
373
- content: params.messages
374
- },
375
367
  ...response.response.messages,
376
368
  {
377
369
  role: "tool",
@@ -704,7 +696,7 @@ var Agent = class extends BaseResource {
704
696
  */
705
697
  async stream(params) {
706
698
  console.warn(
707
- "Deprecation NOTICE:\nStream method will switch to use streamVNext implementation September 30th, 2025. Please use streamLegacy if you don't want to upgrade just yet."
699
+ "Deprecation NOTICE:\nStream method will switch to use streamVNext implementation the week of September 30th, 2025. Please use streamLegacy if you don't want to upgrade just yet."
708
700
  );
709
701
  return this.streamLegacy(params);
710
702
  }
@@ -1042,9 +1034,11 @@ var Agent = class extends BaseResource {
1042
1034
  if (toolCall) {
1043
1035
  toolCalls.push(toolCall);
1044
1036
  }
1037
+ let shouldExecuteClientTool = false;
1045
1038
  for (const toolCall2 of toolCalls) {
1046
1039
  const clientTool = processedParams.clientTools?.[toolCall2.toolName];
1047
1040
  if (clientTool && clientTool.execute) {
1041
+ shouldExecuteClientTool = true;
1048
1042
  const result = await clientTool.execute(
1049
1043
  {
1050
1044
  context: toolCall2?.args,
@@ -1081,9 +1075,7 @@ var Agent = class extends BaseResource {
1081
1075
  toolInvocation.state = "result";
1082
1076
  toolInvocation.result = result;
1083
1077
  }
1084
- const originalMessages = processedParams.messages;
1085
- const messageArray = Array.isArray(originalMessages) ? originalMessages : [originalMessages];
1086
- const updatedMessages = lastMessage != null ? [...messageArray, ...messages.filter((m) => m.id !== lastMessage.id), lastMessage] : [...messageArray, ...messages];
1078
+ const updatedMessages = lastMessage != null ? [...messages.filter((m) => m.id !== lastMessage.id), lastMessage] : [...messages];
1087
1079
  this.processStreamResponse_vNext(
1088
1080
  {
1089
1081
  ...processedParams,
@@ -1095,6 +1087,11 @@ var Agent = class extends BaseResource {
1095
1087
  });
1096
1088
  }
1097
1089
  }
1090
+ if (!shouldExecuteClientTool) {
1091
+ setTimeout(() => {
1092
+ writable.close();
1093
+ }, 0);
1094
+ }
1098
1095
  } else {
1099
1096
  setTimeout(() => {
1100
1097
  writable.close();
@@ -1259,12 +1256,10 @@ var Agent = class extends BaseResource {
1259
1256
  } finally {
1260
1257
  writer.releaseLock();
1261
1258
  }
1262
- const originalMessages = processedParams.messages;
1263
- const messageArray = Array.isArray(originalMessages) ? originalMessages : [originalMessages];
1264
1259
  this.processStreamResponse(
1265
1260
  {
1266
1261
  ...processedParams,
1267
- messages: [...messageArray, ...messages.filter((m) => m.id !== lastMessage.id), lastMessage]
1262
+ messages: [...messages.filter((m) => m.id !== lastMessage.id), lastMessage]
1268
1263
  },
1269
1264
  writable
1270
1265
  ).catch((error) => {
@@ -1709,10 +1704,20 @@ var Workflow = class extends BaseResource {
1709
1704
  return {
1710
1705
  runId,
1711
1706
  start: async (p) => {
1712
- return this.start({ runId, inputData: p.inputData, runtimeContext: p.runtimeContext });
1707
+ return this.start({
1708
+ runId,
1709
+ inputData: p.inputData,
1710
+ runtimeContext: p.runtimeContext,
1711
+ tracingOptions: p.tracingOptions
1712
+ });
1713
1713
  },
1714
1714
  startAsync: async (p) => {
1715
- return this.startAsync({ runId, inputData: p.inputData, runtimeContext: p.runtimeContext });
1715
+ return this.startAsync({
1716
+ runId,
1717
+ inputData: p.inputData,
1718
+ runtimeContext: p.runtimeContext,
1719
+ tracingOptions: p.tracingOptions
1720
+ });
1716
1721
  },
1717
1722
  watch: async (onRecord) => {
1718
1723
  return this.watch({ runId }, onRecord);
@@ -1721,10 +1726,22 @@ var Workflow = class extends BaseResource {
1721
1726
  return this.stream({ runId, inputData: p.inputData, runtimeContext: p.runtimeContext });
1722
1727
  },
1723
1728
  resume: async (p) => {
1724
- return this.resume({ runId, step: p.step, resumeData: p.resumeData, runtimeContext: p.runtimeContext });
1729
+ return this.resume({
1730
+ runId,
1731
+ step: p.step,
1732
+ resumeData: p.resumeData,
1733
+ runtimeContext: p.runtimeContext,
1734
+ tracingOptions: p.tracingOptions
1735
+ });
1725
1736
  },
1726
1737
  resumeAsync: async (p) => {
1727
- return this.resumeAsync({ runId, step: p.step, resumeData: p.resumeData, runtimeContext: p.runtimeContext });
1738
+ return this.resumeAsync({
1739
+ runId,
1740
+ step: p.step,
1741
+ resumeData: p.resumeData,
1742
+ runtimeContext: p.runtimeContext,
1743
+ tracingOptions: p.tracingOptions
1744
+ });
1728
1745
  },
1729
1746
  resumeStreamVNext: async (p) => {
1730
1747
  return this.resumeStreamVNext({
@@ -1745,7 +1762,7 @@ var Workflow = class extends BaseResource {
1745
1762
  const runtimeContext = parseClientRuntimeContext(params.runtimeContext);
1746
1763
  return this.request(`/api/workflows/${this.workflowId}/start?runId=${params.runId}`, {
1747
1764
  method: "POST",
1748
- body: { inputData: params?.inputData, runtimeContext }
1765
+ body: { inputData: params?.inputData, runtimeContext, tracingOptions: params.tracingOptions }
1749
1766
  });
1750
1767
  }
1751
1768
  /**
@@ -1757,6 +1774,7 @@ var Workflow = class extends BaseResource {
1757
1774
  step,
1758
1775
  runId,
1759
1776
  resumeData,
1777
+ tracingOptions,
1760
1778
  ...rest
1761
1779
  }) {
1762
1780
  const runtimeContext = parseClientRuntimeContext(rest.runtimeContext);
@@ -1765,7 +1783,8 @@ var Workflow = class extends BaseResource {
1765
1783
  body: {
1766
1784
  step,
1767
1785
  resumeData,
1768
- runtimeContext
1786
+ runtimeContext,
1787
+ tracingOptions
1769
1788
  }
1770
1789
  });
1771
1790
  }
@@ -1782,7 +1801,7 @@ var Workflow = class extends BaseResource {
1782
1801
  const runtimeContext = parseClientRuntimeContext(params.runtimeContext);
1783
1802
  return this.request(`/api/workflows/${this.workflowId}/start-async?${searchParams.toString()}`, {
1784
1803
  method: "POST",
1785
- body: { inputData: params.inputData, runtimeContext }
1804
+ body: { inputData: params.inputData, runtimeContext, tracingOptions: params.tracingOptions }
1786
1805
  });
1787
1806
  }
1788
1807
  /**
@@ -1800,7 +1819,7 @@ var Workflow = class extends BaseResource {
1800
1819
  `/api/workflows/${this.workflowId}/stream?${searchParams.toString()}`,
1801
1820
  {
1802
1821
  method: "POST",
1803
- body: { inputData: params.inputData, runtimeContext },
1822
+ body: { inputData: params.inputData, runtimeContext, tracingOptions: params.tracingOptions },
1804
1823
  stream: true
1805
1824
  }
1806
1825
  );
@@ -1898,7 +1917,12 @@ var Workflow = class extends BaseResource {
1898
1917
  `/api/workflows/${this.workflowId}/streamVNext?${searchParams.toString()}`,
1899
1918
  {
1900
1919
  method: "POST",
1901
- body: { inputData: params.inputData, runtimeContext, closeOnSuspend: params.closeOnSuspend },
1920
+ body: {
1921
+ inputData: params.inputData,
1922
+ runtimeContext,
1923
+ closeOnSuspend: params.closeOnSuspend,
1924
+ tracingOptions: params.tracingOptions
1925
+ },
1902
1926
  stream: true
1903
1927
  }
1904
1928
  );
@@ -1946,7 +1970,8 @@ var Workflow = class extends BaseResource {
1946
1970
  body: {
1947
1971
  step: params.step,
1948
1972
  resumeData: params.resumeData,
1949
- runtimeContext
1973
+ runtimeContext,
1974
+ tracingOptions: params.tracingOptions
1950
1975
  }
1951
1976
  });
1952
1977
  }
@@ -1962,7 +1987,8 @@ var Workflow = class extends BaseResource {
1962
1987
  body: {
1963
1988
  step: params.step,
1964
1989
  resumeData: params.resumeData,
1965
- runtimeContext
1990
+ runtimeContext,
1991
+ tracingOptions: params.tracingOptions
1966
1992
  }
1967
1993
  });
1968
1994
  }
@@ -2542,6 +2568,25 @@ var Observability = class extends BaseResource {
2542
2568
  const queryString = searchParams.toString();
2543
2569
  return this.request(`/api/observability/traces${queryString ? `?${queryString}` : ""}`);
2544
2570
  }
2571
+ /**
2572
+ * Retrieves scores by trace ID and span ID
2573
+ * @param params - Parameters containing trace ID, span ID, and pagination options
2574
+ * @returns Promise containing scores and pagination info
2575
+ */
2576
+ getScoresBySpan(params) {
2577
+ const { traceId, spanId, page, perPage } = params;
2578
+ const searchParams = new URLSearchParams();
2579
+ if (page !== void 0) {
2580
+ searchParams.set("page", String(page));
2581
+ }
2582
+ if (perPage !== void 0) {
2583
+ searchParams.set("perPage", String(perPage));
2584
+ }
2585
+ const queryString = searchParams.toString();
2586
+ return this.request(
2587
+ `/api/observability/traces/${encodeURIComponent(traceId)}/${encodeURIComponent(spanId)}/scores${queryString ? `?${queryString}` : ""}`
2588
+ );
2589
+ }
2545
2590
  score(params) {
2546
2591
  return this.request(`/api/observability/traces/score`, {
2547
2592
  method: "POST",
@@ -3212,7 +3257,7 @@ var MastraClient = class extends BaseResource {
3212
3257
  * @returns Promise containing the scorer
3213
3258
  */
3214
3259
  getScorer(scorerId) {
3215
- return this.request(`/api/scores/scorers/${scorerId}`);
3260
+ return this.request(`/api/scores/scorers/${encodeURIComponent(scorerId)}`);
3216
3261
  }
3217
3262
  getScoresByScorerId(params) {
3218
3263
  const { page, perPage, scorerId, entityId, entityType } = params;
@@ -3230,7 +3275,7 @@ var MastraClient = class extends BaseResource {
3230
3275
  searchParams.set("perPage", String(perPage));
3231
3276
  }
3232
3277
  const queryString = searchParams.toString();
3233
- return this.request(`/api/scores/scorer/${scorerId}${queryString ? `?${queryString}` : ""}`);
3278
+ return this.request(`/api/scores/scorer/${encodeURIComponent(scorerId)}${queryString ? `?${queryString}` : ""}`);
3234
3279
  }
3235
3280
  /**
3236
3281
  * Retrieves scores by run ID
@@ -3247,7 +3292,7 @@ var MastraClient = class extends BaseResource {
3247
3292
  searchParams.set("perPage", String(perPage));
3248
3293
  }
3249
3294
  const queryString = searchParams.toString();
3250
- return this.request(`/api/scores/run/${runId}${queryString ? `?${queryString}` : ""}`);
3295
+ return this.request(`/api/scores/run/${encodeURIComponent(runId)}${queryString ? `?${queryString}` : ""}`);
3251
3296
  }
3252
3297
  /**
3253
3298
  * Retrieves scores by entity ID and type
@@ -3264,7 +3309,9 @@ var MastraClient = class extends BaseResource {
3264
3309
  searchParams.set("perPage", String(perPage));
3265
3310
  }
3266
3311
  const queryString = searchParams.toString();
3267
- return this.request(`/api/scores/entity/${entityType}/${entityId}${queryString ? `?${queryString}` : ""}`);
3312
+ return this.request(
3313
+ `/api/scores/entity/${encodeURIComponent(entityType)}/${encodeURIComponent(entityId)}${queryString ? `?${queryString}` : ""}`
3314
+ );
3268
3315
  }
3269
3316
  /**
3270
3317
  * Saves a score
@@ -3290,6 +3337,9 @@ var MastraClient = class extends BaseResource {
3290
3337
  getAITraces(params) {
3291
3338
  return this.observability.getTraces(params);
3292
3339
  }
3340
+ getScoresBySpan(params) {
3341
+ return this.observability.getScoresBySpan(params);
3342
+ }
3293
3343
  score(params) {
3294
3344
  return this.observability.score(params);
3295
3345
  }