@mastra/core 0.24.0 → 0.24.1

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 (132) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/index.cjs +13 -13
  4. package/dist/agent/index.js +2 -2
  5. package/dist/agent/input-processor/index.cjs +6 -6
  6. package/dist/agent/input-processor/index.js +1 -1
  7. package/dist/agent/message-list/index.d.ts.map +1 -1
  8. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
  9. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  10. package/dist/ai-tracing/index.cjs +36 -36
  11. package/dist/ai-tracing/index.js +1 -1
  12. package/dist/bundler/index.cjs +2 -2
  13. package/dist/bundler/index.d.ts +2 -0
  14. package/dist/bundler/index.d.ts.map +1 -1
  15. package/dist/bundler/index.js +1 -1
  16. package/dist/{chunk-MCASUJWY.cjs → chunk-5D6TMUAG.cjs} +6 -6
  17. package/dist/{chunk-MCASUJWY.cjs.map → chunk-5D6TMUAG.cjs.map} +1 -1
  18. package/dist/{chunk-KDX3ZMQ2.js → chunk-5X4TQR6K.js} +3 -3
  19. package/dist/{chunk-KDX3ZMQ2.js.map → chunk-5X4TQR6K.js.map} +1 -1
  20. package/dist/{chunk-253FBVD4.cjs → chunk-6OGG24PY.cjs} +46 -45
  21. package/dist/chunk-6OGG24PY.cjs.map +1 -0
  22. package/dist/chunk-AAYCOJUL.cjs +14 -0
  23. package/dist/{chunk-SSULK22X.cjs.map → chunk-AAYCOJUL.cjs.map} +1 -1
  24. package/dist/{chunk-7J3XX4AO.cjs → chunk-BCFLCIAX.cjs} +8 -8
  25. package/dist/{chunk-7J3XX4AO.cjs.map → chunk-BCFLCIAX.cjs.map} +1 -1
  26. package/dist/{chunk-BWGXM3D4.js → chunk-CESZ2AOS.js} +5 -5
  27. package/dist/{chunk-BWGXM3D4.js.map → chunk-CESZ2AOS.js.map} +1 -1
  28. package/dist/{chunk-ZMELUU72.js → chunk-CNMPROPI.js} +2 -2
  29. package/dist/chunk-CNMPROPI.js.map +1 -0
  30. package/dist/{chunk-E3PG7G6E.js → chunk-DNYWTNND.js} +39 -33
  31. package/dist/chunk-DNYWTNND.js.map +1 -0
  32. package/dist/{chunk-2B3VLGTH.js → chunk-EDVPIVAB.js} +3 -3
  33. package/dist/{chunk-2B3VLGTH.js.map → chunk-EDVPIVAB.js.map} +1 -1
  34. package/dist/{chunk-MJMID7LX.cjs → chunk-EJPCH5WB.cjs} +40 -34
  35. package/dist/chunk-EJPCH5WB.cjs.map +1 -0
  36. package/dist/{chunk-3VXXCPKX.js → chunk-HKT62GIP.js} +3 -3
  37. package/dist/{chunk-3VXXCPKX.js.map → chunk-HKT62GIP.js.map} +1 -1
  38. package/dist/{chunk-QFF5JUKT.cjs → chunk-HQDX7PWJ.cjs} +2 -2
  39. package/dist/chunk-HQDX7PWJ.cjs.map +1 -0
  40. package/dist/{chunk-FHVFGVIO.js → chunk-II37LKES.js} +4 -4
  41. package/dist/{chunk-FHVFGVIO.js.map → chunk-II37LKES.js.map} +1 -1
  42. package/dist/{chunk-LZUSZT7R.cjs → chunk-IJRERAWQ.cjs} +6 -3
  43. package/dist/chunk-IJRERAWQ.cjs.map +1 -0
  44. package/dist/{chunk-ROS5CMJS.cjs → chunk-KDNLQBCW.cjs} +11 -11
  45. package/dist/{chunk-ROS5CMJS.cjs.map → chunk-KDNLQBCW.cjs.map} +1 -1
  46. package/dist/{chunk-HEQTUMUA.cjs → chunk-LILCMG3L.cjs} +8 -8
  47. package/dist/{chunk-HEQTUMUA.cjs.map → chunk-LILCMG3L.cjs.map} +1 -1
  48. package/dist/{chunk-DTTOVV72.js → chunk-MBMPTC7F.js} +2 -2
  49. package/dist/{chunk-DTTOVV72.js.map → chunk-MBMPTC7F.js.map} +1 -1
  50. package/dist/{chunk-Z4RIRDU3.js → chunk-MXLKXD6Q.js} +4 -4
  51. package/dist/{chunk-Z4RIRDU3.js.map → chunk-MXLKXD6Q.js.map} +1 -1
  52. package/dist/{chunk-P35FNLTQ.cjs → chunk-O5PROZMW.cjs} +2 -2
  53. package/dist/{chunk-P35FNLTQ.cjs.map → chunk-O5PROZMW.cjs.map} +1 -1
  54. package/dist/{chunk-6C7VGVK4.js → chunk-Q7VW22SF.js} +5 -5
  55. package/dist/{chunk-6C7VGVK4.js.map → chunk-Q7VW22SF.js.map} +1 -1
  56. package/dist/{chunk-GB5BIA4V.js → chunk-SL7VKAQ3.js} +6 -3
  57. package/dist/chunk-SL7VKAQ3.js.map +1 -0
  58. package/dist/{chunk-77JHIM4E.cjs → chunk-TPYSVJ5T.cjs} +12 -12
  59. package/dist/{chunk-77JHIM4E.cjs.map → chunk-TPYSVJ5T.cjs.map} +1 -1
  60. package/dist/{chunk-ABZOBBLL.cjs → chunk-TVZB5572.cjs} +12 -12
  61. package/dist/{chunk-ABZOBBLL.cjs.map → chunk-TVZB5572.cjs.map} +1 -1
  62. package/dist/{chunk-C7OVZMPW.cjs → chunk-UBVIPDVD.cjs} +4 -4
  63. package/dist/{chunk-C7OVZMPW.cjs.map → chunk-UBVIPDVD.cjs.map} +1 -1
  64. package/dist/{chunk-NR77P3TK.js → chunk-V66IXQAJ.js} +3 -3
  65. package/dist/{chunk-NR77P3TK.js.map → chunk-V66IXQAJ.js.map} +1 -1
  66. package/dist/{chunk-UZKIGB7M.cjs → chunk-VBQZFQXS.cjs} +4 -4
  67. package/dist/{chunk-UZKIGB7M.cjs.map → chunk-VBQZFQXS.cjs.map} +1 -1
  68. package/dist/{chunk-KAEQISOW.js → chunk-Z3BWWT7E.js} +3 -3
  69. package/dist/{chunk-KAEQISOW.js.map → chunk-Z3BWWT7E.js.map} +1 -1
  70. package/dist/{chunk-LG5B3KIW.js → chunk-ZVAWVX5J.js} +11 -10
  71. package/dist/chunk-ZVAWVX5J.js.map +1 -0
  72. package/dist/deployer/index.cjs +2 -2
  73. package/dist/deployer/index.js +1 -1
  74. package/dist/index.cjs +51 -51
  75. package/dist/index.js +9 -9
  76. package/dist/llm/index.cjs +7 -7
  77. package/dist/llm/index.js +1 -1
  78. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  79. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  80. package/dist/loop/index.cjs +2 -2
  81. package/dist/loop/index.js +1 -1
  82. package/dist/loop/network/index.d.ts.map +1 -1
  83. package/dist/mastra/index.cjs +2 -2
  84. package/dist/mastra/index.js +1 -1
  85. package/dist/memory/index.cjs +4 -4
  86. package/dist/memory/index.js +1 -1
  87. package/dist/models-dev-BL5TAKE6.js +3 -0
  88. package/dist/{models-dev-4VGIWYS3.js.map → models-dev-BL5TAKE6.js.map} +1 -1
  89. package/dist/models-dev-HZ3LZHPX.cjs +12 -0
  90. package/dist/{models-dev-AXZASLL2.cjs.map → models-dev-HZ3LZHPX.cjs.map} +1 -1
  91. package/dist/processors/index.cjs +11 -11
  92. package/dist/processors/index.js +1 -1
  93. package/dist/relevance/index.cjs +4 -4
  94. package/dist/relevance/index.js +1 -1
  95. package/dist/scores/index.cjs +9 -9
  96. package/dist/scores/index.js +2 -2
  97. package/dist/scores/scoreTraces/index.cjs +8 -8
  98. package/dist/scores/scoreTraces/index.js +3 -3
  99. package/dist/server/index.cjs +2 -1
  100. package/dist/server/index.cjs.map +1 -1
  101. package/dist/server/index.d.ts +4 -0
  102. package/dist/server/index.d.ts.map +1 -1
  103. package/dist/server/index.js +2 -1
  104. package/dist/server/index.js.map +1 -1
  105. package/dist/storage/index.cjs +3 -3
  106. package/dist/storage/index.js +1 -1
  107. package/dist/stream/index.cjs +11 -11
  108. package/dist/stream/index.js +2 -2
  109. package/dist/test-utils/llm-mock.cjs +2 -2
  110. package/dist/test-utils/llm-mock.js +1 -1
  111. package/dist/tools/tool-builder/builder.d.ts +2 -70
  112. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  113. package/dist/utils.cjs +17 -17
  114. package/dist/utils.js +1 -1
  115. package/dist/workflows/evented/index.cjs +10 -10
  116. package/dist/workflows/evented/index.js +1 -1
  117. package/dist/workflows/index.cjs +14 -14
  118. package/dist/workflows/index.js +1 -1
  119. package/dist/workflows/legacy/index.cjs +22 -22
  120. package/dist/workflows/legacy/index.js +1 -1
  121. package/package.json +6 -5
  122. package/dist/chunk-253FBVD4.cjs.map +0 -1
  123. package/dist/chunk-E3PG7G6E.js.map +0 -1
  124. package/dist/chunk-GB5BIA4V.js.map +0 -1
  125. package/dist/chunk-LG5B3KIW.js.map +0 -1
  126. package/dist/chunk-LZUSZT7R.cjs.map +0 -1
  127. package/dist/chunk-MJMID7LX.cjs.map +0 -1
  128. package/dist/chunk-QFF5JUKT.cjs.map +0 -1
  129. package/dist/chunk-SSULK22X.cjs +0 -14
  130. package/dist/chunk-ZMELUU72.js.map +0 -1
  131. package/dist/models-dev-4VGIWYS3.js +0 -3
  132. package/dist/models-dev-AXZASLL2.cjs +0 -12
