@positronic/cloudflare 0.0.24 → 0.0.26
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.js +21 -16
- package/dist/src/brain-runner-do.js +1 -1
- package/dist/src/dev-server.js +84 -35
- package/dist/src/node-index.js +1 -1
- package/dist/src/pages-service.js +74 -50
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/brain-runner-do.d.ts.map +1 -1
- package/dist/types/dev-server.d.ts +4 -0
- package/dist/types/dev-server.d.ts.map +1 -1
- package/dist/types/node-index.d.ts +1 -1
- package/dist/types/node-index.d.ts.map +1 -1
- package/dist/types/pages-service.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/src/api.js
CHANGED
|
@@ -1660,6 +1660,14 @@ app.post('/webhooks/:slug', function(context) {
|
|
|
1660
1660
|
});
|
|
1661
1661
|
})();
|
|
1662
1662
|
});
|
|
1663
|
+
/**
|
|
1664
|
+
* Generates a unique slug for pages that don't provide one.
|
|
1665
|
+
* Uses brainRunId prefix + random suffix for uniqueness.
|
|
1666
|
+
*/ function generateUniqueSlug(brainRunId) {
|
|
1667
|
+
var shortId = brainRunId.slice(0, 8);
|
|
1668
|
+
var random = Math.random().toString(36).substring(2, 10);
|
|
1669
|
+
return "page-".concat(shortId, "-").concat(random);
|
|
1670
|
+
}
|
|
1663
1671
|
// Create a new page
|
|
1664
1672
|
app.post('/pages', function(context) {
|
|
1665
1673
|
return _async_to_generator(function() {
|
|
@@ -1680,14 +1688,6 @@ app.post('/pages', function(context) {
|
|
|
1680
1688
|
case 1:
|
|
1681
1689
|
body = _state.sent();
|
|
1682
1690
|
slug = body.slug, html = body.html, brainRunId = body.brainRunId, _body_persist = body.persist, persist = _body_persist === void 0 ? false : _body_persist, ttl = body.ttl;
|
|
1683
|
-
if (!slug) {
|
|
1684
|
-
return [
|
|
1685
|
-
2,
|
|
1686
|
-
context.json({
|
|
1687
|
-
error: 'Missing required field "slug"'
|
|
1688
|
-
}, 400)
|
|
1689
|
-
];
|
|
1690
|
-
}
|
|
1691
1691
|
if (!html) {
|
|
1692
1692
|
return [
|
|
1693
1693
|
2,
|
|
@@ -1704,14 +1704,19 @@ app.post('/pages', function(context) {
|
|
|
1704
1704
|
}, 400)
|
|
1705
1705
|
];
|
|
1706
1706
|
}
|
|
1707
|
-
//
|
|
1708
|
-
if (
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1707
|
+
// Generate slug if not provided
|
|
1708
|
+
if (!slug) {
|
|
1709
|
+
slug = generateUniqueSlug(brainRunId);
|
|
1710
|
+
} else {
|
|
1711
|
+
// Validate slug format (alphanumeric, hyphens, underscores only)
|
|
1712
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(slug)) {
|
|
1713
|
+
return [
|
|
1714
|
+
2,
|
|
1715
|
+
context.json({
|
|
1716
|
+
error: 'Slug must contain only alphanumeric characters, hyphens, and underscores'
|
|
1717
|
+
}, 400)
|
|
1718
|
+
];
|
|
1719
|
+
}
|
|
1715
1720
|
}
|
|
1716
1721
|
bucket = context.env.RESOURCES_BUCKET;
|
|
1717
1722
|
key = "pages/".concat(slug, ".html");
|
|
@@ -458,7 +458,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
458
458
|
case 4:
|
|
459
459
|
r2Object = _state.sent();
|
|
460
460
|
if (!r2Object || !((_r2Object_customMetadata = r2Object.customMetadata) === null || _r2Object_customMetadata === void 0 ? void 0 : _r2Object_customMetadata.type)) {
|
|
461
|
-
|
|
461
|
+
// Skip non-resource objects (e.g., pages, or other data stored in the bucket)
|
|
462
462
|
return [
|
|
463
463
|
3,
|
|
464
464
|
5
|
package/dist/src/dev-server.js
CHANGED
|
@@ -495,52 +495,103 @@ function generateProject(projectName, projectDir, onSuccess) {
|
|
|
495
495
|
});
|
|
496
496
|
})();
|
|
497
497
|
}
|
|
498
|
-
function
|
|
498
|
+
export function discoverBrains(brainsDir) {
|
|
499
499
|
return _async_to_generator(function() {
|
|
500
|
-
var
|
|
500
|
+
var entries, brains;
|
|
501
501
|
return _ts_generator(this, function(_state) {
|
|
502
502
|
switch(_state.label){
|
|
503
503
|
case 0:
|
|
504
|
-
runnerPath = path.join(projectRootPath, 'runner.ts');
|
|
505
|
-
brainsDir = path.join(projectRootPath, 'brains');
|
|
506
|
-
manifestPath = path.join(targetSrcDir, '_manifest.ts');
|
|
507
|
-
importStatements = "import type { Brain } from '@positronic/core';\n";
|
|
508
|
-
manifestEntries = '';
|
|
509
504
|
return [
|
|
510
505
|
4,
|
|
511
|
-
fsPromises.
|
|
512
|
-
|
|
506
|
+
fsPromises.readdir(brainsDir, {
|
|
507
|
+
withFileTypes: true
|
|
513
508
|
}).catch(function() {
|
|
514
|
-
return
|
|
509
|
+
return [];
|
|
515
510
|
})
|
|
516
511
|
];
|
|
517
512
|
case 1:
|
|
518
|
-
|
|
519
|
-
if (!brainsDirExists) return [
|
|
520
|
-
3,
|
|
521
|
-
3
|
|
522
|
-
];
|
|
513
|
+
entries = _state.sent();
|
|
523
514
|
return [
|
|
524
515
|
4,
|
|
525
|
-
|
|
516
|
+
Promise.all(entries.filter(function(e) {
|
|
517
|
+
return !e.name.startsWith('_');
|
|
518
|
+
}).map(function(entry) {
|
|
519
|
+
return _async_to_generator(function() {
|
|
520
|
+
var indexPath, hasIndex;
|
|
521
|
+
return _ts_generator(this, function(_state) {
|
|
522
|
+
switch(_state.label){
|
|
523
|
+
case 0:
|
|
524
|
+
if (entry.isFile() && entry.name.endsWith('.ts')) {
|
|
525
|
+
return [
|
|
526
|
+
2,
|
|
527
|
+
{
|
|
528
|
+
name: entry.name.replace(/\.ts$/, ''),
|
|
529
|
+
relativePath: entry.name
|
|
530
|
+
}
|
|
531
|
+
];
|
|
532
|
+
}
|
|
533
|
+
indexPath = path.join(brainsDir, entry.name, 'index.ts');
|
|
534
|
+
return [
|
|
535
|
+
4,
|
|
536
|
+
fsPromises.access(indexPath).then(function() {
|
|
537
|
+
return true;
|
|
538
|
+
}, function() {
|
|
539
|
+
return false;
|
|
540
|
+
})
|
|
541
|
+
];
|
|
542
|
+
case 1:
|
|
543
|
+
hasIndex = _state.sent();
|
|
544
|
+
return [
|
|
545
|
+
2,
|
|
546
|
+
hasIndex ? {
|
|
547
|
+
name: entry.name,
|
|
548
|
+
relativePath: "".concat(entry.name, "/index.ts")
|
|
549
|
+
} : null
|
|
550
|
+
];
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
})();
|
|
554
|
+
}))
|
|
526
555
|
];
|
|
527
556
|
case 2:
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
557
|
+
brains = _state.sent();
|
|
558
|
+
return [
|
|
559
|
+
2,
|
|
560
|
+
brains.filter(function(b) {
|
|
561
|
+
return b !== null;
|
|
562
|
+
})
|
|
563
|
+
];
|
|
564
|
+
}
|
|
565
|
+
});
|
|
566
|
+
})();
|
|
567
|
+
}
|
|
568
|
+
function regenerateManifestFile(projectRootPath, targetSrcDir) {
|
|
569
|
+
return _async_to_generator(function() {
|
|
570
|
+
var runnerPath, brainsDir, manifestPath, importStatements, manifestEntries, brains, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, brain, importPath, importAlias, manifestContent, runnerContent;
|
|
571
|
+
return _ts_generator(this, function(_state) {
|
|
572
|
+
switch(_state.label){
|
|
573
|
+
case 0:
|
|
574
|
+
runnerPath = path.join(projectRootPath, 'runner.ts');
|
|
575
|
+
brainsDir = path.join(projectRootPath, 'brains');
|
|
576
|
+
manifestPath = path.join(targetSrcDir, '_manifest.ts');
|
|
577
|
+
importStatements = "import type { Brain } from '@positronic/core';\n";
|
|
578
|
+
manifestEntries = '';
|
|
579
|
+
return [
|
|
580
|
+
4,
|
|
581
|
+
discoverBrains(brainsDir)
|
|
582
|
+
];
|
|
583
|
+
case 1:
|
|
584
|
+
brains = _state.sent();
|
|
532
585
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
533
586
|
try {
|
|
534
|
-
for(_iterator =
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
importAlias = "brain_".concat(brainName.replace(/[^a-zA-Z0-9_]/g, '_'));
|
|
587
|
+
for(_iterator = brains[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
588
|
+
brain = _step.value;
|
|
589
|
+
importPath = "../../brains/".concat(brain.relativePath.replace(/\.ts$/, '.js'));
|
|
590
|
+
importAlias = "brain_".concat(brain.name.replace(/[^a-zA-Z0-9_]/g, '_'));
|
|
539
591
|
importStatements += "import * as ".concat(importAlias, " from '").concat(importPath, "';\n");
|
|
540
|
-
|
|
541
|
-
manifestEntries += "
|
|
542
|
-
manifestEntries += "
|
|
543
|
-
manifestEntries += " path: ".concat(JSON.stringify("brains/".concat(file)), ",\n");
|
|
592
|
+
manifestEntries += " ".concat(JSON.stringify(brain.name), ": {\n");
|
|
593
|
+
manifestEntries += " filename: ".concat(JSON.stringify(brain.name), ",\n");
|
|
594
|
+
manifestEntries += " path: ".concat(JSON.stringify("brains/".concat(brain.relativePath)), ",\n");
|
|
544
595
|
manifestEntries += " brain: ".concat(importAlias, ".default as Brain,\n");
|
|
545
596
|
manifestEntries += " },\n";
|
|
546
597
|
}
|
|
@@ -558,14 +609,12 @@ function regenerateManifestFile(projectRootPath, targetSrcDir) {
|
|
|
558
609
|
}
|
|
559
610
|
}
|
|
560
611
|
}
|
|
561
|
-
_state.label = 3;
|
|
562
|
-
case 3:
|
|
563
612
|
manifestContent = "// This file is generated automatically. Do not edit directly.\n".concat(importStatements, "\nimport type { BrainMetadata } from '@positronic/cloudflare';\n\nexport const manifest: Record<string, BrainMetadata> = {\n").concat(manifestEntries, "};\n");
|
|
564
613
|
return [
|
|
565
614
|
4,
|
|
566
615
|
fsPromises.readFile(runnerPath, 'utf-8')
|
|
567
616
|
];
|
|
568
|
-
case
|
|
617
|
+
case 2:
|
|
569
618
|
runnerContent = _state.sent();
|
|
570
619
|
return [
|
|
571
620
|
4,
|
|
@@ -573,19 +622,19 @@ function regenerateManifestFile(projectRootPath, targetSrcDir) {
|
|
|
573
622
|
recursive: true
|
|
574
623
|
})
|
|
575
624
|
];
|
|
576
|
-
case
|
|
625
|
+
case 3:
|
|
577
626
|
_state.sent();
|
|
578
627
|
return [
|
|
579
628
|
4,
|
|
580
629
|
fsPromises.writeFile(manifestPath, manifestContent, 'utf-8')
|
|
581
630
|
];
|
|
582
|
-
case
|
|
631
|
+
case 4:
|
|
583
632
|
_state.sent();
|
|
584
633
|
return [
|
|
585
634
|
4,
|
|
586
635
|
fsPromises.writeFile(path.join(targetSrcDir, 'runner.ts'), runnerContent, 'utf-8')
|
|
587
636
|
];
|
|
588
|
-
case
|
|
637
|
+
case 5:
|
|
589
638
|
_state.sent();
|
|
590
639
|
return [
|
|
591
640
|
2
|
package/dist/src/node-index.js
CHANGED
|
@@ -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 } from './dev-server.js';
|
|
8
|
+
export { CloudflareDevServer, discoverBrains } 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
|
|
@@ -170,6 +170,14 @@ function _ts_generator(thisArg, body) {
|
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Generates a unique slug for pages that don't provide one.
|
|
175
|
+
* Uses brainRunId prefix + random suffix for uniqueness.
|
|
176
|
+
*/ function generateUniqueSlug(brainRunId) {
|
|
177
|
+
var shortId = brainRunId.slice(0, 8);
|
|
178
|
+
var random = Math.random().toString(36).substring(2, 10);
|
|
179
|
+
return "page-".concat(shortId, "-").concat(random);
|
|
180
|
+
}
|
|
173
181
|
/**
|
|
174
182
|
* Creates a PagesService implementation that works directly with R2 and MonitorDO.
|
|
175
183
|
*
|
|
@@ -178,60 +186,76 @@ function _ts_generator(thisArg, body) {
|
|
|
178
186
|
* @param monitorStub - The MonitorDO stub for page registration
|
|
179
187
|
* @param baseUrl - The base URL for page URLs (e.g., "https://myapp.workers.dev")
|
|
180
188
|
*/ export function createPagesService(brainRunId, bucket, monitorStub, baseUrl) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
monitorStub.registerPage(slug, brainRunId, persist)
|
|
214
|
-
];
|
|
215
|
-
case 2:
|
|
216
|
-
_state.sent();
|
|
217
|
-
url = "".concat(baseUrl, "/pages/").concat(slug);
|
|
218
|
-
return [
|
|
219
|
-
2,
|
|
220
|
-
_object_spread_props(_object_spread({
|
|
189
|
+
// Implementation function that handles both overloads
|
|
190
|
+
function createPage(slugOrHtml, htmlOrOptions, maybeOptions) {
|
|
191
|
+
return _async_to_generator(function() {
|
|
192
|
+
var slug, html, options, key, createdAt, _options_persist, persist, url;
|
|
193
|
+
return _ts_generator(this, function(_state) {
|
|
194
|
+
switch(_state.label){
|
|
195
|
+
case 0:
|
|
196
|
+
// Detect which overload was used:
|
|
197
|
+
// - create(html, options?) - htmlOrOptions is undefined or PageCreateOptions
|
|
198
|
+
// - create(slug, html, options?) - htmlOrOptions is string (the html)
|
|
199
|
+
if (typeof htmlOrOptions === 'string') {
|
|
200
|
+
// Called as create(slug, html, options?)
|
|
201
|
+
slug = slugOrHtml;
|
|
202
|
+
html = htmlOrOptions;
|
|
203
|
+
options = maybeOptions;
|
|
204
|
+
} else {
|
|
205
|
+
// Called as create(html, options?)
|
|
206
|
+
slug = generateUniqueSlug(brainRunId);
|
|
207
|
+
html = slugOrHtml;
|
|
208
|
+
options = htmlOrOptions;
|
|
209
|
+
}
|
|
210
|
+
key = "pages/".concat(slug, ".html");
|
|
211
|
+
createdAt = new Date().toISOString();
|
|
212
|
+
persist = (_options_persist = options === null || options === void 0 ? void 0 : options.persist) !== null && _options_persist !== void 0 ? _options_persist : false;
|
|
213
|
+
// Store HTML with metadata in R2
|
|
214
|
+
return [
|
|
215
|
+
4,
|
|
216
|
+
bucket.put(key, html, {
|
|
217
|
+
httpMetadata: {
|
|
218
|
+
contentType: 'text/html; charset=utf-8'
|
|
219
|
+
},
|
|
220
|
+
customMetadata: _object_spread({
|
|
221
221
|
slug: slug,
|
|
222
|
-
url: url,
|
|
223
222
|
brainRunId: brainRunId,
|
|
224
|
-
persist: persist
|
|
225
|
-
}, (options === null || options === void 0 ? void 0 : options.ttl) !== undefined && {
|
|
226
|
-
ttl: options.ttl
|
|
227
|
-
}), {
|
|
223
|
+
persist: persist ? 'true' : 'false',
|
|
228
224
|
createdAt: createdAt
|
|
225
|
+
}, (options === null || options === void 0 ? void 0 : options.ttl) !== undefined && {
|
|
226
|
+
ttl: String(options.ttl)
|
|
229
227
|
})
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
228
|
+
})
|
|
229
|
+
];
|
|
230
|
+
case 1:
|
|
231
|
+
_state.sent();
|
|
232
|
+
// Register the page with MonitorDO for cleanup tracking
|
|
233
|
+
return [
|
|
234
|
+
4,
|
|
235
|
+
monitorStub.registerPage(slug, brainRunId, persist)
|
|
236
|
+
];
|
|
237
|
+
case 2:
|
|
238
|
+
_state.sent();
|
|
239
|
+
url = "".concat(baseUrl, "/pages/").concat(slug);
|
|
240
|
+
return [
|
|
241
|
+
2,
|
|
242
|
+
_object_spread_props(_object_spread({
|
|
243
|
+
slug: slug,
|
|
244
|
+
url: url,
|
|
245
|
+
brainRunId: brainRunId,
|
|
246
|
+
persist: persist
|
|
247
|
+
}, (options === null || options === void 0 ? void 0 : options.ttl) !== undefined && {
|
|
248
|
+
ttl: options.ttl
|
|
249
|
+
}), {
|
|
250
|
+
createdAt: createdAt
|
|
251
|
+
})
|
|
252
|
+
];
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
})();
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
create: createPage,
|
|
235
259
|
get: function get(slug) {
|
|
236
260
|
return _async_to_generator(function() {
|
|
237
261
|
var key, r2Object;
|
package/dist/types/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,2BAA2B,CAAC;AAGpE,KAAK,QAAQ,GAAG;IACd,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,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;CACzB,CAAC;AAmBF,QAAA,MAAM,GAAG;cAAwB,QAAQ;yCAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,2BAA2B,CAAC;AAGpE,KAAK,QAAQ,GAAG;IACd,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,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;CACzB,CAAC;AAmBF,QAAA,MAAM,GAAG;cAAwB,QAAQ;yCAAK,CAAC;AAgkC/C,eAAe,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,wBAAgB,WAAW,CAAC,iBAAiB,EAAE,kBAAkB,QAEhE;AAED,wBAAgB,WAAW,IAAI,kBAAkB,GAAG,IAAI,CAEvD;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,QAEjD;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAE/D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE/D;AAED,MAAM,WAAW,GAAG;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwDD,qBAAa,aAAc,SAAQ,aAAa,CAAC,GAAG,CAAC;IACnD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,eAAe,CAAgC;gBAE3C,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;YAOjC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,wBAAgB,WAAW,CAAC,iBAAiB,EAAE,kBAAkB,QAEhE;AAED,wBAAgB,WAAW,IAAI,kBAAkB,GAAG,IAAI,CAEvD;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,QAEjD;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAE/D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE/D;AAED,MAAM,WAAW,GAAG;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwDD,qBAAa,aAAc,SAAQ,aAAa,CAAC,GAAG,CAAC;IACnD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,eAAe,CAAgC;gBAE3C,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;YAOjC,mBAAmB;IAqE3B,IAAI,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAStD,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqG7B,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqIhC,KAAK,CAAC,OAAO,EAAE,OAAO;CA4E7B"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { PositronicDevServer, ServerHandle } from '@positronic/spec';
|
|
2
|
+
export declare function discoverBrains(brainsDir: string): Promise<{
|
|
3
|
+
name: string;
|
|
4
|
+
relativePath: string;
|
|
5
|
+
}[]>;
|
|
2
6
|
export declare class CloudflareDevServer implements PositronicDevServer {
|
|
3
7
|
projectRootDir: string;
|
|
4
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/dev-server.ts"],"names":[],"mappings":"
|
|
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;IAUV,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA6E7B,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 } from './dev-server.js';
|
|
8
|
+
export { CloudflareDevServer, discoverBrains } 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,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,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-service.d.ts","sourceRoot":"","sources":["../../src/pages-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"pages-service.d.ts","sourceRoot":"","sources":["../../src/pages-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAYjD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,EACzC,OAAO,EAAE,MAAM,GACd,YAAY,CA+Hd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@positronic/cloudflare",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.26",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"clean": "rm -rf tsconfig.tsbuildinfo dist"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@positronic/core": "^0.0.
|
|
35
|
-
"@positronic/spec": "^0.0.
|
|
36
|
-
"@positronic/template-new-project": "^0.0.
|
|
34
|
+
"@positronic/core": "^0.0.26",
|
|
35
|
+
"@positronic/spec": "^0.0.26",
|
|
36
|
+
"@positronic/template-new-project": "^0.0.26",
|
|
37
37
|
"aws4fetch": "^1.0.18",
|
|
38
38
|
"caz": "^2.0.0",
|
|
39
39
|
"cron-schedule": "^5.0.4",
|