@nimbus-sh/worker 0.10.0 → 0.11.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.
- package/NOTICE.md +5 -0
- package/README.md +10 -0
- package/dist/_shared/session-router.d.ts +7 -0
- package/dist/_shared/session-router.d.ts.map +1 -1
- package/dist/_shared/session-router.js +7 -0
- package/dist/bindings/body.d.ts +6 -0
- package/dist/bindings/body.d.ts.map +1 -0
- package/dist/bindings/body.js +37 -0
- package/dist/bindings/kv.d.ts +0 -2
- package/dist/bindings/kv.d.ts.map +1 -1
- package/dist/bindings/kv.js +3 -42
- package/dist/bindings/r2.d.ts +0 -2
- package/dist/bindings/r2.d.ts.map +1 -1
- package/dist/bindings/r2.js +4 -44
- package/dist/esbuild-cli-artifact.generated.d.ts +18 -0
- package/dist/esbuild-cli-artifact.generated.d.ts.map +1 -0
- package/dist/esbuild-cli-artifact.generated.js +17 -0
- package/dist/facets/cirrus-real.d.ts.map +1 -1
- package/dist/facets/cirrus-real.js +9 -4
- package/dist/facets/compose.d.ts +11 -7
- package/dist/facets/compose.d.ts.map +1 -1
- package/dist/facets/compose.js +8 -38
- package/dist/facets/data-plan.d.ts +79 -0
- package/dist/facets/data-plan.d.ts.map +1 -0
- package/dist/facets/data-plan.js +477 -0
- package/dist/facets/esbuild-transform.d.ts +36 -10
- package/dist/facets/esbuild-transform.d.ts.map +1 -1
- package/dist/facets/esbuild-transform.js +216 -20
- package/dist/facets/exec-telemetry.d.ts +7 -3
- package/dist/facets/exec-telemetry.d.ts.map +1 -1
- package/dist/facets/manager.d.ts +179 -78
- package/dist/facets/manager.d.ts.map +1 -1
- package/dist/facets/manager.js +1221 -649
- package/dist/facets/opencode-staging.d.ts +0 -2
- package/dist/facets/opencode-staging.d.ts.map +1 -1
- package/dist/facets/opencode-staging.js +5 -11
- package/dist/facets/process.d.ts +4 -0
- package/dist/facets/process.d.ts.map +1 -1
- package/dist/facets/process.js +3 -0
- package/dist/facets/read-profile.d.ts +149 -0
- package/dist/facets/read-profile.d.ts.map +1 -0
- package/dist/facets/read-profile.js +483 -0
- package/dist/facets/resident-identity.d.ts +0 -1
- package/dist/facets/resident-identity.d.ts.map +1 -1
- package/dist/facets/resident-identity.js +0 -3
- package/dist/facets/wasm-swap-registry.d.ts +34 -25
- package/dist/facets/wasm-swap-registry.d.ts.map +1 -1
- package/dist/facets/wasm-swap-registry.js +62 -56
- package/dist/facets/ws-terminal.d.ts +4 -4
- package/dist/facets/ws-terminal.d.ts.map +1 -1
- package/dist/facets/ws-terminal.js +4 -5
- package/dist/git/commands.d.ts +16 -9
- package/dist/git/commands.d.ts.map +1 -1
- package/dist/git/commands.js +1818 -188
- package/dist/git/network-facet.d.ts +10 -2
- package/dist/git/network-facet.d.ts.map +1 -1
- package/dist/git/network-facet.js +62 -16
- package/dist/git/unified-diff.d.ts +74 -0
- package/dist/git/unified-diff.d.ts.map +1 -0
- package/dist/git/unified-diff.js +676 -0
- package/dist/git-bundle.generated.d.ts +7 -11
- package/dist/git-bundle.generated.d.ts.map +1 -1
- package/dist/git-bundle.generated.js +7 -11
- package/dist/hosted/commands.d.ts.map +1 -1
- package/dist/hosted/commands.js +62 -243
- package/dist/hosted/runtime.d.ts +19 -13
- package/dist/hosted/runtime.d.ts.map +1 -1
- package/dist/hosted/runtime.js +71 -14
- package/dist/hosted/services.d.ts +6 -7
- package/dist/hosted/services.d.ts.map +1 -1
- package/dist/hosted/services.js +10 -14
- package/dist/hosted/session.d.ts +165 -0
- package/dist/hosted/session.d.ts.map +1 -0
- package/dist/hosted/session.js +132 -0
- package/dist/loaders/generated-workers.d.ts +5 -2
- package/dist/loaders/generated-workers.d.ts.map +1 -1
- package/dist/loaders/generated-workers.js +6 -3
- package/dist/loaders/npm-resolve-preamble.d.ts.map +1 -1
- package/dist/loaders/npm-resolve-preamble.js +0 -27
- package/dist/node-shims-artifact.generated.d.ts +13 -4
- package/dist/node-shims-artifact.generated.d.ts.map +1 -1
- package/dist/node-shims-artifact.generated.js +16 -7
- package/dist/npm/bin-links.d.ts +3 -1
- package/dist/npm/bin-links.d.ts.map +1 -1
- package/dist/npm/bin-links.js +32 -8
- package/dist/npm/cache.d.ts +5 -0
- package/dist/npm/cache.d.ts.map +1 -1
- package/dist/npm/cache.js +13 -1
- package/dist/npm/install-batch-facet.d.ts +2 -2
- package/dist/npm/install-batch-facet.js +3 -3
- package/dist/npm/installer.d.ts +17 -1
- package/dist/npm/installer.d.ts.map +1 -1
- package/dist/npm/installer.js +159 -20
- package/dist/npm/package-lock.d.ts +32 -0
- package/dist/npm/package-lock.d.ts.map +1 -0
- package/dist/npm/package-lock.js +65 -0
- package/dist/npm/pre-bundle-facet.d.ts +1 -30
- package/dist/npm/pre-bundle-facet.d.ts.map +1 -1
- package/dist/npm/pre-bundle-facet.js +3 -5
- package/dist/npm/r2-cache.d.ts +2 -0
- package/dist/npm/r2-cache.d.ts.map +1 -1
- package/dist/npm/r2-cache.js +2 -0
- package/dist/npm/resolve-one-facet.d.ts.map +1 -1
- package/dist/npm/resolve-one-facet.js +14 -3
- package/dist/npm/resolver.d.ts +0 -7
- package/dist/npm/resolver.d.ts.map +1 -1
- package/dist/npm/resolver.js +0 -22
- package/dist/opencode-artifact.generated.js +2 -2
- package/dist/replica/routing.d.ts +2 -38
- package/dist/replica/routing.d.ts.map +1 -1
- package/dist/replica/routing.js +3 -55
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +15 -2
- package/dist/router/public-directory.d.ts +18 -0
- package/dist/router/public-directory.d.ts.map +1 -1
- package/dist/router/public-directory.js +1 -1
- package/dist/router/remote-api.d.ts +3 -1
- package/dist/router/remote-api.d.ts.map +1 -1
- package/dist/router/remote-api.js +42 -79
- package/dist/runtime/bash-repl.js +2 -2
- package/dist/runtime/bun-repl.d.ts.map +1 -1
- package/dist/runtime/bun-repl.js +2 -13
- package/dist/runtime/esbuild-wasm-bytes.d.ts +17 -5
- package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -1
- package/dist/runtime/esbuild-wasm-bytes.js +43 -94
- package/dist/runtime/git-bundle-artifact.d.ts +17 -0
- package/dist/runtime/git-bundle-artifact.d.ts.map +1 -0
- package/dist/runtime/git-bundle-artifact.js +25 -0
- package/dist/runtime/node-repl.d.ts.map +1 -1
- package/dist/runtime/node-repl.js +2 -13
- package/dist/runtime/node-shims-artifact.d.ts +22 -23
- package/dist/runtime/node-shims-artifact.d.ts.map +1 -1
- package/dist/runtime/node-shims-artifact.js +48 -78
- package/dist/runtime/node-shims.d.ts.map +1 -1
- package/dist/runtime/node-shims.js +1567 -864
- package/dist/runtime/opencode-artifact.d.ts.map +1 -1
- package/dist/runtime/opencode-artifact.js +17 -53
- package/dist/runtime/opencode-facet-runner.d.ts +3 -6
- package/dist/runtime/opencode-facet-runner.d.ts.map +1 -1
- package/dist/runtime/opencode-facet-runner.js +45 -10
- package/dist/runtime/opentui-wasm-bytes.d.ts.map +1 -1
- package/dist/runtime/opentui-wasm-bytes.js +16 -49
- package/dist/runtime/package-manager.d.ts +0 -2
- package/dist/runtime/package-manager.d.ts.map +1 -1
- package/dist/runtime/package-manager.js +0 -3
- package/dist/runtime/python-repl.d.ts.map +1 -1
- package/dist/runtime/python-repl.js +2 -2
- package/dist/runtime/repl-session.d.ts +10 -0
- package/dist/runtime/repl-session.d.ts.map +1 -1
- package/dist/runtime/repl-session.js +7 -0
- package/dist/runtime/ruby-repl.d.ts.map +1 -1
- package/dist/runtime/ruby-repl.js +2 -2
- package/dist/runtime/ruby-resident.d.ts.map +1 -1
- package/dist/runtime/ruby-resident.js +36 -35
- package/dist/runtime/runtime-catalog.d.ts +10 -3
- package/dist/runtime/runtime-catalog.d.ts.map +1 -1
- package/dist/runtime/runtime-catalog.js +125 -15
- package/dist/runtime/sqlite-wasm-bytes.d.ts +4 -4
- package/dist/runtime/sqlite-wasm-bytes.d.ts.map +1 -1
- package/dist/runtime/sqlite-wasm-bytes.js +21 -57
- package/dist/runtime/staged-source.d.ts +67 -0
- package/dist/runtime/staged-source.d.ts.map +1 -0
- package/dist/runtime/staged-source.js +113 -0
- package/dist/runtime/wasi/preamble.d.ts.map +1 -1
- package/dist/runtime/wasi/preamble.js +0 -24
- package/dist/runtime-catalog.generated.js +1 -1
- package/dist/session/agent.d.ts +14 -2
- package/dist/session/agent.d.ts.map +1 -1
- package/dist/session/agent.js +57 -19
- package/dist/session/ai.d.ts +0 -11
- package/dist/session/ai.d.ts.map +1 -1
- package/dist/session/ai.js +0 -4
- package/dist/session/fs-watch.d.ts +0 -11
- package/dist/session/fs-watch.d.ts.map +1 -1
- package/dist/session/fs-watch.js +0 -21
- package/dist/session/hibernation.d.ts +34 -11
- package/dist/session/hibernation.d.ts.map +1 -1
- package/dist/session/hibernation.js +46 -29
- package/dist/session/init-phases.d.ts +1 -2
- package/dist/session/init-phases.d.ts.map +1 -1
- package/dist/session/init-phases.js +1 -2
- package/dist/session/init.d.ts.map +1 -1
- package/dist/session/init.js +7 -20
- package/dist/session/keys.d.ts +0 -3
- package/dist/session/keys.d.ts.map +1 -1
- package/dist/session/keys.js +0 -3
- package/dist/session/legacy-reset.d.ts +11 -0
- package/dist/session/legacy-reset.d.ts.map +1 -0
- package/dist/session/legacy-reset.js +16 -0
- package/dist/session/nimbus-session.d.ts +41 -15
- package/dist/session/nimbus-session.d.ts.map +1 -1
- package/dist/session/nimbus-session.js +64 -70
- package/dist/session/npm-install-port.d.ts.map +1 -1
- package/dist/session/npm-install-port.js +1 -0
- package/dist/session/programmatic.d.ts +13 -18
- package/dist/session/programmatic.d.ts.map +1 -1
- package/dist/session/programmatic.js +53 -39
- package/dist/session/replica-routes.d.ts +2 -3
- package/dist/session/replica-routes.d.ts.map +1 -1
- package/dist/session/replica-routes.js +3 -10
- package/dist/session/routes.d.ts.map +1 -1
- package/dist/session/routes.js +7 -10
- package/dist/session/rpc.d.ts +104 -20
- package/dist/session/rpc.d.ts.map +1 -1
- package/dist/session/rpc.js +184 -37
- package/dist/session/start-real-vite.js +2 -2
- package/dist/session/state-store.d.ts +1 -17
- package/dist/session/state-store.d.ts.map +1 -1
- package/dist/session/state-store.js +3 -53
- package/dist/session/supervisor-op.d.ts +7 -0
- package/dist/session/supervisor-op.d.ts.map +1 -1
- package/dist/session/supervisor-op.js +6 -1
- package/dist/session/supervisor-rpc.d.ts +104 -15
- package/dist/session/supervisor-rpc.d.ts.map +1 -1
- package/dist/session/supervisor-rpc.js +188 -71
- package/dist/session/vite-command.d.ts.map +1 -1
- package/dist/session/vite-command.js +17 -14
- package/dist/session/ws.d.ts.map +1 -1
- package/dist/session/ws.js +20 -8
- package/dist/shell/npm-bin-entrypoints.d.ts.map +1 -1
- package/dist/shell/npm-bin-entrypoints.js +30 -5
- package/dist/vfs/facet-resident-limits.d.ts +33 -0
- package/dist/vfs/facet-resident-limits.d.ts.map +1 -0
- package/dist/vfs/facet-resident-limits.js +33 -0
- package/dist/vfs/facet-resident-store.d.ts +2 -10
- package/dist/vfs/facet-resident-store.d.ts.map +1 -1
- package/dist/vfs/facet-resident-store.js +1594 -219
- package/dist/workspace-host.d.ts +2 -0
- package/dist/workspace-host.d.ts.map +1 -1
- package/dist/workspace-host.js +2 -0
- package/dist/wrangler/nimbus-wrangler.d.ts +0 -2
- package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -1
- package/dist/wrangler/nimbus-wrangler.js +5 -22
- package/package.json +8 -7
- package/public/_assets/opencode/1.16.2/index-attach.js +2 -2
- package/public/_assets/runtime/esbuild-cli-c4fda380d52befc1.js +6892 -0
- package/public/_assets/runtime/git-de3e60c9f3ff006a.js +103 -0
- package/public/_assets/runtime/{node-shims-7b4dd7a76d95d21e.js → node-shims-06565b121555c194.js} +2089 -861
- package/public/_assets/runtime/resident-store-6ffb1939c53d982f.js +2264 -0
- package/public/_assets/runtime/vfs-write-ledger-e501e8fc793bc2c1.js +889 -0
- package/scripts/build-opencode-attach-entry.mjs +51 -1
- package/scripts/bundle-facet-workers.mjs +114 -3
- package/scripts/bundle-git.mjs +88 -27
- package/scripts/bundle-node-shims.mjs +72 -46
- package/scripts/bundle-runtime.mjs +18 -421
- package/scripts/cf-git-patch.mjs +137 -0
- package/scripts/patch-install-deps.mjs +49 -96
- package/scripts/runtime-specs.mjs +435 -0
- package/vendor/git-http.generated.d.ts +82 -0
- package/vendor/git-upstream.generated.d.ts +4378 -0
- package/vendor/git.LICENSE +7 -0
- package/vendor/git.generated.d.mts +21 -0
- package/vendor/git.generated.mjs +103 -0
- package/dist/replica/suspension.d.ts +0 -36
- package/dist/replica/suspension.d.ts.map +0 -1
- package/dist/replica/suspension.js +0 -49
- package/dist/runtime/static-server.d.ts +0 -3
- package/dist/runtime/static-server.d.ts.map +0 -1
- package/dist/runtime/static-server.js +0 -133
- package/scripts/clean-dist.mjs +0 -7
|
@@ -51,8 +51,6 @@ export declare const OpencodeStageSpecSchema: z.ZodObject<{
|
|
|
51
51
|
cwd: z.ZodString;
|
|
52
52
|
stdin: z.ZodString;
|
|
53
53
|
vfsBundle: z.ZodString;
|
|
54
|
-
vfsManifest: z.ZodString;
|
|
55
|
-
vfsMetadata: z.ZodString;
|
|
56
54
|
vfsCursor: z.ZodString;
|
|
57
55
|
}, z.core.$strip>;
|
|
58
56
|
export type OpencodeStageSpec = z.infer<typeof OpencodeStageSpecSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-staging.d.ts","sourceRoot":"","sources":["../../src/facets/opencode-staging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAwB3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAGpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;CACpD;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"opencode-staging.d.ts","sourceRoot":"","sources":["../../src/facets/opencode-staging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAwB3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAGpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;CACpD;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;iBAoBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAoCxE,iFAAiF;AACjF,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAC/B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,CAMhD;AAsFD;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAC/B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,UAAU,CAAC,CAuDrB"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* place; the L2 asset cache makes refetches cheap).
|
|
24
24
|
*/
|
|
25
25
|
import { z } from 'zod/v4';
|
|
26
|
-
import {
|
|
26
|
+
import { fetchNodeFacetSources } from '../runtime/node-shims-artifact.js';
|
|
27
27
|
import { fetchSqliteWasmBytes } from '../runtime/sqlite-wasm-bytes.js';
|
|
28
28
|
import { fetchOpencodeBundle, fetchOpencodeChunkSources, fetchOpencodeWasmBytes, fetchOpencodeWorkerSource, } from '../runtime/opencode-artifact.js';
|
|
29
29
|
import { fetchOpenTUIWasmBytes } from '../runtime/opentui-wasm-bytes.js';
|
|
@@ -50,12 +50,8 @@ export const OpencodeStageSpecSchema = z.object({
|
|
|
50
50
|
stdin: z.string(),
|
|
51
51
|
/** Serialized VFS snapshot bundle (`_serializeBundleForFacet` output). */
|
|
52
52
|
vfsBundle: z.string(),
|
|
53
|
-
/** Serialized VFS directory manifest (JSON). */
|
|
54
|
-
vfsManifest: z.string(),
|
|
55
|
-
/** Serialized VFS inode metadata (JSON). */
|
|
56
|
-
vfsMetadata: z.string(),
|
|
57
53
|
/**
|
|
58
|
-
* The coherence cursor the
|
|
54
|
+
* The coherence cursor the bundle above was read at, as a JSON literal
|
|
59
55
|
* (`null` when the stage carries no VFS). Without it the facet's first
|
|
60
56
|
* ACQUIRE poisons and drops the whole snapshot — see _shared/facet-vfs-cursor.
|
|
61
57
|
*/
|
|
@@ -157,9 +153,9 @@ export async function assembleOpencodeFacetConfig(env, specInput) {
|
|
|
157
153
|
const spec = OpencodeStageSpecSchema.parse(specInput);
|
|
158
154
|
const assets = requireAssets(env, 'staged opencode artifact');
|
|
159
155
|
const attached = spec.mode === 'attached';
|
|
160
|
-
const [bundle,
|
|
156
|
+
const [bundle, sources, sqliteModules, treeSitterModules, openTuiModules, chunkModules, workerModules, yogaModules] = await Promise.all([
|
|
161
157
|
fetchOpencodeBundle(assets, attached ? 'attach' : 'default'),
|
|
162
|
-
|
|
158
|
+
fetchNodeFacetSources(assets),
|
|
163
159
|
sqliteWasmModuleEntry(assets, true),
|
|
164
160
|
treeSitterModuleEntries(assets),
|
|
165
161
|
// Rendering stack is attach-only: serve/oneshot never link the TUI
|
|
@@ -183,10 +179,8 @@ export async function assembleOpencodeFacetConfig(env, specInput) {
|
|
|
183
179
|
cred: spec.cred,
|
|
184
180
|
cwd: spec.cwd,
|
|
185
181
|
stdin: spec.stdin,
|
|
186
|
-
|
|
182
|
+
sources,
|
|
187
183
|
vfsBundle: spec.vfsBundle,
|
|
188
|
-
vfsManifest: spec.vfsManifest,
|
|
189
|
-
vfsMetadata: spec.vfsMetadata,
|
|
190
184
|
vfsCursor: spec.vfsCursor,
|
|
191
185
|
mode: spec.mode,
|
|
192
186
|
});
|
package/dist/facets/process.d.ts
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
*/
|
|
36
36
|
import type { SessionProcessSupervisor } from '@nimbus-sh/core/runtime/session-process-supervisor.js';
|
|
37
37
|
import type { CredentialedVfs } from '@nimbus-sh/core/vfs/sqlite-vfs.js';
|
|
38
|
+
import type { SqlDatabase } from '@nimbus-sh/core/runtime/os-contracts.js';
|
|
38
39
|
/**
|
|
39
40
|
* Result of running a pure-builtin or facet-direct command. Mirrors
|
|
40
41
|
* FacetExecResult but with the streaming hooks already invoked, so this
|
|
@@ -188,6 +189,9 @@ export interface FacetProcessManagerDeps {
|
|
|
188
189
|
abort?: (name: string, e?: any) => void;
|
|
189
190
|
delete?: (name: string) => void;
|
|
190
191
|
};
|
|
192
|
+
storage?: {
|
|
193
|
+
sql?: SqlDatabase;
|
|
194
|
+
};
|
|
191
195
|
};
|
|
192
196
|
/** Optional Worker Loader pool for isolating child-process dispatch. */
|
|
193
197
|
spawnPool?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/facets/process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAIH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;GAIG;AACH,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,CAAC;IAIvE,OAAO,EAAE;QACP,CAAC,EAAE,WAAW,EAAE,CAAC;QACjB,CAAC,EAAE,WAAW,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGjH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC,CAAC;IAGnG,SAAS,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED,kDAAkD;AAClD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAElD;AAWD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EACzF,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CACL,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,gBAAgB,GAAG,aAAa,CAAC,CAAC;IACnG,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,2DAA2D;IAC3D,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/facets/process.ts"],"names":[],"mappings":"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"}
|
package/dist/facets/process.js
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
import { resolveVfsPath } from '@nimbus-sh/core/vfs/path.js';
|
|
37
37
|
import { parseShellInvocation } from '@nimbus-sh/core/shell/shell-invocation.js';
|
|
38
38
|
import { enc, dec, StreamTextDecoders } from '@nimbus-sh/core/_shared/bytes.js';
|
|
39
|
+
import { forgetFacetStorage } from '@nimbus-sh/core/runtime/storage-ledger.js';
|
|
39
40
|
/** A text producer's edge onto the byte hooks. */
|
|
40
41
|
export function textBytes(text) {
|
|
41
42
|
return enc.encode(text);
|
|
@@ -691,6 +692,8 @@ export class FacetProcessManager {
|
|
|
691
692
|
try {
|
|
692
693
|
if (this.deps.ctx?.facets?.delete) {
|
|
693
694
|
this.deps.ctx.facets.delete(child.facetName);
|
|
695
|
+
if (this.deps.ctx.storage?.sql)
|
|
696
|
+
forgetFacetStorage(this.deps.ctx.storage.sql, child.facetName);
|
|
694
697
|
}
|
|
695
698
|
}
|
|
696
699
|
catch { /* best-effort */ }
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/** The R2 surface this needs. */
|
|
2
|
+
export interface ReadProfileBucket {
|
|
3
|
+
get(key: string): Promise<{
|
|
4
|
+
text(): Promise<string>;
|
|
5
|
+
etag?: string;
|
|
6
|
+
} | null>;
|
|
7
|
+
/** Null when the `onlyIf` precondition failed and nothing was stored (R2). */
|
|
8
|
+
put(key: string, value: string, options?: {
|
|
9
|
+
onlyIf: {
|
|
10
|
+
etagMatches: string;
|
|
11
|
+
} | {
|
|
12
|
+
etagDoesNotMatch: '*';
|
|
13
|
+
};
|
|
14
|
+
}): Promise<unknown>;
|
|
15
|
+
delete?(key: string): Promise<unknown>;
|
|
16
|
+
list(options: {
|
|
17
|
+
prefix: string;
|
|
18
|
+
cursor?: string;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
objects: {
|
|
21
|
+
key: string;
|
|
22
|
+
}[];
|
|
23
|
+
truncated: boolean;
|
|
24
|
+
cursor?: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
/** Entries one package's profile stores (a storage bound, not what a launch stages). */
|
|
28
|
+
export declare const READ_PROFILE_MAX_ENTRIES = 1024;
|
|
29
|
+
/** Bytes of one profile path. */
|
|
30
|
+
export declare const READ_PROFILE_MAX_PATH_LENGTH = 512;
|
|
31
|
+
/** Distinct principals an entry must be observed by before it is shared. */
|
|
32
|
+
export declare const READ_PROFILE_SHARE_AFTER = 2;
|
|
33
|
+
/** Writes one principal may make to one package's profile per window. */
|
|
34
|
+
export declare const READ_PROFILE_WRITES_PER_WINDOW = 8;
|
|
35
|
+
/** A package-relative path a profile may hold, or false. */
|
|
36
|
+
export declare function validProfilePath(rel: unknown): rel is string;
|
|
37
|
+
/**
|
|
38
|
+
* The principal a session writes to profiles as: its Durable Object name's
|
|
39
|
+
* tenant segment (`<tn>:<sub>`, set by the router from the verified token),
|
|
40
|
+
* or null when the session is anonymous or has no such name, and so may only
|
|
41
|
+
* read.
|
|
42
|
+
*/
|
|
43
|
+
export declare function profilePrincipal(tenantSegment: string | null | undefined): string | null;
|
|
44
|
+
/** A principal's tag in a profile: never the principal itself. */
|
|
45
|
+
export declare function principalTag(principal: string): Promise<string>;
|
|
46
|
+
/** One miss the supervisor can vouch for: a regular file in a package, and its size. */
|
|
47
|
+
export interface ProfileEvidence {
|
|
48
|
+
path: string;
|
|
49
|
+
size: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The misses worth recording: those in `reported` (what the program says it
|
|
53
|
+
* missed) that the supervisor itself `served` an async read for, and that
|
|
54
|
+
* `stat` (as the process's credential) shows as a regular file inside a
|
|
55
|
+
* package. Everything else the program claims is dropped.
|
|
56
|
+
*/
|
|
57
|
+
export declare function verifiedEvidence(reported: Iterable<string>, served: ReadonlySet<string>, stat: (path: string) => Promise<{
|
|
58
|
+
type: string;
|
|
59
|
+
size: number;
|
|
60
|
+
} | null>): Promise<ProfileEvidence[]>;
|
|
61
|
+
/**
|
|
62
|
+
* The paths a supervisor served async reads for, per process. Bounded per
|
|
63
|
+
* process: evidence is what a process was served after a miss, and a process
|
|
64
|
+
* that reads more than this many distinct files keeps its first ones.
|
|
65
|
+
*/
|
|
66
|
+
export declare class ServedReads {
|
|
67
|
+
static readonly MAX_PER_PROCESS = 4096;
|
|
68
|
+
private readonly byPid;
|
|
69
|
+
note(pid: number, path: unknown): void;
|
|
70
|
+
/** What `pid` was served, and forget it. */
|
|
71
|
+
take(pid: number): ReadonlySet<string>;
|
|
72
|
+
}
|
|
73
|
+
/** One profile entry `lookup` offered a launch. */
|
|
74
|
+
export interface StagedProfileEntry {
|
|
75
|
+
/** The namespace key (`<package root>/<rel>`). */
|
|
76
|
+
path: string;
|
|
77
|
+
size: number;
|
|
78
|
+
/** Where the entry lives: its profile object and package-relative path. */
|
|
79
|
+
object: string;
|
|
80
|
+
rel: string;
|
|
81
|
+
}
|
|
82
|
+
export declare class ReadProfile {
|
|
83
|
+
private readonly bucket;
|
|
84
|
+
private readonly now;
|
|
85
|
+
private readonly onConflict?;
|
|
86
|
+
private index;
|
|
87
|
+
/** onConflict reports a change after every conditional write fails. */
|
|
88
|
+
constructor(bucket: ReadProfileBucket, now?: () => number, onConflict?: ((key: string, kind: "observe" | "settle") => void) | undefined);
|
|
89
|
+
private static key;
|
|
90
|
+
/** Group paths under their package's profile key. */
|
|
91
|
+
private static byPackage;
|
|
92
|
+
/**
|
|
93
|
+
* File what one principal's process observed (`verifiedEvidence`). Each
|
|
94
|
+
* entry keeps the distinct principals that observed it; it is shared once
|
|
95
|
+
* there are two. `tag` is null for a session that may not write (anonymous).
|
|
96
|
+
*/
|
|
97
|
+
observe(evidence: Iterable<ProfileEvidence>, tag: string | null, integrityOf: (root: string) => string | null): Promise<number>;
|
|
98
|
+
/**
|
|
99
|
+
* One read-modify-write of `key` by `tag`: `mutate` changes the profile
|
|
100
|
+
* read and says whether it did. The write is conditional on the object
|
|
101
|
+
* still being the one read, and is tried again from a fresh read when
|
|
102
|
+
* another writer got there first, so concurrent writers each land. A
|
|
103
|
+
* change that lost every try is a `conflict`: said, and counted by the
|
|
104
|
+
* owner (`onConflict`), never dropped silently.
|
|
105
|
+
*/
|
|
106
|
+
private update;
|
|
107
|
+
/**
|
|
108
|
+
* Count one write by `tag` to `profile`, or refuse it: a principal writes
|
|
109
|
+
* one package's profile at most READ_PROFILE_WRITES_PER_WINDOW times per
|
|
110
|
+
* window, so no one party can churn an object every tenant reads.
|
|
111
|
+
*/
|
|
112
|
+
private admitWrite;
|
|
113
|
+
/**
|
|
114
|
+
* A full profile evicts its weakest unshared entry for a new one; shared
|
|
115
|
+
* entries are never evicted for an observation only one principal made.
|
|
116
|
+
*/
|
|
117
|
+
private static makeRoom;
|
|
118
|
+
/**
|
|
119
|
+
* The shared entries for the packages at `roots` (namespace keys), best
|
|
120
|
+
* first (score, then smaller files), whose sizes add up to at most
|
|
121
|
+
* `budgetBytes`.
|
|
122
|
+
*/
|
|
123
|
+
lookup(roots: Iterable<string>, integrityOf: (root: string) => string | null, budgetBytes: number): Promise<StagedProfileEntry[]>;
|
|
124
|
+
/**
|
|
125
|
+
* What one launch did with the entries `lookup` gave it. `unread` is what
|
|
126
|
+
* the process reported it never read (its word can only lower a score), or
|
|
127
|
+
* null when it reported no list at all (a launch that died before its
|
|
128
|
+
* report), which says nothing about any entry; `served` is what the
|
|
129
|
+
* supervisor served it async reads for during the launch (a staged file the
|
|
130
|
+
* process used is never faulted in, so an entry staged and not in `served`
|
|
131
|
+
* is the supervisor's evidence it was held); `unresolved` is what the plan
|
|
132
|
+
* found no regular file for; `tag` is the launching session's principal's,
|
|
133
|
+
* or null for a session that may not write (anonymous), whose launch
|
|
134
|
+
* changes nothing.
|
|
135
|
+
* unresolved -> removed
|
|
136
|
+
* no report -> unchanged
|
|
137
|
+
* reported unread -> score - 1
|
|
138
|
+
* staged, never served, tag not vouched -> score + 1 (at most MAX_SCORE)
|
|
139
|
+
* otherwise -> unchanged
|
|
140
|
+
* A score of zero removes the entry.
|
|
141
|
+
*/
|
|
142
|
+
settle(staged: Iterable<StagedProfileEntry>, unread: ReadonlySet<string> | null, served: ReadonlySet<string>, unresolved: ReadonlySet<string>, tag: string | null): Promise<void>;
|
|
143
|
+
/** Store `profile` if `key` is still the object `etag` names (null: still absent). */
|
|
144
|
+
private write;
|
|
145
|
+
private read;
|
|
146
|
+
private readVersioned;
|
|
147
|
+
private listIndex;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=read-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-profile.d.ts","sourceRoot":"","sources":["../../src/facets/read-profile.ts"],"names":[],"mappings":"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"}
|