@mastra/core 0.2.0-alpha.93 → 0.2.0-alpha.95
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.
- package/README.md +11 -8
- package/dist/action/index.d.ts +1 -3
- package/dist/agent/index.d.ts +2 -4
- package/dist/agent/index.js +3 -5
- package/dist/{chunk-SDKEPBBH.js → chunk-4ZUSEHLH.js} +109 -12
- package/dist/{chunk-F7ILHRX5.js → chunk-5DZIXJRV.js} +1 -1
- package/dist/chunk-AE3H2QEY.js +1 -0
- package/dist/{chunk-IE37CBXB.js → chunk-G4LP2IJU.js} +1 -3
- package/dist/{chunk-JWVCENG2.js → chunk-JY322VLW.js} +445 -32
- package/dist/{chunk-ECUVL2G5.js → chunk-K3N7KJHH.js} +1 -1
- package/dist/chunk-MBOUQZQT.js +16 -0
- package/dist/{chunk-GGYXCZUW.js → chunk-N44BCOWP.js} +4 -12
- package/dist/{chunk-WBPDZBUT.js → chunk-TYIBRZOY.js} +2 -17
- package/dist/eval/index.d.ts +1 -3
- package/dist/index-CBxGSZZE.d.ts +808 -0
- package/dist/index.d.ts +6 -12
- package/dist/index.js +12 -26
- package/dist/integration/index.d.ts +5 -7
- package/dist/llm/index.d.ts +4 -6
- package/dist/llm/index.js +1 -6
- package/dist/mastra/index.d.ts +2 -5
- package/dist/mastra/index.js +2 -6
- package/dist/memory/index.d.ts +1 -3
- package/dist/memory/index.js +1 -1
- package/dist/relevance/index.d.ts +2 -19
- package/dist/relevance/index.js +4 -6
- package/dist/storage/index.d.ts +2 -4
- package/dist/storage/index.js +2 -3
- package/dist/telemetry/index.js +1 -2
- package/dist/tools/index.d.ts +2 -4
- package/dist/tts/index.js +2 -3
- package/dist/vector/index.d.ts +0 -7
- package/dist/vector/index.js +1 -2
- package/dist/vector/libsql/index.d.ts +0 -1
- package/dist/vector/libsql/index.js +2 -3
- package/dist/{workflow-CSwxE-4q.d.ts → workflow-BA2Pnq90.d.ts} +1 -1
- package/dist/workflows/index.d.ts +3 -5
- package/package.json +20 -56
- package/dist/chunk-5DYJZVB7.js +0 -66
- package/dist/chunk-6ZVFVYLE.js +0 -101
- package/dist/chunk-AD6IIOCI.js +0 -11
- package/dist/chunk-BOS3IA23.js +0 -76
- package/dist/chunk-CQU72KBX.js +0 -54
- package/dist/chunk-HH5JIATB.js +0 -36
- package/dist/chunk-IEFQZ3IL.js +0 -78
- package/dist/chunk-IJ55HGH4.js +0 -24
- package/dist/chunk-NNNAWW2H.js +0 -66
- package/dist/chunk-NYBGZL6Z.js +0 -30
- package/dist/chunk-QX2CHXA7.js +0 -408
- package/dist/chunk-RAR7V3E3.js +0 -66
- package/dist/chunk-RI3ECMVF.js +0 -636
- package/dist/chunk-VPSYTVWP.js +0 -66
- package/dist/chunk-ZA7MIXNW.js +0 -66
- package/dist/embeddings/index.d.ts +0 -8
- package/dist/embeddings/index.js +0 -2
- package/dist/embeddings/model/providers/bedrock.d.ts +0 -42
- package/dist/embeddings/model/providers/bedrock.js +0 -3
- package/dist/embeddings/model/providers/bedrock.test.d.ts +0 -2
- package/dist/embeddings/model/providers/bedrock.test.js +0 -37
- package/dist/embeddings/model/providers/cohere.d.ts +0 -34
- package/dist/embeddings/model/providers/cohere.js +0 -3
- package/dist/embeddings/model/providers/cohere.test.d.ts +0 -2
- package/dist/embeddings/model/providers/cohere.test.js +0 -37
- package/dist/embeddings/model/providers/embedder.d.ts +0 -28
- package/dist/embeddings/model/providers/embedder.js +0 -2
- package/dist/embeddings/model/providers/google.d.ts +0 -34
- package/dist/embeddings/model/providers/google.js +0 -3
- package/dist/embeddings/model/providers/google.test.d.ts +0 -2
- package/dist/embeddings/model/providers/google.test.js +0 -37
- package/dist/embeddings/model/providers/mistral.d.ts +0 -34
- package/dist/embeddings/model/providers/mistral.js +0 -3
- package/dist/embeddings/model/providers/mistral.test.d.ts +0 -2
- package/dist/embeddings/model/providers/mistral.test.js +0 -37
- package/dist/embeddings/model/providers/mock.d.ts +0 -20
- package/dist/embeddings/model/providers/mock.js +0 -3
- package/dist/embeddings/model/providers/mock.test.d.ts +0 -2
- package/dist/embeddings/model/providers/mock.test.js +0 -29
- package/dist/embeddings/model/providers/openai.d.ts +0 -34
- package/dist/embeddings/model/providers/openai.js +0 -3
- package/dist/embeddings/model/providers/openai.test.d.ts +0 -2
- package/dist/embeddings/model/providers/openai.test.js +0 -37
- package/dist/embeddings/model/providers/voyage.d.ts +0 -34
- package/dist/embeddings/model/providers/voyage.js +0 -3
- package/dist/embeddings/model/providers/voyage.test.d.ts +0 -2
- package/dist/embeddings/model/providers/voyage.test.js +0 -37
- package/dist/index-B48181D5.d.ts +0 -1070
- package/dist/llm/model/index.d.ts +0 -45
- package/dist/llm/model/index.js +0 -5
- package/dist/llm/model/providers/anthropic-vertex.d.ts +0 -31
- package/dist/llm/model/providers/anthropic-vertex.js +0 -23
- package/dist/llm/model/providers/anthropic.d.ts +0 -29
- package/dist/llm/model/providers/anthropic.js +0 -21
- package/dist/llm/model/providers/azure.d.ts +0 -48
- package/dist/llm/model/providers/azure.js +0 -50
- package/dist/llm/model/providers/baseten.d.ts +0 -33
- package/dist/llm/model/providers/baseten.js +0 -29
- package/dist/llm/model/providers/bedrock.d.ts +0 -32
- package/dist/llm/model/providers/bedrock.js +0 -24
- package/dist/llm/model/providers/cerebras.d.ts +0 -30
- package/dist/llm/model/providers/cerebras.js +0 -22
- package/dist/llm/model/providers/cohere.d.ts +0 -30
- package/dist/llm/model/providers/cohere.js +0 -22
- package/dist/llm/model/providers/deepinfra.d.ts +0 -30
- package/dist/llm/model/providers/deepinfra.js +0 -22
- package/dist/llm/model/providers/deepseek.d.ts +0 -30
- package/dist/llm/model/providers/deepseek.js +0 -22
- package/dist/llm/model/providers/fireworks.d.ts +0 -35
- package/dist/llm/model/providers/fireworks.js +0 -40
- package/dist/llm/model/providers/google-vertex.d.ts +0 -48
- package/dist/llm/model/providers/google-vertex.js +0 -22
- package/dist/llm/model/providers/google.d.ts +0 -54
- package/dist/llm/model/providers/google.js +0 -23
- package/dist/llm/model/providers/grok.d.ts +0 -32
- package/dist/llm/model/providers/grok.js +0 -22
- package/dist/llm/model/providers/groq.d.ts +0 -37
- package/dist/llm/model/providers/groq.js +0 -42
- package/dist/llm/model/providers/lmstudio.d.ts +0 -29
- package/dist/llm/model/providers/lmstudio.js +0 -22
- package/dist/llm/model/providers/mistral.d.ts +0 -30
- package/dist/llm/model/providers/mistral.js +0 -22
- package/dist/llm/model/providers/mock.d.ts +0 -30
- package/dist/llm/model/providers/mock.js +0 -83
- package/dist/llm/model/providers/ollama.d.ts +0 -31
- package/dist/llm/model/providers/ollama.js +0 -23
- package/dist/llm/model/providers/openai-compat.d.ts +0 -39
- package/dist/llm/model/providers/openai-compat.js +0 -6
- package/dist/llm/model/providers/openai.d.ts +0 -34
- package/dist/llm/model/providers/openai.js +0 -6
- package/dist/llm/model/providers/openai.test.d.ts +0 -2
- package/dist/llm/model/providers/openai.test.js +0 -220
- package/dist/llm/model/providers/perplexity.d.ts +0 -30
- package/dist/llm/model/providers/perplexity.js +0 -22
- package/dist/llm/model/providers/portkey.d.ts +0 -34
- package/dist/llm/model/providers/portkey.js +0 -22
- package/dist/llm/model/providers/togetherai.d.ts +0 -30
- package/dist/llm/model/providers/togetherai.js +0 -22
- package/dist/types-M16hSruO.d.ts +0 -40
package/README.md
CHANGED
|
@@ -29,15 +29,13 @@ For comprehensive documentation, visit our [official documentation](https://mast
|
|
|
29
29
|
Agents are autonomous AI entities that can understand instructions, use tools, and complete tasks. They encapsulate LLM interactions and can maintain conversation history, use provided tools, and follow specific behavioral guidelines through instructions.
|
|
30
30
|
|
|
31
31
|
```typescript
|
|
32
|
+
import { openai } from '@ai-sdk/openai';
|
|
32
33
|
import { Agent } from '@mastra/core/agent';
|
|
33
34
|
|
|
34
35
|
const agent = new Agent({
|
|
35
36
|
name: 'my-agent',
|
|
36
37
|
instructions: 'Your task-specific instructions',
|
|
37
|
-
model:
|
|
38
|
-
provider: 'openai',
|
|
39
|
-
model: 'gpt-4',
|
|
40
|
-
},
|
|
38
|
+
model: openai('gpt-4o-mini'),
|
|
41
39
|
tools: {}, // Optional tools
|
|
42
40
|
});
|
|
43
41
|
```
|
|
@@ -49,10 +47,12 @@ const agent = new Agent({
|
|
|
49
47
|
The embeddings module provides a unified interface for converting text into vector representations across multiple AI providers. These vectors are essential for semantic search, similarity comparisons, and other NLP tasks.
|
|
50
48
|
|
|
51
49
|
```typescript
|
|
52
|
-
import {
|
|
50
|
+
import { openai } from '@ai-sdk/openai';
|
|
51
|
+
import { embed } from 'ai';
|
|
53
52
|
|
|
54
|
-
const embeddings = await embed(
|
|
55
|
-
model: 'text-embedding-3-small',
|
|
53
|
+
const embeddings = await embed({
|
|
54
|
+
model: openai.embedding('text-embedding-3-small'),
|
|
55
|
+
value: 'text to embed',
|
|
56
56
|
});
|
|
57
57
|
```
|
|
58
58
|
|
|
@@ -89,7 +89,10 @@ const memory = new MastraMemory({
|
|
|
89
89
|
});
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
**Note:** this is the base `MastraMemory` class. This class in `@mastra/core` is intended to be extended when developing custom agent memory strategies.
|
|
93
|
+
To use a premade memory strategy (recommended), with long and short term memory built in, use `import { Memory } from "@mastra/memory"` instead.
|
|
94
|
+
|
|
95
|
+
[Visit the memory documentation to use Memory in your project →](https://mastra.ai/docs/reference/memory/overview)
|
|
93
96
|
|
|
94
97
|
### Vector Stores (`/vector`)
|
|
95
98
|
|
package/dist/action/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'zod';
|
|
2
|
-
export { I as IAction,
|
|
2
|
+
export { I as IAction, ah as IExecutionContext, c as MastraPrimitives } from '../index-CBxGSZZE.js';
|
|
3
3
|
import '../index-CBZ2mk2H.js';
|
|
4
4
|
import '../telemetry-oCUM52DG.js';
|
|
5
5
|
import '../vector/index.js';
|
|
@@ -14,5 +14,3 @@ import '@opentelemetry/sdk-node';
|
|
|
14
14
|
import '@opentelemetry/sdk-trace-base';
|
|
15
15
|
import '../metric-D2V4CR8D.js';
|
|
16
16
|
import 'sift';
|
|
17
|
-
import '../embeddings/model/providers/embedder.js';
|
|
18
|
-
import '../types-M16hSruO.js';
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import 'ai';
|
|
2
2
|
import 'json-schema';
|
|
3
3
|
import 'zod';
|
|
4
|
-
export { A as Agent } from '../index-
|
|
4
|
+
export { A as Agent } from '../index-CBxGSZZE.js';
|
|
5
5
|
import '../base.js';
|
|
6
6
|
import '../metric-D2V4CR8D.js';
|
|
7
7
|
import '../telemetry-oCUM52DG.js';
|
|
8
|
+
import 'sift';
|
|
8
9
|
import '../index-CBZ2mk2H.js';
|
|
9
10
|
import 'pino';
|
|
10
11
|
import 'stream';
|
|
11
|
-
import 'sift';
|
|
12
|
-
import '../embeddings/model/providers/embedder.js';
|
|
13
12
|
import '../vector/index.js';
|
|
14
|
-
import '../types-M16hSruO.js';
|
|
15
13
|
import '@opentelemetry/api';
|
|
16
14
|
import '@opentelemetry/sdk-node';
|
|
17
15
|
import '@opentelemetry/sdk-trace-base';
|
package/dist/agent/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
export { Agent } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-RI3ECMVF.js';
|
|
4
|
-
import '../chunk-6ZVFVYLE.js';
|
|
1
|
+
export { Agent } from '../chunk-JY322VLW.js';
|
|
2
|
+
import '../chunk-4ZUSEHLH.js';
|
|
5
3
|
import '../chunk-KNPBNSJ7.js';
|
|
4
|
+
import '../chunk-HBTQNIAX.js';
|
|
6
5
|
import '../chunk-G4MCO7XF.js';
|
|
7
6
|
import '../chunk-ICMEXHKD.js';
|
|
8
|
-
import '../chunk-HBTQNIAX.js';
|
|
9
7
|
import '../chunk-AJJZUHB4.js';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { hasActiveTelemetry } from './chunk-6ZVFVYLE.js';
|
|
2
1
|
import { __name, __publicField } from './chunk-AJJZUHB4.js';
|
|
3
|
-
import { trace, SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
+
import { trace, context, SpanStatusCode, SpanKind } from '@opentelemetry/api';
|
|
4
3
|
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
|
|
5
4
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
6
5
|
import { Resource } from '@opentelemetry/resources';
|
|
@@ -8,6 +7,104 @@ import { NodeSDK } from '@opentelemetry/sdk-node';
|
|
|
8
7
|
import { ConsoleSpanExporter, AlwaysOnSampler, AlwaysOffSampler, TraceIdRatioBasedSampler, ParentBasedSampler } from '@opentelemetry/sdk-trace-base';
|
|
9
8
|
import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
|
|
10
9
|
|
|
10
|
+
function hasActiveTelemetry() {
|
|
11
|
+
try {
|
|
12
|
+
return !!trace.getTracer("default-tracer");
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
__name(hasActiveTelemetry, "hasActiveTelemetry");
|
|
18
|
+
|
|
19
|
+
// src/telemetry/telemetry.decorators.ts
|
|
20
|
+
function withSpan(options) {
|
|
21
|
+
return function(_target, propertyKey, descriptor) {
|
|
22
|
+
if (!descriptor || typeof descriptor === "number") return;
|
|
23
|
+
const originalMethod = descriptor.value;
|
|
24
|
+
const methodName = String(propertyKey);
|
|
25
|
+
descriptor.value = function(...args) {
|
|
26
|
+
if (options?.skipIfNoTelemetry && !hasActiveTelemetry()) {
|
|
27
|
+
return originalMethod.apply(this, args);
|
|
28
|
+
}
|
|
29
|
+
const tracer = trace.getTracer("default-tracer");
|
|
30
|
+
let spanName;
|
|
31
|
+
let spanKind;
|
|
32
|
+
if (typeof options === "string") {
|
|
33
|
+
spanName = options;
|
|
34
|
+
} else if (options) {
|
|
35
|
+
spanName = options.spanName || methodName;
|
|
36
|
+
spanKind = options.spanKind;
|
|
37
|
+
} else {
|
|
38
|
+
spanName = methodName;
|
|
39
|
+
}
|
|
40
|
+
const span = tracer.startSpan(spanName, {
|
|
41
|
+
kind: spanKind
|
|
42
|
+
});
|
|
43
|
+
const ctx = trace.setSpan(context.active(), span);
|
|
44
|
+
args.forEach((arg, index) => {
|
|
45
|
+
try {
|
|
46
|
+
span.setAttribute(`${spanName}.argument.${index}`, JSON.stringify(arg));
|
|
47
|
+
} catch (e) {
|
|
48
|
+
span.setAttribute(`${spanName}.argument.${index}`, "[Not Serializable]");
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
let result;
|
|
52
|
+
try {
|
|
53
|
+
result = context.with(ctx, () => originalMethod.apply(this, args));
|
|
54
|
+
if (result instanceof Promise) {
|
|
55
|
+
return result.then((resolvedValue) => {
|
|
56
|
+
try {
|
|
57
|
+
span.setAttribute(`${spanName}.result`, JSON.stringify(resolvedValue));
|
|
58
|
+
} catch (e) {
|
|
59
|
+
span.setAttribute(`${spanName}.result`, "[Not Serializable]");
|
|
60
|
+
}
|
|
61
|
+
return resolvedValue;
|
|
62
|
+
}).finally(() => span.end());
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
span.setAttribute(`${spanName}.result`, JSON.stringify(result));
|
|
66
|
+
} catch (e) {
|
|
67
|
+
span.setAttribute(`${spanName}.result`, "[Not Serializable]");
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
} catch (error) {
|
|
71
|
+
span.setStatus({
|
|
72
|
+
code: SpanStatusCode.ERROR,
|
|
73
|
+
message: error instanceof Error ? error.message : "Unknown error"
|
|
74
|
+
});
|
|
75
|
+
if (error instanceof Error) {
|
|
76
|
+
span.recordException(error);
|
|
77
|
+
}
|
|
78
|
+
throw error;
|
|
79
|
+
} finally {
|
|
80
|
+
if (!(result instanceof Promise)) {
|
|
81
|
+
span.end();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return descriptor;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
__name(withSpan, "withSpan");
|
|
89
|
+
function InstrumentClass(options) {
|
|
90
|
+
return function(target) {
|
|
91
|
+
const methods = Object.getOwnPropertyNames(target.prototype);
|
|
92
|
+
methods.forEach((method) => {
|
|
93
|
+
if (options?.excludeMethods?.includes(method) || method === "constructor") return;
|
|
94
|
+
if (options?.methodFilter && !options.methodFilter(method)) return;
|
|
95
|
+
const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);
|
|
96
|
+
if (descriptor && typeof descriptor.value === "function") {
|
|
97
|
+
Object.defineProperty(target.prototype, method, withSpan({
|
|
98
|
+
spanName: options?.prefix ? `${options.prefix}.${method}` : method,
|
|
99
|
+
skipIfNoTelemetry: true,
|
|
100
|
+
spanKind: options?.spanKind || SpanKind.INTERNAL
|
|
101
|
+
})(target, method, descriptor));
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
return target;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
__name(InstrumentClass, "InstrumentClass");
|
|
11
108
|
var sdkInstance = null;
|
|
12
109
|
var _Telemetry = class _Telemetry {
|
|
13
110
|
constructor(config) {
|
|
@@ -143,29 +240,29 @@ var _Telemetry = class _Telemetry {
|
|
|
143
240
|
* @param context Additional context for the trace
|
|
144
241
|
* @returns Wrapped method with tracing
|
|
145
242
|
*/
|
|
146
|
-
traceMethod(method,
|
|
147
|
-
const { skipIfNoTelemetry = true } =
|
|
243
|
+
traceMethod(method, context2) {
|
|
244
|
+
const { skipIfNoTelemetry = true } = context2;
|
|
148
245
|
if (skipIfNoTelemetry && !hasActiveTelemetry()) {
|
|
149
246
|
return method;
|
|
150
247
|
}
|
|
151
248
|
return async (...args) => {
|
|
152
|
-
const span = this.tracer.startSpan(
|
|
249
|
+
const span = this.tracer.startSpan(context2.spanName);
|
|
153
250
|
try {
|
|
154
|
-
if (
|
|
155
|
-
span.setAttributes(
|
|
251
|
+
if (context2.attributes) {
|
|
252
|
+
span.setAttributes(context2.attributes);
|
|
156
253
|
}
|
|
157
254
|
args.forEach((arg, index) => {
|
|
158
255
|
try {
|
|
159
|
-
span.setAttribute(`${
|
|
256
|
+
span.setAttribute(`${context2.spanName}.argument.${index}`, JSON.stringify(arg));
|
|
160
257
|
} catch (e) {
|
|
161
|
-
span.setAttribute(`${
|
|
258
|
+
span.setAttribute(`${context2.spanName}.argument.${index}`, "[Not Serializable]");
|
|
162
259
|
}
|
|
163
260
|
});
|
|
164
261
|
const result = await method(...args);
|
|
165
262
|
try {
|
|
166
|
-
span.setAttribute(`${
|
|
263
|
+
span.setAttribute(`${context2.spanName}.result`, JSON.stringify(result));
|
|
167
264
|
} catch (e) {
|
|
168
|
-
span.setAttribute(`${
|
|
265
|
+
span.setAttribute(`${context2.spanName}.result`, "[Not Serializable]");
|
|
169
266
|
}
|
|
170
267
|
span.end();
|
|
171
268
|
return result;
|
|
@@ -185,4 +282,4 @@ __name(_Telemetry, "Telemetry");
|
|
|
185
282
|
__publicField(_Telemetry, "isInitialized", false);
|
|
186
283
|
var Telemetry = _Telemetry;
|
|
187
284
|
|
|
188
|
-
export { Telemetry };
|
|
285
|
+
export { InstrumentClass, Telemetry, hasActiveTelemetry, withSpan };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MastraVector } from './chunk-
|
|
1
|
+
import { MastraVector } from './chunk-MBOUQZQT.js';
|
|
2
2
|
import { BaseFilterTranslator } from './chunk-4LJFWC2Q.js';
|
|
3
3
|
import { __name, __publicField } from './chunk-AJJZUHB4.js';
|
|
4
4
|
import { createClient } from '@libsql/client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|