@nimbus-sh/worker 0.5.0 → 0.6.0

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.
Files changed (61) hide show
  1. package/dist/_shared/preview-host.d.ts +26 -8
  2. package/dist/_shared/preview-host.d.ts.map +1 -1
  3. package/dist/_shared/preview-host.js +51 -11
  4. package/dist/facets/durable-images.d.ts +9 -0
  5. package/dist/facets/durable-images.d.ts.map +1 -1
  6. package/dist/facets/durable-images.js +20 -1
  7. package/dist/facets/durable-slots.d.ts +1 -1
  8. package/dist/facets/durable-slots.d.ts.map +1 -1
  9. package/dist/facets/durable-slots.js +2 -1
  10. package/dist/facets/manager.d.ts +98 -15
  11. package/dist/facets/manager.d.ts.map +1 -1
  12. package/dist/facets/manager.js +443 -116
  13. package/dist/facets/resident-identity.d.ts +23 -0
  14. package/dist/facets/resident-identity.d.ts.map +1 -0
  15. package/dist/facets/resident-identity.js +31 -0
  16. package/dist/git/commands.d.ts +0 -1
  17. package/dist/git/commands.d.ts.map +1 -1
  18. package/dist/git/commands.js +0 -3
  19. package/dist/router/index.d.ts.map +1 -1
  20. package/dist/router/index.js +47 -10
  21. package/dist/router/public-directory.d.ts +5 -1
  22. package/dist/router/public-directory.d.ts.map +1 -1
  23. package/dist/router/public-directory.js +9 -2
  24. package/dist/router/remote-api.d.ts +18 -0
  25. package/dist/router/remote-api.d.ts.map +1 -1
  26. package/dist/router/remote-api.js +33 -4
  27. package/dist/runtime/cpython-resident.d.ts.map +1 -1
  28. package/dist/runtime/cpython-resident.js +3 -1
  29. package/dist/runtime/package-manager.d.ts +44 -1
  30. package/dist/runtime/package-manager.d.ts.map +1 -1
  31. package/dist/runtime/package-manager.js +168 -3
  32. package/dist/runtime/ruby-resident.d.ts.map +1 -1
  33. package/dist/runtime/ruby-resident.js +2 -0
  34. package/dist/session/agent.d.ts.map +1 -1
  35. package/dist/session/agent.js +28 -1
  36. package/dist/session/init.d.ts.map +1 -1
  37. package/dist/session/init.js +9 -0
  38. package/dist/session/keys.d.ts +4 -0
  39. package/dist/session/keys.d.ts.map +1 -1
  40. package/dist/session/keys.js +4 -0
  41. package/dist/session/nimbus-session.d.ts +34 -1
  42. package/dist/session/nimbus-session.d.ts.map +1 -1
  43. package/dist/session/nimbus-session.js +71 -10
  44. package/dist/session/port-capability.d.ts +46 -0
  45. package/dist/session/port-capability.d.ts.map +1 -1
  46. package/dist/session/port-capability.js +109 -9
  47. package/dist/session/programmatic.d.ts +95 -1
  48. package/dist/session/programmatic.d.ts.map +1 -1
  49. package/dist/session/programmatic.js +350 -26
  50. package/dist/session/routes.d.ts +9 -0
  51. package/dist/session/routes.d.ts.map +1 -1
  52. package/dist/session/routes.js +27 -2
  53. package/dist/session/rpc.d.ts +24 -1
  54. package/dist/session/rpc.d.ts.map +1 -1
  55. package/dist/session/rpc.js +51 -94
  56. package/dist/session/supervisor-op.d.ts +41 -4
  57. package/dist/session/supervisor-op.d.ts.map +1 -1
  58. package/dist/session/supervisor-op.js +95 -73
  59. package/dist/session/supervisor-rpc.d.ts.map +1 -1
  60. package/dist/session/supervisor-rpc.js +2 -3
  61. package/package.json +4 -4
@@ -10,25 +10,36 @@
10
10
  * `buildPreviewHost` and `parsePreviewHost` are exact inverses: every
11
11
  * `(sid, port)` has exactly ONE valid origin. Without that bijection a cookie
12
12
  * set on the canonical host is missing from an equivalent-but-different one.
