@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, baseUrl, pagesService, r2Resources, runnerWithResources, options, initialState;
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
- baseUrl = this.env.WORKER_URL || 'http://localhost:3000';
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, baseUrl, pagesService, r2Resources, runnerWithResources;
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
- baseUrl = this.env.WORKER_URL || 'http://localhost:3000';
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 baseUrl - The base URL for page URLs (e.g., "https://myapp.workers.dev")
188
- */ export function createPagesService(brainRunId, bucket, monitorStub, baseUrl) {
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(baseUrl, "/pages/").concat(slug);
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(baseUrl, "/pages/").concat(slug);
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(baseUrl, "/pages/").concat(slug);
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,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
+ {"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 baseUrl - The base URL for page URLs (e.g., "https://myapp.workers.dev")
10
+ * @param env - The runtime environment containing the origin URL
11
11
  */
12
- export declare function createPagesService(brainRunId: string, bucket: R2Bucket, monitorStub: DurableObjectStub<MonitorDO>, baseUrl: string): PagesService;
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;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"}
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.34",
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.34",
35
- "@positronic/spec": "^0.0.34",
36
- "@positronic/template-new-project": "^0.0.34",
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",