@mastra/core 0.9.4 → 0.10.0-alpha.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.
Files changed (168) hide show
  1. package/README.md +3 -2
  2. package/dist/agent/index.cjs +2 -2
  3. package/dist/agent/index.d.cts +13 -14
  4. package/dist/agent/index.d.ts +13 -14
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{base-BCfssGt6.d.ts → base-DttB7sJD.d.ts} +1187 -886
  7. package/dist/{base-CAEcd6q2.d.cts → base-aJ3etsh5.d.cts} +1187 -886
  8. package/dist/{base-H7siSAfu.d.cts → base-aPYtPBT2.d.cts} +3 -3
  9. package/dist/{base-4Z34GQL8.d.ts → base-tc5kgDTD.d.ts} +3 -3
  10. package/dist/base.cjs +2 -2
  11. package/dist/base.d.cts +2 -3
  12. package/dist/base.d.ts +2 -3
  13. package/dist/base.js +1 -1
  14. package/dist/bundler/index.cjs +2 -2
  15. package/dist/bundler/index.d.cts +2 -3
  16. package/dist/bundler/index.d.ts +2 -3
  17. package/dist/bundler/index.js +1 -1
  18. package/dist/{chunk-W4BSLENO.js → chunk-2NTUAUGH.js} +1 -1
  19. package/dist/{chunk-S34QVMKE.js → chunk-2PW6UJMW.js} +77 -10
  20. package/dist/{chunk-WE36CRQV.cjs → chunk-2U7ZZUFO.cjs} +2 -2
  21. package/dist/{workflows/vNext/index.js → chunk-3SQ3G2EJ.js} +19 -16
  22. package/dist/chunk-5HULBQ2W.cjs +38 -0
  23. package/dist/{chunk-XRGDVLM4.cjs → chunk-5JRD3NDP.cjs} +15 -15
  24. package/dist/{chunk-GXKODTLA.cjs → chunk-5W2G7S44.cjs} +83 -68
  25. package/dist/chunk-75Z4BZEE.js +36 -0
  26. package/dist/{chunk-66GQROSI.cjs → chunk-AOGUTJUO.cjs} +58 -51
  27. package/dist/{chunk-WIKOYZ63.js → chunk-BPTSLJHA.js} +9 -9
  28. package/dist/{chunk-JBJ7KXN5.js → chunk-C3ICEF6E.js} +1 -1
  29. package/dist/{chunk-E4FAXBUV.cjs → chunk-CWSFP2HS.cjs} +2 -2
  30. package/dist/{chunk-FW5RS6WV.js → chunk-E7CLY6SK.js} +42 -35
  31. package/dist/{chunk-235X76GC.js → chunk-FI7R232B.js} +2 -2
  32. package/dist/chunk-GQ2XQ4UN.js +321 -0
  33. package/dist/{chunk-H4CEZSRM.js → chunk-J7GDGV6F.js} +1 -1
  34. package/dist/{chunk-NLBJOFNG.js → chunk-JW5TMK2L.js} +1 -1
  35. package/dist/{chunk-NOPY74PV.js → chunk-KJQFFEEQ.js} +1 -1
  36. package/dist/{chunk-V2Q2FEVO.cjs → chunk-KSPHQSZX.cjs} +2 -2
  37. package/dist/{chunk-NZV4OA6P.js → chunk-LHRZV5VG.js} +2 -23
  38. package/dist/chunk-NMDM4IZN.cjs +78 -0
  39. package/dist/chunk-OBEALYTK.js +74 -0
  40. package/dist/{chunk-PEK4TY3P.js → chunk-OCT2762Q.js} +1 -1
  41. package/dist/{chunk-5DUFC7TV.cjs → chunk-P7BGXOQV.cjs} +2 -2
  42. package/dist/{chunk-WQKOM7XM.cjs → chunk-PIZM25KI.cjs} +3 -24
  43. package/dist/{chunk-S7J63JOG.cjs → chunk-RVS6OUJN.cjs} +2 -2
  44. package/dist/{chunk-5JUWUTPJ.cjs → chunk-SKG2NIZW.cjs} +2 -2
  45. package/dist/chunk-SWW4EBUZ.cjs +96 -0
  46. package/dist/{chunk-RGE4UF6A.cjs → chunk-TMPFLJLG.cjs} +2 -2
  47. package/dist/{workflows/vNext/index.cjs → chunk-TTKQ37ZZ.cjs} +24 -21
  48. package/dist/{chunk-EJITEVAB.cjs → chunk-U3L3NEOM.cjs} +81 -10
  49. package/dist/chunk-VHLL4AZK.js +90 -0
  50. package/dist/{chunk-EG74VBSP.cjs → chunk-YEULQPUY.cjs} +6 -6
  51. package/dist/{chunk-SOLXHDNQ.js → chunk-ZB3LEHL2.js} +81 -66
  52. package/dist/{chunk-TAFOICHR.js → chunk-ZKN6HYYQ.js} +1 -1
  53. package/dist/chunk-ZZDAC5KD.cjs +325 -0
  54. package/dist/deployer/index.cjs +2 -2
  55. package/dist/deployer/index.d.cts +2 -3
  56. package/dist/deployer/index.d.ts +2 -3
  57. package/dist/deployer/index.js +1 -1
  58. package/dist/eval/index.d.cts +13 -14
  59. package/dist/eval/index.d.ts +13 -14
  60. package/dist/hooks/index.d.cts +1 -1
  61. package/dist/hooks/index.d.ts +1 -1
  62. package/dist/index.cjs +88 -159
  63. package/dist/index.d.cts +17 -25
  64. package/dist/index.d.ts +17 -25
  65. package/dist/index.js +18 -25
  66. package/dist/integration/index.cjs +3 -3
  67. package/dist/integration/index.d.cts +12 -13
  68. package/dist/integration/index.d.ts +12 -13
  69. package/dist/integration/index.js +1 -1
  70. package/dist/llm/index.d.cts +13 -14
  71. package/dist/llm/index.d.ts +13 -14
  72. package/dist/logger/index.cjs +18 -17
  73. package/dist/logger/index.d.cts +42 -2
  74. package/dist/logger/index.d.ts +42 -2
  75. package/dist/logger/index.js +2 -1
  76. package/dist/{index-QV27jkxQ.d.ts → logger-EhZkzZOr.d.cts} +38 -52
  77. package/dist/{index-QV27jkxQ.d.cts → logger-EhZkzZOr.d.ts} +38 -52
  78. package/dist/mastra/index.cjs +2 -2
  79. package/dist/mastra/index.d.cts +11 -12
  80. package/dist/mastra/index.d.ts +11 -12
  81. package/dist/mastra/index.js +1 -1
  82. package/dist/mcp/index.cjs +75 -17
  83. package/dist/mcp/index.d.cts +14 -15
  84. package/dist/mcp/index.d.ts +14 -15
  85. package/dist/mcp/index.js +69 -15
  86. package/dist/memory/index.cjs +4 -4
  87. package/dist/memory/index.d.cts +12 -13
  88. package/dist/memory/index.d.ts +12 -13
  89. package/dist/memory/index.js +1 -1
  90. package/dist/network/index.cjs +8 -8
  91. package/dist/network/index.d.cts +12 -13
  92. package/dist/network/index.d.ts +12 -13
  93. package/dist/network/index.js +5 -5
  94. package/dist/relevance/index.cjs +4 -4
  95. package/dist/relevance/index.d.cts +15 -16
  96. package/dist/relevance/index.d.ts +15 -16
  97. package/dist/relevance/index.js +1 -1
  98. package/dist/server/index.cjs +4 -0
  99. package/dist/server/index.d.cts +13 -12
  100. package/dist/server/index.d.ts +13 -12
  101. package/dist/server/index.js +4 -1
  102. package/dist/storage/index.cjs +184 -3
  103. package/dist/storage/index.d.cts +83 -13
  104. package/dist/storage/index.d.ts +83 -13
  105. package/dist/storage/index.js +186 -1
  106. package/dist/telemetry/index.d.cts +14 -15
  107. package/dist/telemetry/index.d.ts +14 -15
  108. package/dist/telemetry/otel-vendor.cjs +2 -2
  109. package/dist/telemetry/otel-vendor.d.cts +1 -1
  110. package/dist/telemetry/otel-vendor.d.ts +1 -1
  111. package/dist/telemetry/otel-vendor.js +1 -1
  112. package/dist/tools/index.cjs +4 -4
  113. package/dist/tools/index.d.cts +12 -13
  114. package/dist/tools/index.d.ts +12 -13
  115. package/dist/tools/index.js +1 -1
  116. package/dist/tts/index.cjs +2 -2
  117. package/dist/tts/index.d.cts +2 -3
  118. package/dist/tts/index.d.ts +2 -3
  119. package/dist/tts/index.js +1 -1
  120. package/dist/{types-BtMyV38I.d.ts → types-Bo1uigWx.d.cts} +1 -1
  121. package/dist/{types-BtMyV38I.d.cts → types-Bo1uigWx.d.ts} +1 -1
  122. package/dist/utils.cjs +28 -12
  123. package/dist/utils.d.cts +59 -16
  124. package/dist/utils.d.ts +59 -16
  125. package/dist/utils.js +1 -1
  126. package/dist/vector/filter/index.cjs +189 -7
  127. package/dist/vector/filter/index.js +190 -1
  128. package/dist/vector/index.cjs +2 -2
  129. package/dist/vector/index.d.cts +28 -20
  130. package/dist/vector/index.d.ts +28 -20
  131. package/dist/vector/index.js +1 -1
  132. package/dist/voice/index.cjs +4 -4
  133. package/dist/voice/index.d.cts +12 -13
  134. package/dist/voice/index.d.ts +12 -13
  135. package/dist/voice/index.js +1 -1
  136. package/dist/workflows/index.cjs +17 -69
  137. package/dist/workflows/index.d.cts +197 -77
  138. package/dist/workflows/index.d.ts +197 -77
  139. package/dist/workflows/index.js +1 -1
  140. package/dist/workflows/legacy/index.cjs +90 -0
  141. package/dist/workflows/legacy/index.d.cts +87 -0
  142. package/dist/workflows/legacy/index.d.ts +87 -0
  143. package/dist/workflows/legacy/index.js +1 -0
  144. package/package.json +19 -40
  145. package/workflows/legacy.d.ts +1 -0
  146. package/dist/chunk-4WABQORE.js +0 -781
  147. package/dist/chunk-CIEPFV6B.js +0 -658
  148. package/dist/chunk-CMPPXW4U.js +0 -154
  149. package/dist/chunk-CTKNWYK2.js +0 -131
  150. package/dist/chunk-LGERQTJM.js +0 -190
  151. package/dist/chunk-O44MSFMZ.cjs +0 -168
  152. package/dist/chunk-QDAMIZY3.cjs +0 -783
  153. package/dist/chunk-QHDPLMHB.cjs +0 -667
  154. package/dist/chunk-RAQBTCIR.cjs +0 -134
  155. package/dist/chunk-YK3XJ52U.cjs +0 -192
  156. package/dist/storage/libsql/index.cjs +0 -581
  157. package/dist/storage/libsql/index.d.cts +0 -104
  158. package/dist/storage/libsql/index.d.ts +0 -104
  159. package/dist/storage/libsql/index.js +0 -578
  160. package/dist/vector/libsql/index.cjs +0 -14
  161. package/dist/vector/libsql/index.d.cts +0 -82
  162. package/dist/vector/libsql/index.d.ts +0 -82
  163. package/dist/vector/libsql/index.js +0 -1
  164. package/dist/workflows/vNext/index.d.cts +0 -209
  165. package/dist/workflows/vNext/index.d.ts +0 -209
  166. package/storage/libsql.d.ts +0 -1
  167. package/vector/libsql.d.ts +0 -1
  168. package/workflows/vNext.d.ts +0 -1