13
+ *
14
+ * The middle label may be a NAME instead of a port — `<name>--<sid>` and
15
+ * `<cap>--<name>--<sid>` — for an application whose reservation carries a
16
+ * name alias. A numeric label is a port; anything else that is a DNS label
17
+ * is a name. The scoped name form is resolved to a port inside the session
18
+ * (its reservation records); the public name form through the directory.
13
19
  */
14
20
  export interface PreviewHost {
15
- port: number;
21
+ /** The port, on the port forms. Absent on a name form — the name resolves to it. */
22
+ port?: number;
23
+ /** The name alias, on the name forms `<name>--<sid>` / `<cap>--<name>--<sid>`. */
24
+ name?: string;
16
25
  sid: string;
17
26
  /**
18
- * Present only on the public capability form `<cap>--<port>--<sid>`: the
19
- * bearer is the capability itself, so the request skips session-attach
20
- * auth entirely — the session decides by the port's stored visibility.
27
+ * Present only on the public capability forms `<cap>--<port>--<sid>` and
28
+ * `<cap>--<name>--<sid>`: the bearer is the capability itself, so the
29
+ * request skips session-attach auth entirely — the session decides by the
30
+ * port's stored visibility.
21
31
  */
22
32
  capability?: string;
23
33
  }
24
- export declare function buildPreviewHost(sid: string, port: number, suffix: string): string;
34
+ /** `<port>--<sid>` or `<name>--<sid>`: the middle label is a port number or a name alias. */
35
+ export declare function buildPreviewHost(sid: string, target: number | string, suffix: string): string;
25
36
  /**
26
- * `<capability>--<port>--<sid>.<suffix>` — the unauthenticated sibling of
27
- * `buildPreviewHost`, for applications whose visibility is `public`. The
37
+ * `<capability>--<port|name>--<sid>.<suffix>` — the unauthenticated sibling
38
+ * of `buildPreviewHost`, for applications whose visibility is `public`. The
28
39
  * capability is the bearer: 24 lowercase hex, the same shape the port
29
40
  * registry mints.
30
41
  */
31
- export declare function buildPublicPreviewHost(sid: string, port: number, capability: string, suffix: string): string;
42
+ export declare function buildPublicPreviewHost(sid: string, target: number | string, capability: string, suffix: string): string;
32
43
  export declare function isPreviewHostSafeSid(sid: string): boolean;
33
44
  /**
34
45
  * Read the configured preview-host suffix out of a bindings env.
@@ -39,6 +50,13 @@ export declare function isPreviewHostSafeSid(sid: string): boolean;
39
50
  */
40
51
  export declare function readPreviewHostSuffix(env: unknown): string | null;
41
52
  export declare function parsePreviewHost(host: string, suffix: string | undefined | null): PreviewHost | null;
53
+ /**
54
+ * A name label: a DNS label that is neither a port (all digits) nor a
55
+ * capability (24 lowercase hex), and contains no `--` host-label separator.
56
+ * The same rule the session applies when it stores a
57
+ * name on a reservation, so every name it accepts is a host it can parse.
58
+ */
59
+ export declare function isPreviewHostName(label: string): boolean;
42
60
  /**
43
61
  * True when `url` addresses a port preview. Embedders MUST test this BEFORE
44
62
  * their own route table: a preview host serves untrusted user code at the
@@ -1 +1 @@
1
- {"version":3,"file":"preview-host.d.ts","sourceRoot":"","sources":["../../src/_shared/preview-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAChC,WAAW,GAAG,IAAI,CAgCpB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpE"}
1
+ {"version":3,"file":"preview-host.d.ts","sourceRoot":"","sources":["../../src/_shared/preview-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkBH,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAChC,WAAW,GAAG,IAAI,CA8CpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKxD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpE"}
@@ -10,28 +10,39 @@
10
10
  * `buildPreviewHost` and `parsePreviewHost` are exact inverses: every
11
11
  * `(sid, port)` has exactly ONE valid origin. Without that bijection a cookie
12
12
  * set on the canonical host is missing from an equivalent-but-different one.
13
+ *
14
+ * The middle label may be a NAME instead of a port — `<name>--<sid>` and
15
+ * `<cap>--<name>--<sid>` — for an application whose reservation carries a
16
+ * name alias. A numeric label is a port; anything else that is a DNS label
17
+ * is a name. The scoped name form is resolved to a port inside the session
18
+ * (its reservation records); the public name form through the directory.
13
19
  */
14
20
  const PREVIEW_HOST_SAFE_SID_RE = /^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/;
