@thangnv-dev/mastra-nest 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorators.d.ts +9 -0
- package/dist/decorators.d.ts.map +1 -0
- package/dist/decorators.js +11 -0
- package/dist/decorators.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/mastra-id.d.ts +2 -0
- package/dist/mastra-id.d.ts.map +1 -0
- package/dist/mastra-id.js +8 -0
- package/dist/mastra-id.js.map +1 -0
- package/dist/mastra-server.lifecycle.d.ts +11 -0
- package/dist/mastra-server.lifecycle.d.ts.map +1 -0
- package/dist/mastra-server.lifecycle.js +73 -0
- package/dist/mastra-server.lifecycle.js.map +1 -0
- package/dist/mastra.module.d.ts +9 -0
- package/dist/mastra.module.d.ts.map +1 -0
- package/dist/mastra.module.js +132 -0
- package/dist/mastra.module.js.map +1 -0
- package/dist/registry.d.ts +21 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +158 -0
- package/dist/registry.js.map +1 -0
- package/dist/tokens.d.ts +10 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +32 -0
- package/dist/tokens.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const InjectMastra: () => PropertyDecorator & ParameterDecorator;
|
|
2
|
+
export declare const InjectAgent: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
3
|
+
export declare const InjectWorkflow: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
4
|
+
export declare const InjectMemory: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
5
|
+
export declare const InjectTool: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
6
|
+
export declare const InjectVector: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
7
|
+
export declare const InjectProcessor: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
8
|
+
export declare const InjectScorer: (id: string) => PropertyDecorator & ParameterDecorator;
|
|
9
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,8CAA6B,CAAA;AACtD,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,2CAA8B,CAAA;AACpE,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,2CAAiC,CAAA;AAC1E,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,2CAA+B,CAAA;AACtE,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,2CAA6B,CAAA;AAClE,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,2CAA+B,CAAA;AACtE,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,2CAAkC,CAAA;AAC5E,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,2CAA+B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Inject } from '@nestjs/common';
|
|
2
|
+
import { MASTRA_TOKEN, getAgentToken, getMemoryToken, getProcessorToken, getScorerToken, getToolToken, getVectorToken, getWorkflowToken, } from './tokens.js';
|
|
3
|
+
export const InjectMastra = () => Inject(MASTRA_TOKEN);
|
|
4
|
+
export const InjectAgent = (id) => Inject(getAgentToken(id));
|
|
5
|
+
export const InjectWorkflow = (id) => Inject(getWorkflowToken(id));
|
|
6
|
+
export const InjectMemory = (id) => Inject(getMemoryToken(id));
|
|
7
|
+
export const InjectTool = (id) => Inject(getToolToken(id));
|
|
8
|
+
export const InjectVector = (id) => Inject(getVectorToken(id));
|
|
9
|
+
export const InjectProcessor = (id) => Inject(getProcessorToken(id));
|
|
10
|
+
export const InjectScorer = (id) => Inject(getScorerToken(id));
|
|
11
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;AAClE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MastraModule } from './mastra.module.js';
|
|
2
|
+
export { InjectMastra, InjectAgent, InjectWorkflow, InjectMemory, InjectTool, InjectVector, InjectProcessor, InjectScorer, } from './decorators.js';
|
|
3
|
+
export { MASTRA_TOKEN, getAgentToken, getWorkflowToken, getMemoryToken, getToolToken, getVectorToken, getProcessorToken, getScorerToken, } from './tokens.js';
|
|
4
|
+
export type { Provider, MastraFeatureProvider, MastraTool, MastraVector, MastraProcessor, MastraScorer, MastraFeatureOptions, MastraRootOptions, MastraRootAsyncOptions, } from './types.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { MastraModule } from './mastra.module.js';
|
|
2
|
+
export { InjectMastra, InjectAgent, InjectWorkflow, InjectMemory, InjectTool, InjectVector, InjectProcessor, InjectScorer, } from './decorators.js';
|
|
3
|
+
export { MASTRA_TOKEN, getAgentToken, getWorkflowToken, getMemoryToken, getToolToken, getVectorToken, getProcessorToken, getScorerToken, } from './tokens.js';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-id.d.ts","sourceRoot":"","sources":["../src/mastra-id.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAC1F,MAAM,CAOR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-id.js","sourceRoot":"","sources":["../src/mastra-id.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAC/B,EAAU,EACV,aAA2F;IAE3F,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,aAAa,iCAAiC,CAAC,CAAA;IAC3E,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Mastra } from '@mastra/core';
|
|
2
|
+
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
3
|
+
export declare class MastraServerLifecycle implements OnModuleInit, OnModuleDestroy {
|
|
4
|
+
private readonly mastra;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
private server;
|
|
7
|
+
constructor(mastra: Mastra);
|
|
8
|
+
onModuleInit(): Promise<void>;
|
|
9
|
+
onModuleDestroy(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=mastra-server.lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-server.lifecycle.d.ts","sourceRoot":"","sources":["../src/mastra-server.lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAIL,eAAe,EACf,YAAY,EACb,MAAM,gBAAgB,CAAA;AAMvB,qBACa,qBAAsB,YAAW,YAAY,EAAE,eAAe;IAKjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,MAAM,CAAsB;gBAGK,MAAM,EAAE,MAAM;IAGjD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B7B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAmBvC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var MastraServerLifecycle_1;
|
|
14
|
+
import { Mastra } from '@mastra/core';
|
|
15
|
+
import { MastraServer } from '@mastra/express';
|
|
16
|
+
import { Inject, Injectable, Logger, } from '@nestjs/common';
|
|
17
|
+
import cors from 'cors';
|
|
18
|
+
import express from 'express';
|
|
19
|
+
import { MASTRA_TOKEN } from './tokens.js';
|
|
20
|
+
let MastraServerLifecycle = MastraServerLifecycle_1 = class MastraServerLifecycle {
|
|
21
|
+
mastra;
|
|
22
|
+
logger = new Logger(MastraServerLifecycle_1.name);
|
|
23
|
+
server = null;
|
|
24
|
+
constructor(mastra) {
|
|
25
|
+
this.mastra = mastra;
|
|
26
|
+
}
|
|
27
|
+
async onModuleInit() {
|
|
28
|
+
const serverConfig = this.mastra.getServer();
|
|
29
|
+
const host = serverConfig?.host ?? 'localhost';
|
|
30
|
+
const port = serverConfig?.port ?? 4111;
|
|
31
|
+
const apiPrefix = serverConfig?.apiPrefix;
|
|
32
|
+
const app = express();
|
|
33
|
+
app.use(cors({
|
|
34
|
+
origin: ['http://localhost:3000'],
|
|
35
|
+
credentials: true,
|
|
36
|
+
}));
|
|
37
|
+
const mastraServer = new MastraServer({
|
|
38
|
+
mastra: this.mastra,
|
|
39
|
+
app,
|
|
40
|
+
...(apiPrefix ? { prefix: apiPrefix } : {}),
|
|
41
|
+
});
|
|
42
|
+
await mastraServer.init();
|
|
43
|
+
this.server = await new Promise((resolve, reject) => {
|
|
44
|
+
const httpServer = app.listen(port, host, () => resolve(httpServer));
|
|
45
|
+
httpServer.once('error', reject);
|
|
46
|
+
});
|
|
47
|
+
const displayPrefix = apiPrefix ?? '/api';
|
|
48
|
+
this.logger.log(`Mastra server listening on http://${host}:${port}${displayPrefix}`);
|
|
49
|
+
}
|
|
50
|
+
async onModuleDestroy() {
|
|
51
|
+
if (!this.server) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
await new Promise((resolve, reject) => {
|
|
55
|
+
this.server?.close((error) => {
|
|
56
|
+
if (error) {
|
|
57
|
+
reject(error);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
resolve();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
this.logger.log('Mastra server stopped');
|
|
64
|
+
this.server = null;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
MastraServerLifecycle = MastraServerLifecycle_1 = __decorate([
|
|
68
|
+
Injectable(),
|
|
69
|
+
__param(0, Inject(MASTRA_TOKEN)),
|
|
70
|
+
__metadata("design:paramtypes", [Mastra])
|
|
71
|
+
], MastraServerLifecycle);
|
|
72
|
+
export { MastraServerLifecycle };
|
|
73
|
+
//# sourceMappingURL=mastra-server.lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-server.lifecycle.js","sourceRoot":"","sources":["../src/mastra-server.lifecycle.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EACL,MAAM,EACN,UAAU,EACV,MAAM,GAGP,MAAM,gBAAgB,CAAA;AACvB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGnC,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAKS;IAJxB,MAAM,GAAG,IAAI,MAAM,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,GAAkB,IAAI,CAAA;IAEpC,YACyC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACnD,CAAC;IAEL,KAAK,CAAC,YAAY;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QAC5C,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,IAAI,WAAW,CAAA;QAC9C,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,IAAI,IAAI,CAAA;QACvC,MAAM,SAAS,GAAG,YAAY,EAAE,SAAS,CAAA;QAEzC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,CAAC,uBAAuB,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAA;QACH,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG;YACH,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAA;QAEF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QAEzB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;YACpE,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,SAAS,IAAI,MAAM,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,IAAI,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAA;oBACb,OAAM;gBACR,CAAC;gBAED,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;CACF,CAAA;AAvDY,qBAAqB;IADjC,UAAU,EAAE;IAMR,WAAA,MAAM,CAAC,YAAY,CAAC,CAAA;qCAA0B,MAAM;GAL5C,qBAAqB,CAuDjC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type DynamicModule } from '@nestjs/common';
|
|
2
|
+
import type { MastraFeatureOptions, MastraRootAsyncOptions, MastraRootOptions } from './types.js';
|
|
3
|
+
export declare class MastraModule {
|
|
4
|
+
static forRoot(options?: MastraRootOptions): DynamicModule;
|
|
5
|
+
static forRootAsync<TFactoryArgs extends readonly unknown[]>(options: MastraRootAsyncOptions<TFactoryArgs>): DynamicModule;
|
|
6
|
+
static forFeature(options: MastraFeatureOptions): DynamicModule;
|
|
7
|
+
private static createRootProviders;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=mastra.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra.module.d.ts","sourceRoot":"","sources":["../src/mastra.module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAA;AAY1E,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAEnB,qBACa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;IAc9D,MAAM,CAAC,YAAY,CAAC,YAAY,SAAS,SAAS,OAAO,EAAE,EACzD,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAC5C,aAAa;IAkBhB,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IAa/D,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAYnC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var MastraModule_1;
|
|
8
|
+
import { Mastra } from '@mastra/core';
|
|
9
|
+
import { Module } from '@nestjs/common';
|
|
10
|
+
import { ModuleRef } from '@nestjs/core';
|
|
11
|
+
import { normalizeMastraId } from './mastra-id.js';
|
|
12
|
+
import { MastraServerLifecycle } from './mastra-server.lifecycle.js';
|
|
13
|
+
import { registerMastraFeatureProviders, resolveRegisteredMastraComponents, } from './registry.js';
|
|
14
|
+
import { MASTRA_ROOT_OPTIONS_TOKEN, MASTRA_TOKEN, } from './tokens.js';
|
|
15
|
+
let MastraModule = MastraModule_1 = class MastraModule {
|
|
16
|
+
static forRoot(options = {}) {
|
|
17
|
+
const providers = this.createRootProviders({
|
|
18
|
+
provide: MASTRA_ROOT_OPTIONS_TOKEN,
|
|
19
|
+
useValue: options,
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
module: MastraModule_1,
|
|
23
|
+
global: true,
|
|
24
|
+
providers,
|
|
25
|
+
exports: [MASTRA_TOKEN],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
static forRootAsync(options) {
|
|
29
|
+
const rootOptionsProvider = {
|
|
30
|
+
provide: MASTRA_ROOT_OPTIONS_TOKEN,
|
|
31
|
+
useFactory: options.useFactory,
|
|
32
|
+
inject: [...(options.inject ?? [])],
|
|
33
|
+
};
|
|
34
|
+
const providers = this.createRootProviders(rootOptionsProvider);
|
|
35
|
+
return {
|
|
36
|
+
module: MastraModule_1,
|
|
37
|
+
global: true,
|
|
38
|
+
imports: options.imports,
|
|
39
|
+
providers,
|
|
40
|
+
exports: [MASTRA_TOKEN],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
static forFeature(options) {
|
|
44
|
+
const { providers, exportTokens } = registerMastraFeatureProviders(options, 'MastraModule.forFeature()');
|
|
45
|
+
return {
|
|
46
|
+
module: MastraModule_1,
|
|
47
|
+
providers,
|
|
48
|
+
exports: exportTokens,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static createRootProviders(rootOptionsProvider) {
|
|
52
|
+
return [
|
|
53
|
+
rootOptionsProvider,
|
|
54
|
+
{
|
|
55
|
+
provide: MASTRA_TOKEN,
|
|
56
|
+
inject: [MASTRA_ROOT_OPTIONS_TOKEN, ModuleRef],
|
|
57
|
+
useFactory: (options, moduleRef) => createMastraInstance(options, moduleRef),
|
|
58
|
+
},
|
|
59
|
+
MastraServerLifecycle,
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
MastraModule = MastraModule_1 = __decorate([
|
|
64
|
+
Module({})
|
|
65
|
+
], MastraModule);
|
|
66
|
+
export { MastraModule };
|
|
67
|
+
function createMastraInstance(options, moduleRef) {
|
|
68
|
+
const registered = resolveRegisteredMastraComponents(moduleRef);
|
|
69
|
+
const mergedTools = {
|
|
70
|
+
...(options.tools ?? {}),
|
|
71
|
+
...(registered.tools ?? {}),
|
|
72
|
+
};
|
|
73
|
+
const mergedVectors = {
|
|
74
|
+
...(options.vectors ?? {}),
|
|
75
|
+
...(registered.vectors ?? {}),
|
|
76
|
+
};
|
|
77
|
+
const mergedProcessors = {
|
|
78
|
+
...(options.processors ?? {}),
|
|
79
|
+
...(registered.processors ?? {}),
|
|
80
|
+
};
|
|
81
|
+
const mergedScorers = {
|
|
82
|
+
...(options.scorers ?? {}),
|
|
83
|
+
...(registered.scorers ?? {}),
|
|
84
|
+
};
|
|
85
|
+
const mergedMemories = mergeMemoryRegistries(options.memory, registered.memories);
|
|
86
|
+
const defaultMemory = findDefaultMemoryById(mergedMemories);
|
|
87
|
+
const agentsWithDefaultMemory = applyDefaultMemoryToAgents(registered.agents, defaultMemory);
|
|
88
|
+
return new Mastra({
|
|
89
|
+
...options,
|
|
90
|
+
...(agentsWithDefaultMemory ? { agents: agentsWithDefaultMemory } : {}),
|
|
91
|
+
...(registered.workflows ? { workflows: registered.workflows } : {}),
|
|
92
|
+
...(Object.keys(mergedMemories).length > 0 ? { memory: mergedMemories } : {}),
|
|
93
|
+
...(Object.keys(mergedTools).length > 0 ? { tools: mergedTools } : {}),
|
|
94
|
+
...(Object.keys(mergedVectors).length > 0 ? { vectors: mergedVectors } : {}),
|
|
95
|
+
...(Object.keys(mergedProcessors).length > 0 ? { processors: mergedProcessors } : {}),
|
|
96
|
+
...(Object.keys(mergedScorers).length > 0 ? { scorers: mergedScorers } : {}),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function mergeMemoryRegistries(rootMemories, featureMemories) {
|
|
100
|
+
const merged = {
|
|
101
|
+
...(rootMemories ?? {}),
|
|
102
|
+
...(featureMemories ?? {}),
|
|
103
|
+
};
|
|
104
|
+
const defaultMemory = findDefaultMemoryById(merged);
|
|
105
|
+
if (!defaultMemory) {
|
|
106
|
+
return merged;
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
...merged,
|
|
110
|
+
default: defaultMemory,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function findDefaultMemoryById(memories) {
|
|
114
|
+
for (const memory of Object.values(memories)) {
|
|
115
|
+
if (normalizeMastraId(memory.id, 'memory') === 'default') {
|
|
116
|
+
return memory;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
function applyDefaultMemoryToAgents(agents, defaultMemory) {
|
|
122
|
+
if (!agents || !defaultMemory) {
|
|
123
|
+
return agents;
|
|
124
|
+
}
|
|
125
|
+
for (const agent of Object.values(agents)) {
|
|
126
|
+
if (!agent.hasOwnMemory()) {
|
|
127
|
+
agent.__setMemory(defaultMemory);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return agents;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=mastra.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra.module.js","sourceRoot":"","sources":["../src/mastra.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Agent } from '@mastra/core/agent';
|
|
2
|
+
import type { MastraMemory } from '@mastra/core/memory';
|
|
3
|
+
import type { AnyWorkflow } from '@mastra/core/workflows';
|
|
4
|
+
import type { InjectionToken, Provider as NestProvider } from '@nestjs/common';
|
|
5
|
+
import type { ModuleRef } from '@nestjs/core';
|
|
6
|
+
import type { MastraFeatureOptions, MastraProcessor, MastraScorer as MastraFeatureScorer, MastraTool, MastraVector } from './types.js';
|
|
7
|
+
export type RegisteredMastraComponents = {
|
|
8
|
+
agents?: Record<string, Agent>;
|
|
9
|
+
workflows?: Record<string, AnyWorkflow>;
|
|
10
|
+
memories?: Record<string, MastraMemory>;
|
|
11
|
+
tools?: Record<string, MastraTool>;
|
|
12
|
+
vectors?: Record<string, MastraVector>;
|
|
13
|
+
processors?: Record<string, MastraProcessor>;
|
|
14
|
+
scorers?: Record<string, MastraFeatureScorer>;
|
|
15
|
+
};
|
|
16
|
+
export declare function registerMastraFeatureProviders(options: MastraFeatureOptions, source: string): {
|
|
17
|
+
providers: NestProvider[];
|
|
18
|
+
exportTokens: InjectionToken[];
|
|
19
|
+
};
|
|
20
|
+
export declare function resolveRegisteredMastraComponents(moduleRef: ModuleRef): RegisteredMastraComponents;
|
|
21
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAW7C,OAAO,KAAK,EACV,oBAAoB,EAEpB,eAAe,EACf,YAAY,IAAI,mBAAmB,EACnC,UAAU,EACV,YAAY,EACb,MAAM,YAAY,CAAA;AAiBnB,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAC9C,CAAA;AAMD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,GACb;IACD,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,YAAY,EAAE,cAAc,EAAE,CAAA;CAC/B,CAiEA;AAED,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,GACnB,0BAA0B,CAqE5B"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { normalizeMastraId } from './mastra-id.js';
|
|
2
|
+
import { getAgentToken, getMemoryToken, getProcessorToken, getScorerToken, getToolToken, getVectorToken, getWorkflowToken, } from './tokens.js';
|
|
3
|
+
const featureRegistrations = [];
|
|
4
|
+
const featureProviderValues = new Map();
|
|
5
|
+
let registrationCounter = 0;
|
|
6
|
+
export function registerMastraFeatureProviders(options, source) {
|
|
7
|
+
const providers = [];
|
|
8
|
+
const exportTokens = [];
|
|
9
|
+
registerFeatureProvidersForType(options.agents, 'agent', source, getAgentToken, providers, exportTokens);
|
|
10
|
+
registerFeatureProvidersForType(options.workflows, 'workflow', source, getWorkflowToken, providers, exportTokens);
|
|
11
|
+
registerFeatureProvidersForType(options.memories, 'memory', source, getMemoryToken, providers, exportTokens);
|
|
12
|
+
registerFeatureProvidersForType(options.tools, 'tool', source, getToolToken, providers, exportTokens);
|
|
13
|
+
registerFeatureProvidersForType(options.vectors, 'vector', source, getVectorToken, providers, exportTokens);
|
|
14
|
+
registerFeatureProvidersForType(options.processors, 'processor', source, getProcessorToken, providers, exportTokens);
|
|
15
|
+
registerFeatureProvidersForType(options.scorers, 'scorer', source, getScorerToken, providers, exportTokens);
|
|
16
|
+
return {
|
|
17
|
+
providers,
|
|
18
|
+
exportTokens,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function resolveRegisteredMastraComponents(moduleRef) {
|
|
22
|
+
const agents = new Map();
|
|
23
|
+
const workflows = new Map();
|
|
24
|
+
const memories = new Map();
|
|
25
|
+
const tools = new Map();
|
|
26
|
+
const vectors = new Map();
|
|
27
|
+
const processors = new Map();
|
|
28
|
+
const scorers = new Map();
|
|
29
|
+
for (const registration of featureRegistrations) {
|
|
30
|
+
const component = resolveFeatureProviderValue(moduleRef.get(registration.providerToken, {
|
|
31
|
+
strict: false,
|
|
32
|
+
}));
|
|
33
|
+
if (!hasMastraId(component)) {
|
|
34
|
+
throw new Error(`Mastra ${registration.componentType} provider did not resolve to an object with a valid "id" string.`);
|
|
35
|
+
}
|
|
36
|
+
const runtimeId = normalizeMastraId(component.id, registration.componentType);
|
|
37
|
+
if (registration.declaredId && registration.declaredId !== runtimeId) {
|
|
38
|
+
throw new Error(`Mastra ${registration.componentType} id mismatch: declared "${registration.declaredId}" but resolved "${runtimeId}".`);
|
|
39
|
+
}
|
|
40
|
+
switch (registration.componentType) {
|
|
41
|
+
case 'agent':
|
|
42
|
+
registerResolvedComponent(agents, runtimeId, component, 'agent');
|
|
43
|
+
break;
|
|
44
|
+
case 'workflow':
|
|
45
|
+
registerResolvedComponent(workflows, runtimeId, component, 'workflow');
|
|
46
|
+
break;
|
|
47
|
+
case 'memory':
|
|
48
|
+
registerResolvedComponent(memories, runtimeId, component, 'memory');
|
|
49
|
+
break;
|
|
50
|
+
case 'tool':
|
|
51
|
+
registerResolvedComponent(tools, runtimeId, component, 'tool');
|
|
52
|
+
break;
|
|
53
|
+
case 'vector':
|
|
54
|
+
registerResolvedComponent(vectors, runtimeId, component, 'vector');
|
|
55
|
+
break;
|
|
56
|
+
case 'processor':
|
|
57
|
+
registerResolvedComponent(processors, runtimeId, component, 'processor');
|
|
58
|
+
break;
|
|
59
|
+
case 'scorer':
|
|
60
|
+
registerResolvedComponent(scorers, runtimeId, component, 'scorer');
|
|
61
|
+
break;
|
|
62
|
+
default:
|
|
63
|
+
throw new Error(`Unsupported Mastra component type: ${registration.componentType}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
agents: mapToRecord(agents),
|
|
68
|
+
workflows: mapToRecord(workflows),
|
|
69
|
+
memories: mapToRecord(memories),
|
|
70
|
+
tools: mapToRecord(tools),
|
|
71
|
+
vectors: mapToRecord(vectors),
|
|
72
|
+
processors: mapToRecord(processors),
|
|
73
|
+
scorers: mapToRecord(scorers),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function registerFeatureProvidersForType(featureProviders, componentType, source, getAliasToken, outputProviders, outputExportTokens) {
|
|
77
|
+
for (const featureProvider of featureProviders ?? []) {
|
|
78
|
+
const providerToken = Symbol(`MASTRA_${componentType.toUpperCase()}_${registrationCounter.toString()}`);
|
|
79
|
+
registrationCounter += 1;
|
|
80
|
+
const declaredId = resolveDeclaredId(featureProvider, componentType, source);
|
|
81
|
+
featureRegistrations.push({
|
|
82
|
+
componentType,
|
|
83
|
+
providerToken,
|
|
84
|
+
declaredId,
|
|
85
|
+
});
|
|
86
|
+
outputProviders.push(toNestProvider(featureProvider, providerToken, componentType));
|
|
87
|
+
outputExportTokens.push(providerToken);
|
|
88
|
+
if (!declaredId) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const aliasToken = getAliasToken(declaredId);
|
|
92
|
+
outputProviders.push({
|
|
93
|
+
provide: aliasToken,
|
|
94
|
+
useExisting: providerToken,
|
|
95
|
+
});
|
|
96
|
+
outputExportTokens.push(aliasToken);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function toNestProvider(featureProvider, providerToken, componentType) {
|
|
100
|
+
if (!('useValue' in featureProvider)) {
|
|
101
|
+
return {
|
|
102
|
+
...featureProvider,
|
|
103
|
+
provide: providerToken,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const valueRef = Symbol(`MASTRA_${componentType.toUpperCase()}_VALUE_${registrationCounter.toString()}`);
|
|
107
|
+
featureProviderValues.set(valueRef, featureProvider.useValue);
|
|
108
|
+
return {
|
|
109
|
+
provide: providerToken,
|
|
110
|
+
useValue: valueRef,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function resolveDeclaredId(provider, componentType, source) {
|
|
114
|
+
const configuredId = typeof provider.id === 'string'
|
|
115
|
+
? normalizeMastraId(provider.id, componentType)
|
|
116
|
+
: undefined;
|
|
117
|
+
if (!('useValue' in provider)) {
|
|
118
|
+
return configuredId;
|
|
119
|
+
}
|
|
120
|
+
const valueId = normalizeMastraId(provider.useValue.id, componentType);
|
|
121
|
+
if (configuredId && configuredId !== valueId) {
|
|
122
|
+
throw new Error(`Mastra ${componentType} provider id mismatch in ${source}: configured id "${configuredId}" does not match resolved useValue id "${valueId}".`);
|
|
123
|
+
}
|
|
124
|
+
return configuredId ?? valueId;
|
|
125
|
+
}
|
|
126
|
+
function hasMastraId(value) {
|
|
127
|
+
if (!value || typeof value !== 'object') {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
const candidate = value;
|
|
131
|
+
return typeof candidate.id === 'string';
|
|
132
|
+
}
|
|
133
|
+
function registerResolvedComponent(registry, id, component, componentType) {
|
|
134
|
+
const existing = registry.get(id);
|
|
135
|
+
if (!existing) {
|
|
136
|
+
registry.set(id, component);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (existing !== component) {
|
|
140
|
+
throw new Error(`Mastra ${componentType} id "${id}" is registered by multiple different providers.`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function mapToRecord(registry) {
|
|
144
|
+
if (registry.size === 0) {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
return Object.fromEntries(registry);
|
|
148
|
+
}
|
|
149
|
+
function resolveFeatureProviderValue(value) {
|
|
150
|
+
if (typeof value !== 'symbol') {
|
|
151
|
+
return value;
|
|
152
|
+
}
|
|
153
|
+
if (!featureProviderValues.has(value)) {
|
|
154
|
+
return value;
|
|
155
|
+
}
|
|
156
|
+
return featureProviderValues.get(value);
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const MASTRA_TOKEN: unique symbol;
|
|
2
|
+
export declare const MASTRA_ROOT_OPTIONS_TOKEN: unique symbol;
|
|
3
|
+
export declare function getAgentToken(id: string): string;
|
|
4
|
+
export declare function getWorkflowToken(id: string): string;
|
|
5
|
+
export declare function getMemoryToken(id: string): string;
|
|
6
|
+
export declare function getToolToken(id: string): string;
|
|
7
|
+
export declare function getVectorToken(id: string): string;
|
|
8
|
+
export declare function getProcessorToken(id: string): string;
|
|
9
|
+
export declare function getScorerToken(id: string): string;
|
|
10
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,eAAyB,CAAA;AAClD,eAAO,MAAM,yBAAyB,eAAsC,CAAA;AAU5E,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { normalizeMastraId } from './mastra-id.js';
|
|
2
|
+
export const MASTRA_TOKEN = Symbol('MASTRA_TOKEN');
|
|
3
|
+
export const MASTRA_ROOT_OPTIONS_TOKEN = Symbol('MASTRA_ROOT_OPTIONS_TOKEN');
|
|
4
|
+
const MASTRA_AGENT_TOKEN_PREFIX = 'MASTRA_AGENT';
|
|
5
|
+
const MASTRA_WORKFLOW_TOKEN_PREFIX = 'MASTRA_WORKFLOW';
|
|
6
|
+
const MASTRA_MEMORY_TOKEN_PREFIX = 'MASTRA_MEMORY';
|
|
7
|
+
const MASTRA_TOOL_TOKEN_PREFIX = 'MASTRA_TOOL';
|
|
8
|
+
const MASTRA_VECTOR_TOKEN_PREFIX = 'MASTRA_VECTOR';
|
|
9
|
+
const MASTRA_PROCESSOR_TOKEN_PREFIX = 'MASTRA_PROCESSOR';
|
|
10
|
+
const MASTRA_SCORER_TOKEN_PREFIX = 'MASTRA_SCORER';
|
|
11
|
+
export function getAgentToken(id) {
|
|
12
|
+
return `${MASTRA_AGENT_TOKEN_PREFIX}:${normalizeMastraId(id, 'agent')}`;
|
|
13
|
+
}
|
|
14
|
+
export function getWorkflowToken(id) {
|
|
15
|
+
return `${MASTRA_WORKFLOW_TOKEN_PREFIX}:${normalizeMastraId(id, 'workflow')}`;
|
|
16
|
+
}
|
|
17
|
+
export function getMemoryToken(id) {
|
|
18
|
+
return `${MASTRA_MEMORY_TOKEN_PREFIX}:${normalizeMastraId(id, 'memory')}`;
|
|
19
|
+
}
|
|
20
|
+
export function getToolToken(id) {
|
|
21
|
+
return `${MASTRA_TOOL_TOKEN_PREFIX}:${normalizeMastraId(id, 'tool')}`;
|
|
22
|
+
}
|
|
23
|
+
export function getVectorToken(id) {
|
|
24
|
+
return `${MASTRA_VECTOR_TOKEN_PREFIX}:${normalizeMastraId(id, 'vector')}`;
|
|
25
|
+
}
|
|
26
|
+
export function getProcessorToken(id) {
|
|
27
|
+
return `${MASTRA_PROCESSOR_TOKEN_PREFIX}:${normalizeMastraId(id, 'processor')}`;
|
|
28
|
+
}
|
|
29
|
+
export function getScorerToken(id) {
|
|
30
|
+
return `${MASTRA_SCORER_TOKEN_PREFIX}:${normalizeMastraId(id, 'scorer')}`;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAE5E,MAAM,yBAAyB,GAAG,cAAc,CAAA;AAChD,MAAM,4BAA4B,GAAG,iBAAiB,CAAA;AACtD,MAAM,0BAA0B,GAAG,eAAe,CAAA;AAClD,MAAM,wBAAwB,GAAG,aAAa,CAAA;AAC9C,MAAM,0BAA0B,GAAG,eAAe,CAAA;AAClD,MAAM,6BAA6B,GAAG,kBAAkB,CAAA;AACxD,MAAM,0BAA0B,GAAG,eAAe,CAAA;AAElD,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,GAAG,yBAAyB,IAAI,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,GAAG,4BAA4B,IAAI,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,0BAA0B,IAAI,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,GAAG,wBAAwB,IAAI,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,0BAA0B,IAAI,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,GAAG,6BAA6B,IAAI,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,0BAA0B,IAAI,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAA;AAC3E,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Config as MastraConfig } from '@mastra/core';
|
|
2
|
+
import type { Agent } from '@mastra/core/agent';
|
|
3
|
+
import type { MastraScorer as MastraCoreScorer } from '@mastra/core/evals';
|
|
4
|
+
import type { MastraMemory } from '@mastra/core/memory';
|
|
5
|
+
import type { Processor as MastraCoreProcessor } from '@mastra/core/processors';
|
|
6
|
+
import type { ToolAction, ToolExecutionContext } from '@mastra/core/tools';
|
|
7
|
+
import type { MastraVector as MastraCoreVector } from '@mastra/core/vector';
|
|
8
|
+
import type { AnyWorkflow } from '@mastra/core/workflows';
|
|
9
|
+
import type { ModuleMetadata, ExistingProvider, FactoryProvider, ValueProvider } from '@nestjs/common';
|
|
10
|
+
import type { InjectionToken } from '@nestjs/common/interfaces/modules/injection-token.interface';
|
|
11
|
+
import type { OptionalFactoryDependency } from '@nestjs/common/interfaces/modules/optional-factory-dependency.interface';
|
|
12
|
+
type ExistingProviderInput<T> = Omit<ExistingProvider<T>, 'provide'>;
|
|
13
|
+
type ValueProviderInput<T> = Omit<ValueProvider<T>, 'provide'>;
|
|
14
|
+
type FactoryProviderInput<T> = Omit<FactoryProvider<T>, 'provide'>;
|
|
15
|
+
export type Provider<T> = ExistingProviderInput<T> | ValueProviderInput<T> | FactoryProviderInput<T>;
|
|
16
|
+
export type MastraFeatureProvider<T extends {
|
|
17
|
+
id: string;
|
|
18
|
+
}> = Provider<T> & {
|
|
19
|
+
id?: string;
|
|
20
|
+
};
|
|
21
|
+
export type MastraTool = ToolAction<unknown, unknown, unknown, unknown, ToolExecutionContext<unknown, unknown, unknown>, string, unknown>;
|
|
22
|
+
export type MastraVector = MastraCoreVector;
|
|
23
|
+
export type MastraProcessor = MastraCoreProcessor;
|
|
24
|
+
export type MastraScorer = MastraCoreScorer;
|
|
25
|
+
export type MastraFeatureOptions = {
|
|
26
|
+
agents?: readonly MastraFeatureProvider<Agent>[];
|
|
27
|
+
workflows?: readonly MastraFeatureProvider<AnyWorkflow>[];
|
|
28
|
+
memories?: readonly MastraFeatureProvider<MastraMemory>[];
|
|
29
|
+
tools?: readonly MastraFeatureProvider<MastraTool>[];
|
|
30
|
+
vectors?: readonly MastraFeatureProvider<MastraVector>[];
|
|
31
|
+
processors?: readonly MastraFeatureProvider<MastraProcessor>[];
|
|
32
|
+
scorers?: readonly MastraFeatureProvider<MastraScorer>[];
|
|
33
|
+
};
|
|
34
|
+
export type MastraRootOptions = Omit<MastraConfig, 'agents' | 'workflows'>;
|
|
35
|
+
type MastraFactoryInject = readonly (InjectionToken | OptionalFactoryDependency)[];
|
|
36
|
+
export type MastraRootAsyncOptions<TFactoryArgs extends readonly unknown[] = readonly unknown[]> = Pick<ModuleMetadata, 'imports'> & {
|
|
37
|
+
inject?: MastraFactoryInject;
|
|
38
|
+
useFactory: (...args: TFactoryArgs) => Promise<MastraRootOptions> | MastraRootOptions;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAA;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yEAAyE,CAAA;AAExH,KAAK,qBAAqB,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AACpE,KAAK,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC9D,KAAK,oBAAoB,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAElE,MAAM,MAAM,QAAQ,CAAC,CAAC,IAClB,qBAAqB,CAAC,CAAC,CAAC,GACxB,kBAAkB,CAAC,CAAC,CAAC,GACrB,oBAAoB,CAAC,CAAC,CAAC,CAAA;AAE3B,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG;IAC1E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CACjC,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAC/C,MAAM,EACN,OAAO,CACR,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAC3C,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAA;AACjD,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAA;IAChD,SAAS,CAAC,EAAE,SAAS,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAA;IACzD,QAAQ,CAAC,EAAE,SAAS,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAA;IACzD,KAAK,CAAC,EAAE,SAAS,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAA;IACpD,OAAO,CAAC,EAAE,SAAS,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAA;IACxD,UAAU,CAAC,EAAE,SAAS,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAA;IAC9D,OAAO,CAAC,EAAE,SAAS,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAA;AAE1E,KAAK,mBAAmB,GAAG,SAAS,CAAC,cAAc,GAAG,yBAAyB,CAAC,EAAE,CAAA;AAElF,MAAM,MAAM,sBAAsB,CAChC,YAAY,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,OAAO,EAAE,IAC1D,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IACpC,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,KAC9B,OAAO,CAAC,iBAAiB,CAAC,GAC1B,iBAAiB,CAAA;CACtB,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@thangnv-dev/mastra-nest",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": false,
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc -p tsconfig.build.json",
|
|
22
|
+
"lint": "eslint .",
|
|
23
|
+
"typecheck": "tsc --noEmit",
|
|
24
|
+
"test": "vitest run"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@mastra/core": "^1.4.0",
|
|
28
|
+
"@mastra/express": "^1.1.3",
|
|
29
|
+
"cors": "^2.8.6",
|
|
30
|
+
"express": "^5.2.1",
|
|
31
|
+
"reflect-metadata": "^0.2.2",
|
|
32
|
+
"rxjs": "^7.8.2",
|
|
33
|
+
"zod": "^3.25.76"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@nestjs/common": "^11.1.14",
|
|
37
|
+
"@nestjs/core": "^11.1.14",
|
|
38
|
+
"@types/cors": "^2.8.19",
|
|
39
|
+
"@types/express": "^5.0.6",
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
41
|
+
"@typescript-eslint/parser": "^8.56.0",
|
|
42
|
+
"eslint": "^10.0.0",
|
|
43
|
+
"temporal-polyfill": "^0.3.0",
|
|
44
|
+
"typescript": "^5.9.3",
|
|
45
|
+
"vitest": "^4.0.18"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"@nestjs/common": "^11.0.0",
|
|
49
|
+
"@nestjs/core": "^11.0.0",
|
|
50
|
+
"temporal-polyfill": "*"
|
|
51
|
+
}
|
|
52
|
+
}
|