@positronic/cloudflare 0.0.71 → 0.0.73
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/index.js +2 -0
- package/dist/src/api/pages.js +38 -31
- package/dist/src/api/store.js +712 -0
- package/dist/src/brain-runner-do.js +61 -35
- package/dist/src/dev-server.js +135 -16
- package/dist/src/origin.js +158 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/pages.d.ts.map +1 -1
- package/dist/types/api/store.d.ts +7 -0
- package/dist/types/api/store.d.ts.map +1 -0
- package/dist/types/api/types.d.ts +0 -1
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/brain-runner-do.d.ts +0 -1
- package/dist/types/brain-runner-do.d.ts.map +1 -1
- package/dist/types/dev-server.d.ts +5 -0
- package/dist/types/dev-server.d.ts.map +1 -1
- package/dist/types/origin.d.ts +7 -0
- package/dist/types/origin.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -302,6 +302,7 @@ import { setGovernorBinding, rateGoverned } from './governor-client-wrapper.js';
|
|
|
302
302
|
import { CloudflareR2Loader } from './r2-loader.js';
|
|
303
303
|
import { createR2Backend } from './create-r2-store.js';
|
|
304
304
|
import { createResources } from '@positronic/core';
|
|
305
|
+
import { getOrigin } from './origin.js';
|
|
305
306
|
var manifest = null;
|
|
306
307
|
export function setManifest(generatedManifest) {
|
|
307
308
|
manifest = generatedManifest;
|
|
@@ -809,36 +810,53 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
809
810
|
* Build the RuntimeEnv for brain execution.
|
|
810
811
|
* Extracts secrets from Cloudflare env bindings (string values only).
|
|
811
812
|
*/ function buildRuntimeEnv() {
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
813
|
+
return _async_to_generator(function() {
|
|
814
|
+
var secrets, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, key, value, origin;
|
|
815
|
+
return _ts_generator(this, function(_state) {
|
|
816
|
+
switch(_state.label){
|
|
817
|
+
case 0:
|
|
818
|
+
// Extract secrets: filter this.env to only string values
|
|
819
|
+
// This automatically excludes infrastructure bindings (R2Bucket, DurableObjectNamespace are objects)
|
|
820
|
+
secrets = {};
|
|
821
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
822
|
+
try {
|
|
823
|
+
for(_iterator = Object.entries(this.env)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
824
|
+
_step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
|
|
825
|
+
if (typeof value === 'string') {
|
|
826
|
+
secrets[key] = value;
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
} catch (err) {
|
|
830
|
+
_didIteratorError = true;
|
|
831
|
+
_iteratorError = err;
|
|
832
|
+
} finally{
|
|
833
|
+
try {
|
|
834
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
835
|
+
_iterator.return();
|
|
836
|
+
}
|
|
837
|
+
} finally{
|
|
838
|
+
if (_didIteratorError) {
|
|
839
|
+
throw _iteratorError;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
return [
|
|
844
|
+
4,
|
|
845
|
+
getOrigin(this.env.RESOURCES_BUCKET)
|
|
846
|
+
];
|
|
847
|
+
case 1:
|
|
848
|
+
origin = _state.sent();
|
|
849
|
+
return [
|
|
850
|
+
2,
|
|
851
|
+
{
|
|
852
|
+
origin: origin,
|
|
853
|
+
// Cast to Secrets - the generated secrets.d.ts augments Secrets with specific keys
|
|
854
|
+
secrets: secrets
|
|
855
|
+
}
|
|
856
|
+
];
|
|
834
857
|
}
|
|
835
|
-
}
|
|
836
|
-
}
|
|
837
|
-
return {
|
|
838
|
-
origin: this.env.WORKER_URL || 'http://localhost:3000',
|
|
839
|
-
// Cast to Secrets - the generated secrets.d.ts augments Secrets with specific keys
|
|
840
|
-
secrets: secrets
|
|
841
|
-
};
|
|
858
|
+
});
|
|
859
|
+
}).call(this);
|
|
842
860
|
}
|
|
843
861
|
},
|
|
844
862
|
{
|
|
@@ -1079,8 +1097,12 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
1079
1097
|
scheduleAdapter = new ScheduleAdapter(this.env.SCHEDULE_DO.get(this.env.SCHEDULE_DO.idFromName('singleton')));
|
|
1080
1098
|
webhookAdapter = new WebhookAdapter(monitorDOStub);
|
|
1081
1099
|
this.pageAdapter = new PageAdapter(monitorDOStub, this.env.RESOURCES_BUCKET);
|
|
1082
|
-
|
|
1083
|
-
|
|
1100
|
+
return [
|
|
1101
|
+
4,
|
|
1102
|
+
this.buildRuntimeEnv()
|
|
1103
|
+
];
|
|
1104
|
+
case 1:
|
|
1105
|
+
env = _state.sent();
|
|
1084
1106
|
// Create pages service for brain to use
|
|
1085
1107
|
pagesService = createPagesService(brainRunId, this.env.RESOURCES_BUCKET, monitorDOStub, env);
|
|
1086
1108
|
setGovernorBinding(this.env.GOVERNOR_DO);
|
|
@@ -1091,7 +1113,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
1091
1113
|
4,
|
|
1092
1114
|
this.loadResourcesFromR2()
|
|
1093
1115
|
];
|
|
1094
|
-
case
|
|
1116
|
+
case 2:
|
|
1095
1117
|
r2Resources = _state.sent();
|
|
1096
1118
|
// Create an enhanced runner with resources if available
|
|
1097
1119
|
runnerWithResources = brainRunner;
|
|
@@ -1271,8 +1293,12 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
1271
1293
|
scheduleAdapter = new ScheduleAdapter(this.env.SCHEDULE_DO.get(this.env.SCHEDULE_DO.idFromName('singleton')));
|
|
1272
1294
|
webhookAdapter = new WebhookAdapter(monitorDOStub);
|
|
1273
1295
|
this.pageAdapter = new PageAdapter(monitorDOStub, this.env.RESOURCES_BUCKET);
|
|
1274
|
-
|
|
1275
|
-
|
|
1296
|
+
return [
|
|
1297
|
+
4,
|
|
1298
|
+
this.buildRuntimeEnv()
|
|
1299
|
+
];
|
|
1300
|
+
case 5:
|
|
1301
|
+
env = _state.sent();
|
|
1276
1302
|
// Create pages service for brain to use
|
|
1277
1303
|
pagesService = createPagesService(brainRunId, this.env.RESOURCES_BUCKET, monitorDOStub, env);
|
|
1278
1304
|
setGovernorBinding(this.env.GOVERNOR_DO);
|
|
@@ -1283,7 +1309,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
1283
1309
|
4,
|
|
1284
1310
|
this.loadResourcesFromR2()
|
|
1285
1311
|
];
|
|
1286
|
-
case
|
|
1312
|
+
case 6:
|
|
1287
1313
|
r2Resources = _state.sent();
|
|
1288
1314
|
runnerWithResources = brainRunner;
|
|
1289
1315
|
if (r2Resources) {
|
package/dist/src/dev-server.js
CHANGED
|
@@ -836,6 +836,15 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
836
836
|
this.buildAndUploadBundle(projectRoot)
|
|
837
837
|
];
|
|
838
838
|
case 5:
|
|
839
|
+
_state.sent();
|
|
840
|
+
// Write origin URL to local R2 for dev server
|
|
841
|
+
return [
|
|
842
|
+
4,
|
|
843
|
+
this.writeOriginToR2(projectRoot, 'http://localhost:8787', {
|
|
844
|
+
local: true
|
|
845
|
+
})
|
|
846
|
+
];
|
|
847
|
+
case 6:
|
|
839
848
|
_state.sent();
|
|
840
849
|
return [
|
|
841
850
|
2
|
|
@@ -1160,7 +1169,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1160
1169
|
* Uses esbuild to bundle components/bundle.ts and uploads to R2 for serving.
|
|
1161
1170
|
*/ function buildAndUploadBundle(_0) {
|
|
1162
1171
|
return _async_to_generator(function(projectRoot) {
|
|
1163
|
-
var options, serverDir, bundleEntryPath, distDir, bundleOutputPath, componentsDir, hasComponents, hasBundleEntry, _wranglerConfig_r2_buckets_, _wranglerConfig_r2_buckets, bundleContent, wranglerConfigPath, wranglerConfig, bucketName, r2Key, r2Path, tempBundlePath,
|
|
1172
|
+
var options, serverDir, bundleEntryPath, distDir, bundleOutputPath, componentsDir, hasComponents, hasBundleEntry, _wranglerConfig_r2_buckets_, _wranglerConfig_r2_buckets, bundleContent, wranglerConfigPath, wranglerConfig, bucketName, r2Key, r2Path, tempBundlePath, locationFlag, target, error;
|
|
1164
1173
|
var _arguments = arguments;
|
|
1165
1174
|
return _ts_generator(this, function(_state) {
|
|
1166
1175
|
switch(_state.label){
|
|
@@ -1263,8 +1272,8 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1263
1272
|
8,
|
|
1264
1273
|
10
|
|
1265
1274
|
]);
|
|
1266
|
-
|
|
1267
|
-
execSync('npx wrangler r2 object put "'.concat(r2Path, '" --file="').concat(tempBundlePath, '"').concat(
|
|
1275
|
+
locationFlag = options.local ? ' --local' : ' --remote';
|
|
1276
|
+
execSync('npx wrangler r2 object put "'.concat(r2Path, '" --file="').concat(tempBundlePath, '"').concat(locationFlag), {
|
|
1268
1277
|
cwd: serverDir,
|
|
1269
1278
|
stdio: 'pipe'
|
|
1270
1279
|
});
|
|
@@ -1307,6 +1316,79 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1307
1316
|
}).apply(this, arguments);
|
|
1308
1317
|
}
|
|
1309
1318
|
},
|
|
1319
|
+
{
|
|
1320
|
+
key: "writeOriginToR2",
|
|
1321
|
+
value: /**
|
|
1322
|
+
* Write the origin URL to R2 at __config/origin.
|
|
1323
|
+
* Used by brain-runner-do and pages API to construct public URLs.
|
|
1324
|
+
*/ function writeOriginToR2(_0, _1) {
|
|
1325
|
+
return _async_to_generator(function(projectRoot, origin) {
|
|
1326
|
+
var options, _wranglerConfig_r2_buckets_, _wranglerConfig_r2_buckets, serverDir, wranglerConfigPath, wranglerConfig, bucketName, r2Path, tempFilePath, locationFlag;
|
|
1327
|
+
var _arguments = arguments;
|
|
1328
|
+
return _ts_generator(this, function(_state) {
|
|
1329
|
+
switch(_state.label){
|
|
1330
|
+
case 0:
|
|
1331
|
+
options = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : {
|
|
1332
|
+
local: true
|
|
1333
|
+
};
|
|
1334
|
+
serverDir = path.join(projectRoot, '.positronic');
|
|
1335
|
+
wranglerConfigPath = path.join(serverDir, 'wrangler.jsonc');
|
|
1336
|
+
if (!fs.existsSync(wranglerConfigPath)) {
|
|
1337
|
+
return [
|
|
1338
|
+
2
|
|
1339
|
+
];
|
|
1340
|
+
}
|
|
1341
|
+
wranglerConfig = JSON.parse(fs.readFileSync(wranglerConfigPath, 'utf-8'));
|
|
1342
|
+
bucketName = (_wranglerConfig_r2_buckets = wranglerConfig.r2_buckets) === null || _wranglerConfig_r2_buckets === void 0 ? void 0 : (_wranglerConfig_r2_buckets_ = _wranglerConfig_r2_buckets[0]) === null || _wranglerConfig_r2_buckets_ === void 0 ? void 0 : _wranglerConfig_r2_buckets_.bucket_name;
|
|
1343
|
+
if (!bucketName) {
|
|
1344
|
+
return [
|
|
1345
|
+
2
|
|
1346
|
+
];
|
|
1347
|
+
}
|
|
1348
|
+
r2Path = "".concat(bucketName, "/__config/origin");
|
|
1349
|
+
tempFilePath = path.join(os.tmpdir(), "positronic-origin-".concat(Date.now(), ".txt"));
|
|
1350
|
+
return [
|
|
1351
|
+
4,
|
|
1352
|
+
fsPromises.writeFile(tempFilePath, origin)
|
|
1353
|
+
];
|
|
1354
|
+
case 1:
|
|
1355
|
+
_state.sent();
|
|
1356
|
+
_state.label = 2;
|
|
1357
|
+
case 2:
|
|
1358
|
+
_state.trys.push([
|
|
1359
|
+
2,
|
|
1360
|
+
,
|
|
1361
|
+
3,
|
|
1362
|
+
5
|
|
1363
|
+
]);
|
|
1364
|
+
locationFlag = options.local ? ' --local' : ' --remote';
|
|
1365
|
+
execSync('npx wrangler r2 object put "'.concat(r2Path, '" --file="').concat(tempFilePath, '"').concat(locationFlag), {
|
|
1366
|
+
cwd: serverDir,
|
|
1367
|
+
stdio: 'pipe'
|
|
1368
|
+
});
|
|
1369
|
+
return [
|
|
1370
|
+
3,
|
|
1371
|
+
5
|
|
1372
|
+
];
|
|
1373
|
+
case 3:
|
|
1374
|
+
return [
|
|
1375
|
+
4,
|
|
1376
|
+
fsPromises.unlink(tempFilePath).catch(function() {})
|
|
1377
|
+
];
|
|
1378
|
+
case 4:
|
|
1379
|
+
_state.sent();
|
|
1380
|
+
return [
|
|
1381
|
+
7
|
|
1382
|
+
];
|
|
1383
|
+
case 5:
|
|
1384
|
+
return [
|
|
1385
|
+
2
|
|
1386
|
+
];
|
|
1387
|
+
}
|
|
1388
|
+
});
|
|
1389
|
+
}).apply(this, arguments);
|
|
1390
|
+
}
|
|
1391
|
+
},
|
|
1310
1392
|
{
|
|
1311
1393
|
key: "start",
|
|
1312
1394
|
value: function start(port) {
|
|
@@ -1588,6 +1670,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1588
1670
|
var // Capture and forward stdout
|
|
1589
1671
|
_wranglerProcess_stdout, // Capture and forward stderr
|
|
1590
1672
|
_wranglerProcess_stderr;
|
|
1673
|
+
var stdoutAccumulator = '';
|
|
1591
1674
|
var wranglerProcess = spawn('npx', [
|
|
1592
1675
|
'wrangler',
|
|
1593
1676
|
'deploy',
|
|
@@ -1607,6 +1690,7 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1607
1690
|
});
|
|
1608
1691
|
(_wranglerProcess_stdout = wranglerProcess.stdout) === null || _wranglerProcess_stdout === void 0 ? void 0 : _wranglerProcess_stdout.on('data', function(data) {
|
|
1609
1692
|
var message = data.toString();
|
|
1693
|
+
stdoutAccumulator += message;
|
|
1610
1694
|
_this.logCallbacks.forEach(function(cb) {
|
|
1611
1695
|
return cb(message);
|
|
1612
1696
|
});
|
|
@@ -1635,17 +1719,21 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1635
1719
|
});
|
|
1636
1720
|
wranglerProcess.on('exit', function(code) {
|
|
1637
1721
|
return _async_to_generator(function() {
|
|
1638
|
-
var successMessage, secretsError;
|
|
1722
|
+
var urlMatch, originError, successMessage, secretsError;
|
|
1639
1723
|
return _ts_generator(this, function(_state) {
|
|
1640
1724
|
switch(_state.label){
|
|
1641
1725
|
case 0:
|
|
1642
1726
|
if (!(code === 0)) return [
|
|
1643
1727
|
3,
|
|
1644
|
-
|
|
1728
|
+
9
|
|
1645
1729
|
];
|
|
1646
1730
|
console.log('✅ Deployment complete!');
|
|
1647
|
-
//
|
|
1648
|
-
|
|
1731
|
+
// Parse worker URL from wrangler output and write origin to production R2
|
|
1732
|
+
urlMatch = stdoutAccumulator.match(/https:\/\/[^\s]+\.workers\.dev/);
|
|
1733
|
+
if (!urlMatch) return [
|
|
1734
|
+
3,
|
|
1735
|
+
4
|
|
1736
|
+
];
|
|
1649
1737
|
_state.label = 1;
|
|
1650
1738
|
case 1:
|
|
1651
1739
|
_state.trys.push([
|
|
@@ -1656,9 +1744,40 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1656
1744
|
]);
|
|
1657
1745
|
return [
|
|
1658
1746
|
4,
|
|
1659
|
-
this.
|
|
1747
|
+
this.writeOriginToR2(projectRoot, urlMatch[0], {
|
|
1748
|
+
local: false
|
|
1749
|
+
})
|
|
1660
1750
|
];
|
|
1661
1751
|
case 2:
|
|
1752
|
+
_state.sent();
|
|
1753
|
+
console.log("\uD83C\uDF10 Origin URL written to R2: ".concat(urlMatch[0]));
|
|
1754
|
+
return [
|
|
1755
|
+
3,
|
|
1756
|
+
4
|
|
1757
|
+
];
|
|
1758
|
+
case 3:
|
|
1759
|
+
originError = _state.sent();
|
|
1760
|
+
console.warn('⚠️ Warning: Could not write origin URL to R2:', originError);
|
|
1761
|
+
return [
|
|
1762
|
+
3,
|
|
1763
|
+
4
|
|
1764
|
+
];
|
|
1765
|
+
case 4:
|
|
1766
|
+
// Set up secrets for the secrets management API
|
|
1767
|
+
console.log('🔐 Configuring secrets management...');
|
|
1768
|
+
_state.label = 5;
|
|
1769
|
+
case 5:
|
|
1770
|
+
_state.trys.push([
|
|
1771
|
+
5,
|
|
1772
|
+
7,
|
|
1773
|
+
,
|
|
1774
|
+
8
|
|
1775
|
+
]);
|
|
1776
|
+
return [
|
|
1777
|
+
4,
|
|
1778
|
+
this.setupSecretsManagement(bucketName)
|
|
1779
|
+
];
|
|
1780
|
+
case 6:
|
|
1662
1781
|
_state.sent();
|
|
1663
1782
|
successMessage = '✅ Deployment and secrets configuration complete!\n';
|
|
1664
1783
|
this.logCallbacks.forEach(function(cb) {
|
|
@@ -1668,9 +1787,9 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1668
1787
|
resolve();
|
|
1669
1788
|
return [
|
|
1670
1789
|
3,
|
|
1671
|
-
|
|
1790
|
+
8
|
|
1672
1791
|
];
|
|
1673
|
-
case
|
|
1792
|
+
case 7:
|
|
1674
1793
|
secretsError = _state.sent();
|
|
1675
1794
|
// Warn but don't fail deployment if secrets setup fails
|
|
1676
1795
|
console.warn('⚠️ Warning: Could not configure secrets management:', secretsError);
|
|
@@ -1681,17 +1800,17 @@ export var CloudflareDevServer = /*#__PURE__*/ function() {
|
|
|
1681
1800
|
resolve();
|
|
1682
1801
|
return [
|
|
1683
1802
|
3,
|
|
1684
|
-
|
|
1803
|
+
8
|
|
1685
1804
|
];
|
|
1686
|
-
case
|
|
1805
|
+
case 8:
|
|
1687
1806
|
return [
|
|
1688
1807
|
3,
|
|
1689
|
-
|
|
1808
|
+
10
|
|
1690
1809
|
];
|
|
1691
|
-
case
|
|
1810
|
+
case 9:
|
|
1692
1811
|
reject(new Error("Wrangler deploy exited with code ".concat(code)));
|
|
1693
|
-
_state.label =
|
|
1694
|
-
case
|
|
1812
|
+
_state.label = 10;
|
|
1813
|
+
case 10:
|
|
1695
1814
|
return [
|
|
1696
1815
|
2
|
|
1697
1816
|
];
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
+
try {
|
|
3
|
+
var info = gen[key](arg);
|
|
4
|
+
var value = info.value;
|
|
5
|
+
} catch (error) {
|
|
6
|
+
reject(error);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (info.done) {
|
|
10
|
+
resolve(value);
|
|
11
|
+
} else {
|
|
12
|
+
Promise.resolve(value).then(_next, _throw);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _async_to_generator(fn) {
|
|
16
|
+
return function() {
|
|
17
|
+
var self = this, args = arguments;
|
|
18
|
+
return new Promise(function(resolve, reject) {
|
|
19
|
+
var gen = fn.apply(self, args);
|
|
20
|
+
function _next(value) {
|
|
21
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
+
}
|
|
23
|
+
function _throw(err) {
|
|
24
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
+
}
|
|
26
|
+
_next(undefined);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function _ts_generator(thisArg, body) {
|
|
31
|
+
var f, y, t, _ = {
|
|
32
|
+
label: 0,
|
|
33
|
+
sent: function() {
|
|
34
|
+
if (t[0] & 1) throw t[1];
|
|
35
|
+
return t[1];
|
|
36
|
+
},
|
|
37
|
+
trys: [],
|
|
38
|
+
ops: []
|
|
39
|
+
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
40
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
41
|
+
return this;
|
|
42
|
+
}), g;
|
|
43
|
+
function verb(n) {
|
|
44
|
+
return function(v) {
|
|
45
|
+
return step([
|
|
46
|
+
n,
|
|
47
|
+
v
|
|
48
|
+
]);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function step(op) {
|
|
52
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
53
|
+
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
54
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
55
|
+
if (y = 0, t) op = [
|
|
56
|
+
op[0] & 2,
|
|
57
|
+
t.value
|
|
58
|
+
];
|
|
59
|
+
switch(op[0]){
|
|
60
|
+
case 0:
|
|
61
|
+
case 1:
|
|
62
|
+
t = op;
|
|
63
|
+
break;
|
|
64
|
+
case 4:
|
|
65
|
+
_.label++;
|
|
66
|
+
return {
|
|
67
|
+
value: op[1],
|
|
68
|
+
done: false
|
|
69
|
+
};
|
|
70
|
+
case 5:
|
|
71
|
+
_.label++;
|
|
72
|
+
y = op[1];
|
|
73
|
+
op = [
|
|
74
|
+
0
|
|
75
|
+
];
|
|
76
|
+
continue;
|
|
77
|
+
case 7:
|
|
78
|
+
op = _.ops.pop();
|
|
79
|
+
_.trys.pop();
|
|
80
|
+
continue;
|
|
81
|
+
default:
|
|
82
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
83
|
+
_ = 0;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
87
|
+
_.label = op[1];
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
91
|
+
_.label = t[1];
|
|
92
|
+
t = op;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
if (t && _.label < t[2]) {
|
|
96
|
+
_.label = t[2];
|
|
97
|
+
_.ops.push(op);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
if (t[2]) _.ops.pop();
|
|
101
|
+
_.trys.pop();
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
op = body.call(thisArg, _);
|
|
105
|
+
} catch (e) {
|
|
106
|
+
op = [
|
|
107
|
+
6,
|
|
108
|
+
e
|
|
109
|
+
];
|
|
110
|
+
y = 0;
|
|
111
|
+
} finally{
|
|
112
|
+
f = t = 0;
|
|
113
|
+
}
|
|
114
|
+
if (op[0] & 5) throw op[1];
|
|
115
|
+
return {
|
|
116
|
+
value: op[0] ? op[1] : void 0,
|
|
117
|
+
done: true
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
var ORIGIN_KEY = '__config/origin';
|
|
122
|
+
/**
|
|
123
|
+
* Read the origin URL from R2 config.
|
|
124
|
+
* Falls back to http://localhost:8787 if not found (dev safety).
|
|
125
|
+
*/ export function getOrigin(bucket) {
|
|
126
|
+
return _async_to_generator(function() {
|
|
127
|
+
var obj;
|
|
128
|
+
return _ts_generator(this, function(_state) {
|
|
129
|
+
switch(_state.label){
|
|
130
|
+
case 0:
|
|
131
|
+
return [
|
|
132
|
+
4,
|
|
133
|
+
bucket.get(ORIGIN_KEY)
|
|
134
|
+
];
|
|
135
|
+
case 1:
|
|
136
|
+
obj = _state.sent();
|
|
137
|
+
if (!obj) return [
|
|
138
|
+
3,
|
|
139
|
+
3
|
|
140
|
+
];
|
|
141
|
+
return [
|
|
142
|
+
4,
|
|
143
|
+
obj.text()
|
|
144
|
+
];
|
|
145
|
+
case 2:
|
|
146
|
+
return [
|
|
147
|
+
2,
|
|
148
|
+
_state.sent().trim()
|
|
149
|
+
];
|
|
150
|
+
case 3:
|
|
151
|
+
return [
|
|
152
|
+
2,
|
|
153
|
+
'http://localhost:8787'
|
|
154
|
+
];
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
})();
|
|
158
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAW3C,QAAA,MAAM,GAAG;cAAwB,QAAQ;yCAAK,CAAC;AAkE/C,eAAe,GAAG,CAAC;AAGnB,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/api/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/api/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAa3C,QAAA,MAAM,KAAK;cAAwB,QAAQ;yCAAK,CAAC;AA6RjD,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/api/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,QAAA,MAAM,KAAK;cAAwB,QAAQ;yCAAK,CAAC;AA+RjD,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -16,7 +16,6 @@ export interface Env {
|
|
|
16
16
|
SCHEDULE_DO: DurableObjectNamespace<ScheduleDO>;
|
|
17
17
|
GOVERNOR_DO: DurableObjectNamespace<GovernorDO>;
|
|
18
18
|
RESOURCES_BUCKET: R2Bucket;
|
|
19
|
-
WORKER_URL?: string;
|
|
20
19
|
}
|
|
21
20
|
export declare class BrainRunnerDO extends DurableObject<Env> {
|
|
22
21
|
private sql;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiG,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChK,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,11 @@ export declare class CloudflareDevServer implements PositronicDevServer {
|
|
|
40
40
|
* Uses esbuild to bundle components/bundle.ts and uploads to R2 for serving.
|
|
41
41
|
*/
|
|
42
42
|
private buildAndUploadBundle;
|
|
43
|
+
/**
|
|
44
|
+
* Write the origin URL to R2 at __config/origin.
|
|
45
|
+
* Used by brain-runner-do and pages API to construct public URLs.
|
|
46
|
+
*/
|
|
47
|
+
private writeOriginToR2;
|
|
43
48
|
start(port?: number): Promise<ServerHandle>;
|
|
44
49
|
watch(filePath: string, event: 'add' | 'change' | 'unlink'): Promise<void>;
|
|
45
50
|
private ensureR2BucketExists;
|
|
@@ -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;AA0K1E,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;
|
|
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;AA0K1E,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;YAuB7B,qBAAqB;YA4DrB,wBAAwB;YAkCxB,yBAAyB;YASzB,2BAA2B;IAuBzC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,wBAAwB;YASlB,0BAA0B;IA4BxC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,gBAAgB;IA4BxB;;;OAGG;YACW,oBAAoB;IAqFlC;;;OAGG;YACW,eAAe;IAkCvB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqD3C,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GACjC,OAAO,CAAC,IAAI,CAAC;YAmBF,oBAAoB;IA0D5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAyH7B;;;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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { R2Bucket } from '@cloudflare/workers-types';
|
|
2
|
+
/**
|
|
3
|
+
* Read the origin URL from R2 config.
|
|
4
|
+
* Falls back to http://localhost:8787 if not found (dev safety).
|
|
5
|
+
*/
|
|
6
|
+
export declare function getOrigin(bucket: R2Bucket): Promise<string>;
|
|
7
|
+
//# sourceMappingURL=origin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"origin.d.ts","sourceRoot":"","sources":["../../src/origin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAI1D;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAMjE"}
|