@positronic/cloudflare 0.0.49 → 0.0.50

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.
@@ -565,6 +565,38 @@ export function discoverBrains(brainsDir) {
565
565
  });
566
566
  })();
567
567
  }
568
+ export function discoverWebhooks(webhooksDir) {
569
+ return _async_to_generator(function() {
570
+ var entries, webhooks;
571
+ return _ts_generator(this, function(_state) {
572
+ switch(_state.label){
573
+ case 0:
574
+ return [
575
+ 4,
576
+ fsPromises.readdir(webhooksDir, {
577
+ withFileTypes: true
578
+ }).catch(function() {
579
+ return [];
580
+ })
581
+ ];
582
+ case 1:
583
+ entries = _state.sent();
584
+ webhooks = entries.filter(function(e) {
585
+ return !e.name.startsWith('_') && e.isFile() && e.name.endsWith('.ts');
586
+ }).map(function(entry) {
587
+ return {
588
+ name: entry.name.replace(/\.ts$/, ''),
589
+ relativePath: entry.name
590
+ };
591
+ });
592
+ return [
593
+ 2,
594
+ webhooks
595
+ ];
596
+ }
597
+ });
598
+ })();
599
+ }
568
600
  function regenerateManifestFile(projectRootPath, targetSrcDir) {
569
601
  return _async_to_generator(function() {
570
602
  var runnerPath, brainsDir, manifestPath, importStatements, manifestEntries, brains, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, brain, importPath, importAlias, manifestContent, runnerContent;
@@ -643,6 +675,67 @@ function regenerateManifestFile(projectRootPath, targetSrcDir) {
643
675
  });
644
676
  })();
645
677
  }
