@mastra/server 1.36.0-alpha.2 → 1.36.0-alpha.4

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 (151) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +506 -28
  3. package/dist/{api-schema-manifest-CF2WPQBA.cjs → api-schema-manifest-HYLH35UU.cjs} +4 -4
  4. package/dist/{api-schema-manifest-CF2WPQBA.cjs.map → api-schema-manifest-HYLH35UU.cjs.map} +1 -1
  5. package/dist/{api-schema-manifest-YS3FEIFG.js → api-schema-manifest-WY623UST.js} +3 -3
  6. package/dist/{api-schema-manifest-YS3FEIFG.js.map → api-schema-manifest-WY623UST.js.map} +1 -1
  7. package/dist/{chunk-BYX5LHPW.cjs → chunk-2R76OYDZ.cjs} +22 -5
  8. package/dist/chunk-2R76OYDZ.cjs.map +1 -0
  9. package/dist/{chunk-K6AEVBZQ.js → chunk-2YUSBWAC.js} +8 -5
  10. package/dist/chunk-2YUSBWAC.js.map +1 -0
  11. package/dist/{chunk-QGPIJ3KB.cjs → chunk-3AWUH2DT.cjs} +82 -55
  12. package/dist/chunk-3AWUH2DT.cjs.map +1 -0
  13. package/dist/{chunk-KTOJ2F6V.js → chunk-4KSV4WWQ.js} +3 -3
  14. package/dist/{chunk-KTOJ2F6V.js.map → chunk-4KSV4WWQ.js.map} +1 -1
  15. package/dist/{chunk-CJFSLVFA.js → chunk-4RLRTJ5M.js} +22 -5
  16. package/dist/chunk-4RLRTJ5M.js.map +1 -0
  17. package/dist/{chunk-IIGNRK55.cjs → chunk-5OGVOPLG.cjs} +4 -4
  18. package/dist/{chunk-IIGNRK55.cjs.map → chunk-5OGVOPLG.cjs.map} +1 -1
  19. package/dist/{chunk-NRRAME2S.js → chunk-6HR2SJBP.js} +5 -2
  20. package/dist/chunk-6HR2SJBP.js.map +1 -0
  21. package/dist/{chunk-CKCZVUUB.js → chunk-7X6KGLPA.js} +3 -3
  22. package/dist/{chunk-CKCZVUUB.js.map → chunk-7X6KGLPA.js.map} +1 -1
  23. package/dist/{chunk-MXMOHULN.js → chunk-APCBVLVG.js} +2 -2
  24. package/dist/{chunk-MXMOHULN.js.map → chunk-APCBVLVG.js.map} +1 -1
  25. package/dist/{chunk-HXEMVATM.cjs → chunk-CY2WDWFQ.cjs} +3 -3
  26. package/dist/{chunk-HXEMVATM.cjs.map → chunk-CY2WDWFQ.cjs.map} +1 -1
  27. package/dist/{chunk-EX3XD2F5.js → chunk-E3UHRQZ7.js} +15 -14
  28. package/dist/chunk-E3UHRQZ7.js.map +1 -0
  29. package/dist/{chunk-7BZ2N56X.js → chunk-FKQCQSXF.js} +42 -15
  30. package/dist/chunk-FKQCQSXF.js.map +1 -0
  31. package/dist/{chunk-U6QDJKSZ.cjs → chunk-FP3SA3LK.cjs} +74 -74
  32. package/dist/{chunk-U6QDJKSZ.cjs.map → chunk-FP3SA3LK.cjs.map} +1 -1
  33. package/dist/{chunk-K74VFJKF.js → chunk-G6W3FFTU.js} +2 -2
  34. package/dist/{chunk-K74VFJKF.js.map → chunk-G6W3FFTU.js.map} +1 -1
  35. package/dist/{chunk-QLX34MAR.js → chunk-HFESVWJ6.js} +4 -4
  36. package/dist/{chunk-QLX34MAR.js.map → chunk-HFESVWJ6.js.map} +1 -1
  37. package/dist/{chunk-J6IRCLC6.cjs → chunk-HKM5KOOK.cjs} +3 -3
  38. package/dist/{chunk-J6IRCLC6.cjs.map → chunk-HKM5KOOK.cjs.map} +1 -1
  39. package/dist/{chunk-RJF75FEP.cjs → chunk-JZ2K5LY4.cjs} +12 -12
  40. package/dist/{chunk-RJF75FEP.cjs.map → chunk-JZ2K5LY4.cjs.map} +1 -1
  41. package/dist/{chunk-SKLREO5Z.cjs → chunk-L6U4LZZX.cjs} +3 -3
  42. package/dist/{chunk-SKLREO5Z.cjs.map → chunk-L6U4LZZX.cjs.map} +1 -1
  43. package/dist/{chunk-CM2C2H2Y.cjs → chunk-NHJWT4KF.cjs} +8 -5
  44. package/dist/chunk-NHJWT4KF.cjs.map +1 -0
  45. package/dist/{chunk-HX5WL5ZF.js → chunk-OORAVFI4.js} +3 -3
  46. package/dist/{chunk-HX5WL5ZF.js.map → chunk-OORAVFI4.js.map} +1 -1
  47. package/dist/{chunk-QKAIQUSC.js → chunk-QUVYOHFH.js} +176 -50
  48. package/dist/chunk-QUVYOHFH.js.map +1 -0
  49. package/dist/{chunk-3ZWALPHI.cjs → chunk-REJUB2HI.cjs} +5 -2
  50. package/dist/chunk-REJUB2HI.cjs.map +1 -0
  51. package/dist/{chunk-LG57RYYL.cjs → chunk-RJUQQE46.cjs} +2 -2
  52. package/dist/{chunk-LG57RYYL.cjs.map → chunk-RJUQQE46.cjs.map} +1 -1
  53. package/dist/{chunk-OXSAN74Y.cjs → chunk-S77FIEDZ.cjs} +2 -2
  54. package/dist/{chunk-OXSAN74Y.cjs.map → chunk-S77FIEDZ.cjs.map} +1 -1
  55. package/dist/{chunk-CRTDKNOZ.cjs → chunk-TNXHSUIL.cjs} +98 -97
  56. package/dist/chunk-TNXHSUIL.cjs.map +1 -0
  57. package/dist/{chunk-YETIPEQM.cjs → chunk-U72BY62E.cjs} +228 -101
  58. package/dist/chunk-U72BY62E.cjs.map +1 -0
  59. package/dist/{chunk-N7CG7MFQ.js → chunk-WM2RUEBO.js} +3 -3
  60. package/dist/{chunk-N7CG7MFQ.js.map → chunk-WM2RUEBO.js.map} +1 -1
  61. package/dist/{chunk-IXRARW5C.cjs → chunk-WNPUO7IZ.cjs} +112 -18
  62. package/dist/chunk-WNPUO7IZ.cjs.map +1 -0
  63. package/dist/{chunk-4L2UVFJO.js → chunk-WYP25ZMM.js} +120 -5
  64. package/dist/chunk-WYP25ZMM.js.map +1 -0
  65. package/dist/{chunk-WD2L3ZU3.js → chunk-XM54QZ3G.js} +3 -3
  66. package/dist/{chunk-WD2L3ZU3.js.map → chunk-XM54QZ3G.js.map} +1 -1
  67. package/dist/chunk-YRLCLLKR.js +14 -0
  68. package/dist/chunk-YRLCLLKR.js.map +1 -0
  69. package/dist/{chunk-SUT6SU4I.cjs → chunk-Z4PDJRZT.cjs} +124 -5
  70. package/dist/chunk-Z4PDJRZT.cjs.map +1 -0
  71. package/dist/{chunk-UOKSQHJY.js → chunk-ZJVB5TZ4.js} +112 -18
  72. package/dist/chunk-ZJVB5TZ4.js.map +1 -0
  73. package/dist/chunk-ZNP74O27.cjs +19 -0
  74. package/dist/chunk-ZNP74O27.cjs.map +1 -0
  75. package/dist/{dist-5OGIQLEZ.js → dist-7I6EPNH3.js} +5 -5
  76. package/dist/{dist-5OGIQLEZ.js.map → dist-7I6EPNH3.js.map} +1 -1
  77. package/dist/{dist-ON3E5YMU.cjs → dist-HR6TOFJM.cjs} +20 -20
  78. package/dist/{dist-ON3E5YMU.cjs.map → dist-HR6TOFJM.cjs.map} +1 -1
  79. package/dist/docs/SKILL.md +1 -1
  80. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  81. package/dist/{observational-memory-J73GEMRQ-FRFHLHXN.cjs → observational-memory-KFKHBTCB-RMGPISAP.cjs} +26 -26
  82. package/dist/{observational-memory-J73GEMRQ-FRFHLHXN.cjs.map → observational-memory-KFKHBTCB-RMGPISAP.cjs.map} +1 -1
  83. package/dist/{observational-memory-J73GEMRQ-KNLGLGBD.js → observational-memory-KFKHBTCB-RX2CEPSU.js} +3 -3
  84. package/dist/{observational-memory-J73GEMRQ-KNLGLGBD.js.map → observational-memory-KFKHBTCB-RX2CEPSU.js.map} +1 -1
  85. package/dist/server/handlers/agent-builder.cjs +16 -16
  86. package/dist/server/handlers/agent-builder.js +1 -1
  87. package/dist/server/handlers/conversations.cjs +5 -5
  88. package/dist/server/handlers/conversations.js +1 -1
  89. package/dist/server/handlers/memory.cjs +27 -27
  90. package/dist/server/handlers/memory.d.ts +36 -36
  91. package/dist/server/handlers/memory.js +1 -1
  92. package/dist/server/handlers/observability-list-query-schemas.cjs +24 -0
  93. package/dist/server/handlers/observability-list-query-schemas.cjs.map +1 -0
  94. package/dist/server/handlers/observability-list-query-schemas.d.ts +29 -0
  95. package/dist/server/handlers/observability-list-query-schemas.d.ts.map +1 -0
  96. package/dist/server/handlers/observability-list-query-schemas.js +3 -0
  97. package/dist/server/handlers/observability-list-query-schemas.js.map +1 -0
  98. package/dist/server/handlers/observability-new-endpoints.cjs +32 -28
  99. package/dist/server/handlers/observability-new-endpoints.d.ts +326 -48
  100. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  101. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  102. package/dist/server/handlers/observability-shared.cjs +23 -7
  103. package/dist/server/handlers/observability-shared.d.ts +22 -1
  104. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  105. package/dist/server/handlers/observability-shared.js +1 -1
  106. package/dist/server/handlers/observability.cjs +43 -39
  107. package/dist/server/handlers/observability.d.ts +18 -8
  108. package/dist/server/handlers/observability.d.ts.map +1 -1
  109. package/dist/server/handlers/observability.js +2 -2
  110. package/dist/server/handlers/responses.cjs +4 -4
  111. package/dist/server/handlers/responses.js +1 -1
  112. package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
  113. package/dist/server/handlers/stored-agent-favorites.d.ts.map +1 -1
  114. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  115. package/dist/server/handlers/stored-agents.cjs +7 -7
  116. package/dist/server/handlers/stored-agents.js +1 -1
  117. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  118. package/dist/server/handlers/stored-skill-favorites.d.ts.map +1 -1
  119. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  120. package/dist/server/handlers/stored-skills.cjs +7 -7
  121. package/dist/server/handlers/stored-skills.js +1 -1
  122. package/dist/server/handlers/system.cjs +3 -3
  123. package/dist/server/handlers/system.js +1 -1
  124. package/dist/server/handlers.cjs +15 -15
  125. package/dist/server/handlers.js +6 -6
  126. package/dist/server/schemas/index.cjs +75 -75
  127. package/dist/server/schemas/index.js +3 -3
  128. package/dist/server/schemas/memory.d.ts +25 -19
  129. package/dist/server/schemas/memory.d.ts.map +1 -1
  130. package/dist/server/server-adapter/index.cjs +13 -13
  131. package/dist/server/server-adapter/index.js +2 -2
  132. package/dist/server/server-adapter/routes/memory.d.ts +36 -36
  133. package/dist/server/server-adapter/routes/observability.d.ts +176 -28
  134. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  135. package/package.json +4 -4
  136. package/dist/chunk-3ZWALPHI.cjs.map +0 -1
  137. package/dist/chunk-4L2UVFJO.js.map +0 -1
  138. package/dist/chunk-7BZ2N56X.js.map +0 -1
  139. package/dist/chunk-BYX5LHPW.cjs.map +0 -1
  140. package/dist/chunk-CJFSLVFA.js.map +0 -1
  141. package/dist/chunk-CM2C2H2Y.cjs.map +0 -1
  142. package/dist/chunk-CRTDKNOZ.cjs.map +0 -1
  143. package/dist/chunk-EX3XD2F5.js.map +0 -1
  144. package/dist/chunk-IXRARW5C.cjs.map +0 -1
  145. package/dist/chunk-K6AEVBZQ.js.map +0 -1
  146. package/dist/chunk-NRRAME2S.js.map +0 -1
  147. package/dist/chunk-QGPIJ3KB.cjs.map +0 -1
  148. package/dist/chunk-QKAIQUSC.js.map +0 -1
  149. package/dist/chunk-SUT6SU4I.cjs.map +0 -1
  150. package/dist/chunk-UOKSQHJY.js.map +0 -1
  151. package/dist/chunk-YETIPEQM.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkCRTDKNOZ_cjs = require('./chunk-CRTDKNOZ.cjs');
