@mastra/core 0.0.0-commonjs-20250227130920

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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +180 -0
  3. package/dist/agent/index.cjs +1865 -0
  4. package/dist/agent/index.d.cts +15 -0
  5. package/dist/agent/index.d.ts +15 -0
  6. package/dist/agent/index.js +1 -0
  7. package/dist/base-D90KQ4XI.d.ts +139 -0
  8. package/dist/base-hs9NDAZ2.d.cts +139 -0
  9. package/dist/base-nKCMCNrM.d.ts +920 -0
  10. package/dist/base-nhesrHv3.d.cts +920 -0
  11. package/dist/base.cjs +138 -0
  12. package/dist/base.d.cts +6 -0
  13. package/dist/base.d.ts +6 -0
  14. package/dist/base.js +1 -0
  15. package/dist/bundler/index.cjs +158 -0
  16. package/dist/bundler/index.d.cts +28 -0
  17. package/dist/bundler/index.d.ts +28 -0
  18. package/dist/bundler/index.js +1 -0
  19. package/dist/chunk-33GSTUNK.js +620 -0
  20. package/dist/chunk-4YRYBCOZ.js +10 -0
  21. package/dist/chunk-55NFNRKO.js +10 -0
  22. package/dist/chunk-5XPCMNGW.js +215 -0
  23. package/dist/chunk-B3M27AMP.js +1479 -0
  24. package/dist/chunk-BB4KXGBU.js +83 -0
  25. package/dist/chunk-C6A6W6XS.js +77 -0
  26. package/dist/chunk-HQ55LN2U.js +318 -0
  27. package/dist/chunk-KNVTCZW7.js +416 -0
  28. package/dist/chunk-LH47WVJL.js +61 -0
  29. package/dist/chunk-NGD2HQYW.js +346 -0
  30. package/dist/chunk-NUDAZEOG.js +35 -0
  31. package/dist/chunk-OZ4XVJ6F.js +49 -0
  32. package/dist/chunk-PHMSPCTC.js +145 -0
  33. package/dist/chunk-PNZK456O.js +88 -0
  34. package/dist/chunk-QAAJAHDB.js +37 -0
  35. package/dist/chunk-RG66XEJT.js +8 -0
  36. package/dist/chunk-SIFBBGY6.js +190 -0
  37. package/dist/chunk-SVEAENO7.js +22 -0
  38. package/dist/chunk-SY5244IR.js +1499 -0
  39. package/dist/chunk-W5HVJX45.js +402 -0
  40. package/dist/chunk-WIBGG4X6.js +173 -0
  41. package/dist/chunk-ZDWFBE5L.js +1 -0
  42. package/dist/chunk-ZINPRHAN.js +22 -0
  43. package/dist/deployer/index.cjs +165 -0
  44. package/dist/deployer/index.d.cts +19 -0
  45. package/dist/deployer/index.d.ts +19 -0
  46. package/dist/deployer/index.js +1 -0
  47. package/dist/eval/index.cjs +110 -0
  48. package/dist/eval/index.d.cts +28 -0
  49. package/dist/eval/index.d.ts +28 -0
  50. package/dist/eval/index.js +1 -0
  51. package/dist/filter/index.cjs +192 -0
  52. package/dist/filter/index.d.cts +90 -0
  53. package/dist/filter/index.d.ts +90 -0
  54. package/dist/filter/index.js +1 -0
  55. package/dist/hooks/index.cjs +87 -0
  56. package/dist/hooks/index.d.cts +33 -0
  57. package/dist/hooks/index.d.ts +33 -0
  58. package/dist/hooks/index.js +1 -0
  59. package/dist/index-mKY1XrpK.d.cts +90 -0
  60. package/dist/index-mKY1XrpK.d.ts +90 -0
  61. package/dist/index.cjs +6844 -0
  62. package/dist/index.d.cts +97 -0
  63. package/dist/index.d.ts +97 -0
  64. package/dist/index.js +119 -0
  65. package/dist/integration/index.cjs +113 -0
  66. package/dist/integration/index.d.cts +52 -0
  67. package/dist/integration/index.d.ts +52 -0
  68. package/dist/integration/index.js +1 -0
  69. package/dist/llm/index.cjs +2 -0
  70. package/dist/llm/index.d.cts +15 -0
  71. package/dist/llm/index.d.ts +15 -0
  72. package/dist/llm/index.js +1 -0
  73. package/dist/logger/index.cjs +159 -0
  74. package/dist/logger/index.d.cts +3 -0
  75. package/dist/logger/index.d.ts +3 -0
  76. package/dist/logger/index.js +1 -0
  77. package/dist/mastra/index.cjs +1741 -0
  78. package/dist/mastra/index.d.cts +67 -0
  79. package/dist/mastra/index.d.ts +67 -0
  80. package/dist/mastra/index.js +1 -0
  81. package/dist/memory/index.cjs +1907 -0
  82. package/dist/memory/index.d.cts +15 -0
  83. package/dist/memory/index.d.ts +15 -0
  84. package/dist/memory/index.js +1 -0
  85. package/dist/relevance/index.cjs +1927 -0
  86. package/dist/relevance/index.d.cts +21 -0
  87. package/dist/relevance/index.d.ts +21 -0
  88. package/dist/relevance/index.js +1 -0
  89. package/dist/storage/index.cjs +361 -0
  90. package/dist/storage/index.d.cts +15 -0
  91. package/dist/storage/index.d.ts +15 -0
  92. package/dist/storage/index.js +2 -0
  93. package/dist/storage/libsql/index.cjs +770 -0
  94. package/dist/storage/libsql/index.d.cts +81 -0
  95. package/dist/storage/libsql/index.d.ts +81 -0
  96. package/dist/storage/libsql/index.js +1 -0
  97. package/dist/telemetry/index.cjs +413 -0
  98. package/dist/telemetry/index.d.cts +51 -0
  99. package/dist/telemetry/index.d.ts +51 -0
  100. package/dist/telemetry/index.js +1 -0
  101. package/dist/telemetry/otel-vendor.cjs +52 -0
  102. package/dist/telemetry/otel-vendor.d.cts +7 -0
  103. package/dist/telemetry/otel-vendor.d.ts +7 -0
  104. package/dist/telemetry/otel-vendor.js +7 -0
  105. package/dist/tools/index.cjs +25 -0
  106. package/dist/tools/index.d.cts +29 -0
  107. package/dist/tools/index.d.ts +29 -0
  108. package/dist/tools/index.js +1 -0
  109. package/dist/tts/index.cjs +328 -0
  110. package/dist/tts/index.d.cts +28 -0
  111. package/dist/tts/index.d.ts +28 -0
  112. package/dist/tts/index.js +1 -0
  113. package/dist/types-m9RryK9a.d.cts +14 -0
  114. package/dist/types-m9RryK9a.d.ts +14 -0
  115. package/dist/utils.cjs +179 -0
  116. package/dist/utils.d.cts +26 -0
  117. package/dist/utils.d.ts +26 -0
  118. package/dist/utils.js +1 -0
  119. package/dist/vector/index.cjs +145 -0
  120. package/dist/vector/index.d.cts +30 -0
  121. package/dist/vector/index.d.ts +30 -0
  122. package/dist/vector/index.js +1 -0
  123. package/dist/vector/libsql/index.cjs +951 -0
  124. package/dist/vector/libsql/index.d.cts +29 -0
  125. package/dist/vector/libsql/index.d.ts +29 -0
  126. package/dist/vector/libsql/index.js +1 -0
  127. package/dist/voice/index.cjs +369 -0
  128. package/dist/voice/index.d.cts +67 -0
  129. package/dist/voice/index.d.ts +67 -0
  130. package/dist/voice/index.js +76 -0
  131. package/dist/workflow-DqQ4pON_.d.cts +84 -0
  132. package/dist/workflow-Ng_F_Zaf.d.ts +84 -0
  133. package/dist/workflows/index.cjs +1628 -0
  134. package/dist/workflows/index.d.cts +48 -0
  135. package/dist/workflows/index.d.ts +48 -0
  136. package/dist/workflows/index.js +1 -0
  137. package/package.json +162 -0
