@positronic/cloudflare 0.0.16 → 0.0.18

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.
@@ -506,7 +506,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
506
506
  key: "start",
507
507
  value: function start(brainTitle, brainRunId, initialData) {
508
508
  return _async_to_generator(function() {
509
- var sql, brainToRun, sqliteAdapter, eventStreamAdapter, monitorAdapter, scheduleAdapter, r2Resources, runnerWithResources, options, initialState;
509
+ var sql, resolution, brainToRun, sqliteAdapter, eventStreamAdapter, monitorAdapter, scheduleAdapter, r2Resources, runnerWithResources, options, initialState;
510
510
  return _ts_generator(this, function(_state) {
511
511
  switch(_state.label){
512
512
  case 0:
@@ -514,17 +514,21 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
514
514
  if (!manifest) {
515
515
  throw new Error('Runtime manifest not initialized');
516
516
  }
517
- return [
518
- 4,
519
- manifest.import(brainTitle)
520
- ];
521
- case 1:
522
- brainToRun = _state.sent();
523
- if (!brainToRun) {
517
+ // Resolve the brain using the title/identifier
518
+ resolution = manifest.resolve(brainTitle);
519
+ if (resolution.matchType === 'none') {
524
520
  console.error("[DO ".concat(brainRunId, "] Brain ").concat(brainTitle, " not found in manifest."));
525
521
  console.error(JSON.stringify(manifest, null, 2));
526
522
  throw new Error("Brain ".concat(brainTitle, " not found"));
527
523
  }
524
+ if (resolution.matchType === 'multiple') {
525
+ console.error("[DO ".concat(brainRunId, "] Multiple brains match identifier ").concat(brainTitle), resolution.candidates);
526
+ throw new Error("Multiple brains match identifier ".concat(brainTitle));
527
+ }
528
+ brainToRun = resolution.brain;
529
+ if (!brainToRun) {
530
+ throw new Error("Brain ".concat(brainTitle, " resolved but brain object is missing"));
531
+ }
528
532
  sqliteAdapter = new BrainRunSQLiteAdapter(sql);
529
533
  eventStreamAdapter = this.eventStreamAdapter;
530
534
  monitorAdapter = new MonitorAdapter(this.env.MONITOR_DO.get(this.env.MONITOR_DO.idFromName('singleton')));
@@ -536,7 +540,7 @@ export var BrainRunnerDO = /*#__PURE__*/ function(DurableObject) {
536
540
  4,
537
541
  this.loadResourcesFromR2()
538
542
  ];
539
- case 2:
543
+ case 1:
540
544
  r2Resources = _state.sent();
541
545
  // Create an enhanced runner with resources if available
542
546
  runnerWithResources = brainRunner;
@@ -254,6 +254,7 @@ import * as os from 'os';
254
254
  import { spawn } from 'child_process';
255
255
  import * as dotenv from 'dotenv';
256
256
  import caz from 'caz';
257
+ import { createRequire } from 'module';
257
258
  /**
258
259
  * Implementation of ServerHandle that wraps a ChildProcess
259
260
  */ var ProcessServerHandle = /*#__PURE__*/ function() {
@@ -408,7 +409,7 @@ import caz from 'caz';
408
409
  }();
409
410
  function generateProject(projectName, projectDir, onSuccess) {
410
411
  return _async_to_generator(function() {
411
- var devPath, newProjectTemplatePath, cazOptions, originalNewProjectPkg, copiedNewProjectPkg;
412
+ var devPath, newProjectTemplatePath, cazOptions, templateSourcePath, require, templatePackageJsonPath, copiedNewProjectPkg;
412
413
  return _ts_generator(this, function(_state) {
413
414
  switch(_state.label){
414
415
  case 0:
@@ -434,19 +435,29 @@ function generateProject(projectName, projectDir, onSuccess) {
434
435
  // monorepo which then causes the tests to fail. Also any time I was generating a new
435
436
  // project it was a pain to have to run npm install over and over again just
436
437
  // to get back to a good state.
437
- originalNewProjectPkg = path.resolve(devPath, 'packages', 'template-new-project');
438
- copiedNewProjectPkg = fs.mkdtempSync(path.join(os.tmpdir(), 'positronic-newproj-'));
439
- fs.cpSync(originalNewProjectPkg, copiedNewProjectPkg, {
440
- recursive: true
441
- });
442
- newProjectTemplatePath = copiedNewProjectPkg;
443
- cazOptions = {
444
- name: projectName,
445
- backend: 'cloudflare',
446
- install: true,
447
- pm: 'npm'
448
- };
438
+ templateSourcePath = path.resolve(devPath, 'packages', 'template-new-project');
439
+ } else {
440
+ // Resolve the installed template package location
441
+ require = createRequire(import.meta.url);
442
+ templatePackageJsonPath = require.resolve('@positronic/template-new-project/package.json');
443
+ templateSourcePath = path.dirname(templatePackageJsonPath);
449
444
  }
445
+ // Always copy to a temporary directory to avoid CAZ modifying our source
446
+ // CAZ only supports local paths, GitHub repos, or ZIP URLs - not npm package names
447
+ // Additionally, CAZ runs 'npm install --production' in the template directory,
448
+ // which would modify our installed node_modules if we passed the path directly
449
+ copiedNewProjectPkg = fs.mkdtempSync(path.join(os.tmpdir(), 'positronic-newproj-'));
450
+ fs.cpSync(templateSourcePath, copiedNewProjectPkg, {
451
+ recursive: true
452
+ });
453
+ newProjectTemplatePath = copiedNewProjectPkg;
454
+ // Set CAZ options for cloudflare backend
455
+ cazOptions = {
456
+ name: projectName,
457
+ backend: 'cloudflare',
458
+ install: true,
459
+ pm: 'npm'
460
+ };
450
461
  return [
451
462
  4,
452
463
  caz.default(newProjectTemplatePath, projectDir, _object_spread_props(_object_spread({}, cazOptions), {
@@ -467,13 +478,11 @@ function generateProject(projectName, projectDir, onSuccess) {
467
478
  ];
468
479
  case 4:
469
480
  // Clean up the temporary copied new project package
470
- if (devPath) {
471
- fs.rmSync(newProjectTemplatePath, {
472
- recursive: true,
473
- force: true,
474
- maxRetries: 3
475
- });
476
- }
481
+ fs.rmSync(newProjectTemplatePath, {
482
+ recursive: true,
483
+ force: true,
484
+ maxRetries: 3
485
+ });
477
486
  return [
478
487
  7
479
488
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"brain-runner-do.d.ts","sourceRoot":"","sources":["../../src/brain-runner-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,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;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;CAC5B;AAwDD,qBAAa,aAAc,SAAQ,aAAa,CAAC,GAAG,CAAC;IACnD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;gBAE1C,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;YAOjC,mBAAmB;IA0E3B,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgE7B,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,EAAkB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,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;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;CAC5B;AAwDD,qBAAa,aAAc,SAAQ,aAAa,CAAC,GAAG,CAAC;IACnD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;gBAE1C,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;YAOjC,mBAAmB;IA0E3B,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA2E7B,KAAK,CAAC,OAAO,EAAE,OAAO;CA4E7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/dev-server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA8L1E,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"}
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/dev-server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA0M1E,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@positronic/cloudflare",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
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.16",
35
- "@positronic/spec": "^0.0.16",
36
- "@positronic/template-new-project": "^0.0.16",
34
+ "@positronic/core": "^0.0.18",
35
+ "@positronic/spec": "^0.0.18",
36
+ "@positronic/template-new-project": "^0.0.18",
37
37
  "aws4fetch": "^1.0.18",
38
38
  "caz": "^2.0.0",
39
39
  "cron-schedule": "^5.0.4",