@@ -1,154 +0,0 @@
1
- import { Transform } from 'stream';
2
- import pino from 'pino';
3
- import pretty from 'pino-pretty';
4
-
5
- // src/logger/index.ts
6
- var RegisteredLogger = {
7
- AGENT: "AGENT",
8
- NETWORK: "NETWORK",
9
- WORKFLOW: "WORKFLOW",
10
- LLM: "LLM",
11
- TTS: "TTS",
12
- VOICE: "VOICE",
13
- VECTOR: "VECTOR",
14
- BUNDLER: "BUNDLER",
15
- DEPLOYER: "DEPLOYER",
16
- MEMORY: "MEMORY",
17
- STORAGE: "STORAGE",
18
- EMBEDDINGS: "EMBEDDINGS",
19
- MCP_SERVER: "MCP_SERVER"
20
- };
21
- var LogLevel = {
22
- DEBUG: "debug",
23
- INFO: "info",
24
- WARN: "warn",
25
- ERROR: "error",
26
- NONE: "silent"
27
- };
28
- var LoggerTransport = class extends Transform {
29
- constructor(opts = {}) {
30
- super({ ...opts, objectMode: true });
31
- }
32
- async getLogsByRunId(_args) {
33
- return [];
34
- }
35
- async getLogs() {
36
- return [];
37
- }
38
- };
39
- var Logger = class {
40
- logger;
41
- transports;
42
- constructor(options = {}) {
43
- this.transports = options.transports || {};
44
- const transportsAry = Object.entries(this.transports);
45
- this.logger = pino(
46
- {
47
- name: options.name || "app",
48
- level: options.level || LogLevel.INFO,
49
- formatters: {
50
- level: (label) => {
51
- return {
52
- level: label
53
- };
54
- }
55
- }
56
- },
57
- options.overrideDefaultTransports ? options?.transports?.default : transportsAry.length === 0 ? pretty({
58
- colorize: true,
59
- levelFirst: true,
60
- ignore: "pid,hostname",
61
- colorizeObjects: true,
62
- translateTime: "SYS:standard",
63
- singleLine: false
64
- }) : pino.multistream([
65
- ...transportsAry.map(([, transport]) => ({
66
- stream: transport,
67
- level: options.level || LogLevel.INFO
68
- })),
69
- {
70
- stream: pretty({
71
- colorize: true,
72
- levelFirst: true,
73
- ignore: "pid,hostname",
74
- colorizeObjects: true,
75
- translateTime: "SYS:standard",
76
- singleLine: false
77
- }),
78
- level: options.level || LogLevel.INFO
79
- }
80
- ])
81
- );
82
- }
83
- debug(message, args = {}) {
84
- this.logger.debug(args, message);
85
- }
86
- info(message, args = {}) {
87
- this.logger.info(args, message);
88
- }
89
- warn(message, args = {}) {
90
- this.logger.warn(args, message);
91
- }
92
- error(message, args = {}) {
93
- this.logger.error(args, message);
94
- }
95
- // Stream creation for process output handling
96
- createStream() {
97
- return new Transform({
98
- transform: (chunk, _encoding, callback) => {
99
- const line = chunk.toString().trim();
100
- if (line) {
101
- this.info(line);
102
- }
103
- callback(null, chunk);
104
- }
105
- });
106
- }
107
- async getLogs(transportId) {
108
- if (!transportId || !this.transports[transportId]) {
109
- return [];
110
- }
111
- return this.transports[transportId].getLogs();
112
- }
113
- async getLogsByRunId({ runId, transportId }) {
114
- return this.transports[transportId]?.getLogsByRunId({ runId });
115
- }
116
- };
117
- function createLogger(options) {
118
- return new Logger(options);
119
- }
120
- var MultiLogger = class {
121
- loggers;
122
- constructor(loggers) {
123
- this.loggers = loggers;
124
- }
125
- debug(message, ...args) {
126
- this.loggers.forEach((logger) => logger.debug(message, ...args));
127
- }
128
- info(message, ...args) {
129
- this.loggers.forEach((logger) => logger.info(message, ...args));
130
- }
131
- warn(message, ...args) {
132
- this.loggers.forEach((logger) => logger.warn(message, ...args));
133
- }
134
- error(message, ...args) {
135
- this.loggers.forEach((logger) => logger.error(message, ...args));
136
- }
137
- };
138
- function combineLoggers(loggers) {
139
- return new MultiLogger(loggers);
140
- }
141
- var noopLogger = {
142
- debug: () => {
143
- },
144
- info: () => {
145
- },
146
- warn: () => {
147
- },
148
- error: () => {
149
- },
150
- cleanup: async () => {
151
- }
152
- };
153
-
154
- export { LogLevel, Logger, LoggerTransport, MultiLogger, RegisteredLogger, combineLoggers, createLogger, noopLogger };
@@ -1,131 +0,0 @@
1
- import { MastraStorage } from './chunk-TAFOICHR.js';
2
-
3
- // src/storage/default-proxy-storage.ts
4
- var DefaultProxyStorage = class extends MastraStorage {
5
- storage = null;
6
- storageConfig;
7
- isInitializingPromise = null;
8
- constructor({ config }) {
9
- super({ name: "DefaultStorage" });
10
- this.storageConfig = config;
11
- }
12
- setupStorage() {
13
- if (!this.isInitializingPromise) {
14
- this.isInitializingPromise = new Promise((resolve, reject) => {
15
- import('./storage/libsql/index.js').then(({ DefaultStorage }) => {
16
- this.storage = new DefaultStorage({ config: this.storageConfig });
17
- resolve();
18
- }).catch(reject);
19
- });
20
- }
21
- return this.isInitializingPromise;
22
- }
23
- async createTable({
24
- tableName,
25
- schema
26
- }) {
27
- await this.setupStorage();
28
- return this.storage.createTable({ tableName, schema });
29
- }
30
- async clearTable({ tableName }) {
31
- await this.setupStorage();
32
- return this.storage.clearTable({ tableName });
33
- }
34
- async insert({ tableName, record }) {
35
- await this.setupStorage();
36
- return this.storage.insert({ tableName, record });
37
- }
38
- async batchInsert({ tableName, records }) {
39
- await this.setupStorage();
40
- return this.storage.batchInsert({ tableName, records });
41
- }
42
- async load({ tableName, keys }) {
43
- await this.setupStorage();
44
- return this.storage.load({ tableName, keys });
45
- }
46
- async getThreadById({ threadId }) {
47
- await this.setupStorage();
48
- return this.storage.getThreadById({ threadId });
49
- }
50
- async getThreadsByResourceId({ resourceId }) {
51
- await this.setupStorage();
52
- return this.storage.getThreadsByResourceId({ resourceId });
53
- }
54
- async saveThread({ thread }) {
55
- await this.setupStorage();
56
- return this.storage.saveThread({ thread });
57
- }
58
- async updateThread({
59
- id,
60
- title,
61
- metadata
62
- }) {
63
- await this.setupStorage();
64
- return this.storage.updateThread({ id, title, metadata });
65
- }
66
- async deleteThread({ threadId }) {
67
- await this.setupStorage();
68
- return this.storage.deleteThread({ threadId });
69
- }
70
- async getMessages({ threadId, selectBy }) {
71
- await this.setupStorage();
72
- return this.storage.getMessages({ threadId, selectBy });
73
- }
74
- async saveMessages({ messages }) {
75
- await this.setupStorage();
76
- return this.storage.saveMessages({ messages });
77
- }
78
- async getEvalsByAgentName(agentName, type) {
79
- await this.setupStorage();
80
- return this.storage.getEvalsByAgentName(agentName, type);
81
- }
82
- async getTraces(options) {
83
- await this.setupStorage();
84
- return this.storage.getTraces(options);
85
- }
86
- async getWorkflowRuns(args) {
87
- await this.setupStorage();
88
- return this.storage.getWorkflowRuns(args);
89
- }
90
- async getWorkflowRunById(args) {
91
- await this.setupStorage();
92
- return this.storage.getWorkflowRunById(args);
93
- }
94
- };
95
-
96
- // src/storage/storageWithInit.ts
97
- var isAugmentedSymbol = Symbol("isAugmented");
98
- function augmentWithInit(storage) {
99
- let hasInitialized = null;
100
- const ensureInit = async () => {
101
- if (!hasInitialized) {
102
- hasInitialized = storage.init();
103
- }
104
- await hasInitialized;
105
- };
106
- if (storage[isAugmentedSymbol]) {
107
- return storage;
108
- }
109
- const proxy = new Proxy(storage, {
110
- get(target, prop) {
111
- const value = target[prop];
112
- if (typeof value === "function" && prop !== "init") {
113
- return async (...args) => {
114
- await ensureInit();
115
- return Reflect.apply(value, target, args);
116
- };
117
- }
118
- return Reflect.get(target, prop);
119
- }
120
- });
121
- Object.defineProperty(proxy, isAugmentedSymbol, {
122
- value: true,
123
- enumerable: false,
124
- // Won't show up in Object.keys() or for...in loops
125
- configurable: true
126
- // Allows the property to be deleted or modified later if needed
127
- });
128
- return proxy;
129
- }
130
-
131
- export { DefaultProxyStorage, augmentWithInit };
@@ -1,190 +0,0 @@
1
- // src/vector/filter/base.ts
2
- var BaseFilterTranslator = class _BaseFilterTranslator {
3
- /**
4
- * Operator type checks
5
- */
6
- isOperator(key) {
7
- return key.startsWith("$");
8
- }
9
- static BASIC_OPERATORS = ["$eq", "$ne"];
10
- static NUMERIC_OPERATORS = ["$gt", "$gte", "$lt", "$lte"];
11
- static ARRAY_OPERATORS = ["$in", "$nin", "$all", "$elemMatch"];
12
- static LOGICAL_OPERATORS = ["$and", "$or", "$not", "$nor"];
13
- static ELEMENT_OPERATORS = ["$exists"];
14
- static REGEX_OPERATORS = ["$regex", "$options"];
15
- static DEFAULT_OPERATORS = {
16
- logical: _BaseFilterTranslator.LOGICAL_OPERATORS,
17
- basic: _BaseFilterTranslator.BASIC_OPERATORS,
18
- numeric: _BaseFilterTranslator.NUMERIC_OPERATORS,
19
- array: _BaseFilterTranslator.ARRAY_OPERATORS,
20
- element: _BaseFilterTranslator.ELEMENT_OPERATORS,
21
- regex: _BaseFilterTranslator.REGEX_OPERATORS
22
- };
23
- isLogicalOperator(key) {
24
- return _BaseFilterTranslator.DEFAULT_OPERATORS.logical.includes(key);
25
- }
26
- isBasicOperator(key) {
27
- return _BaseFilterTranslator.DEFAULT_OPERATORS.basic.includes(key);
28
- }
29
- isNumericOperator(key) {
30
- return _BaseFilterTranslator.DEFAULT_OPERATORS.numeric.includes(key);
31
- }
32
- isArrayOperator(key) {
33
- return _BaseFilterTranslator.DEFAULT_OPERATORS.array.includes(key);
34
- }
35
- isElementOperator(key) {
36
- return _BaseFilterTranslator.DEFAULT_OPERATORS.element.includes(key);
37
- }
38
- isRegexOperator(key) {
39
- return _BaseFilterTranslator.DEFAULT_OPERATORS.regex.includes(key);
40
- }
41
- isFieldOperator(key) {
42
- return this.isOperator(key) && !this.isLogicalOperator(key);
43
- }
44
- isCustomOperator(key) {
45
- const support = this.getSupportedOperators();
46
- return support.custom?.includes(key) ?? false;
47
- }
48
- getSupportedOperators() {
49
- return _BaseFilterTranslator.DEFAULT_OPERATORS;
50
- }
51
- isValidOperator(key) {
52
- const support = this.getSupportedOperators();
53
- const allSupported = Object.values(support).flat();
54
- return allSupported.includes(key);
55
- }
56
- /**
57
- * Value normalization for comparison operators
58
- */
59
- normalizeComparisonValue(value) {
60
- if (value instanceof Date) {
61
- return value.toISOString();
62
- }
63
- if (typeof value === "number" && Object.is(value, -0)) {
64
- return 0;
65
- }
66
- return value;
67
- }
68
- /**
69
- * Helper method to simulate $all operator using $and + $eq when needed.
70
- * Some vector stores don't support $all natively.
71
- */
72
- simulateAllOperator(field, values) {
73
- return {
74
- $and: values.map((value) => ({
75
- [field]: { $in: [this.normalizeComparisonValue(value)] }
76
- }))
77
- };
78
- }
79
- /**
80
- * Utility functions for type checking
81
- */
82
- isPrimitive(value) {
83
- return value === null || value === void 0 || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
84
- }
85
- isRegex(value) {
86
- return value instanceof RegExp;
87
- }
88
- isEmpty(obj) {
89
- return obj === null || obj === void 0 || typeof obj === "object" && Object.keys(obj).length === 0;
90
- }
91
- static ErrorMessages = {
92
- UNSUPPORTED_OPERATOR: (op) => `Unsupported operator: ${op}`,
93
- INVALID_LOGICAL_OPERATOR_LOCATION: (op, path) => `Logical operator ${op} cannot be used at field level: ${path}`,
94
- NOT_REQUIRES_OBJECT: `$not operator requires an object`,
95
- NOT_CANNOT_BE_EMPTY: `$not operator cannot be empty`,
96
- INVALID_LOGICAL_OPERATOR_CONTENT: (path) => `Logical operators must contain field conditions, not direct operators: ${path}`,
97
- INVALID_TOP_LEVEL_OPERATOR: (op) => `Invalid top-level operator: ${op}`,
98
- ELEM_MATCH_REQUIRES_OBJECT: `$elemMatch requires an object with conditions`
99
- };
100
- /**
101
- * Helper to handle array value normalization consistently
102
- */
103
- normalizeArrayValues(values) {
104
- return values.map((value) => this.normalizeComparisonValue(value));
105
- }
106
- validateFilter(filter) {
107
- const validation = this.validateFilterSupport(filter);
108
- if (!validation.supported) {
109
- throw new Error(validation.messages.join(", "));
110
- }
111
- }
112
- /**
113
- * Validates if a filter structure is supported by the specific vector DB
114
- * and returns detailed validation information.
115
- */
116
- validateFilterSupport(node, path = "") {
117
- const messages = [];
118
- if (this.isPrimitive(node) || this.isEmpty(node)) {
119
- return { supported: true, messages: [] };
120
- }
121
- if (Array.isArray(node)) {
122
- const arrayResults = node.map((item) => this.validateFilterSupport(item, path));
123
- const arrayMessages = arrayResults.flatMap((r) => r.messages);
124
- return {
125
- supported: arrayResults.every((r) => r.supported),
126
- messages: arrayMessages
127
- };
128
- }
129
- const nodeObj = node;
130
- let isSupported = true;
131
- for (const [key, value] of Object.entries(nodeObj)) {
132
- const newPath = path ? `${path}.${key}` : key;
133
- if (this.isOperator(key)) {
134
- if (!this.isValidOperator(key)) {
135
- isSupported = false;
136
- messages.push(_BaseFilterTranslator.ErrorMessages.UNSUPPORTED_OPERATOR(key));
137
- continue;
138
- }
139
- if (!path && !this.isLogicalOperator(key)) {
140
- isSupported = false;
141
- messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_TOP_LEVEL_OPERATOR(key));
142
- continue;
143
- }
144
- if (key === "$elemMatch" && (typeof value !== "object" || Array.isArray(value))) {
145
- isSupported = false;
146
- messages.push(_BaseFilterTranslator.ErrorMessages.ELEM_MATCH_REQUIRES_OBJECT);
147
- continue;
148
- }
149
- if (this.isLogicalOperator(key)) {
150
- if (key === "$not") {
151
- if (Array.isArray(value) || typeof value !== "object") {
152
- isSupported = false;
153
- messages.push(_BaseFilterTranslator.ErrorMessages.NOT_REQUIRES_OBJECT);
154
- continue;
155
- }
156
- if (this.isEmpty(value)) {
157
- isSupported = false;
158
- messages.push(_BaseFilterTranslator.ErrorMessages.NOT_CANNOT_BE_EMPTY);
159
- continue;
160
- }
161
- continue;
162
- }
163
- if (path && !this.isLogicalOperator(path.split(".").pop())) {
164
- isSupported = false;
165
- messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_LOCATION(key, newPath));
166
- continue;
167
- }
168
- if (Array.isArray(value)) {
169
- const hasDirectOperators = value.some(
170
- (item) => typeof item === "object" && Object.keys(item).length === 1 && this.isFieldOperator(Object.keys(item)[0])
171
- );
172
- if (hasDirectOperators) {
173
- isSupported = false;
174
- messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_CONTENT(newPath));
175
- continue;
176
- }
177
- }
178
- }
179
- }
180
- const nestedValidation = this.validateFilterSupport(value, newPath);
181
- if (!nestedValidation.supported) {
182
- isSupported = false;
183
- messages.push(...nestedValidation.messages);
184
- }
185
- }
186
- return { supported: isSupported, messages };
187
- }
188
- };
189
-
190
- export { BaseFilterTranslator };
@@ -1,168 +0,0 @@
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
- AGENT: "AGENT",
15
- NETWORK: "NETWORK",
16
- WORKFLOW: "WORKFLOW",
17
- LLM: "LLM",
18
- TTS: "TTS",
19
- VOICE: "VOICE",
20
- VECTOR: "VECTOR",
21
- BUNDLER: "BUNDLER",
22
- DEPLOYER: "DEPLOYER",
23
- MEMORY: "MEMORY",
24
- STORAGE: "STORAGE",
25
- EMBEDDINGS: "EMBEDDINGS",
26
- MCP_SERVER: "MCP_SERVER"
27
- };
28
- var LogLevel = {
29
- DEBUG: "debug",
30
- INFO: "info",
31
- WARN: "warn",
32
- ERROR: "error",
33
- NONE: "silent"
34
- };
35
- var LoggerTransport = class extends stream.Transform {
36
- constructor(opts = {}) {
37
- super({ ...opts, objectMode: true });
38
- }
39
- async getLogsByRunId(_args) {
40
- return [];
41
- }
42
- async getLogs() {
43
- return [];
44
- }
45
- };
46
- var Logger = class {
47
- logger;
48
- transports;
49
- constructor(options = {}) {
50
- this.transports = options.transports || {};
51
- const transportsAry = Object.entries(this.transports);
52
- this.logger = pino__default.default(
53
- {
54
- name: options.name || "app",
55
- level: options.level || LogLevel.INFO,
56
- formatters: {
57
- level: (label) => {
58
- return {
59
- level: label
60
- };
61
- }
62
- }
63
- },
64
- options.overrideDefaultTransports ? options?.transports?.default : transportsAry.length === 0 ? pretty__default.default({
65
- colorize: true,
66
- levelFirst: true,
67
- ignore: "pid,hostname",
68
- colorizeObjects: true,
69
- translateTime: "SYS:standard",
70
- singleLine: false
71
- }) : pino__default.default.multistream([
72
- ...transportsAry.map(([, transport]) => ({
73
- stream: transport,
74
- level: options.level || LogLevel.INFO
75
- })),
76
- {
77
- stream: pretty__default.default({
78
- colorize: true,
79
- levelFirst: true,
80
- ignore: "pid,hostname",
81
- colorizeObjects: true,
82
- translateTime: "SYS:standard",
83
- singleLine: false
84
- }),
85
- level: options.level || LogLevel.INFO
86
- }
87
- ])
88
- );
89
- }
90
- debug(message, args = {}) {
91
- this.logger.debug(args, message);
92
- }
93
- info(message, args = {}) {
94
- this.logger.info(args, message);
95
- }
96
- warn(message, args = {}) {
97
- this.logger.warn(args, message);
98
- }
99
- error(message, args = {}) {
100
- this.logger.error(args, message);
101
- }
102
- // Stream creation for process output handling
103
- createStream() {
104
- return new stream.Transform({
105
- transform: (chunk, _encoding, callback) => {
106
- const line = chunk.toString().trim();
107
- if (line) {
108
- this.info(line);
109
- }
110
- callback(null, chunk);
111
- }
112
- });
113
- }
114
- async getLogs(transportId) {
115
- if (!transportId || !this.transports[transportId]) {
116
- return [];
117
- }
118
- return this.transports[transportId].getLogs();
119
- }
120
- async getLogsByRunId({ runId, transportId }) {
121
- return this.transports[transportId]?.getLogsByRunId({ runId });
122
- }
123
- };
124
- function createLogger(options) {
125
- return new Logger(options);
126
- }
127
- var MultiLogger = class {
128
- loggers;
129
- constructor(loggers) {
130
- this.loggers = loggers;
131
- }
132
- debug(message, ...args) {
133
- this.loggers.forEach((logger) => logger.debug(message, ...args));
134
- }
135
- info(message, ...args) {
136
- this.loggers.forEach((logger) => logger.info(message, ...args));
137
- }
138
- warn(message, ...args) {
139
- this.loggers.forEach((logger) => logger.warn(message, ...args));
140
- }
141
- error(message, ...args) {
142
- this.loggers.forEach((logger) => logger.error(message, ...args));
143
- }
144
- };
145
- function combineLoggers(loggers) {
146
- return new MultiLogger(loggers);
147
- }
148
- var noopLogger = {
149
- debug: () => {
150
- },
151
- info: () => {
152
- },
153
- warn: () => {
154
- },
155
- error: () => {
156
- },
157
- cleanup: async () => {
158
- }
159
- };
160
-
161
- exports.LogLevel = LogLevel;
162
- exports.Logger = Logger;
163
- exports.LoggerTransport = LoggerTransport;
164
- exports.MultiLogger = MultiLogger;
165
- exports.RegisteredLogger = RegisteredLogger;
166
- exports.combineLoggers = combineLoggers;
167
- exports.createLogger = createLogger;
168
- exports.noopLogger = noopLogger;