package/dist/utils.cjs ADDED
@@ -0,0 +1,179 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/utils.ts
6
+ var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
7
+ function jsonSchemaPropertiesToTSTypes(value) {
8
+ if (!value.type) {
9
+ return zod.z.object({});
10
+ }
11
+ let zodType;
12
+ switch (value.type) {
13
+ case "string":
14
+ zodType = zod.z.string().describe((value.description || "") + (value.examples ? `
15
+ Examples: ${value.examples.join(", ")}` : ""));
16
+ break;
17
+ case "number":
18
+ zodType = zod.z.number().describe((value.description || "") + (value.examples ? `
19
+ Examples: ${value.examples.join(", ")}` : ""));
20
+ break;
21
+ case "integer":
22
+ zodType = zod.z.number().int().describe((value.description || "") + (value.examples ? `
23
+ Examples: ${value.examples.join(", ")}` : ""));
24
+ break;
25
+ case "boolean":
26
+ zodType = zod.z.boolean().describe((value.description || "") + (value.examples ? `
27
+ Examples: ${value.examples.join(", ")}` : ""));
28
+ break;
29
+ case "array":
30
+ zodType = zod.z.array(jsonSchemaPropertiesToTSTypes(value.items)).describe((value.description || "") + (value.examples ? `
31
+ Examples: ${value.examples.join(", ")}` : ""));
32
+ break;
33
+ case "object":
34
+ zodType = jsonSchemaToModel(value).describe(
35
+ (value.description || "") + (value.examples ? `
36
+ Examples: ${value.examples.join(", ")}` : "")
37
+ );
38
+ break;
39
+ case "null":
40
+ zodType = zod.z.null().describe(value.description || "");
41
+ break;
42
+ default:
43
+ throw new Error(`Unsupported JSON schema type: ${value.type}`);
44
+ }
45
+ return zodType;
46
+ }
47
+ function jsonSchemaToModel(jsonSchema) {
48
+ const properties = jsonSchema.properties;
49
+ const requiredFields = jsonSchema.required || [];
50
+ if (!properties) {
51
+ return zod.z.object({});
52
+ }
53
+ const zodSchema = {};
54
+ for (const [key, _] of Object.entries(properties)) {
55
+ const value = _;
56
+ let zodType;
57
+ if (value.anyOf) {
58
+ const anyOfTypes = value.anyOf.map((schema) => jsonSchemaPropertiesToTSTypes(schema));
59
+ zodType = zod.z.union(anyOfTypes).describe((value.description || "") + (value.examples ? `
60
+ Examples: ${value.examples.join(", ")}` : ""));
61
+ } else if (value.allOf) {
62
+ const allOfTypes = value.allOf.map((schema) => jsonSchemaPropertiesToTSTypes(schema));
63
+ zodType = zod.z.intersection(
64
+ allOfTypes[0],
65
+ allOfTypes.slice(1).reduce((acc, schema) => acc.and(schema), allOfTypes[0])
66
+ ).describe((value.description || "") + (value.examples ? `
67
+ Examples: ${value.examples.join(", ")}` : ""));
68
+ } else {
69
+ if (!value.type) {
70
+ value.type = "string";
71
+ }
72
+ zodType = jsonSchemaPropertiesToTSTypes(value);
73
+ }
74
+ if (value.description) {
75
+ zodType = zodType.describe(value.description);
76
+ }
77
+ if (requiredFields.includes(key)) {
78
+ zodSchema[key] = zodType;
79
+ } else {
80
+ zodSchema[key] = zodType.nullable();
81
+ }
82
+ }
83
+ return zod.z.object(zodSchema);
84
+ }
85
+ function deepMerge(target, source) {
86
+ const output = { ...target };
87
+ if (!source) return output;
88
+ Object.keys(source).forEach((key) => {
89
+ const targetValue = output[key];
90
+ const sourceValue = source[key];
91
+ if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
92
+ output[key] = sourceValue;
93
+ } else if (sourceValue instanceof Object && targetValue instanceof Object && !Array.isArray(sourceValue) && !Array.isArray(targetValue)) {
94
+ output[key] = deepMerge(targetValue, sourceValue);
95
+ } else if (sourceValue !== void 0) {
96
+ output[key] = sourceValue;
97
+ }
98
+ });
99
+ return output;
100
+ }
101
+ async function* maskStreamTags(stream, tag, options = {}) {
102
+ const { onStart, onEnd, onMask } = options;
103
+ const openTag = `<${tag}>`;
104
+ const closeTag = `</${tag}>`;
105
+ let buffer = "";
106
+ let fullContent = "";
107
+ let isMasking = false;
108
+ let isBuffering = false;
109
+ const trimOutsideDelimiter = (text, delimiter, trim) => {
110
+ if (!text.includes(delimiter)) {
111
+ return text;
112
+ }
113
+ const parts = text.split(delimiter);
114
+ if (trim === `before-start`) {
115
+ return `${delimiter}${parts[1]}`;
116
+ }
117
+ return `${parts[0]}${delimiter}`;
118
+ };
119
+ const startsWith = (text, pattern) => {
120
+ if (pattern.includes(openTag.substring(0, 3))) {
121
+ pattern = trimOutsideDelimiter(pattern, `<`, `before-start`);
122
+ }
123
+ return text.trim().startsWith(pattern.trim());
124
+ };
125
+ for await (const chunk of stream) {
126
+ fullContent += chunk;
127
+ if (isBuffering) buffer += chunk;
128
+ const chunkHasTag = startsWith(chunk, openTag);
129
+ const bufferHasTag = !chunkHasTag && isBuffering && startsWith(openTag, buffer);
130
+ let toYieldBeforeMaskedStartTag = ``;
131
+ if (!isMasking && (chunkHasTag || bufferHasTag)) {
132
+ isMasking = true;
133
+ isBuffering = false;
134
+ const taggedTextToMask = trimOutsideDelimiter(buffer, `<`, `before-start`);
135
+ if (taggedTextToMask !== buffer.trim()) {
136
+ toYieldBeforeMaskedStartTag = buffer.replace(taggedTextToMask, ``);
137
+ }
138
+ buffer = "";
139
+ onStart?.();
140
+ }
141
+ if (!isMasking && !isBuffering && startsWith(openTag, chunk) && chunk.trim() !== "") {
142
+ isBuffering = true;
143
+ buffer += chunk;
144
+ continue;
145
+ }
146
+ if (isBuffering && buffer && !startsWith(openTag, buffer)) {
147
+ yield buffer;
148
+ buffer = "";
149
+ isBuffering = false;
150
+ continue;
151
+ }
152
+ if (isMasking && fullContent.includes(closeTag)) {
153
+ onMask?.(chunk);
154
+ onEnd?.();
155
+ isMasking = false;
156
+ const lastFullContent = fullContent;
157
+ fullContent = ``;
158
+ const textUntilEndTag = trimOutsideDelimiter(lastFullContent, closeTag, "after-end");
159
+ if (textUntilEndTag !== lastFullContent) {
160
+ yield lastFullContent.replace(textUntilEndTag, ``);
161
+ }
162
+ continue;
163
+ }
164
+ if (isMasking) {
165
+ onMask?.(chunk);
166
+ if (toYieldBeforeMaskedStartTag) {
167
+ yield toYieldBeforeMaskedStartTag;
168
+ }
169
+ continue;
170
+ }
171
+ yield chunk;
172
+ }
173
+ }
174
+
175
+ exports.deepMerge = deepMerge;
176
+ exports.delay = delay;
177
+ exports.jsonSchemaPropertiesToTSTypes = jsonSchemaPropertiesToTSTypes;
178
+ exports.jsonSchemaToModel = jsonSchemaToModel;
179
+ exports.maskStreamTags = maskStreamTags;
@@ -0,0 +1,26 @@
1
+ import { z, ZodObject } from 'zod';
2
+
3
+ declare const delay: (ms: number) => Promise<unknown>;
4
+ declare function jsonSchemaPropertiesToTSTypes(value: any): z.ZodTypeAny;
5
+ declare function jsonSchemaToModel(jsonSchema: Record<string, any>): ZodObject<any>;
6
+ /**
7
+ * Deep merges two objects, recursively merging nested objects and arrays
8
+ */
9
+ declare function deepMerge<T extends object = object>(target: T, source: Partial<T>): T;
10
+ interface TagMaskOptions {
11
+ /** Called when masking begins */
12
+ onStart?: () => void;
13
+ /** Called when masking ends */
14
+ onEnd?: () => void;
15
+ /** Called for each chunk that is masked */
16
+ onMask?: (chunk: string) => void;
17
+ }
18
+ /**
19
+ * Transforms a stream by masking content between XML tags.
20
+ * @param stream Input stream to transform
21
+ * @param tag Tag name to mask between (e.g. for <foo>...</foo>, use 'foo')
22
+ * @param options Optional configuration for masking behavior
23
+ */
24
+ declare function maskStreamTags(stream: AsyncIterable<string>, tag: string, options?: TagMaskOptions): AsyncIterable<string>;
25
+
26
+ export { type TagMaskOptions, deepMerge, delay, jsonSchemaPropertiesToTSTypes, jsonSchemaToModel, maskStreamTags };
@@ -0,0 +1,26 @@
1
+ import { z, ZodObject } from 'zod';
2
+
3
+ declare const delay: (ms: number) => Promise<unknown>;
4
+ declare function jsonSchemaPropertiesToTSTypes(value: any): z.ZodTypeAny;
5
+ declare function jsonSchemaToModel(jsonSchema: Record<string, any>): ZodObject<any>;
6
+ /**
7
+ * Deep merges two objects, recursively merging nested objects and arrays
8
+ */
9
+ declare function deepMerge<T extends object = object>(target: T, source: Partial<T>): T;
10
+ interface TagMaskOptions {
11
+ /** Called when masking begins */
12
+ onStart?: () => void;
13
+ /** Called when masking ends */
14
+ onEnd?: () => void;
15
+ /** Called for each chunk that is masked */
16
+ onMask?: (chunk: string) => void;
17
+ }
18
+ /**
19
+ * Transforms a stream by masking content between XML tags.
20
+ * @param stream Input stream to transform
21
+ * @param tag Tag name to mask between (e.g. for <foo>...</foo>, use 'foo')
22
+ * @param options Optional configuration for masking behavior
23
+ */
24
+ declare function maskStreamTags(stream: AsyncIterable<string>, tag: string, options?: TagMaskOptions): AsyncIterable<string>;
25
+
26
+ export { type TagMaskOptions, deepMerge, delay, jsonSchemaPropertiesToTSTypes, jsonSchemaToModel, maskStreamTags };
package/dist/utils.js ADDED
@@ -0,0 +1 @@
1
+ export { deepMerge, delay, jsonSchemaPropertiesToTSTypes, jsonSchemaToModel, maskStreamTags } from './chunk-WIBGG4X6.js';
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+
3
+ var stream = require('stream');
4
+ var pino = require('pino');
5
+ var pretty = require('pino-pretty');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var pino__default = /*#__PURE__*/_interopDefault(pino);
10
+ var pretty__default = /*#__PURE__*/_interopDefault(pretty);
11
+
12
+ // src/logger/index.ts
13
+ var RegisteredLogger = {
14
+ LLM: "LLM"};
15
+ var LogLevel = {
16
+ INFO: "info"};
17
+ var Logger = class {
18
+ logger;
19
+ transports;
20
+ constructor(options = {}) {
21
+ this.transports = options.transports || {};
22
+ const transportsAry = Object.entries(this.transports);
23
+ this.logger = pino__default.default(
24
+ {
25
+ name: options.name || "app",
26
+ level: options.level || LogLevel.INFO
27
+ },
28
+ options.overrideDefaultTransports ? options?.transports?.default : transportsAry.length === 0 ? pretty__default.default({
29
+ colorize: true,
30
+ levelFirst: true,
31
+ ignore: "pid,hostname",
32
+ colorizeObjects: true,
33
+ translateTime: "SYS:standard",
34
+ singleLine: false
35
+ }) : pino__default.default.multistream([
36
+ ...transportsAry.map(([_, transport]) => ({
37
+ stream: transport,
38
+ level: options.level || LogLevel.INFO
39
+ })),
40
+ {
41
+ stream: pretty__default.default({
42
+ colorize: true,
43
+ levelFirst: true,
44
+ ignore: "pid,hostname",
45
+ colorizeObjects: true,
46
+ translateTime: "SYS:standard",
47
+ singleLine: false
48
+ }),
49
+ level: options.level || LogLevel.INFO
50
+ }
51
+ ])
52
+ );
53
+ }
54
+ debug(message, args = {}) {
55
+ this.logger.debug(args, message);
56
+ }
57
+ info(message, args = {}) {
58
+ this.logger.info(args, message);
59
+ }
60
+ warn(message, args = {}) {
61
+ this.logger.warn(args, message);
62
+ }
63
+ error(message, args = {}) {
64
+ this.logger.error(args, message);
65
+ }
66
+ // Stream creation for process output handling
67
+ createStream() {
68
+ return new stream.Transform({
69
+ transform: (chunk, _encoding, callback) => {
70
+ const line = chunk.toString().trim();
71
+ if (line) {
72
+ this.info(line);
73
+ }
74
+ callback(null, chunk);
75
+ }
76
+ });
77
+ }
78
+ async getLogs(transportId) {
79
+ if (!transportId || !this.transports[transportId]) {
80
+ return [];
81
+ }
82
+ return this.transports[transportId].getLogs();
83
+ }
84
+ async getLogsByRunId({ runId, transportId }) {
85
+ return this.transports[transportId]?.getLogsByRunId({ runId });
86
+ }
87
+ };
88
+ function createLogger(options) {
89
+ return new Logger(options);
90
+ }
91
+
92
+ // src/base.ts
93
+ var MastraBase = class {
94
+ component = RegisteredLogger.LLM;
95
+ logger;
96
+ name;
97
+ telemetry;
98
+ constructor({ component, name }) {
99
+ this.component = component || RegisteredLogger.LLM;
100
+ this.name = name;
101
+ this.logger = createLogger({ name: `${this.component} - ${this.name}` });
102
+ }
103
+ /**
104
+ * Set the logger for the agent
105
+ * @param logger
106
+ */
107
+ __setLogger(logger) {
108
+ this.logger = logger;
109
+ this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
110
+ }
111
+ /**
112
+ * Set the telemetry for the
113
+ * @param telemetry
114
+ */
115
+ __setTelemetry(telemetry) {
116
+ this.telemetry = telemetry;
117
+ this.logger.debug(`Telemetry updated [component=${this.component}] [tracer=${this.telemetry.tracer}]`);
118
+ }
119
+ /**
120
+ * Get the telemetry on the vector
121
+ * @returns telemetry
122
+ */
123
+ __getTelemetry() {
124
+ return this.telemetry;
125
+ }
126
+ /*
127
+ get experimental_telemetry config
128
+ */
129
+ get experimental_telemetry() {
130
+ return this.telemetry ? {
131
+ // tracer: this.telemetry.tracer,
132
+ tracer: this.telemetry.getBaggageTracer(),
133
+ isEnabled: !!this.telemetry.tracer
134
+ } : void 0;
135
+ }
136
+ };
137
+
138
+ // src/vector/index.ts
139
+ var MastraVector = class extends MastraBase {
140
+ constructor() {
141
+ super({ name: "MastraVector", component: "VECTOR" });
142
+ }
143
+ };
144
+
145
+ exports.MastraVector = MastraVector;
@@ -0,0 +1,30 @@
1
+ import { M as MastraBase } from '../base-hs9NDAZ2.cjs';
2
+ import '@opentelemetry/api';
3
+ import '../index-mKY1XrpK.cjs';
4
+ import 'stream';
5
+ import 'pino';
6
+ import '@opentelemetry/sdk-trace-base';
7
+
8
+ interface QueryResult {
9
+ id: string;
10
+ score: number;
11
+ metadata?: Record<string, any>;
12
+ vector?: number[];
13
+ document?: string;
14
+ }
15
+ interface IndexStats {
16
+ dimension: number;
17
+ count: number;
18
+ metric?: 'cosine' | 'euclidean' | 'dotproduct';
19
+ }
20
+ declare abstract class MastraVector extends MastraBase {
21
+ constructor();
22
+ abstract upsert(indexName: string, vectors: number[][], metadata?: Record<string, any>[], ids?: string[]): Promise<string[]>;
23
+ abstract createIndex(indexName: string, dimension: number, metric?: 'cosine' | 'euclidean' | 'dotproduct'): Promise<void>;
24
+ abstract query(indexName: string, queryVector: number[], topK?: number, filter?: Record<string, any>, includeVector?: boolean): Promise<QueryResult[]>;
25
+ abstract listIndexes(): Promise<string[]>;
26
+ abstract describeIndex(indexName: string): Promise<IndexStats>;
27
+ abstract deleteIndex(indexName: string): Promise<void>;
28
+ }
29
+
30
+ export { type IndexStats, MastraVector, type QueryResult };
@@ -0,0 +1,30 @@
1
+ import { M as MastraBase } from '../base-D90KQ4XI.js';
2
+ import '@opentelemetry/api';
3
+ import '../index-mKY1XrpK.js';
4
+ import 'stream';
5
+ import 'pino';
6
+ import '@opentelemetry/sdk-trace-base';
7
+
8
+ interface QueryResult {
9
+ id: string;
10
+ score: number;
11
+ metadata?: Record<string, any>;
12
+ vector?: number[];
13
+ document?: string;
14
+ }
15
+ interface IndexStats {
16
+ dimension: number;
17
+ count: number;
18
+ metric?: 'cosine' | 'euclidean' | 'dotproduct';
19
+ }
20
+ declare abstract class MastraVector extends MastraBase {
21
+ constructor();
22
+ abstract upsert(indexName: string, vectors: number[][], metadata?: Record<string, any>[], ids?: string[]): Promise<string[]>;
23
+ abstract createIndex(indexName: string, dimension: number, metric?: 'cosine' | 'euclidean' | 'dotproduct'): Promise<void>;
24
+ abstract query(indexName: string, queryVector: number[], topK?: number, filter?: Record<string, any>, includeVector?: boolean): Promise<QueryResult[]>;
25
+ abstract listIndexes(): Promise<string[]>;
26
+ abstract describeIndex(indexName: string): Promise<IndexStats>;
27
+ abstract deleteIndex(indexName: string): Promise<void>;
28
+ }
29
+
30
+ export { type IndexStats, MastraVector, type QueryResult };
@@ -0,0 +1 @@
1
+ export { MastraVector } from '../chunk-55NFNRKO.js';