@ai-ecoverse/slicc-kernel 1.182.0 → 1.183.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 (37) hide show
  1. package/README.md +54 -5
  2. package/dist/driver-worker.js +290 -90
  3. package/dist/driver-worker.js.map +4 -4
  4. package/dist/index.js +328 -102
  5. package/dist/index.js.map +4 -4
  6. package/dist/kernel-worker.js +1705 -695
  7. package/dist/kernel-worker.js.map +4 -4
  8. package/dist/node-driver-worker.js +298 -98
  9. package/dist/node-driver-worker.js.map +4 -4
  10. package/dist/node-process-worker.cjs +849 -193
  11. package/dist/node-process-worker.cjs.map +4 -4
  12. package/dist/node-process-worker.js +849 -193
  13. package/dist/node-process-worker.js.map +4 -4
  14. package/dist/node.js +1875 -743
  15. package/dist/node.js.map +4 -4
  16. package/dist/process-worker.js +805 -149
  17. package/dist/process-worker.js.map +4 -4
  18. package/dist/types/client/attach.d.ts +2 -0
  19. package/dist/types/client/protocol.d.ts +1 -0
  20. package/dist/types/client/serve-client.d.ts +1 -0
  21. package/dist/types/devices-relay.d.ts +74 -0
  22. package/dist/types/index.d.ts +14 -0
  23. package/dist/types/kernel/devices.d.ts +155 -0
  24. package/dist/types/kernel/embedder.d.ts +2 -0
  25. package/dist/types/kernel/fd-table.d.ts +3 -1
  26. package/dist/types/kernel/host.d.ts +2 -0
  27. package/dist/types/kernel/process.d.ts +20 -0
  28. package/dist/types/kernel/serial-ioctl.d.ts +73 -0
  29. package/dist/types/launcher.d.ts +4 -0
  30. package/dist/types/node.d.ts +6 -2
  31. package/dist/types/process/js/js-dev.d.ts +24 -0
  32. package/dist/types/process/kernel-streams.d.ts +11 -1
  33. package/dist/types/process/process-pty.d.ts +1 -0
  34. package/dist/types/process/wasi/wasi-fds.d.ts +1 -0
  35. package/dist/types/process/wasi/wasi-termios.d.ts +1 -0
  36. package/dist/types/serve.d.ts +14 -1
  37. package/package.json +2 -2
@@ -4,6 +4,7 @@ import { type MetaStore } from './fs/meta.js';
4
4
  import { type Portable } from './fs/portable.js';
5
5
  import { type ProtectInit } from './fs/protect.js';
6
6
  import { type UsersMode } from './fs/types.js';
7
+ import type { DeviceSpec } from './kernel/devices.js';
7
8
  import type { EmbedderKindPolicy } from './kernel/embedder.js';
8
9
  import type { WasmWorkerLike } from './kernel/host.js';
9
10
  import type { RouteTable } from './kernel/net/routes.js';
@@ -49,6 +50,7 @@ export interface InitRequest {
49
50
  sealedFetch?: boolean;
50
51
  clipboard?: boolean;
51
52
  requests?: Record<string, EmbedderKindPolicy>;
53
+ devices?: boolean;
52
54
  approve?: boolean;
53
55
  processMounts?: boolean | 'ask';
54
56
  cdp?: boolean;
@@ -103,7 +105,18 @@ export interface ConnectRequest {
103
105
  user?: string | number;
104
106
  tag?: string;
105
107
  requests?: Record<string, EmbedderKindPolicy> | 'attach';
108
+ devices?: true | 'attach';
106
109
  }
110
+ export type DevicesRequest = {
111
+ id: number;
112
+ op: 'devices-add';
113
+ spec: DeviceSpec;
114
+ client: number;
115
+ } | {
116
+ id: number;
117
+ op: 'devices-remove';
118
+ node: number;
119
+ };
107
120
  export type UsersRequest = {
108
121
  id: number;
109
122
  op: 'users-add';
@@ -196,7 +209,7 @@ export type KernelRequest = {
196
209
  id: number;
197
210
  op: 'sealed-placeholders';
198
211
  list: readonly string[];
199
- } | AttestRequest | InitRequest | RunRequest | OpenTerminalRequest | SudoRunKernelRequest | TerminalRequest | ConnectRequest | UsersRequest | MountRequest | DialRequest | RoutesRequest | TraitsRequest;
212
+ } | AttestRequest | InitRequest | RunRequest | OpenTerminalRequest | SudoRunKernelRequest | TerminalRequest | ConnectRequest | DevicesRequest | UsersRequest | MountRequest | DialRequest | RoutesRequest | TraitsRequest;
200
213
  type WithoutId<T> = T extends unknown ? Omit<T, 'id'> : never;
201
214
  export type KernelCall = WithoutId<KernelRequest>;
202
215
  export declare function inOpfs(deps: ServeDeps, root: FileSystemDirectoryHandle): Promise<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-kernel",
3
- "version": "1.182.0",
3
+ "version": "1.183.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",
@@ -71,7 +71,7 @@
71
71
  "devDependencies": {
72
72
  "@ai-ecoverse/py-numpy": "2.5.4-4",
73
73
  "@ai-ecoverse/slicc-cdp": "1.49.0",
74
- "@ai-ecoverse/slicc-scrub": "1.1.0",
74
+ "@ai-ecoverse/slicc-scrub": "1.1.1",
75
75
  "@ai-ecoverse/slicc-shared-web": "2.14.2",
76
76
  "@ai-ecoverse/wasi-cargo": "0.99.0-6",
77
77
  "@ai-ecoverse/wasi-pnpm": "12.9.1-21",