678
+ function regenerateWebhookManifestFile(projectRootPath, targetSrcDir) {
679
+ return _async_to_generator(function() {
680
+ var webhooksDir, manifestPath, webhooks, importStatements, manifestEntries, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, webhook, importPath, importAlias, manifestContent;
681
+ return _ts_generator(this, function(_state) {
682
+ switch(_state.label){
683
+ case 0:
684
+ webhooksDir = path.join(projectRootPath, 'webhooks');
685
+ manifestPath = path.join(targetSrcDir, '_webhookManifest.ts');
686
+ return [
687
+ 4,
688
+ discoverWebhooks(webhooksDir)
689
+ ];
690
+ case 1:
691
+ webhooks = _state.sent();
692
+ importStatements = '';
693
+ manifestEntries = '';
694
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
695
+ try {
696
+ for(_iterator = webhooks[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
697
+ webhook = _step.value;
698
+ importPath = "../../webhooks/".concat(webhook.relativePath.replace(/\.ts$/, '.js'));
699
+ importAlias = "webhook_".concat(webhook.name.replace(/[^a-zA-Z0-9_]/g, '_'));
700
+ importStatements += "import ".concat(importAlias, " from '").concat(importPath, "';\n");
701
+ manifestEntries += " ".concat(JSON.stringify(webhook.name), ": ").concat(importAlias, ",\n");
702
+ }
703
+ } catch (err) {
704
+ _didIteratorError = true;
705
+ _iteratorError = err;
706
+ } finally{
707
+ try {
708
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
709
+ _iterator.return();
710
+ }
711
+ } finally{
712
+ if (_didIteratorError) {
713
+ throw _iteratorError;
714
+ }
715
+ }
716
+ }
717
+ manifestContent = "// This file is generated automatically. Do not edit directly.\n".concat(importStatements, "\nexport const webhookManifest: Record<string, any> = {\n").concat(manifestEntries, "};\n");
718
+ return [
719
+ 4,
720
+ fsPromises.mkdir(targetSrcDir, {
721
+ recursive: true
722
+ })
723
+ ];
724
+ case 2:
725
+ _state.sent();
726
+ return [
727
+ 4,
728
+ fsPromises.writeFile(manifestPath, manifestContent, 'utf-8')
729
+ ];
730
+ case 3:
731
+ _state.sent();
732
+ return [
733
+ 2
734
+ ];
735
+ }
736
+ });
737
+ })();
738
+ }
646
739
  export var CloudflareDevServer = /*#__PURE__*/ function() {
647
740
  "use strict";
648
741
  function CloudflareDevServer(projectRootDir) {
@@ -876,6 +969,12 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
876
969
  regenerateManifestFile(projectRoot, srcDir)
877
970
  ];
878
971
  case 1:
972
+ _state.sent();
973
+ return [
974
+ 4,
975
+ regenerateWebhookManifestFile(projectRoot, srcDir)
976
+ ];
977
+ case 2:
879
978
  _state.sent();
880
979
  return [
881
980
  2
@@ -1082,21 +1181,43 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
1082
1181
  key: "watch",
1083
1182
  value: function watch(filePath, event) {
1084
1183
  return _async_to_generator(function() {
1085
- var projectRoot, serverDir, srcDir;
1184
+ var projectRoot, serverDir, srcDir, relativePath;
1086
1185
  return _ts_generator(this, function(_state) {
1087
1186
  switch(_state.label){
1088
1187
  case 0:
1089
1188
  projectRoot = this.projectRootDir;
1090
- // Regenerate manifest when brain files change
1091
1189
  serverDir = path.join(projectRoot, '.positronic');
1092
1190
  srcDir = path.join(serverDir, 'src');
1093
- console.log("Brain file ".concat(event, ": ").concat(path.relative(projectRoot, filePath)));
1191
+ relativePath = path.relative(projectRoot, filePath);
1192
+ if (!(relativePath.startsWith('brains/') || relativePath.startsWith('brains\\'))) return [
1193
+ 3,
1194
+ 2
1195
+ ];
1196
+ console.log("Brain file ".concat(event, ": ").concat(relativePath));
1094
1197
  return [
1095
1198
  4,
1096
1199
  regenerateManifestFile(projectRoot, srcDir)
1097
1200
  ];
1098
1201
  case 1:
1099
1202
  _state.sent();
1203
+ return [
1204
+ 3,
1205
+ 4
1206
+ ];
1207
+ case 2:
1208
+ if (!(relativePath.startsWith('webhooks/') || relativePath.startsWith('webhooks\\'))) return [
1209
+ 3,
1210
+ 4
1211
+ ];
1212
+ console.log("Webhook file ".concat(event, ": ").concat(relativePath));
1213
+ return [
1214
+ 4,
1215
+ regenerateWebhookManifestFile(projectRoot, srcDir)
1216
+ ];
1217
+ case 3:
1218
+ _state.sent();
1219
+ _state.label = 4;
1220
+ case 4:
1100
1221
  return [
1101
1222
  2
1102
1223
  ];
@@ -5,7 +5,7 @@
5
5
  */ // Only export modules that don't depend on cloudflare:workers
6
6
  export { PositronicManifest } from './manifest.js';
7
7
  export { CloudflareR2Loader } from './r2-loader.js';
8
- export { CloudflareDevServer, discoverBrains } from './dev-server.js';
8
+ export { CloudflareDevServer, discoverBrains, discoverWebhooks } from './dev-server.js';
9
9
  // Export with standard name for CLI to use
10
10
  export { CloudflareDevServer as DevServer } from './dev-server.js'; // Note: We do NOT export BrainRunnerDO, MonitorDO, or api here
11
11
  // because they depend on cloudflare:workers runtime
@@ -3,6 +3,10 @@ export declare function discoverBrains(brainsDir: string): Promise<{
3
3
  name: string;
4
4
  relativePath: string;
5
5
  }[]>;
6
+ export declare function discoverWebhooks(webhooksDir: string): Promise<{
7
+ name: string;
8
+ relativePath: string;
9
+ }[]>;
6
10
  export declare class CloudflareDevServer implements PositronicDevServer {
7
11
  projectRootDir: string;
8
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/dev-server.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqJ1E,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAmBnD;AA8CD,qBAAa,mBAAoB,YAAW,mBAAmB;IAyB1C,cAAc,EAAE,MAAM;IAjBzC;;;;;;;;;;;OAWG;IAEH,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,gBAAgB,CAAwC;gBAE7C,cAAc,EAAE,MAAM;IAEnC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB7B,qBAAqB;YA4DrB,wBAAwB;YAqBxB,yBAAyB;YAQzB,2BAA2B;IAuBzC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,wBAAwB;YASlB,0BAA0B;IA4BxC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,gBAAgB;IA4BlB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAkD3C,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GACjC,OAAO,CAAC,IAAI,CAAC;YAUF,oBAAoB;IA0D5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAyG7B;;;OAGG;YACW,sBAAsB;IAepC;;OAEG;YACW,eAAe;IA6B7B,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIlD,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI9C,WAAW,IAAI,OAAO,CAC1B,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAC5D;IAwCK,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CrD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA0DnD"}
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/dev-server.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqJ1E,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAmBnD;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAanD;AA6ED,qBAAa,mBAAoB,YAAW,mBAAmB;IAyB1C,cAAc,EAAE,MAAM;IAjBzC;;;;;;;;;;;OAWG;IAEH,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,gBAAgB,CAAwC;gBAE7C,cAAc,EAAE,MAAM;IAEnC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB7B,qBAAqB;YA4DrB,wBAAwB;YAqBxB,yBAAyB;YASzB,2BAA2B;IAuBzC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,wBAAwB;YASlB,0BAA0B;IA4BxC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,gBAAgB;IA4BlB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAkD3C,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GACjC,OAAO,CAAC,IAAI,CAAC;YAgBF,oBAAoB;IA0D5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAyG7B;;;OAGG;YACW,sBAAsB;IAepC;;OAEG;YACW,eAAe;IA6B7B,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIlD,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI9C,WAAW,IAAI,OAAO,CAC1B,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAC5D;IAwCK,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CrD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA0DnD"}
@@ -5,6 +5,6 @@
5
5
  */
6
6
  export { PositronicManifest, type BrainMetadata, type ResolutionResult } from './manifest.js';
7
7
  export { CloudflareR2Loader } from './r2-loader.js';
8
- export { CloudflareDevServer, discoverBrains } from './dev-server.js';
8
+ export { CloudflareDevServer, discoverBrains, discoverWebhooks } from './dev-server.js';
9
9
  export { CloudflareDevServer as DevServer } from './dev-server.js';
10
10
  //# sourceMappingURL=node-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-index.d.ts","sourceRoot":"","sources":["../../src/node-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"node-index.d.ts","sourceRoot":"","sources":["../../src/node-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,mBAAmB,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@positronic/cloudflare",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },