@mastra/deployer 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/LICENSE +44 -0
- package/dist/build/bundle.d.ts +8 -0
- package/dist/build/bundle.d.ts.map +1 -0
- package/dist/build/deps.d.ts +21 -0
- package/dist/build/deps.d.ts.map +1 -0
- package/dist/build/env.d.ts +14 -0
- package/dist/build/env.d.ts.map +1 -0
- package/dist/build/fs.d.ts +22 -0
- package/dist/build/fs.d.ts.map +1 -0
- package/dist/build/index.d.ts +6 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/utils.d.ts +2 -0
- package/dist/build/utils.d.ts.map +1 -0
- package/dist/deploy/base.d.ts +36 -0
- package/dist/deploy/base.d.ts.map +1 -0
- package/dist/deploy/index.d.ts +2 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deployer.cjs.development.js +2872 -0
- package/dist/deployer.cjs.development.js.map +1 -0
- package/dist/deployer.cjs.production.min.js +2 -0
- package/dist/deployer.cjs.production.min.js.map +1 -0
- package/dist/deployer.esm.js +2840 -0
- package/dist/deployer.esm.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/server/handlers/agents.d.ts +6 -0
- package/dist/server/handlers/agents.d.ts.map +1 -0
- package/dist/server/handlers/client.d.ts +7 -0
- package/dist/server/handlers/client.d.ts.map +1 -0
- package/dist/server/handlers/error.d.ts +7 -0
- package/dist/server/handlers/error.d.ts.map +1 -0
- package/dist/server/handlers/logs.d.ts +4 -0
- package/dist/server/handlers/logs.d.ts.map +1 -0
- package/dist/server/handlers/memory.d.ts +17 -0
- package/dist/server/handlers/memory.d.ts.map +1 -0
- package/dist/server/handlers/root.d.ts +3 -0
- package/dist/server/handlers/root.d.ts.map +1 -0
- package/dist/server/handlers/syncs.d.ts +3 -0
- package/dist/server/handlers/syncs.d.ts.map +1 -0
- package/dist/server/handlers/tools.d.ts +8 -0
- package/dist/server/handlers/tools.d.ts.map +1 -0
- package/dist/server/handlers/utils.d.ts +2 -0
- package/dist/server/handlers/utils.d.ts.map +1 -0
- package/dist/server/handlers/workflows.d.ts +11 -0
- package/dist/server/handlers/workflows.d.ts.map +1 -0
- package/dist/server/index.d.ts +21 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8964 -0
- package/dist/server/types.d.ts +5 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/welcome.d.ts +2 -0
- package/dist/server/welcome.d.ts.map +1 -0
- package/package.json +61 -0
- package/src/build/bundle.ts +224 -0
- package/src/build/deps.ts +128 -0
- package/src/build/env.ts +76 -0
- package/src/build/fs.ts +66 -0
- package/src/build/index.ts +5 -0
- package/src/build/utils.ts +12 -0
- package/src/deploy/base.ts +171 -0
- package/src/deploy/index.ts +1 -0
- package/src/index.ts +3 -0
- package/src/server/handlers/agents.ts +121 -0
- package/src/server/handlers/client.ts +36 -0
- package/src/server/handlers/error.ts +29 -0
- package/src/server/handlers/logs.ts +24 -0
- package/src/server/handlers/memory.ts +208 -0
- package/src/server/handlers/root.ts +6 -0
- package/src/server/handlers/syncs.ts +19 -0
- package/src/server/handlers/tools.ts +156 -0
- package/src/server/handlers/utils.ts +15 -0
- package/src/server/handlers/workflows.ts +60 -0
- package/src/server/index.ts +185 -0
- package/src/server/types.ts +4 -0
- package/src/server/welcome.ts +105 -0
- package/tsconfig.json +10 -0
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1,2840 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import fs__default, { existsSync, mkdirSync, writeFileSync, readFileSync, copyFileSync } from 'fs';
|
|
3
|
+
import path, { join, dirname } from 'path';
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from 'url';
|
|
5
|
+
import { Workflow, Step } from '@mastra/core';
|
|
6
|
+
import * as esbuild from 'esbuild';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import fsExtra from 'fs-extra/esm';
|
|
9
|
+
import { execSync } from 'child_process';
|
|
10
|
+
import { execa } from 'execa';
|
|
11
|
+
import fsPromises, { readFile } from 'fs/promises';
|
|
12
|
+
import { serve } from '@hono/node-server';
|
|
13
|
+
import { serveStatic } from '@hono/node-server/serve-static';
|
|
14
|
+
import { Hono } from 'hono';
|
|
15
|
+
import { cors } from 'hono/cors';
|
|
16
|
+
import { stringify } from 'superjson';
|
|
17
|
+
import zodToJsonSchema from 'zod-to-json-schema';
|
|
18
|
+
import { HTTPException } from 'hono/http-exception';
|
|
19
|
+
|
|
20
|
+
function _arrayLikeToArray(r, a) {
|
|
21
|
+
(null == a || a > r.length) && (a = r.length);
|
|
22
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
23
|
+
return n;
|
|
24
|
+
}
|
|
25
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
26
|
+
try {
|
|
27
|
+
var i = n[a](c),
|
|
28
|
+
u = i.value;
|
|
29
|
+
} catch (n) {
|
|
30
|
+
return void e(n);
|
|
31
|
+
}
|
|
32
|
+
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
33
|
+
}
|
|
34
|
+
function _asyncToGenerator(n) {
|
|
35
|
+
return function () {
|
|
36
|
+
var t = this,
|
|
37
|
+
e = arguments;
|
|
38
|
+
return new Promise(function (r, o) {
|
|
39
|
+
var a = n.apply(t, e);
|
|
40
|
+
function _next(n) {
|
|
41
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
42
|
+
}
|
|
43
|
+
function _throw(n) {
|
|
44
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
45
|
+
}
|
|
46
|
+
_next(void 0);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function _createForOfIteratorHelperLoose(r, e) {
|
|
51
|
+
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
52
|
+
if (t) return (t = t.call(r)).next.bind(t);
|
|
53
|
+
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
|
|
54
|
+
t && (r = t);
|
|
55
|
+
var o = 0;
|
|
56
|
+
return function () {
|
|
57
|
+
return o >= r.length ? {
|
|
58
|
+
done: !0
|
|
59
|
+
} : {
|
|
60
|
+
done: !1,
|
|
61
|
+
value: r[o++]
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
66
|
+
}
|
|
67
|
+
function _extends() {
|
|
68
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
69
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
70
|
+
var t = arguments[e];
|
|
71
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
72
|
+
}
|
|
73
|
+
return n;
|
|
74
|
+
}, _extends.apply(null, arguments);
|
|
75
|
+
}
|
|
76
|
+
function _inheritsLoose(t, o) {
|
|
77
|
+
t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
|
|
78
|
+
}
|
|
79
|
+
function _regeneratorRuntime() {
|
|
80
|
+
_regeneratorRuntime = function () {
|
|
81
|
+
return e;
|
|
82
|
+
};
|
|
83
|
+
var t,
|
|
84
|
+
e = {},
|
|
85
|
+
r = Object.prototype,
|
|
86
|
+
n = r.hasOwnProperty,
|
|
87
|
+
o = Object.defineProperty || function (t, e, r) {
|
|
88
|
+
t[e] = r.value;
|
|
89
|
+
},
|
|
90
|
+
i = "function" == typeof Symbol ? Symbol : {},
|
|
91
|
+
a = i.iterator || "@@iterator",
|
|
92
|
+
c = i.asyncIterator || "@@asyncIterator",
|
|
93
|
+
u = i.toStringTag || "@@toStringTag";
|
|
94
|
+
function define(t, e, r) {
|
|
95
|
+
return Object.defineProperty(t, e, {
|
|
96
|
+
value: r,
|
|
97
|
+
enumerable: !0,
|
|
98
|
+
configurable: !0,
|
|
99
|
+
writable: !0
|
|
100
|
+
}), t[e];
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
define({}, "");
|
|
104
|
+
} catch (t) {
|
|
105
|
+
define = function (t, e, r) {
|
|
106
|
+
return t[e] = r;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function wrap(t, e, r, n) {
|
|
110
|
+
var i = e && e.prototype instanceof Generator ? e : Generator,
|
|
111
|
+
a = Object.create(i.prototype),
|
|
112
|
+
c = new Context(n || []);
|
|
113
|
+
return o(a, "_invoke", {
|
|
114
|
+
value: makeInvokeMethod(t, r, c)
|
|
115
|
+
}), a;
|
|
116
|
+
}
|
|
117
|
+
function tryCatch(t, e, r) {
|
|
118
|
+
try {
|
|
119
|
+
return {
|
|
120
|
+
type: "normal",
|
|
121
|
+
arg: t.call(e, r)
|
|
122
|
+
};
|
|
123
|
+
} catch (t) {
|
|
124
|
+
return {
|
|
125
|
+
type: "throw",
|
|
126
|
+
arg: t
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
e.wrap = wrap;
|
|
131
|
+
var h = "suspendedStart",
|
|
132
|
+
l = "suspendedYield",
|
|
133
|
+
f = "executing",
|
|
134
|
+
s = "completed",
|
|
135
|
+
y = {};
|
|
136
|
+
function Generator() {}
|
|
137
|
+
function GeneratorFunction() {}
|
|
138
|
+
function GeneratorFunctionPrototype() {}
|
|
139
|
+
var p = {};
|
|
140
|
+
define(p, a, function () {
|
|
141
|
+
return this;
|
|
142
|
+
});
|
|
143
|
+
var d = Object.getPrototypeOf,
|
|
144
|
+
v = d && d(d(values([])));
|
|
145
|
+
v && v !== r && n.call(v, a) && (p = v);
|
|
146
|
+
var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
|
|
147
|
+
function defineIteratorMethods(t) {
|
|
148
|
+
["next", "throw", "return"].forEach(function (e) {
|
|
149
|
+
define(t, e, function (t) {
|
|
150
|
+
return this._invoke(e, t);
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function AsyncIterator(t, e) {
|
|
155
|
+
function invoke(r, o, i, a) {
|
|
156
|
+
var c = tryCatch(t[r], t, o);
|
|
157
|
+
if ("throw" !== c.type) {
|
|
158
|
+
var u = c.arg,
|
|
159
|
+
h = u.value;
|
|
160
|
+
return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
|
|
161
|
+
invoke("next", t, i, a);
|
|
162
|
+
}, function (t) {
|
|
163
|
+
invoke("throw", t, i, a);
|
|
164
|
+
}) : e.resolve(h).then(function (t) {
|
|
165
|
+
u.value = t, i(u);
|
|
166
|
+
}, function (t) {
|
|
167
|
+
return invoke("throw", t, i, a);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
a(c.arg);
|
|
171
|
+
}
|
|
172
|
+
var r;
|
|
173
|
+
o(this, "_invoke", {
|
|
174
|
+
value: function (t, n) {
|
|
175
|
+
function callInvokeWithMethodAndArg() {
|
|
176
|
+
return new e(function (e, r) {
|
|
177
|
+
invoke(t, n, e, r);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
function makeInvokeMethod(e, r, n) {
|
|
185
|
+
var o = h;
|
|
186
|
+
return function (i, a) {
|
|
187
|
+
if (o === f) throw Error("Generator is already running");
|
|
188
|
+
if (o === s) {
|
|
189
|
+
if ("throw" === i) throw a;
|
|
190
|
+
return {
|
|
191
|
+
value: t,
|
|
192
|
+
done: !0
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
for (n.method = i, n.arg = a;;) {
|
|
196
|
+
var c = n.delegate;
|
|
197
|
+
if (c) {
|
|
198
|
+
var u = maybeInvokeDelegate(c, n);
|
|
199
|
+
if (u) {
|
|
200
|
+
if (u === y) continue;
|
|
201
|
+
return u;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
|
|
205
|
+
if (o === h) throw o = s, n.arg;
|
|
206
|
+
n.dispatchException(n.arg);
|
|
207
|
+
} else "return" === n.method && n.abrupt("return", n.arg);
|
|
208
|
+
o = f;
|
|
209
|
+
var p = tryCatch(e, r, n);
|
|
210
|
+
if ("normal" === p.type) {
|
|
211
|
+
if (o = n.done ? s : l, p.arg === y) continue;
|
|
212
|
+
return {
|
|
213
|
+
value: p.arg,
|
|
214
|
+
done: n.done
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
"throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function maybeInvokeDelegate(e, r) {
|
|
222
|
+
var n = r.method,
|
|
223
|
+
o = e.iterator[n];
|
|
224
|
+
if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
|
|
225
|
+
var i = tryCatch(o, e.iterator, r.arg);
|
|
226
|
+
if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
|
|
227
|
+
var a = i.arg;
|
|
228
|
+
return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
|
|
229
|
+
}
|
|
230
|
+
function pushTryEntry(t) {
|
|
231
|
+
var e = {
|
|
232
|
+
tryLoc: t[0]
|
|
233
|
+
};
|
|
234
|
+
1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
|
|
235
|
+
}
|
|
236
|
+
function resetTryEntry(t) {
|
|
237
|
+
var e = t.completion || {};
|
|
238
|
+
e.type = "normal", delete e.arg, t.completion = e;
|
|
239
|
+
}
|
|
240
|
+
function Context(t) {
|
|
241
|
+
this.tryEntries = [{
|
|
242
|
+
tryLoc: "root"
|
|
243
|
+
}], t.forEach(pushTryEntry, this), this.reset(!0);
|
|
244
|
+
}
|
|
245
|
+
function values(e) {
|
|
246
|
+
if (e || "" === e) {
|
|
247
|
+
var r = e[a];
|
|
248
|
+
if (r) return r.call(e);
|
|
249
|
+
if ("function" == typeof e.next) return e;
|
|
250
|
+
if (!isNaN(e.length)) {
|
|
251
|
+
var o = -1,
|
|
252
|
+
i = function next() {
|
|
253
|
+
for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
|
|
254
|
+
return next.value = t, next.done = !0, next;
|
|
255
|
+
};
|
|
256
|
+
return i.next = i;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
throw new TypeError(typeof e + " is not iterable");
|
|
260
|
+
}
|
|
261
|
+
return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
|
|
262
|
+
value: GeneratorFunctionPrototype,
|
|
263
|
+
configurable: !0
|
|
264
|
+
}), o(GeneratorFunctionPrototype, "constructor", {
|
|
265
|
+
value: GeneratorFunction,
|
|
266
|
+
configurable: !0
|
|
267
|
+
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
|
|
268
|
+
var e = "function" == typeof t && t.constructor;
|
|
269
|
+
return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
|
|
270
|
+
}, e.mark = function (t) {
|
|
271
|
+
return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
|
|
272
|
+
}, e.awrap = function (t) {
|
|
273
|
+
return {
|
|
274
|
+
__await: t
|
|
275
|
+
};
|
|
276
|
+
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
|
|
277
|
+
return this;
|
|
278
|
+
}), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
|
|
279
|
+
void 0 === i && (i = Promise);
|
|
280
|
+
var a = new AsyncIterator(wrap(t, r, n, o), i);
|
|
281
|
+
return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
|
|
282
|
+
return t.done ? t.value : a.next();
|
|
283
|
+
});
|
|
284
|
+
}, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
|
|
285
|
+
return this;
|
|
286
|
+
}), define(g, "toString", function () {
|
|
287
|
+
return "[object Generator]";
|
|
288
|
+
}), e.keys = function (t) {
|
|
289
|
+
var e = Object(t),
|
|
290
|
+
r = [];
|
|
291
|
+
for (var n in e) r.push(n);
|
|
292
|
+
return r.reverse(), function next() {
|
|
293
|
+
for (; r.length;) {
|
|
294
|
+
var t = r.pop();
|
|
295
|
+
if (t in e) return next.value = t, next.done = !1, next;
|
|
296
|
+
}
|
|
297
|
+
return next.done = !0, next;
|
|
298
|
+
};
|
|
299
|
+
}, e.values = values, Context.prototype = {
|
|
300
|
+
constructor: Context,
|
|
301
|
+
reset: function (e) {
|
|
302
|
+
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
|
|
303
|
+
},
|
|
304
|
+
stop: function () {
|
|
305
|
+
this.done = !0;
|
|
306
|
+
var t = this.tryEntries[0].completion;
|
|
307
|
+
if ("throw" === t.type) throw t.arg;
|
|
308
|
+
return this.rval;
|
|
309
|
+
},
|
|
310
|
+
dispatchException: function (e) {
|
|
311
|
+
if (this.done) throw e;
|
|
312
|
+
var r = this;
|
|
313
|
+
function handle(n, o) {
|
|
314
|
+
return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
|
|
315
|
+
}
|
|
316
|
+
for (var o = this.tryEntries.length - 1; o >= 0; --o) {
|
|
317
|
+
var i = this.tryEntries[o],
|
|
318
|
+
a = i.completion;
|
|
319
|
+
if ("root" === i.tryLoc) return handle("end");
|
|
320
|
+
if (i.tryLoc <= this.prev) {
|
|
321
|
+
var c = n.call(i, "catchLoc"),
|
|
322
|
+
u = n.call(i, "finallyLoc");
|
|
323
|
+
if (c && u) {
|
|
324
|
+
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
|
|
325
|
+
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
|
|
326
|
+
} else if (c) {
|
|
327
|
+
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
|
|
328
|
+
} else {
|
|
329
|
+
if (!u) throw Error("try statement without catch or finally");
|
|
330
|
+
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
abrupt: function (t, e) {
|
|
336
|
+
for (var r = this.tryEntries.length - 1; r >= 0; --r) {
|
|
337
|
+
var o = this.tryEntries[r];
|
|
338
|
+
if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
|
|
339
|
+
var i = o;
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
|
|
344
|
+
var a = i ? i.completion : {};
|
|
345
|
+
return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
|
|
346
|
+
},
|
|
347
|
+
complete: function (t, e) {
|
|
348
|
+
if ("throw" === t.type) throw t.arg;
|
|
349
|
+
return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
|
|
350
|
+
},
|
|
351
|
+
finish: function (t) {
|
|
352
|
+
for (var e = this.tryEntries.length - 1; e >= 0; --e) {
|
|
353
|
+
var r = this.tryEntries[e];
|
|
354
|
+
if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
catch: function (t) {
|
|
358
|
+
for (var e = this.tryEntries.length - 1; e >= 0; --e) {
|
|
359
|
+
var r = this.tryEntries[e];
|
|
360
|
+
if (r.tryLoc === t) {
|
|
361
|
+
var n = r.completion;
|
|
362
|
+
if ("throw" === n.type) {
|
|
363
|
+
var o = n.arg;
|
|
364
|
+
resetTryEntry(r);
|
|
365
|
+
}
|
|
366
|
+
return o;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
throw Error("illegal catch attempt");
|
|
370
|
+
},
|
|
371
|
+
delegateYield: function (e, r, n) {
|
|
372
|
+
return this.delegate = {
|
|
373
|
+
iterator: values(e),
|
|
374
|
+
resultName: r,
|
|
375
|
+
nextLoc: n
|
|
376
|
+
}, "next" === this.method && (this.arg = t), y;
|
|
377
|
+
}
|
|
378
|
+
}, e;
|
|
379
|
+
}
|
|
380
|
+
function _setPrototypeOf(t, e) {
|
|
381
|
+
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
|
|
382
|
+
return t.__proto__ = e, t;
|
|
383
|
+
}, _setPrototypeOf(t, e);
|
|
384
|
+
}
|
|
385
|
+
function _unsupportedIterableToArray(r, a) {
|
|
386
|
+
if (r) {
|
|
387
|
+
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
388
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
389
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
var EnvService = function EnvService() {};
|
|
394
|
+
var FileEnvService = /*#__PURE__*/function (_EnvService) {
|
|
395
|
+
function FileEnvService(filePath) {
|
|
396
|
+
var _this;
|
|
397
|
+
_this = _EnvService.call(this) || this;
|
|
398
|
+
_this.filePath = void 0;
|
|
399
|
+
_this.filePath = filePath;
|
|
400
|
+
return _this;
|
|
401
|
+
}
|
|
402
|
+
_inheritsLoose(FileEnvService, _EnvService);
|
|
403
|
+
var _proto = FileEnvService.prototype;
|
|
404
|
+
_proto.readFile = function readFile(filePath) {
|
|
405
|
+
return new Promise(function (resolve, reject) {
|
|
406
|
+
fs.readFile(filePath, 'utf8', function (err, data) {
|
|
407
|
+
if (err) reject(err);else resolve(data);
|
|
408
|
+
});
|
|
409
|
+
});
|
|
410
|
+
};
|
|
411
|
+
_proto.writeFile = function writeFile(_ref) {
|
|
412
|
+
var filePath = _ref.filePath,
|
|
413
|
+
data = _ref.data;
|
|
414
|
+
return new Promise(function (resolve, reject) {
|
|
415
|
+
fs.writeFile(filePath, data, 'utf8', function (err) {
|
|
416
|
+
if (err) reject(err);else resolve();
|
|
417
|
+
});
|
|
418
|
+
});
|
|
419
|
+
};
|
|
420
|
+
_proto.updateEnvData = /*#__PURE__*/function () {
|
|
421
|
+
var _updateEnvData = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
|
|
422
|
+
var key, value, _ref2$filePath, filePath, data, regex;
|
|
423
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
424
|
+
while (1) switch (_context.prev = _context.next) {
|
|
425
|
+
case 0:
|
|
426
|
+
key = _ref2.key, value = _ref2.value, _ref2$filePath = _ref2.filePath, filePath = _ref2$filePath === void 0 ? this.filePath : _ref2$filePath, data = _ref2.data;
|
|
427
|
+
regex = new RegExp("^" + key + "=.*$", 'm');
|
|
428
|
+
if (data.match(regex)) {
|
|
429
|
+
data = data.replace(regex, key + "=" + value);
|
|
430
|
+
} else {
|
|
431
|
+
data += "\n" + key + "=" + value;
|
|
432
|
+
}
|
|
433
|
+
_context.next = 5;
|
|
434
|
+
return this.writeFile({
|
|
435
|
+
filePath: filePath,
|
|
436
|
+
data: data
|
|
437
|
+
});
|
|
438
|
+
case 5:
|
|
439
|
+
console.log(key + " set to " + value + " in ENV file.");
|
|
440
|
+
return _context.abrupt("return", data);
|
|
441
|
+
case 7:
|
|
442
|
+
case "end":
|
|
443
|
+
return _context.stop();
|
|
444
|
+
}
|
|
445
|
+
}, _callee, this);
|
|
446
|
+
}));
|
|
447
|
+
function updateEnvData(_x) {
|
|
448
|
+
return _updateEnvData.apply(this, arguments);
|
|
449
|
+
}
|
|
450
|
+
return updateEnvData;
|
|
451
|
+
}();
|
|
452
|
+
_proto.getEnvValue = /*#__PURE__*/function () {
|
|
453
|
+
var _getEnvValue = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key) {
|
|
454
|
+
var data, regex, match;
|
|
455
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
456
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
457
|
+
case 0:
|
|
458
|
+
_context2.prev = 0;
|
|
459
|
+
_context2.next = 3;
|
|
460
|
+
return this.readFile(this.filePath);
|
|
461
|
+
case 3:
|
|
462
|
+
data = _context2.sent;
|
|
463
|
+
regex = new RegExp("^" + key + "=(.*)$", 'm');
|
|
464
|
+
match = data.match(regex);
|
|
465
|
+
return _context2.abrupt("return", (match == null ? void 0 : match[1]) || null);
|
|
466
|
+
case 9:
|
|
467
|
+
_context2.prev = 9;
|
|
468
|
+
_context2.t0 = _context2["catch"](0);
|
|
469
|
+
console.error("Error reading ENV value: " + _context2.t0);
|
|
470
|
+
return _context2.abrupt("return", null);
|
|
471
|
+
case 13:
|
|
472
|
+
case "end":
|
|
473
|
+
return _context2.stop();
|
|
474
|
+
}
|
|
475
|
+
}, _callee2, this, [[0, 9]]);
|
|
476
|
+
}));
|
|
477
|
+
function getEnvValue(_x2) {
|
|
478
|
+
return _getEnvValue.apply(this, arguments);
|
|
479
|
+
}
|
|
480
|
+
return getEnvValue;
|
|
481
|
+
}();
|
|
482
|
+
_proto.setEnvValue = /*#__PURE__*/function () {
|
|
483
|
+
var _setEnvValue = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(key, value) {
|
|
484
|
+
var data;
|
|
485
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
486
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
487
|
+
case 0:
|
|
488
|
+
_context3.prev = 0;
|
|
489
|
+
_context3.next = 3;
|
|
490
|
+
return this.readFile(this.filePath);
|
|
491
|
+
case 3:
|
|
492
|
+
data = _context3.sent;
|
|
493
|
+
_context3.next = 6;
|
|
494
|
+
return this.updateEnvData({
|
|
495
|
+
key: key,
|
|
496
|
+
value: value,
|
|
497
|
+
data: data
|
|
498
|
+
});
|
|
499
|
+
case 6:
|
|
500
|
+
_context3.next = 11;
|
|
501
|
+
break;
|
|
502
|
+
case 8:
|
|
503
|
+
_context3.prev = 8;
|
|
504
|
+
_context3.t0 = _context3["catch"](0);
|
|
505
|
+
console.error("Error writing ENV value: " + _context3.t0);
|
|
506
|
+
case 11:
|
|
507
|
+
case "end":
|
|
508
|
+
return _context3.stop();
|
|
509
|
+
}
|
|
510
|
+
}, _callee3, this, [[0, 8]]);
|
|
511
|
+
}));
|
|
512
|
+
function setEnvValue(_x3, _x4) {
|
|
513
|
+
return _setEnvValue.apply(this, arguments);
|
|
514
|
+
}
|
|
515
|
+
return setEnvValue;
|
|
516
|
+
}();
|
|
517
|
+
return FileEnvService;
|
|
518
|
+
}(EnvService);
|
|
519
|
+
|
|
520
|
+
var FileService = /*#__PURE__*/function () {
|
|
521
|
+
function FileService() {}
|
|
522
|
+
var _proto = FileService.prototype;
|
|
523
|
+
/**
|
|
524
|
+
*
|
|
525
|
+
* @param inputFile the file in the starter files directory to copy
|
|
526
|
+
* @param outputFilePath the destination path
|
|
527
|
+
* @param replaceIfExists flag to replace if it exists
|
|
528
|
+
* @returns
|
|
529
|
+
*/
|
|
530
|
+
_proto.copyStarterFile =
|
|
531
|
+
/*#__PURE__*/
|
|
532
|
+
function () {
|
|
533
|
+
var _copyStarterFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(inputFile, outputFilePath, replaceIfExists) {
|
|
534
|
+
var __filename, __dirname, filePath, fileString;
|
|
535
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
536
|
+
while (1) switch (_context.prev = _context.next) {
|
|
537
|
+
case 0:
|
|
538
|
+
__filename = fileURLToPath(import.meta.url);
|
|
539
|
+
__dirname = path.dirname(__filename);
|
|
540
|
+
filePath = path.resolve(__dirname, '..', 'starter-files', inputFile);
|
|
541
|
+
fileString = fs__default.readFileSync(filePath, 'utf8');
|
|
542
|
+
if (!(fs__default.existsSync(outputFilePath) && !replaceIfExists)) {
|
|
543
|
+
_context.next = 7;
|
|
544
|
+
break;
|
|
545
|
+
}
|
|
546
|
+
console.log(outputFilePath + " already exists");
|
|
547
|
+
return _context.abrupt("return", false);
|
|
548
|
+
case 7:
|
|
549
|
+
_context.next = 9;
|
|
550
|
+
return fsExtra.outputFile(outputFilePath, fileString);
|
|
551
|
+
case 9:
|
|
552
|
+
return _context.abrupt("return", true);
|
|
553
|
+
case 10:
|
|
554
|
+
case "end":
|
|
555
|
+
return _context.stop();
|
|
556
|
+
}
|
|
557
|
+
}, _callee);
|
|
558
|
+
}));
|
|
559
|
+
function copyStarterFile(_x, _x2, _x3) {
|
|
560
|
+
return _copyStarterFile.apply(this, arguments);
|
|
561
|
+
}
|
|
562
|
+
return copyStarterFile;
|
|
563
|
+
}();
|
|
564
|
+
_proto.setupEnvFile = /*#__PURE__*/function () {
|
|
565
|
+
var _setupEnvFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref) {
|
|
566
|
+
var dbUrl, envPath, fileEnvService;
|
|
567
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
568
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
569
|
+
case 0:
|
|
570
|
+
dbUrl = _ref.dbUrl;
|
|
571
|
+
envPath = path.join(process.cwd(), '.env.development');
|
|
572
|
+
_context2.next = 4;
|
|
573
|
+
return fsExtra.ensureFile(envPath);
|
|
574
|
+
case 4:
|
|
575
|
+
fileEnvService = new FileEnvService(envPath);
|
|
576
|
+
_context2.next = 7;
|
|
577
|
+
return fileEnvService.setEnvValue('DB_URL', dbUrl);
|
|
578
|
+
case 7:
|
|
579
|
+
case "end":
|
|
580
|
+
return _context2.stop();
|
|
581
|
+
}
|
|
582
|
+
}, _callee2);
|
|
583
|
+
}));
|
|
584
|
+
function setupEnvFile(_x4) {
|
|
585
|
+
return _setupEnvFile.apply(this, arguments);
|
|
586
|
+
}
|
|
587
|
+
return setupEnvFile;
|
|
588
|
+
}();
|
|
589
|
+
_proto.getFirstExistingFile = function getFirstExistingFile(files) {
|
|
590
|
+
for (var _iterator = _createForOfIteratorHelperLoose(files), _step; !(_step = _iterator()).done;) {
|
|
591
|
+
var f = _step.value;
|
|
592
|
+
if (fs__default.existsSync(f)) {
|
|
593
|
+
return f;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
throw new Error('Missing required file, checked the following paths: ' + files.join(', '));
|
|
597
|
+
};
|
|
598
|
+
_proto.replaceValuesInFile = function replaceValuesInFile(_ref2) {
|
|
599
|
+
var filePath = _ref2.filePath,
|
|
600
|
+
replacements = _ref2.replacements;
|
|
601
|
+
var fileContent = fs__default.readFileSync(filePath, 'utf8');
|
|
602
|
+
replacements.forEach(function (_ref3) {
|
|
603
|
+
var search = _ref3.search,
|
|
604
|
+
replace = _ref3.replace;
|
|
605
|
+
fileContent = fileContent.replaceAll(search, replace);
|
|
606
|
+
});
|
|
607
|
+
fs__default.writeFileSync(filePath, fileContent);
|
|
608
|
+
};
|
|
609
|
+
return FileService;
|
|
610
|
+
}();
|
|
611
|
+
|
|
612
|
+
function upsertMastraDir() {
|
|
613
|
+
var dirPath = join(process.cwd(), '.mastra');
|
|
614
|
+
if (!existsSync(dirPath)) {
|
|
615
|
+
mkdirSync(dirPath, {
|
|
616
|
+
recursive: true
|
|
617
|
+
});
|
|
618
|
+
execSync("echo \".mastra\" >> .gitignore");
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
var buildWorkflow = /*#__PURE__*/new Workflow({
|
|
623
|
+
name: 'Build',
|
|
624
|
+
triggerSchema: /*#__PURE__*/z.object({
|
|
625
|
+
buildName: /*#__PURE__*/z.string(),
|
|
626
|
+
entry: /*#__PURE__*/z.string(),
|
|
627
|
+
outfile: /*#__PURE__*/z.string().optional(),
|
|
628
|
+
useBanner: /*#__PURE__*/z["boolean"]().optional(),
|
|
629
|
+
devMode: /*#__PURE__*/z["boolean"]().optional()
|
|
630
|
+
})
|
|
631
|
+
});
|
|
632
|
+
buildWorkflow.__setLogger(null);
|
|
633
|
+
var ensureDir = /*#__PURE__*/new Step({
|
|
634
|
+
id: 'Ensure Directory',
|
|
635
|
+
execute: (/*#__PURE__*/function () {
|
|
636
|
+
var _execute = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
637
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
638
|
+
while (1) switch (_context.prev = _context.next) {
|
|
639
|
+
case 0:
|
|
640
|
+
// Ensure .mastra directory exists
|
|
641
|
+
upsertMastraDir();
|
|
642
|
+
case 1:
|
|
643
|
+
case "end":
|
|
644
|
+
return _context.stop();
|
|
645
|
+
}
|
|
646
|
+
}, _callee);
|
|
647
|
+
}));
|
|
648
|
+
function execute() {
|
|
649
|
+
return _execute.apply(this, arguments);
|
|
650
|
+
}
|
|
651
|
+
return execute;
|
|
652
|
+
}())
|
|
653
|
+
});
|
|
654
|
+
var bundleStep = /*#__PURE__*/new Step({
|
|
655
|
+
id: 'Bundle',
|
|
656
|
+
execute: (/*#__PURE__*/function () {
|
|
657
|
+
var _execute2 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref) {
|
|
658
|
+
var _context$machineConte, _context$machineConte2, _context$machineConte3, _context$machineConte4, _context$machineConte5;
|
|
659
|
+
var context, devMode, buildName, useBanner, entry, outfile, fileService, entryPoint, outfilePath, plugins, missingMastraDependency, externalIfMissingPlugin, esbuildConfig, result;
|
|
660
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
661
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
662
|
+
case 0:
|
|
663
|
+
context = _ref.context;
|
|
664
|
+
devMode = (_context$machineConte = context.machineContext) == null ? void 0 : _context$machineConte.triggerData.devMode;
|
|
665
|
+
buildName = (_context$machineConte2 = context.machineContext) == null ? void 0 : _context$machineConte2.triggerData.buildName;
|
|
666
|
+
useBanner = (_context$machineConte3 = context.machineContext) == null ? void 0 : _context$machineConte3.triggerData.useBanner;
|
|
667
|
+
entry = (_context$machineConte4 = context.machineContext) == null ? void 0 : _context$machineConte4.triggerData.entry;
|
|
668
|
+
outfile = (_context$machineConte5 = context.machineContext) == null ? void 0 : _context$machineConte5.triggerData.outfile;
|
|
669
|
+
fileService = new FileService();
|
|
670
|
+
entryPoint = fileService.getFirstExistingFile([entry]);
|
|
671
|
+
outfilePath = outfile || join(process.cwd(), '.mastra', 'mastra.mjs');
|
|
672
|
+
plugins = [];
|
|
673
|
+
missingMastraDependency = false;
|
|
674
|
+
externalIfMissingPlugin = {
|
|
675
|
+
name: 'external-if-missing',
|
|
676
|
+
setup: function setup(build) {
|
|
677
|
+
build.onResolve({
|
|
678
|
+
filter: /^.*$/
|
|
679
|
+
},
|
|
680
|
+
// @ts-ignore
|
|
681
|
+
function (args) {
|
|
682
|
+
if (!args.importer.endsWith('.mastra/index.mjs')) return;
|
|
683
|
+
try {
|
|
684
|
+
var resolvedPath = import.meta.resolve(args.path);
|
|
685
|
+
if (!resolvedPath || resolvedPath.includes('_npx/')) {
|
|
686
|
+
missingMastraDependency = true;
|
|
687
|
+
return {
|
|
688
|
+
path: args.path,
|
|
689
|
+
external: true
|
|
690
|
+
};
|
|
691
|
+
}
|
|
692
|
+
} catch (e) {
|
|
693
|
+
missingMastraDependency = true;
|
|
694
|
+
return {
|
|
695
|
+
path: args.path,
|
|
696
|
+
external: true
|
|
697
|
+
};
|
|
698
|
+
}
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
};
|
|
702
|
+
if (devMode) {
|
|
703
|
+
plugins.push(externalIfMissingPlugin);
|
|
704
|
+
}
|
|
705
|
+
esbuildConfig = {
|
|
706
|
+
entryPoints: [entryPoint],
|
|
707
|
+
bundle: true,
|
|
708
|
+
platform: 'node',
|
|
709
|
+
format: 'esm',
|
|
710
|
+
outfile: outfilePath,
|
|
711
|
+
target: 'node20',
|
|
712
|
+
sourcemap: true,
|
|
713
|
+
logLevel: 'silent',
|
|
714
|
+
minify: false,
|
|
715
|
+
metafile: true,
|
|
716
|
+
mainFields: ['module', 'main'],
|
|
717
|
+
conditions: ['import', 'node'],
|
|
718
|
+
logOverride: {
|
|
719
|
+
'commonjs-variable-in-esm': 'silent'
|
|
720
|
+
},
|
|
721
|
+
external: ['execa',
|
|
722
|
+
// Mark node built-ins as external
|
|
723
|
+
'assert', 'buffer', 'child_process', 'cluster', 'constants', 'crypto', 'dgram', 'dns', 'events', 'fs', 'http', 'http2', 'https', 'module', 'net', 'os', 'path', 'punycode', 'querystring', 'readline', 'repl', 'stream', 'string_decoder', 'sys', 'timers', 'tls', 'tty', 'url', 'util', 'v8', 'vm', 'wasi', 'worker_threads', 'zlib', 'chromium-bidi/lib/cjs/bidiMapper/BidiMapper', 'chromium-bidi/lib/cjs/cdp/CdpConnection',
|
|
724
|
+
// Your packages
|
|
725
|
+
'@mastra/core', '@mastra/memory', '@mastra/engine', '@mastra/rag', '@mastra/evals', '@mastra/mcp', '@mastra/tts', '@mastra/firecrawl', '@mastra/github', '@mastra/stabilityai', '@mastra/deployer', '@mastra/deployer-cloudflare', '@mastra/deployer-netlify', '@mastra/deployer-vercel'],
|
|
726
|
+
plugins: plugins
|
|
727
|
+
};
|
|
728
|
+
if (useBanner) {
|
|
729
|
+
esbuildConfig.banner = {
|
|
730
|
+
js: "\n import { createRequire } from \"node:module\"; \n const require = createRequire(import.meta.url || 'file:///');\n "
|
|
731
|
+
};
|
|
732
|
+
}
|
|
733
|
+
_context2.next = 17;
|
|
734
|
+
return esbuild.build(esbuildConfig);
|
|
735
|
+
case 17:
|
|
736
|
+
result = _context2.sent;
|
|
737
|
+
if (devMode && missingMastraDependency) {
|
|
738
|
+
console.error("Missing Mastra dependency. Please install the mastra package in your project or globally using npm i -g mastra");
|
|
739
|
+
process.exit(1);
|
|
740
|
+
}
|
|
741
|
+
// Log build results
|
|
742
|
+
console.log("[" + buildName + "]: build completed successfully");
|
|
743
|
+
return _context2.abrupt("return", result);
|
|
744
|
+
case 21:
|
|
745
|
+
case "end":
|
|
746
|
+
return _context2.stop();
|
|
747
|
+
}
|
|
748
|
+
}, _callee2);
|
|
749
|
+
}));
|
|
750
|
+
function execute(_x) {
|
|
751
|
+
return _execute2.apply(this, arguments);
|
|
752
|
+
}
|
|
753
|
+
return execute;
|
|
754
|
+
}())
|
|
755
|
+
});
|
|
756
|
+
var analyzeStep = /*#__PURE__*/new Step({
|
|
757
|
+
id: 'Analyze',
|
|
758
|
+
execute: (/*#__PURE__*/function () {
|
|
759
|
+
var _execute3 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref2) {
|
|
760
|
+
var _context$machineConte6, _context$machineConte7, _context$machineConte8;
|
|
761
|
+
var context, res;
|
|
762
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
763
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
764
|
+
case 0:
|
|
765
|
+
context = _ref2.context;
|
|
766
|
+
if (!((context == null || (_context$machineConte6 = context.machineContext) == null || (_context$machineConte6 = _context$machineConte6.stepResults) == null || (_context$machineConte6 = _context$machineConte6.Bundle) == null ? void 0 : _context$machineConte6.status) !== 'success')) {
|
|
767
|
+
_context3.next = 3;
|
|
768
|
+
break;
|
|
769
|
+
}
|
|
770
|
+
throw new Error('Bundle step failed');
|
|
771
|
+
case 3:
|
|
772
|
+
writeFileSync(join(process.cwd(), '.mastra', 'metafile.json'), JSON.stringify((_context$machineConte7 = context.machineContext) == null ? void 0 : _context$machineConte7.stepResults.Bundle.payload.metafile, null, 2));
|
|
773
|
+
_context3.next = 6;
|
|
774
|
+
return esbuild.analyzeMetafile((_context$machineConte8 = context.machineContext) == null ? void 0 : _context$machineConte8.stepResults.Bundle.payload.metafile);
|
|
775
|
+
case 6:
|
|
776
|
+
res = _context3.sent;
|
|
777
|
+
return _context3.abrupt("return", res);
|
|
778
|
+
case 8:
|
|
779
|
+
case "end":
|
|
780
|
+
return _context3.stop();
|
|
781
|
+
}
|
|
782
|
+
}, _callee3);
|
|
783
|
+
}));
|
|
784
|
+
function execute(_x2) {
|
|
785
|
+
return _execute3.apply(this, arguments);
|
|
786
|
+
}
|
|
787
|
+
return execute;
|
|
788
|
+
}())
|
|
789
|
+
});
|
|
790
|
+
buildWorkflow.step(ensureDir).then(bundleStep).then(analyzeStep).commit();
|
|
791
|
+
function bundle(_x3, _x4) {
|
|
792
|
+
return _bundle.apply(this, arguments);
|
|
793
|
+
}
|
|
794
|
+
function _bundle() {
|
|
795
|
+
_bundle = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(entry, _temp) {
|
|
796
|
+
var _ref3, _ref3$useBanner, useBanner, _ref3$buildName, buildName, outfile, devMode, _buildWorkflow$create, start;
|
|
797
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
798
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
799
|
+
case 0:
|
|
800
|
+
_ref3 = _temp === void 0 ? {} : _temp, _ref3$useBanner = _ref3.useBanner, useBanner = _ref3$useBanner === void 0 ? true : _ref3$useBanner, _ref3$buildName = _ref3.buildName, buildName = _ref3$buildName === void 0 ? 'Build' : _ref3$buildName, outfile = _ref3.outfile, devMode = _ref3.devMode;
|
|
801
|
+
_buildWorkflow$create = buildWorkflow.createRun(), start = _buildWorkflow$create.start;
|
|
802
|
+
_context4.prev = 2;
|
|
803
|
+
_context4.next = 5;
|
|
804
|
+
return start({
|
|
805
|
+
triggerData: {
|
|
806
|
+
buildName: buildName,
|
|
807
|
+
entry: entry,
|
|
808
|
+
useBanner: useBanner,
|
|
809
|
+
outfile: outfile,
|
|
810
|
+
devMode: devMode
|
|
811
|
+
}
|
|
812
|
+
});
|
|
813
|
+
case 5:
|
|
814
|
+
_context4.next = 11;
|
|
815
|
+
break;
|
|
816
|
+
case 7:
|
|
817
|
+
_context4.prev = 7;
|
|
818
|
+
_context4.t0 = _context4["catch"](2);
|
|
819
|
+
console.error('Failed to build:', _context4.t0);
|
|
820
|
+
process.exit(1);
|
|
821
|
+
case 11:
|
|
822
|
+
case "end":
|
|
823
|
+
return _context4.stop();
|
|
824
|
+
}
|
|
825
|
+
}, _callee4, null, [[2, 7]]);
|
|
826
|
+
}));
|
|
827
|
+
return _bundle.apply(this, arguments);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
var Deps = /*#__PURE__*/function () {
|
|
831
|
+
function Deps() {
|
|
832
|
+
this.packageManager = void 0;
|
|
833
|
+
this.packageManager = this.getPackageManager();
|
|
834
|
+
}
|
|
835
|
+
var _proto = Deps.prototype;
|
|
836
|
+
_proto.findLockFile = function findLockFile(dir) {
|
|
837
|
+
var lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock'];
|
|
838
|
+
for (var _i = 0, _lockFiles = lockFiles; _i < _lockFiles.length; _i++) {
|
|
839
|
+
var file = _lockFiles[_i];
|
|
840
|
+
if (fs__default.existsSync(path.join(dir, file))) {
|
|
841
|
+
return file;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
var parentDir = path.resolve(dir, '..');
|
|
845
|
+
if (parentDir !== dir) {
|
|
846
|
+
return this.findLockFile(parentDir);
|
|
847
|
+
}
|
|
848
|
+
return null;
|
|
849
|
+
};
|
|
850
|
+
_proto.getPackageManager = function getPackageManager() {
|
|
851
|
+
var lockFile = this.findLockFile(process.cwd());
|
|
852
|
+
switch (lockFile) {
|
|
853
|
+
case 'pnpm-lock.yaml':
|
|
854
|
+
return 'pnpm';
|
|
855
|
+
case 'package-lock.json':
|
|
856
|
+
return 'npm';
|
|
857
|
+
case 'yarn.lock':
|
|
858
|
+
return 'yarn';
|
|
859
|
+
default:
|
|
860
|
+
return 'npm';
|
|
861
|
+
}
|
|
862
|
+
};
|
|
863
|
+
_proto.install = /*#__PURE__*/function () {
|
|
864
|
+
var _install = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(packages) {
|
|
865
|
+
var runCommand, _packages;
|
|
866
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
867
|
+
while (1) switch (_context.prev = _context.next) {
|
|
868
|
+
case 0:
|
|
869
|
+
if (packages === void 0) {
|
|
870
|
+
packages = [];
|
|
871
|
+
}
|
|
872
|
+
runCommand = this.packageManager;
|
|
873
|
+
if (this.packageManager === 'npm') {
|
|
874
|
+
runCommand = this.packageManager + " i";
|
|
875
|
+
} else {
|
|
876
|
+
runCommand = this.packageManager + " " + (((_packages = packages) == null ? void 0 : _packages.length) > 0 ? "add" : "install");
|
|
877
|
+
}
|
|
878
|
+
return _context.abrupt("return", execa("" + runCommand, packages, {
|
|
879
|
+
all: true,
|
|
880
|
+
shell: true,
|
|
881
|
+
stdio: 'inherit'
|
|
882
|
+
}));
|
|
883
|
+
case 4:
|
|
884
|
+
case "end":
|
|
885
|
+
return _context.stop();
|
|
886
|
+
}
|
|
887
|
+
}, _callee, this);
|
|
888
|
+
}));
|
|
889
|
+
function install(_x) {
|
|
890
|
+
return _install.apply(this, arguments);
|
|
891
|
+
}
|
|
892
|
+
return install;
|
|
893
|
+
}();
|
|
894
|
+
_proto.installPackages = /*#__PURE__*/function () {
|
|
895
|
+
var _installPackages = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(packages) {
|
|
896
|
+
var runCommand, packageList;
|
|
897
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
898
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
899
|
+
case 0:
|
|
900
|
+
runCommand = this.packageManager;
|
|
901
|
+
if (this.packageManager === 'npm') {
|
|
902
|
+
runCommand = this.packageManager + " i";
|
|
903
|
+
} else {
|
|
904
|
+
runCommand = this.packageManager + " add";
|
|
905
|
+
}
|
|
906
|
+
packageList = packages.join(' ');
|
|
907
|
+
return _context2.abrupt("return", execa(runCommand + " " + packageList, {
|
|
908
|
+
all: true,
|
|
909
|
+
shell: true,
|
|
910
|
+
stdio: 'inherit'
|
|
911
|
+
}));
|
|
912
|
+
case 4:
|
|
913
|
+
case "end":
|
|
914
|
+
return _context2.stop();
|
|
915
|
+
}
|
|
916
|
+
}, _callee2, this);
|
|
917
|
+
}));
|
|
918
|
+
function installPackages(_x2) {
|
|
919
|
+
return _installPackages.apply(this, arguments);
|
|
920
|
+
}
|
|
921
|
+
return installPackages;
|
|
922
|
+
}();
|
|
923
|
+
_proto.checkDependencies = /*#__PURE__*/function () {
|
|
924
|
+
var _checkDependencies = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(dependencies) {
|
|
925
|
+
var packageJsonPath, packageJson, _iterator, _step, dependency;
|
|
926
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
927
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
928
|
+
case 0:
|
|
929
|
+
_context3.prev = 0;
|
|
930
|
+
packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
931
|
+
_context3.prev = 2;
|
|
932
|
+
_context3.next = 5;
|
|
933
|
+
return fsPromises.access(packageJsonPath);
|
|
934
|
+
case 5:
|
|
935
|
+
_context3.next = 10;
|
|
936
|
+
break;
|
|
937
|
+
case 7:
|
|
938
|
+
_context3.prev = 7;
|
|
939
|
+
_context3.t0 = _context3["catch"](2);
|
|
940
|
+
return _context3.abrupt("return", 'No package.json file found in the current directory');
|
|
941
|
+
case 10:
|
|
942
|
+
_context3.t1 = JSON;
|
|
943
|
+
_context3.next = 13;
|
|
944
|
+
return fsPromises.readFile(packageJsonPath, 'utf-8');
|
|
945
|
+
case 13:
|
|
946
|
+
_context3.t2 = _context3.sent;
|
|
947
|
+
packageJson = _context3.t1.parse.call(_context3.t1, _context3.t2);
|
|
948
|
+
_iterator = _createForOfIteratorHelperLoose(dependencies);
|
|
949
|
+
case 16:
|
|
950
|
+
if ((_step = _iterator()).done) {
|
|
951
|
+
_context3.next = 22;
|
|
952
|
+
break;
|
|
953
|
+
}
|
|
954
|
+
dependency = _step.value;
|
|
955
|
+
if (!(!packageJson.dependencies || !packageJson.dependencies[dependency])) {
|
|
956
|
+
_context3.next = 20;
|
|
957
|
+
break;
|
|
958
|
+
}
|
|
959
|
+
return _context3.abrupt("return", "Please install " + dependency + " before running this command (" + this.packageManager + " install " + dependency + ")");
|
|
960
|
+
case 20:
|
|
961
|
+
_context3.next = 16;
|
|
962
|
+
break;
|
|
963
|
+
case 22:
|
|
964
|
+
return _context3.abrupt("return", 'ok');
|
|
965
|
+
case 25:
|
|
966
|
+
_context3.prev = 25;
|
|
967
|
+
_context3.t3 = _context3["catch"](0);
|
|
968
|
+
console.error(_context3.t3);
|
|
969
|
+
return _context3.abrupt("return", 'Could not check dependencies');
|
|
970
|
+
case 29:
|
|
971
|
+
case "end":
|
|
972
|
+
return _context3.stop();
|
|
973
|
+
}
|
|
974
|
+
}, _callee3, this, [[0, 25], [2, 7]]);
|
|
975
|
+
}));
|
|
976
|
+
function checkDependencies(_x3) {
|
|
977
|
+
return _checkDependencies.apply(this, arguments);
|
|
978
|
+
}
|
|
979
|
+
return checkDependencies;
|
|
980
|
+
}();
|
|
981
|
+
_proto.getProjectName = /*#__PURE__*/function () {
|
|
982
|
+
var _getProjectName = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
983
|
+
var packageJsonPath, packageJson, pkg;
|
|
984
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
985
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
986
|
+
case 0:
|
|
987
|
+
_context4.prev = 0;
|
|
988
|
+
packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
989
|
+
_context4.next = 4;
|
|
990
|
+
return fsPromises.readFile(packageJsonPath, 'utf-8');
|
|
991
|
+
case 4:
|
|
992
|
+
packageJson = _context4.sent;
|
|
993
|
+
pkg = JSON.parse(packageJson);
|
|
994
|
+
return _context4.abrupt("return", pkg.name);
|
|
995
|
+
case 9:
|
|
996
|
+
_context4.prev = 9;
|
|
997
|
+
_context4.t0 = _context4["catch"](0);
|
|
998
|
+
throw _context4.t0;
|
|
999
|
+
case 12:
|
|
1000
|
+
case "end":
|
|
1001
|
+
return _context4.stop();
|
|
1002
|
+
}
|
|
1003
|
+
}, _callee4, null, [[0, 9]]);
|
|
1004
|
+
}));
|
|
1005
|
+
function getProjectName() {
|
|
1006
|
+
return _getProjectName.apply(this, arguments);
|
|
1007
|
+
}
|
|
1008
|
+
return getProjectName;
|
|
1009
|
+
}();
|
|
1010
|
+
_proto.getPackageVersion = /*#__PURE__*/function () {
|
|
1011
|
+
var _getPackageVersion = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1012
|
+
var __filename, __dirname, pkgJsonPath, content;
|
|
1013
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1014
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1015
|
+
case 0:
|
|
1016
|
+
__filename = fileURLToPath(import.meta.url);
|
|
1017
|
+
__dirname = dirname(__filename);
|
|
1018
|
+
pkgJsonPath = path.join(__dirname, '..', '..', 'package.json');
|
|
1019
|
+
_context5.next = 5;
|
|
1020
|
+
return fsExtra.readJSON(pkgJsonPath);
|
|
1021
|
+
case 5:
|
|
1022
|
+
content = _context5.sent;
|
|
1023
|
+
return _context5.abrupt("return", content.version);
|
|
1024
|
+
case 7:
|
|
1025
|
+
case "end":
|
|
1026
|
+
return _context5.stop();
|
|
1027
|
+
}
|
|
1028
|
+
}, _callee5);
|
|
1029
|
+
}));
|
|
1030
|
+
function getPackageVersion() {
|
|
1031
|
+
return _getPackageVersion.apply(this, arguments);
|
|
1032
|
+
}
|
|
1033
|
+
return getPackageVersion;
|
|
1034
|
+
}();
|
|
1035
|
+
_proto.addScriptsToPackageJson = /*#__PURE__*/function () {
|
|
1036
|
+
var _addScriptsToPackageJson = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(scripts) {
|
|
1037
|
+
var packageJson;
|
|
1038
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1039
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1040
|
+
case 0:
|
|
1041
|
+
_context6.t0 = JSON;
|
|
1042
|
+
_context6.next = 3;
|
|
1043
|
+
return fsPromises.readFile('package.json', 'utf-8');
|
|
1044
|
+
case 3:
|
|
1045
|
+
_context6.t1 = _context6.sent;
|
|
1046
|
+
packageJson = _context6.t0.parse.call(_context6.t0, _context6.t1);
|
|
1047
|
+
packageJson.scripts = _extends({}, packageJson.scripts, scripts);
|
|
1048
|
+
_context6.next = 8;
|
|
1049
|
+
return fsPromises.writeFile('package.json', JSON.stringify(packageJson, null, 2));
|
|
1050
|
+
case 8:
|
|
1051
|
+
case "end":
|
|
1052
|
+
return _context6.stop();
|
|
1053
|
+
}
|
|
1054
|
+
}, _callee6);
|
|
1055
|
+
}));
|
|
1056
|
+
function addScriptsToPackageJson(_x4) {
|
|
1057
|
+
return _addScriptsToPackageJson.apply(this, arguments);
|
|
1058
|
+
}
|
|
1059
|
+
return addScriptsToPackageJson;
|
|
1060
|
+
}();
|
|
1061
|
+
return Deps;
|
|
1062
|
+
}();
|
|
1063
|
+
|
|
1064
|
+
var Deployer = /*#__PURE__*/function () {
|
|
1065
|
+
function Deployer(_ref) {
|
|
1066
|
+
var _this = this;
|
|
1067
|
+
var dir = _ref.dir,
|
|
1068
|
+
type = _ref.type;
|
|
1069
|
+
this.deps = new Deps();
|
|
1070
|
+
this.dotMastraPath = void 0;
|
|
1071
|
+
this.name = '';
|
|
1072
|
+
this.type = void 0;
|
|
1073
|
+
this.log = function (message) {
|
|
1074
|
+
console.log("[Mastra " + _this.type + "] - " + message);
|
|
1075
|
+
};
|
|
1076
|
+
this.dotMastraPath = join(dir, '.mastra');
|
|
1077
|
+
this.type = type;
|
|
1078
|
+
}
|
|
1079
|
+
var _proto = Deployer.prototype;
|
|
1080
|
+
_proto.getMastraPath = function getMastraPath() {
|
|
1081
|
+
return this.dotMastraPath;
|
|
1082
|
+
};
|
|
1083
|
+
_proto.getMastra = /*#__PURE__*/function () {
|
|
1084
|
+
var _getMastra = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1085
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1086
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1087
|
+
case 0:
|
|
1088
|
+
_context.next = 2;
|
|
1089
|
+
return import(join(this.dotMastraPath, 'mastra.mjs'));
|
|
1090
|
+
case 2:
|
|
1091
|
+
return _context.abrupt("return", _context.sent);
|
|
1092
|
+
case 3:
|
|
1093
|
+
case "end":
|
|
1094
|
+
return _context.stop();
|
|
1095
|
+
}
|
|
1096
|
+
}, _callee, this);
|
|
1097
|
+
}));
|
|
1098
|
+
function getMastra() {
|
|
1099
|
+
return _getMastra.apply(this, arguments);
|
|
1100
|
+
}
|
|
1101
|
+
return getMastra;
|
|
1102
|
+
}();
|
|
1103
|
+
_proto.writePackageJson = /*#__PURE__*/function () {
|
|
1104
|
+
var _writePackageJson = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1105
|
+
var projectPkg, mastraDeps, pkgPath;
|
|
1106
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1107
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1108
|
+
case 0:
|
|
1109
|
+
this.log('Writing package.json');
|
|
1110
|
+
projectPkg = {
|
|
1111
|
+
dependencies: {}
|
|
1112
|
+
};
|
|
1113
|
+
try {
|
|
1114
|
+
projectPkg = JSON.parse(readFileSync(join(this.dotMastraPath, '..', 'package.json'), 'utf-8'));
|
|
1115
|
+
} catch (_e) {
|
|
1116
|
+
// no-op
|
|
1117
|
+
}
|
|
1118
|
+
mastraDeps = Object.entries(projectPkg.dependencies).filter(function (_ref2) {
|
|
1119
|
+
var name = _ref2[0];
|
|
1120
|
+
return name.startsWith('@mastra') && !name.startsWith('@mastra/deployer');
|
|
1121
|
+
}).reduce(function (acc, _ref3) {
|
|
1122
|
+
var name = _ref3[0],
|
|
1123
|
+
version = _ref3[1];
|
|
1124
|
+
if (version === 'workspace:*') {
|
|
1125
|
+
acc[name] = 'latest';
|
|
1126
|
+
} else {
|
|
1127
|
+
acc[name] = version;
|
|
1128
|
+
}
|
|
1129
|
+
return acc;
|
|
1130
|
+
}, {});
|
|
1131
|
+
pkgPath = join(this.dotMastraPath, 'package.json');
|
|
1132
|
+
if (!(this.type === 'Dev' && existsSync(pkgPath))) {
|
|
1133
|
+
_context2.next = 7;
|
|
1134
|
+
break;
|
|
1135
|
+
}
|
|
1136
|
+
return _context2.abrupt("return");
|
|
1137
|
+
case 7:
|
|
1138
|
+
writeFileSync(pkgPath, JSON.stringify({
|
|
1139
|
+
name: 'server',
|
|
1140
|
+
version: '1.0.0',
|
|
1141
|
+
description: '',
|
|
1142
|
+
type: 'module',
|
|
1143
|
+
main: 'index.mjs',
|
|
1144
|
+
scripts: {
|
|
1145
|
+
start: 'node ./index.mjs'
|
|
1146
|
+
},
|
|
1147
|
+
author: '',
|
|
1148
|
+
license: 'ISC',
|
|
1149
|
+
dependencies: _extends({}, mastraDeps, {
|
|
1150
|
+
hono: '4.6.17',
|
|
1151
|
+
execa: 'latest',
|
|
1152
|
+
'@hono/node-server': '^1.13.7',
|
|
1153
|
+
superjson: '^2.2.2',
|
|
1154
|
+
'zod-to-json-schema': '^3.24.1'
|
|
1155
|
+
})
|
|
1156
|
+
}, null, 2));
|
|
1157
|
+
case 8:
|
|
1158
|
+
case "end":
|
|
1159
|
+
return _context2.stop();
|
|
1160
|
+
}
|
|
1161
|
+
}, _callee2, this);
|
|
1162
|
+
}));
|
|
1163
|
+
function writePackageJson() {
|
|
1164
|
+
return _writePackageJson.apply(this, arguments);
|
|
1165
|
+
}
|
|
1166
|
+
return writePackageJson;
|
|
1167
|
+
}();
|
|
1168
|
+
_proto.install = /*#__PURE__*/function () {
|
|
1169
|
+
var _install = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
1170
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1171
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1172
|
+
case 0:
|
|
1173
|
+
this.log('Ensuring your dependencies up to date...');
|
|
1174
|
+
_context3.next = 3;
|
|
1175
|
+
return this.deps.install();
|
|
1176
|
+
case 3:
|
|
1177
|
+
case "end":
|
|
1178
|
+
return _context3.stop();
|
|
1179
|
+
}
|
|
1180
|
+
}, _callee3, this);
|
|
1181
|
+
}));
|
|
1182
|
+
function install() {
|
|
1183
|
+
return _install.apply(this, arguments);
|
|
1184
|
+
}
|
|
1185
|
+
return install;
|
|
1186
|
+
}();
|
|
1187
|
+
_proto.getEnvFiles = function getEnvFiles() {
|
|
1188
|
+
var envFiles = ['.env', '.env.development', '.env.local'].map(function (file) {
|
|
1189
|
+
return join(process.cwd(), file);
|
|
1190
|
+
}).filter(function (file) {
|
|
1191
|
+
return existsSync(file);
|
|
1192
|
+
});
|
|
1193
|
+
return envFiles;
|
|
1194
|
+
};
|
|
1195
|
+
_proto.getEnvVars = function getEnvVars() {
|
|
1196
|
+
// Get all env vars
|
|
1197
|
+
var envFiles = this.getEnvFiles();
|
|
1198
|
+
var envVars = {};
|
|
1199
|
+
for (var _iterator = _createForOfIteratorHelperLoose(envFiles), _step; !(_step = _iterator()).done;) {
|
|
1200
|
+
var file = _step.value;
|
|
1201
|
+
var vars = this.parseEnvFile(file);
|
|
1202
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(vars), _step2; !(_step2 = _iterator2()).done;) {
|
|
1203
|
+
var envVar = _step2.value;
|
|
1204
|
+
var _envVar$split = envVar.split('='),
|
|
1205
|
+
key = _envVar$split[0],
|
|
1206
|
+
value = _envVar$split[1];
|
|
1207
|
+
if (key && value) {
|
|
1208
|
+
envVars[key] = value;
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
return envVars;
|
|
1213
|
+
};
|
|
1214
|
+
_proto.parseEnvFile = function parseEnvFile(filePath) {
|
|
1215
|
+
var content = readFileSync(filePath, 'utf-8');
|
|
1216
|
+
return content.split('\n').map(function (line) {
|
|
1217
|
+
return line.trim();
|
|
1218
|
+
}).filter(function (line) {
|
|
1219
|
+
return line && !line.startsWith('#');
|
|
1220
|
+
}).filter(function (line) {
|
|
1221
|
+
return line.includes('=');
|
|
1222
|
+
}); // Only include valid KEY=value pairs
|
|
1223
|
+
};
|
|
1224
|
+
_proto.build = /*#__PURE__*/function () {
|
|
1225
|
+
var _build = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
|
|
1226
|
+
var dir, _ref4$useBanner, useBanner;
|
|
1227
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1228
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1229
|
+
case 0:
|
|
1230
|
+
dir = _ref4.dir, _ref4$useBanner = _ref4.useBanner, useBanner = _ref4$useBanner === void 0 ? true : _ref4$useBanner;
|
|
1231
|
+
if (!existsSync(this.dotMastraPath)) {
|
|
1232
|
+
mkdirSync(this.dotMastraPath);
|
|
1233
|
+
}
|
|
1234
|
+
_context4.next = 4;
|
|
1235
|
+
return bundle(dir, {
|
|
1236
|
+
useBanner: useBanner,
|
|
1237
|
+
outfile: join(this.dotMastraPath, 'mastra.mjs')
|
|
1238
|
+
});
|
|
1239
|
+
case 4:
|
|
1240
|
+
case "end":
|
|
1241
|
+
return _context4.stop();
|
|
1242
|
+
}
|
|
1243
|
+
}, _callee4, this);
|
|
1244
|
+
}));
|
|
1245
|
+
function build(_x) {
|
|
1246
|
+
return _build.apply(this, arguments);
|
|
1247
|
+
}
|
|
1248
|
+
return build;
|
|
1249
|
+
}();
|
|
1250
|
+
_proto.buildServer = /*#__PURE__*/function () {
|
|
1251
|
+
var _buildServer = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_temp) {
|
|
1252
|
+
var _ref5, _ref5$playground, playground, templatePath;
|
|
1253
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1254
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1255
|
+
case 0:
|
|
1256
|
+
_ref5 = _temp === void 0 ? {
|
|
1257
|
+
playground: false
|
|
1258
|
+
} : _temp, _ref5$playground = _ref5.playground, playground = _ref5$playground === void 0 ? false : _ref5$playground;
|
|
1259
|
+
upsertMastraDir();
|
|
1260
|
+
templatePath = join(this.dotMastraPath, 'hono.mjs');
|
|
1261
|
+
writeFileSync(templatePath, "\n import { createHonoServer } from './server.mjs';\n import { mastra } from './mastra.mjs';\n\n export const app = await createHonoServer(mastra, { playground: " + playground + " });\n ");
|
|
1262
|
+
case 4:
|
|
1263
|
+
case "end":
|
|
1264
|
+
return _context5.stop();
|
|
1265
|
+
}
|
|
1266
|
+
}, _callee5, this);
|
|
1267
|
+
}));
|
|
1268
|
+
function buildServer(_x2) {
|
|
1269
|
+
return _buildServer.apply(this, arguments);
|
|
1270
|
+
}
|
|
1271
|
+
return buildServer;
|
|
1272
|
+
}();
|
|
1273
|
+
_proto.writeServerFile = /*#__PURE__*/function () {
|
|
1274
|
+
var _writeServerFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
1275
|
+
var fileServerPath, serverPath;
|
|
1276
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1277
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1278
|
+
case 0:
|
|
1279
|
+
_context6.next = 2;
|
|
1280
|
+
return import.meta.resolve('@mastra/deployer/server');
|
|
1281
|
+
case 2:
|
|
1282
|
+
fileServerPath = _context6.sent;
|
|
1283
|
+
serverPath = fileURLToPath(fileServerPath);
|
|
1284
|
+
copyFileSync(serverPath, join(this.dotMastraPath, 'server.mjs'));
|
|
1285
|
+
case 5:
|
|
1286
|
+
case "end":
|
|
1287
|
+
return _context6.stop();
|
|
1288
|
+
}
|
|
1289
|
+
}, _callee6, this);
|
|
1290
|
+
}));
|
|
1291
|
+
function writeServerFile() {
|
|
1292
|
+
return _writeServerFile.apply(this, arguments);
|
|
1293
|
+
}
|
|
1294
|
+
return writeServerFile;
|
|
1295
|
+
}();
|
|
1296
|
+
_proto.prepare = /*#__PURE__*/function () {
|
|
1297
|
+
var _prepare = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref6) {
|
|
1298
|
+
var dir, playground, _ref6$useBanner, useBanner, dirPath;
|
|
1299
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1300
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1301
|
+
case 0:
|
|
1302
|
+
dir = _ref6.dir, playground = _ref6.playground, _ref6$useBanner = _ref6.useBanner, useBanner = _ref6$useBanner === void 0 ? true : _ref6$useBanner;
|
|
1303
|
+
this.log('Preparing .mastra directory');
|
|
1304
|
+
upsertMastraDir();
|
|
1305
|
+
dirPath = dir || path.join(process.cwd(), 'src/mastra');
|
|
1306
|
+
this.writePackageJson();
|
|
1307
|
+
this.writeServerFile();
|
|
1308
|
+
_context7.next = 8;
|
|
1309
|
+
return this.install();
|
|
1310
|
+
case 8:
|
|
1311
|
+
_context7.next = 10;
|
|
1312
|
+
return this.build({
|
|
1313
|
+
dir: dirPath,
|
|
1314
|
+
useBanner: useBanner
|
|
1315
|
+
});
|
|
1316
|
+
case 10:
|
|
1317
|
+
_context7.next = 12;
|
|
1318
|
+
return this.buildServer({
|
|
1319
|
+
playground: playground
|
|
1320
|
+
});
|
|
1321
|
+
case 12:
|
|
1322
|
+
case "end":
|
|
1323
|
+
return _context7.stop();
|
|
1324
|
+
}
|
|
1325
|
+
}, _callee7, this);
|
|
1326
|
+
}));
|
|
1327
|
+
function prepare(_x3) {
|
|
1328
|
+
return _prepare.apply(this, arguments);
|
|
1329
|
+
}
|
|
1330
|
+
return prepare;
|
|
1331
|
+
}();
|
|
1332
|
+
return Deployer;
|
|
1333
|
+
}();
|
|
1334
|
+
|
|
1335
|
+
// Helper to handle errors consistently
|
|
1336
|
+
function handleError(error, defaultMessage) {
|
|
1337
|
+
console.error(defaultMessage, error);
|
|
1338
|
+
var apiError = error;
|
|
1339
|
+
throw new HTTPException(apiError.status || 500, {
|
|
1340
|
+
message: apiError.message || defaultMessage
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
// Validation helper
|
|
1345
|
+
function validateBody(body) {
|
|
1346
|
+
var errorResponse = Object.entries(body).reduce(function (acc, _ref) {
|
|
1347
|
+
var key = _ref[0],
|
|
1348
|
+
value = _ref[1];
|
|
1349
|
+
if (!value) {
|
|
1350
|
+
acc[key] = key + " is required";
|
|
1351
|
+
}
|
|
1352
|
+
return acc;
|
|
1353
|
+
}, {});
|
|
1354
|
+
if (Object.keys(errorResponse).length > 0) {
|
|
1355
|
+
throw new HTTPException(400, {
|
|
1356
|
+
message: JSON.stringify(errorResponse)
|
|
1357
|
+
});
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
// Agent handlers
|
|
1362
|
+
function getAgentsHandler(_x) {
|
|
1363
|
+
return _getAgentsHandler.apply(this, arguments);
|
|
1364
|
+
}
|
|
1365
|
+
function _getAgentsHandler() {
|
|
1366
|
+
_getAgentsHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
1367
|
+
var mastra, agents, serializedAgents;
|
|
1368
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1369
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1370
|
+
case 0:
|
|
1371
|
+
_context.prev = 0;
|
|
1372
|
+
mastra = c.get('mastra');
|
|
1373
|
+
agents = mastra.getAgents();
|
|
1374
|
+
serializedAgents = Object.entries(agents).reduce(function (acc, _ref) {
|
|
1375
|
+
var _id = _ref[0],
|
|
1376
|
+
_agent = _ref[1];
|
|
1377
|
+
var agent = _agent;
|
|
1378
|
+
var serializedAgentTools = Object.entries((agent == null ? void 0 : agent.tools) || {}).reduce(function (acc, _ref2) {
|
|
1379
|
+
var key = _ref2[0],
|
|
1380
|
+
tool = _ref2[1];
|
|
1381
|
+
var _tool = tool;
|
|
1382
|
+
acc[key] = _extends({}, _tool, {
|
|
1383
|
+
inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,
|
|
1384
|
+
outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined
|
|
1385
|
+
});
|
|
1386
|
+
return acc;
|
|
1387
|
+
}, {});
|
|
1388
|
+
acc[_id] = _extends({}, agent, {
|
|
1389
|
+
tools: serializedAgentTools
|
|
1390
|
+
});
|
|
1391
|
+
return acc;
|
|
1392
|
+
}, {});
|
|
1393
|
+
return _context.abrupt("return", c.json(serializedAgents));
|
|
1394
|
+
case 7:
|
|
1395
|
+
_context.prev = 7;
|
|
1396
|
+
_context.t0 = _context["catch"](0);
|
|
1397
|
+
return _context.abrupt("return", handleError(_context.t0, 'Error getting agents'));
|
|
1398
|
+
case 10:
|
|
1399
|
+
case "end":
|
|
1400
|
+
return _context.stop();
|
|
1401
|
+
}
|
|
1402
|
+
}, _callee, null, [[0, 7]]);
|
|
1403
|
+
}));
|
|
1404
|
+
return _getAgentsHandler.apply(this, arguments);
|
|
1405
|
+
}
|
|
1406
|
+
function getAgentByIdHandler(_x2) {
|
|
1407
|
+
return _getAgentByIdHandler.apply(this, arguments);
|
|
1408
|
+
}
|
|
1409
|
+
function _getAgentByIdHandler() {
|
|
1410
|
+
_getAgentByIdHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(c) {
|
|
1411
|
+
var mastra, agentId, agent, serializedAgentTools;
|
|
1412
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1413
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1414
|
+
case 0:
|
|
1415
|
+
_context2.prev = 0;
|
|
1416
|
+
mastra = c.get('mastra');
|
|
1417
|
+
agentId = c.req.param('agentId');
|
|
1418
|
+
agent = mastra.getAgent(agentId);
|
|
1419
|
+
if (agent) {
|
|
1420
|
+
_context2.next = 6;
|
|
1421
|
+
break;
|
|
1422
|
+
}
|
|
1423
|
+
throw new HTTPException(404, {
|
|
1424
|
+
message: 'Agent not found'
|
|
1425
|
+
});
|
|
1426
|
+
case 6:
|
|
1427
|
+
serializedAgentTools = Object.entries((agent == null ? void 0 : agent.tools) || {}).reduce(function (acc, _ref3) {
|
|
1428
|
+
var key = _ref3[0],
|
|
1429
|
+
tool = _ref3[1];
|
|
1430
|
+
var _tool = tool;
|
|
1431
|
+
acc[key] = _extends({}, _tool, {
|
|
1432
|
+
inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,
|
|
1433
|
+
outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined
|
|
1434
|
+
});
|
|
1435
|
+
return acc;
|
|
1436
|
+
}, {});
|
|
1437
|
+
return _context2.abrupt("return", c.json(_extends({}, agent, {
|
|
1438
|
+
tools: serializedAgentTools
|
|
1439
|
+
})));
|
|
1440
|
+
case 10:
|
|
1441
|
+
_context2.prev = 10;
|
|
1442
|
+
_context2.t0 = _context2["catch"](0);
|
|
1443
|
+
return _context2.abrupt("return", handleError(_context2.t0, 'Error getting agent'));
|
|
1444
|
+
case 13:
|
|
1445
|
+
case "end":
|
|
1446
|
+
return _context2.stop();
|
|
1447
|
+
}
|
|
1448
|
+
}, _callee2, null, [[0, 10]]);
|
|
1449
|
+
}));
|
|
1450
|
+
return _getAgentByIdHandler.apply(this, arguments);
|
|
1451
|
+
}
|
|
1452
|
+
function generateHandler(_x3) {
|
|
1453
|
+
return _generateHandler.apply(this, arguments);
|
|
1454
|
+
}
|
|
1455
|
+
function _generateHandler() {
|
|
1456
|
+
_generateHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(c) {
|
|
1457
|
+
var mastra, agentId, agent, _yield$c$req$json, messages, threadId, resourceid, output, result;
|
|
1458
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1459
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1460
|
+
case 0:
|
|
1461
|
+
_context3.prev = 0;
|
|
1462
|
+
mastra = c.get('mastra');
|
|
1463
|
+
agentId = c.req.param('agentId');
|
|
1464
|
+
agent = mastra.getAgent(agentId);
|
|
1465
|
+
if (agent) {
|
|
1466
|
+
_context3.next = 6;
|
|
1467
|
+
break;
|
|
1468
|
+
}
|
|
1469
|
+
throw new HTTPException(404, {
|
|
1470
|
+
message: 'Agent not found'
|
|
1471
|
+
});
|
|
1472
|
+
case 6:
|
|
1473
|
+
_context3.next = 8;
|
|
1474
|
+
return c.req.json();
|
|
1475
|
+
case 8:
|
|
1476
|
+
_yield$c$req$json = _context3.sent;
|
|
1477
|
+
messages = _yield$c$req$json.messages;
|
|
1478
|
+
threadId = _yield$c$req$json.threadId;
|
|
1479
|
+
resourceid = _yield$c$req$json.resourceid;
|
|
1480
|
+
output = _yield$c$req$json.output;
|
|
1481
|
+
validateBody({
|
|
1482
|
+
messages: messages
|
|
1483
|
+
});
|
|
1484
|
+
if (Array.isArray(messages)) {
|
|
1485
|
+
_context3.next = 16;
|
|
1486
|
+
break;
|
|
1487
|
+
}
|
|
1488
|
+
throw new HTTPException(400, {
|
|
1489
|
+
message: 'Messages should be an array'
|
|
1490
|
+
});
|
|
1491
|
+
case 16:
|
|
1492
|
+
_context3.next = 18;
|
|
1493
|
+
return agent.generate(messages, {
|
|
1494
|
+
threadId: threadId,
|
|
1495
|
+
resourceid: resourceid,
|
|
1496
|
+
output: output
|
|
1497
|
+
});
|
|
1498
|
+
case 18:
|
|
1499
|
+
result = _context3.sent;
|
|
1500
|
+
return _context3.abrupt("return", c.json(result));
|
|
1501
|
+
case 22:
|
|
1502
|
+
_context3.prev = 22;
|
|
1503
|
+
_context3.t0 = _context3["catch"](0);
|
|
1504
|
+
return _context3.abrupt("return", handleError(_context3.t0, 'Error generating from agent'));
|
|
1505
|
+
case 25:
|
|
1506
|
+
case "end":
|
|
1507
|
+
return _context3.stop();
|
|
1508
|
+
}
|
|
1509
|
+
}, _callee3, null, [[0, 22]]);
|
|
1510
|
+
}));
|
|
1511
|
+
return _generateHandler.apply(this, arguments);
|
|
1512
|
+
}
|
|
1513
|
+
function streamGenerateHandler(_x4) {
|
|
1514
|
+
return _streamGenerateHandler.apply(this, arguments);
|
|
1515
|
+
}
|
|
1516
|
+
function _streamGenerateHandler() {
|
|
1517
|
+
_streamGenerateHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(c) {
|
|
1518
|
+
var mastra, agentId, agent, _yield$c$req$json2, messages, threadId, resourceid, output, streamResult;
|
|
1519
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1520
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1521
|
+
case 0:
|
|
1522
|
+
_context4.prev = 0;
|
|
1523
|
+
mastra = c.get('mastra');
|
|
1524
|
+
agentId = c.req.param('agentId');
|
|
1525
|
+
agent = mastra.getAgent(agentId);
|
|
1526
|
+
if (agent) {
|
|
1527
|
+
_context4.next = 6;
|
|
1528
|
+
break;
|
|
1529
|
+
}
|
|
1530
|
+
throw new HTTPException(404, {
|
|
1531
|
+
message: 'Agent not found'
|
|
1532
|
+
});
|
|
1533
|
+
case 6:
|
|
1534
|
+
_context4.next = 8;
|
|
1535
|
+
return c.req.json();
|
|
1536
|
+
case 8:
|
|
1537
|
+
_yield$c$req$json2 = _context4.sent;
|
|
1538
|
+
messages = _yield$c$req$json2.messages;
|
|
1539
|
+
threadId = _yield$c$req$json2.threadId;
|
|
1540
|
+
resourceid = _yield$c$req$json2.resourceid;
|
|
1541
|
+
output = _yield$c$req$json2.output;
|
|
1542
|
+
validateBody({
|
|
1543
|
+
messages: messages
|
|
1544
|
+
});
|
|
1545
|
+
if (Array.isArray(messages)) {
|
|
1546
|
+
_context4.next = 16;
|
|
1547
|
+
break;
|
|
1548
|
+
}
|
|
1549
|
+
throw new HTTPException(400, {
|
|
1550
|
+
message: 'Messages should be an array'
|
|
1551
|
+
});
|
|
1552
|
+
case 16:
|
|
1553
|
+
_context4.next = 18;
|
|
1554
|
+
return agent.stream(messages, {
|
|
1555
|
+
threadId: threadId,
|
|
1556
|
+
resourceid: resourceid,
|
|
1557
|
+
output: output
|
|
1558
|
+
});
|
|
1559
|
+
case 18:
|
|
1560
|
+
streamResult = _context4.sent;
|
|
1561
|
+
return _context4.abrupt("return", new Response(streamResult.toDataStream(), {
|
|
1562
|
+
headers: {
|
|
1563
|
+
'Content-Type': 'text/x-unknown',
|
|
1564
|
+
'content-encoding': 'identity',
|
|
1565
|
+
'transfer-encoding': 'chunked'
|
|
1566
|
+
}
|
|
1567
|
+
}));
|
|
1568
|
+
case 22:
|
|
1569
|
+
_context4.prev = 22;
|
|
1570
|
+
_context4.t0 = _context4["catch"](0);
|
|
1571
|
+
return _context4.abrupt("return", handleError(_context4.t0, 'Error streaming from agent'));
|
|
1572
|
+
case 25:
|
|
1573
|
+
case "end":
|
|
1574
|
+
return _context4.stop();
|
|
1575
|
+
}
|
|
1576
|
+
}, _callee4, null, [[0, 22]]);
|
|
1577
|
+
}));
|
|
1578
|
+
return _streamGenerateHandler.apply(this, arguments);
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
var clients = /*#__PURE__*/new Set();
|
|
1582
|
+
function handleClientsRefresh(c) {
|
|
1583
|
+
var stream = new ReadableStream({
|
|
1584
|
+
start: function start(controller) {
|
|
1585
|
+
clients.add(controller);
|
|
1586
|
+
controller.enqueue('data: connected\n\n');
|
|
1587
|
+
c.req.raw.signal.addEventListener('abort', function () {
|
|
1588
|
+
clients["delete"](controller);
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1591
|
+
});
|
|
1592
|
+
return new Response(stream, {
|
|
1593
|
+
headers: {
|
|
1594
|
+
'Content-Type': 'text/event-stream',
|
|
1595
|
+
'Cache-Control': 'no-cache',
|
|
1596
|
+
Connection: 'keep-alive',
|
|
1597
|
+
'Access-Control-Allow-Origin': '*'
|
|
1598
|
+
}
|
|
1599
|
+
});
|
|
1600
|
+
}
|
|
1601
|
+
function handleTriggerClientsRefresh(c) {
|
|
1602
|
+
clients.forEach(function (controller) {
|
|
1603
|
+
try {
|
|
1604
|
+
controller.enqueue('data: refresh\n\n');
|
|
1605
|
+
} catch (_unused) {
|
|
1606
|
+
clients["delete"](controller);
|
|
1607
|
+
}
|
|
1608
|
+
});
|
|
1609
|
+
return c.json({
|
|
1610
|
+
success: true,
|
|
1611
|
+
clients: clients.size
|
|
1612
|
+
});
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
function getLogsHandler(_x) {
|
|
1616
|
+
return _getLogsHandler.apply(this, arguments);
|
|
1617
|
+
}
|
|
1618
|
+
function _getLogsHandler() {
|
|
1619
|
+
_getLogsHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
1620
|
+
var mastra, logs;
|
|
1621
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1622
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1623
|
+
case 0:
|
|
1624
|
+
_context.prev = 0;
|
|
1625
|
+
mastra = c.get('mastra');
|
|
1626
|
+
_context.next = 4;
|
|
1627
|
+
return mastra.getLogs();
|
|
1628
|
+
case 4:
|
|
1629
|
+
logs = _context.sent;
|
|
1630
|
+
return _context.abrupt("return", c.json(logs));
|
|
1631
|
+
case 8:
|
|
1632
|
+
_context.prev = 8;
|
|
1633
|
+
_context.t0 = _context["catch"](0);
|
|
1634
|
+
return _context.abrupt("return", handleError(_context.t0, 'Error getting logs'));
|
|
1635
|
+
case 11:
|
|
1636
|
+
case "end":
|
|
1637
|
+
return _context.stop();
|
|
1638
|
+
}
|
|
1639
|
+
}, _callee, null, [[0, 8]]);
|
|
1640
|
+
}));
|
|
1641
|
+
return _getLogsHandler.apply(this, arguments);
|
|
1642
|
+
}
|
|
1643
|
+
function getLogsByRunIdHandler(_x2) {
|
|
1644
|
+
return _getLogsByRunIdHandler.apply(this, arguments);
|
|
1645
|
+
}
|
|
1646
|
+
function _getLogsByRunIdHandler() {
|
|
1647
|
+
_getLogsByRunIdHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(c) {
|
|
1648
|
+
var mastra, runId, logs;
|
|
1649
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1650
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1651
|
+
case 0:
|
|
1652
|
+
_context2.prev = 0;
|
|
1653
|
+
mastra = c.get('mastra');
|
|
1654
|
+
runId = c.req.param('runId');
|
|
1655
|
+
_context2.next = 5;
|
|
1656
|
+
return mastra.getLogsByRunId(runId);
|
|
1657
|
+
case 5:
|
|
1658
|
+
logs = _context2.sent;
|
|
1659
|
+
return _context2.abrupt("return", c.json(logs));
|
|
1660
|
+
case 9:
|
|
1661
|
+
_context2.prev = 9;
|
|
1662
|
+
_context2.t0 = _context2["catch"](0);
|
|
1663
|
+
return _context2.abrupt("return", handleError(_context2.t0, 'Error getting logs by run ID'));
|
|
1664
|
+
case 12:
|
|
1665
|
+
case "end":
|
|
1666
|
+
return _context2.stop();
|
|
1667
|
+
}
|
|
1668
|
+
}, _callee2, null, [[0, 9]]);
|
|
1669
|
+
}));
|
|
1670
|
+
return _getLogsByRunIdHandler.apply(this, arguments);
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
// Memory handlers
|
|
1674
|
+
function getMemoryStatusHandler(_x) {
|
|
1675
|
+
return _getMemoryStatusHandler.apply(this, arguments);
|
|
1676
|
+
}
|
|
1677
|
+
function _getMemoryStatusHandler() {
|
|
1678
|
+
_getMemoryStatusHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
1679
|
+
var mastra, memory;
|
|
1680
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1681
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1682
|
+
case 0:
|
|
1683
|
+
_context.prev = 0;
|
|
1684
|
+
mastra = c.get('mastra');
|
|
1685
|
+
memory = mastra.memory;
|
|
1686
|
+
if (memory) {
|
|
1687
|
+
_context.next = 5;
|
|
1688
|
+
break;
|
|
1689
|
+
}
|
|
1690
|
+
return _context.abrupt("return", c.json({
|
|
1691
|
+
result: false
|
|
1692
|
+
}));
|
|
1693
|
+
case 5:
|
|
1694
|
+
return _context.abrupt("return", c.json({
|
|
1695
|
+
result: true
|
|
1696
|
+
}));
|
|
1697
|
+
case 8:
|
|
1698
|
+
_context.prev = 8;
|
|
1699
|
+
_context.t0 = _context["catch"](0);
|
|
1700
|
+
return _context.abrupt("return", handleError(_context.t0, 'Error getting memory status'));
|
|
1701
|
+
case 11:
|
|
1702
|
+
case "end":
|
|
1703
|
+
return _context.stop();
|
|
1704
|
+
}
|
|
1705
|
+
}, _callee, null, [[0, 8]]);
|
|
1706
|
+
}));
|
|
1707
|
+
return _getMemoryStatusHandler.apply(this, arguments);
|
|
1708
|
+
}
|
|
1709
|
+
function getThreadsHandler(_x2) {
|
|
1710
|
+
return _getThreadsHandler.apply(this, arguments);
|
|
1711
|
+
}
|
|
1712
|
+
function _getThreadsHandler() {
|
|
1713
|
+
_getThreadsHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(c) {
|
|
1714
|
+
var mastra, memory, _c$req$query, resourceid, threads;
|
|
1715
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1716
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1717
|
+
case 0:
|
|
1718
|
+
_context2.prev = 0;
|
|
1719
|
+
mastra = c.get('mastra');
|
|
1720
|
+
memory = mastra.memory;
|
|
1721
|
+
_c$req$query = c.req.query(), resourceid = _c$req$query.resourceid;
|
|
1722
|
+
if (memory) {
|
|
1723
|
+
_context2.next = 6;
|
|
1724
|
+
break;
|
|
1725
|
+
}
|
|
1726
|
+
throw new HTTPException(400, {
|
|
1727
|
+
message: 'Memory is not initialized'
|
|
1728
|
+
});
|
|
1729
|
+
case 6:
|
|
1730
|
+
_context2.next = 8;
|
|
1731
|
+
return memory.getThreadsByResourceId({
|
|
1732
|
+
resourceid: resourceid
|
|
1733
|
+
});
|
|
1734
|
+
case 8:
|
|
1735
|
+
threads = _context2.sent;
|
|
1736
|
+
return _context2.abrupt("return", c.json(threads));
|
|
1737
|
+
case 12:
|
|
1738
|
+
_context2.prev = 12;
|
|
1739
|
+
_context2.t0 = _context2["catch"](0);
|
|
1740
|
+
return _context2.abrupt("return", handleError(_context2.t0, 'Error getting threads'));
|
|
1741
|
+
case 15:
|
|
1742
|
+
case "end":
|
|
1743
|
+
return _context2.stop();
|
|
1744
|
+
}
|
|
1745
|
+
}, _callee2, null, [[0, 12]]);
|
|
1746
|
+
}));
|
|
1747
|
+
return _getThreadsHandler.apply(this, arguments);
|
|
1748
|
+
}
|
|
1749
|
+
function getThreadByIdHandler(_x3) {
|
|
1750
|
+
return _getThreadByIdHandler.apply(this, arguments);
|
|
1751
|
+
}
|
|
1752
|
+
function _getThreadByIdHandler() {
|
|
1753
|
+
_getThreadByIdHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(c) {
|
|
1754
|
+
var mastra, memory, threadId, thread;
|
|
1755
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1756
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1757
|
+
case 0:
|
|
1758
|
+
_context3.prev = 0;
|
|
1759
|
+
mastra = c.get('mastra');
|
|
1760
|
+
memory = mastra.memory;
|
|
1761
|
+
threadId = c.req.param('threadId');
|
|
1762
|
+
if (memory) {
|
|
1763
|
+
_context3.next = 6;
|
|
1764
|
+
break;
|
|
1765
|
+
}
|
|
1766
|
+
throw new HTTPException(400, {
|
|
1767
|
+
message: 'Memory is not initialized'
|
|
1768
|
+
});
|
|
1769
|
+
case 6:
|
|
1770
|
+
_context3.next = 8;
|
|
1771
|
+
return memory.getThreadById({
|
|
1772
|
+
threadId: threadId
|
|
1773
|
+
});
|
|
1774
|
+
case 8:
|
|
1775
|
+
thread = _context3.sent;
|
|
1776
|
+
if (thread) {
|
|
1777
|
+
_context3.next = 11;
|
|
1778
|
+
break;
|
|
1779
|
+
}
|
|
1780
|
+
throw new HTTPException(404, {
|
|
1781
|
+
message: 'Thread not found'
|
|
1782
|
+
});
|
|
1783
|
+
case 11:
|
|
1784
|
+
return _context3.abrupt("return", c.json(thread));
|
|
1785
|
+
case 14:
|
|
1786
|
+
_context3.prev = 14;
|
|
1787
|
+
_context3.t0 = _context3["catch"](0);
|
|
1788
|
+
return _context3.abrupt("return", handleError(_context3.t0, 'Error getting thread'));
|
|
1789
|
+
case 17:
|
|
1790
|
+
case "end":
|
|
1791
|
+
return _context3.stop();
|
|
1792
|
+
}
|
|
1793
|
+
}, _callee3, null, [[0, 14]]);
|
|
1794
|
+
}));
|
|
1795
|
+
return _getThreadByIdHandler.apply(this, arguments);
|
|
1796
|
+
}
|
|
1797
|
+
function saveMessagesHandler(_x4) {
|
|
1798
|
+
return _saveMessagesHandler.apply(this, arguments);
|
|
1799
|
+
}
|
|
1800
|
+
function _saveMessagesHandler() {
|
|
1801
|
+
_saveMessagesHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(c) {
|
|
1802
|
+
var mastra, memory, _yield$c$req$json, messages, processedMessages, result;
|
|
1803
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1804
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1805
|
+
case 0:
|
|
1806
|
+
_context4.prev = 0;
|
|
1807
|
+
mastra = c.get('mastra');
|
|
1808
|
+
memory = mastra.memory;
|
|
1809
|
+
_context4.next = 5;
|
|
1810
|
+
return c.req.json();
|
|
1811
|
+
case 5:
|
|
1812
|
+
_yield$c$req$json = _context4.sent;
|
|
1813
|
+
messages = _yield$c$req$json.messages;
|
|
1814
|
+
if (memory) {
|
|
1815
|
+
_context4.next = 9;
|
|
1816
|
+
break;
|
|
1817
|
+
}
|
|
1818
|
+
throw new HTTPException(400, {
|
|
1819
|
+
message: 'Memory is not initialized'
|
|
1820
|
+
});
|
|
1821
|
+
case 9:
|
|
1822
|
+
validateBody({
|
|
1823
|
+
messages: messages
|
|
1824
|
+
});
|
|
1825
|
+
if (Array.isArray(messages)) {
|
|
1826
|
+
_context4.next = 12;
|
|
1827
|
+
break;
|
|
1828
|
+
}
|
|
1829
|
+
throw new HTTPException(400, {
|
|
1830
|
+
message: 'Messages should be an array'
|
|
1831
|
+
});
|
|
1832
|
+
case 12:
|
|
1833
|
+
processedMessages = messages.map(function (message) {
|
|
1834
|
+
return _extends({}, message, {
|
|
1835
|
+
id: memory.generateId(),
|
|
1836
|
+
createdAt: message.createdAt ? new Date(message.createdAt) : new Date()
|
|
1837
|
+
});
|
|
1838
|
+
});
|
|
1839
|
+
_context4.next = 15;
|
|
1840
|
+
return memory.saveMessages({
|
|
1841
|
+
messages: processedMessages
|
|
1842
|
+
});
|
|
1843
|
+
case 15:
|
|
1844
|
+
result = _context4.sent;
|
|
1845
|
+
return _context4.abrupt("return", c.json(result));
|
|
1846
|
+
case 19:
|
|
1847
|
+
_context4.prev = 19;
|
|
1848
|
+
_context4.t0 = _context4["catch"](0);
|
|
1849
|
+
return _context4.abrupt("return", handleError(_context4.t0, 'Error saving messages'));
|
|
1850
|
+
case 22:
|
|
1851
|
+
case "end":
|
|
1852
|
+
return _context4.stop();
|
|
1853
|
+
}
|
|
1854
|
+
}, _callee4, null, [[0, 19]]);
|
|
1855
|
+
}));
|
|
1856
|
+
return _saveMessagesHandler.apply(this, arguments);
|
|
1857
|
+
}
|
|
1858
|
+
function getContextWindowHandler(_x5) {
|
|
1859
|
+
return _getContextWindowHandler.apply(this, arguments);
|
|
1860
|
+
}
|
|
1861
|
+
function _getContextWindowHandler() {
|
|
1862
|
+
_getContextWindowHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(c) {
|
|
1863
|
+
var mastra, memory, threadId, _c$req$query2, startDate, endDate, format, thread, result;
|
|
1864
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1865
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1866
|
+
case 0:
|
|
1867
|
+
_context5.prev = 0;
|
|
1868
|
+
mastra = c.get('mastra');
|
|
1869
|
+
memory = mastra.memory;
|
|
1870
|
+
threadId = c.req.param('threadId');
|
|
1871
|
+
_c$req$query2 = c.req.query(), startDate = _c$req$query2.startDate, endDate = _c$req$query2.endDate, format = _c$req$query2.format;
|
|
1872
|
+
if (memory) {
|
|
1873
|
+
_context5.next = 7;
|
|
1874
|
+
break;
|
|
1875
|
+
}
|
|
1876
|
+
throw new HTTPException(400, {
|
|
1877
|
+
message: 'Memory is not initialized'
|
|
1878
|
+
});
|
|
1879
|
+
case 7:
|
|
1880
|
+
_context5.next = 9;
|
|
1881
|
+
return memory.getThreadById({
|
|
1882
|
+
threadId: threadId
|
|
1883
|
+
});
|
|
1884
|
+
case 9:
|
|
1885
|
+
thread = _context5.sent;
|
|
1886
|
+
if (thread) {
|
|
1887
|
+
_context5.next = 12;
|
|
1888
|
+
break;
|
|
1889
|
+
}
|
|
1890
|
+
throw new HTTPException(404, {
|
|
1891
|
+
message: 'Thread not found'
|
|
1892
|
+
});
|
|
1893
|
+
case 12:
|
|
1894
|
+
_context5.next = 14;
|
|
1895
|
+
return memory.getContextWindow({
|
|
1896
|
+
threadId: threadId,
|
|
1897
|
+
startDate: startDate,
|
|
1898
|
+
endDate: endDate,
|
|
1899
|
+
format: format
|
|
1900
|
+
});
|
|
1901
|
+
case 14:
|
|
1902
|
+
result = _context5.sent;
|
|
1903
|
+
return _context5.abrupt("return", c.json(result));
|
|
1904
|
+
case 18:
|
|
1905
|
+
_context5.prev = 18;
|
|
1906
|
+
_context5.t0 = _context5["catch"](0);
|
|
1907
|
+
return _context5.abrupt("return", handleError(_context5.t0, 'Error getting context window from memory'));
|
|
1908
|
+
case 21:
|
|
1909
|
+
case "end":
|
|
1910
|
+
return _context5.stop();
|
|
1911
|
+
}
|
|
1912
|
+
}, _callee5, null, [[0, 18]]);
|
|
1913
|
+
}));
|
|
1914
|
+
return _getContextWindowHandler.apply(this, arguments);
|
|
1915
|
+
}
|
|
1916
|
+
function createThreadHandler(_x6) {
|
|
1917
|
+
return _createThreadHandler.apply(this, arguments);
|
|
1918
|
+
}
|
|
1919
|
+
function _createThreadHandler() {
|
|
1920
|
+
_createThreadHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(c) {
|
|
1921
|
+
var mastra, memory, _yield$c$req$json2, title, metadata, resourceid, threadId, result;
|
|
1922
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1923
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1924
|
+
case 0:
|
|
1925
|
+
_context6.prev = 0;
|
|
1926
|
+
mastra = c.get('mastra');
|
|
1927
|
+
memory = mastra.memory;
|
|
1928
|
+
_context6.next = 5;
|
|
1929
|
+
return c.req.json();
|
|
1930
|
+
case 5:
|
|
1931
|
+
_yield$c$req$json2 = _context6.sent;
|
|
1932
|
+
title = _yield$c$req$json2.title;
|
|
1933
|
+
metadata = _yield$c$req$json2.metadata;
|
|
1934
|
+
resourceid = _yield$c$req$json2.resourceid;
|
|
1935
|
+
threadId = _yield$c$req$json2.threadId;
|
|
1936
|
+
if (memory) {
|
|
1937
|
+
_context6.next = 12;
|
|
1938
|
+
break;
|
|
1939
|
+
}
|
|
1940
|
+
throw new HTTPException(400, {
|
|
1941
|
+
message: 'Memory is not initialized'
|
|
1942
|
+
});
|
|
1943
|
+
case 12:
|
|
1944
|
+
validateBody({
|
|
1945
|
+
resourceid: resourceid
|
|
1946
|
+
});
|
|
1947
|
+
_context6.next = 15;
|
|
1948
|
+
return memory.createThread({
|
|
1949
|
+
resourceid: resourceid,
|
|
1950
|
+
title: title,
|
|
1951
|
+
metadata: metadata,
|
|
1952
|
+
threadId: threadId
|
|
1953
|
+
});
|
|
1954
|
+
case 15:
|
|
1955
|
+
result = _context6.sent;
|
|
1956
|
+
return _context6.abrupt("return", c.json(result));
|
|
1957
|
+
case 19:
|
|
1958
|
+
_context6.prev = 19;
|
|
1959
|
+
_context6.t0 = _context6["catch"](0);
|
|
1960
|
+
return _context6.abrupt("return", handleError(_context6.t0, 'Error saving thread to memory'));
|
|
1961
|
+
case 22:
|
|
1962
|
+
case "end":
|
|
1963
|
+
return _context6.stop();
|
|
1964
|
+
}
|
|
1965
|
+
}, _callee6, null, [[0, 19]]);
|
|
1966
|
+
}));
|
|
1967
|
+
return _createThreadHandler.apply(this, arguments);
|
|
1968
|
+
}
|
|
1969
|
+
function updateThreadHandler(_x7) {
|
|
1970
|
+
return _updateThreadHandler.apply(this, arguments);
|
|
1971
|
+
}
|
|
1972
|
+
function _updateThreadHandler() {
|
|
1973
|
+
_updateThreadHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(c) {
|
|
1974
|
+
var mastra, memory, threadId, _yield$c$req$json3, title, metadata, resourceid, updatedAt, thread, updatedThread, result;
|
|
1975
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1976
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1977
|
+
case 0:
|
|
1978
|
+
_context7.prev = 0;
|
|
1979
|
+
mastra = c.get('mastra');
|
|
1980
|
+
memory = mastra.memory;
|
|
1981
|
+
threadId = c.req.param('threadId');
|
|
1982
|
+
_context7.next = 6;
|
|
1983
|
+
return c.req.json();
|
|
1984
|
+
case 6:
|
|
1985
|
+
_yield$c$req$json3 = _context7.sent;
|
|
1986
|
+
title = _yield$c$req$json3.title;
|
|
1987
|
+
metadata = _yield$c$req$json3.metadata;
|
|
1988
|
+
resourceid = _yield$c$req$json3.resourceid;
|
|
1989
|
+
updatedAt = new Date();
|
|
1990
|
+
if (memory) {
|
|
1991
|
+
_context7.next = 13;
|
|
1992
|
+
break;
|
|
1993
|
+
}
|
|
1994
|
+
throw new HTTPException(400, {
|
|
1995
|
+
message: 'Memory is not initialized'
|
|
1996
|
+
});
|
|
1997
|
+
case 13:
|
|
1998
|
+
_context7.next = 15;
|
|
1999
|
+
return memory.getThreadById({
|
|
2000
|
+
threadId: threadId
|
|
2001
|
+
});
|
|
2002
|
+
case 15:
|
|
2003
|
+
thread = _context7.sent;
|
|
2004
|
+
if (thread) {
|
|
2005
|
+
_context7.next = 18;
|
|
2006
|
+
break;
|
|
2007
|
+
}
|
|
2008
|
+
throw new HTTPException(404, {
|
|
2009
|
+
message: 'Thread not found'
|
|
2010
|
+
});
|
|
2011
|
+
case 18:
|
|
2012
|
+
updatedThread = _extends({}, thread, {
|
|
2013
|
+
title: title || thread.title,
|
|
2014
|
+
metadata: metadata || thread.metadata,
|
|
2015
|
+
resourceid: resourceid || thread.resourceid,
|
|
2016
|
+
createdAt: thread.createdat,
|
|
2017
|
+
updatedAt: updatedAt
|
|
2018
|
+
});
|
|
2019
|
+
_context7.next = 21;
|
|
2020
|
+
return memory.saveThread({
|
|
2021
|
+
thread: updatedThread
|
|
2022
|
+
});
|
|
2023
|
+
case 21:
|
|
2024
|
+
result = _context7.sent;
|
|
2025
|
+
return _context7.abrupt("return", c.json(result));
|
|
2026
|
+
case 25:
|
|
2027
|
+
_context7.prev = 25;
|
|
2028
|
+
_context7.t0 = _context7["catch"](0);
|
|
2029
|
+
return _context7.abrupt("return", handleError(_context7.t0, 'Error updating thread'));
|
|
2030
|
+
case 28:
|
|
2031
|
+
case "end":
|
|
2032
|
+
return _context7.stop();
|
|
2033
|
+
}
|
|
2034
|
+
}, _callee7, null, [[0, 25]]);
|
|
2035
|
+
}));
|
|
2036
|
+
return _updateThreadHandler.apply(this, arguments);
|
|
2037
|
+
}
|
|
2038
|
+
function deleteThreadHandler(_x8) {
|
|
2039
|
+
return _deleteThreadHandler.apply(this, arguments);
|
|
2040
|
+
}
|
|
2041
|
+
function _deleteThreadHandler() {
|
|
2042
|
+
_deleteThreadHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(c) {
|
|
2043
|
+
var mastra, memory, threadId, thread;
|
|
2044
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
2045
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
2046
|
+
case 0:
|
|
2047
|
+
_context8.prev = 0;
|
|
2048
|
+
mastra = c.get('mastra');
|
|
2049
|
+
memory = mastra.memory;
|
|
2050
|
+
threadId = c.req.param('threadId');
|
|
2051
|
+
if (memory) {
|
|
2052
|
+
_context8.next = 6;
|
|
2053
|
+
break;
|
|
2054
|
+
}
|
|
2055
|
+
throw new HTTPException(400, {
|
|
2056
|
+
message: 'Memory is not initialized'
|
|
2057
|
+
});
|
|
2058
|
+
case 6:
|
|
2059
|
+
_context8.next = 8;
|
|
2060
|
+
return memory.getThreadById({
|
|
2061
|
+
threadId: threadId
|
|
2062
|
+
});
|
|
2063
|
+
case 8:
|
|
2064
|
+
thread = _context8.sent;
|
|
2065
|
+
if (thread) {
|
|
2066
|
+
_context8.next = 11;
|
|
2067
|
+
break;
|
|
2068
|
+
}
|
|
2069
|
+
throw new HTTPException(404, {
|
|
2070
|
+
message: 'Thread not found'
|
|
2071
|
+
});
|
|
2072
|
+
case 11:
|
|
2073
|
+
_context8.next = 13;
|
|
2074
|
+
return memory.deleteThread(threadId);
|
|
2075
|
+
case 13:
|
|
2076
|
+
return _context8.abrupt("return", c.json({
|
|
2077
|
+
result: 'Thread deleted'
|
|
2078
|
+
}));
|
|
2079
|
+
case 16:
|
|
2080
|
+
_context8.prev = 16;
|
|
2081
|
+
_context8.t0 = _context8["catch"](0);
|
|
2082
|
+
return _context8.abrupt("return", handleError(_context8.t0, 'Error deleting thread'));
|
|
2083
|
+
case 19:
|
|
2084
|
+
case "end":
|
|
2085
|
+
return _context8.stop();
|
|
2086
|
+
}
|
|
2087
|
+
}, _callee8, null, [[0, 16]]);
|
|
2088
|
+
}));
|
|
2089
|
+
return _deleteThreadHandler.apply(this, arguments);
|
|
2090
|
+
}
|
|
2091
|
+
function getMessagesHandler(_x9) {
|
|
2092
|
+
return _getMessagesHandler.apply(this, arguments);
|
|
2093
|
+
}
|
|
2094
|
+
function _getMessagesHandler() {
|
|
2095
|
+
_getMessagesHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(c) {
|
|
2096
|
+
var mastra, memory, threadId, thread, result;
|
|
2097
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
2098
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
2099
|
+
case 0:
|
|
2100
|
+
_context9.prev = 0;
|
|
2101
|
+
mastra = c.get('mastra');
|
|
2102
|
+
memory = mastra.memory;
|
|
2103
|
+
threadId = c.req.param('threadId');
|
|
2104
|
+
if (memory) {
|
|
2105
|
+
_context9.next = 6;
|
|
2106
|
+
break;
|
|
2107
|
+
}
|
|
2108
|
+
return _context9.abrupt("return", c.json({
|
|
2109
|
+
error: 'Memory is not initialized'
|
|
2110
|
+
}, 400));
|
|
2111
|
+
case 6:
|
|
2112
|
+
_context9.next = 8;
|
|
2113
|
+
return memory.getThreadById({
|
|
2114
|
+
threadId: threadId
|
|
2115
|
+
});
|
|
2116
|
+
case 8:
|
|
2117
|
+
thread = _context9.sent;
|
|
2118
|
+
if (thread) {
|
|
2119
|
+
_context9.next = 11;
|
|
2120
|
+
break;
|
|
2121
|
+
}
|
|
2122
|
+
return _context9.abrupt("return", c.json({
|
|
2123
|
+
error: 'Thread not found'
|
|
2124
|
+
}, 404));
|
|
2125
|
+
case 11:
|
|
2126
|
+
_context9.next = 13;
|
|
2127
|
+
return memory.getMessages({
|
|
2128
|
+
threadId: threadId
|
|
2129
|
+
});
|
|
2130
|
+
case 13:
|
|
2131
|
+
result = _context9.sent;
|
|
2132
|
+
return _context9.abrupt("return", c.json(result));
|
|
2133
|
+
case 17:
|
|
2134
|
+
_context9.prev = 17;
|
|
2135
|
+
_context9.t0 = _context9["catch"](0);
|
|
2136
|
+
return _context9.abrupt("return", handleError(_context9.t0, 'Error getting messages'));
|
|
2137
|
+
case 20:
|
|
2138
|
+
case "end":
|
|
2139
|
+
return _context9.stop();
|
|
2140
|
+
}
|
|
2141
|
+
}, _callee9, null, [[0, 17]]);
|
|
2142
|
+
}));
|
|
2143
|
+
return _getMessagesHandler.apply(this, arguments);
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
// Root handler
|
|
2147
|
+
function rootHandler(_x) {
|
|
2148
|
+
return _rootHandler.apply(this, arguments);
|
|
2149
|
+
}
|
|
2150
|
+
function _rootHandler() {
|
|
2151
|
+
_rootHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
2152
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2153
|
+
while (1) switch (_context.prev = _context.next) {
|
|
2154
|
+
case 0:
|
|
2155
|
+
return _context.abrupt("return", c.text('Hello to the Mastra API!'));
|
|
2156
|
+
case 1:
|
|
2157
|
+
case "end":
|
|
2158
|
+
return _context.stop();
|
|
2159
|
+
}
|
|
2160
|
+
}, _callee);
|
|
2161
|
+
}));
|
|
2162
|
+
return _rootHandler.apply(this, arguments);
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2165
|
+
function executeSyncHandler(_x) {
|
|
2166
|
+
return _executeSyncHandler.apply(this, arguments);
|
|
2167
|
+
}
|
|
2168
|
+
function _executeSyncHandler() {
|
|
2169
|
+
_executeSyncHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
2170
|
+
var mastra, syncId, _yield$c$req$json, runId, syncParams, result;
|
|
2171
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2172
|
+
while (1) switch (_context.prev = _context.next) {
|
|
2173
|
+
case 0:
|
|
2174
|
+
_context.prev = 0;
|
|
2175
|
+
mastra = c.get('mastra');
|
|
2176
|
+
syncId = c.req.param('syncId');
|
|
2177
|
+
_context.next = 5;
|
|
2178
|
+
return c.req.json();
|
|
2179
|
+
case 5:
|
|
2180
|
+
_yield$c$req$json = _context.sent;
|
|
2181
|
+
runId = _yield$c$req$json.runId;
|
|
2182
|
+
syncParams = _yield$c$req$json.params;
|
|
2183
|
+
validateBody({
|
|
2184
|
+
params: syncParams
|
|
2185
|
+
});
|
|
2186
|
+
_context.next = 11;
|
|
2187
|
+
return mastra.sync(syncId, syncParams, runId);
|
|
2188
|
+
case 11:
|
|
2189
|
+
result = _context.sent;
|
|
2190
|
+
return _context.abrupt("return", c.json(result));
|
|
2191
|
+
case 15:
|
|
2192
|
+
_context.prev = 15;
|
|
2193
|
+
_context.t0 = _context["catch"](0);
|
|
2194
|
+
return _context.abrupt("return", handleError(_context.t0, 'Error executing sync'));
|
|
2195
|
+
case 18:
|
|
2196
|
+
case "end":
|
|
2197
|
+
return _context.stop();
|
|
2198
|
+
}
|
|
2199
|
+
}, _callee, null, [[0, 15]]);
|
|
2200
|
+
}));
|
|
2201
|
+
return _executeSyncHandler.apply(this, arguments);
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
// Tool handlers
|
|
2205
|
+
function getToolsHandler(_x) {
|
|
2206
|
+
return _getToolsHandler.apply(this, arguments);
|
|
2207
|
+
}
|
|
2208
|
+
function _getToolsHandler() {
|
|
2209
|
+
_getToolsHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(c) {
|
|
2210
|
+
var tools, serializedTools;
|
|
2211
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
2212
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
2213
|
+
case 0:
|
|
2214
|
+
_context2.prev = 0;
|
|
2215
|
+
tools = c.get('tools');
|
|
2216
|
+
if (tools) {
|
|
2217
|
+
_context2.next = 4;
|
|
2218
|
+
break;
|
|
2219
|
+
}
|
|
2220
|
+
return _context2.abrupt("return", c.json({}));
|
|
2221
|
+
case 4:
|
|
2222
|
+
serializedTools = Object.entries(tools).reduce(function (acc, _ref2) {
|
|
2223
|
+
var id = _ref2[0],
|
|
2224
|
+
_tool = _ref2[1];
|
|
2225
|
+
var tool = _tool;
|
|
2226
|
+
acc[id] = _extends({}, tool, {
|
|
2227
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,
|
|
2228
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined
|
|
2229
|
+
});
|
|
2230
|
+
return acc;
|
|
2231
|
+
}, {});
|
|
2232
|
+
return _context2.abrupt("return", c.json(serializedTools));
|
|
2233
|
+
case 8:
|
|
2234
|
+
_context2.prev = 8;
|
|
2235
|
+
_context2.t0 = _context2["catch"](0);
|
|
2236
|
+
return _context2.abrupt("return", handleError(_context2.t0, 'Error getting tools'));
|
|
2237
|
+
case 11:
|
|
2238
|
+
case "end":
|
|
2239
|
+
return _context2.stop();
|
|
2240
|
+
}
|
|
2241
|
+
}, _callee2, null, [[0, 8]]);
|
|
2242
|
+
}));
|
|
2243
|
+
return _getToolsHandler.apply(this, arguments);
|
|
2244
|
+
}
|
|
2245
|
+
function getToolByIdHandler(_x2) {
|
|
2246
|
+
return _getToolByIdHandler.apply(this, arguments);
|
|
2247
|
+
}
|
|
2248
|
+
function _getToolByIdHandler() {
|
|
2249
|
+
_getToolByIdHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(c) {
|
|
2250
|
+
var tools, toolId, tool, serializedTool;
|
|
2251
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
2252
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
2253
|
+
case 0:
|
|
2254
|
+
_context3.prev = 0;
|
|
2255
|
+
tools = c.get('tools');
|
|
2256
|
+
toolId = c.req.param('toolId');
|
|
2257
|
+
tool = Object.values(tools || {}).find(function (tool) {
|
|
2258
|
+
return tool.id === toolId;
|
|
2259
|
+
});
|
|
2260
|
+
if (tool) {
|
|
2261
|
+
_context3.next = 6;
|
|
2262
|
+
break;
|
|
2263
|
+
}
|
|
2264
|
+
throw new HTTPException(404, {
|
|
2265
|
+
message: 'Tool not found'
|
|
2266
|
+
});
|
|
2267
|
+
case 6:
|
|
2268
|
+
serializedTool = _extends({}, tool, {
|
|
2269
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,
|
|
2270
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined
|
|
2271
|
+
});
|
|
2272
|
+
return _context3.abrupt("return", c.json(serializedTool));
|
|
2273
|
+
case 10:
|
|
2274
|
+
_context3.prev = 10;
|
|
2275
|
+
_context3.t0 = _context3["catch"](0);
|
|
2276
|
+
return _context3.abrupt("return", handleError(_context3.t0, 'Error getting tool'));
|
|
2277
|
+
case 13:
|
|
2278
|
+
case "end":
|
|
2279
|
+
return _context3.stop();
|
|
2280
|
+
}
|
|
2281
|
+
}, _callee3, null, [[0, 10]]);
|
|
2282
|
+
}));
|
|
2283
|
+
return _getToolByIdHandler.apply(this, arguments);
|
|
2284
|
+
}
|
|
2285
|
+
function getToolResultHandler(_x3) {
|
|
2286
|
+
return _getToolResultHandler.apply(this, arguments);
|
|
2287
|
+
}
|
|
2288
|
+
function _getToolResultHandler() {
|
|
2289
|
+
_getToolResultHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(c) {
|
|
2290
|
+
var mastra, memory, threadId, _yield$c$req$json2, toolName, toolArgs, thread, result;
|
|
2291
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
2292
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
2293
|
+
case 0:
|
|
2294
|
+
_context4.prev = 0;
|
|
2295
|
+
mastra = c.get('mastra');
|
|
2296
|
+
memory = mastra.memory;
|
|
2297
|
+
threadId = c.req.param('threadId');
|
|
2298
|
+
_context4.next = 6;
|
|
2299
|
+
return c.req.json();
|
|
2300
|
+
case 6:
|
|
2301
|
+
_yield$c$req$json2 = _context4.sent;
|
|
2302
|
+
toolName = _yield$c$req$json2.toolName;
|
|
2303
|
+
toolArgs = _yield$c$req$json2.toolArgs;
|
|
2304
|
+
if (memory) {
|
|
2305
|
+
_context4.next = 11;
|
|
2306
|
+
break;
|
|
2307
|
+
}
|
|
2308
|
+
throw new HTTPException(400, {
|
|
2309
|
+
message: 'Memory is not initialized'
|
|
2310
|
+
});
|
|
2311
|
+
case 11:
|
|
2312
|
+
validateBody({
|
|
2313
|
+
toolName: toolName,
|
|
2314
|
+
toolArgs: toolArgs
|
|
2315
|
+
});
|
|
2316
|
+
_context4.next = 14;
|
|
2317
|
+
return memory.getThreadById({
|
|
2318
|
+
threadId: threadId
|
|
2319
|
+
});
|
|
2320
|
+
case 14:
|
|
2321
|
+
thread = _context4.sent;
|
|
2322
|
+
if (thread) {
|
|
2323
|
+
_context4.next = 17;
|
|
2324
|
+
break;
|
|
2325
|
+
}
|
|
2326
|
+
throw new HTTPException(404, {
|
|
2327
|
+
message: 'Thread not found'
|
|
2328
|
+
});
|
|
2329
|
+
case 17:
|
|
2330
|
+
_context4.next = 19;
|
|
2331
|
+
return memory.getToolResult({
|
|
2332
|
+
threadId: threadId,
|
|
2333
|
+
toolName: toolName,
|
|
2334
|
+
toolArgs: toolArgs
|
|
2335
|
+
});
|
|
2336
|
+
case 19:
|
|
2337
|
+
result = _context4.sent;
|
|
2338
|
+
return _context4.abrupt("return", c.json(result));
|
|
2339
|
+
case 23:
|
|
2340
|
+
_context4.prev = 23;
|
|
2341
|
+
_context4.t0 = _context4["catch"](0);
|
|
2342
|
+
return _context4.abrupt("return", handleError(_context4.t0, 'Error getting tool result'));
|
|
2343
|
+
case 26:
|
|
2344
|
+
case "end":
|
|
2345
|
+
return _context4.stop();
|
|
2346
|
+
}
|
|
2347
|
+
}, _callee4, null, [[0, 23]]);
|
|
2348
|
+
}));
|
|
2349
|
+
return _getToolResultHandler.apply(this, arguments);
|
|
2350
|
+
}
|
|
2351
|
+
function validateToolCallArgsHandler(_x4) {
|
|
2352
|
+
return _validateToolCallArgsHandler.apply(this, arguments);
|
|
2353
|
+
}
|
|
2354
|
+
function _validateToolCallArgsHandler() {
|
|
2355
|
+
_validateToolCallArgsHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(c) {
|
|
2356
|
+
var mastra, memory, _yield$c$req$json3, hashedArgs, result;
|
|
2357
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
2358
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
2359
|
+
case 0:
|
|
2360
|
+
_context5.prev = 0;
|
|
2361
|
+
mastra = c.get('mastra');
|
|
2362
|
+
memory = mastra.memory;
|
|
2363
|
+
_context5.next = 5;
|
|
2364
|
+
return c.req.json();
|
|
2365
|
+
case 5:
|
|
2366
|
+
_yield$c$req$json3 = _context5.sent;
|
|
2367
|
+
hashedArgs = _yield$c$req$json3.hashedArgs;
|
|
2368
|
+
if (memory) {
|
|
2369
|
+
_context5.next = 9;
|
|
2370
|
+
break;
|
|
2371
|
+
}
|
|
2372
|
+
throw new HTTPException(400, {
|
|
2373
|
+
message: 'Memory is not initialized'
|
|
2374
|
+
});
|
|
2375
|
+
case 9:
|
|
2376
|
+
validateBody({
|
|
2377
|
+
hashedArgs: hashedArgs
|
|
2378
|
+
});
|
|
2379
|
+
_context5.next = 12;
|
|
2380
|
+
return memory.validateToolCallArgs({
|
|
2381
|
+
hashedArgs: hashedArgs
|
|
2382
|
+
});
|
|
2383
|
+
case 12:
|
|
2384
|
+
result = _context5.sent;
|
|
2385
|
+
return _context5.abrupt("return", c.json(result));
|
|
2386
|
+
case 16:
|
|
2387
|
+
_context5.prev = 16;
|
|
2388
|
+
_context5.t0 = _context5["catch"](0);
|
|
2389
|
+
return _context5.abrupt("return", handleError(_context5.t0, 'Error validating tool call args'));
|
|
2390
|
+
case 19:
|
|
2391
|
+
case "end":
|
|
2392
|
+
return _context5.stop();
|
|
2393
|
+
}
|
|
2394
|
+
}, _callee5, null, [[0, 16]]);
|
|
2395
|
+
}));
|
|
2396
|
+
return _validateToolCallArgsHandler.apply(this, arguments);
|
|
2397
|
+
}
|
|
2398
|
+
function executeToolHandler(tools) {
|
|
2399
|
+
return /*#__PURE__*/function () {
|
|
2400
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
2401
|
+
var toolId, tool, _yield$c$req$json, input, mastra, result;
|
|
2402
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2403
|
+
while (1) switch (_context.prev = _context.next) {
|
|
2404
|
+
case 0:
|
|
2405
|
+
_context.prev = 0;
|
|
2406
|
+
toolId = decodeURIComponent(c.req.param('toolId'));
|
|
2407
|
+
tool = Object.values(tools || {}).find(function (tool) {
|
|
2408
|
+
return tool.id === toolId;
|
|
2409
|
+
});
|
|
2410
|
+
if (tool) {
|
|
2411
|
+
_context.next = 5;
|
|
2412
|
+
break;
|
|
2413
|
+
}
|
|
2414
|
+
return _context.abrupt("return", c.json({
|
|
2415
|
+
error: 'Tool not found'
|
|
2416
|
+
}, 404));
|
|
2417
|
+
case 5:
|
|
2418
|
+
_context.next = 7;
|
|
2419
|
+
return c.req.json();
|
|
2420
|
+
case 7:
|
|
2421
|
+
_yield$c$req$json = _context.sent;
|
|
2422
|
+
input = _yield$c$req$json.input;
|
|
2423
|
+
mastra = c.get('mastra');
|
|
2424
|
+
_context.next = 12;
|
|
2425
|
+
return tool.execute({
|
|
2426
|
+
context: _extends({}, input),
|
|
2427
|
+
mastra: mastra,
|
|
2428
|
+
runId: mastra.runId
|
|
2429
|
+
});
|
|
2430
|
+
case 12:
|
|
2431
|
+
result = _context.sent;
|
|
2432
|
+
return _context.abrupt("return", c.json(result));
|
|
2433
|
+
case 16:
|
|
2434
|
+
_context.prev = 16;
|
|
2435
|
+
_context.t0 = _context["catch"](0);
|
|
2436
|
+
return _context.abrupt("return", handleError(_context.t0, 'Error executing tool'));
|
|
2437
|
+
case 19:
|
|
2438
|
+
case "end":
|
|
2439
|
+
return _context.stop();
|
|
2440
|
+
}
|
|
2441
|
+
}, _callee, null, [[0, 16]]);
|
|
2442
|
+
}));
|
|
2443
|
+
return function (_x5) {
|
|
2444
|
+
return _ref.apply(this, arguments);
|
|
2445
|
+
};
|
|
2446
|
+
}();
|
|
2447
|
+
}
|
|
2448
|
+
function executeAgentToolHandler(_x6) {
|
|
2449
|
+
return _executeAgentToolHandler.apply(this, arguments);
|
|
2450
|
+
}
|
|
2451
|
+
function _executeAgentToolHandler() {
|
|
2452
|
+
_executeAgentToolHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(c) {
|
|
2453
|
+
var mastra, agentId, toolId, agent, tool, body, result;
|
|
2454
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
2455
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
2456
|
+
case 0:
|
|
2457
|
+
_context6.prev = 0;
|
|
2458
|
+
mastra = c.get('mastra');
|
|
2459
|
+
agentId = c.req.param('agentId');
|
|
2460
|
+
toolId = c.req.param('toolId');
|
|
2461
|
+
agent = mastra.getAgent(agentId);
|
|
2462
|
+
tool = Object.values((agent == null ? void 0 : agent.tools) || {}).find(function (tool) {
|
|
2463
|
+
return tool.id === toolId;
|
|
2464
|
+
});
|
|
2465
|
+
if (tool) {
|
|
2466
|
+
_context6.next = 8;
|
|
2467
|
+
break;
|
|
2468
|
+
}
|
|
2469
|
+
throw new HTTPException(404, {
|
|
2470
|
+
message: 'Tool not found'
|
|
2471
|
+
});
|
|
2472
|
+
case 8:
|
|
2473
|
+
_context6.next = 10;
|
|
2474
|
+
return c.req.json();
|
|
2475
|
+
case 10:
|
|
2476
|
+
body = _context6.sent;
|
|
2477
|
+
_context6.next = 13;
|
|
2478
|
+
return tool.execute({
|
|
2479
|
+
context: _extends({}, body),
|
|
2480
|
+
mastra: mastra,
|
|
2481
|
+
runId: agentId
|
|
2482
|
+
});
|
|
2483
|
+
case 13:
|
|
2484
|
+
result = _context6.sent;
|
|
2485
|
+
return _context6.abrupt("return", c.json(result));
|
|
2486
|
+
case 17:
|
|
2487
|
+
_context6.prev = 17;
|
|
2488
|
+
_context6.t0 = _context6["catch"](0);
|
|
2489
|
+
return _context6.abrupt("return", handleError(_context6.t0, 'Error executing tool'));
|
|
2490
|
+
case 20:
|
|
2491
|
+
case "end":
|
|
2492
|
+
return _context6.stop();
|
|
2493
|
+
}
|
|
2494
|
+
}, _callee6, null, [[0, 17]]);
|
|
2495
|
+
}));
|
|
2496
|
+
return _executeAgentToolHandler.apply(this, arguments);
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
function getWorkflowsHandler(_x) {
|
|
2500
|
+
return _getWorkflowsHandler.apply(this, arguments);
|
|
2501
|
+
}
|
|
2502
|
+
function _getWorkflowsHandler() {
|
|
2503
|
+
_getWorkflowsHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(c) {
|
|
2504
|
+
var mastra, workflows;
|
|
2505
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2506
|
+
while (1) switch (_context.prev = _context.next) {
|
|
2507
|
+
case 0:
|
|
2508
|
+
_context.prev = 0;
|
|
2509
|
+
mastra = c.get('mastra');
|
|
2510
|
+
workflows = mastra.getWorkflows({
|
|
2511
|
+
serialized: true
|
|
2512
|
+
});
|
|
2513
|
+
return _context.abrupt("return", c.json(workflows));
|
|
2514
|
+
case 6:
|
|
2515
|
+
_context.prev = 6;
|
|
2516
|
+
_context.t0 = _context["catch"](0);
|
|
2517
|
+
return _context.abrupt("return", handleError(_context.t0, 'Error getting workflows'));
|
|
2518
|
+
case 9:
|
|
2519
|
+
case "end":
|
|
2520
|
+
return _context.stop();
|
|
2521
|
+
}
|
|
2522
|
+
}, _callee, null, [[0, 6]]);
|
|
2523
|
+
}));
|
|
2524
|
+
return _getWorkflowsHandler.apply(this, arguments);
|
|
2525
|
+
}
|
|
2526
|
+
function getWorkflowByIdHandler(_x2) {
|
|
2527
|
+
return _getWorkflowByIdHandler.apply(this, arguments);
|
|
2528
|
+
}
|
|
2529
|
+
function _getWorkflowByIdHandler() {
|
|
2530
|
+
_getWorkflowByIdHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(c) {
|
|
2531
|
+
var mastra, workflowId, workflow, triggerSchema, stepGraph, stepSubscriberGraph, serializedSteps;
|
|
2532
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
2533
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
2534
|
+
case 0:
|
|
2535
|
+
_context2.prev = 0;
|
|
2536
|
+
mastra = c.get('mastra');
|
|
2537
|
+
workflowId = c.req.param('workflowId');
|
|
2538
|
+
workflow = mastra.getWorkflow(workflowId);
|
|
2539
|
+
triggerSchema = workflow.triggerSchema;
|
|
2540
|
+
stepGraph = workflow.stepGraph;
|
|
2541
|
+
stepSubscriberGraph = workflow.stepSubscriberGraph;
|
|
2542
|
+
serializedSteps = Object.entries(workflow.steps).reduce(function (acc, _ref) {
|
|
2543
|
+
var key = _ref[0],
|
|
2544
|
+
step = _ref[1];
|
|
2545
|
+
var _step = step;
|
|
2546
|
+
acc[key] = _extends({}, _step, {
|
|
2547
|
+
inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,
|
|
2548
|
+
outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined
|
|
2549
|
+
});
|
|
2550
|
+
return acc;
|
|
2551
|
+
}, {});
|
|
2552
|
+
return _context2.abrupt("return", c.json({
|
|
2553
|
+
name: workflow.name,
|
|
2554
|
+
triggerSchema: triggerSchema ? stringify(zodToJsonSchema(triggerSchema)) : undefined,
|
|
2555
|
+
steps: serializedSteps,
|
|
2556
|
+
stepGraph: stepGraph,
|
|
2557
|
+
stepSubscriberGraph: stepSubscriberGraph
|
|
2558
|
+
}));
|
|
2559
|
+
case 11:
|
|
2560
|
+
_context2.prev = 11;
|
|
2561
|
+
_context2.t0 = _context2["catch"](0);
|
|
2562
|
+
return _context2.abrupt("return", handleError(_context2.t0, 'Error getting workflow'));
|
|
2563
|
+
case 14:
|
|
2564
|
+
case "end":
|
|
2565
|
+
return _context2.stop();
|
|
2566
|
+
}
|
|
2567
|
+
}, _callee2, null, [[0, 11]]);
|
|
2568
|
+
}));
|
|
2569
|
+
return _getWorkflowByIdHandler.apply(this, arguments);
|
|
2570
|
+
}
|
|
2571
|
+
function executeWorkflowHandler(_x3) {
|
|
2572
|
+
return _executeWorkflowHandler.apply(this, arguments);
|
|
2573
|
+
}
|
|
2574
|
+
function _executeWorkflowHandler() {
|
|
2575
|
+
_executeWorkflowHandler = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(c) {
|
|
2576
|
+
var mastra, workflowId, workflow, body, result;
|
|
2577
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
2578
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
2579
|
+
case 0:
|
|
2580
|
+
_context3.prev = 0;
|
|
2581
|
+
mastra = c.get('mastra');
|
|
2582
|
+
workflowId = c.req.param('workflowId');
|
|
2583
|
+
workflow = mastra.getWorkflow(workflowId);
|
|
2584
|
+
_context3.next = 6;
|
|
2585
|
+
return c.req.json();
|
|
2586
|
+
case 6:
|
|
2587
|
+
body = _context3.sent;
|
|
2588
|
+
_context3.next = 9;
|
|
2589
|
+
return workflow.execute(body);
|
|
2590
|
+
case 9:
|
|
2591
|
+
result = _context3.sent;
|
|
2592
|
+
return _context3.abrupt("return", c.json(result));
|
|
2593
|
+
case 13:
|
|
2594
|
+
_context3.prev = 13;
|
|
2595
|
+
_context3.t0 = _context3["catch"](0);
|
|
2596
|
+
return _context3.abrupt("return", handleError(_context3.t0, 'Error executing workflow'));
|
|
2597
|
+
case 16:
|
|
2598
|
+
case "end":
|
|
2599
|
+
return _context3.stop();
|
|
2600
|
+
}
|
|
2601
|
+
}, _callee3, null, [[0, 13]]);
|
|
2602
|
+
}));
|
|
2603
|
+
return _executeWorkflowHandler.apply(this, arguments);
|
|
2604
|
+
}
|
|
2605
|
+
|
|
2606
|
+
var html = "\n<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Welcome to Mastra</title>\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/inter-ui/3.19.3/inter.min.css\" />\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0d0d0d;\n color: #ffffff;\n font-family:\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n system-ui,\n sans-serif;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n }\n\n main {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n text-align: center;\n }\n\n h1 {\n font-size: 4rem;\n font-weight: 600;\n margin: 0 0 1rem 0;\n background: linear-gradient(to right, #fff, #ccc);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n line-height: 1.2;\n }\n\n .subtitle {\n color: #9ca3af;\n font-size: 1.25rem;\n max-width: 600px;\n margin: 0 auto 3rem auto;\n line-height: 1.6;\n }\n\n .docs-link {\n background-color: #1a1a1a;\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n font-family: monospace;\n font-size: 1rem;\n color: #ffffff;\n text-decoration: none;\n transition: background-color 0.2s;\n }\n\n .docs-link:hover {\n background-color: #252525;\n }\n\n .arrow-icon {\n transition: transform 0.2s;\n }\n\n .docs-link:hover .arrow-icon {\n transform: translateX(4px);\n }\n </style>\n </head>\n <body>\n <main>\n <h1>Welcome to Mastra</h1>\n <p class=\"subtitle\">\n From the team that brought you Gatsby: prototype and productionize AI features with a modern JS/TS stack.\n </p>\n\n <a href=\"https://mastra.ai/docs\" class=\"docs-link\">\n Browse the docs\n <svg\n class=\"arrow-icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M5 12h14M12 5l7 7-7 7\" />\n </svg>\n </a>\n </main>\n </body>\n</html>\n";
|
|
2607
|
+
|
|
2608
|
+
function createHonoServer(_x, _x2) {
|
|
2609
|
+
return _createHonoServer.apply(this, arguments);
|
|
2610
|
+
}
|
|
2611
|
+
function _createHonoServer() {
|
|
2612
|
+
_createHonoServer = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(mastra, options) {
|
|
2613
|
+
var _options;
|
|
2614
|
+
var app, mastraToolsPaths, toolImports, tools;
|
|
2615
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
2616
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
2617
|
+
case 0:
|
|
2618
|
+
if (options === void 0) {
|
|
2619
|
+
options = {};
|
|
2620
|
+
}
|
|
2621
|
+
// Create typed Hono app
|
|
2622
|
+
app = new Hono(); // Initialize tools
|
|
2623
|
+
mastraToolsPaths = process.env.MASTRA_TOOLS_PATH;
|
|
2624
|
+
if (!mastraToolsPaths) {
|
|
2625
|
+
_context5.next = 9;
|
|
2626
|
+
break;
|
|
2627
|
+
}
|
|
2628
|
+
_context5.next = 6;
|
|
2629
|
+
return Promise.all(mastraToolsPaths.split(',').map(/*#__PURE__*/function () {
|
|
2630
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(toolPath) {
|
|
2631
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2632
|
+
while (1) switch (_context.prev = _context.next) {
|
|
2633
|
+
case 0:
|
|
2634
|
+
return _context.abrupt("return", import(pathToFileURL(toolPath).href));
|
|
2635
|
+
case 1:
|
|
2636
|
+
case "end":
|
|
2637
|
+
return _context.stop();
|
|
2638
|
+
}
|
|
2639
|
+
}, _callee);
|
|
2640
|
+
}));
|
|
2641
|
+
return function (_x5) {
|
|
2642
|
+
return _ref.apply(this, arguments);
|
|
2643
|
+
};
|
|
2644
|
+
}()));
|
|
2645
|
+
case 6:
|
|
2646
|
+
_context5.t0 = _context5.sent;
|
|
2647
|
+
_context5.next = 10;
|
|
2648
|
+
break;
|
|
2649
|
+
case 9:
|
|
2650
|
+
_context5.t0 = [];
|
|
2651
|
+
case 10:
|
|
2652
|
+
toolImports = _context5.t0;
|
|
2653
|
+
tools = toolImports.reduce(function (acc, toolModule) {
|
|
2654
|
+
Object.entries(toolModule).forEach(function (_ref2) {
|
|
2655
|
+
var key = _ref2[0],
|
|
2656
|
+
tool = _ref2[1];
|
|
2657
|
+
acc[key] = tool;
|
|
2658
|
+
});
|
|
2659
|
+
return acc;
|
|
2660
|
+
}, {}); // Middleware
|
|
2661
|
+
app.use('*', cors());
|
|
2662
|
+
// Add Mastra to context
|
|
2663
|
+
app.use('*', /*#__PURE__*/function () {
|
|
2664
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(c, next) {
|
|
2665
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
2666
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
2667
|
+
case 0:
|
|
2668
|
+
c.set('mastra', mastra);
|
|
2669
|
+
c.set('tools', tools);
|
|
2670
|
+
_context2.next = 4;
|
|
2671
|
+
return next();
|
|
2672
|
+
case 4:
|
|
2673
|
+
case "end":
|
|
2674
|
+
return _context2.stop();
|
|
2675
|
+
}
|
|
2676
|
+
}, _callee2);
|
|
2677
|
+
}));
|
|
2678
|
+
return function (_x6, _x7) {
|
|
2679
|
+
return _ref3.apply(this, arguments);
|
|
2680
|
+
};
|
|
2681
|
+
}());
|
|
2682
|
+
// API routes
|
|
2683
|
+
app.get('/api', rootHandler);
|
|
2684
|
+
// Agent routes
|
|
2685
|
+
app.get('/api/agents', getAgentsHandler);
|
|
2686
|
+
app.get('/api/agents/:agentId', getAgentByIdHandler);
|
|
2687
|
+
app.post('/api/agents/:agentId/generate', generateHandler);
|
|
2688
|
+
app.post('/api/agents/:agentId/stream', streamGenerateHandler);
|
|
2689
|
+
app.post('/api/agents/:agentId/tools/:toolId/execute', executeAgentToolHandler);
|
|
2690
|
+
// Memory routes
|
|
2691
|
+
app.get('/api/memory/status', getMemoryStatusHandler);
|
|
2692
|
+
app.get('/api/memory/threads', getThreadsHandler);
|
|
2693
|
+
app.get('/api/memory/threads/:threadId', getThreadByIdHandler);
|
|
2694
|
+
app.get('/api/memory/threads/:threadId/messages', getMessagesHandler);
|
|
2695
|
+
app.get('/api/memory/threads/:threadId/context-window', getContextWindowHandler);
|
|
2696
|
+
app.post('/api/memory/threads', createThreadHandler);
|
|
2697
|
+
app.patch('/api/memory/threads/:threadId', updateThreadHandler);
|
|
2698
|
+
app["delete"]('/api/memory/threads/:threadId', deleteThreadHandler);
|
|
2699
|
+
app.post('/api/memory/save-messages', saveMessagesHandler);
|
|
2700
|
+
app.post('/api/memory/threads/:threadId/tool-result', getToolResultHandler);
|
|
2701
|
+
app.post('/api/memory/validate-tool-call-args', validateToolCallArgsHandler);
|
|
2702
|
+
// Workflow routes
|
|
2703
|
+
app.get('/api/workflows', getWorkflowsHandler);
|
|
2704
|
+
app.get('/api/workflows/:workflowId', getWorkflowByIdHandler);
|
|
2705
|
+
app.post('/api/workflows/:workflowId/execute', executeWorkflowHandler);
|
|
2706
|
+
// Sync routes
|
|
2707
|
+
app.post('/api/syncs/:syncId/execute', executeSyncHandler);
|
|
2708
|
+
// Log routes
|
|
2709
|
+
app.get('/api/logs', getLogsHandler);
|
|
2710
|
+
app.get('/api/logs/:runId', getLogsByRunIdHandler);
|
|
2711
|
+
// Tool routes
|
|
2712
|
+
app.get('/api/tools', getToolsHandler);
|
|
2713
|
+
app.get('/api/tools/:toolId', getToolByIdHandler);
|
|
2714
|
+
app.post('/api/tools/:toolId/execute', executeToolHandler(tools));
|
|
2715
|
+
// SSE endpoint for refresh notifications
|
|
2716
|
+
app.get('/refresh-events', handleClientsRefresh);
|
|
2717
|
+
// Trigger refresh for all clients
|
|
2718
|
+
app.post('/__refresh', handleTriggerClientsRefresh);
|
|
2719
|
+
if ((_options = options) != null && _options.playground) {
|
|
2720
|
+
// Playground routes - these should come after API routes
|
|
2721
|
+
// Serve assets with specific MIME types
|
|
2722
|
+
app.use('/assets/*', /*#__PURE__*/function () {
|
|
2723
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(c, next) {
|
|
2724
|
+
var path;
|
|
2725
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
2726
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
2727
|
+
case 0:
|
|
2728
|
+
path = c.req.path;
|
|
2729
|
+
if (path.endsWith('.js')) {
|
|
2730
|
+
c.header('Content-Type', 'application/javascript');
|
|
2731
|
+
} else if (path.endsWith('.css')) {
|
|
2732
|
+
c.header('Content-Type', 'text/css');
|
|
2733
|
+
}
|
|
2734
|
+
_context3.next = 4;
|
|
2735
|
+
return next();
|
|
2736
|
+
case 4:
|
|
2737
|
+
case "end":
|
|
2738
|
+
return _context3.stop();
|
|
2739
|
+
}
|
|
2740
|
+
}, _callee3);
|
|
2741
|
+
}));
|
|
2742
|
+
return function (_x8, _x9) {
|
|
2743
|
+
return _ref4.apply(this, arguments);
|
|
2744
|
+
};
|
|
2745
|
+
}());
|
|
2746
|
+
// Serve assets from playground directory
|
|
2747
|
+
app.use('/assets/*', serveStatic({
|
|
2748
|
+
root: './playground/assets'
|
|
2749
|
+
}));
|
|
2750
|
+
// Serve static files from playground directory
|
|
2751
|
+
app.use('*', serveStatic({
|
|
2752
|
+
root: './playground'
|
|
2753
|
+
}));
|
|
2754
|
+
}
|
|
2755
|
+
// Catch-all route to serve index.html for any non-API routes
|
|
2756
|
+
app.get('*', /*#__PURE__*/function () {
|
|
2757
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(c, next) {
|
|
2758
|
+
var _options2;
|
|
2759
|
+
var indexHtml;
|
|
2760
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
2761
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
2762
|
+
case 0:
|
|
2763
|
+
if (!c.req.path.startsWith('/api/')) {
|
|
2764
|
+
_context4.next = 4;
|
|
2765
|
+
break;
|
|
2766
|
+
}
|
|
2767
|
+
_context4.next = 3;
|
|
2768
|
+
return next();
|
|
2769
|
+
case 3:
|
|
2770
|
+
return _context4.abrupt("return", _context4.sent);
|
|
2771
|
+
case 4:
|
|
2772
|
+
if (!((_options2 = options) != null && _options2.playground)) {
|
|
2773
|
+
_context4.next = 9;
|
|
2774
|
+
break;
|
|
2775
|
+
}
|
|
2776
|
+
_context4.next = 7;
|
|
2777
|
+
return readFile(join(process.cwd(), './playground/index.html'), 'utf-8');
|
|
2778
|
+
case 7:
|
|
2779
|
+
indexHtml = _context4.sent;
|
|
2780
|
+
return _context4.abrupt("return", c.newResponse(indexHtml, 200, {
|
|
2781
|
+
'Content-Type': 'text/html'
|
|
2782
|
+
}));
|
|
2783
|
+
case 9:
|
|
2784
|
+
return _context4.abrupt("return", c.newResponse(html, 200, {
|
|
2785
|
+
'Content-Type': 'text/html'
|
|
2786
|
+
}));
|
|
2787
|
+
case 10:
|
|
2788
|
+
case "end":
|
|
2789
|
+
return _context4.stop();
|
|
2790
|
+
}
|
|
2791
|
+
}, _callee4);
|
|
2792
|
+
}));
|
|
2793
|
+
return function (_x10, _x11) {
|
|
2794
|
+
return _ref5.apply(this, arguments);
|
|
2795
|
+
};
|
|
2796
|
+
}());
|
|
2797
|
+
return _context5.abrupt("return", app);
|
|
2798
|
+
case 45:
|
|
2799
|
+
case "end":
|
|
2800
|
+
return _context5.stop();
|
|
2801
|
+
}
|
|
2802
|
+
}, _callee5);
|
|
2803
|
+
}));
|
|
2804
|
+
return _createHonoServer.apply(this, arguments);
|
|
2805
|
+
}
|
|
2806
|
+
function createNodeServer(_x3, _x4) {
|
|
2807
|
+
return _createNodeServer.apply(this, arguments);
|
|
2808
|
+
}
|
|
2809
|
+
function _createNodeServer() {
|
|
2810
|
+
_createNodeServer = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(mastra, options) {
|
|
2811
|
+
var app;
|
|
2812
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
2813
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
2814
|
+
case 0:
|
|
2815
|
+
if (options === void 0) {
|
|
2816
|
+
options = {};
|
|
2817
|
+
}
|
|
2818
|
+
_context6.next = 3;
|
|
2819
|
+
return createHonoServer(mastra, options);
|
|
2820
|
+
case 3:
|
|
2821
|
+
app = _context6.sent;
|
|
2822
|
+
return _context6.abrupt("return", serve({
|
|
2823
|
+
fetch: app.fetch,
|
|
2824
|
+
port: Number(process.env.PORT) || 4111
|
|
2825
|
+
}, function () {
|
|
2826
|
+
console.log("\uD83E\uDD84 Server running on port " + (process.env.PORT || 4111) + "/api");
|
|
2827
|
+
console.log("\uD83D\uDCDA Open API documentation available at http://localhost:" + (process.env.PORT || 4111) + "/openapi.json");
|
|
2828
|
+
console.log("\uD83D\uDC68\u200D\uD83D\uDCBB Playground available at http://localhost:" + (process.env.PORT || 4111) + "/");
|
|
2829
|
+
}));
|
|
2830
|
+
case 5:
|
|
2831
|
+
case "end":
|
|
2832
|
+
return _context6.stop();
|
|
2833
|
+
}
|
|
2834
|
+
}, _callee6);
|
|
2835
|
+
}));
|
|
2836
|
+
return _createNodeServer.apply(this, arguments);
|
|
2837
|
+
}
|
|
2838
|
+
|
|
2839
|
+
export { Deployer, Deps, EnvService, FileEnvService, FileService, bundle, createHonoServer, createNodeServer, upsertMastraDir };
|
|
2840
|
+
//# sourceMappingURL=deployer.esm.js.map
|