@@ -1,37 +1,37 @@
1
1
  'use strict';
2
2
 
3
- var chunkROS5CMJS_cjs = require('../chunk-ROS5CMJS.cjs');
4
- var chunkUZKIGB7M_cjs = require('../chunk-UZKIGB7M.cjs');
3
+ var chunkKDNLQBCW_cjs = require('../chunk-KDNLQBCW.cjs');
4
+ var chunkVBQZFQXS_cjs = require('../chunk-VBQZFQXS.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "MastraScorer", {
9
9
  enumerable: true,
10
- get: function () { return chunkROS5CMJS_cjs.MastraScorer; }
10
+ get: function () { return chunkKDNLQBCW_cjs.MastraScorer; }
11
11
  });
12
12
  Object.defineProperty(exports, "createScorer", {
13
13
  enumerable: true,
14
- get: function () { return chunkROS5CMJS_cjs.createScorer; }
14
+ get: function () { return chunkKDNLQBCW_cjs.createScorer; }
15
15
  });
16
16
  Object.defineProperty(exports, "runExperiment", {
17
17
  enumerable: true,
18
- get: function () { return chunkROS5CMJS_cjs.runExperiment; }
18
+ get: function () { return chunkKDNLQBCW_cjs.runExperiment; }
19
19
  });
20
20
  Object.defineProperty(exports, "saveScorePayloadSchema", {
21
21
  enumerable: true,
22
- get: function () { return chunkUZKIGB7M_cjs.saveScorePayloadSchema; }
22
+ get: function () { return chunkVBQZFQXS_cjs.saveScorePayloadSchema; }
23
23
  });
24
24
  Object.defineProperty(exports, "scoreResultSchema", {
25
25
  enumerable: true,
26
- get: function () { return chunkUZKIGB7M_cjs.scoreResultSchema; }
26
+ get: function () { return chunkVBQZFQXS_cjs.scoreResultSchema; }
27
27
  });
28
28
  Object.defineProperty(exports, "scoringExtractStepResultSchema", {
29
29
  enumerable: true,
30
- get: function () { return chunkUZKIGB7M_cjs.scoringExtractStepResultSchema; }
30
+ get: function () { return chunkVBQZFQXS_cjs.scoringExtractStepResultSchema; }
31
31
  });
32
32
  Object.defineProperty(exports, "scoringValueSchema", {
33
33
  enumerable: true,
34
- get: function () { return chunkUZKIGB7M_cjs.scoringValueSchema; }
34
+ get: function () { return chunkVBQZFQXS_cjs.scoringValueSchema; }
35
35
  });
36
36
  //# sourceMappingURL=index.cjs.map
37
37
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- export { MastraScorer, createScorer, runExperiment } from '../chunk-Z4RIRDU3.js';
2
- export { saveScorePayloadSchema, scoreResultSchema, scoringExtractStepResultSchema, scoringValueSchema } from '../chunk-KAEQISOW.js';
1
+ export { MastraScorer, createScorer, runExperiment } from '../chunk-MXLKXD6Q.js';
2
+ export { saveScorePayloadSchema, scoreResultSchema, scoringExtractStepResultSchema, scoringValueSchema } from '../chunk-Z3BWWT7E.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk77JHIM4E_cjs = require('../../chunk-77JHIM4E.cjs');
4
- var chunkUZKIGB7M_cjs = require('../../chunk-UZKIGB7M.cjs');
5
- var chunkMJMID7LX_cjs = require('../../chunk-MJMID7LX.cjs');
3
+ var chunkTPYSVJ5T_cjs = require('../../chunk-TPYSVJ5T.cjs');
4
+ var chunkVBQZFQXS_cjs = require('../../chunk-VBQZFQXS.cjs');
5
+ var chunkEJPCH5WB_cjs = require('../../chunk-EJPCH5WB.cjs');
6
6
  var chunk5NTO7S5I_cjs = require('../../chunk-5NTO7S5I.cjs');
7
7
  var pMap = require('p-map');
8
8
  var z = require('zod');
@@ -76,7 +76,7 @@ function normalizeMessageContent(content) {
76
76
  role: "user",
77
77
  parts: content.map((part) => ({ type: part.type, text: part.text }))
78
78
  };
79
- const converted = chunkMJMID7LX_cjs.convertMessages(tempMessage).to("AIV4.UI");
79
+ const converted = chunkEJPCH5WB_cjs.convertMessages(tempMessage).to("AIV4.UI");
80
80
  return converted[0]?.content || "";
81
81
  }
82
82
  function convertToUIMessage(message, createdAt) {
@@ -94,7 +94,7 @@ function convertToUIMessage(message, createdAt) {
94
94
  parts: message.content.map((part) => ({ type: part.type, text: part.text }))
95
95
  };
96
96
  }
97
- const converted = chunkMJMID7LX_cjs.convertMessages(messageInput).to("AIV4.UI");
97
+ const converted = chunkEJPCH5WB_cjs.convertMessages(messageInput).to("AIV4.UI");
98
98
  const result = converted[0];
