@mastra/server 1.60.0-alpha.13 → 1.60.0-alpha.14

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{api-schema-manifest-BdBDDuGv.js → api-schema-manifest-Bx_zU5qw.js} +2 -2
  3. package/dist/{api-schema-manifest-BdBDDuGv.js.map → api-schema-manifest-Bx_zU5qw.js.map} +1 -1
  4. package/dist/{api-schema-manifest-CLvx-Pd5.cjs → api-schema-manifest-DPgfugJT.cjs} +2 -2
  5. package/dist/{api-schema-manifest-CLvx-Pd5.cjs.map → api-schema-manifest-DPgfugJT.cjs.map} +1 -1
  6. package/dist/{dist-0PQDswJk.js → dist-Cw-T1gX6.js} +56 -10
  7. package/dist/dist-Cw-T1gX6.js.map +1 -0
  8. package/dist/{dist-Jy_bgZ7X.cjs → dist-DERatX43.cjs} +56 -10
  9. package/dist/dist-DERatX43.cjs.map +1 -0
  10. package/dist/docs/SKILL.md +1 -1
  11. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  12. package/dist/{routes-CT1kQN7A.js → routes-Bh2p-WqG.js} +6 -6
  13. package/dist/{routes-CT1kQN7A.js.map → routes-Bh2p-WqG.js.map} +1 -1
  14. package/dist/{routes-B0T6HEoP.cjs → routes-CdbboDwv.cjs} +6 -6
  15. package/dist/{routes-B0T6HEoP.cjs.map → routes-CdbboDwv.cjs.map} +1 -1
  16. package/dist/server/handlers/agent-builder.cjs +1 -1
  17. package/dist/server/handlers/agent-builder.js +1 -1
  18. package/dist/server/handlers/agent-controller.cjs +19 -18
  19. package/dist/server/handlers/agent-controller.cjs.map +1 -1
  20. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  21. package/dist/server/handlers/agent-controller.js +19 -18
  22. package/dist/server/handlers/agent-controller.js.map +1 -1
  23. package/dist/server/handlers/datasets.d.ts +6 -6
  24. package/dist/server/handlers/stored-agents.cjs +2 -2
  25. package/dist/server/handlers/stored-agents.js +2 -2
  26. package/dist/server/handlers/system.cjs +1 -1
  27. package/dist/server/handlers/system.js +1 -1
  28. package/dist/server/schemas/datasets.d.ts +3 -3
  29. package/dist/server/schemas/index.cjs +5 -5
  30. package/dist/server/schemas/index.js +5 -5
  31. package/dist/server/server-adapter/index.cjs +2 -2
  32. package/dist/server/server-adapter/index.js +2 -2
  33. package/dist/server/server-adapter/routes/datasets.d.ts +6 -6
  34. package/package.json +5 -5
  35. package/dist/dist-0PQDswJk.js.map +0 -1
  36. package/dist/dist-Jy_bgZ7X.cjs.map +0 -1
@@ -21,8 +21,8 @@ let _mastra_core_features = require("@mastra/core/features");
21
21
  let _mastra_core_observability = require("@mastra/core/observability");
22
22
  let _mastra_core_request_context = require("@mastra/core/request-context");
23
23
  let _mastra_core_processors = require("@mastra/core/processors");
24
- let fs = require("fs");
25
24
  let _mastra_core_workflows = require("@mastra/core/workflows");
25
+ let fs = require("fs");
26
26
  let os = require("os");
27
27
  let path = require("path");
28
28
  let module$1 = require("module");
@@ -4693,7 +4693,7 @@ function splitLines(text) {
4693
4693
  return result;
4694
4694
  }
4695
4695
  //#endregion
4696
- //#region ../memory/dist/src-t_4yoTX9.js
4696
+ //#region ../memory/dist/src-aTfbkxBl.js
4697
4697
  var __defProp$3 = Object.defineProperty;
