@mastra/deployer-cloudflare 0.0.1-alpha.2 → 0.0.1-alpha.21
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 +152 -0
- package/dist/deployer-cloudflare.cjs.development.js +58 -30
- package/dist/deployer-cloudflare.cjs.development.js.map +1 -1
- package/dist/deployer-cloudflare.cjs.production.min.js +1 -1
- package/dist/deployer-cloudflare.cjs.production.min.js.map +1 -1
- package/dist/deployer-cloudflare.esm.js +58 -11
- package/dist/deployer-cloudflare.esm.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +76 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,157 @@
|
|
|
1
1
|
# @mastra/deployer-cloudflare
|
|
2
2
|
|
|
3
|
+
## 0.0.1-alpha.21
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [23dcb23]
|
|
8
|
+
- Updated dependencies [7064554]
|
|
9
|
+
- @mastra/core@0.1.27-alpha.75
|
|
10
|
+
- @mastra/deployer@0.0.1-alpha.19
|
|
11
|
+
|
|
12
|
+
## 0.0.1-alpha.20
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Updated dependencies [7b87567]
|
|
17
|
+
- @mastra/core@0.1.27-alpha.74
|
|
18
|
+
- @mastra/deployer@0.0.1-alpha.18
|
|
19
|
+
|
|
20
|
+
## 0.0.1-alpha.19
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [3427b95]
|
|
25
|
+
- @mastra/core@0.1.27-alpha.73
|
|
26
|
+
- @mastra/deployer@0.0.1-alpha.17
|
|
27
|
+
|
|
28
|
+
## 0.0.1-alpha.18
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [e4d4ede]
|
|
33
|
+
- Updated dependencies [06b2c0a]
|
|
34
|
+
- @mastra/core@0.1.27-alpha.72
|
|
35
|
+
- @mastra/deployer@0.0.1-alpha.16
|
|
36
|
+
|
|
37
|
+
## 0.0.1-alpha.17
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- Updated dependencies [d9c8dd0]
|
|
42
|
+
- @mastra/deployer@0.0.1-alpha.15
|
|
43
|
+
- @mastra/core@0.1.27-alpha.71
|
|
44
|
+
|
|
45
|
+
## 0.0.1-alpha.16
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- Updated dependencies [ad2cd74]
|
|
50
|
+
- @mastra/deployer@0.0.1-alpha.14
|
|
51
|
+
|
|
52
|
+
## 0.0.1-alpha.15
|
|
53
|
+
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- Updated dependencies [a1774e7]
|
|
57
|
+
- @mastra/deployer@0.0.1-alpha.13
|
|
58
|
+
|
|
59
|
+
## 0.0.1-alpha.14
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- Updated dependencies [28dceab]
|
|
64
|
+
- @mastra/deployer@0.0.1-alpha.12
|
|
65
|
+
|
|
66
|
+
## 0.0.1-alpha.13
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- bdaf834: publish packages
|
|
71
|
+
- Updated dependencies [bdaf834]
|
|
72
|
+
- @mastra/deployer@0.0.1-alpha.11
|
|
73
|
+
|
|
74
|
+
## 0.0.1-alpha.12
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- Updated dependencies [dd6d87f]
|
|
79
|
+
- Updated dependencies [04434b6]
|
|
80
|
+
- @mastra/core@0.1.27-alpha.70
|
|
81
|
+
- @mastra/deployer@0.0.1-alpha.10
|
|
82
|
+
|
|
83
|
+
## 0.0.1-alpha.11
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- 9066f95: CF deployer fixes
|
|
88
|
+
- Updated dependencies [9066f95]
|
|
89
|
+
- @mastra/deployer@0.0.1-alpha.9
|
|
90
|
+
|
|
91
|
+
## 0.0.1-alpha.10
|
|
92
|
+
|
|
93
|
+
### Patch Changes
|
|
94
|
+
|
|
95
|
+
- 0d5a03d: Vector store modules
|
|
96
|
+
|
|
97
|
+
## 0.0.1-alpha.9
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- Updated dependencies [b425845]
|
|
102
|
+
- @mastra/deployer@0.0.1-alpha.8
|
|
103
|
+
|
|
104
|
+
## 0.0.1-alpha.8
|
|
105
|
+
|
|
106
|
+
### Patch Changes
|
|
107
|
+
|
|
108
|
+
- 1944807: Unified logger and major step in better logs
|
|
109
|
+
- c7abf8e: Optional CF worker tagging
|
|
110
|
+
- Updated dependencies [1944807]
|
|
111
|
+
- Updated dependencies [9ade36e]
|
|
112
|
+
- @mastra/deployer@0.0.1-alpha.7
|
|
113
|
+
- @mastra/core@0.1.27-alpha.69
|
|
114
|
+
|
|
115
|
+
## 0.0.1-alpha.7
|
|
116
|
+
|
|
117
|
+
### Patch Changes
|
|
118
|
+
|
|
119
|
+
- Updated dependencies [291fe57]
|
|
120
|
+
- Updated dependencies [1a41fbf]
|
|
121
|
+
- @mastra/deployer@0.0.1-alpha.6
|
|
122
|
+
|
|
123
|
+
## 0.0.1-alpha.6
|
|
124
|
+
|
|
125
|
+
### Patch Changes
|
|
126
|
+
|
|
127
|
+
- Updated dependencies [0be7181]
|
|
128
|
+
- Updated dependencies [0be7181]
|
|
129
|
+
- @mastra/core@0.1.27-alpha.68
|
|
130
|
+
- @mastra/deployer@0.0.1-alpha.5
|
|
131
|
+
|
|
132
|
+
## 0.0.1-alpha.5
|
|
133
|
+
|
|
134
|
+
### Patch Changes
|
|
135
|
+
|
|
136
|
+
- Updated dependencies [7babd5c]
|
|
137
|
+
- @mastra/deployer@0.0.1-alpha.4
|
|
138
|
+
|
|
139
|
+
## 0.0.1-alpha.4
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- 026ca5d: Optional dispatcher namespace configuration for cloudflare deployments
|
|
144
|
+
|
|
145
|
+
## 0.0.1-alpha.3
|
|
146
|
+
|
|
147
|
+
### Patch Changes
|
|
148
|
+
|
|
149
|
+
- a291824: Deployer fixes
|
|
150
|
+
- Updated dependencies [c8ff2f5]
|
|
151
|
+
- Updated dependencies [a291824]
|
|
152
|
+
- @mastra/core@0.1.27-alpha.67
|
|
153
|
+
- @mastra/deployer@0.0.1-alpha.3
|
|
154
|
+
|
|
3
155
|
## 0.0.1-alpha.2
|
|
4
156
|
|
|
5
157
|
### Patch Changes
|
|
@@ -3,29 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var core = require('@mastra/core');
|
|
6
|
-
var
|
|
6
|
+
var deployer = require('@mastra/deployer');
|
|
7
|
+
var cloudflare = require('cloudflare');
|
|
7
8
|
var fs = require('fs');
|
|
8
9
|
var path = require('path');
|
|
9
10
|
|
|
10
|
-
function _interopNamespaceDefault(e) {
|
|
11
|
-
var n = Object.create(null);
|
|
12
|
-
if (e) {
|
|
13
|
-
Object.keys(e).forEach(function (k) {
|
|
14
|
-
if (k !== 'default') {
|
|
15
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () { return e[k]; }
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
n.default = e;
|
|
24
|
-
return n;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
var child_process__namespace = /*#__PURE__*/_interopNamespaceDefault(child_process);
|
|
28
|
-
|
|
29
11
|
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
30
12
|
try {
|
|
31
13
|
var i = n[a](c),
|
|
@@ -376,14 +358,22 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
376
358
|
var scope = _ref.scope,
|
|
377
359
|
env = _ref.env,
|
|
378
360
|
projectName = _ref.projectName,
|
|
379
|
-
routes = _ref.routes
|
|
361
|
+
routes = _ref.routes,
|
|
362
|
+
workerNamespace = _ref.workerNamespace,
|
|
363
|
+
auth = _ref.auth;
|
|
380
364
|
_this = _MastraDeployer.call(this, {
|
|
381
365
|
scope: scope,
|
|
382
366
|
env: env,
|
|
383
367
|
projectName: projectName
|
|
384
368
|
}) || this;
|
|
369
|
+
_this.cloudflare = void 0;
|
|
385
370
|
_this.routes = [];
|
|
371
|
+
_this.workerNamespace = void 0;
|
|
386
372
|
_this.routes = routes;
|
|
373
|
+
_this.workerNamespace = workerNamespace;
|
|
374
|
+
if (auth) {
|
|
375
|
+
_this.cloudflare = new cloudflare.Cloudflare(auth);
|
|
376
|
+
}
|
|
387
377
|
return _this;
|
|
388
378
|
}
|
|
389
379
|
_inheritsLoose(CloudflareDeployer, _MastraDeployer);
|
|
@@ -395,7 +385,7 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
395
385
|
dir: dir
|
|
396
386
|
});
|
|
397
387
|
var cfWorkerName = this.projectName || 'mastra';
|
|
398
|
-
|
|
388
|
+
var wranglerConfig = {
|
|
399
389
|
name: cfWorkerName,
|
|
400
390
|
main: 'index.mjs',
|
|
401
391
|
compatibility_date: '2024-12-02',
|
|
@@ -408,24 +398,33 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
408
398
|
enabled: true
|
|
409
399
|
}
|
|
410
400
|
},
|
|
411
|
-
routes: this.routes,
|
|
412
401
|
vars: this.env
|
|
413
|
-
}
|
|
402
|
+
};
|
|
403
|
+
if (!this.workerNamespace && this.routes) {
|
|
404
|
+
wranglerConfig.routes = this.routes;
|
|
405
|
+
}
|
|
406
|
+
fs.writeFileSync(path.join(dir, 'wrangler.json'), JSON.stringify(wranglerConfig));
|
|
414
407
|
};
|
|
415
408
|
_proto.writeIndex = function writeIndex(_ref3) {
|
|
416
409
|
var dir = _ref3.dir;
|
|
417
|
-
fs.writeFileSync(path.join(dir, './index.mjs'), "\n export default {\n fetch: async (
|
|
410
|
+
fs.writeFileSync(path.join(dir, './index.mjs'), "\n export default {\n fetch: async (request, env, context) => {\n Object.keys(env).forEach(key => {\n process.env[key] = env[key]\n })\n const { app } = await import('./hono.mjs');\n return app.fetch(request, env, context);\n }\n }\n ");
|
|
418
411
|
};
|
|
419
412
|
_proto.deploy = /*#__PURE__*/function () {
|
|
420
413
|
var _deploy = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref4) {
|
|
421
|
-
var dir, token;
|
|
414
|
+
var dir, token, cmd, cpLogger;
|
|
422
415
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
423
416
|
while (1) switch (_context.prev = _context.next) {
|
|
424
417
|
case 0:
|
|
425
418
|
dir = _ref4.dir, token = _ref4.token;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
419
|
+
cmd = this.workerNamespace ? "npm exec -- wrangler deploy --dispatch-namespace " + this.workerNamespace : 'npm exec -- wrangler deploy';
|
|
420
|
+
cpLogger = deployer.createChildProcessLogger({
|
|
421
|
+
logger: this.logger,
|
|
422
|
+
root: dir
|
|
423
|
+
});
|
|
424
|
+
_context.next = 5;
|
|
425
|
+
return cpLogger({
|
|
426
|
+
cmd: cmd,
|
|
427
|
+
args: [],
|
|
429
428
|
env: _extends({
|
|
430
429
|
CLOUDFLARE_API_TOKEN: token,
|
|
431
430
|
CLOUDFLARE_ACCOUNT_ID: this.scope
|
|
@@ -433,7 +432,7 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
433
432
|
PATH: process.env.PATH
|
|
434
433
|
})
|
|
435
434
|
});
|
|
436
|
-
case
|
|
435
|
+
case 5:
|
|
437
436
|
case "end":
|
|
438
437
|
return _context.stop();
|
|
439
438
|
}
|
|
@@ -444,6 +443,35 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
444
443
|
}
|
|
445
444
|
return deploy;
|
|
446
445
|
}();
|
|
446
|
+
_proto.tagWorker = /*#__PURE__*/function () {
|
|
447
|
+
var _tagWorker = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref5) {
|
|
448
|
+
var workerName, namespace, tags, scope;
|
|
449
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
450
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
451
|
+
case 0:
|
|
452
|
+
workerName = _ref5.workerName, namespace = _ref5.namespace, tags = _ref5.tags, scope = _ref5.scope;
|
|
453
|
+
if (this.cloudflare) {
|
|
454
|
+
_context2.next = 3;
|
|
455
|
+
break;
|
|
456
|
+
}
|
|
457
|
+
throw new Error('Cloudflare Deployer not initialized');
|
|
458
|
+
case 3:
|
|
459
|
+
_context2.next = 5;
|
|
460
|
+
return this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(namespace, workerName, {
|
|
461
|
+
account_id: scope,
|
|
462
|
+
body: tags
|
|
463
|
+
});
|
|
464
|
+
case 5:
|
|
465
|
+
case "end":
|
|
466
|
+
return _context2.stop();
|
|
467
|
+
}
|
|
468
|
+
}, _callee2, this);
|
|
469
|
+
}));
|
|
470
|
+
function tagWorker(_x2) {
|
|
471
|
+
return _tagWorker.apply(this, arguments);
|
|
472
|
+
}
|
|
473
|
+
return tagWorker;
|
|
474
|
+
}();
|
|
447
475
|
return CloudflareDeployer;
|
|
448
476
|
}(core.MastraDeployer);
|
|
449
477
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployer-cloudflare.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["import { MastraDeployer } from '@mastra/core';\nimport
|
|
1
|
+
{"version":3,"file":"deployer-cloudflare.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["import { MastraDeployer } from '@mastra/core';\nimport { createChildProcessLogger } from '@mastra/deployer';\nimport { Cloudflare } from 'cloudflare';\nimport { writeFileSync } from 'fs';\nimport { join } from 'path';\n\ninterface CFRoute {\n pattern: string;\n zone_name: string;\n custom_domain?: boolean;\n}\n\nexport class CloudflareDeployer extends MastraDeployer {\n private cloudflare: Cloudflare | undefined;\n routes?: CFRoute[] = [];\n workerNamespace?: string;\n constructor({\n scope,\n env,\n projectName,\n routes,\n workerNamespace,\n auth,\n }: {\n env?: Record<string, any>;\n scope: string;\n projectName: string;\n routes?: CFRoute[];\n workerNamespace?: string;\n auth?: {\n apiToken: string;\n apiEmail: string;\n };\n }) {\n super({ scope, env, projectName });\n\n this.routes = routes;\n this.workerNamespace = workerNamespace;\n\n if (auth) {\n this.cloudflare = new Cloudflare(auth);\n }\n }\n\n writeFiles({ dir }: { dir: string }): void {\n this.loadEnvVars();\n\n this.writeIndex({ dir });\n\n const cfWorkerName = this.projectName || 'mastra';\n\n const wranglerConfig: Record<string, any> = {\n name: cfWorkerName,\n main: 'index.mjs',\n compatibility_date: '2024-12-02',\n compatibility_flags: ['nodejs_compat'],\n build: {\n command: 'npm install',\n },\n observability: {\n logs: {\n enabled: true,\n },\n },\n vars: this.env,\n };\n\n if (!this.workerNamespace && this.routes) {\n wranglerConfig.routes = this.routes;\n }\n\n writeFileSync(join(dir, 'wrangler.json'), JSON.stringify(wranglerConfig));\n }\n\n writeIndex({ dir }: { dir: string }): void {\n writeFileSync(\n join(dir, './index.mjs'),\n `\n export default {\n fetch: async (request, env, context) => {\n Object.keys(env).forEach(key => {\n process.env[key] = env[key]\n })\n const { app } = await import('./hono.mjs');\n return app.fetch(request, env, context);\n }\n }\n `,\n );\n }\n\n async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {\n const cmd = this.workerNamespace\n ? `npm exec -- wrangler deploy --dispatch-namespace ${this.workerNamespace}`\n : 'npm exec -- wrangler deploy';\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n await cpLogger({\n cmd,\n args: [],\n env: {\n CLOUDFLARE_API_TOKEN: token,\n CLOUDFLARE_ACCOUNT_ID: this.scope,\n ...this.env,\n PATH: process.env.PATH!,\n },\n });\n }\n\n async tagWorker({\n workerName,\n namespace,\n tags,\n scope,\n }: {\n scope: string;\n workerName: string;\n namespace: string;\n tags: string[];\n }): Promise<void> {\n if (!this.cloudflare) {\n throw new Error('Cloudflare Deployer not initialized');\n }\n\n await this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(namespace, workerName, {\n account_id: scope,\n body: tags,\n });\n }\n}\n"],"names":["CloudflareDeployer","_MastraDeployer","_ref","_this","scope","env","projectName","routes","workerNamespace","auth","call","cloudflare","Cloudflare","_inheritsLoose","_proto","prototype","writeFiles","_ref2","dir","loadEnvVars","writeIndex","cfWorkerName","wranglerConfig","name","main","compatibility_date","compatibility_flags","build","command","observability","logs","enabled","vars","writeFileSync","join","JSON","stringify","_ref3","deploy","_deploy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","token","cmd","cpLogger","wrap","_callee$","_context","prev","next","createChildProcessLogger","logger","root","args","_extends","CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","PATH","process","stop","_x","apply","arguments","tagWorker","_tagWorker","_callee2","_ref5","workerName","namespace","tags","_callee2$","_context2","Error","workersForPlatforms","dispatch","namespaces","scripts","update","account_id","body","_x2","MastraDeployer"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@mastra/core"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@mastra/core"),e=require("@mastra/deployer"),r=require("cloudflare"),n=require("fs"),o=require("path");function i(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function c(t){i(a,n,o,c,u,"next",t)}function u(t){i(a,n,o,c,u,"throw",t)}c(void 0)}))}}function c(){return c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},c.apply(null,arguments)}function u(){u=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=Object.create((e&&e.prototype instanceof g?e:g).prototype),a=new T(n||[]);return o(i,"_invoke",{value:k(t,r,a)}),i}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",y="suspendedYield",v="executing",d="completed",m={};function g(){}function w(){}function b(){}var x={};l(x,a,(function(){return this}));var L=Object.getPrototypeOf,j=L&&L(L(S([])));j&&j!==r&&n.call(j,a)&&(x=j);var E=b.prototype=g.prototype=Object.create(x);function O(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,e){function r(o,i,a,c){var u=h(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function k(e,r,n){var o=p;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=N(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var s=h(e,r,n);if("normal"===s.type){if(o=n.done?d:y,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function N(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,N(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=h(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;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,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function F(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function S(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return w.prototype=b,o(E,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:w,configurable:!0}),w.displayName=l(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,s,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},O(_.prototype),l(_.prototype,c,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new _(f(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(E),l(E,s,"Generator"),l(E,a,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=S,T.prototype={constructor:T,reset:function(e){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(F),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;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),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),F(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;F(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:S(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}function s(t,e){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},s(t,e)}exports.CloudflareDeployer=function(t){function i(e){var n,o=e.routes,i=e.workerNamespace,a=e.auth;return(n=t.call(this,{scope:e.scope,env:e.env,projectName:e.projectName})||this).cloudflare=void 0,n.routes=[],n.workerNamespace=void 0,n.routes=o,n.workerNamespace=i,a&&(n.cloudflare=new r.Cloudflare(a)),n}var l,f;f=t,(l=i).prototype=Object.create(f.prototype),l.prototype.constructor=l,s(l,f);var h=i.prototype;return h.writeFiles=function(t){var e=t.dir;this.loadEnvVars(),this.writeIndex({dir:e});var r={name:this.projectName||"mastra",main:"index.mjs",compatibility_date:"2024-12-02",compatibility_flags:["nodejs_compat"],build:{command:"npm install"},observability:{logs:{enabled:!0}},vars:this.env};!this.workerNamespace&&this.routes&&(r.routes=this.routes),n.writeFileSync(o.join(e,"wrangler.json"),JSON.stringify(r))},h.writeIndex=function(t){n.writeFileSync(o.join(t.dir,"./index.mjs"),"\n export default {\n fetch: async (request, env, context) => {\n Object.keys(env).forEach(key => {\n process.env[key] = env[key]\n })\n const { app } = await import('./hono.mjs');\n return app.fetch(request, env, context);\n }\n }\n ")},h.deploy=function(){var t=a(u().mark((function t(r){var n,o,i;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.token,o=this.workerNamespace?"npm exec -- wrangler deploy --dispatch-namespace "+this.workerNamespace:"npm exec -- wrangler deploy",i=e.createChildProcessLogger({logger:this.logger,root:r.dir}),t.next=5,i({cmd:o,args:[],env:c({CLOUDFLARE_API_TOKEN:n,CLOUDFLARE_ACCOUNT_ID:this.scope},this.env,{PATH:process.env.PATH})});case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),h.tagWorker=function(){var t=a(u().mark((function t(e){var r,n,o,i;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.workerName,n=e.namespace,o=e.tags,i=e.scope,this.cloudflare){t.next=3;break}throw new Error("Cloudflare Deployer not initialized");case 3:return t.next=5,this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(n,r,{account_id:i,body:o});case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),i}(t.MastraDeployer);
|
|
2
2
|
//# sourceMappingURL=deployer-cloudflare.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployer-cloudflare.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["import { MastraDeployer } from '@mastra/core';\nimport
|
|
1
|
+
{"version":3,"file":"deployer-cloudflare.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["import { MastraDeployer } from '@mastra/core';\nimport { createChildProcessLogger } from '@mastra/deployer';\nimport { Cloudflare } from 'cloudflare';\nimport { writeFileSync } from 'fs';\nimport { join } from 'path';\n\ninterface CFRoute {\n pattern: string;\n zone_name: string;\n custom_domain?: boolean;\n}\n\nexport class CloudflareDeployer extends MastraDeployer {\n private cloudflare: Cloudflare | undefined;\n routes?: CFRoute[] = [];\n workerNamespace?: string;\n constructor({\n scope,\n env,\n projectName,\n routes,\n workerNamespace,\n auth,\n }: {\n env?: Record<string, any>;\n scope: string;\n projectName: string;\n routes?: CFRoute[];\n workerNamespace?: string;\n auth?: {\n apiToken: string;\n apiEmail: string;\n };\n }) {\n super({ scope, env, projectName });\n\n this.routes = routes;\n this.workerNamespace = workerNamespace;\n\n if (auth) {\n this.cloudflare = new Cloudflare(auth);\n }\n }\n\n writeFiles({ dir }: { dir: string }): void {\n this.loadEnvVars();\n\n this.writeIndex({ dir });\n\n const cfWorkerName = this.projectName || 'mastra';\n\n const wranglerConfig: Record<string, any> = {\n name: cfWorkerName,\n main: 'index.mjs',\n compatibility_date: '2024-12-02',\n compatibility_flags: ['nodejs_compat'],\n build: {\n command: 'npm install',\n },\n observability: {\n logs: {\n enabled: true,\n },\n },\n vars: this.env,\n };\n\n if (!this.workerNamespace && this.routes) {\n wranglerConfig.routes = this.routes;\n }\n\n writeFileSync(join(dir, 'wrangler.json'), JSON.stringify(wranglerConfig));\n }\n\n writeIndex({ dir }: { dir: string }): void {\n writeFileSync(\n join(dir, './index.mjs'),\n `\n export default {\n fetch: async (request, env, context) => {\n Object.keys(env).forEach(key => {\n process.env[key] = env[key]\n })\n const { app } = await import('./hono.mjs');\n return app.fetch(request, env, context);\n }\n }\n `,\n );\n }\n\n async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {\n const cmd = this.workerNamespace\n ? `npm exec -- wrangler deploy --dispatch-namespace ${this.workerNamespace}`\n : 'npm exec -- wrangler deploy';\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n await cpLogger({\n cmd,\n args: [],\n env: {\n CLOUDFLARE_API_TOKEN: token,\n CLOUDFLARE_ACCOUNT_ID: this.scope,\n ...this.env,\n PATH: process.env.PATH!,\n },\n });\n }\n\n async tagWorker({\n workerName,\n namespace,\n tags,\n scope,\n }: {\n scope: string;\n workerName: string;\n namespace: string;\n tags: string[];\n }): Promise<void> {\n if (!this.cloudflare) {\n throw new Error('Cloudflare Deployer not initialized');\n }\n\n await this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(namespace, workerName, {\n account_id: scope,\n body: tags,\n });\n }\n}\n"],"names":["_MastraDeployer","CloudflareDeployer","_ref","_this","routes","workerNamespace","auth","call","this","scope","env","projectName","cloudflare","Cloudflare","_proto","prototype","writeFiles","_ref2","dir","loadEnvVars","writeIndex","wranglerConfig","name","main","compatibility_date","compatibility_flags","build","command","observability","logs","enabled","vars","writeFileSync","join","JSON","stringify","_ref3","deploy","_deploy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","token","cmd","cpLogger","wrap","_context","prev","next","createChildProcessLogger","logger","root","args","_extends","CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","PATH","process","stop","_x","apply","arguments","tagWorker","_tagWorker","_callee2","_ref5","workerName","namespace","tags","_context2","Error","workersForPlatforms","dispatch","namespaces","scripts","update","account_id","body","_x2","MastraDeployer"],"mappings":"+sOAYgCA,GAI9B,SAAAC,EAAAC,GAiBC,IAAAC,EAbCC,EAAMF,EAANE,OACAC,EAAeH,EAAfG,gBACAC,EAAIJ,EAAJI,KAmBC,OAPDH,EAAAH,EAAAO,KAAMC,KAAA,CAAEC,MAjBHP,EAALO,MAiBeC,IAhBZR,EAAHQ,IAgBoBC,YAfTT,EAAXS,eAekCH,MArB5BI,gBAAU,EAAAT,EAClBC,OAAqB,GAAED,EACvBE,qBAAe,EAqBbF,EAAKC,OAASA,EACdD,EAAKE,gBAAkBA,EAEnBC,IACFH,EAAKS,WAAa,IAAIC,EAAUA,WAACP,IAClCH,CACH,WAACH,KAAAC,yEAAA,IAAAa,EAAAb,EAAAc,UAuEc,OAvEdD,EAEDE,WAAA,SAAUC,GAAyB,IAAtBC,EAAGD,EAAHC,IACXV,KAAKW,cAELX,KAAKY,WAAW,CAAEF,IAAAA,IAElB,IAEMG,EAAsC,CAC1CC,KAHmBd,KAAKG,aAAe,SAIvCY,KAAM,YACNC,mBAAoB,aACpBC,oBAAqB,CAAC,iBACtBC,MAAO,CACLC,QAAS,eAEXC,cAAe,CACbC,KAAM,CACJC,SAAS,IAGbC,KAAMvB,KAAKE,MAGRF,KAAKH,iBAAmBG,KAAKJ,SAChCiB,EAAejB,OAASI,KAAKJ,QAG/B4B,gBAAcC,EAAAA,KAAKf,EAAK,iBAAkBgB,KAAKC,UAAUd,KAC1DP,EAEDM,WAAA,SAAUgB,GACRJ,EAAAA,cACEC,EAAAA,KAFYG,EAAHlB,IAEC,0UAabJ,EAEKuB,OAAM,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAZ,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,EAAAC,EAAA,OAAAN,IAAAO,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAQI,OARgBN,EAAKD,EAALC,MACZC,EAAMrC,KAAKH,oEACuCG,KAAKH,gBACzD,8BAEEyC,EAAWK,EAAAA,yBAAyB,CACxCC,OAAQ5C,KAAK4C,OACbC,KAPcV,EAAHzB,MAQX8B,EAAAE,KAAA,EAEIJ,EAAS,CACbD,IAAAA,EACAS,KAAM,GACN5C,IAAG6C,EAAA,CACDC,qBAAsBZ,EACtBa,sBAAuBjD,KAAKC,OACzBD,KAAKE,IAAG,CACXgD,KAAMC,QAAQjD,IAAIgD,SAEpB,KAAA,EAAA,IAAA,MAAA,OAAAV,EAAAY,OAAA,GAAAlB,EAAAlC,KACH,KApBW,OAoBX,SApBWqD,GAAA,OAAAvB,EAAAwB,MAAAtD,KAAAuD,UAAA,CAAA,CAAA,GAAAjD,EAsBNkD,UAAS,WAAA,IAAAC,EAAA1B,EAAAC,IAAAC,MAAf,SAAAyB,EAAAC,GAAA,IAAAC,EAAAC,EAAAC,EAAA7D,EAAA,OAAA+B,IAAAO,MAAA,SAAAwB,GAAA,cAAAA,EAAAtB,KAAAsB,EAAArB,MAAA,KAAA,EAIO,GAHLkB,EAAUD,EAAVC,WACAC,EAASF,EAATE,UACAC,EAAIH,EAAJG,KACA7D,EAAK0D,EAAL1D,MAOKD,KAAKI,WAAU,CAAA2D,EAAArB,KAAA,EAAA,KAAA,CAAA,MACZ,IAAIsB,MAAM,uCAAsC,KAAA,EAAA,OAAAD,EAAArB,KAAA,EAGlD1C,KAAKI,WAAW6D,oBAAoBC,SAASC,WAAWC,QAAQN,KAAKO,OAAOR,EAAWD,EAAY,CACvGU,WAAYrE,EACZsE,KAAMT,IACN,KAAA,EAAA,IAAA,MAAA,OAAAC,EAAAX,OAAA,GAAAM,EAAA1D,KACH,KAnBc,OAmBd,SAnBcwE,GAAA,OAAAf,EAAAH,MAAAtD,KAAAuD,UAAA,CAAA,CAAA,GAAA9D,CAAA,EArGuBgF,EAAcA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MastraDeployer } from '@mastra/core';
|
|
2
|
-
import
|
|
2
|
+
import { createChildProcessLogger } from '@mastra/deployer';
|
|
3
|
+
import { Cloudflare } from 'cloudflare';
|
|
3
4
|
import { writeFileSync } from 'fs';
|
|
4
5
|
import { join } from 'path';
|
|
5
6
|
|
|
@@ -353,14 +354,22 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
353
354
|
var scope = _ref.scope,
|
|
354
355
|
env = _ref.env,
|
|
355
356
|
projectName = _ref.projectName,
|
|
356
|
-
routes = _ref.routes
|
|
357
|
+
routes = _ref.routes,
|
|
358
|
+
workerNamespace = _ref.workerNamespace,
|
|
359
|
+
auth = _ref.auth;
|
|
357
360
|
_this = _MastraDeployer.call(this, {
|
|
358
361
|
scope: scope,
|
|
359
362
|
env: env,
|
|
360
363
|
projectName: projectName
|
|
361
364
|
}) || this;
|
|
365
|
+
_this.cloudflare = void 0;
|
|
362
366
|
_this.routes = [];
|
|
367
|
+
_this.workerNamespace = void 0;
|
|
363
368
|
_this.routes = routes;
|
|
369
|
+
_this.workerNamespace = workerNamespace;
|
|
370
|
+
if (auth) {
|
|
371
|
+
_this.cloudflare = new Cloudflare(auth);
|
|
372
|
+
}
|
|
364
373
|
return _this;
|
|
365
374
|
}
|
|
366
375
|
_inheritsLoose(CloudflareDeployer, _MastraDeployer);
|
|
@@ -372,7 +381,7 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
372
381
|
dir: dir
|
|
373
382
|
});
|
|
374
383
|
var cfWorkerName = this.projectName || 'mastra';
|
|
375
|
-
|
|
384
|
+
var wranglerConfig = {
|
|
376
385
|
name: cfWorkerName,
|
|
377
386
|
main: 'index.mjs',
|
|
378
387
|
compatibility_date: '2024-12-02',
|
|
@@ -385,24 +394,33 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
385
394
|
enabled: true
|
|
386
395
|
}
|
|
387
396
|
},
|
|
388
|
-
routes: this.routes,
|
|
389
397
|
vars: this.env
|
|
390
|
-
}
|
|
398
|
+
};
|
|
399
|
+
if (!this.workerNamespace && this.routes) {
|
|
400
|
+
wranglerConfig.routes = this.routes;
|
|
401
|
+
}
|
|
402
|
+
writeFileSync(join(dir, 'wrangler.json'), JSON.stringify(wranglerConfig));
|
|
391
403
|
};
|
|
392
404
|
_proto.writeIndex = function writeIndex(_ref3) {
|
|
393
405
|
var dir = _ref3.dir;
|
|
394
|
-
writeFileSync(join(dir, './index.mjs'), "\n export default {\n fetch: async (
|
|
406
|
+
writeFileSync(join(dir, './index.mjs'), "\n export default {\n fetch: async (request, env, context) => {\n Object.keys(env).forEach(key => {\n process.env[key] = env[key]\n })\n const { app } = await import('./hono.mjs');\n return app.fetch(request, env, context);\n }\n }\n ");
|
|
395
407
|
};
|
|
396
408
|
_proto.deploy = /*#__PURE__*/function () {
|
|
397
409
|
var _deploy = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref4) {
|
|
398
|
-
var dir, token;
|
|
410
|
+
var dir, token, cmd, cpLogger;
|
|
399
411
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
400
412
|
while (1) switch (_context.prev = _context.next) {
|
|
401
413
|
case 0:
|
|
402
414
|
dir = _ref4.dir, token = _ref4.token;
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
415
|
+
cmd = this.workerNamespace ? "npm exec -- wrangler deploy --dispatch-namespace " + this.workerNamespace : 'npm exec -- wrangler deploy';
|
|
416
|
+
cpLogger = createChildProcessLogger({
|
|
417
|
+
logger: this.logger,
|
|
418
|
+
root: dir
|
|
419
|
+
});
|
|
420
|
+
_context.next = 5;
|
|
421
|
+
return cpLogger({
|
|
422
|
+
cmd: cmd,
|
|
423
|
+
args: [],
|
|
406
424
|
env: _extends({
|
|
407
425
|
CLOUDFLARE_API_TOKEN: token,
|
|
408
426
|
CLOUDFLARE_ACCOUNT_ID: this.scope
|
|
@@ -410,7 +428,7 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
410
428
|
PATH: process.env.PATH
|
|
411
429
|
})
|
|
412
430
|
});
|
|
413
|
-
case
|
|
431
|
+
case 5:
|
|
414
432
|
case "end":
|
|
415
433
|
return _context.stop();
|
|
416
434
|
}
|
|
@@ -421,6 +439,35 @@ var CloudflareDeployer = /*#__PURE__*/function (_MastraDeployer) {
|
|
|
421
439
|
}
|
|
422
440
|
return deploy;
|
|
423
441
|
}();
|
|
442
|
+
_proto.tagWorker = /*#__PURE__*/function () {
|
|
443
|
+
var _tagWorker = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref5) {
|
|
444
|
+
var workerName, namespace, tags, scope;
|
|
445
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
446
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
447
|
+
case 0:
|
|
448
|
+
workerName = _ref5.workerName, namespace = _ref5.namespace, tags = _ref5.tags, scope = _ref5.scope;
|
|
449
|
+
if (this.cloudflare) {
|
|
450
|
+
_context2.next = 3;
|
|
451
|
+
break;
|
|
452
|
+
}
|
|
453
|
+
throw new Error('Cloudflare Deployer not initialized');
|
|
454
|
+
case 3:
|
|
455
|
+
_context2.next = 5;
|
|
456
|
+
return this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(namespace, workerName, {
|
|
457
|
+
account_id: scope,
|
|
458
|
+
body: tags
|
|
459
|
+
});
|
|
460
|
+
case 5:
|
|
461
|
+
case "end":
|
|
462
|
+
return _context2.stop();
|
|
463
|
+
}
|
|
464
|
+
}, _callee2, this);
|
|
465
|
+
}));
|
|
466
|
+
function tagWorker(_x2) {
|
|
467
|
+
return _tagWorker.apply(this, arguments);
|
|
468
|
+
}
|
|
469
|
+
return tagWorker;
|
|
470
|
+
}();
|
|
424
471
|
return CloudflareDeployer;
|
|
425
472
|
}(MastraDeployer);
|
|
426
473
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployer-cloudflare.esm.js","sources":["../src/index.ts"],"sourcesContent":["import { MastraDeployer } from '@mastra/core';\nimport
|
|
1
|
+
{"version":3,"file":"deployer-cloudflare.esm.js","sources":["../src/index.ts"],"sourcesContent":["import { MastraDeployer } from '@mastra/core';\nimport { createChildProcessLogger } from '@mastra/deployer';\nimport { Cloudflare } from 'cloudflare';\nimport { writeFileSync } from 'fs';\nimport { join } from 'path';\n\ninterface CFRoute {\n pattern: string;\n zone_name: string;\n custom_domain?: boolean;\n}\n\nexport class CloudflareDeployer extends MastraDeployer {\n private cloudflare: Cloudflare | undefined;\n routes?: CFRoute[] = [];\n workerNamespace?: string;\n constructor({\n scope,\n env,\n projectName,\n routes,\n workerNamespace,\n auth,\n }: {\n env?: Record<string, any>;\n scope: string;\n projectName: string;\n routes?: CFRoute[];\n workerNamespace?: string;\n auth?: {\n apiToken: string;\n apiEmail: string;\n };\n }) {\n super({ scope, env, projectName });\n\n this.routes = routes;\n this.workerNamespace = workerNamespace;\n\n if (auth) {\n this.cloudflare = new Cloudflare(auth);\n }\n }\n\n writeFiles({ dir }: { dir: string }): void {\n this.loadEnvVars();\n\n this.writeIndex({ dir });\n\n const cfWorkerName = this.projectName || 'mastra';\n\n const wranglerConfig: Record<string, any> = {\n name: cfWorkerName,\n main: 'index.mjs',\n compatibility_date: '2024-12-02',\n compatibility_flags: ['nodejs_compat'],\n build: {\n command: 'npm install',\n },\n observability: {\n logs: {\n enabled: true,\n },\n },\n vars: this.env,\n };\n\n if (!this.workerNamespace && this.routes) {\n wranglerConfig.routes = this.routes;\n }\n\n writeFileSync(join(dir, 'wrangler.json'), JSON.stringify(wranglerConfig));\n }\n\n writeIndex({ dir }: { dir: string }): void {\n writeFileSync(\n join(dir, './index.mjs'),\n `\n export default {\n fetch: async (request, env, context) => {\n Object.keys(env).forEach(key => {\n process.env[key] = env[key]\n })\n const { app } = await import('./hono.mjs');\n return app.fetch(request, env, context);\n }\n }\n `,\n );\n }\n\n async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {\n const cmd = this.workerNamespace\n ? `npm exec -- wrangler deploy --dispatch-namespace ${this.workerNamespace}`\n : 'npm exec -- wrangler deploy';\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n await cpLogger({\n cmd,\n args: [],\n env: {\n CLOUDFLARE_API_TOKEN: token,\n CLOUDFLARE_ACCOUNT_ID: this.scope,\n ...this.env,\n PATH: process.env.PATH!,\n },\n });\n }\n\n async tagWorker({\n workerName,\n namespace,\n tags,\n scope,\n }: {\n scope: string;\n workerName: string;\n namespace: string;\n tags: string[];\n }): Promise<void> {\n if (!this.cloudflare) {\n throw new Error('Cloudflare Deployer not initialized');\n }\n\n await this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(namespace, workerName, {\n account_id: scope,\n body: tags,\n });\n }\n}\n"],"names":["CloudflareDeployer","_MastraDeployer","_ref","_this","scope","env","projectName","routes","workerNamespace","auth","call","cloudflare","Cloudflare","_inheritsLoose","_proto","prototype","writeFiles","_ref2","dir","loadEnvVars","writeIndex","cfWorkerName","wranglerConfig","name","main","compatibility_date","compatibility_flags","build","command","observability","logs","enabled","vars","writeFileSync","join","JSON","stringify","_ref3","deploy","_deploy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","token","cmd","cpLogger","wrap","_callee$","_context","prev","next","createChildProcessLogger","logger","root","args","_extends","CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","PATH","process","stop","_x","apply","arguments","tagWorker","_tagWorker","_callee2","_ref5","workerName","namespace","tags","_callee2$","_context2","Error","workersForPlatforms","dispatch","namespaces","scripts","update","account_id","body","_x2","MastraDeployer"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,12 +5,19 @@ interface CFRoute {
|
|
|
5
5
|
custom_domain?: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare class CloudflareDeployer extends MastraDeployer {
|
|
8
|
+
private cloudflare;
|
|
8
9
|
routes?: CFRoute[];
|
|
9
|
-
|
|
10
|
+
workerNamespace?: string;
|
|
11
|
+
constructor({ scope, env, projectName, routes, workerNamespace, auth, }: {
|
|
10
12
|
env?: Record<string, any>;
|
|
11
13
|
scope: string;
|
|
12
14
|
projectName: string;
|
|
13
15
|
routes?: CFRoute[];
|
|
16
|
+
workerNamespace?: string;
|
|
17
|
+
auth?: {
|
|
18
|
+
apiToken: string;
|
|
19
|
+
apiEmail: string;
|
|
20
|
+
};
|
|
14
21
|
});
|
|
15
22
|
writeFiles({ dir }: {
|
|
16
23
|
dir: string;
|
|
@@ -22,6 +29,12 @@ export declare class CloudflareDeployer extends MastraDeployer {
|
|
|
22
29
|
dir: string;
|
|
23
30
|
token: string;
|
|
24
31
|
}): Promise<void>;
|
|
32
|
+
tagWorker({ workerName, namespace, tags, scope, }: {
|
|
33
|
+
scope: string;
|
|
34
|
+
workerName: string;
|
|
35
|
+
namespace: string;
|
|
36
|
+
tags: string[];
|
|
37
|
+
}): Promise<void>;
|
|
25
38
|
}
|
|
26
39
|
export {};
|
|
27
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9C,UAAU,OAAO;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAO,CAAC,UAAU,CAAyB;IAC3C,MAAM,CAAC,EAAE,OAAO,EAAE,CAAM;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;gBACb,EACV,KAAK,EACL,GAAG,EACH,WAAW,EACX,MAAM,EACN,eAAe,EACf,IAAI,GACL,EAAE;QACD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH;IAWD,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA8B1C,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBpC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrE,SAAS,CAAC,EACd,UAAU,EACV,SAAS,EACT,IAAI,EACJ,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/deployer-cloudflare",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.21",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,13 +23,14 @@
|
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "ISC",
|
|
25
25
|
"dependencies": {
|
|
26
|
+
"cloudflare": "^4.0.0",
|
|
26
27
|
"date-fns": "^4.1.0",
|
|
27
28
|
"dotenv": "^16.3.1",
|
|
28
29
|
"execa": "^9.3.1",
|
|
29
30
|
"wrangler": "^3.103.2",
|
|
30
31
|
"zod": "^3.24.1",
|
|
31
|
-
"@mastra/
|
|
32
|
-
"@mastra/
|
|
32
|
+
"@mastra/deployer": "0.0.1-alpha.19",
|
|
33
|
+
"@mastra/core": "0.1.27-alpha.75"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@babel/preset-env": "^7.26.0",
|
|
@@ -37,7 +38,6 @@
|
|
|
37
38
|
"@tsconfig/recommended": "^1.0.7",
|
|
38
39
|
"@types/jsdom": "^21.1.7",
|
|
39
40
|
"@types/node": "^22.9.0",
|
|
40
|
-
"@types/pg": "^8.11.10",
|
|
41
41
|
"dts-cli": "^2.0.5",
|
|
42
42
|
"vitest": "^2.1.8"
|
|
43
43
|
},
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MastraDeployer } from '@mastra/core';
|
|
2
|
-
import
|
|
2
|
+
import { createChildProcessLogger } from '@mastra/deployer';
|
|
3
|
+
import { Cloudflare } from 'cloudflare';
|
|
3
4
|
import { writeFileSync } from 'fs';
|
|
4
5
|
import { join } from 'path';
|
|
5
6
|
|
|
@@ -10,21 +11,35 @@ interface CFRoute {
|
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export class CloudflareDeployer extends MastraDeployer {
|
|
14
|
+
private cloudflare: Cloudflare | undefined;
|
|
13
15
|
routes?: CFRoute[] = [];
|
|
16
|
+
workerNamespace?: string;
|
|
14
17
|
constructor({
|
|
15
18
|
scope,
|
|
16
19
|
env,
|
|
17
20
|
projectName,
|
|
18
21
|
routes,
|
|
22
|
+
workerNamespace,
|
|
23
|
+
auth,
|
|
19
24
|
}: {
|
|
20
25
|
env?: Record<string, any>;
|
|
21
26
|
scope: string;
|
|
22
27
|
projectName: string;
|
|
23
28
|
routes?: CFRoute[];
|
|
29
|
+
workerNamespace?: string;
|
|
30
|
+
auth?: {
|
|
31
|
+
apiToken: string;
|
|
32
|
+
apiEmail: string;
|
|
33
|
+
};
|
|
24
34
|
}) {
|
|
25
35
|
super({ scope, env, projectName });
|
|
26
36
|
|
|
27
37
|
this.routes = routes;
|
|
38
|
+
this.workerNamespace = workerNamespace;
|
|
39
|
+
|
|
40
|
+
if (auth) {
|
|
41
|
+
this.cloudflare = new Cloudflare(auth);
|
|
42
|
+
}
|
|
28
43
|
}
|
|
29
44
|
|
|
30
45
|
writeFiles({ dir }: { dir: string }): void {
|
|
@@ -34,25 +49,27 @@ export class CloudflareDeployer extends MastraDeployer {
|
|
|
34
49
|
|
|
35
50
|
const cfWorkerName = this.projectName || 'mastra';
|
|
36
51
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
logs: {
|
|
49
|
-
enabled: true,
|
|
50
|
-
},
|
|
52
|
+
const wranglerConfig: Record<string, any> = {
|
|
53
|
+
name: cfWorkerName,
|
|
54
|
+
main: 'index.mjs',
|
|
55
|
+
compatibility_date: '2024-12-02',
|
|
56
|
+
compatibility_flags: ['nodejs_compat'],
|
|
57
|
+
build: {
|
|
58
|
+
command: 'npm install',
|
|
59
|
+
},
|
|
60
|
+
observability: {
|
|
61
|
+
logs: {
|
|
62
|
+
enabled: true,
|
|
51
63
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
64
|
+
},
|
|
65
|
+
vars: this.env,
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
if (!this.workerNamespace && this.routes) {
|
|
69
|
+
wranglerConfig.routes = this.routes;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
writeFileSync(join(dir, 'wrangler.json'), JSON.stringify(wranglerConfig));
|
|
56
73
|
}
|
|
57
74
|
|
|
58
75
|
writeIndex({ dir }: { dir: string }): void {
|
|
@@ -60,9 +77,12 @@ export class CloudflareDeployer extends MastraDeployer {
|
|
|
60
77
|
join(dir, './index.mjs'),
|
|
61
78
|
`
|
|
62
79
|
export default {
|
|
63
|
-
fetch: async (
|
|
64
|
-
|
|
65
|
-
|
|
80
|
+
fetch: async (request, env, context) => {
|
|
81
|
+
Object.keys(env).forEach(key => {
|
|
82
|
+
process.env[key] = env[key]
|
|
83
|
+
})
|
|
84
|
+
const { app } = await import('./hono.mjs');
|
|
85
|
+
return app.fetch(request, env, context);
|
|
66
86
|
}
|
|
67
87
|
}
|
|
68
88
|
`,
|
|
@@ -70,15 +90,45 @@ export class CloudflareDeployer extends MastraDeployer {
|
|
|
70
90
|
}
|
|
71
91
|
|
|
72
92
|
async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
93
|
+
const cmd = this.workerNamespace
|
|
94
|
+
? `npm exec -- wrangler deploy --dispatch-namespace ${this.workerNamespace}`
|
|
95
|
+
: 'npm exec -- wrangler deploy';
|
|
96
|
+
|
|
97
|
+
const cpLogger = createChildProcessLogger({
|
|
98
|
+
logger: this.logger,
|
|
99
|
+
root: dir,
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
await cpLogger({
|
|
103
|
+
cmd,
|
|
104
|
+
args: [],
|
|
76
105
|
env: {
|
|
77
106
|
CLOUDFLARE_API_TOKEN: token,
|
|
78
107
|
CLOUDFLARE_ACCOUNT_ID: this.scope,
|
|
79
108
|
...this.env,
|
|
80
|
-
PATH: process.env.PATH
|
|
109
|
+
PATH: process.env.PATH!,
|
|
81
110
|
},
|
|
82
111
|
});
|
|
83
112
|
}
|
|
113
|
+
|
|
114
|
+
async tagWorker({
|
|
115
|
+
workerName,
|
|
116
|
+
namespace,
|
|
117
|
+
tags,
|
|
118
|
+
scope,
|
|
119
|
+
}: {
|
|
120
|
+
scope: string;
|
|
121
|
+
workerName: string;
|
|
122
|
+
namespace: string;
|
|
123
|
+
tags: string[];
|
|
124
|
+
}): Promise<void> {
|
|
125
|
+
if (!this.cloudflare) {
|
|
126
|
+
throw new Error('Cloudflare Deployer not initialized');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
await this.cloudflare.workersForPlatforms.dispatch.namespaces.scripts.tags.update(namespace, workerName, {
|
|
130
|
+
account_id: scope,
|
|
131
|
+
body: tags,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
84
134
|
}
|