99
99
  if (!result) {
100
100
  throw new Error("Failed to convert message");
@@ -234,7 +234,7 @@ function transformTraceToScorerInputAndOutput(trace) {
234
234
  }
235
235
 
236
236
  // src/scores/scoreTraces/scoreTracesWorkflow.ts
237
- var getTraceStep = chunk77JHIM4E_cjs.createStep({
237
+ var getTraceStep = chunkTPYSVJ5T_cjs.createStep({
238
238
  id: "__process-trace-scoring",
239
239
  inputSchema: z__default.default.object({
240
240
  targets: z__default.default.array(
@@ -362,7 +362,7 @@ async function runScorerOnTarget({
362
362
  await attachScoreToSpan({ storage, span, scoreRecord: savedScoreRecord });
363
363
  }
364
364
  async function validateAndSaveScore({ storage, scorerResult }) {
365
- const payloadToSave = chunkUZKIGB7M_cjs.saveScorePayloadSchema.parse(scorerResult);
365
+ const payloadToSave = chunkVBQZFQXS_cjs.saveScorePayloadSchema.parse(scorerResult);
366
366
  const result = await storage.saveScore(payloadToSave);
367
367
  return result.score;
368
368
  }
@@ -404,7 +404,7 @@ async function attachScoreToSpan({
404
404
  updates: { links: [...existingLinks, link] }
405
405
  });
406
406
  }
407
- var scoreTracesWorkflow = chunk77JHIM4E_cjs.createWorkflow({
407
+ var scoreTracesWorkflow = chunkTPYSVJ5T_cjs.createWorkflow({
408
408
  id: "__batch-scoring-traces",
409
409
  inputSchema: z__default.default.object({
410
410
  targets: z__default.default.array(
@@ -1,6 +1,6 @@
1
- import { createStep, createWorkflow } from '../../chunk-3VXXCPKX.js';
2
- import { saveScorePayloadSchema } from '../../chunk-KAEQISOW.js';
3
- import { convertMessages } from '../../chunk-E3PG7G6E.js';
1
+ import { createStep, createWorkflow } from '../../chunk-HKT62GIP.js';
2
+ import { saveScorePayloadSchema } from '../../chunk-Z3BWWT7E.js';
3
+ import { convertMessages } from '../../chunk-DNYWTNND.js';
4
4
  import { MastraError } from '../../chunk-PZUZNPFM.js';
5
5
  import pMap from 'p-map';
6
6
  import z from 'zod';
@@ -79,7 +79,8 @@ function registerApiRoute(path, options) {
79
79
  handler: options.handler,
80
80
  createHandler: options.createHandler,
81
81
  openapi: options.openapi,
82
- middleware: options.middleware
82
+ middleware: options.middleware,
83
+ requiresAuth: options.requiresAuth
83
84
  };
84
85
  }
85
86
  function defineAuth(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/auth.ts","../../src/server/index.ts"],"names":["MastraAuthProvider","__decorateElement","__runInitializers","MastraError"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,KAAA,CAAA;AASA,IAAA,IAAA,OAAA,EAAA,aAAA,EAAA;AAAiB,MACf,IAAQ,CAAA,aAAA,GAAA,OAAA,CAAA,aAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AAAA,IACR;AACF,EAAC;AACM,EAAA,eAAe,CAAA,IAAA,EAAA;AAAuD,cAC/D,aAA4C,EAAA;AACtD,MAAA,IAAM,cAAa,GAAA,IAAQ,CAAA,aAAM,CAAS,KAAK,IAAC,CAAA;AAEhD,IAAA;AACE,EAAA;AAAoD;AACtDA,0BACF,gBAAA,CAAA,CAAA,IAAA;AAAA,EAkBU,0CAAyD,CAAA,EAAA,CAAA;AACjE,EAAAA,0BAAU,GAAAC,mCAAe,CAAA,KAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,8BAAA,EAAAD,0BAAA,CAAA;AACvB,EAAAE,mCAAK,CAAA,KAAA,EAAgB,CAAA,EAAAF,0BAAmB,CAAA;;AAC1C;AAEJ,EAAA,OAAAA,0BAAA;AA9BO,CAAA,EAAA;AAAe;AAAf,SAAA,eAAA,CAAA,IAAe,EAAA,OAAA,EAAA;;;ACgCtB,IAAA,MAAS,IAAAG,6BACP;AAGA,MAAA,EAAM,EAAA,yCAAO;AAEb,MAAI,IAAA,8BAA2B,EAAA,IAAA,CAAA,4BAAA,CAAA;AAC7B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAAA,6BAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,4FAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAAA,6BAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,sHAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC;AACA,SACD,gBAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AAAA,EACH,IAAA,IAAA,CAAA,UAAA,CAAA,OAAA,CAAA,EAAA;AACF,IAAA,MAAA,IAAAA,6BAAA,CAAA;AAEO,MAAA,EAAA,EAAS,iCAGa;AAC3B,MAAI,IAAA,EAAK,CAAA,sEAAqB,CAAA;AAC5B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAM,EAAA;AACN,EAAA,eACA,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA,EAAA,OACD;AAAA,IACH,IAAA;AAEA,IAAA,MAAA,EAAA,cAAsB;AAEtB,IAAA,OAAO,EAAA,OAAA,CAAA,OAAA;AAAA,IACL,aAAA,EAAA,OAAA,CAAA,aAAA;AAAA,IACA,SAAQ,OAAQ,CAAA,OAAA;AAAA,IAChB,UAAS,EAAA,OAAQ,CAAA;AAAA,GAAA;AACM;AACN,mBACL,CAAA,MAAQ,EAAA;AAAA,EACtB,OAAA,MAAA;AACF","file":"index.cjs","sourcesContent":["import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport { InstrumentClass } from '../telemetry';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\n@InstrumentClass({\n prefix: 'auth',\n excludeMethods: ['__setTools', '__setLogger', '__setTelemetry', '#log'],\n})\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n }\n}\n","import type { Context, Handler, MiddlewareHandler } from 'hono';\nimport type { DescribeRouteOptions } from 'hono-openapi';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { Mastra } from '../mastra';\nimport type { ApiRoute, MastraAuthConfig, Methods } from './types';\n\nexport type { MastraAuthConfig, ContextWithMastra, ApiRoute } from './types';\nexport { MastraAuthProvider } from './auth';\nexport type { MastraAuthProviderOptions } from './auth';\n\n// Helper type for inferring parameters from a path\n// Thank you Claude!\ntype ParamsFromPath<P extends string> = {\n [K in P extends `${string}:${infer Param}/${string}` | `${string}:${infer Param}` ? Param : never]: string;\n};\n\ntype RegisterApiRoutePathError = `Param 'path' must not start with '/api', it is reserved for internal API routes.`;\ntype ValidatePath<P extends string, T> = P extends `/api/${string}` ? RegisterApiRoutePathError : T;\n\ntype RegisterApiRouteOptions<P extends string> = {\n method: Methods;\n openapi?: DescribeRouteOptions;\n handler?: Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >;\n createHandler?: (c: Context) => Promise<\n Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >\n >;\n middleware?: MiddlewareHandler | MiddlewareHandler[];\n};\n\nfunction validateOptions<P extends string>(\n path: P,\n options: RegisterApiRoutePathError | RegisterApiRouteOptions<P>,\n): asserts options is RegisterApiRouteOptions<P> {\n const opts = options as RegisterApiRouteOptions<P>;\n\n if (opts.method === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", missing \"method\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler === undefined && opts.createHandler === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you must define a \"handler\" or \"createHandler\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler !== undefined && opts.createHandler !== undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you can only define one of the following properties: \"handler\" or \"createHandler\"`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n}\n\nexport function registerApiRoute<P extends string>(\n path: P,\n options: ValidatePath<P, RegisterApiRouteOptions<P>>,\n): ValidatePath<P, ApiRoute> {\n if (path.startsWith('/api/')) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_PATH_RESERVED',\n text: 'Path must not start with \"/api\", it\\'s reserved for internal API routes',\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n validateOptions(path, options);\n\n return {\n path,\n method: options.method,\n handler: options.handler,\n createHandler: options.createHandler,\n openapi: options.openapi,\n middleware: options.middleware,\n } as unknown as ValidatePath<P, ApiRoute>;\n}\n\nexport function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser> {\n return config;\n}\n"]}
1
+ {"version":3,"sources":["../../src/server/auth.ts","../../src/server/index.ts"],"names":["MastraAuthProvider","__decorateElement","__runInitializers","MastraError"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,KAAA,CAAA;AASA,IAAA,IAAA,OAAA,EAAA,aAAA,EAAA;AAAiB,MACf,IAAQ,CAAA,aAAA,GAAA,OAAA,CAAA,aAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AAAA,IACR;AACF,EAAC;AACM,EAAA,eAAe,CAAA,IAAA,EAAA;AAAuD,cAC/D,aAA4C,EAAA;AACtD,MAAA,IAAM,cAAa,GAAA,IAAQ,CAAA,aAAM,CAAS,KAAK,IAAC,CAAA;AAEhD,IAAA;AACE,EAAA;AAAoD;AACtDA,0BACF,gBAAA,CAAA,CAAA,IAAA;AAAA,EAkBU,0CAAyD,CAAA,EAAA,CAAA;AACjE,EAAAA,0BAAU,GAAAC,mCAAe,CAAA,KAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,8BAAA,EAAAD,0BAAA,CAAA;AACvB,EAAAE,mCAAK,CAAA,KAAA,EAAgB,CAAA,EAAAF,0BAAmB,CAAA;;AAC1C;AAEJ,EAAA,OAAAA,0BAAA;AA9BO,CAAA,EAAA;AAAe;AAAf,SAAA,eAAA,CAAA,IAAe,EAAA,OAAA,EAAA;;;ACoCtB,IAAA,MAAS,IAAAG,6BACP;AAGA,MAAA,EAAM,EAAA,yCAAO;AAEb,MAAI,IAAA,8BAA2B,EAAA,IAAA,CAAA,4BAAA,CAAA;AAC7B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAAA,6BAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,4FAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAAA,6BAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,sHAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC;AACA,SACD,gBAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AAAA,EACH,IAAA,IAAA,CAAA,UAAA,CAAA,OAAA,CAAA,EAAA;AACF,IAAA,MAAA,IAAAA,6BAAA,CAAA;AAEO,MAAA,EAAA,EAAS,iCAGa;AAC3B,MAAI,IAAA,EAAK,CAAA,sEAAqB,CAAA;AAC5B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAM,EAAA;AACN,EAAA,eACA,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA,EAAA,OACD;AAAA,IACH,IAAA;AAEA,IAAA,MAAA,EAAA,cAAsB;AAEtB,IAAA,OAAO,EAAA,OAAA,CAAA,OAAA;AAAA,IACL,aAAA,EAAA,OAAA,CAAA,aAAA;AAAA,IACA,SAAQ,OAAQ,CAAA,OAAA;AAAA,IAChB,UAAS,EAAA,OAAQ,CAAA,UAAA;AAAA,IACjB,qBAAe,CAAA;AAAQ,GAAA;AACN;AACG,mBACN,CAAA,MAAQ,EAAA;AAAA,EACxB,OAAA,MAAA;AACF","file":"index.cjs","sourcesContent":["import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport { InstrumentClass } from '../telemetry';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\n@InstrumentClass({\n prefix: 'auth',\n excludeMethods: ['__setTools', '__setLogger', '__setTelemetry', '#log'],\n})\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n }\n}\n","import type { Context, Handler, MiddlewareHandler } from 'hono';\nimport type { DescribeRouteOptions } from 'hono-openapi';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { Mastra } from '../mastra';\nimport type { ApiRoute, MastraAuthConfig, Methods } from './types';\n\nexport type { MastraAuthConfig, ContextWithMastra, ApiRoute } from './types';\nexport { MastraAuthProvider } from './auth';\nexport type { MastraAuthProviderOptions } from './auth';\n\n// Helper type for inferring parameters from a path\n// Thank you Claude!\ntype ParamsFromPath<P extends string> = {\n [K in P extends `${string}:${infer Param}/${string}` | `${string}:${infer Param}` ? Param : never]: string;\n};\n\ntype RegisterApiRoutePathError = `Param 'path' must not start with '/api', it is reserved for internal API routes.`;\ntype ValidatePath<P extends string, T> = P extends `/api/${string}` ? RegisterApiRoutePathError : T;\n\ntype RegisterApiRouteOptions<P extends string> = {\n method: Methods;\n openapi?: DescribeRouteOptions;\n handler?: Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >;\n createHandler?: (c: Context) => Promise<\n Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >\n >;\n middleware?: MiddlewareHandler | MiddlewareHandler[];\n /**\n * When false, skips Mastra auth for this route (defaults to true)\n */\n requiresAuth?: boolean;\n};\n\nfunction validateOptions<P extends string>(\n path: P,\n options: RegisterApiRoutePathError | RegisterApiRouteOptions<P>,\n): asserts options is RegisterApiRouteOptions<P> {\n const opts = options as RegisterApiRouteOptions<P>;\n\n if (opts.method === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", missing \"method\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler === undefined && opts.createHandler === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you must define a \"handler\" or \"createHandler\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler !== undefined && opts.createHandler !== undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you can only define one of the following properties: \"handler\" or \"createHandler\"`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n}\n\nexport function registerApiRoute<P extends string>(\n path: P,\n options: ValidatePath<P, RegisterApiRouteOptions<P>>,\n): ValidatePath<P, ApiRoute> {\n if (path.startsWith('/api/')) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_PATH_RESERVED',\n text: 'Path must not start with \"/api\", it\\'s reserved for internal API routes',\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n validateOptions(path, options);\n\n return {\n path,\n method: options.method,\n handler: options.handler,\n createHandler: options.createHandler,\n openapi: options.openapi,\n middleware: options.middleware,\n requiresAuth: options.requiresAuth,\n } as unknown as ValidatePath<P, ApiRoute>;\n}\n\nexport function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser> {\n return config;\n}\n"]}
@@ -24,6 +24,10 @@ type RegisterApiRouteOptions<P extends string> = {
24
24
  };
25
25
  }, P, ParamsFromPath<P>>>;
26
26
  middleware?: MiddlewareHandler | MiddlewareHandler[];
27
+ /**
28
+ * When false, skips Mastra auth for this route (defaults to true)
29
+ */
30
+ requiresAuth?: boolean;
27
31
  };
28
32
  export declare function registerApiRoute<P extends string>(path: P, options: ValidatePath<P, RegisterApiRouteOptions<P>>): ValidatePath<P, ApiRoute>;
29
33
  export declare function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEnE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAIxD,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;CAC3G,CAAC;AAEF,KAAK,yBAAyB,GAAG,kFAAkF,CAAC;AACpH,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,EAAE,GAAG,yBAAyB,GAAG,CAAC,CAAC;AAEpG,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CACf;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CACrC,OAAO,CACL;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CACF,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;CACtD,CAAC;AAoCF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACnD,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAoB3B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAE1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEnE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAIxD,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;CAC3G,CAAC;AAEF,KAAK,yBAAyB,GAAG,kFAAkF,CAAC;AACpH,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,EAAE,GAAG,yBAAyB,GAAG,CAAC,CAAC;AAEpG,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CACf;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CACrC,OAAO,CACL;QACE,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,EACD,CAAC,EACD,cAAc,CAAC,CAAC,CAAC,CAClB,CACF,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IACrD;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAoCF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACnD,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAqB3B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAE1F"}
@@ -77,7 +77,8 @@ function registerApiRoute(path, options) {
77
77
  handler: options.handler,
78
78
  createHandler: options.createHandler,
79
79
  openapi: options.openapi,
80
- middleware: options.middleware
80
+ middleware: options.middleware,
81
+ requiresAuth: options.requiresAuth
81
82
  };
82
83
  }
83
84
  function defineAuth(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/auth.ts","../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,KAAA,CAAA;AASA,IAAA,IAAA,OAAA,EAAA,aAAA,EAAA;AAAiB,MACf,IAAQ,CAAA,aAAA,GAAA,OAAA,CAAA,aAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AAAA,IACR;AACF,EAAC;AACM,EAAA,eAAe,CAAA,IAAA,EAAA;AAAuD,cAC/D,aAA4C,EAAA;AACtD,MAAA,IAAM,cAAa,GAAA,IAAQ,CAAA,aAAM,CAAS,KAAK,IAAC,CAAA;AAEhD,IAAA;AACE,EAAA;AAAoD;AACtD,kBACF,gBAAA,CAAA,CAAA,IAAA;AAAA,EAkBU,wBAAyD,CAAA,EAAA,CAAA;AACjE,EAAA,kBAAU,GAAA,iBAAe,CAAA,KAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,kBAAA,CAAA;AACvB,EAAA,iBAAK,CAAA,KAAA,EAAgB,CAAA,EAAA,kBAAmB,CAAA;;AAC1C;AAEJ,EAAA,OAAA,kBAAA;AA9BO,CAAA,EAAA;AAAe;AAAf,SAAA,eAAA,CAAA,IAAe,EAAA,OAAA,EAAA;;;ACgCtB,IAAA,MAAS,IAAA,WACP;AAGA,MAAA,EAAM,EAAA,yCAAO;AAEb,MAAI,IAAA,8BAA2B,EAAA,IAAA,CAAA,4BAAA,CAAA;AAC7B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAA,WAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,4FAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAA,WAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,sHAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC;AACA,SACD,gBAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AAAA,EACH,IAAA,IAAA,CAAA,UAAA,CAAA,OAAA,CAAA,EAAA;AACF,IAAA,MAAA,IAAA,WAAA,CAAA;AAEO,MAAA,EAAA,EAAS,iCAGa;AAC3B,MAAI,IAAA,EAAK,CAAA,sEAAqB,CAAA;AAC5B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAM,EAAA;AACN,EAAA,eACA,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA,EAAA,OACD;AAAA,IACH,IAAA;AAEA,IAAA,MAAA,EAAA,cAAsB;AAEtB,IAAA,OAAO,EAAA,OAAA,CAAA,OAAA;AAAA,IACL,aAAA,EAAA,OAAA,CAAA,aAAA;AAAA,IACA,SAAQ,OAAQ,CAAA,OAAA;AAAA,IAChB,UAAS,EAAA,OAAQ,CAAA;AAAA,GAAA;AACM;AACN,mBACL,CAAA,MAAQ,EAAA;AAAA,EACtB,OAAA,MAAA;AACF","file":"index.js","sourcesContent":["import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport { InstrumentClass } from '../telemetry';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\n@InstrumentClass({\n prefix: 'auth',\n excludeMethods: ['__setTools', '__setLogger', '__setTelemetry', '#log'],\n})\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n }\n}\n","import type { Context, Handler, MiddlewareHandler } from 'hono';\nimport type { DescribeRouteOptions } from 'hono-openapi';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { Mastra } from '../mastra';\nimport type { ApiRoute, MastraAuthConfig, Methods } from './types';\n\nexport type { MastraAuthConfig, ContextWithMastra, ApiRoute } from './types';\nexport { MastraAuthProvider } from './auth';\nexport type { MastraAuthProviderOptions } from './auth';\n\n// Helper type for inferring parameters from a path\n// Thank you Claude!\ntype ParamsFromPath<P extends string> = {\n [K in P extends `${string}:${infer Param}/${string}` | `${string}:${infer Param}` ? Param : never]: string;\n};\n\ntype RegisterApiRoutePathError = `Param 'path' must not start with '/api', it is reserved for internal API routes.`;\ntype ValidatePath<P extends string, T> = P extends `/api/${string}` ? RegisterApiRoutePathError : T;\n\ntype RegisterApiRouteOptions<P extends string> = {\n method: Methods;\n openapi?: DescribeRouteOptions;\n handler?: Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >;\n createHandler?: (c: Context) => Promise<\n Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >\n >;\n middleware?: MiddlewareHandler | MiddlewareHandler[];\n};\n\nfunction validateOptions<P extends string>(\n path: P,\n options: RegisterApiRoutePathError | RegisterApiRouteOptions<P>,\n): asserts options is RegisterApiRouteOptions<P> {\n const opts = options as RegisterApiRouteOptions<P>;\n\n if (opts.method === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", missing \"method\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler === undefined && opts.createHandler === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you must define a \"handler\" or \"createHandler\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler !== undefined && opts.createHandler !== undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you can only define one of the following properties: \"handler\" or \"createHandler\"`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n}\n\nexport function registerApiRoute<P extends string>(\n path: P,\n options: ValidatePath<P, RegisterApiRouteOptions<P>>,\n): ValidatePath<P, ApiRoute> {\n if (path.startsWith('/api/')) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_PATH_RESERVED',\n text: 'Path must not start with \"/api\", it\\'s reserved for internal API routes',\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n validateOptions(path, options);\n\n return {\n path,\n method: options.method,\n handler: options.handler,\n createHandler: options.createHandler,\n openapi: options.openapi,\n middleware: options.middleware,\n } as unknown as ValidatePath<P, ApiRoute>;\n}\n\nexport function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser> {\n return config;\n}\n"]}
1
+ {"version":3,"sources":["../../src/server/auth.ts","../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,KAAA,CAAA;AASA,IAAA,IAAA,OAAA,EAAA,aAAA,EAAA;AAAiB,MACf,IAAQ,CAAA,aAAA,GAAA,OAAA,CAAA,aAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AAAA,IACR;AACF,EAAC;AACM,EAAA,eAAe,CAAA,IAAA,EAAA;AAAuD,cAC/D,aAA4C,EAAA;AACtD,MAAA,IAAM,cAAa,GAAA,IAAQ,CAAA,aAAM,CAAS,KAAK,IAAC,CAAA;AAEhD,IAAA;AACE,EAAA;AAAoD;AACtD,kBACF,gBAAA,CAAA,CAAA,IAAA;AAAA,EAkBU,wBAAyD,CAAA,EAAA,CAAA;AACjE,EAAA,kBAAU,GAAA,iBAAe,CAAA,KAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,kBAAA,CAAA;AACvB,EAAA,iBAAK,CAAA,KAAA,EAAgB,CAAA,EAAA,kBAAmB,CAAA;;AAC1C;AAEJ,EAAA,OAAA,kBAAA;AA9BO,CAAA,EAAA;AAAe;AAAf,SAAA,eAAA,CAAA,IAAe,EAAA,OAAA,EAAA;;;ACoCtB,IAAA,MAAS,IAAA,WACP;AAGA,MAAA,EAAM,EAAA,yCAAO;AAEb,MAAI,IAAA,8BAA2B,EAAA,IAAA,CAAA,4BAAA,CAAA;AAC7B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAA,WAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,4FAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC,EAAA,IACA,IAAA,CAAA,OAAA,KAAA,MAAA,IAAA,IAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,IACF,MAAC,IAAA,WAAA,CAAA;AAAA,MACH,EAAA,EAAA,yCAAA;AAEA,MAAI,IAAA,EAAK,CAAA,sHAA2D,CAAA;AAClE,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAwC,EAAA;AACxC;AACA,SACD,gBAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AAAA,EACH,IAAA,IAAA,CAAA,UAAA,CAAA,OAAA,CAAA,EAAA;AACF,IAAA,MAAA,IAAA,WAAA,CAAA;AAEO,MAAA,EAAA,EAAS,iCAGa;AAC3B,MAAI,IAAA,EAAK,CAAA,sEAAqB,CAAA;AAC5B,MAAA,QAAU,eAAY;AAAA,MACpB,QAAI,EAAA,MAAA;AAAA,KAAA,CACJ;AAAM,EAAA;AACN,EAAA,eACA,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA,EAAA,OACD;AAAA,IACH,IAAA;AAEA,IAAA,MAAA,EAAA,cAAsB;AAEtB,IAAA,OAAO,EAAA,OAAA,CAAA,OAAA;AAAA,IACL,aAAA,EAAA,OAAA,CAAA,aAAA;AAAA,IACA,SAAQ,OAAQ,CAAA,OAAA;AAAA,IAChB,UAAS,EAAA,OAAQ,CAAA,UAAA;AAAA,IACjB,qBAAe,CAAA;AAAQ,GAAA;AACN;AACG,mBACN,CAAA,MAAQ,EAAA;AAAA,EACxB,OAAA,MAAA;AACF","file":"index.js","sourcesContent":["import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport { InstrumentClass } from '../telemetry';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\n@InstrumentClass({\n prefix: 'auth',\n excludeMethods: ['__setTools', '__setLogger', '__setTelemetry', '#log'],\n})\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n }\n}\n","import type { Context, Handler, MiddlewareHandler } from 'hono';\nimport type { DescribeRouteOptions } from 'hono-openapi';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { Mastra } from '../mastra';\nimport type { ApiRoute, MastraAuthConfig, Methods } from './types';\n\nexport type { MastraAuthConfig, ContextWithMastra, ApiRoute } from './types';\nexport { MastraAuthProvider } from './auth';\nexport type { MastraAuthProviderOptions } from './auth';\n\n// Helper type for inferring parameters from a path\n// Thank you Claude!\ntype ParamsFromPath<P extends string> = {\n [K in P extends `${string}:${infer Param}/${string}` | `${string}:${infer Param}` ? Param : never]: string;\n};\n\ntype RegisterApiRoutePathError = `Param 'path' must not start with '/api', it is reserved for internal API routes.`;\ntype ValidatePath<P extends string, T> = P extends `/api/${string}` ? RegisterApiRoutePathError : T;\n\ntype RegisterApiRouteOptions<P extends string> = {\n method: Methods;\n openapi?: DescribeRouteOptions;\n handler?: Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >;\n createHandler?: (c: Context) => Promise<\n Handler<\n {\n Variables: {\n mastra: Mastra;\n };\n },\n P,\n ParamsFromPath<P>\n >\n >;\n middleware?: MiddlewareHandler | MiddlewareHandler[];\n /**\n * When false, skips Mastra auth for this route (defaults to true)\n */\n requiresAuth?: boolean;\n};\n\nfunction validateOptions<P extends string>(\n path: P,\n options: RegisterApiRoutePathError | RegisterApiRouteOptions<P>,\n): asserts options is RegisterApiRouteOptions<P> {\n const opts = options as RegisterApiRouteOptions<P>;\n\n if (opts.method === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", missing \"method\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler === undefined && opts.createHandler === undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you must define a \"handler\" or \"createHandler\" property`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n if (opts.handler !== undefined && opts.createHandler !== undefined) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_INVALID_ROUTE_OPTIONS',\n text: `Invalid options for route \"${path}\", you can only define one of the following properties: \"handler\" or \"createHandler\"`,\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n}\n\nexport function registerApiRoute<P extends string>(\n path: P,\n options: ValidatePath<P, RegisterApiRouteOptions<P>>,\n): ValidatePath<P, ApiRoute> {\n if (path.startsWith('/api/')) {\n throw new MastraError({\n id: 'MASTRA_SERVER_API_PATH_RESERVED',\n text: 'Path must not start with \"/api\", it\\'s reserved for internal API routes',\n domain: ErrorDomain.MASTRA_SERVER,\n category: ErrorCategory.USER,\n });\n }\n\n validateOptions(path, options);\n\n return {\n path,\n method: options.method,\n handler: options.handler,\n createHandler: options.createHandler,\n openapi: options.openapi,\n middleware: options.middleware,\n requiresAuth: options.requiresAuth,\n } as unknown as ValidatePath<P, ApiRoute>;\n}\n\nexport function defineAuth<TUser>(config: MastraAuthConfig<TUser>): MastraAuthConfig<TUser> {\n return config;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkTX4TTPYJ_cjs = require('../chunk-TX4TTPYJ.cjs');
4
4
  var chunk4R2TBRS7_cjs = require('../chunk-4R2TBRS7.cjs');
5
- var chunkMJMID7LX_cjs = require('../chunk-MJMID7LX.cjs');
5
+ var chunkEJPCH5WB_cjs = require('../chunk-EJPCH5WB.cjs');
6
6
  var chunk5NTO7S5I_cjs = require('../chunk-5NTO7S5I.cjs');
7
7
  var chunk6VOPKVYH_cjs = require('../chunk-6VOPKVYH.cjs');
8
8
 
@@ -311,7 +311,7 @@ var InMemoryMemory = class extends MemoryStorage {
311
311
  }) {
312
312
  this.logger.debug(`MockStore: getMessagesById called`);
313
313
  const rawMessages = messageIds.map((id) => this.collection.messages.get(id)).filter((message) => !!message);
314
- const list = new chunkMJMID7LX_cjs.MessageList().add(rawMessages.map(this.parseStoredMessage), "memory");
314
+ const list = new chunkEJPCH5WB_cjs.MessageList().add(rawMessages.map(this.parseStoredMessage), "memory");
315
315
  if (format === "v1") return list.get.all.v1();
316
316
  return list.get.all.v2();
317
317
  }
@@ -341,7 +341,7 @@ var InMemoryMemory = class extends MemoryStorage {
341
341
  };
342
342
  this.collection.messages.set(key, storageMessage);
343
343
  }
344
- const list = new chunkMJMID7LX_cjs.MessageList().add(messages, "memory");
344
+ const list = new chunkEJPCH5WB_cjs.MessageList().add(messages, "memory");
345
345
  if (format === `v2`) return list.get.all.v2();
346
346
  return list.get.all.v1();
347
347
  }
@@ -2,7 +2,7 @@ import { MastraStorage } from '../chunk-JVV5LREI.js';
2
2
  export { MastraStorage, ensureDate, resolveMessageLimit, serializeDate } from '../chunk-JVV5LREI.js';
3
3
  import { TABLE_WORKFLOW_SNAPSHOT, TABLE_EVALS, TABLE_TRACES } from '../chunk-SJMKDSRF.js';
4
4
  export { AI_SPAN_SCHEMA, SCORERS_SCHEMA, TABLE_AI_SPANS, TABLE_EVALS, TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCHEMAS, TABLE_SCORERS, TABLE_THREADS, TABLE_TRACES, TABLE_WORKFLOW_SNAPSHOT } from '../chunk-SJMKDSRF.js';
5
- import { MessageList } from '../chunk-E3PG7G6E.js';
5
+ import { MessageList } from '../chunk-DNYWTNND.js';
6
6
  import { MastraError } from '../chunk-PZUZNPFM.js';
7
7
  import { MastraBase } from '../chunk-VQASQG5D.js';
8
8
 
@@ -1,45 +1,45 @@
1
1
  'use strict';
2
2
 
3
- var chunk253FBVD4_cjs = require('../chunk-253FBVD4.cjs');
4
- var chunkMJMID7LX_cjs = require('../chunk-MJMID7LX.cjs');
3
+ var chunk6OGG24PY_cjs = require('../chunk-6OGG24PY.cjs');
4
+ var chunkEJPCH5WB_cjs = require('../chunk-EJPCH5WB.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "AISDKV5OutputStream", {
9
9
  enumerable: true,
10
- get: function () { return chunk253FBVD4_cjs.AISDKV5OutputStream; }
10
+ get: function () { return chunk6OGG24PY_cjs.AISDKV5OutputStream; }
11
11
  });
12
12
  Object.defineProperty(exports, "ChunkFrom", {
13
13
  enumerable: true,
14
- get: function () { return chunk253FBVD4_cjs.ChunkFrom; }
14
+ get: function () { return chunk6OGG24PY_cjs.ChunkFrom; }
15
15
  });
16
16
  Object.defineProperty(exports, "MastraAgentNetworkStream", {
17
17
  enumerable: true,
18
- get: function () { return chunk253FBVD4_cjs.MastraAgentNetworkStream; }
18
+ get: function () { return chunk6OGG24PY_cjs.MastraAgentNetworkStream; }
19
19
  });
20
20
  Object.defineProperty(exports, "MastraModelOutput", {
21
21
  enumerable: true,
22
- get: function () { return chunk253FBVD4_cjs.MastraModelOutput; }
22
+ get: function () { return chunk6OGG24PY_cjs.MastraModelOutput; }
23
23
  });
24
24
  Object.defineProperty(exports, "WorkflowRunOutput", {
25
25
  enumerable: true,
26
- get: function () { return chunk253FBVD4_cjs.WorkflowRunOutput; }
26
+ get: function () { return chunk6OGG24PY_cjs.WorkflowRunOutput; }
27
27
  });
28
28
  Object.defineProperty(exports, "convertFullStreamChunkToUIMessageStream", {
29
29
  enumerable: true,
30
- get: function () { return chunk253FBVD4_cjs.convertFullStreamChunkToUIMessageStream; }
30
+ get: function () { return chunk6OGG24PY_cjs.convertFullStreamChunkToUIMessageStream; }
31
31
  });
32
32
  Object.defineProperty(exports, "convertMastraChunkToAISDKv5", {
33
33
  enumerable: true,
34
- get: function () { return chunk253FBVD4_cjs.convertMastraChunkToAISDKv5; }
34
+ get: function () { return chunk6OGG24PY_cjs.convertMastraChunkToAISDKv5; }
35
35
  });
36
36
  Object.defineProperty(exports, "DefaultGeneratedFile", {
37
37
  enumerable: true,
38
- get: function () { return chunkMJMID7LX_cjs.DefaultGeneratedFile; }
38
+ get: function () { return chunkEJPCH5WB_cjs.DefaultGeneratedFile; }
39
39
  });
40
40
  Object.defineProperty(exports, "DefaultGeneratedFileWithType", {
41
41
  enumerable: true,
42
- get: function () { return chunkMJMID7LX_cjs.DefaultGeneratedFileWithType; }
42
+ get: function () { return chunkEJPCH5WB_cjs.DefaultGeneratedFileWithType; }
43
43
  });
44
44
  //# sourceMappingURL=index.cjs.map
45
45
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- export { AISDKV5OutputStream, ChunkFrom, MastraAgentNetworkStream, MastraModelOutput, WorkflowRunOutput, convertFullStreamChunkToUIMessageStream, convertMastraChunkToAISDKv5 } from '../chunk-LG5B3KIW.js';
2
- export { DefaultGeneratedFile, DefaultGeneratedFileWithType } from '../chunk-E3PG7G6E.js';
1
+ export { AISDKV5OutputStream, ChunkFrom, MastraAgentNetworkStream, MastraModelOutput, WorkflowRunOutput, convertFullStreamChunkToUIMessageStream, convertMastraChunkToAISDKv5 } from '../chunk-ZVAWVX5J.js';
2
+ export { DefaultGeneratedFile, DefaultGeneratedFileWithType } from '../chunk-DNYWTNND.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkMCASUJWY_cjs = require('../chunk-MCASUJWY.cjs');
3
+ var chunk5D6TMUAG_cjs = require('../chunk-5D6TMUAG.cjs');
4
4
  var ai = require('ai');
5
5
  var test = require('ai/test');
6
6
 
@@ -58,7 +58,7 @@ function createMockModel({
58
58
  });
59
59
  return mockModel;
60
60
  }
61
- var MockProvider = class extends chunkMCASUJWY_cjs.MastraLLMV1 {
61
+ var MockProvider = class extends chunk5D6TMUAG_cjs.MastraLLMV1 {
62
62
  constructor({
63
63
  spyGenerate,
64
64
  spyStream,
@@ -1,4 +1,4 @@
1
- import { MastraLLMV1 } from '../chunk-NR77P3TK.js';
1
+ import { MastraLLMV1 } from '../chunk-V66IXQAJ.js';
2
2
  import { simulateReadableStream } from 'ai';
3
3
  import { MockLanguageModelV1 } from 'ai/test';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { ToolCallOptions, ProviderDefinedTool } from '@internal/external-types';
1
+ import type { ProviderDefinedTool } from '@internal/external-types';
2
2
  import { MastraBase } from '../../base.js';
3
3
  import type { ToolOptions } from '../../utils.js';
4
4
  import type { CoreTool, ToolAction, VercelTool, VercelToolV5 } from '../types.js';
@@ -22,75 +22,7 @@ export declare class CoreToolBuilder extends MastraBase {
22
22
  private buildProviderTool;
23
23
  private createLogMessageOptions;
24
24
  private createExecute;
25
- buildV5(): ({
26
- description?: string;
27
- providerOptions?: SharedV2ProviderOptions;
28
- inputSchema: import("@internal/external-types").FlexibleSchema<any>;
29
- onInputStart?: (options: ToolCallOptions) => void | PromiseLike<void>;
30
- onInputDelta?: (options: {
31
- inputTextDelta: string;
32
- } & ToolCallOptions) => void | PromiseLike<void>;
33
- onInputAvailable?: ((options: {
34
- input: any;
35
- } & ToolCallOptions) => void | PromiseLike<void>) | undefined;
36
- } & Partial<{
37
- execute: (input: any, options: ToolCallOptions) => any;
38
- outputSchema?: import("@internal/external-types").FlexibleSchema<any> | undefined;
39
- }> & {
40
- toModelOutput?: ((output: any) => LanguageModelV2ToolResultPart) | undefined;
41
- } & {
42
- type?: undefined | "function";
43
- }) | ({
44
- description?: string;
45
- providerOptions?: SharedV2ProviderOptions;
46
- inputSchema: import("@internal/external-types").FlexibleSchema<any>;
47
- onInputStart?: (options: ToolCallOptions) => void | PromiseLike<void>;
48
- onInputDelta?: (options: {
49
- inputTextDelta: string;
50
- } & ToolCallOptions) => void | PromiseLike<void>;
51
- onInputAvailable?: ((options: {
52
- input: any;
53
- } & ToolCallOptions) => void | PromiseLike<void>) | undefined;
54
- } & Partial<{
55
- execute: (input: any, options: ToolCallOptions) => any;
56
- outputSchema?: import("@internal/external-types").FlexibleSchema<any> | undefined;
57
- }> & {
58
- toModelOutput?: ((output: any) => LanguageModelV2ToolResultPart) | undefined;
59
- } & {
60
- type: "dynamic";
61
- }) | ({
62
- description?: string;
63
- providerOptions?: SharedV2ProviderOptions;
64
- inputSchema: import("@internal/external-types").FlexibleSchema<any>;
65
- onInputStart?: (options: ToolCallOptions) => void | PromiseLike<void>;
66
- onInputDelta?: (options: {
67
- inputTextDelta: string;
68
- } & ToolCallOptions) => void | PromiseLike<void>;
69
- onInputAvailable?: ((options: {
70
- input: any;
71
- } & ToolCallOptions) => void | PromiseLike<void>) | undefined;
72
- } & Partial<{
73
- execute: (input: any, options: ToolCallOptions) => any;
74
- outputSchema?: import("@internal/external-types").FlexibleSchema<any> | undefined;
75
- }> & {
76
- toModelOutput?: ((output: any) => LanguageModelV2ToolResultPart) | undefined;
77
- } & {
78
- type: "provider-defined";
79
- id: `${string}.${string}`;
80
- name: string;
81
- args: Record<string, unknown>;
82
- }) | {
83
- type: "provider-defined";
84
- id: `${string}.${string}`;
85
- name: string;
86
- args: Record<string, unknown>;
87
- inputSchema: any;
88
- onInputStart: any;
89
- onInputDelta: any;
90
- onInputAvailable: any;
91
- description?: string;
92
- outputSchema?: import("@internal/external-types").FlexibleSchema<any> | Schema;
93
- };
25
+ buildV5(): VercelToolV5;
94
26
  build(): CoreTool;
95
27
  }
96
28
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-builder/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAcrF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAA+B,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG5G;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,mBAAmB,CAAC;AACxG,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAazD,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAU;gBAEd,KAAK,EAAE;QAAE,YAAY,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ3F,OAAO,CAAC,aAAa,CA0BnB;IAEF,OAAO,CAAC,eAAe,CAYrB;IAGF,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,aAAa;IAsJrB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+BP,KAAK,IAAI,QAAQ;CA4FlB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-builder/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAcrF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAA+B,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG5G;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,mBAAmB,CAAC;AACxG,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAazD,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAU;gBAEd,KAAK,EAAE;QAAE,YAAY,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ3F,OAAO,CAAC,aAAa,CA0BnB;IAEF,OAAO,CAAC,eAAe,CAYrB;IAGF,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,aAAa;IAsJrB,OAAO;IA+BP,KAAK,IAAI,QAAQ;CA4FlB"}
package/dist/utils.cjs CHANGED
@@ -1,72 +1,72 @@
1
1
  'use strict';
2
2
 
3
- var chunkP35FNLTQ_cjs = require('./chunk-P35FNLTQ.cjs');
3
+ var chunkO5PROZMW_cjs = require('./chunk-O5PROZMW.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "checkEvalStorageFields", {
8
8
  enumerable: true,
9
- get: function () { return chunkP35FNLTQ_cjs.checkEvalStorageFields; }
9
+ get: function () { return chunkO5PROZMW_cjs.checkEvalStorageFields; }
10
10
  });
11
11
  Object.defineProperty(exports, "createMastraProxy", {
12
12
  enumerable: true,
13
- get: function () { return chunkP35FNLTQ_cjs.createMastraProxy; }
13
+ get: function () { return chunkO5PROZMW_cjs.createMastraProxy; }
14
14
  });
15
15
  Object.defineProperty(exports, "deepMerge", {
16
16
  enumerable: true,
17
- get: function () { return chunkP35FNLTQ_cjs.deepMerge; }
17
+ get: function () { return chunkO5PROZMW_cjs.deepMerge; }
18
18
  });
19
19
  Object.defineProperty(exports, "delay", {
20
20
  enumerable: true,
21
- get: function () { return chunkP35FNLTQ_cjs.delay; }
21
+ get: function () { return chunkO5PROZMW_cjs.delay; }
22
22
  });
23
23
  Object.defineProperty(exports, "ensureToolProperties", {
24
24
  enumerable: true,
25
- get: function () { return chunkP35FNLTQ_cjs.ensureToolProperties; }
25
+ get: function () { return chunkO5PROZMW_cjs.ensureToolProperties; }
26
26
  });
27
27
  Object.defineProperty(exports, "fetchWithRetry", {
28
28
  enumerable: true,
29
- get: function () { return chunkP35FNLTQ_cjs.fetchWithRetry; }
29
+ get: function () { return chunkO5PROZMW_cjs.fetchWithRetry; }
30
30
  });
31
31
  Object.defineProperty(exports, "generateEmptyFromSchema", {
32
32
  enumerable: true,
33
- get: function () { return chunkP35FNLTQ_cjs.generateEmptyFromSchema; }
33
+ get: function () { return chunkO5PROZMW_cjs.generateEmptyFromSchema; }
34
34
  });
35
35
  Object.defineProperty(exports, "isCoreMessage", {
36
36
  enumerable: true,
37
- get: function () { return chunkP35FNLTQ_cjs.isCoreMessage; }
37
+ get: function () { return chunkO5PROZMW_cjs.isCoreMessage; }
38
38
  });
39
39
  Object.defineProperty(exports, "isUiMessage", {
40
40
  enumerable: true,
41
- get: function () { return chunkP35FNLTQ_cjs.isUiMessage; }
41
+ get: function () { return chunkO5PROZMW_cjs.isUiMessage; }
42
42
  });
43
43
  Object.defineProperty(exports, "isZodType", {
44
44
  enumerable: true,
45
- get: function () { return chunkP35FNLTQ_cjs.isZodType; }
45
+ get: function () { return chunkO5PROZMW_cjs.isZodType; }
46
46
  });
47
47
  Object.defineProperty(exports, "makeCoreTool", {
48
48
  enumerable: true,
49
- get: function () { return chunkP35FNLTQ_cjs.makeCoreTool; }
49
+ get: function () { return chunkO5PROZMW_cjs.makeCoreTool; }
50
50
  });
51
51
  Object.defineProperty(exports, "makeCoreToolV5", {
52
52
  enumerable: true,
53
- get: function () { return chunkP35FNLTQ_cjs.makeCoreToolV5; }
53
+ get: function () { return chunkO5PROZMW_cjs.makeCoreToolV5; }
54
54
  });
55
55
  Object.defineProperty(exports, "maskStreamTags", {
56
56
  enumerable: true,
57
- get: function () { return chunkP35FNLTQ_cjs.maskStreamTags; }
57
+ get: function () { return chunkO5PROZMW_cjs.maskStreamTags; }
58
58
  });
59
59
  Object.defineProperty(exports, "parseFieldKey", {
60
60
  enumerable: true,
61
- get: function () { return chunkP35FNLTQ_cjs.parseFieldKey; }
61
+ get: function () { return chunkO5PROZMW_cjs.parseFieldKey; }
62
62
  });
63
63
  Object.defineProperty(exports, "parseSqlIdentifier", {
64
64
  enumerable: true,
65
- get: function () { return chunkP35FNLTQ_cjs.parseSqlIdentifier; }
65
+ get: function () { return chunkO5PROZMW_cjs.parseSqlIdentifier; }
66
66
  });
67
67
  Object.defineProperty(exports, "resolveSerializedZodOutput", {
68
68
  enumerable: true,
69
- get: function () { return chunkP35FNLTQ_cjs.resolveSerializedZodOutput; }
69
+ get: function () { return chunkO5PROZMW_cjs.resolveSerializedZodOutput; }
70
70
  });
71
71
  //# sourceMappingURL=utils.cjs.map
72
72
  //# sourceMappingURL=utils.cjs.map
package/dist/utils.js CHANGED
@@ -1,3 +1,3 @@
1
- export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput } from './chunk-DTTOVV72.js';
1
+ export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput } from './chunk-MBMPTC7F.js';
2
2
  //# sourceMappingURL=utils.js.map
3
3
  //# sourceMappingURL=utils.js.map
@@ -1,44 +1,44 @@
1
1
  'use strict';
2
2
 
3
- var chunk77JHIM4E_cjs = require('../../chunk-77JHIM4E.cjs');
3
+ var chunkTPYSVJ5T_cjs = require('../../chunk-TPYSVJ5T.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "EventedExecutionEngine", {
8
8
  enumerable: true,
9
- get: function () { return chunk77JHIM4E_cjs.EventedExecutionEngine; }
9
+ get: function () { return chunkTPYSVJ5T_cjs.EventedExecutionEngine; }
10
10
  });
11
11
  Object.defineProperty(exports, "EventedRun", {
12
12
  enumerable: true,
13
- get: function () { return chunk77JHIM4E_cjs.EventedRun; }
13
+ get: function () { return chunkTPYSVJ5T_cjs.EventedRun; }
14
14
  });
15
15
  Object.defineProperty(exports, "EventedWorkflow", {
16
16
  enumerable: true,
17
- get: function () { return chunk77JHIM4E_cjs.EventedWorkflow; }
17
+ get: function () { return chunkTPYSVJ5T_cjs.EventedWorkflow; }
18
18
  });
19
19
  Object.defineProperty(exports, "StepExecutor", {
20
20
  enumerable: true,
21
- get: function () { return chunk77JHIM4E_cjs.StepExecutor; }
21
+ get: function () { return chunkTPYSVJ5T_cjs.StepExecutor; }
22
22
  });
23
23
  Object.defineProperty(exports, "WorkflowEventProcessor", {
24
24
  enumerable: true,
25
- get: function () { return chunk77JHIM4E_cjs.WorkflowEventProcessor; }
25
+ get: function () { return chunkTPYSVJ5T_cjs.WorkflowEventProcessor; }
26
26
  });
27
27
  Object.defineProperty(exports, "cloneStep", {
28
28
  enumerable: true,
29
- get: function () { return chunk77JHIM4E_cjs.cloneStep; }
29
+ get: function () { return chunkTPYSVJ5T_cjs.cloneStep; }
30
30
  });
31
31
  Object.defineProperty(exports, "cloneWorkflow", {
32
32
  enumerable: true,
33
- get: function () { return chunk77JHIM4E_cjs.cloneWorkflow; }
33
+ get: function () { return chunkTPYSVJ5T_cjs.cloneWorkflow; }
34
34
  });
35
35
  Object.defineProperty(exports, "createStep", {
36
36
  enumerable: true,
37
- get: function () { return chunk77JHIM4E_cjs.createStep; }
37
+ get: function () { return chunkTPYSVJ5T_cjs.createStep; }
38
38
  });
39
39
  Object.defineProperty(exports, "createWorkflow", {
40
40
  enumerable: true,
41
- get: function () { return chunk77JHIM4E_cjs.createWorkflow; }
41
+ get: function () { return chunkTPYSVJ5T_cjs.createWorkflow; }
42
42
  });
43
43
  //# sourceMappingURL=index.cjs.map
44
44
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { EventedExecutionEngine, EventedRun, EventedWorkflow, StepExecutor, WorkflowEventProcessor, cloneStep, cloneWorkflow, createStep, createWorkflow } from '../../chunk-3VXXCPKX.js';
1
+ export { EventedExecutionEngine, EventedRun, EventedWorkflow, StepExecutor, WorkflowEventProcessor, cloneStep, cloneWorkflow, createStep, createWorkflow } from '../../chunk-HKT62GIP.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map