4698
4698
  var __exportAll = (all, no_symbols) => {
4699
4699
  let target = {};
@@ -23520,6 +23520,52 @@ function detectDegenerateRepetition(text) {
23520
23520
  return false;
23521
23521
  }
23522
23522
  /**
23523
+ * Build a single-line diagnostic description of output flagged by
23524
+ * {@link detectDegenerateRepetition}. Used when logging or surfacing a
23525
+ * degenerate-output failure so the discarded model output can be inspected —
23526
+ * without it there is no way to tell a real repetition loop apart from a
23527
+ * detector false-positive on legitimately repetitive content.
23528
+ *
23529
+ * Reuses the detector's sampling parameters (200-char windows, ~50 samples)
23530
+ * so the reported duplicate ratio and most-repeated window match what
23531
+ * triggered the detection. Snippets are JSON-escaped so the result stays on
23532
+ * one line.
23533
+ */
23534
+ function describeDegenerateOutput(text, snippetChars = 400) {
23535
+ const windowSize = 200;
23536
+ const step = Math.max(1, Math.floor(text.length / 50));
23537
+ const seen = /* @__PURE__ */ new Map();
23538
+ let duplicateWindows = 0;
23539
+ let totalWindows = 0;
23540
+ for (let i = 0; i + windowSize <= text.length; i += step) {
23541
+ const window = text.slice(i, i + windowSize);
23542
+ totalWindows++;
23543
+ const count = (seen.get(window) ?? 0) + 1;
23544
+ seen.set(window, count);
23545
+ if (count > 1) duplicateWindows++;
23546
+ }
23547
+ let topWindow = "";
23548
+ let topCount = 0;
23549
+ for (const [window, count] of seen) if (count > topCount) {
23550
+ topCount = count;
23551
+ topWindow = window;
23552
+ }
23553
+ let longestLine = 0;
23554
+ for (const line of text.split("\n")) if (line.length > longestLine) longestLine = line.length;
23555
+ const duplicateRatio = totalWindows > 0 ? (duplicateWindows / totalWindows).toFixed(2) : "n/a";
23556
+ const parts = [
23557
+ `length=${text.length}`,
23558
+ `sampledWindows=${totalWindows}`,
23559
+ `duplicateRatio=${duplicateRatio}`,
23560
+ `longestLine=${longestLine}`,
23561
+ `topWindowCount=${topCount}`
23562
+ ];
23563
+ if (topCount > 1) parts.push(`topWindow=${JSON.stringify(topWindow)}`);
23564
+ parts.push(`head=${JSON.stringify(text.slice(0, snippetChars))}`);
23565
+ if (text.length > snippetChars * 2) parts.push(`tail=${JSON.stringify(text.slice(-snippetChars))}`);
23566
+ return parts.join(" ");
23567
+ }
23568
+ /**
23523
23569
  * Check if observations contain a Current Task section.
23524
23570
  * Supports both XML format and legacy markdown format.
23525
23571
  */
@@ -23914,13 +23960,13 @@ var ObserverRunner = class {
23914
23960
  let parsed = parseObserverOutput(result.text, activeExtractors);
23915
23961
  let retriedDueToDegenerate = false;
23916
23962
  if (parsed.degenerate) {
23917
- omDebug(`[OM:callObserver] degenerate repetition detected, retrying once`);
23963
+ omDebug(`[OM:callObserver] degenerate repetition detected, retrying once. ${describeDegenerateOutput(result.text, 2e3)}`);
23918
23964
  result = await doGenerate();
23919
23965
  parsed = parseObserverOutput(result.text, activeExtractors);
23920
23966
  retriedDueToDegenerate = true;
23921
23967
  if (parsed.degenerate) {
23922
- omDebug(`[OM:callObserver] degenerate repetition on retry, failing`);
23923
- throw new Error("Observer produced degenerate output after retry");
23968
+ omDebug(`[OM:callObserver] degenerate repetition on retry, failing. ${describeDegenerateOutput(result.text, 2e3)}`);
23969
+ throw new Error(`Observer produced degenerate output after retry. ${describeDegenerateOutput(result.text)}`);
23924
23970
  }
23925
23971
  }
23926
23972
  const structuredExtraction = await extractStructuredValues({
@@ -24064,13 +24110,13 @@ var ObserverRunner = class {
24064
24110
  let parsed = parseMultiThreadObserverOutput(result.text, activeExtractors);
24065
24111
  let retriedDueToDegenerate = false;
24066
24112
  if (parsed.degenerate) {
24067
- omDebug(`[OM:callMultiThreadObserver] degenerate repetition detected, retrying once`);
24113
+ omDebug(`[OM:callMultiThreadObserver] degenerate repetition detected, retrying once. ${describeDegenerateOutput(result.text, 2e3)}`);
24068
24114
  result = await doGenerate();
24069
24115
  parsed = parseMultiThreadObserverOutput(result.text, activeExtractors);
24070
24116
  retriedDueToDegenerate = true;
24071
24117
  if (parsed.degenerate) {
24072
- omDebug(`[OM:callMultiThreadObserver] degenerate repetition on retry, failing`);
24073
- throw new Error("Multi-thread observer produced degenerate output after retry");
24118
+ omDebug(`[OM:callMultiThreadObserver] degenerate repetition on retry, failing. ${describeDegenerateOutput(result.text, 2e3)}`);
24119
+ throw new Error(`Multi-thread observer produced degenerate output after retry. ${describeDegenerateOutput(result.text)}`);
24074
24120
  }
24075
24121
  }
24076
24122
  const structuredExtractionByThread = /* @__PURE__ */ new Map();
@@ -29963,7 +30009,7 @@ var ReflectorRunner = class {
29963
30009
  finalProviderMetadata = result.providerMetadata ?? finalProviderMetadata;
29964
30010
  parsed = parseReflectorOutput(result.text, observations, activeExtractors);
29965
30011
  if (parsed.degenerate) {
29966
- omDebug(`[OM:callReflector] attempt #${attemptNumber}: degenerate repetition detected, treating as compression failure`);
30012
+ omDebug(`[OM:callReflector] attempt #${attemptNumber}: degenerate repetition detected, treating as compression failure. ${describeDegenerateOutput(result.text, 2e3)}`);
29967
30013
  reflectedTokens = originalTokens;
29968
30014
  } else reflectedTokens = this.tokenCounter.countObservations(parsed.observations);
29969
30015
  omDebug(`[OM:callReflector] attempt #${attemptNumber} parsed: reflectedTokens=${reflectedTokens}, targetThreshold=${targetThreshold}, compressionValid=${validateCompression(reflectedTokens, targetThreshold)}, parsedObsLen=${parsed.observations?.length}, degenerate=${parsed.degenerate ?? false}`);
@@ -46153,4 +46199,4 @@ const agentBuilderWorkflows = {
46153
46199
  //#endregion
46154
46200
  exports.agentBuilderWorkflows = agentBuilderWorkflows;
46155
46201
 
46156
- //# sourceMappingURL=dist-Jy_bgZ7X.cjs.map
46202
+ //# sourceMappingURL=dist-DERatX43.cjs.map