@ai-ecoverse/slicc-kernel 1.133.2 → 1.133.4

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.
@@ -1,3 +1,4 @@
1
+ export declare const SHARED_TTL_MS = 100;
1
2
  export declare const CHANGES_BYTES: number;
2
3
  export declare function changeHash(path: string): number;
3
4
  export declare class FileChanges {
@@ -23,6 +23,13 @@ export interface MetaEntry {
23
23
  to: string;
24
24
  at: number;
25
25
  replace?: true;
26
+ lock?: string;
27
+ root?: {
28
+ ino: number;
29
+ uid?: number;
30
+ gid?: number;
31
+ mode?: number;
32
+ };
26
33
  };
27
34
  }
28
35
  export type MetaChange = (entry: MetaEntry | undefined) => MetaEntry | undefined;
@@ -166,7 +166,10 @@ export declare class OpfsFs implements KernelFs {
166
166
  private intents;
167
167
  private intend;
168
168
  private rollBack;
169
+ private replaying;
170
+ private orphans;
169
171
  private finishRenames;
172
+ private finishRename;
170
173
  settledRename(path: unknown): Promise<void>;
171
174
  private busyAt;
172
175
  private readonly copying;
@@ -38,6 +38,7 @@ export declare class RemoteWatch {
38
38
  private settled;
39
39
  quiet: (() => Promise<void>) | undefined;
40
40
  crowd: ((crowded: boolean) => void) | undefined;
41
+ gone: (() => void) | undefined;
41
42
  private told;
42
43
  private counted;
43
44
  private recount;
@@ -1,7 +1,8 @@
1
+ import { KernelError } from '../fd-table.js';
1
2
  import type { SealedBroker, SealedCaller } from '../sealed.js';
2
3
  import type { KernelSocket, LoopbackNet } from '../socket.js';
3
4
  import { type TlsClientInfo } from './tls-client.js';
4
- import { type TlsEngine } from './tls-engine.js';
5
+ import { type TlsEngine, type TlsSession } from './tls-engine.js';
5
6
  import type { ResolveFamily } from './uplink.js';
6
7
  export interface TlsClientSupport {
7
8
  engine: () => Promise<TlsEngine>;
@@ -50,7 +51,17 @@ export interface SecureSession {
50
51
  hostnameMatches?: boolean;
51
52
  chainError?: string;
52
53
  }
54
+ export declare function encryptedKey(key: Uint8Array): boolean;
55
+ export declare function keyRefused(err: unknown, locked: boolean): KernelError;
56
+ declare function takeCert(req: SecureRequest): {
57
+ chain: Uint8Array<ArrayBuffer>;
58
+ key: Uint8Array<ArrayBufferLike>;
59
+ pass: Uint8Array<ArrayBuffer>;
60
+ } | undefined;
61
+ type ClientCert = NonNullable<ReturnType<typeof takeCert>>;
62
+ export declare function withCert(session: TlsSession, cert: ClientCert | undefined): void;
53
63
  export declare function supportOf(net: LoopbackNet): TlsClientSupport;
54
64
  export declare function uplinkAddress(proc: SecureProcess, host: string): Promise<string>;
55
65
  export declare function connectSecure(proc: SecureProcess, socket: KernelSocket, host: string, port: number, req: SecureRequest): Promise<SecureSession>;
56
66
  export declare function upgradeSecure(proc: SecureProcess, socket: KernelSocket, req: SecureRequest): Promise<SecureSession>;
67
+ export {};
@@ -1,3 +1,5 @@
1
+ import { SHARED_TTL_MS } from '../../fs/changes.js';
2
+ export { SHARED_TTL_MS };
1
3
  import { type RangedWatch } from '../../fs/ranged.js';
2
4
  import type { DeviceAccess, KernelFdKind } from '../../kernel/fd-table.js';
3
5
  import { type SyncFsBridgeStat, type SyncFsFileIo, type SyncFsPosixBridge } from '../../realm/sync-fs-wire.js';
@@ -92,7 +94,6 @@ export declare function realOf(fs: Pick<SyncFsPosixBridge, 'lstat' | 'readlink'>
92
94
  export declare function resolveUnder(dir: string, path: string): string;
93
95
  export declare function pathInode(path: string): bigint;
94
96
  export declare const MISS_TTL_MS = 20;
95
- export declare const SHARED_TTL_MS = 100;
96
97
  export declare const FS_GEN = 4;
97
98
  export declare const CRED_GEN = 5;
98
99
  export declare const UMASK = 6;
@@ -7,6 +7,8 @@ interface LiveNodeState {
7
7
  watch?: RangedWatch | undefined;
8
8
  stat?: SyncFsBridgeStat;
9
9
  statAt?: number;
10
+ filledAt?: number;
11
+ statGen?: number;
10
12
  seenAt?: number;
11
13
  data?: Uint8Array;
12
14
  len: number;
@@ -18,6 +20,8 @@ interface LiveNodeState {
18
20
  kept?: boolean;
19
21
  id?: string;
20
22
  listed?: Map<string, SyncFsBridgeStat>;
23
+ listedAt?: number;
24
+ listedGen?: number | undefined;
21
25
  maxFile?: number;
22
26
  ranges?: boolean;
23
27
  ranged?: RangedFile;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-kernel",
3
- "version": "1.133.2",
3
+ "version": "1.133.4",
4
4
  "description": "SLICC's wasm-realm kernel: run Emscripten programs in the browser against OPFS, with fork, spawn, pipes and waitpid",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",