3
+ var chunkTNXHSUIL_cjs = require('./chunk-TNXHSUIL.cjs');
4
4
  var chunkXTFWFQZ7_cjs = require('./chunk-XTFWFQZ7.cjs');
5
5
 
6
6
  // src/server/server-adapter/api-schema-manifest.ts
@@ -34,7 +34,7 @@ function inferResponseShape(responseSchema) {
34
34
  function isManifestRoute(route) {
35
35
  return route.responseType === "json" && !route.deprecated;
36
36
  }
37
- function buildApiSchemaManifest(routes = chunkCRTDKNOZ_cjs.SERVER_ROUTES) {
37
+ function buildApiSchemaManifest(routes = chunkTNXHSUIL_cjs.SERVER_ROUTES) {
38
38
  return {
39
39
  version: 1,
40
40
  routes: routes.filter(isManifestRoute).map((route) => {
@@ -54,5 +54,5 @@ function buildApiSchemaManifest(routes = chunkCRTDKNOZ_cjs.SERVER_ROUTES) {
54
54
  }
55
55
 
56
56
  exports.buildApiSchemaManifest = buildApiSchemaManifest;
57
- //# sourceMappingURL=api-schema-manifest-CF2WPQBA.cjs.map
58
- //# sourceMappingURL=api-schema-manifest-CF2WPQBA.cjs.map
57
+ //# sourceMappingURL=api-schema-manifest-HYLH35UU.cjs.map
58
+ //# sourceMappingURL=api-schema-manifest-HYLH35UU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":["schemaToJsonSchema","SERVER_ROUTES"],"mappings":";;;;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAASA,oCAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiCC,+BAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-CF2WPQBA.cjs","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":["schemaToJsonSchema","SERVER_ROUTES"],"mappings":";;;;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAASA,oCAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiCC,+BAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-HYLH35UU.cjs","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { SERVER_ROUTES } from './chunk-EX3XD2F5.js';
1
+ import { SERVER_ROUTES } from './chunk-E3UHRQZ7.js';
2
2
  import { schemaToJsonSchema } from './chunk-F2FAL5CZ.js';
3
3
 
4
4
  // src/server/server-adapter/api-schema-manifest.ts
@@ -52,5 +52,5 @@ function buildApiSchemaManifest(routes = SERVER_ROUTES) {
52
52
  }
53
53
 
54
54
  export { buildApiSchemaManifest };
55
- //# sourceMappingURL=api-schema-manifest-YS3FEIFG.js.map
56
- //# sourceMappingURL=api-schema-manifest-YS3FEIFG.js.map
55
+ //# sourceMappingURL=api-schema-manifest-WY623UST.js.map
56
+ //# sourceMappingURL=api-schema-manifest-WY623UST.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":[],"mappings":";;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAAS,kBAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiC,aAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-YS3FEIFG.js","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":[],"mappings":";;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAAS,kBAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiC,aAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-WY623UST.js","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
@@ -27,7 +27,7 @@ var storageOrderBySchema = v4.z.preprocess(
27
27
  v4.z.object({
28
28
  field: v4.z.enum(["createdAt", "updatedAt"]).optional(),
29
29
  direction: v4.z.enum(["ASC", "DESC"]).optional()
30
- })
30
+ }).optional()
31
31
  ).optional();
32
32
  var messageOrderBySchema = v4.z.preprocess(
33
33
  (val) => {
@@ -44,7 +44,7 @@ var messageOrderBySchema = v4.z.preprocess(
44
44
  v4.z.object({
45
45
  field: v4.z.enum(["createdAt"]).optional(),
46
46
  direction: v4.z.enum(["ASC", "DESC"]).optional()
47
- })
47
+ }).optional()
48
48
  ).optional();
49
49
  var includeSchema = v4.z.preprocess(
50
50
  (val) => {
@@ -117,7 +117,7 @@ var getMemoryStatusQuerySchema = agentIdQuerySchema.extend({
117
117
  threadId: v4.z.string().optional()
118
118
  });
119
119
  var getMemoryConfigQuerySchema = agentIdQuerySchema;
120
- var listThreadsQuerySchema = chunkDIG2K5CV_cjs.createPagePaginationSchema(100).extend({
120
+ var listThreadsQueryInnerSchema = chunkDIG2K5CV_cjs.createPagePaginationSchema(100).extend({
121
121
  agentId: v4.z.string().optional(),
122
122
  resourceId: v4.z.string().optional(),
123
123
  metadata: v4.z.preprocess(
@@ -136,6 +136,23 @@ var listThreadsQuerySchema = chunkDIG2K5CV_cjs.createPagePaginationSchema(100).e
136
136
  ).optional(),
137
137
  orderBy: storageOrderBySchema
138
138
  });
139
+ var listThreadsQuerySchema = v4.z.preprocess((val) => {
140
+ if (val === null || typeof val !== "object" || Array.isArray(val)) return val;
141
+ const record = val;
142
+ const rawOrderBy = record.orderBy;
143
+ if (typeof rawOrderBy !== "string") return val;
144
+ const trimmed = rawOrderBy.trim();
145
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) return val;
146
+ const direction = typeof record.sortDirection === "string" ? record.sortDirection : void 0;
147
+ const { sortDirection: _legacyDir, ...rest } = record;
148
+ return {
149
+ ...rest,
150
+ orderBy: {
151
+ field: rawOrderBy,
152
+ ...direction !== void 0 ? { direction } : {}
153
+ }
154
+ };
155
+ }, listThreadsQueryInnerSchema);
139
156
  var getThreadByIdQuerySchema = optionalAgentIdQuerySchema.extend({
140
157
  resourceId: v4.z.string().optional()
141
158
  });
@@ -415,5 +432,5 @@ exports.updateThreadBodySchema = updateThreadBodySchema;
415
432
  exports.updateThreadNetworkQuerySchema = updateThreadNetworkQuerySchema;
416
433
  exports.updateWorkingMemoryBodySchema = updateWorkingMemoryBodySchema;
417
434
  exports.updateWorkingMemoryResponseSchema = updateWorkingMemoryResponseSchema;
418
- //# sourceMappingURL=chunk-BYX5LHPW.cjs.map
419
- //# sourceMappingURL=chunk-BYX5LHPW.cjs.map
435
+ //# sourceMappingURL=chunk-2R76OYDZ.cjs.map
436
+ //# sourceMappingURL=chunk-2R76OYDZ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/memory.ts"],"names":["z","createPagePaginationSchema","paginationInfoSchema","successResponseSchema"],"mappings":"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","file":"chunk-2R76OYDZ.cjs","sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema, successResponseSchema } from './common';\n\n// Path parameter schemas\nexport const threadIdPathParams = z.object({\n threadId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\n/**\n * Common query parameter: required agent ID\n */\nexport const agentIdQuerySchema = z.object({\n agentId: z.string(),\n});\n\n/**\n * Common query parameter: optional agent ID\n * Used for read operations that can fall back to storage when agentId is not provided\n */\nexport const optionalAgentIdQuerySchema = z.object({\n agentId: z.string().optional(),\n});\n\n/**\n * Storage order by configuration for threads and agents (have both createdAt and updatedAt)\n * Handles JSON parsing from query strings.\n *\n * The inner object is wrapped in `.optional()` so the preprocess can yield\n * `undefined` (e.g. when a legacy client sends a bare string like\n * `?orderBy=updatedAt`) without tripping a \"expected object, received undefined\"\n * Zod error. Without that inner `.optional()`, valid optional query usage\n * regresses into a hard 400.\n */\nconst storageOrderBySchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n return undefined;\n }\n }\n return val;\n },\n z\n .object({\n field: z.enum(['createdAt', 'updatedAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n })\n .optional(),\n )\n .optional();\n\n/**\n * Storage order by configuration for messages (only have createdAt)\n * Handles JSON parsing from query strings. See `storageOrderBySchema` for why\n * the inner object schema is also `.optional()`.\n */\nconst messageOrderBySchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n return undefined;\n }\n }\n return val;\n },\n z\n .object({\n field: z.enum(['createdAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n })\n .optional(),\n )\n .optional();\n\n/**\n * Include schema for message listing - handles JSON parsing from query strings\n */\nconst includeSchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.array will reject string type)\n return val;\n }\n }\n return val;\n },\n z.array(\n z.object({\n id: z.string(),\n threadId: z.string().optional(),\n withPreviousMessages: z.number().optional(),\n withNextMessages: z.number().optional(),\n }),\n ),\n )\n .optional();\n\n/**\n * Filter schema for message listing - handles JSON parsing from query strings\n */\nconst filterSchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.object will reject string type)\n return val;\n }\n }\n return val;\n },\n z.object({\n dateRange: z\n .object({\n start: z.coerce.date().optional(),\n end: z.coerce.date().optional(),\n startExclusive: z.boolean().optional(),\n endExclusive: z.boolean().optional(),\n })\n .optional(),\n roles: z.array(z.string()).optional(),\n }),\n )\n .optional();\n\n/**\n * Memory config schema - handles JSON parsing from query strings\n */\nconst memoryConfigSchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.record(z.string(), z.unknown()),\n )\n .optional();\n\n/**\n * Thread object structure\n */\nconst threadSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n resourceId: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Message structure for storage\n * Extends coreMessageSchema with storage-specific fields\n */\nconst messageSchema = z.any();\n// const messageSchema = coreMessageSchema.extend({\n// id: z.string(),\n// createdAt: z.coerce.date(),\n// threadId: z.string().optional(),\n// resourceId: z.string().optional(),\n// });\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\n/**\n * GET /api/memory/status\n * Includes optional resourceId and threadId for OM status lookup\n */\nexport const getMemoryStatusQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * GET /memory/config\n */\nexport const getMemoryConfigQuerySchema = agentIdQuerySchema;\n\n/**\n * Inner schema for GET /memory/threads. The outer `listThreadsQuerySchema`\n * wraps this with a back-compat preprocess (see below) that rewrites the\n * legacy `?orderBy=<field>&sortDirection=<dir>` shape — emitted by\n * `@mastra/client-js` < 1.18 (e.g. mobile clients pinned to 1.4.x) — into the\n * current `{ orderBy: { field, direction } }` object shape.\n */\nconst listThreadsQueryInnerSchema = createPagePaginationSchema(100).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n metadata: z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.record(z.string(), z.any()),\n )\n .optional(),\n orderBy: storageOrderBySchema,\n});\n\n/**\n * GET /memory/threads\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - when omitted, returns all threads\n * metadata is optional - filters threads by metadata key-value pairs (AND logic)\n *\n * Accepts both the current shape (`orderBy[field]=...&orderBy[direction]=...`)\n * and the legacy shape used by `@mastra/client-js` < 1.18\n * (`orderBy=<field>&sortDirection=<dir>`). The legacy shape is fused into the\n * current shape before schema validation, so existing pinned clients continue\n * to work without server-side breakage.\n */\nexport const listThreadsQuerySchema = z.preprocess(val => {\n if (val === null || typeof val !== 'object' || Array.isArray(val)) return val;\n const record = val as Record<string, unknown>;\n const rawOrderBy = record.orderBy;\n // Only rewrite the legacy bare-string shape. Object / bracket-notation /\n // JSON-stringified orderBy is left alone and handled by storageOrderBySchema.\n if (typeof rawOrderBy !== 'string') return val;\n // A JSON-stringified object is the current \"stringified\" shape, not legacy —\n // let storageOrderBySchema's preprocess parse it.\n const trimmed = rawOrderBy.trim();\n if (trimmed.startsWith('{') || trimmed.startsWith('[')) return val;\n // Legacy shape detected: fuse into `{ field, direction }`.\n const direction = typeof record.sortDirection === 'string' ? record.sortDirection : undefined;\n const { sortDirection: _legacyDir, ...rest } = record;\n return {\n ...rest,\n orderBy: {\n field: rawOrderBy,\n ...(direction !== undefined ? { direction } : {}),\n },\n };\n}, listThreadsQueryInnerSchema);\n\n/**\n * GET /memory/threads/:threadId\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const getThreadByIdQuerySchema = optionalAgentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * GET /memory/threads/:threadId/messages\n * agentId is optional - can use storage fallback when not provided\n */\nexport const listMessagesQuerySchema = createPagePaginationSchema(40).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n orderBy: messageOrderBySchema,\n include: includeSchema,\n filter: filterSchema,\n includeSystemReminders: z\n .preprocess(val => {\n if (val === undefined) return val;\n if (val === 'true') return true;\n if (val === 'false') return false;\n return val;\n }, z.boolean())\n .optional(),\n});\n\n/**\n * GET /memory/threads/:threadId/working-memory\n */\nexport const getWorkingMemoryQuerySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n memoryConfig: memoryConfigSchema,\n});\n\n/**\n * DELETE /memory/threads/:threadId\n * agentId is required\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteThreadQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * POST /memory/messages/delete\n * agentId is required\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteMessagesQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n// ============================================================================\n// Legacy /network Query Parameter Schemas (backward compatibility)\n// ============================================================================\n\n/**\n * GET /memory/network/status\n */\nexport const getMemoryStatusNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * GET /memory/network/threads\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - when omitted, returns all threads\n * metadata is optional - filters threads by metadata key-value pairs (AND logic)\n */\nexport const listThreadsNetworkQuerySchema = createPagePaginationSchema(100).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n metadata: z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.record(z.string(), z.any()),\n )\n .optional(),\n orderBy: storageOrderBySchema,\n});\n\n/**\n * GET /memory/network/threads/:threadId\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const getThreadByIdNetworkQuerySchema = optionalAgentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * GET /memory/network/threads/:threadId/messages\n * agentId is optional - can use storage fallback when not provided\n */\nexport const listMessagesNetworkQuerySchema = createPagePaginationSchema(40).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n orderBy: messageOrderBySchema,\n include: includeSchema,\n filter: filterSchema,\n});\n\n/**\n * POST /memory/network/save-messages\n */\nexport const saveMessagesNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * POST /memory/network/threads\n */\nexport const createThreadNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * PATCH /memory/network/threads/:threadId\n */\nexport const updateThreadNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * DELETE /memory/network/threads/:threadId\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteThreadNetworkQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * POST /memory/network/messages/delete\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteMessagesNetworkQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Response for GET /memory/status\n */\nexport const memoryStatusResponseSchema = z.object({\n result: z.boolean(),\n memoryType: z.enum(['local', 'gateway']).optional(),\n observationalMemory: z\n .object({\n enabled: z.boolean(),\n hasRecord: z.boolean().optional(),\n originType: z.string().optional(),\n lastObservedAt: z.date().optional(),\n tokenCount: z.number().optional(),\n observationTokenCount: z.number().optional(),\n isObserving: z.boolean().optional(),\n isReflecting: z.boolean().optional(),\n })\n .optional(),\n});\n\n/**\n * Observational Memory config schema for API responses\n */\nconst observationalMemoryModelRoutingSchema = z.array(\n z.object({\n upTo: z.number(),\n model: z.string(),\n }),\n);\n\nconst observationalMemoryConfigSchema = z.object({\n enabled: z.boolean(),\n scope: z.enum(['thread', 'resource']).optional(),\n shareTokenBudget: z.boolean().optional(),\n messageTokens: z.union([z.number(), z.object({ min: z.number(), max: z.number() })]).optional(),\n observationTokens: z.union([z.number(), z.object({ min: z.number(), max: z.number() })]).optional(),\n observationModel: z.string().optional(),\n reflectionModel: z.string().optional(),\n observationModelRouting: observationalMemoryModelRoutingSchema.optional(),\n reflectionModelRouting: observationalMemoryModelRoutingSchema.optional(),\n});\n\n/**\n * Response for GET /memory/config\n * MemoryConfig is complex with many optional fields - using passthrough\n */\nexport const memoryConfigResponseSchema = z.object({\n memoryType: z.enum(['local', 'gateway']).optional(),\n config: z\n .object({\n lastMessages: z.union([z.number(), z.literal(false)]).optional(),\n semanticRecall: z.union([z.boolean(), z.any()]).optional(),\n workingMemory: z.any().optional(),\n observationalMemory: observationalMemoryConfigSchema.optional(),\n })\n .nullable(),\n});\n\n/**\n * Response for GET /memory/threads\n */\nexport const listThreadsResponseSchema = paginationInfoSchema.extend({\n threads: z.array(threadSchema),\n});\n\n/**\n * Response for GET /memory/threads/:threadId\n */\nexport const getThreadByIdResponseSchema = threadSchema;\n\n/**\n * Response for GET /memory/threads/:threadId/messages\n */\nexport const listMessagesResponseSchema = z.object({\n messages: z.array(messageSchema),\n uiMessages: z.unknown(), // Converted messages in UI format\n});\n\n/**\n * Response for GET /memory/threads/:threadId/working-memory\n */\nexport const getWorkingMemoryResponseSchema = z.object({\n workingMemory: z.unknown(), // Can be string or structured object depending on template\n source: z.enum(['thread', 'resource']),\n workingMemoryTemplate: z.unknown(), // Template structure varies\n threadExists: z.boolean(),\n});\n\n// ============================================================================\n// Body Parameter Schemas for POST/PUT/DELETE\n// ============================================================================\n\n/**\n * Body schema for POST /memory/messages\n */\nexport const saveMessagesBodySchema = z.object({\n messages: z.array(messageSchema),\n});\n\n/**\n * Body schema for POST /memory/threads\n */\nexport const createThreadBodySchema = z.object({\n resourceId: z.string(),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Body schema for PUT /memory/threads/:threadId\n */\nexport const updateThreadBodySchema = z.object({\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n});\n\n/**\n * Body schema for PUT /memory/threads/:threadId/working-memory\n */\nexport const updateWorkingMemoryBodySchema = z.object({\n workingMemory: z.string(),\n resourceId: z.string().optional(),\n memoryConfig: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Body schema for POST /memory/messages/delete\n * Accepts: string | string[] | { id: string } | { id: string }[]\n */\nexport const deleteMessagesBodySchema = z.object({\n messageIds: z.union([\n z.string(),\n z.array(z.string()),\n z.object({ id: z.string() }),\n z.array(z.object({ id: z.string() })),\n ]),\n});\n\n/**\n * Query schema for GET /memory/search\n */\nexport const searchMemoryQuerySchema = z.object({\n agentId: z.string(),\n searchQuery: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n limit: z.coerce.number().optional().default(20),\n memoryConfig: memoryConfigSchema,\n});\n\n/**\n * Response schemas\n */\nexport const saveMessagesResponseSchema = z.object({\n messages: z.array(messageSchema),\n});\n\nexport const deleteThreadResponseSchema = z.object({\n result: z.string(),\n});\n\nexport const updateWorkingMemoryResponseSchema = successResponseSchema;\n\nexport const deleteMessagesResponseSchema = successResponseSchema.extend({\n message: z.string(),\n});\n\nexport const searchMemoryResponseSchema = z.object({\n results: z.array(z.unknown()),\n count: z.number(),\n query: z.string(),\n searchScope: z.string().optional(),\n searchType: z.string().optional(),\n});\n\n/**\n * Body schema for POST /memory/threads/:threadId/clone\n */\nexport const cloneThreadBodySchema = z.object({\n newThreadId: z.string().optional(),\n resourceId: z.string().optional(),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n options: z\n .object({\n messageLimit: z.number().optional(),\n messageFilter: z\n .object({\n startDate: z.coerce.date().optional(),\n endDate: z.coerce.date().optional(),\n messageIds: z.array(z.string()).optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\n/**\n * Response schema for POST /memory/threads/:threadId/clone\n */\nexport const cloneThreadResponseSchema = z.object({\n thread: threadSchema,\n clonedMessages: z.array(messageSchema),\n});\n\n// ============================================================================\n// Observational Memory Schemas\n// ============================================================================\n\n/**\n * Query schema for GET /api/memory/observational-memory\n */\nexport const getObservationalMemoryQuerySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n from: z.coerce.date().optional(),\n to: z.coerce.date().optional(),\n offset: z.coerce.number().int().min(0).optional(),\n limit: z.coerce.number().int().min(1).optional(),\n});\n\n/**\n * Observational Memory record schema for API responses\n * Matches the ObservationalMemoryRecord type from @mastra/core/storage\n */\nconst observationalMemoryRecordSchema = z.object({\n id: z.string(),\n scope: z.enum(['thread', 'resource']),\n resourceId: z.string(),\n threadId: z.string().nullable(),\n activeObservations: z.string(),\n bufferedObservations: z.string().optional(),\n bufferedReflection: z.string().optional(),\n originType: z.enum(['initial', 'observation', 'reflection']),\n generationCount: z.number(),\n lastObservedAt: z.date().optional(),\n totalTokensObserved: z.number(),\n observationTokenCount: z.number(),\n pendingMessageTokens: z.number(),\n isObserving: z.boolean(),\n isReflecting: z.boolean(),\n config: z.record(z.string(), z.unknown()),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\n/**\n * Response schema for GET /api/memory/observational-memory\n */\nexport const getObservationalMemoryResponseSchema = z.object({\n record: observationalMemoryRecordSchema.nullable(),\n history: z.array(observationalMemoryRecordSchema).optional(),\n});\n\n/**\n * Body schema for POST /api/memory/observational-memory/buffer-status\n */\nexport const awaitBufferStatusBodySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Response schema for POST /api/memory/observational-memory/buffer-status\n */\nexport const awaitBufferStatusResponseSchema = z.object({\n record: observationalMemoryRecordSchema.nullable(),\n});\n"]}
@@ -1,7 +1,8 @@
1
- import { storedSkillIdPathParams } from './chunk-UIRQU4GW.js';
2
1
  import { favoriteToggleResponseSchema } from './chunk-SFPN7SHZ.js';
2
+ import { storedSkillIdPathParams } from './chunk-UIRQU4GW.js';
3
3
  import { requireBuilderFeature } from './chunk-6JCLSYOU.js';
4
4
  import { getCallerAuthorId, assertReadAccess } from './chunk-7U7OWTR2.js';
5
+ import { assertStoredResourceScope, getStoredResourceScope } from './chunk-4XSWMZTL.js';
5
6
  import { handleError } from './chunk-GA4BG5JK.js';
6
7
  import { createRoute } from './chunk-F2FAL5CZ.js';
7
8
  import { HTTPException } from './chunk-6QWQZI4Q.js';
@@ -41,10 +42,11 @@ var FAVORITE_STORED_SKILL_ROUTE = createRoute({
41
42
  throw new HTTPException(401, { message: "Authentication required" });
42
43
  }
43
44
  const { skillStore, favoritesStore } = await getFavoritesContext(mastra);
44
- const skill = await skillStore.getById(storedSkillId);
45
+ const skill = await skillStore.getByIdResolved(storedSkillId);
45
46
  if (!skill) {
46
47
  throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });
47
48
  }
49
+ assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));
48
50
  assertReadAccess({ requestContext, resource: "stored-skills", resourceId: storedSkillId, record: skill });
49
51
  const result = await favoritesStore.favorite({
50
52
  userId: callerId,
@@ -76,10 +78,11 @@ var UNFAVORITE_STORED_SKILL_ROUTE = createRoute({
76
78
  throw new HTTPException(401, { message: "Authentication required" });
77
79
  }
78
80
  const { skillStore, favoritesStore } = await getFavoritesContext(mastra);
79
- const skill = await skillStore.getById(storedSkillId);
81
+ const skill = await skillStore.getByIdResolved(storedSkillId);
80
82
  if (!skill) {
81
83
  throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });
82
84
  }
85
+ assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));
83
86
  assertReadAccess({ requestContext, resource: "stored-skills", resourceId: storedSkillId, record: skill });
84
87
  const result = await favoritesStore.unfavorite({
85
88
  userId: callerId,
@@ -94,5 +97,5 @@ var UNFAVORITE_STORED_SKILL_ROUTE = createRoute({
94
97
  });
95
98
 
96
99
  export { FAVORITE_STORED_SKILL_ROUTE, UNFAVORITE_STORED_SKILL_ROUTE };
97
- //# sourceMappingURL=chunk-K6AEVBZQ.js.map
98
- //# sourceMappingURL=chunk-K6AEVBZQ.js.map
100
+ //# sourceMappingURL=chunk-2YUSBWAC.js.map
101
+ //# sourceMappingURL=chunk-2YUSBWAC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/stored-skill-favorites.ts"],"names":[],"mappings":";;;;;;;;;;AAaA,eAAe,oBAAoB,MAAA,EAAqD;AACtF,EAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6BAA6B,CAAA;AAAA,EACvE;AACA,EAAA,MAAM,UAAA,GAAa,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA;AAClD,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,EACpF;AACA,EAAA,MAAM,cAAA,GAAiB,MAAM,OAAA,CAAQ,QAAA,CAAS,WAAW,CAAA;AACzD,EAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,IAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,6CAA6C,CAAA;AAAA,EACvF;AACA,EAAA,OAAO,EAAE,YAAY,cAAA,EAAe;AACtC;AAKO,IAAM,8BAA8B,WAAA,CAAY;AAAA,EACrD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,uBAAA;AAAA,EACjB,cAAA,EAAgB,4BAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,sEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,SAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,eAAc,KAAM;AAC5D,IAAA,IAAI;AACF,MAAA,MAAM,qBAAA,CAAsB,QAAQ,WAAW,CAAA;AAE/C,MAAA,MAAM,QAAA,GAAW,kBAAkB,cAAc,CAAA;AACjD,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,MACrE;AAEA,MAAA,MAAM,EAAE,UAAA,EAAY,cAAA,EAAe,GAAI,MAAM,oBAAoB,MAAM,CAAA;AAEvE,MAAA,MAAM,KAAA,GAAQ,MAAM,UAAA,CAAW,eAAA,CAAgB,aAAa,CAAA;AAC5D,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,qBAAA,EAAwB,aAAa,cAAc,CAAA;AAAA,MAC7F;AACA,MAAA,yBAAA,CAA0B,KAAA,EAAO,MAAM,sBAAA,CAAuB,MAAA,EAAQ,cAAc,CAAC,CAAA;AAGrF,MAAA,gBAAA,CAAiB,EAAE,gBAAgB,QAAA,EAAU,eAAA,EAAiB,YAAY,aAAA,EAAe,MAAA,EAAQ,OAAO,CAAA;AAExG,MAAA,MAAM,MAAA,GAAS,MAAM,cAAA,CAAe,QAAA,CAAS;AAAA,QAC3C,MAAA,EAAQ,QAAA;AAAA,QACR,UAAA,EAAY,OAAA;AAAA,QACZ,QAAA,EAAU;AAAA,OACX,CAAA;AACD,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,+BAA+B,CAAA;AAAA,IAC3D;AAAA,EACF;AACF,CAAC;AAKM,IAAM,gCAAgC,WAAA,CAAY;AAAA,EACvD,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiB,uBAAA;AAAA,EACjB,cAAA,EAAgB,4BAAA;AAAA,EAChB,OAAA,EAAS,2BAAA;AAAA,EACT,WAAA,EAAa,uEAAA;AAAA,EACb,IAAA,EAAM,CAAC,eAAe,CAAA;AAAA,EACtB,YAAA,EAAc,IAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,SAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,eAAc,KAAM;AAC5D,IAAA,IAAI;AACF,MAAA,MAAM,qBAAA,CAAsB,QAAQ,WAAW,CAAA;AAE/C,MAAA,MAAM,QAAA,GAAW,kBAAkB,cAAc,CAAA;AACjD,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,MACrE;AAEA,MAAA,MAAM,EAAE,UAAA,EAAY,cAAA,EAAe,GAAI,MAAM,oBAAoB,MAAM,CAAA;AAEvE,MAAA,MAAM,KAAA,GAAQ,MAAM,UAAA,CAAW,eAAA,CAAgB,aAAa,CAAA;AAC5D,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,qBAAA,EAAwB,aAAa,cAAc,CAAA;AAAA,MAC7F;AACA,MAAA,yBAAA,CAA0B,KAAA,EAAO,MAAM,sBAAA,CAAuB,MAAA,EAAQ,cAAc,CAAC,CAAA;AAErF,MAAA,gBAAA,CAAiB,EAAE,gBAAgB,QAAA,EAAU,eAAA,EAAiB,YAAY,aAAA,EAAe,MAAA,EAAQ,OAAO,CAAA;AAExG,MAAA,MAAM,MAAA,GAAS,MAAM,cAAA,CAAe,UAAA,CAAW;AAAA,QAC7C,MAAA,EAAQ,QAAA;AAAA,QACR,UAAA,EAAY,OAAA;AAAA,QACZ,QAAA,EAAU;AAAA,OACX,CAAA;AACD,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,iCAAiC,CAAA;AAAA,IAC7D;AAAA,EACF;AACF,CAAC","file":"chunk-2YUSBWAC.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport { favoriteToggleResponseSchema } from '../schemas/favorites';\nimport { storedSkillIdPathParams } from '../schemas/stored-skills';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\n\nimport { assertReadAccess, getCallerAuthorId } from './authorship';\nimport { requireBuilderFeature } from './editor-builder';\nimport { handleError } from './error';\n\n/**\n * Resolves the storage and favorites domains, throwing 500 if unavailable.\n */\nasync function getFavoritesContext(mastra: Parameters<typeof requireBuilderFeature>[0]) {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n const skillStore = await storage.getStore('skills');\n if (!skillStore) {\n throw new HTTPException(500, { message: 'Skills storage domain is not available' });\n }\n const favoritesStore = await storage.getStore('favorites');\n if (!favoritesStore) {\n throw new HTTPException(500, { message: 'Favorites storage domain is not available' });\n }\n return { skillStore, favoritesStore };\n}\n\n/**\n * PUT /stored/skills/:storedSkillId/favorite\n */\nexport const FAVORITE_STORED_SKILL_ROUTE = createRoute({\n method: 'PUT',\n path: '/stored/skills/:storedSkillId/favorite',\n responseType: 'json',\n pathParamSchema: storedSkillIdPathParams,\n responseSchema: favoriteToggleResponseSchema,\n summary: 'Favorite a stored skill',\n description: 'Marks the stored skill as favorited by the calling user. Idempotent.',\n tags: ['Stored Skills'],\n requiresAuth: true,\n requiresPermission: 'stored-skills:read',\n handler: async ({ mastra, requestContext, storedSkillId }) => {\n try {\n await requireBuilderFeature(mastra, 'favorites');\n\n const callerId = getCallerAuthorId(requestContext);\n if (!callerId) {\n throw new HTTPException(401, { message: 'Authentication required' });\n }\n\n const { skillStore, favoritesStore } = await getFavoritesContext(mastra);\n\n const skill = await skillStore.getByIdResolved(storedSkillId);\n if (!skill) {\n throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });\n }\n assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));\n\n // Throws 404 if the caller cannot read the skill (private + not owner/admin).\n assertReadAccess({ requestContext, resource: 'stored-skills', resourceId: storedSkillId, record: skill });\n\n const result = await favoritesStore.favorite({\n userId: callerId,\n entityType: 'skill',\n entityId: storedSkillId,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error favoriting stored skill');\n }\n },\n});\n\n/**\n * DELETE /stored/skills/:storedSkillId/favorite\n */\nexport const UNFAVORITE_STORED_SKILL_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/skills/:storedSkillId/favorite',\n responseType: 'json',\n pathParamSchema: storedSkillIdPathParams,\n responseSchema: favoriteToggleResponseSchema,\n summary: 'Unfavorite a stored skill',\n description: 'Removes the caller’s favorite from the stored skill. Idempotent.',\n tags: ['Stored Skills'],\n requiresAuth: true,\n requiresPermission: 'stored-skills:read',\n handler: async ({ mastra, requestContext, storedSkillId }) => {\n try {\n await requireBuilderFeature(mastra, 'favorites');\n\n const callerId = getCallerAuthorId(requestContext);\n if (!callerId) {\n throw new HTTPException(401, { message: 'Authentication required' });\n }\n\n const { skillStore, favoritesStore } = await getFavoritesContext(mastra);\n\n const skill = await skillStore.getByIdResolved(storedSkillId);\n if (!skill) {\n throw new HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });\n }\n assertStoredResourceScope(skill, await getStoredResourceScope(mastra, requestContext));\n\n assertReadAccess({ requestContext, resource: 'stored-skills', resourceId: storedSkillId, record: skill });\n\n const result = await favoritesStore.unfavorite({\n userId: callerId,\n entityType: 'skill',\n entityId: storedSkillId,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error unfavoriting stored skill');\n }\n },\n});\n"]}
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkYETIPEQM_cjs = require('./chunk-YETIPEQM.cjs');
4
- var chunkSUT6SU4I_cjs = require('./chunk-SUT6SU4I.cjs');
3
+ var chunkU72BY62E_cjs = require('./chunk-U72BY62E.cjs');
4
+ var chunkZ4PDJRZT_cjs = require('./chunk-Z4PDJRZT.cjs');
5
+ var chunkZNP74O27_cjs = require('./chunk-ZNP74O27.cjs');
5
6
  var chunk42NUNMRC_cjs = require('./chunk-42NUNMRC.cjs');
6
7
  var chunkYNSUYESL_cjs = require('./chunk-YNSUYESL.cjs');
7
8
  var chunkXTFWFQZ7_cjs = require('./chunk-XTFWFQZ7.cjs');
@@ -15,42 +16,43 @@ var v4 = require('zod/v4');
15
16
  // src/server/handlers/observability.ts
16
17
  var observability_exports = {};
17
18
  chunkO7I5CWRX_cjs.__export(observability_exports, {
18
- CREATE_FEEDBACK: () => chunkYETIPEQM_cjs.CREATE_FEEDBACK,
19
- CREATE_SCORE: () => chunkYETIPEQM_cjs.CREATE_SCORE,
19
+ CREATE_FEEDBACK: () => chunkU72BY62E_cjs.CREATE_FEEDBACK,
20
+ CREATE_SCORE: () => chunkU72BY62E_cjs.CREATE_SCORE,
20
21
  GET_BRANCH_ROUTE: () => GET_BRANCH_ROUTE,
21
- GET_ENTITY_NAMES: () => chunkYETIPEQM_cjs.GET_ENTITY_NAMES,
22
- GET_ENTITY_TYPES: () => chunkYETIPEQM_cjs.GET_ENTITY_TYPES,
23
- GET_ENVIRONMENTS: () => chunkYETIPEQM_cjs.GET_ENVIRONMENTS,
24
- GET_FEEDBACK_AGGREGATE: () => chunkYETIPEQM_cjs.GET_FEEDBACK_AGGREGATE,
25
- GET_FEEDBACK_BREAKDOWN: () => chunkYETIPEQM_cjs.GET_FEEDBACK_BREAKDOWN,
26
- GET_FEEDBACK_PERCENTILES: () => chunkYETIPEQM_cjs.GET_FEEDBACK_PERCENTILES,
27
- GET_FEEDBACK_TIME_SERIES: () => chunkYETIPEQM_cjs.GET_FEEDBACK_TIME_SERIES,
28
- GET_METRIC_AGGREGATE: () => chunkYETIPEQM_cjs.GET_METRIC_AGGREGATE,
29
- GET_METRIC_BREAKDOWN: () => chunkYETIPEQM_cjs.GET_METRIC_BREAKDOWN,
30
- GET_METRIC_LABEL_KEYS: () => chunkYETIPEQM_cjs.GET_METRIC_LABEL_KEYS,
31
- GET_METRIC_LABEL_VALUES: () => chunkYETIPEQM_cjs.GET_METRIC_LABEL_VALUES,
32
- GET_METRIC_NAMES: () => chunkYETIPEQM_cjs.GET_METRIC_NAMES,
33
- GET_METRIC_PERCENTILES: () => chunkYETIPEQM_cjs.GET_METRIC_PERCENTILES,
34
- GET_METRIC_TIME_SERIES: () => chunkYETIPEQM_cjs.GET_METRIC_TIME_SERIES,
35
- GET_SCORE: () => chunkYETIPEQM_cjs.GET_SCORE,
36
- GET_SCORE_AGGREGATE: () => chunkYETIPEQM_cjs.GET_SCORE_AGGREGATE,
37
- GET_SCORE_BREAKDOWN: () => chunkYETIPEQM_cjs.GET_SCORE_BREAKDOWN,
38
- GET_SCORE_PERCENTILES: () => chunkYETIPEQM_cjs.GET_SCORE_PERCENTILES,
39
- GET_SCORE_TIME_SERIES: () => chunkYETIPEQM_cjs.GET_SCORE_TIME_SERIES,
40
- GET_SERVICE_NAMES: () => chunkYETIPEQM_cjs.GET_SERVICE_NAMES,
22
+ GET_ENTITY_NAMES: () => chunkU72BY62E_cjs.GET_ENTITY_NAMES,
23
+ GET_ENTITY_TYPES: () => chunkU72BY62E_cjs.GET_ENTITY_TYPES,
24
+ GET_ENVIRONMENTS: () => chunkU72BY62E_cjs.GET_ENVIRONMENTS,
25
+ GET_FEEDBACK_AGGREGATE: () => chunkU72BY62E_cjs.GET_FEEDBACK_AGGREGATE,
26
+ GET_FEEDBACK_BREAKDOWN: () => chunkU72BY62E_cjs.GET_FEEDBACK_BREAKDOWN,
27
+ GET_FEEDBACK_PERCENTILES: () => chunkU72BY62E_cjs.GET_FEEDBACK_PERCENTILES,
28
+ GET_FEEDBACK_TIME_SERIES: () => chunkU72BY62E_cjs.GET_FEEDBACK_TIME_SERIES,
29
+ GET_METRIC_AGGREGATE: () => chunkU72BY62E_cjs.GET_METRIC_AGGREGATE,
30
+ GET_METRIC_BREAKDOWN: () => chunkU72BY62E_cjs.GET_METRIC_BREAKDOWN,
31
+ GET_METRIC_LABEL_KEYS: () => chunkU72BY62E_cjs.GET_METRIC_LABEL_KEYS,
32
+ GET_METRIC_LABEL_VALUES: () => chunkU72BY62E_cjs.GET_METRIC_LABEL_VALUES,
33
+ GET_METRIC_NAMES: () => chunkU72BY62E_cjs.GET_METRIC_NAMES,
34
+ GET_METRIC_PERCENTILES: () => chunkU72BY62E_cjs.GET_METRIC_PERCENTILES,
35
+ GET_METRIC_TIME_SERIES: () => chunkU72BY62E_cjs.GET_METRIC_TIME_SERIES,
36
+ GET_SCORE: () => chunkU72BY62E_cjs.GET_SCORE,
37
+ GET_SCORE_AGGREGATE: () => chunkU72BY62E_cjs.GET_SCORE_AGGREGATE,
38
+ GET_SCORE_BREAKDOWN: () => chunkU72BY62E_cjs.GET_SCORE_BREAKDOWN,
39
+ GET_SCORE_PERCENTILES: () => chunkU72BY62E_cjs.GET_SCORE_PERCENTILES,
40
+ GET_SCORE_TIME_SERIES: () => chunkU72BY62E_cjs.GET_SCORE_TIME_SERIES,
41
+ GET_SERVICE_NAMES: () => chunkU72BY62E_cjs.GET_SERVICE_NAMES,
41
42
  GET_SPAN_ROUTE: () => GET_SPAN_ROUTE,
42
- GET_TAGS: () => chunkYETIPEQM_cjs.GET_TAGS,
43
+ GET_TAGS: () => chunkU72BY62E_cjs.GET_TAGS,
43
44
  GET_TRACE_LIGHT_ROUTE: () => GET_TRACE_LIGHT_ROUTE,
44
45
  GET_TRACE_ROUTE: () => GET_TRACE_ROUTE,
45
46
  GET_TRACE_TRAJECTORY_ROUTE: () => GET_TRACE_TRAJECTORY_ROUTE,
46
47
  LIST_BRANCHES_ROUTE: () => LIST_BRANCHES_ROUTE,
47
- LIST_FEEDBACK: () => chunkYETIPEQM_cjs.LIST_FEEDBACK,
48
- LIST_LOGS: () => chunkYETIPEQM_cjs.LIST_LOGS,
49
- LIST_SCORES: () => chunkYETIPEQM_cjs.LIST_SCORES,
48
+ LIST_FEEDBACK: () => chunkU72BY62E_cjs.LIST_FEEDBACK,
49
+ LIST_LOGS: () => chunkU72BY62E_cjs.LIST_LOGS,
50
+ LIST_METRICS: () => chunkU72BY62E_cjs.LIST_METRICS,
51
+ LIST_SCORES: () => chunkU72BY62E_cjs.LIST_SCORES,
50
52
  LIST_SCORES_BY_SPAN_ROUTE: () => LIST_SCORES_BY_SPAN_ROUTE,
51
53
  LIST_TRACES_LIGHT_ROUTE: () => LIST_TRACES_LIGHT_ROUTE,
52
54
  LIST_TRACES_ROUTE: () => LIST_TRACES_ROUTE,
53
- NEW_ROUTES: () => chunkYETIPEQM_cjs.NEW_ROUTES,
55
+ NEW_ROUTES: () => chunkU72BY62E_cjs.NEW_ROUTES,
54
56
  SCORE_TRACES_ROUTE: () => SCORE_TRACES_ROUTE
55
57
  });
56
58
  var legacyQueryParamsSchema = v4.z.object({
@@ -85,7 +87,7 @@ function transformLegacyParams(params) {
85
87
  return result;
86
88
  }
87
89
  async function getScoresStore(mastra) {
88
- const storage = chunkSUT6SU4I_cjs.getStorage(mastra);
90
+ const storage = chunkZ4PDJRZT_cjs.getStorage(mastra);
89
91
  const scores = await storage.getStore("scores");
90
92
  if (!scores) {
91
93
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Scores storage domain is not available" });
@@ -93,25 +95,43 @@ async function getScoresStore(mastra) {
93
95
  return scores;
94
96
  }
95
97
  var listTracesQueryParamSchema = chunkXTFWFQZ7_cjs.wrapSchemaForQueryParams(
96
- storage.tracesFilterSchema.extend(storage.paginationArgsSchema.shape).extend(storage.tracesOrderBySchema.shape).extend(legacyQueryParamsSchema.shape).partial()
98
+ storage.tracesFilterSchema.extend(chunkZNP74O27_cjs.paginationArgsSchema.shape).extend(storage.tracesOrderBySchema.shape).extend(legacyQueryParamsSchema.shape).partial()
97
99
  );
98
100
  var LIST_TRACES_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
99
101
  method: "GET",
100
102
  path: "/observability/traces",
101
103
  responseType: "json",
102
- queryParamSchema: listTracesQueryParamSchema,
104
+ queryParamSchema: chunkZ4PDJRZT_cjs.createObservabilityListQuerySchema(
105
+ storage.tracesFilterSchema.extend({
106
+ ...legacyQueryParamsSchema.shape,
107
+ entityType: v4.z.preprocess(
108
+ (value) => value === "workflow" ? "workflow_run" : value,
109
+ storage.tracesFilterSchema.shape.entityType
110
+ )
111
+ }),
112
+ storage.tracesOrderBySchema
113
+ ),
103
114
  responseSchema: storage.listTracesResponseSchema,
104
115
  summary: "List traces",
105
- description: "Returns a paginated list of traces with optional filtering and sorting",
116
+ description: "Returns a paginated list of traces with optional filtering and sorting. In delta mode, returns only newly listed traces matching the filters.",
106
117
  tags: ["Observability"],
107
118
  requiresAuth: true,
108
- handler: async ({ mastra, ...params }) => {
119
+ handler: async ({ mastra, mode, after, limit, ...params }) => {
109
120
  try {
110
121
  const transformedParams = transformLegacyParams(params);
111
122
  const filters = chunkXTFWFQZ7_cjs.pickParams(storage.tracesFilterSchema, transformedParams);
112
- const pagination = chunkXTFWFQZ7_cjs.pickParams(storage.paginationArgsSchema, transformedParams);
123
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
124
+ if (mode === "delta") {
125
+ chunkZ4PDJRZT_cjs.assertObservabilityDeltaSupported(observabilityStore, chunkZ4PDJRZT_cjs.OBSERVABILITY_LIST_ENDPOINTS.traces);
126
+ return await observabilityStore.listTraces({
127
+ mode,
128
+ filters,
129
+ after: typeof after === "string" ? after : void 0,
130
+ limit
131
+ });
132
+ }
133
+ const pagination = chunkXTFWFQZ7_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, transformedParams);
113
134
  const orderBy = chunkXTFWFQZ7_cjs.pickParams(storage.tracesOrderBySchema, transformedParams);
114
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
115
135
  return await observabilityStore.listTraces({ filters, pagination, orderBy });
116
136
  } catch (error) {
117
137
  return chunkYNSUYESL_cjs.handleError(error, "Error listing traces");
@@ -132,9 +152,9 @@ var LIST_TRACES_LIGHT_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
132
152
  try {
133
153
  const transformedParams = transformLegacyParams(params);
134
154
  const filters = chunkXTFWFQZ7_cjs.pickParams(storage.tracesFilterSchema, transformedParams);
135
- const pagination = chunkXTFWFQZ7_cjs.pickParams(storage.paginationArgsSchema, transformedParams);
155
+ const pagination = chunkXTFWFQZ7_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, transformedParams);
136
156
  const orderBy = chunkXTFWFQZ7_cjs.pickParams(storage.tracesOrderBySchema, transformedParams);
137
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
157
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
138
158
  const store = observabilityStore;
139
159
  if (typeof store.listTracesLight !== "function") {
140
160
  return await observabilityStore.listTraces({ filters, pagination, orderBy });
@@ -149,20 +169,27 @@ var LIST_BRANCHES_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
149
169
  method: "GET",
150
170
  path: "/observability/branches",
151
171
  responseType: "json",
152
- queryParamSchema: chunkXTFWFQZ7_cjs.wrapSchemaForQueryParams(
153
- chunk42NUNMRC_cjs.branchesFilterSchema.extend(storage.paginationArgsSchema.shape).extend(chunk42NUNMRC_cjs.branchesOrderBySchema.shape).partial()
154
- ),
172
+ queryParamSchema: chunkZ4PDJRZT_cjs.createObservabilityListQuerySchema(chunk42NUNMRC_cjs.branchesFilterSchema, chunk42NUNMRC_cjs.branchesOrderBySchema),
155
173
  responseSchema: chunk42NUNMRC_cjs.listBranchesResponseSchema,
156
174
  summary: "List trace branches",
157
- description: "Returns a paginated list of branch-anchor spans (e.g., AGENT_RUN, WORKFLOW_RUN, TOOL_CALL) across all traces. Unlike listTraces (one row per root-rooted trace), each row here is a single anchor span -- including ones nested under a different root entity.",
175
+ description: "Returns a paginated list of branch-anchor spans (e.g., AGENT_RUN, WORKFLOW_RUN, TOOL_CALL) across all traces. Unlike listTraces (one row per root-rooted trace), each row here is a single anchor span -- including ones nested under a different root entity. In delta mode, returns only newly listed branch rows matching the filters.",
158
176
  tags: ["Observability"],
159
177
  requiresAuth: true,
160
- handler: async ({ mastra, ...params }) => {
178
+ handler: async ({ mastra, mode, after, limit, ...params }) => {
161
179
  try {
162
180
  const filters = chunkXTFWFQZ7_cjs.pickParams(chunk42NUNMRC_cjs.branchesFilterSchema, params);
163
- const pagination = chunkXTFWFQZ7_cjs.pickParams(storage.paginationArgsSchema, params);
181
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
182
+ if (mode === "delta") {
183
+ chunkZ4PDJRZT_cjs.assertObservabilityDeltaSupported(observabilityStore, chunkZ4PDJRZT_cjs.OBSERVABILITY_LIST_ENDPOINTS.branches);
184
+ return await observabilityStore.listBranches({
185
+ mode,
186
+ filters,
187
+ after: typeof after === "string" ? after : void 0,
188
+ limit
189
+ });
190
+ }
191
+ const pagination = chunkXTFWFQZ7_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, params);
164
192
  const orderBy = chunkXTFWFQZ7_cjs.pickParams(chunk42NUNMRC_cjs.branchesOrderBySchema, params);
165
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
166
193
  return await observabilityStore.listBranches({ filters, pagination, orderBy });
167
194
  } catch (error) {
168
195
  return chunkYNSUYESL_cjs.handleError(error, "Error listing branches");
@@ -182,7 +209,7 @@ var GET_BRANCH_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
182
209
  requiresAuth: true,
183
210
  handler: async ({ mastra, traceId, spanId, depth }) => {
184
211
  try {
185
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
212
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
186
213
  const branch = await observabilityStore.getBranch({ traceId, spanId, depth });
187
214
  if (!branch) {
188
215
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Branch not found for span '${spanId}' in trace '${traceId}'` });
@@ -205,7 +232,7 @@ var GET_TRACE_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
205
232
  requiresAuth: true,
206
233
  handler: async ({ mastra, traceId }) => {
207
234
  try {
208
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
235
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
209
236
  const trace = await observabilityStore.getTrace({ traceId });
210
237
  if (!trace) {
211
238
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
@@ -228,7 +255,7 @@ var GET_TRACE_LIGHT_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
228
255
  requiresAuth: true,
229
256
  handler: async ({ mastra, traceId }) => {
230
257
  try {
231
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
258
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
232
259
  const trace = await observabilityStore.getTraceLight({ traceId });
233
260
  if (!trace) {
234
261
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
@@ -251,7 +278,7 @@ var GET_SPAN_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
251
278
  requiresAuth: true,
252
279
  handler: async ({ mastra, traceId, spanId }) => {
253
280
  try {
254
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
281
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
255
282
  const span = await observabilityStore.getSpan({ traceId, spanId });
256
283
  if (!span) {
257
284
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Span not found` });
@@ -279,7 +306,7 @@ var GET_TRACE_TRAJECTORY_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
279
306
  requiresAuth: true,
280
307
  handler: async ({ mastra, traceId }) => {
281
308
  try {
282
- const observabilityStore = await chunkSUT6SU4I_cjs.getObservabilityStore(mastra);
309
+ const observabilityStore = await chunkZ4PDJRZT_cjs.getObservabilityStore(mastra);
283
310
  const trace = await observabilityStore.getTrace({ traceId });
284
311
  if (!trace) {
285
312
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
@@ -303,7 +330,7 @@ var SCORE_TRACES_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
303
330
  requiresAuth: true,
304
331
  handler: async ({ mastra, ...params }) => {
305
332
  try {
306
- chunkSUT6SU4I_cjs.getStorage(mastra);
333
+ chunkZ4PDJRZT_cjs.getStorage(mastra);
307
334
  const { scorerName, targets } = params;
308
335
  const scorer = mastra.getScorerById(scorerName);
309
336
  if (!scorer) {
@@ -333,7 +360,7 @@ var LIST_SCORES_BY_SPAN_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
333
360
  responseType: "json",
334
361
  pathParamSchema: storage.spanIdsSchema,
335
362
  // List endpoints accept optional query params; use partial() to allow empty queries.
336
- queryParamSchema: chunkXTFWFQZ7_cjs.wrapSchemaForQueryParams(storage.paginationArgsSchema.partial()),
363
+ queryParamSchema: chunkXTFWFQZ7_cjs.wrapSchemaForQueryParams(chunkZNP74O27_cjs.paginationArgsSchema.partial()),
337
364
  responseSchema: evals.listScoresResponseSchema,
338
365
  summary: "List scores by span",
339
366
  description: "Returns all scores for a specific span within a trace",
@@ -341,7 +368,7 @@ var LIST_SCORES_BY_SPAN_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
341
368
  requiresAuth: true,
342
369
  handler: async ({ mastra, ...params }) => {
343
370
  try {
344
- const pagination = chunkXTFWFQZ7_cjs.pickParams(storage.paginationArgsSchema, params);
371
+ const pagination = chunkXTFWFQZ7_cjs.pickParams(chunkZNP74O27_cjs.paginationArgsSchema, params);
345
372
  const spanIds = chunkXTFWFQZ7_cjs.pickParams(storage.spanIdsSchema, params);
346
373
  const scoresStore = await getScoresStore(mastra);
347
374
  return await scoresStore.listScoresBySpan({
@@ -365,5 +392,5 @@ exports.LIST_TRACES_LIGHT_ROUTE = LIST_TRACES_LIGHT_ROUTE;
365
392
  exports.LIST_TRACES_ROUTE = LIST_TRACES_ROUTE;
366
393
  exports.SCORE_TRACES_ROUTE = SCORE_TRACES_ROUTE;
367
394
  exports.observability_exports = observability_exports;
368
- //# sourceMappingURL=chunk-QGPIJ3KB.cjs.map
369
- //# sourceMappingURL=chunk-QGPIJ3KB.cjs.map
395
+ //# sourceMappingURL=chunk-3AWUH2DT.cjs.map
396
+ //# sourceMappingURL=chunk-3AWUH2DT.cjs.map