@mastra/core 1.11.0 → 1.12.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/index.cjs +8 -8
  4. package/dist/agent/index.js +1 -1
  5. package/dist/{chunk-QAIBZ7GH.cjs → chunk-2DFKNHEI.cjs} +79 -48
  6. package/dist/chunk-2DFKNHEI.cjs.map +1 -0
  7. package/dist/{chunk-RF2EPUM4.js → chunk-4RE5DA24.js} +4 -4
  8. package/dist/{chunk-RF2EPUM4.js.map → chunk-4RE5DA24.js.map} +1 -1
  9. package/dist/{chunk-GOGAIHBU.js → chunk-55I2D5RA.js} +22 -3
  10. package/dist/chunk-55I2D5RA.js.map +1 -0
  11. package/dist/{chunk-NJVIJQ4R.cjs → chunk-5CZTEH74.cjs} +18 -14
  12. package/dist/chunk-5CZTEH74.cjs.map +1 -0
  13. package/dist/{chunk-W3LSSG4T.js → chunk-5X4N6M7R.js} +2 -2
  14. package/dist/{chunk-W3LSSG4T.js.map → chunk-5X4N6M7R.js.map} +1 -1
  15. package/dist/{chunk-CWLK5FXA.cjs → chunk-BJHH5WFG.cjs} +202 -221
  16. package/dist/chunk-BJHH5WFG.cjs.map +1 -0
  17. package/dist/{chunk-FN6ZOGJ7.cjs → chunk-NMUP4X54.cjs} +2 -2
  18. package/dist/{chunk-FN6ZOGJ7.cjs.map → chunk-NMUP4X54.cjs.map} +1 -1
  19. package/dist/{chunk-VW4MYD6N.js → chunk-PYRU2AFG.js} +15 -11
  20. package/dist/chunk-PYRU2AFG.js.map +1 -0
  21. package/dist/{chunk-KK2U4Z7X.cjs → chunk-RD2IELJM.cjs} +24 -2
  22. package/dist/chunk-RD2IELJM.cjs.map +1 -0
  23. package/dist/{chunk-Y2MVLQFW.js → chunk-TZE75LDQ.js} +29 -48
  24. package/dist/chunk-TZE75LDQ.js.map +1 -0
  25. package/dist/{chunk-FIQRYC7M.cjs → chunk-Y5TNEU6E.cjs} +5 -5
  26. package/dist/{chunk-FIQRYC7M.cjs.map → chunk-Y5TNEU6E.cjs.map} +1 -1
  27. package/dist/{chunk-S5BMBKUR.js → chunk-Z7VOJIJU.js} +55 -24
  28. package/dist/chunk-Z7VOJIJU.js.map +1 -0
  29. package/dist/datasets/index.cjs +16 -16
  30. package/dist/datasets/index.js +1 -1
  31. package/dist/docs/SKILL.md +2 -2
  32. package/dist/docs/assets/SOURCE_MAP.json +424 -424
  33. package/dist/docs/references/docs-memory-storage.md +5 -5
  34. package/dist/docs/references/reference-storage-composite.md +11 -3
  35. package/dist/docs/references/reference-storage-overview.md +18 -1
  36. package/dist/evals/index.cjs +19 -19
  37. package/dist/evals/index.js +2 -2
  38. package/dist/evals/scoreTraces/index.cjs +5 -5
  39. package/dist/evals/scoreTraces/index.js +2 -2
  40. package/dist/harness/index.cjs +6 -6
  41. package/dist/harness/index.js +4 -4
  42. package/dist/index.cjs +2 -2
  43. package/dist/index.js +1 -1
  44. package/dist/llm/index.cjs +16 -16
  45. package/dist/llm/index.js +5 -5
  46. package/dist/llm/model/gateways/azure.d.ts +2 -1
  47. package/dist/llm/model/gateways/azure.d.ts.map +1 -1
  48. package/dist/llm/model/gateways/constants.d.ts +1 -0
  49. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  50. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  51. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  52. package/dist/loop/index.cjs +14 -14
  53. package/dist/loop/index.js +1 -1
  54. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  55. package/dist/mastra/index.cjs +2 -2
  56. package/dist/mastra/index.js +1 -1
  57. package/dist/memory/index.cjs +14 -14
  58. package/dist/memory/index.js +1 -1
  59. package/dist/models-dev-G3WSTWOC.cjs +12 -0
  60. package/dist/{models-dev-7JBNQXVK.cjs.map → models-dev-G3WSTWOC.cjs.map} +1 -1
  61. package/dist/models-dev-RXHGE3WI.js +3 -0
  62. package/dist/{models-dev-BB5C46BD.js.map → models-dev-RXHGE3WI.js.map} +1 -1
  63. package/dist/netlify-EEOC6JL7.cjs +12 -0
  64. package/dist/{netlify-RN36CL4F.cjs.map → netlify-EEOC6JL7.cjs.map} +1 -1
  65. package/dist/netlify-ZUJJUCID.js +3 -0
  66. package/dist/{netlify-BFMLDQM5.js.map → netlify-ZUJJUCID.js.map} +1 -1
  67. package/dist/processor-provider/index.cjs +10 -10
  68. package/dist/processor-provider/index.js +1 -1
  69. package/dist/processors/index.cjs +42 -42
  70. package/dist/processors/index.js +1 -1
  71. package/dist/provider-registry-7ZTKNI7T.cjs +40 -0
  72. package/dist/{provider-registry-IHJW2WNI.cjs.map → provider-registry-7ZTKNI7T.cjs.map} +1 -1
  73. package/dist/provider-registry-E5XXTB3V.js +3 -0
  74. package/dist/{provider-registry-6FITK73S.js.map → provider-registry-E5XXTB3V.js.map} +1 -1
  75. package/dist/relevance/index.cjs +3 -3
  76. package/dist/relevance/index.js +1 -1
  77. package/dist/storage/constants.cjs +56 -56
  78. package/dist/storage/constants.d.ts +1 -1
  79. package/dist/storage/constants.js +1 -1
  80. package/dist/storage/domains/observability/types.d.ts +6 -6
  81. package/dist/storage/index.cjs +172 -172
  82. package/dist/storage/index.js +2 -2
  83. package/dist/storage/types.d.ts +10 -0
  84. package/dist/storage/types.d.ts.map +1 -1
  85. package/dist/stream/index.cjs +8 -8
  86. package/dist/stream/index.js +1 -1
  87. package/dist/test-utils/llm-mock.cjs +4 -4
  88. package/dist/test-utils/llm-mock.js +1 -1
  89. package/dist/tool-loop-agent/index.cjs +4 -4
  90. package/dist/tool-loop-agent/index.js +1 -1
  91. package/dist/utils.cjs +23 -23
  92. package/dist/utils.js +1 -1
  93. package/dist/vector/index.cjs +9 -9
  94. package/dist/vector/index.js +2 -2
  95. package/dist/workflows/default.d.ts.map +1 -1
  96. package/dist/workflows/evented/index.cjs +10 -10
  97. package/dist/workflows/evented/index.js +1 -1
  98. package/dist/workflows/evented/step-executor.d.ts +3 -0
  99. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  100. package/dist/workflows/handlers/entry.d.ts +9 -0
  101. package/dist/workflows/handlers/entry.d.ts.map +1 -1
  102. package/dist/workflows/index.cjs +24 -24
  103. package/dist/workflows/index.js +1 -1
  104. package/dist/workflows/types.d.ts +13 -0
  105. package/dist/workflows/types.d.ts.map +1 -1
  106. package/dist/workflows/workflow.d.ts.map +1 -1
  107. package/package.json +4 -4
  108. package/dist/chunk-CWLK5FXA.cjs.map +0 -1
  109. package/dist/chunk-GOGAIHBU.js.map +0 -1
  110. package/dist/chunk-KK2U4Z7X.cjs.map +0 -1
  111. package/dist/chunk-NJVIJQ4R.cjs.map +0 -1
  112. package/dist/chunk-QAIBZ7GH.cjs.map +0 -1
  113. package/dist/chunk-S5BMBKUR.js.map +0 -1
  114. package/dist/chunk-VW4MYD6N.js.map +0 -1
  115. package/dist/chunk-Y2MVLQFW.js.map +0 -1
  116. package/dist/models-dev-7JBNQXVK.cjs +0 -12
  117. package/dist/models-dev-BB5C46BD.js +0 -3
  118. package/dist/netlify-BFMLDQM5.js +0 -3
  119. package/dist/netlify-RN36CL4F.cjs +0 -12
  120. package/dist/provider-registry-6FITK73S.js +0 -3
  121. package/dist/provider-registry-IHJW2WNI.cjs +0 -40
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkKK2U4Z7X_cjs = require('./chunk-KK2U4Z7X.cjs');
4
- var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
3
+ var chunkRD2IELJM_cjs = require('./chunk-RD2IELJM.cjs');
5
4
  var chunk2VD5OGOT_cjs = require('./chunk-2VD5OGOT.cjs');
