@mastra/deployer-cloudflare 0.0.0-message-ordering-20250415215612 → 0.0.0-redis-cloud-transporter-20250508191651
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_tsup-dts-rollup.d.cts +3 -2
- package/dist/_tsup-dts-rollup.d.ts +3 -2
- package/dist/index.cjs +70 -13
- package/dist/index.js +70 -13
- package/package.json +9 -11
|
@@ -29,8 +29,8 @@ export declare class CloudflareDeployer extends Deployer {
|
|
|
29
29
|
writeFiles(outputDirectory: string): Promise<void>;
|
|
30
30
|
private getEntry;
|
|
31
31
|
prepare(outputDirectory: string): Promise<void>;
|
|
32
|
-
getBundlerOptions(serverFile: string, mastraEntryFile: string, analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle
|
|
33
|
-
bundle(entryFile: string, outputDirectory: string): Promise<void>;
|
|
32
|
+
getBundlerOptions(serverFile: string, mastraEntryFile: string, analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>, toolsPaths: string[]): Promise<InputOptions>;
|
|
33
|
+
bundle(entryFile: string, outputDirectory: string, toolsPaths: string[]): Promise<void>;
|
|
34
34
|
deploy(outputDirectory: string): Promise<void>;
|
|
35
35
|
tagWorker({ workerName, namespace, tags, scope, }: {
|
|
36
36
|
scope: string;
|
|
@@ -38,6 +38,7 @@ export declare class CloudflareDeployer extends Deployer {
|
|
|
38
38
|
namespace: string;
|
|
39
39
|
tags: string[];
|
|
40
40
|
}): Promise<void>;
|
|
41
|
+
lint(entryFile: string, outputDirectory: string, toolsPaths: string[]): Promise<void>;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
export declare class CloudflareSecretsManager {
|
|
@@ -29,8 +29,8 @@ export declare class CloudflareDeployer extends Deployer {
|
|
|
29
29
|
writeFiles(outputDirectory: string): Promise<void>;
|
|
30
30
|
private getEntry;
|
|
31
31
|
prepare(outputDirectory: string): Promise<void>;
|
|
32
|
-
getBundlerOptions(serverFile: string, mastraEntryFile: string, analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle
|
|
33
|
-
bundle(entryFile: string, outputDirectory: string): Promise<void>;
|
|
32
|
+
getBundlerOptions(serverFile: string, mastraEntryFile: string, analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>, toolsPaths: string[]): Promise<InputOptions>;
|
|
33
|
+
bundle(entryFile: string, outputDirectory: string, toolsPaths: string[]): Promise<void>;
|
|
34
34
|
deploy(outputDirectory: string): Promise<void>;
|
|
35
35
|
tagWorker({ workerName, namespace, tags, scope, }: {
|
|
36
36
|
scope: string;
|
|
@@ -38,6 +38,7 @@ export declare class CloudflareDeployer extends Deployer {
|
|
|
38
38
|
namespace: string;
|
|
39
39
|
tags: string[];
|
|
40
40
|
}): Promise<void>;
|
|
41
|
+
lint(entryFile: string, outputDirectory: string, toolsPaths: string[]): Promise<void>;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
export declare class CloudflareSecretsManager {
|
package/dist/index.cjs
CHANGED
|
@@ -59,24 +59,71 @@ var CloudflareDeployer = class extends deployer.Deployer {
|
|
|
59
59
|
}
|
|
60
60
|
getEntry() {
|
|
61
61
|
return `
|
|
62
|
-
import '#polyfills';
|
|
63
|
-
import { mastra } from '#mastra';
|
|
64
|
-
import { createHonoServer } from '#server';
|
|
62
|
+
import '#polyfills';
|
|
63
|
+
import { mastra } from '#mastra';
|
|
64
|
+
import { createHonoServer } from '#server';
|
|
65
|
+
import { evaluate } from '@mastra/core/eval';
|
|
66
|
+
import { AvailableHooks, registerHook } from '@mastra/core/hooks';
|
|
67
|
+
import { TABLE_EVALS } from '@mastra/core/storage';
|
|
68
|
+
import { checkEvalStorageFields } from '@mastra/core/utils';
|
|
65
69
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
registerHook(AvailableHooks.ON_GENERATION, ({ input, output, metric, runId, agentName, instructions }) => {
|
|
71
|
+
evaluate({
|
|
72
|
+
agentName,
|
|
73
|
+
input,
|
|
74
|
+
metric,
|
|
75
|
+
output,
|
|
76
|
+
runId,
|
|
77
|
+
globalRunId: runId,
|
|
78
|
+
instructions,
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
if (mastra.getStorage()) {
|
|
83
|
+
// start storage init in the background
|
|
84
|
+
mastra.getStorage().init();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
registerHook(AvailableHooks.ON_EVALUATION, async traceObject => {
|
|
88
|
+
const storage = mastra.getStorage();
|
|
89
|
+
if (storage) {
|
|
90
|
+
// Check for required fields
|
|
91
|
+
const logger = mastra?.getLogger();
|
|
92
|
+
const areFieldsValid = checkEvalStorageFields(traceObject, logger);
|
|
93
|
+
if (!areFieldsValid) return;
|
|
94
|
+
|
|
95
|
+
await storage.insert({
|
|
96
|
+
tableName: TABLE_EVALS,
|
|
97
|
+
record: {
|
|
98
|
+
input: traceObject.input,
|
|
99
|
+
output: traceObject.output,
|
|
100
|
+
result: JSON.stringify(traceObject.result || {}),
|
|
101
|
+
agent_name: traceObject.agentName,
|
|
102
|
+
metric_name: traceObject.metricName,
|
|
103
|
+
instructions: traceObject.instructions,
|
|
104
|
+
test_info: null,
|
|
105
|
+
global_run_id: traceObject.globalRunId,
|
|
106
|
+
run_id: traceObject.runId,
|
|
107
|
+
created_at: new Date().toISOString(),
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
export default {
|
|
114
|
+
fetch: async (request, env, context) => {
|
|
115
|
+
const app = await createHonoServer(mastra)
|
|
116
|
+
return app.fetch(request, env, context);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
72
119
|
`;
|
|
73
120
|
}
|
|
74
121
|
async prepare(outputDirectory) {
|
|
75
122
|
await super.prepare(outputDirectory);
|
|
76
123
|
await this.writeFiles(outputDirectory);
|
|
77
124
|
}
|
|
78
|
-
async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo) {
|
|
79
|
-
const inputOptions = await super.getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo);
|
|
125
|
+
async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths) {
|
|
126
|
+
const inputOptions = await super.getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths);
|
|
80
127
|
if (Array.isArray(inputOptions.plugins)) {
|
|
81
128
|
inputOptions.plugins = [
|
|
82
129
|
virtual__default.default({
|
|
@@ -90,8 +137,8 @@ process.versions.node = '${process.versions.node}';
|
|
|
90
137
|
}
|
|
91
138
|
return inputOptions;
|
|
92
139
|
}
|
|
93
|
-
async bundle(entryFile, outputDirectory) {
|
|
94
|
-
return this._bundle(this.getEntry(), entryFile, outputDirectory);
|
|
140
|
+
async bundle(entryFile, outputDirectory, toolsPaths) {
|
|
141
|
+
return this._bundle(this.getEntry(), entryFile, outputDirectory, toolsPaths);
|
|
95
142
|
}
|
|
96
143
|
async deploy(outputDirectory) {
|
|
97
144
|
const cmd = this.workerNamespace ? `npm exec -- wrangler@latest deploy --dispatch-namespace ${this.workerNamespace}` : "npm exec -- wrangler@latest deploy";
|
|
@@ -124,6 +171,16 @@ process.versions.node = '${process.versions.node}';
|
|
|
124
171
|
body: tags
|
|
125
172
|
});
|
|
126
173
|
}
|
|
174
|
+
async lint(entryFile, outputDirectory, toolsPaths) {
|
|
175
|
+
await super.lint(entryFile, outputDirectory, toolsPaths);
|
|
176
|
+
const hasLibsql = await this.deps.checkDependencies(["@mastra/libsql"]) === `ok`;
|
|
177
|
+
if (hasLibsql) {
|
|
178
|
+
this.logger.error(
|
|
179
|
+
"Cloudflare Deployer does not support @libsql/client(which may have been installed by @mastra/libsql) as a dependency. Please use Cloudflare D1 instead @mastra/cloudflare-d1"
|
|
180
|
+
);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
127
184
|
};
|
|
128
185
|
|
|
129
186
|
exports.CloudflareDeployer = CloudflareDeployer;
|
package/dist/index.js
CHANGED
|
@@ -53,24 +53,71 @@ var CloudflareDeployer = class extends Deployer {
|
|
|
53
53
|
}
|
|
54
54
|
getEntry() {
|
|
55
55
|
return `
|
|
56
|
-
import '#polyfills';
|
|
57
|
-
import { mastra } from '#mastra';
|
|
58
|
-
import { createHonoServer } from '#server';
|
|
56
|
+
import '#polyfills';
|
|
57
|
+
import { mastra } from '#mastra';
|
|
58
|
+
import { createHonoServer } from '#server';
|
|
59
|
+
import { evaluate } from '@mastra/core/eval';
|
|
60
|
+
import { AvailableHooks, registerHook } from '@mastra/core/hooks';
|
|
61
|
+
import { TABLE_EVALS } from '@mastra/core/storage';
|
|
62
|
+
import { checkEvalStorageFields } from '@mastra/core/utils';
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
registerHook(AvailableHooks.ON_GENERATION, ({ input, output, metric, runId, agentName, instructions }) => {
|
|
65
|
+
evaluate({
|
|
66
|
+
agentName,
|
|
67
|
+
input,
|
|
68
|
+
metric,
|
|
69
|
+
output,
|
|
70
|
+
runId,
|
|
71
|
+
globalRunId: runId,
|
|
72
|
+
instructions,
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
if (mastra.getStorage()) {
|
|
77
|
+
// start storage init in the background
|
|
78
|
+
mastra.getStorage().init();
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
registerHook(AvailableHooks.ON_EVALUATION, async traceObject => {
|
|
82
|
+
const storage = mastra.getStorage();
|
|
83
|
+
if (storage) {
|
|
84
|
+
// Check for required fields
|
|
85
|
+
const logger = mastra?.getLogger();
|
|
86
|
+
const areFieldsValid = checkEvalStorageFields(traceObject, logger);
|
|
87
|
+
if (!areFieldsValid) return;
|
|
88
|
+
|
|
89
|
+
await storage.insert({
|
|
90
|
+
tableName: TABLE_EVALS,
|
|
91
|
+
record: {
|
|
92
|
+
input: traceObject.input,
|
|
93
|
+
output: traceObject.output,
|
|
94
|
+
result: JSON.stringify(traceObject.result || {}),
|
|
95
|
+
agent_name: traceObject.agentName,
|
|
96
|
+
metric_name: traceObject.metricName,
|
|
97
|
+
instructions: traceObject.instructions,
|
|
98
|
+
test_info: null,
|
|
99
|
+
global_run_id: traceObject.globalRunId,
|
|
100
|
+
run_id: traceObject.runId,
|
|
101
|
+
created_at: new Date().toISOString(),
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
export default {
|
|
108
|
+
fetch: async (request, env, context) => {
|
|
109
|
+
const app = await createHonoServer(mastra)
|
|
110
|
+
return app.fetch(request, env, context);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
66
113
|
`;
|
|
67
114
|
}
|
|
68
115
|
async prepare(outputDirectory) {
|
|
69
116
|
await super.prepare(outputDirectory);
|
|
70
117
|
await this.writeFiles(outputDirectory);
|
|
71
118
|
}
|
|
72
|
-
async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo) {
|
|
73
|
-
const inputOptions = await super.getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo);
|
|
119
|
+
async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths) {
|
|
120
|
+
const inputOptions = await super.getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths);
|
|
74
121
|
if (Array.isArray(inputOptions.plugins)) {
|
|
75
122
|
inputOptions.plugins = [
|
|
76
123
|
virtual({
|
|
@@ -84,8 +131,8 @@ process.versions.node = '${process.versions.node}';
|
|
|
84
131
|
}
|
|
85
132
|
return inputOptions;
|
|
86
133
|
}
|
|
87
|
-
async bundle(entryFile, outputDirectory) {
|
|
88
|
-
return this._bundle(this.getEntry(), entryFile, outputDirectory);
|
|
134
|
+
async bundle(entryFile, outputDirectory, toolsPaths) {
|
|
135
|
+
return this._bundle(this.getEntry(), entryFile, outputDirectory, toolsPaths);
|
|
89
136
|
}
|
|
90
137
|
async deploy(outputDirectory) {
|
|
91
138
|
const cmd = this.workerNamespace ? `npm exec -- wrangler@latest deploy --dispatch-namespace ${this.workerNamespace}` : "npm exec -- wrangler@latest deploy";
|
|
@@ -118,6 +165,16 @@ process.versions.node = '${process.versions.node}';
|
|
|
118
165
|
body: tags
|
|
119
166
|
});
|
|
120
167
|
}
|
|
168
|
+
async lint(entryFile, outputDirectory, toolsPaths) {
|
|
169
|
+
await super.lint(entryFile, outputDirectory, toolsPaths);
|
|
170
|
+
const hasLibsql = await this.deps.checkDependencies(["@mastra/libsql"]) === `ok`;
|
|
171
|
+
if (hasLibsql) {
|
|
172
|
+
this.logger.error(
|
|
173
|
+
"Cloudflare Deployer does not support @libsql/client(which may have been installed by @mastra/libsql) as a dependency. Please use Cloudflare D1 instead @mastra/cloudflare-d1"
|
|
174
|
+
);
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
121
178
|
};
|
|
122
179
|
|
|
123
180
|
export { CloudflareDeployer };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/deployer-cloudflare",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-redis-cloud-transporter-20250508191651",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -35,25 +35,23 @@
|
|
|
35
35
|
"author": "",
|
|
36
36
|
"license": "Elastic-2.0",
|
|
37
37
|
"dependencies": {
|
|
38
|
+
"@babel/core": "^7.26.10",
|
|
38
39
|
"@rollup/plugin-virtual": "^3.0.2",
|
|
39
40
|
"cloudflare": "^4.1.0",
|
|
40
|
-
"
|
|
41
|
-
"execa": "^9.5.2",
|
|
42
|
-
"rollup-plugin-polyfill-node": "^0.13.0",
|
|
43
|
-
"rollup-plugin-shim": "^1.0.0",
|
|
41
|
+
"rollup": "^4.35.0",
|
|
44
42
|
"wrangler": "^4.4.0",
|
|
45
|
-
"zod": "^3.24.
|
|
46
|
-
"@mastra/
|
|
47
|
-
"@mastra/
|
|
43
|
+
"zod": "^3.24.3",
|
|
44
|
+
"@mastra/core": "0.0.0-redis-cloud-transporter-20250508191651",
|
|
45
|
+
"@mastra/deployer": "0.0.0-redis-cloud-transporter-20250508191651"
|
|
48
46
|
},
|
|
49
47
|
"devDependencies": {
|
|
50
|
-
"@microsoft/api-extractor": "^7.52.
|
|
48
|
+
"@microsoft/api-extractor": "^7.52.5",
|
|
51
49
|
"@types/node": "^20.17.27",
|
|
52
50
|
"eslint": "^9.23.0",
|
|
53
51
|
"tsup": "^8.4.0",
|
|
54
52
|
"typescript": "^5.8.2",
|
|
55
|
-
"vitest": "^3.
|
|
56
|
-
"@internal/lint": "0.0.
|
|
53
|
+
"vitest": "^3.1.2",
|
|
54
|
+
"@internal/lint": "0.0.0-redis-cloud-transporter-20250508191651"
|
|
57
55
|
},
|
|
58
56
|
"scripts": {
|
|
59
57
|
"build": "tsup src/index.ts src/secrets-manager/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting",
|