@positronic/cloudflare 0.0.76 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/api/brains.js +90 -195
- package/dist/src/api/files.js +178 -0
- package/dist/src/api/index.js +9 -0
- package/dist/src/api/webhooks/coordination.js +0 -2
- package/dist/src/api/webhooks/index.js +43 -36
- package/dist/src/api/webhooks/system.js +23 -21
- package/dist/src/brain-runner-do.js +113 -173
- package/dist/src/content-type.js +6 -0
- package/dist/src/dev-server.js +128 -18
- package/dist/src/file-utils.js +7 -0
- package/dist/src/files-service.js +465 -0
- package/dist/src/manifest.js +13 -8
- package/dist/src/monitor-do.js +17 -0
- package/dist/src/schedule-do.js +5 -19
- package/dist/src/zip-builder.js +507 -0
- package/dist/types/api/brains.d.ts.map +1 -1
- package/dist/types/api/files.d.ts +7 -0
- package/dist/types/api/files.d.ts.map +1 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/webhooks/coordination.d.ts +0 -1
- package/dist/types/api/webhooks/coordination.d.ts.map +1 -1
- package/dist/types/api/webhooks/index.d.ts.map +1 -1
- package/dist/types/api/webhooks/system.d.ts.map +1 -1
- package/dist/types/brain-runner-do.d.ts +13 -7
- package/dist/types/brain-runner-do.d.ts.map +1 -1
- package/dist/types/content-type.d.ts +2 -0
- package/dist/types/content-type.d.ts.map +1 -0
- package/dist/types/dev-server.d.ts +1 -0
- package/dist/types/dev-server.d.ts.map +1 -1
- package/dist/types/file-utils.d.ts +3 -0
- package/dist/types/file-utils.d.ts.map +1 -0
- package/dist/types/files-service.d.ts +4 -0
- package/dist/types/files-service.d.ts.map +1 -0
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/monitor-do.d.ts +6 -0
- package/dist/types/monitor-do.d.ts.map +1 -1
- package/dist/types/schedule-do.d.ts +0 -1
- package/dist/types/schedule-do.d.ts.map +1 -1
- package/dist/types/zip-builder.d.ts +4 -0
- package/dist/types/zip-builder.d.ts.map +1 -0
- package/package.json +5 -4
package/dist/src/dev-server.js
CHANGED
|
@@ -546,11 +546,11 @@ export function discoverBrains(brainsDir) {
|
|
|
546
546
|
return _ts_generator(this, function(_state) {
|
|
547
547
|
switch(_state.label){
|
|
548
548
|
case 0:
|
|
549
|
-
if (entry.isFile() && entry.name.endsWith('.ts')) {
|
|
549
|
+
if (entry.isFile() && (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx'))) {
|
|
550
550
|
return [
|
|
551
551
|
2,
|
|
552
552
|
{
|
|
553
|
-
name: entry.name.replace(/\.
|
|
553
|
+
name: entry.name.replace(/\.tsx?$/, ''),
|
|
554
554
|
relativePath: entry.name
|
|
555
555
|
}
|
|
556
556
|
];
|
|
@@ -624,12 +624,12 @@ export function discoverWebhooks(webhooksDir) {
|
|
|
624
624
|
}
|
|
625
625
|
function regenerateManifestFile(projectRootPath, targetSrcDir) {
|
|
626
626
|
return _async_to_generator(function() {
|
|
627
|
-
var runnerPath, brainsDir, manifestPath, importStatements, manifestEntries, brains, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, brain, importPath, importAlias, manifestContent, runnerContent;
|
|
627
|
+
var runnerPath, brainsDir, manifestPath, importStatements, manifestEntries, brains, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, brain, jsFile, importPath, importAlias, manifestContent, runnerContent;
|
|
628
628
|
return _ts_generator(this, function(_state) {
|
|
629
629
|
switch(_state.label){
|
|
630
630
|
case 0:
|
|
631
|
-
runnerPath = path.join(projectRootPath, 'runner.ts');
|
|
632
|
-
brainsDir = path.join(projectRootPath, 'brains');
|
|
631
|
+
runnerPath = path.join(projectRootPath, 'src', 'runner.ts');
|
|
632
|
+
brainsDir = path.join(projectRootPath, 'src', 'brains');
|
|
633
633
|
manifestPath = path.join(targetSrcDir, '_manifest.ts');
|
|
634
634
|
importStatements = "import type { Brain } from '@positronic/core';\n";
|
|
635
635
|
manifestEntries = '';
|
|
@@ -643,7 +643,9 @@ function regenerateManifestFile(projectRootPath, targetSrcDir) {
|
|
|
643
643
|
try {
|
|
644
644
|
for(_iterator = brains[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
645
645
|
brain = _step.value;
|
|
646
|
-
|
|
646
|
+
// All brains are compiled to .positronic/brains/ by build-brains.mjs
|
|
647
|
+
jsFile = brain.relativePath.replace(/\.tsx?$/, '.js');
|
|
648
|
+
importPath = "../brains/".concat(jsFile);
|
|
647
649
|
importAlias = "brain_".concat(brain.name.replace(/[^a-zA-Z0-9_]/g, '_'));
|
|
648
650
|
importStatements += "import * as ".concat(importAlias, " from '").concat(importPath, "';\n");
|
|
649
651
|
manifestEntries += " ".concat(JSON.stringify(brain.name), ": {\n");
|
|
@@ -706,7 +708,7 @@ function regenerateWebhookManifestFile(projectRootPath, targetSrcDir) {
|
|
|
706
708
|
return _ts_generator(this, function(_state) {
|
|
707
709
|
switch(_state.label){
|
|
708
710
|
case 0:
|
|
709
|
-
webhooksDir = path.join(projectRootPath, 'webhooks');
|
|
711
|
+
webhooksDir = path.join(projectRootPath, 'src', 'webhooks');
|
|
710
712
|
manifestPath = path.join(targetSrcDir, '_webhookManifest.ts');
|
|
711
713
|
return [
|
|
712
714
|
4,
|
|
@@ -720,7 +722,8 @@ function regenerateWebhookManifestFile(projectRootPath, targetSrcDir) {
|
|
|
720
722
|
try {
|
|
721
723
|
for(_iterator = webhooks[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
722
724
|
webhook = _step.value;
|
|
723
|
-
|
|
725
|
+
// Webhooks are imported through symlink: .positronic/webhooks -> ../src/webhooks
|
|
726
|
+
importPath = "../webhooks/".concat(webhook.relativePath.replace(/\.ts$/, '.js'));
|
|
724
727
|
importAlias = "webhook_".concat(webhook.name.replace(/[^a-zA-Z0-9_]/g, '_'));
|
|
725
728
|
importStatements += "import ".concat(importAlias, " from '").concat(importPath, "';\n");
|
|
726
729
|
manifestEntries += " ".concat(JSON.stringify(webhook.name), ": ").concat(importAlias, ",\n");
|
|
@@ -808,34 +811,42 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
808
811
|
this.ensureServerDirectory(projectRoot, serverDir, force)
|
|
809
812
|
];
|
|
810
813
|
case 1:
|
|
814
|
+
_state.sent();
|
|
815
|
+
// Create symlinks from .positronic/ to src/* (except brains/)
|
|
816
|
+
// so compiled brains' relative imports resolve correctly
|
|
817
|
+
return [
|
|
818
|
+
4,
|
|
819
|
+
this.createSrcSymlinks(projectRoot, serverDir)
|
|
820
|
+
];
|
|
821
|
+
case 2:
|
|
811
822
|
_state.sent();
|
|
812
823
|
// Sync environment variables to .dev.vars
|
|
813
824
|
return [
|
|
814
825
|
4,
|
|
815
826
|
this.syncEnvironmentVariables(projectRoot, serverDir)
|
|
816
827
|
];
|
|
817
|
-
case
|
|
828
|
+
case 3:
|
|
818
829
|
_state.sent();
|
|
819
830
|
// Regenerate manifest based on actual project state
|
|
820
831
|
return [
|
|
821
832
|
4,
|
|
822
833
|
this.regenerateProjectManifest(projectRoot, serverDir)
|
|
823
834
|
];
|
|
824
|
-
case
|
|
835
|
+
case 4:
|
|
825
836
|
_state.sent();
|
|
826
837
|
// Update wrangler config based on environment
|
|
827
838
|
return [
|
|
828
839
|
4,
|
|
829
840
|
this.updateWranglerConfiguration(projectRoot, serverDir)
|
|
830
841
|
];
|
|
831
|
-
case
|
|
842
|
+
case 5:
|
|
832
843
|
_state.sent();
|
|
833
844
|
// Build and upload component bundle
|
|
834
845
|
return [
|
|
835
846
|
4,
|
|
836
847
|
this.buildAndUploadBundle(projectRoot)
|
|
837
848
|
];
|
|
838
|
-
case
|
|
849
|
+
case 6:
|
|
839
850
|
_state.sent();
|
|
840
851
|
// Write origin URL to local R2 for dev server
|
|
841
852
|
return [
|
|
@@ -844,7 +855,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
844
855
|
local: true
|
|
845
856
|
})
|
|
846
857
|
];
|
|
847
|
-
case
|
|
858
|
+
case 7:
|
|
848
859
|
_state.sent();
|
|
849
860
|
return [
|
|
850
861
|
2
|
|
@@ -969,6 +980,105 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
969
980
|
})();
|
|
970
981
|
}
|
|
971
982
|
},
|
|
983
|
+
{
|
|
984
|
+
key: "createSrcSymlinks",
|
|
985
|
+
value: function createSrcSymlinks(projectRoot, serverDir) {
|
|
986
|
+
return _async_to_generator(function() {
|
|
987
|
+
var srcDir, entries, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, entry, symlinkPath, target, err;
|
|
988
|
+
return _ts_generator(this, function(_state) {
|
|
989
|
+
switch(_state.label){
|
|
990
|
+
case 0:
|
|
991
|
+
srcDir = path.join(projectRoot, 'src');
|
|
992
|
+
return [
|
|
993
|
+
4,
|
|
994
|
+
fsPromises.readdir(srcDir, {
|
|
995
|
+
withFileTypes: true
|
|
996
|
+
}).catch(function() {
|
|
997
|
+
return [];
|
|
998
|
+
})
|
|
999
|
+
];
|
|
1000
|
+
case 1:
|
|
1001
|
+
entries = _state.sent();
|
|
1002
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
1003
|
+
_state.label = 2;
|
|
1004
|
+
case 2:
|
|
1005
|
+
_state.trys.push([
|
|
1006
|
+
2,
|
|
1007
|
+
8,
|
|
1008
|
+
9,
|
|
1009
|
+
10
|
|
1010
|
+
]);
|
|
1011
|
+
_iterator = entries[Symbol.iterator]();
|
|
1012
|
+
_state.label = 3;
|
|
1013
|
+
case 3:
|
|
1014
|
+
if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
|
|
1015
|
+
3,
|
|
1016
|
+
7
|
|
1017
|
+
];
|
|
1018
|
+
entry = _step.value;
|
|
1019
|
+
if (entry.name === 'brains') return [
|
|
1020
|
+
3,
|
|
1021
|
+
6
|
|
1022
|
+
];
|
|
1023
|
+
symlinkPath = path.join(serverDir, entry.name);
|
|
1024
|
+
target = path.join('..', 'src', entry.name);
|
|
1025
|
+
return [
|
|
1026
|
+
4,
|
|
1027
|
+
fsPromises.rm(symlinkPath, {
|
|
1028
|
+
recursive: true,
|
|
1029
|
+
force: true
|
|
1030
|
+
})
|
|
1031
|
+
];
|
|
1032
|
+
case 4:
|
|
1033
|
+
_state.sent();
|
|
1034
|
+
return [
|
|
1035
|
+
4,
|
|
1036
|
+
fsPromises.symlink(target, symlinkPath)
|
|
1037
|
+
];
|
|
1038
|
+
case 5:
|
|
1039
|
+
_state.sent();
|
|
1040
|
+
_state.label = 6;
|
|
1041
|
+
case 6:
|
|
1042
|
+
_iteratorNormalCompletion = true;
|
|
1043
|
+
return [
|
|
1044
|
+
3,
|
|
1045
|
+
3
|
|
1046
|
+
];
|
|
1047
|
+
case 7:
|
|
1048
|
+
return [
|
|
1049
|
+
3,
|
|
1050
|
+
10
|
|
1051
|
+
];
|
|
1052
|
+
case 8:
|
|
1053
|
+
err = _state.sent();
|
|
1054
|
+
_didIteratorError = true;
|
|
1055
|
+
_iteratorError = err;
|
|
1056
|
+
return [
|
|
1057
|
+
3,
|
|
1058
|
+
10
|
|
1059
|
+
];
|
|
1060
|
+
case 9:
|
|
1061
|
+
try {
|
|
1062
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1063
|
+
_iterator.return();
|
|
1064
|
+
}
|
|
1065
|
+
} finally{
|
|
1066
|
+
if (_didIteratorError) {
|
|
1067
|
+
throw _iteratorError;
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
return [
|
|
1071
|
+
7
|
|
1072
|
+
];
|
|
1073
|
+
case 10:
|
|
1074
|
+
return [
|
|
1075
|
+
2
|
|
1076
|
+
];
|
|
1077
|
+
}
|
|
1078
|
+
});
|
|
1079
|
+
})();
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
972
1082
|
{
|
|
973
1083
|
key: "syncEnvironmentVariables",
|
|
974
1084
|
value: function syncEnvironmentVariables(projectRoot, serverDir) {
|
|
@@ -1182,7 +1292,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1182
1292
|
distDir = path.join(serverDir, 'dist');
|
|
1183
1293
|
bundleOutputPath = path.join(distDir, 'components.js');
|
|
1184
1294
|
// Check if components directory exists
|
|
1185
|
-
componentsDir = path.join(projectRoot, 'components');
|
|
1295
|
+
componentsDir = path.join(projectRoot, 'src', 'components');
|
|
1186
1296
|
return [
|
|
1187
1297
|
4,
|
|
1188
1298
|
fsPromises.access(componentsDir).then(function() {
|
|
@@ -1194,7 +1304,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1194
1304
|
case 1:
|
|
1195
1305
|
hasComponents = _state.sent();
|
|
1196
1306
|
if (!hasComponents) {
|
|
1197
|
-
console.log('📦 No components/ directory found, skipping bundle build');
|
|
1307
|
+
console.log('📦 No src/components/ directory found, skipping bundle build');
|
|
1198
1308
|
return [
|
|
1199
1309
|
2
|
|
1200
1310
|
];
|
|
@@ -1470,7 +1580,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1470
1580
|
serverDir = path.join(projectRoot, '.positronic');
|
|
1471
1581
|
srcDir = path.join(serverDir, 'src');
|
|
1472
1582
|
relativePath = path.relative(projectRoot, filePath);
|
|
1473
|
-
if (!(relativePath.startsWith('brains/') || relativePath.startsWith('brains\\'))) return [
|
|
1583
|
+
if (!(relativePath.startsWith('src/brains/') || relativePath.startsWith('src\\brains\\'))) return [
|
|
1474
1584
|
3,
|
|
1475
1585
|
2
|
|
1476
1586
|
];
|
|
@@ -1486,7 +1596,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1486
1596
|
6
|
|
1487
1597
|
];
|
|
1488
1598
|
case 2:
|
|
1489
|
-
if (!(relativePath.startsWith('webhooks/') || relativePath.startsWith('webhooks\\'))) return [
|
|
1599
|
+
if (!(relativePath.startsWith('src/webhooks/') || relativePath.startsWith('src\\webhooks\\'))) return [
|
|
1490
1600
|
3,
|
|
1491
1601
|
4
|
|
1492
1602
|
];
|
|
@@ -1502,7 +1612,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1502
1612
|
6
|
|
1503
1613
|
];
|
|
1504
1614
|
case 4:
|
|
1505
|
-
if (!(relativePath.startsWith('components/') || relativePath.startsWith('components\\'))) return [
|
|
1615
|
+
if (!(relativePath.startsWith('src/components/') || relativePath.startsWith('src\\components\\'))) return [
|
|
1506
1616
|
3,
|
|
1507
1617
|
6
|
|
1508
1618
|
];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
function _type_of(obj) {
|
|
2
|
+
"@swc/helpers - typeof";
|
|
3
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
4
|
+
}
|
|
5
|
+
export function isFileHandle(value) {
|
|
6
|
+
return value !== null && (typeof value === "undefined" ? "undefined" : _type_of(value)) === 'object' && 'name' in value && 'url' in value && 'read' in value && typeof value.read === 'function';
|
|
7
|
+
}
|