@positronic/cloudflare 0.0.34 → 0.0.36
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.
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _array_with_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return arr;
|
|
8
|
+
}
|
|
1
9
|
function _assert_this_initialized(self) {
|
|
2
10
|
if (self === void 0) {
|
|
3
11
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -88,6 +96,33 @@ function _inherits(subClass, superClass) {
|
|
|
88
96
|
});
|
|
89
97
|
if (superClass) _set_prototype_of(subClass, superClass);
|
|
90
98
|
}
|
|
99
|
+
function _iterable_to_array_limit(arr, i) {
|
|
100
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
101
|
+
if (_i == null) return;
|
|
102
|
+
var _arr = [];
|
|
103
|
+
var _n = true;
|
|
104
|
+
var _d = false;
|
|
105
|
+
var _s, _e;
|
|
106
|
+
try {
|
|
107
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
108
|
+
_arr.push(_s.value);
|
|
109
|
+
if (i && _arr.length === i) break;
|
|
110
|
+
}
|
|
111
|
+
} catch (err) {
|
|
112
|
+
_d = true;
|
|
113
|
+
_e = err;
|
|
114
|
+
} finally{
|
|
115
|
+
try {
|
|
116
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
117
|
+
} finally{
|
|
118
|
+
if (_d) throw _e;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return _arr;
|
|
122
|
+
}
|
|
123
|
+
function _non_iterable_rest() {
|
|
124
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
125
|
+
}
|
|
91
126
|
function _object_spread(target) {
|
|
92
127
|
for(var i = 1; i < arguments.length; i++){
|
|
93
128
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
@@ -140,10 +175,21 @@ function _set_prototype_of(o, p) {
|
|
|
140
175
|
};
|
|
141
176
|
return _set_prototype_of(o, p);
|
|
142
177
|
}
|
|
178
|
+
function _sliced_to_array(arr, i) {
|
|
179
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
180
|
+
}
|
|
143
181
|
function _type_of(obj) {
|
|
144
182
|
"@swc/helpers - typeof";
|
|
145
183
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
146
184
|
}
|
|
185
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
186
|
+
if (!o) return;
|
|
187
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
188
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
189
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
190
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
191
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
192
|
+
}
|
|
147
193
|
function _is_native_reflect_construct() {
|
|
148
194
|
try {
|
|
149
195
|
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
@@ -537,6 +583,44 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
537
583
|
}).call(this);
|
|
538
584
|
}
|
|
539
585
|
},
|
|
586
|
+
{
|
|
587
|
+
key: "buildRuntimeEnv",
|
|
588
|
+
value: /**
|
|
589
|
+
* Build the RuntimeEnv for brain execution.
|
|
590
|
+
* Extracts secrets from Cloudflare env bindings (string values only).
|
|
591
|
+
*/ function buildRuntimeEnv() {
|
|
592
|
+
// Extract secrets: filter this.env to only string values
|
|
593
|
+
// This automatically excludes infrastructure bindings (R2Bucket, DurableObjectNamespace are objects)
|
|
594
|
+
var secrets = {};
|
|
595
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
596
|
+
try {
|
|
597
|
+
for(var _iterator = Object.entries(this.env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
598
|
+
var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
|
|
599
|
+
if (typeof value === 'string') {
|
|
600
|
+
secrets[key] = value;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
} catch (err) {
|
|
604
|
+
_didIteratorError = true;
|
|
605
|
+
_iteratorError = err;
|
|
606
|
+
} finally{
|
|
607
|
+
try {
|
|
608
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
609
|
+
_iterator.return();
|
|
610
|
+
}
|
|
611
|
+
} finally{
|
|
612
|
+
if (_didIteratorError) {
|
|
613
|
+
throw _iteratorError;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
return {
|
|
618
|
+
origin: this.env.WORKER_URL || 'http://localhost:3000',
|
|
619
|
+
// Cast to Secrets - the generated secrets.d.ts augments Secrets with specific keys
|
|
620
|
+
secrets: secrets
|
|
621
|
+
};
|
|
622
|
+
}
|
|
623
|
+
},
|
|
540
624
|
{
|
|
541
625
|
key: "kill",
|
|
542
626
|
value: function kill() {
|
|
@@ -571,7 +655,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
571
655
|
key: "start",
|
|
572
656
|
value: function start(brainTitle, brainRunId, initialData) {
|
|
573
657
|
return _async_to_generator(function() {
|
|
574
|
-
var _this, sql, resolution, brainToRun, sqliteAdapter, eventStreamAdapter, monitorDOStub, monitorAdapter, scheduleAdapter, webhookAdapter, pageAdapter,
|
|
658
|
+
var _this, sql, resolution, brainToRun, sqliteAdapter, eventStreamAdapter, monitorDOStub, monitorAdapter, scheduleAdapter, webhookAdapter, pageAdapter, env, pagesService, r2Resources, runnerWithResources, options, initialState;
|
|
575
659
|
return _ts_generator(this, function(_state) {
|
|
576
660
|
switch(_state.label){
|
|
577
661
|
case 0:
|
|
@@ -602,9 +686,10 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
602
686
|
scheduleAdapter = new ScheduleAdapter(this.env.SCHEDULE_DO.get(this.env.SCHEDULE_DO.idFromName('singleton')));
|
|
603
687
|
webhookAdapter = new WebhookAdapter(monitorDOStub);
|
|
604
688
|
pageAdapter = new PageAdapter(monitorDOStub, this.env.RESOURCES_BUCKET);
|
|
689
|
+
// Create runtime environment with origin and secrets
|
|
690
|
+
env = this.buildRuntimeEnv();
|
|
605
691
|
// Create pages service for brain to use
|
|
606
|
-
|
|
607
|
-
pagesService = createPagesService(brainRunId, this.env.RESOURCES_BUCKET, monitorDOStub, baseUrl);
|
|
692
|
+
pagesService = createPagesService(brainRunId, this.env.RESOURCES_BUCKET, monitorDOStub, env);
|
|
608
693
|
if (!brainRunner) {
|
|
609
694
|
throw new Error('BrainRunner not initialized');
|
|
610
695
|
}
|
|
@@ -620,8 +705,8 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
620
705
|
if (r2Resources) {
|
|
621
706
|
runnerWithResources = brainRunner.withResources(r2Resources);
|
|
622
707
|
}
|
|
623
|
-
// Add pages service
|
|
624
|
-
runnerWithResources = runnerWithResources.withPages(pagesService);
|
|
708
|
+
// Add pages service and runtime env
|
|
709
|
+
runnerWithResources = runnerWithResources.withPages(pagesService).withEnv(env);
|
|
625
710
|
// Extract options from initialData if present
|
|
626
711
|
options = initialData === null || initialData === void 0 ? void 0 : initialData.options;
|
|
627
712
|
initialState = initialData && !initialData.options ? initialData : {};
|
|
@@ -660,7 +745,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
660
745
|
key: "resume",
|
|
661
746
|
value: function resume(brainRunId, webhookResponse) {
|
|
662
747
|
return _async_to_generator(function() {
|
|
663
|
-
var _this, sql, startEventResult, startEvent, brainTitle, initialState, resolution, brainToRun, eventsResult, initialCompletedSteps, sqliteAdapter, eventStreamAdapter, monitorDOStub, monitorAdapter, scheduleAdapter, webhookAdapter, pageAdapter,
|
|
748
|
+
var _this, sql, startEventResult, startEvent, brainTitle, initialState, resolution, brainToRun, eventsResult, initialCompletedSteps, sqliteAdapter, eventStreamAdapter, monitorDOStub, monitorAdapter, scheduleAdapter, webhookAdapter, pageAdapter, env, pagesService, r2Resources, runnerWithResources;
|
|
664
749
|
return _ts_generator(this, function(_state) {
|
|
665
750
|
switch(_state.label){
|
|
666
751
|
case 0:
|
|
@@ -712,9 +797,10 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
712
797
|
scheduleAdapter = new ScheduleAdapter(this.env.SCHEDULE_DO.get(this.env.SCHEDULE_DO.idFromName('singleton')));
|
|
713
798
|
webhookAdapter = new WebhookAdapter(monitorDOStub);
|
|
714
799
|
pageAdapter = new PageAdapter(monitorDOStub, this.env.RESOURCES_BUCKET);
|
|
800
|
+
// Create runtime environment with origin and secrets
|
|
801
|
+
env = this.buildRuntimeEnv();
|
|
715
802
|
// Create pages service for brain to use
|
|
716
|
-
|
|
717
|
-
pagesService = createPagesService(brainRunId, this.env.RESOURCES_BUCKET, monitorDOStub, baseUrl);
|
|
803
|
+
pagesService = createPagesService(brainRunId, this.env.RESOURCES_BUCKET, monitorDOStub, env);
|
|
718
804
|
if (!brainRunner) {
|
|
719
805
|
throw new Error('BrainRunner not initialized');
|
|
720
806
|
}
|
|
@@ -728,8 +814,8 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
|
|
|
728
814
|
if (r2Resources) {
|
|
729
815
|
runnerWithResources = brainRunner.withResources(r2Resources);
|
|
730
816
|
}
|
|
731
|
-
// Add pages service
|
|
732
|
-
runnerWithResources = runnerWithResources.withPages(pagesService);
|
|
817
|
+
// Add pages service and runtime env
|
|
818
|
+
runnerWithResources = runnerWithResources.withPages(pagesService).withEnv(env);
|
|
733
819
|
// Create abort controller for this run
|
|
734
820
|
this.abortController = new AbortController();
|
|
735
821
|
runnerWithResources.withAdapters([
|
|
@@ -184,8 +184,8 @@ function _ts_generator(thisArg, body) {
|
|
|
184
184
|
* @param brainRunId - The current brain run ID (used for page registration/cleanup)
|
|
185
185
|
* @param bucket - The R2 bucket for storing pages
|
|
186
186
|
* @param monitorStub - The MonitorDO stub for page registration
|
|
187
|
-
* @param
|
|
188
|
-
*/ export function createPagesService(brainRunId, bucket, monitorStub,
|
|
187
|
+
* @param env - The runtime environment containing the origin URL
|
|
188
|
+
*/ export function createPagesService(brainRunId, bucket, monitorStub, env) {
|
|
189
189
|
// Implementation function that handles both overloads
|
|
190
190
|
function createPage(slugOrHtml, htmlOrOptions, maybeOptions) {
|
|
191
191
|
return _async_to_generator(function() {
|
|
@@ -236,7 +236,7 @@ function _ts_generator(thisArg, body) {
|
|
|
236
236
|
];
|
|
237
237
|
case 2:
|
|
238
238
|
_state.sent();
|
|
239
|
-
url = "".concat(
|
|
239
|
+
url = "".concat(env.origin, "/pages/").concat(slug);
|
|
240
240
|
return [
|
|
241
241
|
2,
|
|
242
242
|
_object_spread_props(_object_spread({
|
|
@@ -303,7 +303,7 @@ function _ts_generator(thisArg, body) {
|
|
|
303
303
|
];
|
|
304
304
|
}
|
|
305
305
|
metadata = r2Object.customMetadata || {};
|
|
306
|
-
url = "".concat(
|
|
306
|
+
url = "".concat(env.origin, "/pages/").concat(slug);
|
|
307
307
|
return [
|
|
308
308
|
2,
|
|
309
309
|
_object_spread_props(_object_spread({
|
|
@@ -351,7 +351,7 @@ function _ts_generator(thisArg, body) {
|
|
|
351
351
|
];
|
|
352
352
|
case 2:
|
|
353
353
|
_state.sent();
|
|
354
|
-
url = "".concat(
|
|
354
|
+
url = "".concat(env.origin, "/pages/").concat(slug);
|
|
355
355
|
return [
|
|
356
356
|
2,
|
|
357
357
|
_object_spread_props(_object_spread({
|
|
@@ -23,6 +23,11 @@ export declare class BrainRunnerDO extends DurableObject<Env> {
|
|
|
23
23
|
private abortController;
|
|
24
24
|
constructor(state: DurableObjectState, env: Env);
|
|
25
25
|
private loadResourcesFromR2;
|
|
26
|
+
/**
|
|
27
|
+
* Build the RuntimeEnv for brain execution.
|
|
28
|
+
* Extracts secrets from Cloudflare env bindings (string values only).
|
|
29
|
+
*/
|
|
30
|
+
private buildRuntimeEnv;
|
|
26
31
|
kill(): Promise<{
|
|
27
32
|
success: boolean;
|
|
28
33
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyD,MAAM,kBAAkB,CAAC;AACtG,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;IAqEjC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiBjB,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;IAuG7B,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAuIhC,KAAK,CAAC,OAAO,EAAE,OAAO;CA4E7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PagesService } from '@positronic/core';
|
|
1
|
+
import type { PagesService, RuntimeEnv } from '@positronic/core';
|
|
2
2
|
import type { R2Bucket } from '@cloudflare/workers-types';
|
|
3
3
|
import type { MonitorDO } from './monitor-do.js';
|
|
4
4
|
/**
|
|
@@ -7,7 +7,7 @@ import type { MonitorDO } from './monitor-do.js';
|
|
|
7
7
|
* @param brainRunId - The current brain run ID (used for page registration/cleanup)
|
|
8
8
|
* @param bucket - The R2 bucket for storing pages
|
|
9
9
|
* @param monitorStub - The MonitorDO stub for page registration
|
|
10
|
-
* @param
|
|
10
|
+
* @param env - The runtime environment containing the origin URL
|
|
11
11
|
*/
|
|
12
|
-
export declare function createPagesService(brainRunId: string, bucket: R2Bucket, monitorStub: DurableObjectStub<MonitorDO>,
|
|
12
|
+
export declare function createPagesService(brainRunId: string, bucket: R2Bucket, monitorStub: DurableObjectStub<MonitorDO>, env: RuntimeEnv): PagesService;
|
|
13
13
|
//# sourceMappingURL=pages-service.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"pages-service.d.ts","sourceRoot":"","sources":["../../src/pages-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA2B,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1F,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,GAAG,EAAE,UAAU,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.36",
|
|
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.36",
|
|
35
|
+
"@positronic/spec": "^0.0.36",
|
|
36
|
+
"@positronic/template-new-project": "^0.0.36",
|
|
37
37
|
"aws4fetch": "^1.0.18",
|
|
38
38
|
"caz": "^2.0.0",
|
|
39
39
|
"cron-schedule": "^5.0.4",
|