@ai-ecoverse/slicc-kernel 1.120.1 → 1.121.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.
@@ -5,6 +5,7 @@ export declare class FileChanges {
5
5
  private readonly view;
6
6
  constructor(sab?: SharedArrayBuffer);
7
7
  dirtied(delta: number): void;
8
+ foreign(on: boolean): void;
8
9
  publish(...paths: string[]): void;
9
10
  }
10
11
  export declare class ChangeView {
@@ -12,6 +13,7 @@ export declare class ChangeView {
12
13
  constructor(sab: SharedArrayBuffer);
13
14
  now(): number;
14
15
  clean(): boolean;
16
+ foreign(): boolean;
15
17
  changedSince(seen: number, path: string): {
16
18
  now: number;
17
19
  changed: boolean;
@@ -1,6 +1,6 @@
1
1
  import { type MetaStore } from './meta.js';
2
2
  import { type LockManagerLike, type RemoteListener } from './remote.js';
3
- import { type FsStat, type KernelFs, type NewOwner, type OwnerChange, type Perm } from './types.js';
3
+ import { type FsStat, type KernelFs, type NewOwner, type OwnerChange, type Peers, type Perm } from './types.js';
4
4
  export type OpfsOp = 'lookup' | 'read' | 'write' | 'commit' | 'sidecar';
5
5
  export declare function translate(err: unknown, path: string, op?: OpfsOp, mapped?: boolean): Error;
6
6
  export interface WriteSession {
@@ -66,10 +66,7 @@ export declare class OpfsFs implements KernelFs {
66
66
  private alone;
67
67
  private settle;
68
68
  onPeer(settle: () => Promise<void>): void;
69
- peers(): {
70
- joined(): Promise<unknown>;
71
- crowded(): boolean;
72
- } | undefined;
69
+ peers(): Peers | undefined;
73
70
  private quiet;
74
71
  private locked;
75
72
  chown(path: string, change: OwnerChange): Promise<void>;
@@ -31,6 +31,9 @@ export declare class RemoteWatch {
31
31
  private met;
32
32
  private settled;
33
33
  quiet: (() => Promise<void>) | undefined;
34
+ crowd: ((crowded: boolean) => void) | undefined;
35
+ private told;
36
+ private recount;
34
37
  constructor(name: string, options?: {
35
38
  locks?: LockManagerLike | null;
36
39
  });
@@ -49,6 +49,11 @@ export interface HeldEntry {
49
49
  writeFile: KernelFs['writeFile'];
50
50
  direct: boolean;
51
51
  }
52
+ export interface Peers {
53
+ joined(): Promise<unknown>;
54
+ crowded(): boolean;
55
+ watch(listener: (crowded: boolean) => void): void;
56
+ }
52
57
  export interface KernelFs {
53
58
  resolvePath(base: string, path: string): string;
54
59
  exclusive?<T>(path: string, run: (held: HeldEntry) => Promise<T>, follow?: boolean): Promise<T>;
@@ -80,10 +85,7 @@ export interface KernelFs {
80
85
  chown?(path: string, change: OwnerChange): Promise<void>;
81
86
  trackOwners?(): void;
82
87
  onPeer?(settle: () => Promise<void>): void;
83
- peers?(): {
84
- joined(): Promise<unknown>;
85
- crowded(): boolean;
86
- } | undefined;
88
+ peers?(): Peers | undefined;
87
89
  crossings?(mounted: (path: string) => boolean): void;
88
90
  ancestry?(path: string): Promise<Array<Perm | undefined>>;
89
91
  hasOwner?(path: string): Promise<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-kernel",
3
- "version": "1.120.1",
3
+ "version": "1.121.0",
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",