@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 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 child_process = require('child_process');
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
- fs.writeFileSync(path.join(dir, 'wrangler.json'), JSON.stringify({
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 (event, context) => {\n const { app } = await import('./hono.mjs');\n return app.fetch(event, context);\n }\n }\n ");
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
- child_process__namespace.execSync("npm exec wrangler deploy", {
427
- cwd: dir,
428
- stdio: 'inherit',
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 2:
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 * as child_process from 'child_process';\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 routes?: CFRoute[] = [];\n constructor({\n scope,\n env,\n projectName,\n routes,\n }: {\n env?: Record<string, any>;\n scope: string;\n projectName: string;\n routes?: CFRoute[];\n }) {\n super({ scope, env, projectName });\n\n this.routes = routes;\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 writeFileSync(\n join(dir, 'wrangler.json'),\n JSON.stringify({\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 routes: this.routes,\n vars: this.env,\n }),\n );\n }\n\n writeIndex({ dir }: { dir: string }): void {\n writeFileSync(\n join(dir, './index.mjs'),\n `\n export default {\n fetch: async (event, context) => {\n const { app } = await import('./hono.mjs');\n return app.fetch(event, context);\n }\n }\n `,\n );\n }\n\n async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {\n child_process.execSync(`npm exec wrangler deploy`, {\n cwd: dir,\n stdio: 'inherit',\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"],"names":["CloudflareDeployer","_MastraDeployer","_ref","_this","scope","env","projectName","routes","call","_inheritsLoose","_proto","prototype","writeFiles","_ref2","dir","loadEnvVars","writeIndex","cfWorkerName","writeFileSync","join","JSON","stringify","name","main","compatibility_date","compatibility_flags","build","command","observability","logs","enabled","vars","_ref3","deploy","_deploy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","token","wrap","_callee$","_context","prev","next","child_process","execSync","cwd","stdio","_extends","CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","PATH","process","stop","_x","apply","arguments","MastraDeployer"],"mappings":"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"}
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"),r=require("child_process"),e=require("fs"),n=require("path");function o(t){var r=Object.create(null);return t&&Object.keys(t).forEach((function(e){if("default"!==e){var n=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,n.get?n:{enumerable:!0,get:function(){return t[e]}})}})),r.default=t,r}var i=o(r);function a(t,r,e,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void e(t)}c.done?r(u):Promise.resolve(u).then(n,o)}function c(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var i=t.apply(r,e);function c(t){a(i,n,o,c,u,"next",t)}function u(t){a(i,n,o,c,u,"throw",t)}c(void 0)}))}}function u(){return u=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)({}).hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},u.apply(null,arguments)}function s(){s=function(){return r};var t,r={},e=Object.prototype,n=e.hasOwnProperty,o=Object.defineProperty||function(t,r,e){t[r]=e.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function f(t,r,e,n){var i=Object.create((r&&r.prototype instanceof m?r:m).prototype),a=new S(n||[]);return o(i,"_invoke",{value:P(t,e,a)}),i}function h(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}r.wrap=f;var p="suspendedStart",y="suspendedYield",v="executing",d="completed",g={};function m(){}function w(){}function b(){}var x={};l(x,a,(function(){return this}));var j=Object.getPrototypeOf,O=j&&j(j(T([])));O&&O!==e&&n.call(O,a)&&(x=O);var L=b.prototype=m.prototype=Object.create(x);function _(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function E(t,r){function e(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")?r.resolve(l.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return e("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new r((function(r,o){e(t,n,r,o)}))}return i=i?i.then(o,o):o()}})}function P(r,e,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===g)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(r,e,n);if("normal"===s.type){if(o=n.done?d:y,s.arg===g)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function N(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,N(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=h(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;var a=i.arg;return a?a.done?(e[r.resultName]=a.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,g):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function k(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function F(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function T(r){if(r||""===r){var e=r[a];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,i=function e(){for(;++o<r.length;)if(n.call(r,o))return e.value=r[o],e.done=!1,e;return e.value=t,e.done=!0,e};return i.next=i}}throw new TypeError(typeof r+" is not iterable")}return w.prototype=b,o(L,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:w,configurable:!0}),w.displayName=l(b,u,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===w||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,u,"GeneratorFunction")),t.prototype=Object.create(L),t},r.awrap=function(t){return{__await:t}},_(E.prototype),l(E.prototype,c,(function(){return this})),r.AsyncIterator=E,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new E(f(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},_(L),l(L,u,"Generator"),l(L,a,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=T,S.prototype={constructor:S,reset:function(r){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),!r)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function o(n,o){return c.type="throw",c.arg=r,e.next=n,o&&(e.method="next",e.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,r){for(var e=this.tryEntries.length-1;e>=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(t,r){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&&r&&(this.next=r),g},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),F(e),g}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;F(e)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:T(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),g}},r}function l(t,r){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},l(t,r)}exports.CloudflareDeployer=function(t){function r(r){var e,n=r.routes;return(e=t.call(this,{scope:r.scope,env:r.env,projectName:r.projectName})||this).routes=[],e.routes=n,e}var o,a;a=t,(o=r).prototype=Object.create(a.prototype),o.prototype.constructor=o,l(o,a);var f=r.prototype;return f.writeFiles=function(t){var r=t.dir;this.loadEnvVars(),this.writeIndex({dir:r});var o=this.projectName||"mastra";e.writeFileSync(n.join(r,"wrangler.json"),JSON.stringify({name:o,main:"index.mjs",compatibility_date:"2024-12-02",compatibility_flags:["nodejs_compat"],build:{command:"npm install"},observability:{logs:{enabled:!0}},routes:this.routes,vars:this.env}))},f.writeIndex=function(t){e.writeFileSync(n.join(t.dir,"./index.mjs"),"\n export default {\n fetch: async (event, context) => {\n const { app } = await import('./hono.mjs');\n return app.fetch(event, context);\n }\n }\n ")},f.deploy=function(){var t=c(s().mark((function t(r){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i.execSync("npm exec wrangler deploy",{cwd:r.dir,stdio:"inherit",env:u({CLOUDFLARE_API_TOKEN:r.token,CLOUDFLARE_ACCOUNT_ID:this.scope},this.env,{PATH:process.env.PATH})});case 2:case"end":return t.stop()}}),t,this)})));return function(r){return t.apply(this,arguments)}}(),r}(t.MastraDeployer);
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 * as child_process from 'child_process';\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 routes?: CFRoute[] = [];\n constructor({\n scope,\n env,\n projectName,\n routes,\n }: {\n env?: Record<string, any>;\n scope: string;\n projectName: string;\n routes?: CFRoute[];\n }) {\n super({ scope, env, projectName });\n\n this.routes = routes;\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 writeFileSync(\n join(dir, 'wrangler.json'),\n JSON.stringify({\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 routes: this.routes,\n vars: this.env,\n }),\n );\n }\n\n writeIndex({ dir }: { dir: string }): void {\n writeFileSync(\n join(dir, './index.mjs'),\n `\n export default {\n fetch: async (event, context) => {\n const { app } = await import('./hono.mjs');\n return app.fetch(event, context);\n }\n }\n `,\n );\n }\n\n async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {\n child_process.execSync(`npm exec wrangler deploy`, {\n cwd: dir,\n stdio: 'inherit',\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"],"names":["_MastraDeployer","CloudflareDeployer","_ref","_this","routes","call","this","scope","env","projectName","_proto","prototype","writeFiles","_ref2","dir","loadEnvVars","writeIndex","cfWorkerName","writeFileSync","join","JSON","stringify","name","main","compatibility_date","compatibility_flags","build","command","observability","logs","enabled","vars","_ref3","deploy","_deploy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","wrap","_context","prev","next","child_process","execSync","cwd","stdio","_extends","CLOUDFLARE_API_TOKEN","token","CLOUDFLARE_ACCOUNT_ID","PATH","process","stop","_x","apply","arguments","MastraDeployer"],"mappings":"m7OAWgCA,GAE9B,SAAAC,EAAAC,GAUC,IAAAC,EANCC,EAAMF,EAANE,OASqB,OAFrBD,EAAAH,EAAAK,KAAMC,KAAA,CAAEC,MAVHL,EAALK,MAUeC,IATZN,EAAHM,IASoBC,YARTP,EAAXO,eAQkCH,MAZpCF,OAAqB,GAcnBD,EAAKC,OAASA,EAAOD,CACvB,WAACH,KAAAC,yEAAA,IAAAS,EAAAT,EAAAU,UA4CW,OA5CXD,EAEDE,WAAA,SAAUC,GAAyB,IAAtBC,EAAGD,EAAHC,IACXR,KAAKS,cAELT,KAAKU,WAAW,CAAEF,IAAAA,IAElB,IAAMG,EAAeX,KAAKG,aAAe,SAEzCS,EAAaA,cACXC,EAAIA,KAACL,EAAK,iBACVM,KAAKC,UAAU,CACbC,KAAML,EACNM,KAAM,YACNC,mBAAoB,aACpBC,oBAAqB,CAAC,iBACtBC,MAAO,CACLC,QAAS,eAEXC,cAAe,CACbC,KAAM,CACJC,SAAS,IAGb1B,OAAQE,KAAKF,OACb2B,KAAMzB,KAAKE,QAGhBE,EAEDM,WAAA,SAAUgB,GACRd,EAAAA,cACEC,EAAAA,KAFYa,EAAHlB,IAEC,oOAUbJ,EAEKuB,OAAM,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAZ,SAAAC,EAAAC,GAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACEC,EAAcC,SAAqC,2BAAA,CACjDC,IAFcP,EAAHzB,IAGXiC,MAAO,UACPvC,IAAGwC,EAAA,CACDC,qBALmBV,EAALW,MAMdC,sBAAuB7C,KAAKC,OACzBD,KAAKE,IAAG,CACX4C,KAAMC,QAAQ7C,IAAI4C,SAEnB,KAAA,EAAA,IAAA,MAAA,OAAAX,EAAAa,OAAA,GAAAhB,EAAAhC,KACJ,KAXW,OAWX,SAXWiD,GAAA,OAAArB,EAAAsB,MAAAlD,KAAAmD,UAAA,CAAA,CAAA,GAAAxD,CAAA,EA5D0ByD,EAAcA"}
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 * as child_process from 'child_process';
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
- writeFileSync(join(dir, 'wrangler.json'), JSON.stringify({
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 (event, context) => {\n const { app } = await import('./hono.mjs');\n return app.fetch(event, context);\n }\n }\n ");
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
- child_process.execSync("npm exec wrangler deploy", {
404
- cwd: dir,
405
- stdio: 'inherit',
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 2:
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 * as child_process from 'child_process';\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 routes?: CFRoute[] = [];\n constructor({\n scope,\n env,\n projectName,\n routes,\n }: {\n env?: Record<string, any>;\n scope: string;\n projectName: string;\n routes?: CFRoute[];\n }) {\n super({ scope, env, projectName });\n\n this.routes = routes;\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 writeFileSync(\n join(dir, 'wrangler.json'),\n JSON.stringify({\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 routes: this.routes,\n vars: this.env,\n }),\n );\n }\n\n writeIndex({ dir }: { dir: string }): void {\n writeFileSync(\n join(dir, './index.mjs'),\n `\n export default {\n fetch: async (event, context) => {\n const { app } = await import('./hono.mjs');\n return app.fetch(event, context);\n }\n }\n `,\n );\n }\n\n async deploy({ dir, token }: { dir: string; token: string }): Promise<void> {\n child_process.execSync(`npm exec wrangler deploy`, {\n cwd: dir,\n stdio: 'inherit',\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"],"names":["CloudflareDeployer","_MastraDeployer","_ref","_this","scope","env","projectName","routes","call","_inheritsLoose","_proto","prototype","writeFiles","_ref2","dir","loadEnvVars","writeIndex","cfWorkerName","writeFileSync","join","JSON","stringify","name","main","compatibility_date","compatibility_flags","build","command","observability","logs","enabled","vars","_ref3","deploy","_deploy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","token","wrap","_callee$","_context","prev","next","child_process","execSync","cwd","stdio","_extends","CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","PATH","process","stop","_x","apply","arguments","MastraDeployer"],"mappings":"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"}
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
- constructor({ scope, env, projectName, routes, }: {
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAK9C,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,MAAM,CAAC,EAAE,OAAO,EAAE,CAAM;gBACZ,EACV,KAAK,EACL,GAAG,EACH,WAAW,EACX,MAAM,GACP,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;KACpB;IAMD,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA4B1C,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcpC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAY5E"}
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.2",
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/core": "0.1.27-alpha.66",
32
- "@mastra/deployer": "0.0.1-alpha.2"
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 * as child_process from 'child_process';
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
- writeFileSync(
38
- join(dir, 'wrangler.json'),
39
- JSON.stringify({
40
- name: cfWorkerName,
41
- main: 'index.mjs',
42
- compatibility_date: '2024-12-02',
43
- compatibility_flags: ['nodejs_compat'],
44
- build: {
45
- command: 'npm install',
46
- },
47
- observability: {
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
- routes: this.routes,
53
- vars: this.env,
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 (event, context) => {
64
- const { app } = await import('./hono.mjs');
65
- return app.fetch(event, context);
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
- child_process.execSync(`npm exec wrangler deploy`, {
74
- cwd: dir,
75
- stdio: 'inherit',
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
  }