@volter/world-runtime 2.0.52 → 2.0.53

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.
@@ -1343,6 +1343,12 @@ function versionSatisfies(actual, pin) {
1343
1343
  async function startColocatedServices(config, colocated, isolation, worldEnv, paths, allocatedPorts, boot) {
1344
1344
  if (colocated.length === 0)
1345
1345
  return { services: [], ready: Promise.resolve() };
1346
+ // The host runs on the bun running this command. Twins' git transport packs with CompressionStream, which an older bun
1347
+ // lacks: a clone then fails as an HTTP 500 at the client, long after boot. Refused here, before the host boots.
1348
+ if (typeof CompressionStream !== 'function') {
1349
+ const runtime = typeof Bun === 'undefined' ? `node ${process.version}` : `bun ${Bun.version}`;
1350
+ throw new Error(`This runtime (${runtime}, ${process.execPath}) has no CompressionStream, which the twins' git transport needs; run volter-world with the bun the twins checkout pins (package.json packageManager).`);
1351
+ }
1346
1352
  const hostCli = siblingScript(import.meta.url, 'host-cli');
1347
1353
  const readyFile = join(paths.instance, `host-ready-${boot.bootId}.json`);
1348
1354
  const args = [hostCli, '--isolation', isolation === 'colocated' ? 'shared' : 'worker', '--ready-file', readyFile];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/world-runtime",
3
- "version": "2.0.52",
3
+ "version": "2.0.53",
4
4
  "description": "World configs for twins: boot named local runtimes, allocate ports, generate world.env/instance.json, and run apps against fake-key twin worlds.",
5
5
  "keywords": [
6
6
  "twin",
@@ -67,14 +67,14 @@
67
67
  "node": ">=22.3"
68
68
  },
69
69
  "peerDependencies": {
70
- "@volter/world-core": "2.0.34",
71
- "@volter/world-console": "2.0.15"
70
+ "@volter/world-core": "2.0.35",
71
+ "@volter/world-console": "2.0.16"
72
72
  },
73
73
  "dependencies": {
74
74
  "@electric-sql/pglite": "0.5.8",
75
75
  "@electric-sql/pglite-pgvector": "0.0.9",
76
76
  "@volter/world-access": "2.0.2",
77
- "@volter/world-core": "2.0.34",
77
+ "@volter/world-core": "2.0.35",
78
78
  "pg-gateway": "0.3.0-beta.4",
79
79
  "smol-toml": "^1.8.0"
80
80
  },
@@ -84,6 +84,6 @@
84
84
  }
85
85
  },
86
86
  "optionalDependencies": {
87
- "@volter/twin-mongodb": "0.1.34"
87
+ "@volter/twin-mongodb": "0.1.35"
88
88
  }
89
89
  }
package/src/runtime.ts CHANGED
@@ -1349,6 +1349,12 @@ async function startColocatedServices(
1349
1349
  boot: BootContext,
1350
1350
  ): Promise<{ services: WorldServiceInstance[]; ready: Promise<void> }> {
1351
1351
  if (colocated.length === 0) return { services: [], ready: Promise.resolve() };
1352
+ // The host runs on the bun running this command. Twins' git transport packs with CompressionStream, which an older bun
1353
+ // lacks: a clone then fails as an HTTP 500 at the client, long after boot. Refused here, before the host boots.
1354
+ if (typeof CompressionStream !== 'function') {
1355
+ const runtime = typeof Bun === 'undefined' ? `node ${process.version}` : `bun ${Bun.version}`;
1356
+ throw new Error(`This runtime (${runtime}, ${process.execPath}) has no CompressionStream, which the twins' git transport needs; run volter-world with the bun the twins checkout pins (package.json packageManager).`);
1357
+ }
1352
1358
  const hostCli = siblingScript(import.meta.url, 'host-cli');
1353
1359
  const readyFile = join(paths.instance, `host-ready-${boot.bootId}.json`);
1354
1360
  const args: string[] = [hostCli, '--isolation', isolation === 'colocated' ? 'shared' : 'worker', '--ready-file', readyFile];