@ai-ecoverse/slicc-kernel 1.163.0 → 1.164.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.
@@ -441,6 +441,7 @@ export declare class Launcher {
441
441
  private peerKept;
442
442
  private unadopt;
443
443
  private adoptKept;
444
+ private announceHeld;
444
445
  private rootFileId;
445
446
  private flushingPeers;
446
447
  private rewritten;
@@ -56,6 +56,7 @@ export declare class HeldSet extends Set<HeldPaths> {
56
56
  add(holds: HeldPaths): this;
57
57
  doubt(paths: readonly string[], over?: string): void;
58
58
  bindIds(id: (path: string) => Promise<string | undefined> | undefined): Promise<void>;
59
+ heldIds(): Array<[string, string | undefined]>;
59
60
  delete(holds: HeldPaths): boolean;
60
61
  }
61
62
  export declare function heldUnder(held: Iterable<Map<string, number>>, target: string): boolean;
@@ -87,6 +88,7 @@ export declare class HeldPaths extends Map<string, number> implements UnlinkHold
87
88
  doubt: number;
88
89
  } | undefined;
89
90
  bindIds(id: (path: string) => Promise<string | undefined> | undefined): Promise<void>;
91
+ heldIds(): Array<[string, string | undefined]>;
90
92
  trust(handle: number, doubt: number): void;
91
93
  pathOf(handle: number): string | undefined;
92
94
  keptFor(handle: number): KeptFile | undefined;
@@ -55,6 +55,12 @@ export interface JsPromiseState {
55
55
  value: unknown;
56
56
  }
57
57
  export type JsStackFormatter = (error: unknown, callSites: readonly object[]) => unknown;
58
+ export interface JsErrorSource {
59
+ sourceLine: string;
60
+ lineNumber: number;
61
+ startColumn: number;
62
+ }
63
+ export type JsErrorSourceProbe = (error: unknown) => JsErrorSource | undefined;
58
64
  export type JsStackHook = (fn: JsStackFormatter | null) => JsStackFormatter | null;
59
65
  export type JsPromiseProbe = (promise: unknown) => JsPromiseState | undefined;
60
66
  export interface JsProgramContext {
@@ -188,6 +194,7 @@ export interface ContextOptions {
188
194
  modulePath?: string | undefined;
189
195
  promiseState?: JsPromiseProbe | undefined;
190
196
  stackFormatter?: JsStackHook | undefined;
197
+ errorSource?: JsErrorSourceProbe | undefined;
191
198
  fs?: {
192
199
  owners: boolean;
193
200
  links: boolean;
@@ -55,6 +55,11 @@ export interface JsSyncContext {
55
55
  value: unknown;
56
56
  } | undefined;
57
57
  setStackFormatter?(fn: ((error: unknown, callSites: readonly object[]) => unknown) | null): ((error: unknown, callSites: readonly object[]) => unknown) | null;
58
+ errorSource?(error: unknown): {
59
+ sourceLine: string;
60
+ lineNumber: number;
61
+ startColumn: number;
62
+ } | undefined;
58
63
  read(fd: number, max?: number): Uint8Array;
59
64
  write(fd: number, data: Uint8Array | string, options?: JsWriteOptions): number;
60
65
  close(fd: number): void;
@@ -113,6 +118,6 @@ export declare class JsSyncKernel {
113
118
  bytes(req: SyncSabRequestBody): Uint8Array;
114
119
  blocking(req: SyncSabRequestBody): SyncFsResult;
115
120
  }
116
- export declare function syncOps(kernel: JsSyncKernel, shared: SyncShared): Omit<JsSyncContext, 'run' | 'spawn' | 'exit' | 'kill' | 'cred' | 'setcred' | 'kernel' | 'umask' | 'fs' | 'tty' | 'wasi' | 'net' | 'runScript' | 'promiseState' | 'setStackFormatter'> & {
121
+ export declare function syncOps(kernel: JsSyncKernel, shared: SyncShared): Omit<JsSyncContext, 'run' | 'spawn' | 'exit' | 'kill' | 'cred' | 'setcred' | 'kernel' | 'umask' | 'fs' | 'tty' | 'wasi' | 'net' | 'runScript' | 'promiseState' | 'setStackFormatter' | 'errorSource'> & {
117
122
  fs: Omit<JsSyncContext['fs'], 'watch'>;
118
123
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-kernel",
3
- "version": "1.163.0",
3
+ "version": "1.164.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",