5
+ var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
6
6
 
7
7
  // src/llm/model/gateways/netlify.ts
8
- var NetlifyGateway = class extends chunkKK2U4Z7X_cjs.MastraModelGateway {
8
+ var NetlifyGateway = class extends chunkRD2IELJM_cjs.MastraModelGateway {
9
9
  id = "netlify";
10
10
  name = "Netlify AI Gateway";
11
11
  tokenCache = new chunk2VD5OGOT_cjs.InMemoryServerCache();
@@ -128,36 +128,40 @@ var NetlifyGateway = class extends chunkKK2U4Z7X_cjs.MastraModelGateway {
128
128
  headers
129
129
  }) {
130
130
  const baseURL = await this.buildUrl(`${providerId}/${modelId}`);
131
+ const mastraHeaders = { "User-Agent": chunkRD2IELJM_cjs.MASTRA_USER_AGENT, ...headers };
131
132
  switch (providerId) {
132
133
  case "openai":
133
- return chunkKK2U4Z7X_cjs.createOpenAI({ apiKey, baseURL, headers }).responses(modelId);
134
+ return chunkRD2IELJM_cjs.createOpenAI({ apiKey, baseURL, headers: mastraHeaders }).responses(modelId);
134
135
  case "gemini":
135
- return chunkKK2U4Z7X_cjs.createGoogleGenerativeAI({
136
+ return chunkRD2IELJM_cjs.createGoogleGenerativeAI({
136
137
  baseURL: `${baseURL}/v1beta/`,
137
138
  apiKey,
138
139
  headers: {
139
140
  "user-agent": "google-genai-sdk/",
140
- ...headers ? headers : {}
141
+ ...mastraHeaders
141
142
  }
142
143
  }).chat(modelId);
143
144
  case "anthropic":
144
- return chunkKK2U4Z7X_cjs.createAnthropic({
145
+ return chunkRD2IELJM_cjs.createAnthropic({
145
146
  apiKey,
146
147
  baseURL: `${baseURL}/v1/`,
147
148
  headers: {
148
149
  "anthropic-version": "2023-06-01",
149
- "user-agent": "anthropic/",
150
- ...headers ? headers : {}
150
+ ...mastraHeaders
151
151
  }
152
152
  })(modelId);
153
153
  default:
154
- return chunkKK2U4Z7X_cjs.createOpenAICompatible({ name: providerId, apiKey, baseURL, supportsStructuredOutputs: true }).chatModel(
155
- modelId
156
- );
154
+ return chunkRD2IELJM_cjs.createOpenAICompatible({
155
+ name: providerId,
156
+ apiKey,
157
+ baseURL,
158
+ headers: mastraHeaders,
159
+ supportsStructuredOutputs: true
160
+ }).chatModel(modelId);
157
161
  }
158
162
  }
159
163
  };
160
164
 
161
165
  exports.NetlifyGateway = NetlifyGateway;
162
- //# sourceMappingURL=chunk-NJVIJQ4R.cjs.map
163
- //# sourceMappingURL=chunk-NJVIJQ4R.cjs.map
166
+ //# sourceMappingURL=chunk-5CZTEH74.cjs.map
167
+ //# sourceMappingURL=chunk-5CZTEH74.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/llm/model/gateways/netlify.ts"],"names":["MastraModelGateway","InMemoryServerCache","MastraError","MASTRA_USER_AGENT","createOpenAI","createGoogleGenerativeAI","createAnthropic","createOpenAICompatible"],"mappings":"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","file":"chunk-5CZTEH74.cjs","sourcesContent":["import { createAnthropic } from '@ai-sdk/anthropic-v5';\nimport { createGoogleGenerativeAI } from '@ai-sdk/google-v5';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';\nimport { createOpenAI } from '@ai-sdk/openai-v5';\nimport type { LanguageModelV2 } from '@ai-sdk/provider-v5';\nimport { InMemoryServerCache } from '../../../cache/inmemory.js';\nimport { MastraError } from '../../../error/index.js';\nimport { MastraModelGateway } from './base.js';\nimport type { ProviderConfig } from './base.js';\nimport { MASTRA_USER_AGENT } from './constants.js';\n\ninterface NetlifyProviderResponse {\n token_env_var: string;\n url_env_var: string;\n models: string[];\n}\ninterface NetlifyResponse {\n providers: Record<string, NetlifyProviderResponse>;\n}\n\ninterface NetlifyTokenResponse {\n token: string;\n url: string;\n expires_at: number;\n}\n\ninterface CachedToken {\n token: string;\n url: string;\n expiresAt: number;\n}\n\ninterface TokenData {\n token: string;\n url: string;\n}\n\nexport class NetlifyGateway extends MastraModelGateway {\n readonly id = 'netlify';\n readonly name = 'Netlify AI Gateway';\n private tokenCache = new InMemoryServerCache();\n\n async fetchProviders(): Promise<Record<string, ProviderConfig>> {\n const response = await fetch('https://api.netlify.com/api/v1/ai-gateway/providers');\n if (!response.ok) {\n throw new Error(`Failed to fetch from Netlify: ${response.statusText}`);\n }\n const data = (await response.json()) as NetlifyResponse;\n const config: ProviderConfig = {\n apiKeyEnvVar: ['NETLIFY_TOKEN', 'NETLIFY_SITE_ID'],\n apiKeyHeader: 'Authorization',\n name: `Netlify`,\n gateway: `netlify`,\n models: [],\n docUrl: 'https://docs.netlify.com/build/ai-gateway/overview/',\n };\n // Convert Netlify format to our standard format\n for (const [providerId, provider] of Object.entries(data.providers)) {\n for (const model of provider.models) {\n config.models.push(`${providerId}/${model}`);\n }\n }\n // Return with gateway ID as key - registry generator will detect this and avoid doubling the prefix\n return { netlify: config };\n }\n\n async buildUrl(routerId: string, envVars?: typeof process.env): Promise<string> {\n // Check for Netlify site ID first (for token exchange)\n const siteId = envVars?.['NETLIFY_SITE_ID'] || process.env['NETLIFY_SITE_ID'];\n const netlifyToken = envVars?.['NETLIFY_TOKEN'] || process.env['NETLIFY_TOKEN'];\n\n if (!netlifyToken) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_TOKEN',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_TOKEN environment variable required for model: ${routerId}`,\n });\n }\n\n if (!siteId) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_SITE_ID',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_SITE_ID environment variable required for model: ${routerId}`,\n });\n }\n\n try {\n const tokenData = await this.getOrFetchToken(siteId, netlifyToken);\n return tokenData.url.endsWith(`/`) ? tokenData.url.substring(0, tokenData.url.length - 1) : tokenData.url;\n } catch (error) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_TOKEN_ERROR',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Failed to get Netlify AI Gateway token for model ${routerId}: ${error instanceof Error ? error.message : String(error)}`,\n });\n }\n }\n\n /**\n * Get cached token or fetch a new site-specific AI Gateway token from Netlify\n */\n private async getOrFetchToken(siteId: string, netlifyToken: string): Promise<TokenData> {\n const cacheKey = `netlify-token:${siteId}:${netlifyToken}`;\n\n // Check cache first\n const cached = (await this.tokenCache.get(cacheKey)) as CachedToken | undefined;\n if (cached && cached.expiresAt > Date.now() / 1000 + 60) {\n // Return cached token if it won't expire in the next minute\n return { token: cached.token, url: cached.url };\n }\n\n // Fetch new token\n const response = await fetch(`https://api.netlify.com/api/v1/sites/${siteId}/ai-gateway/token`, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${netlifyToken}`,\n },\n });\n\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to get Netlify AI Gateway token: ${response.status} ${error}`);\n }\n\n const tokenResponse = (await response.json()) as NetlifyTokenResponse;\n\n // Cache the token - InMemoryServerCache will handle the TTL\n await this.tokenCache.set(cacheKey, {\n token: tokenResponse.token,\n url: tokenResponse.url,\n expiresAt: tokenResponse.expires_at,\n });\n\n return { token: tokenResponse.token, url: tokenResponse.url };\n }\n\n /**\n * Get cached token or fetch a new site-specific AI Gateway token from Netlify\n */\n async getApiKey(modelId: string): Promise<string> {\n const siteId = process.env['NETLIFY_SITE_ID'];\n const netlifyToken = process.env['NETLIFY_TOKEN'];\n\n if (!netlifyToken) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_TOKEN',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_TOKEN environment variable required for model: ${modelId}`,\n });\n }\n\n if (!siteId) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_SITE_ID',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_SITE_ID environment variable required for model: ${modelId}`,\n });\n }\n\n try {\n return (await this.getOrFetchToken(siteId, netlifyToken)).token;\n } catch (error) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_TOKEN_ERROR',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Failed to get Netlify AI Gateway token for model ${modelId}: ${error instanceof Error ? error.message : String(error)}`,\n });\n }\n }\n\n async resolveLanguageModel({\n modelId,\n providerId,\n apiKey,\n headers,\n }: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n }): Promise<LanguageModelV2> {\n const baseURL = await this.buildUrl(`${providerId}/${modelId}`);\n\n const mastraHeaders = { 'User-Agent': MASTRA_USER_AGENT, ...headers };\n\n switch (providerId) {\n case 'openai':\n return createOpenAI({ apiKey, baseURL, headers: mastraHeaders }).responses(modelId);\n case 'gemini':\n return createGoogleGenerativeAI({\n baseURL: `${baseURL}/v1beta/`,\n apiKey,\n headers: {\n 'user-agent': 'google-genai-sdk/',\n ...mastraHeaders,\n },\n }).chat(modelId);\n case 'anthropic':\n return createAnthropic({\n apiKey,\n baseURL: `${baseURL}/v1/`,\n headers: {\n 'anthropic-version': '2023-06-01',\n ...mastraHeaders,\n },\n })(modelId);\n default:\n return createOpenAICompatible({\n name: providerId,\n apiKey,\n baseURL,\n headers: mastraHeaders,\n supportsStructuredOutputs: true,\n }).chatModel(modelId);\n }\n }\n}\n"]}
@@ -940,5 +940,5 @@ var OBSERVATIONAL_MEMORY_TABLE_SCHEMA = {
940
940
  };
941
941
 
942
942
  export { AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, DATASETS_SCHEMA, DATASET_ITEMS_SCHEMA, DATASET_VERSIONS_SCHEMA, EXPERIMENTS_SCHEMA, EXPERIMENT_RESULTS_SCHEMA, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, OBSERVATIONAL_MEMORY_SCHEMA, OBSERVATIONAL_MEMORY_TABLE_SCHEMA, OLD_SPAN_SCHEMA, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, SCORERS_SCHEMA, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, SKILLS_SCHEMA, SKILL_BLOBS_SCHEMA, SKILL_VERSIONS_SCHEMA, SPAN_SCHEMA, TABLE_AGENTS, TABLE_AGENT_VERSIONS, TABLE_CONFIGS, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, TABLE_MESSAGES, TABLE_OBSERVATIONAL_MEMORY, TABLE_PROMPT_BLOCKS, TABLE_PROMPT_BLOCK_VERSIONS, TABLE_RESOURCES, TABLE_SCHEMAS, TABLE_SCORERS, TABLE_SCORER_DEFINITIONS, TABLE_SCORER_DEFINITION_VERSIONS, TABLE_SKILLS, TABLE_SKILL_BLOBS, TABLE_SKILL_VERSIONS, TABLE_SPANS, TABLE_THREADS, TABLE_TRACES, TABLE_WORKFLOW_SNAPSHOT, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, TraceStatus, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, batchCreateSpansArgsSchema, batchDeleteTracesArgsSchema, batchUpdateSpansArgsSchema, buildStorageSchema, computeTraceStatus, createSpanArgsSchema, createSpanRecordSchema, createdAtField, dateRangeSchema, dbTimestamps, entityIdField, entityNameField, entityTypeField, environmentField, getRootSpanArgsSchema, getRootSpanResponseSchema, getSpanArgsSchema, getSpanResponseSchema, getTraceArgsSchema, getTraceResponseSchema, listScoresBySpanResponseSchema, listScoresResponseSchema, listTracesArgsSchema, listTracesResponseSchema, organizationIdField, paginationArgsSchema, paginationInfoSchema, requestIdField, resourceIdField, runIdField, saveScorePayloadSchema, scoreResultSchema, scoreRowDataSchema, scoreTracesRequestSchema, scoreTracesResponseSchema, scoringEntityTypeSchema, scoringExtractStepResultSchema, scoringHookInputSchema, scoringInputSchema, scoringInputWithExtractStepResultAndAnalyzeStepResultSchema, scoringInputWithExtractStepResultAndScoreAndReasonSchema, scoringInputWithExtractStepResultSchema, scoringPromptsSchema, scoringSourceSchema, scoringValueSchema, serviceNameField, sessionIdField, sortDirectionSchema, sourceField, spanIdField, spanIds, spanIdsSchema, spanRecordSchema, threadIdField, toTraceSpan, toTraceSpans, traceIdField, traceSpanSchema, tracesFilterSchema, tracesOrderByFieldSchema, tracesOrderBySchema, updateSpanArgsSchema, updateSpanRecordSchema, updatedAtField, userIdField };
943
- //# sourceMappingURL=chunk-W3LSSG4T.js.map
944
- //# sourceMappingURL=chunk-W3LSSG4T.js.map
943
+ //# sourceMappingURL=chunk-5X4N6M7R.js.map
944
+ //# sourceMappingURL=chunk-5X4N6M7R.js.map