15
21
  /** Canonical port form only: no leading zeros, so `03000--x` is not a host. */
16
22
  const PREVIEW_HOST_LABEL_RE = /^(0|[1-9]\d*)--(.+)$/;
23
+ /** The scoped name form: a non-numeric DNS label in the port's place. */
24
+ const PREVIEW_NAME_HOST_LABEL_RE = /^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)--([a-z0-9-]{1,63})$/;
17
25
  // The public capability form: the bearer is the capability itself, no
18
26
  // attach token and no embedder credential ever crosses this hostname.
19
27
  // The label carries everything a request needs — which port, which
20
28
  // session, and which token — so it works with no server-side lookup.
21
29
  const PREVIEW_CAPABILITY_HOST_LABEL_RE = /^([a-f0-9]{24})--(\d{1,5})--([a-z0-9-]{1,63})$/;
30
+ /** The public name form: the capability names the session in the directory, the name is verified there. */
31
+ const PREVIEW_CAPABILITY_NAME_HOST_LABEL_RE = /^([a-f0-9]{24})--([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)--([a-z0-9-]{1,63})$/;
22
32
  /** Binding that carries the deployment's preview-host suffix. */
23
33
  const PREVIEW_HOST_SUFFIX_BINDING = 'NIMBUS_PREVIEW_HOST_SUFFIX';
24
- export function buildPreviewHost(sid, port, suffix) {
25
- return `${port}--${sid}.${suffix}`;
34
+ /** `<port>--<sid>` or `<name>--<sid>`: the middle label is a port number or a name alias. */
35
+ export function buildPreviewHost(sid, target, suffix) {
36
+ return `${target}--${sid}.${suffix}`;
26
37
  }
27
38
  /**
28
- * `<capability>--<port>--<sid>.<suffix>` — the unauthenticated sibling of
29
- * `buildPreviewHost`, for applications whose visibility is `public`. The
39
+ * `<capability>--<port|name>--<sid>.<suffix>` — the unauthenticated sibling
40
+ * of `buildPreviewHost`, for applications whose visibility is `public`. The
30
41
  * capability is the bearer: 24 lowercase hex, the same shape the port
31
42
  * registry mints.
32
43
  */
33
- export function buildPublicPreviewHost(sid, port, capability, suffix) {
34
- return `${capability}--${port}--${sid}.${suffix}`;
44
+ export function buildPublicPreviewHost(sid, target, capability, suffix) {
45
+ return `${capability}--${target}--${sid}.${suffix}`;
35
46
  }
36
47
  export function isPreviewHostSafeSid(sid) {
37
48
  return sid.length <= 56 && PREVIEW_HOST_SAFE_SID_RE.test(sid);
@@ -71,14 +82,43 @@ export function parsePreviewHost(host, suffix) {
71
82
  return null;
72
83
  return { port, sid, capability };
73
84
  }
85
+ const capabilityNameMatch = label.match(PREVIEW_CAPABILITY_NAME_HOST_LABEL_RE);
86
+ if (capabilityNameMatch) {
87
+ const capability = capabilityNameMatch[1];
88
+ const name = capabilityNameMatch[2];
89
+ const sid = capabilityNameMatch[4];
90
+ if (!isPreviewHostName(name) || !isPreviewHostSafeSid(sid))
91
+ return null;
92
+ return { name, sid, capability };
93
+ }
74
94
  const match = label.match(PREVIEW_HOST_LABEL_RE);
75
- if (!match)
95
+ if (match) {
96
+ const port = Number(match[1]);
97
+ const sid = match[2];
98
+ if (port < 1 || port > 65535 || !isPreviewHostSafeSid(sid))
99
+ return null;
100
+ return { port, sid };
101
+ }
102
+ const nameMatch = label.match(PREVIEW_NAME_HOST_LABEL_RE);
103
+ if (!nameMatch)
76
104
  return null;
77
- const port = Number(match[1]);
78
- const sid = match[2];
79
- if (port < 1 || port > 65535 || !isPreviewHostSafeSid(sid))
105
+ const name = nameMatch[1];
106
+ const sid = nameMatch[3];
107
+ if (!isPreviewHostName(name) || !isPreviewHostSafeSid(sid))
80
108
  return null;
81
- return { port, sid };
109
+ return { name, sid };
110
+ }
111
+ /**
112
+ * A name label: a DNS label that is neither a port (all digits) nor a
113
+ * capability (24 lowercase hex), and contains no `--` host-label separator.
114
+ * The same rule the session applies when it stores a
115
+ * name on a reservation, so every name it accepts is a host it can parse.
116
+ */
117
+ export function isPreviewHostName(label) {
118
+ return /^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/.test(label)
119
+ && !label.includes('--')
120
+ && !/^\d+$/.test(label)
121
+ && !/^[a-f0-9]{24}$/.test(label);
82
122
  }
83
123
  /**
84
124
  * True when `url` addresses a port preview. Embedders MUST test this BEFORE
@@ -23,6 +23,14 @@ import type { ResidentCodeSpec } from '@nimbus-sh/fabric/process-fabric.js';
23
23
  import type { ResolvedWorkerLaunch, WorkerRecipe } from './manager.js';
24
24
  /** The directory every durable application's image blobs live under. */
25
25
  export declare const DURABLE_IMAGE_DIR = ".nimbus/images";
26
+ /** Remove only the owner's blobs that no other retained recipe references. */
27
+ export declare function purgeDurableWorkerImages(vfs: SqliteVFS, owned: Iterable<{
28
+ runner: string;
29
+ application: string;
30
+ }>, retained: Iterable<{
31
+ runner: string;
32
+ application: string;
33
+ }>): number;
26
34
  /**
27
35
  * Persist a launch's image blobs, minting their digests, for a self-owned
28
36
  * durable spawn. Reads and writes as CRED_KERNEL: the directory is session
@@ -35,6 +43,7 @@ export declare function persistDurableWorkerImage(vfs: SqliteVFS, workerCode: st
35
43
  }>;
36
44
  env?: ResidentCodeSpec['env'];
37
45
  vfsWasmModules?: Record<string, string>;
46
+ startArgs?: unknown;
38
47
  }): Promise<{
39
48
  runner: string;
40
49
  application: string;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-images.d.ts","sourceRoot":"","sources":["../../src/facets/durable-images.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvE,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AASlD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IACxD,GAAG,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAalD;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAwBtC"}
1
+ {"version":3,"file":"durable-images.d.ts","sourceRoot":"","sources":["../../src/facets/durable-images.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvE,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAIlD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,QAAQ,EAAE,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1D,MAAM,CAaR;AAOD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IACxD,GAAG,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAclD;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA0BtC"}
@@ -22,6 +22,23 @@ import { CRED_KERNEL } from '@nimbus-sh/core/runtime/os-contracts.js';
22
22
  /** The directory every durable application's image blobs live under. */
23
23
  export const DURABLE_IMAGE_DIR = '.nimbus/images';
24
24
  const imagePath = (digest) => `${DURABLE_IMAGE_DIR}/${digest}`;
25
+ /** Remove only the owner's blobs that no other retained recipe references. */
26
+ export function purgeDurableWorkerImages(vfs, owned, retained) {
27
+ const keep = new Set([...retained].flatMap((image) => [image.runner, image.application]));
28
+ const candidates = new Set([...owned].flatMap((image) => [image.runner, image.application]));
29
+ const kernel = vfs.as(CRED_KERNEL);
30
+ let removed = 0;
31
+ for (const digest of candidates) {
32
+ if (keep.has(digest) || !/^[a-f0-9]{64}$/.test(digest))
33
+ continue;
34
+ const path = imagePath(digest);
35
+ if (!kernel.exists(path))
36
+ continue;
37
+ kernel.unlink(path);
38
+ removed += 1;
39
+ }
40
+ return removed;
41
+ }
25
42
  async function sha256Hex(text) {
26
43
  const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(text));
27
44
  return Array.from(new Uint8Array(digest), (b) => b.toString(16).padStart(2, '0')).join('');
@@ -41,6 +58,7 @@ export async function persistDurableWorkerImage(vfs, workerCode, payload) {
41
58
  modules: payload.modules,
42
59
  env: payload.env ?? null,
43
60
  vfsWasmModules: payload.vfsWasmModules ?? null,
61
+ ...(payload.startArgs !== undefined ? { startArgs: payload.startArgs } : {}),
44
62
  });
45
63
  const application = await sha256Hex(applicationPayload);
46
64
  kernel.writeFile(imagePath(application), applicationPayload);
@@ -65,11 +83,12 @@ export async function resolveDurableWorkerImage(vfs, recipe) {
65
83
  return null;
66
84
  }
67
85
  const runner = new TextDecoder().decode(runnerBytes);
68
- const { modules = {}, env = null, vfsWasmModules = undefined } = JSON.parse(new TextDecoder().decode(applicationBytes));
86
+ const { modules = {}, env = null, vfsWasmModules = undefined, startArgs } = JSON.parse(new TextDecoder().decode(applicationBytes));
69
87
  return {
70
88
  env: env ?? null,
71
89
  globalOutbound: undefined,
72
90
  modules: { 'worker.js': runner, ...modules },
91
+ ...(startArgs !== undefined ? { startArgs } : {}),
73
92
  ...(vfsWasmModules !== null ? { vfsWasmModules } : {}),
74
93
  };
75
94
  }
@@ -41,5 +41,5 @@ export declare function acquireDurableFacetSlot(ctx: DurableObjectState, owner:
41
41
  * step of explicit removal, after the facet's SQLite is already gone. Answers
42
42
  * the freed name, or null when the owner held nothing.
43
43
  */
44
- export declare function freeDurableFacetSlot(ctx: DurableObjectState, owner: string): Promise<string | null>;
44
+ export declare function freeDurableFacetSlot(ctx: DurableObjectState, owner: string, beforeFree?: (name: string) => void): Promise<string | null>;
45
45
  //# sourceMappingURL=durable-slots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"durable-slots.d.ts","sourceRoot":"","sources":["../../src/facets/durable-slots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAUH,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB"}
1
+ {"version":3,"file":"durable-slots.d.ts","sourceRoot":"","sources":["../../src/facets/durable-slots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAUH,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB"}
@@ -78,11 +78,12 @@ export async function acquireDurableFacetSlot(ctx, owner) {
78
78
  * step of explicit removal, after the facet's SQLite is already gone. Answers
79
79
  * the freed name, or null when the owner held nothing.
80
80
  */
81
- export async function freeDurableFacetSlot(ctx, owner) {
81
+ export async function freeDurableFacetSlot(ctx, owner, beforeFree) {
82
82
  return ctx.storage.transaction(async (txn) => {
83
83
  const held = await txn.get(ownerKey(owner));
84
84
  if (typeof held !== 'number')
85
85
  return null;
86
+ beforeFree?.(durableFacetName(held));
86
87
  await txn.delete(ownerKey(owner));
87
88
  const free = await txn.get(FREE_KEY);
88
89
  const freeList = Array.isArray(free) ? free.filter((n) => typeof n === 'number') : [];
@@ -19,6 +19,7 @@ import type { ProcessEntry } from '@nimbus-sh/core/runtime/process-table.js';
19
19
  import { SessionProcessSupervisor } from '@nimbus-sh/core/runtime/session-process-supervisor.js';
20
20
  import type { CredentialedVfs, SqliteVFS, VfsStat } from '@nimbus-sh/core/vfs/sqlite-vfs.js';
21
21
  import type { PortRegistry } from '@nimbus-sh/core/runtime/port-registry.js';
22
+ import { type PortVisibility } from '../session/port-capability.js';
22
23
  import { TurnBudget } from '@nimbus-sh/fabric/turn-budget.js';
23
24
  import { EsbuildService, type TransformResult } from '@nimbus-sh/core/runtime/esbuild-service.js';
24
25
  import { type ProcessHostFactory, type ResidentCodeSpec } from '@nimbus-sh/fabric/process-fabric.js';
@@ -598,7 +599,7 @@ export interface FacetManagerHooks {
598
599
  * genuinely re-enters the object: a fresh turn is both a released thread and
599
600
  * a fresh CPU budget, and a launch needs each for a different reason.
600
601
  */
601
- requestLaunchTurn?: () => void;
602
+ requestLaunchTurn?: (notBefore?: number) => void;
602
603
  /**
603
604
  * Put a line in front of the user, whether or not a terminal is attached.
604
605
  *
@@ -628,6 +629,12 @@ export interface FacetManagerHooks {
628
629
  resolveWorkerLaunchFallback?: (recipe: WorkerRecipe) => Promise<ResolvedWorkerLaunch | null>;
629
630
  }
630
631
  export interface LongRunningWorkerSpawnOptions {
632
+ /** Interpreter residents share Node's atomic derived-owner claim. */
633
+ resident?: {
634
+ runtime: 'ruby' | 'python';
635
+ argv: string[];
636
+ };
637
+ restart?: ResidentRestartPolicy;
631
638
  port?: number;
632
639
  /** Inline modules: source text, or small wasm carried by value. */
633
640
  modules?: Record<string, string | {
@@ -675,6 +682,7 @@ export interface ResidentSpawnOptions {
675
682
  /** The launch inputs a re-drive rebuilds a worker from: content digests and
676
683
  * transport, never env or credentials — the embedder resolves those. */
677
684
  export interface WorkerRecipe {
685
+ resident?: LongRunningWorkerSpawnOptions['resident'];
678
686
  kind: 'worker';
679
687
  /** The durable application this process belongs to, keyed by the embedder. */
680
688
  owner: string;
@@ -687,10 +695,33 @@ export interface WorkerRecipe {
687
695
  cwd: string;
688
696
  compatibilityDate: string;
689
697
  compatibilityFlags: string[];
690
- startArgs: unknown;
698
+ startArgs?: unknown;
699
+ }
700
+ export type ResidentRestartPolicy = 'never' | 'on-failure';
701
+ /** The env var a launch reads its restart policy from — set by startProcess({ restart }) and `nimbus start --restart`. */
702
+ export declare const RESTART_POLICY_ENV = "NIMBUS_RESTART";
703
+ /** One application as `apps.list` reports it — every stamped identity, live or not. */
704
+ export interface ResidentAppSummary {
705
+ owner: string;
706
+ name: string | null;
707
+ port: number | null;
708
+ pid: number | null;
709
+ status: 'running' | 'starting' | 'stopped' | 'failed';
710
+ visibility: PortVisibility;
711
+ capability: string | null;
712
+ restart: ResidentRestartPolicy;
713
+ /** Set with status 'failed': what went wrong, in the user's terms. */
714
+ diagnostic: string | null;
715
+ }
716
+ /** What a pid's journal row says about who it is. */
717
+ export interface ResidentIdentity {
718
+ owner: string | undefined;
719
+ ephemeral: boolean;
720
+ port: number | undefined;
691
721
  }
692
722
  /** What the embedder supplies for a re-driven worker launch. */
693
723
  export interface ResolvedWorkerLaunch {
724
+ startArgs?: unknown;
694
725
  /** Null is the absent answer — the same JSON the image blob carries. */
695
726
  env: ResidentCodeSpec['env'] | null;
696
727
  globalOutbound: ResidentCodeSpec['globalOutbound'];
@@ -783,6 +814,15 @@ export declare class FacetManager {
783
814
  private residencyProfiles;
784
815
  /** In-flight request-driven durable-app ensures, single-flight per port. */
785
816
  private ensureInflight;
817
+ /** Per-pid chain of journal-row amendments; see `_amendRow`. */
818
+ private rowAmendments;
819
+ /**
820
+ * pid → the derived owner it duplicates: the second live instance of an
821
+ * identity. Not journalled (nothing re-drives it), so this is the only
822
+ * record of why `expose(pid)` refuses it.
823
+ */
824
+ private ephemeralPids;
825
+ private residentClaims;
786
826
  private static readonly RESIDENCY_PROFILE_MAX_ENTRIES;
787
827
  /**
788
828
  * A program that reads a directory of data files misses once per file, so
@@ -792,6 +832,23 @@ export declare class FacetManager {
792
832
  */
793
833
  private static readonly RESIDENCY_PROFILE_MAX_PATHS;
794
834
  constructor(ctx: DurableObjectState, env: unknown, processes: SessionProcessSupervisor, portRegistry: PortRegistry, host: ProcessHostFactory, hooks?: FacetManagerHooks);
835
+ /**
836
+ * The process is over. Every end-of-life passes through here: a clean
837
+ * exit, a kill, a timeout, a crash. Only one of them owes anything more
838
+ * than the journal row's release — a crash under 'on-failure' is re-driven
839
+ * from the row, after a backoff, while the row is still in storage so a
840
+ * reset inside the backoff window recovers it like any other resident.
841
+ */
842
+ private _onResidentTerminal;
843
+ /** Claim identity AND write its recovery row in one serializable storage transaction. */
844
+ private _claimResident;
845
+ private _releaseResidentClaim;
846
+ /**
847
+ * Amend one journal row in place — port stamp, owner adoption, settle —
848
+ * serialized per pid so two amendments in flight on the same row cannot
849
+ * interleave their read and write and lose one another's fields.
850
+ */
851
+ private _amendRow;
795
852
  setVfs(vfs: SqliteVFS): void;
796
853
  /**
797
854
  * The env/ctx pair every loader-backed runtime builds its facet pools
@@ -1074,6 +1131,14 @@ export declare class FacetManager {
1074
1131
  private _warmOpencodeServer;
1075
1132
  /** Recent stderr/stdout tail for a pid, for fail-loud diagnostics. */
1076
1133
  private _processLogTail;
1134
+ /**
1135
+ * A launch that fails before its process is running reports the same way
1136
+ * regardless of which phase failed: the pid is exited, the terminal event
1137
+ * recorded, and the session notified. Callers do their phase-specific
1138
+ * cleanup (ports, tracked RPC resources) first and pass a reason that names
1139
+ * the phase.
1140
+ */
1141
+ private _failLaunch;
1077
1142
  /** Flush files written by the script back to the supervisor's VFS. */
1078
1143
  private _flushVfsWrites;
1079
1144
  /** Execution timeout. */
@@ -1137,22 +1202,40 @@ export declare class FacetManager {
1137
1202
  /** `attempt` is the journal's re-drive budget, as `_spawnResident` carries it. */
1138
1203
  private _spawnWorker;
1139
1204
  /**
1140
- * A resident process announcing it bound `port`. When the port is reserved,
1141
- * the reservation's owner is stamped onto this pid's journal row — the
1142
- * reservation is what declares which application the port serves, and a
1143
- * resident that binds it inherits the whole durable contract: the row names
1144
- * the port `ensureDurableAppOnPort` looks up, the minted capability is
1145
- * re-adopted rather than retired, and `removeDurableApp` can find the launch
1146
- * by owner.
1205
+ * A resident process announcing it bound `port`.
1147
1206
  *
1148
- * A pid with no journal row — a process outside the resident lifecycle —
1149
- * registering on a reserved port takes it as today: the stored capability
1150
- * is retired and a fresh one is minted, the reservation stays with the
1151
- * owner. An accidental port reuse inside one session therefore cannot
1152
- * inherit the public capability; same-session processes are one trust
1153
- * domain, so this is hygiene, not a security boundary.
1207
+ * The stamp is unconditional: the pid's journal row gets `{ port }`
1208
+ * whether or not anything reserved it, which is what lets
1209
+ * `ensureDurableAppOnPort` re-drive ANY resident a reset killed — the
1210
+ * scoped URLs need no capability, so this alone makes every server's
1211
+ * preview survive a reset on demand.
1212
+ *
1213
+ * The capability is bound to identity, not to the port. The stored
1214
+ * capability is re-adopted only when the row's owner IS the reservation's
1215
+ * owner; any other occupant — an unrelated server, a pid outside the
1216
+ * resident lifecycle, the ephemeral second instance of an identity —
1217
+ * retires it and mints fresh, so a shared link 404s rather than reaching
1218
+ * a program it was never handed out for. An EXPLICIT reservation (an
1219
+ * embedder's `ensureDurableApp`) is the one exception, and it is the
1220
+ * landed contract: the embedder declared the port, so the row adopts the
1221
+ * reservation's owner and the capability with it.
1222
+ *
1223
+ * Under an injected `$PORT`, a resident that binds a different port is
1224
+ * registered anyway — the server must not break — but the row records
1225
+ * the mismatch, so `apps.list` reports it as failed and the user is told.
1154
1226
  */
1155
1227
  private _registerResidentPort;
1228
+ /** What a pid's journal row says about who it is; null for a pid without one. */
1229
+ residentIdentity(pid: number): Promise<ResidentIdentity | null>;
1230
+ /**
1231
+ * Every stamped identity — the reservations, and the journal rows that
1232
+ * carry an owner — folded one row per owner. A live pid in THIS instance
1233
+ * makes it running (or starting, until its launch settles and its port
1234
+ * is registered); a mismatch diagnostic makes it failed; everything else
1235
+ * is stopped, which for a row a reset left behind means re-drivable on
1236
+ * request.
1237
+ */
1238
+ listResidentApps(): Promise<ResidentAppSummary[]>;
1156
1239
  registerPort(pid: number, port: number): Promise<void>;
1157
1240
  waitForRouteablePorts(pid: number, timeoutMs?: number): Promise<number[]>;
1158
1241
  finishProcess(pid: number, exitCode: number, reason?: string): void;
@@ -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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"}