@nimbus-sh/worker 0.2.2 → 0.2.3

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/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # @nimbus-sh/worker
2
2
 
3
- The Nimbus runtime package: Durable Object, router, assets, VFS, runtime
4
- manager, and facet machinery.
3
+ The Cloudflare half of Nimbus: the `NimbusSession` Durable Object, router,
4
+ static assets, facet machinery, and auth internals. The filesystem, shell,
5
+ and WASI runtime layer live in
6
+ [`@nimbus-sh/core`](https://www.npmjs.com/package/@nimbus-sh/core), which
7
+ this package composes on — core also runs standalone in bun or node.
5
8
 
6
9
  Application code should import the deploy-time API through
7
10
  `@nimbus-sh/sdk/worker`. This package is still installed because it carries
@@ -652,6 +652,14 @@ export declare class FacetManager {
652
652
  private launchWaiters;
653
653
  /** Whether this instance has already read the journal a reset leaves behind. */
654
654
  private launchesRecovered;
655
+ /**
656
+ * Pids THIS instance holds journal rows for. What keeps the terminal hook —
657
+ * which fires for every process, shells and one-shots included — from
658
+ * paying a storage delete for pids that never had a row. In-memory is
659
+ * correct: rows from a previous instance are recovery's to consume, never
660
+ * this hook's.
661
+ */
662
+ private journalledPids;
655
663
  private timedOutProcessIds;
656
664
  private _pairedServeFacet;
657
665
  /**
@@ -1016,6 +1024,16 @@ export declare class FacetManager {
1016
1024
  * Record a launch as in flight, so an instance that replaces this one knows
1017
1025
  * it never finished. Best-effort: a launch that cannot be journalled still
1018
1026
  * runs, and a reset then costs exactly what it cost before the journal.
1027
+ *
1028
+ * Synced, not merely put: `await put()` resolves before durability, and the
1029
+ * reset this journal exists for destroys every write its turn still had
1030
+ * outstanding — measured live, a launch killed in its first chunks left NO
1031
+ * row for the replacement instance to find, which is how the recovery this
1032
+ * feeds sat inert while its own test stayed green. `sync()` is the storage
1033
+ * layer's durability barrier: the row is on disk before the launch performs
1034
+ * its first byte of real work. What remains is a reset between the put and
1035
+ * the sync's completion — and a launch that dies there has not started, so
1036
+ * losing its row costs a retype, not a recovery.
1019
1037
  */
1020
1038
  private _journalLaunch;
1021
1039
  /** Whether any launch is suspended waiting for a turn. */
@@ -1080,6 +1098,12 @@ export declare class FacetManager {
1080
1098
  * the launch faster would have given it.
1081
1099
  */
1082
1100
  private _runResidentLaunch;
1101
+ /**
1102
+ * The journal row's one release: the process is over, nothing is owed.
1103
+ * Synced so an instance reset moments later cannot roll the delete back and
1104
+ * resurrect a process the user watched end.
1105
+ */
1106
+ private _releaseResidentJournal;
1083
1107
  private _residentLaunchBody;
1084
1108
  /**
1085
1109
  * Spawn a long-running dynamic Worker, boot it, and return its boot payload.
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/facets/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/facets/manager.ts"],"names":[],"mappings":"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"}
@@ -3198,6 +3198,14 @@ export class FacetManager {
3198
3198
  launchWaiters = [];
3199
3199
  /** Whether this instance has already read the journal a reset leaves behind. */
3200
3200
  launchesRecovered = false;
3201
+ /**
3202
+ * Pids THIS instance holds journal rows for. What keeps the terminal hook —
3203
+ * which fires for every process, shells and one-shots included — from
3204
+ * paying a storage delete for pids that never had a row. In-memory is
3205
+ * correct: rows from a previous instance are recovery's to consume, never
3206
+ * this hook's.
3207
+ */
3208
+ journalledPids = new Set();
3201
3209
  timedOutProcessIds = new Set();
3202
3210
  // attach-pid → serve-pid: the resident serve facet a bare-`opencode` dual
3203
3211
  // spawn created as an OS-child of the attach TUI. When the attach process
@@ -3268,6 +3276,14 @@ export class FacetManager {
3268
3276
  ? Reflect.get(env, 'NIMBUS_DEBUG')
3269
3277
  : undefined;
3270
3278
  this.debugEnabled = debugVar === '1' || debugVar === 'true';
3279
+ // The journal row of a resident lives for the PROCESS's lifetime, so its
3280
+ // release belongs on the one seam every end-of-life passes through —
3281
+ // exit, kill, self-reported exit and timeout abort all mark the table.
3282
+ // Rooted on waitUntil: the hook fires synchronously inside whatever turn
3283
+ // ended the process, and the delete must not be a floating promise there.
3284
+ this.processes.setOnTerminal((pid) => {
3285
+ this.ctx.waitUntil(this._releaseResidentJournal(pid));
3286
+ });
3271
3287
  }
3272
3288
  setVfs(vfs) { this.vfs = vfs; }
3273
3289
  /**
@@ -4394,13 +4410,16 @@ export class FacetManager {
4394
4410
  if (!(record.pid > 0 && record.pid <= this.processes.pidBase))
4395
4411
  continue;
4396
4412
  await this.ctx.storage.delete(key);
4413
+ // 'running' is the measured common case: the platform's reset strikes
4414
+ // seconds after a launch settles, while the resident runs.
4415
+ const doing = record.phase === 'running' ? 'running' : 'starting';
4397
4416
  if (record.attempt >= RESIDENT_LAUNCH_MAX_ATTEMPT) {
4398
4417
  this.hooks.notify?.('\x1b[2m[nimbus: the session restarted again while '
4399
- + `"${record.command}" was starting — leaving it stopped]\x1b[0m\r\n`);
4418
+ + `"${record.command}" was ${doing} — leaving it stopped]\x1b[0m\r\n`);
4400
4419
  continue;
4401
4420
  }
4402
4421
  this.hooks.notify?.('\x1b[2m[nimbus: the session restarted while '
4403
- + `"${record.command}" was starting — restarting it]\x1b[0m\r\n`);
4422
+ + `"${record.command}" was ${doing} — restarting it]\x1b[0m\r\n`);
4404
4423
  // Not awaited: this call is running inside the alarm that granted the
4405
4424
  // turn, and the launch it starts asks for turns of its own through that
4406
4425
  // same alarm — awaiting it here would be waiting on an alarm that cannot
@@ -4416,10 +4435,22 @@ export class FacetManager {
4416
4435
  * Record a launch as in flight, so an instance that replaces this one knows
4417
4436
  * it never finished. Best-effort: a launch that cannot be journalled still
4418
4437
  * runs, and a reset then costs exactly what it cost before the journal.
4438
+ *
4439
+ * Synced, not merely put: `await put()` resolves before durability, and the
4440
+ * reset this journal exists for destroys every write its turn still had
4441
+ * outstanding — measured live, a launch killed in its first chunks left NO
4442
+ * row for the replacement instance to find, which is how the recovery this
4443
+ * feeds sat inert while its own test stayed green. `sync()` is the storage
4444
+ * layer's durability barrier: the row is on disk before the launch performs
4445
+ * its first byte of real work. What remains is a reset between the put and
4446
+ * the sync's completion — and a launch that dies there has not started, so
4447
+ * losing its row costs a retype, not a recovery.
4419
4448
  */
4420
4449
  async _journalLaunch(record) {
4421
4450
  try {
4451
+ this.journalledPids.add(record.pid);
4422
4452
  await this.ctx.storage.put(`${RESIDENT_LAUNCH_KEY_PREFIX}${record.pid}`, record);
4453
+ await this.ctx.storage.sync();
4423
4454
  }
4424
4455
  catch (e) {
4425
4456
  console.warn('[nimbus] resident launch journal write failed:', errorMessage(e));
@@ -4665,28 +4696,56 @@ export class FacetManager {
4665
4696
  async _runResidentLaunch(entry, code, command, opts, attempt) {
4666
4697
  const cwd = opts.cwd || '/home/user';
4667
4698
  const pacer = new LaunchPacer(this.launchScheduler, launchChunkMaxBytes(this.env), () => this._assertLaunchStillOwned(entry.pid));
4668
- // Journalled before the first byte of work and removed when the launch
4669
- // settles either way, so a row that outlives its instance means one thing:
4670
- // the launch was still running when the object was reset. A re-drive owns
4671
- // its own process, so the caller's pid goes with the instance that had it.
4672
- await this._journalLaunch({
4699
+ // Journalled before the first byte of work. A launch that FAILS deletes
4700
+ // its row on the way out — its process has already been exited and the
4701
+ // user notified, so there is nothing left to owe. A launch that SETTLES
4702
+ // rewrites the row as a running resident instead: measured live, the
4703
+ // resets this journal exists for strike seconds AFTER the launch settles,
4704
+ // and a row deleted at settle was exactly why recovery sat inert while
4705
+ // sessions kept dying. The row is finally released by the supervisor's
4706
+ // terminal hook when the process ends. A re-drive owns its own process,
4707
+ // so the caller's pid goes with the instance that had it.
4708
+ const record = {
4673
4709
  pid: entry.pid,
4674
4710
  command,
4675
4711
  code,
4676
4712
  opts: { ...opts, skipSpawn: undefined, callerPid: undefined },
4677
4713
  attempt,
4678
- });
4714
+ phase: 'starting',
4715
+ };
4716
+ await this._journalLaunch(record);
4679
4717
  try {
4680
4718
  await this._residentLaunchBody(entry, code, command, cwd, opts, pacer);
4681
4719
  }
4720
+ catch (e) {
4721
+ await this._releaseResidentJournal(entry.pid);
4722
+ throw e;
4723
+ }
4682
4724
  finally {
4683
4725
  pacer.settle();
4684
- try {
4685
- await this.ctx.storage.delete(`${RESIDENT_LAUNCH_KEY_PREFIX}${entry.pid}`);
4686
- }
4687
- catch (e) {
4688
- console.warn('[nimbus] resident launch journal delete failed:', errorMessage(e));
4689
- }
4726
+ }
4727
+ // Booted and running: the launch proved itself, so the resident starts
4728
+ // its running life with a fresh re-drive budget. If the process already
4729
+ // ended inside the launch body's own settlement, the terminal hook has
4730
+ // released the row — do not write it back.
4731
+ if (this.journalledPids.has(entry.pid)) {
4732
+ await this._journalLaunch({ ...record, attempt: 0, phase: 'running' });
4733
+ }
4734
+ }
4735
+ /**
4736
+ * The journal row's one release: the process is over, nothing is owed.
4737
+ * Synced so an instance reset moments later cannot roll the delete back and
4738
+ * resurrect a process the user watched end.
4739
+ */
4740
+ async _releaseResidentJournal(pid) {
4741
+ if (!this.journalledPids.delete(pid))
4742
+ return;
4743
+ try {
4744
+ await this.ctx.storage.delete(`${RESIDENT_LAUNCH_KEY_PREFIX}${pid}`);
4745
+ await this.ctx.storage.sync();
4746
+ }
4747
+ catch (e) {
4748
+ console.warn('[nimbus] resident launch journal delete failed:', errorMessage(e));
4690
4749
  }
4691
4750
  }
4692
4751
  async _residentLaunchBody(entry, code, command, cwd, opts, pacer) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/session/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA6EH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;;;;GAQG;AACH,KAAK,QAAQ,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AAa3E,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAsrF9E"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/session/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA6EH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;;;;GAQG;AACH,KAAK,QAAQ,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AAa3E,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAksF9E"}
@@ -164,6 +164,17 @@ export async function initSession(self, ws) {
164
164
  self.terminal.write('\x1b[33m[nimbus] this session resumed on a new instance. Anything still '
165
165
  + 'running was lost with the old one — re-run it if it had not finished.\x1b[0m\r\n');
166
166
  }
167
+ // A reset that killed a resident launch left its journal row behind
168
+ // (facets/manager.ts, _recoverInterruptedLaunches). The alarm the dying
169
+ // instance was using for launch turns is NOT a trigger recovery can rely
170
+ // on — measured live, a launch killed early in its first chunks rolls the
171
+ // alarm-map put back with the rest of the dying turn, so the replacement
172
+ // instance never fires an alarm at all. What always follows a dead session
173
+ // is this reconnect, so recovery runs here: after the terminal exists (the
174
+ // report lands in front of the user, live) and after the constructor's
175
+ // pidBase gate (the journal predicate needs this instance's generation).
176
+ // Idempotent per instance; a no-op whenever no launch was interrupted.
177
+ await self.facetManager.pumpResidentLaunches();
167
178
  // [B'.4] Phase B — Build. Compose the workspace (kernel + mounts +
168
179
  // shell + the OS command set), then install the session's own
169
180
  // commands and wiring on top. CPU-intensive phase. Spans from here
@@ -61,16 +61,18 @@ export declare const W1_NEXT_ALARM_REASONS_KEY = "w1_next_alarm_reasons";
61
61
  */
62
62
  export declare const SESSION_DESTROYED_KEY = "session_destroyed";
63
63
  /**
64
- * Prefix for the resident-launch journal: one row per launch in flight, keyed
65
- * by the pid it is building for.
64
+ * Prefix for the resident-process journal: one row per resident this session
65
+ * owes the user, keyed by the pid it was built for.
66
66
  *
67
- * A launch spans many turns and holds its state in memory, so an instance
68
- * reset destroys it silently — the process, the terminal and the work all go
69
- * with the object. The row is what a LATER instance reads to know a launch
70
- * ended that way rather than by finishing: a pid at or below the reader's own
71
- * pid base was allocated by a previous generation (see PID_GEN_STRIDE).
72
- * Written before the launch's first byte of work and removed when it settles,
73
- * so a row that outlives its instance is exactly an interrupted launch.
67
+ * A resident holds its state in memory — the process table entry, the facet
68
+ * handle, the terminal — so an instance reset destroys it silently. The row
69
+ * is what a LATER instance reads to know a resident ended that way rather
70
+ * than on purpose: a pid at or below the reader's own pid base was allocated
71
+ * by a previous generation (see PID_GEN_STRIDE). Written (and synced) before
72
+ * the launch's first byte of work, rewritten as `running` when the launch
73
+ * settles, and released only when the PROCESS ends — because the resets this
74
+ * row survives strike after the launch as often as during it (measured live,
75
+ * staging 2026-08-13: every observed reset landed seconds AFTER settle).
74
76
  */
75
77
  export declare const RESIDENT_LAUNCH_KEY_PREFIX = "resident-launch:";
76
78
  /** Prefix for consumed single-use attach bootstrap token ids (`jti`).
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/session/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;+DAC+D;AAC/D,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;2EAC2E;AAC3E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;yDAEyD;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;0DAC0D;AAC1D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;uBAEuB;AACvB,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D;;;4EAG4E;AAC5E,eAAO,MAAM,+BAA+B,0BAA0B,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/session/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;+DAC+D;AAC/D,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;2EAC2E;AAC3E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;yDAEyD;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;0DAC0D;AAC1D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;uBAEuB;AACvB,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D;;;4EAG4E;AAC5E,eAAO,MAAM,+BAA+B,0BAA0B,CAAC"}
@@ -61,16 +61,18 @@ export const W1_NEXT_ALARM_REASONS_KEY = 'w1_next_alarm_reasons';
61
61
  */
62
62
  export const SESSION_DESTROYED_KEY = 'session_destroyed';
63
63
  /**
64
- * Prefix for the resident-launch journal: one row per launch in flight, keyed
65
- * by the pid it is building for.
64
+ * Prefix for the resident-process journal: one row per resident this session
65
+ * owes the user, keyed by the pid it was built for.
66
66
  *
67
- * A launch spans many turns and holds its state in memory, so an instance
68
- * reset destroys it silently — the process, the terminal and the work all go
69
- * with the object. The row is what a LATER instance reads to know a launch
70
- * ended that way rather than by finishing: a pid at or below the reader's own
71
- * pid base was allocated by a previous generation (see PID_GEN_STRIDE).
72
- * Written before the launch's first byte of work and removed when it settles,
73
- * so a row that outlives its instance is exactly an interrupted launch.
67
+ * A resident holds its state in memory — the process table entry, the facet
68
+ * handle, the terminal — so an instance reset destroys it silently. The row
69
+ * is what a LATER instance reads to know a resident ended that way rather
70
+ * than on purpose: a pid at or below the reader's own pid base was allocated
71
+ * by a previous generation (see PID_GEN_STRIDE). Written (and synced) before
72
+ * the launch's first byte of work, rewritten as `running` when the launch
73
+ * settles, and released only when the PROCESS ends — because the resets this
74
+ * row survives strike after the launch as often as during it (measured live,
75
+ * staging 2026-08-13: every observed reset landed seconds AFTER settle).
74
76
  */
75
77
  export const RESIDENT_LAUNCH_KEY_PREFIX = 'resident-launch:';
76
78
  /** Prefix for consumed single-use attach bootstrap token ids (`jti`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbus-sh/worker",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Nimbus runtime package for Cloudflare Workers, re-exported publicly through @nimbus-sh/sdk/worker.",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -84,7 +84,7 @@
84
84
  },
85
85
  "dependencies": {
86
86
  "@ai-sdk/openai-compatible": "^2.0.41",
87
- "@nimbus-sh/core": "^0.3.0",
87
+ "@nimbus-sh/core": "^0.4.0",
88
88
  "@renovatebot/pep440": "^5.0.0",
89
89
  "ai": "^6.0.182",
90
90
  "clean-git-ref": "^2.0.1",
@@ -927,8 +927,11 @@ function writeNpmPackage(outDir, manifest, downloaded) {
927
927
  },
928
928
  files: ['index.js', 'index.d.ts', 'manifest.json', 'blobs', 'LICENSE', 'README.md'],
929
929
  // The runtime is inert without the half that installs and runs it, and
930
- // `index.d.ts` types itself against that package's exports.
931
- peerDependencies: { '@nimbus-sh/core': '>=0.2.0' },
930
+ // `index.d.ts` types itself against that package's exports. The floor is
931
+ // the core release whose FacetHost carries every runner generated from
932
+ // this tree — earlier cores would seed the files and then have no
933
+ // command to run them.
934
+ peerDependencies: { '@nimbus-sh/core': '>=0.4.0' },
932
935
  publishConfig: { access: 'public' },
933
936
  }, null, 2)}\n`);
934
937