@secure-exec/core 0.1.1-rc.3 → 0.2.0-rc.2

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 (102) hide show
  1. package/dist/esm-compiler.d.ts +5 -1
  2. package/dist/esm-compiler.js +5 -1
  3. package/dist/fs-helpers.d.ts +1 -1
  4. package/dist/generated/isolate-runtime.d.ts +15 -15
  5. package/dist/generated/isolate-runtime.js +15 -15
  6. package/dist/index.d.ts +24 -5
  7. package/dist/index.js +23 -3
  8. package/dist/isolate-runtime/apply-custom-global-policy.js +3 -3
  9. package/dist/isolate-runtime/apply-timing-mitigation-freeze.js +2 -2
  10. package/dist/isolate-runtime/apply-timing-mitigation-off.js +2 -2
  11. package/dist/isolate-runtime/bridge-attach.js +2 -2
  12. package/dist/isolate-runtime/bridge-initial-globals.js +145 -6
  13. package/dist/isolate-runtime/eval-script-result.js +1 -1
  14. package/dist/isolate-runtime/global-exposure-helpers.js +2 -2
  15. package/dist/isolate-runtime/init-commonjs-module-globals.js +2 -2
  16. package/dist/isolate-runtime/override-process-cwd.js +1 -1
  17. package/dist/isolate-runtime/override-process-env.js +1 -1
  18. package/dist/isolate-runtime/require-setup.js +2868 -494
  19. package/dist/isolate-runtime/set-commonjs-file-globals.js +2 -2
  20. package/dist/isolate-runtime/set-stdin-data.js +1 -1
  21. package/dist/isolate-runtime/setup-dynamic-import.js +78 -19
  22. package/dist/isolate-runtime/setup-fs-facade.js +62 -23
  23. package/dist/kernel/command-registry.d.ts +44 -0
  24. package/dist/kernel/command-registry.js +114 -0
  25. package/dist/kernel/device-layer.d.ts +12 -0
  26. package/dist/kernel/device-layer.js +262 -0
  27. package/dist/kernel/dns-cache.d.ts +29 -0
  28. package/dist/kernel/dns-cache.js +52 -0
  29. package/dist/kernel/fd-table.d.ts +84 -0
  30. package/dist/kernel/fd-table.js +278 -0
  31. package/dist/kernel/file-lock.d.ts +34 -0
  32. package/dist/kernel/file-lock.js +122 -0
  33. package/dist/kernel/host-adapter.d.ts +50 -0
  34. package/dist/kernel/host-adapter.js +8 -0
  35. package/dist/kernel/index.d.ts +36 -0
  36. package/dist/kernel/index.js +34 -0
  37. package/dist/kernel/inode-table.d.ts +43 -0
  38. package/dist/kernel/inode-table.js +85 -0
  39. package/dist/kernel/kernel.d.ts +9 -0
  40. package/dist/kernel/kernel.js +1393 -0
  41. package/dist/kernel/permissions.d.ts +27 -0
  42. package/dist/kernel/permissions.js +118 -0
  43. package/dist/kernel/pipe-manager.d.ts +64 -0
  44. package/dist/kernel/pipe-manager.js +267 -0
  45. package/dist/kernel/proc-layer.d.ts +11 -0
  46. package/dist/kernel/proc-layer.js +501 -0
  47. package/dist/kernel/process-table.d.ts +124 -0
  48. package/dist/kernel/process-table.js +631 -0
  49. package/dist/kernel/pty.d.ts +108 -0
  50. package/dist/kernel/pty.js +541 -0
  51. package/dist/kernel/socket-table.d.ts +312 -0
  52. package/dist/kernel/socket-table.js +1188 -0
  53. package/dist/kernel/timer-table.d.ts +54 -0
  54. package/dist/kernel/timer-table.js +108 -0
  55. package/dist/kernel/types.d.ts +500 -0
  56. package/dist/kernel/types.js +89 -0
  57. package/dist/kernel/user.d.ts +29 -0
  58. package/dist/kernel/user.js +35 -0
  59. package/dist/kernel/vfs.d.ts +54 -0
  60. package/dist/kernel/vfs.js +8 -0
  61. package/dist/kernel/wait.d.ts +45 -0
  62. package/dist/kernel/wait.js +112 -0
  63. package/dist/kernel/wstatus.d.ts +21 -0
  64. package/dist/kernel/wstatus.js +33 -0
  65. package/dist/module-resolver.d.ts +4 -0
  66. package/dist/module-resolver.js +4 -0
  67. package/dist/package-bundler.d.ts +6 -1
  68. package/dist/runtime-driver.d.ts +3 -1
  69. package/dist/shared/bridge-contract.d.ts +349 -22
  70. package/dist/shared/bridge-contract.js +62 -5
  71. package/dist/shared/console-formatter.js +8 -4
  72. package/dist/shared/global-exposure.js +364 -19
  73. package/dist/shared/in-memory-fs.d.ts +33 -11
  74. package/dist/shared/in-memory-fs.js +439 -130
  75. package/dist/shared/permissions.d.ts +4 -6
  76. package/dist/shared/permissions.js +19 -39
  77. package/dist/types.d.ts +8 -159
  78. package/dist/types.js +5 -0
  79. package/package.json +12 -22
  80. package/dist/bridge/active-handles.d.ts +0 -22
  81. package/dist/bridge/active-handles.js +0 -55
  82. package/dist/bridge/child-process.d.ts +0 -99
  83. package/dist/bridge/child-process.js +0 -670
  84. package/dist/bridge/fs.d.ts +0 -281
  85. package/dist/bridge/fs.js +0 -2235
  86. package/dist/bridge/index.d.ts +0 -10
  87. package/dist/bridge/index.js +0 -41
  88. package/dist/bridge/module.d.ts +0 -75
  89. package/dist/bridge/module.js +0 -308
  90. package/dist/bridge/network.d.ts +0 -350
  91. package/dist/bridge/network.js +0 -2050
  92. package/dist/bridge/os.d.ts +0 -13
  93. package/dist/bridge/os.js +0 -256
  94. package/dist/bridge/polyfills.d.ts +0 -2
  95. package/dist/bridge/polyfills.js +0 -11
  96. package/dist/bridge/process.d.ts +0 -89
  97. package/dist/bridge/process.js +0 -1015
  98. package/dist/bridge.js +0 -12496
  99. package/dist/python-runtime.d.ts +0 -16
  100. package/dist/python-runtime.js +0 -45
  101. package/dist/runtime.d.ts +0 -31
  102. package/dist/runtime.js +0 -69
@@ -1,350 +0,0 @@
1
- import type * as nodeHttp from "http";
2
- interface FetchOptions {
3
- method?: string;
4
- headers?: Record<string, string>;
5
- body?: string | null;
6
- mode?: string;
7
- credentials?: string;
8
- cache?: string;
9
- redirect?: string;
10
- referrer?: string;
11
- integrity?: string;
12
- }
13
- interface FetchResponse {
14
- ok: boolean;
15
- status: number;
16
- statusText: string;
17
- headers: Map<string, string>;
18
- url: string;
19
- redirected: boolean;
20
- type: string;
21
- text(): Promise<string>;
22
- json(): Promise<unknown>;
23
- arrayBuffer(): Promise<ArrayBuffer>;
24
- blob(): Promise<never>;
25
- clone(): FetchResponse;
26
- }
27
- export declare function fetch(input: string | URL | Request, options?: FetchOptions): Promise<FetchResponse>;
28
- export declare class Headers {
29
- private _headers;
30
- constructor(init?: HeadersInit | Headers | Record<string, string> | [string, string][]);
31
- get(name: string): string | null;
32
- set(name: string, value: string): void;
33
- has(name: string): boolean;
34
- delete(name: string): void;
35
- entries(): IterableIterator<[string, string]>;
36
- [Symbol.iterator](): IterableIterator<[string, string]>;
37
- keys(): IterableIterator<string>;
38
- values(): IterableIterator<string>;
39
- forEach(callback: (value: string, key: string, parent: Headers) => void): void;
40
- }
41
- export declare class Request {
42
- url: string;
43
- method: string;
44
- headers: Headers;
45
- body: string | null;
46
- mode: string;
47
- credentials: string;
48
- cache: string;
49
- redirect: string;
50
- referrer: string;
51
- integrity: string;
52
- constructor(input: string | Request, init?: FetchOptions);
53
- clone(): Request;
54
- }
55
- export declare class Response {
56
- private _body;
57
- status: number;
58
- statusText: string;
59
- headers: Headers;
60
- ok: boolean;
61
- type: string;
62
- url: string;
63
- redirected: boolean;
64
- constructor(body?: string | null, init?: {
65
- status?: number;
66
- statusText?: string;
67
- headers?: Record<string, string>;
68
- });
69
- text(): Promise<string>;
70
- json(): Promise<unknown>;
71
- clone(): Response;
72
- static error(): Response;
73
- static redirect(url: string, status?: number): Response;
74
- }
75
- type DnsCallback = (err: Error | null, address?: string, family?: number) => void;
76
- type DnsResolveCallback = (err: Error | null, addresses?: string[]) => void;
77
- export declare const dns: {
78
- lookup(hostname: string, options: unknown, callback?: DnsCallback): void;
79
- resolve(hostname: string, rrtype: string | DnsResolveCallback, callback?: DnsResolveCallback): void;
80
- resolve4(hostname: string, callback: DnsResolveCallback): void;
81
- resolve6(hostname: string, callback: DnsResolveCallback): void;
82
- promises: {
83
- lookup(hostname: string, _options?: unknown): Promise<{
84
- address: string;
85
- family: number;
86
- }>;
87
- resolve(hostname: string, rrtype?: string): Promise<string[]>;
88
- };
89
- };
90
- type EventListener = (...args: unknown[]) => void;
91
- /**
92
- * Polyfill of Node.js `http.IncomingMessage` (client-side response). Buffers
93
- * the response body eagerly and emits `data`/`end` events on listener
94
- * registration (flowing mode). Supports base64 binary decoding via
95
- * `x-body-encoding` header.
96
- */
97
- export declare class IncomingMessage {
98
- headers: Record<string, string>;
99
- rawHeaders: string[];
100
- trailers: Record<string, string>;
101
- rawTrailers: string[];
102
- httpVersion: string;
103
- httpVersionMajor: number;
104
- httpVersionMinor: number;
105
- method: string | null;
106
- url: string;
107
- statusCode: number | undefined;
108
- statusMessage: string | undefined;
109
- private _body;
110
- private _isBinary;
111
- private _listeners;
112
- complete: boolean;
113
- aborted: boolean;
114
- socket: null;
115
- private _bodyConsumed;
116
- private _ended;
117
- private _flowing;
118
- readable: boolean;
119
- readableEnded: boolean;
120
- readableFlowing: boolean | null;
121
- destroyed: boolean;
122
- private _encoding?;
123
- constructor(response?: {
124
- headers?: Record<string, string>;
125
- url?: string;
126
- status?: number;
127
- statusText?: string;
128
- body?: string;
129
- trailers?: Record<string, string>;
130
- });
131
- on(event: string, listener: EventListener): this;
132
- once(event: string, listener: EventListener): this;
133
- off(event: string, listener: EventListener): this;
134
- removeListener(event: string, listener: EventListener): this;
135
- removeAllListeners(event?: string): this;
136
- emit(event: string, ...args: unknown[]): boolean;
137
- setEncoding(encoding: string): this;
138
- read(_size?: number): string | Buffer | null;
139
- pipe<T extends NodeJS.WritableStream>(dest: T): T;
140
- pause(): this;
141
- resume(): this;
142
- unpipe(_dest?: NodeJS.WritableStream): this;
143
- destroy(err?: Error): this;
144
- [Symbol.asyncIterator](): AsyncIterator<string | Buffer>;
145
- }
146
- /**
147
- * Polyfill of Node.js `http.ClientRequest`. Executes the request asynchronously
148
- * via the `_networkHttpRequestRaw` bridge and emits a `response` event with
149
- * an IncomingMessage. Supports Agent-based connection pooling, socket events,
150
- * HTTP upgrade (101), and trailer headers.
151
- */
152
- export declare class ClientRequest {
153
- private _options;
154
- private _callback?;
155
- private _listeners;
156
- private _body;
157
- private _bodyBytes;
158
- private _ended;
159
- private _agent;
160
- private _hostKey;
161
- socket: FakeSocket;
162
- finished: boolean;
163
- aborted: boolean;
164
- constructor(options: nodeHttp.RequestOptions, callback?: (res: IncomingMessage) => void);
165
- private _execute;
166
- private _buildUrl;
167
- on(event: string, listener: EventListener): this;
168
- once(event: string, listener: EventListener): this;
169
- off(event: string, listener: EventListener): this;
170
- private _emit;
171
- write(data: string): boolean;
172
- end(data?: string): this;
173
- abort(): void;
174
- setTimeout(_timeout: number): this;
175
- setNoDelay(): this;
176
- setSocketKeepAlive(): this;
177
- flushHeaders(): void;
178
- }
179
- declare class FakeSocket {
180
- remoteAddress: string;
181
- remotePort: number;
182
- localAddress: string;
183
- localPort: number;
184
- connecting: boolean;
185
- destroyed: boolean;
186
- writable: boolean;
187
- readable: boolean;
188
- private _listeners;
189
- constructor(options?: {
190
- host?: string;
191
- port?: number;
192
- });
193
- setTimeout(_ms: number, _cb?: () => void): this;
194
- setNoDelay(_noDelay?: boolean): this;
195
- setKeepAlive(_enable?: boolean, _delay?: number): this;
196
- on(event: string, listener: EventListener): this;
197
- once(event: string, listener: EventListener): this;
198
- off(event: string, listener: EventListener): this;
199
- removeListener(event: string, listener: EventListener): this;
200
- emit(event: string, ...args: unknown[]): boolean;
201
- write(_data: unknown): boolean;
202
- end(): this;
203
- destroy(): this;
204
- }
205
- export declare const http: Record<string, unknown>;
206
- export declare const https: Record<string, unknown>;
207
- export declare const http2: {
208
- Http2ServerRequest: {
209
- new (): {};
210
- };
211
- Http2ServerResponse: {
212
- new (): {};
213
- };
214
- createServer(): never;
215
- createSecureServer(): never;
216
- };
217
- declare class NetSocket {
218
- remoteAddress: string;
219
- remotePort: number;
220
- remoteFamily: string;
221
- localAddress: string;
222
- localPort: number;
223
- connecting: boolean;
224
- pending: boolean;
225
- destroyed: boolean;
226
- writable: boolean;
227
- readable: boolean;
228
- readyState: "opening" | "open" | "readOnly" | "writeOnly" | "closed";
229
- bytesRead: number;
230
- bytesWritten: number;
231
- private _listeners;
232
- /** @internal socket ID shared with TLS upgrade bridge */
233
- _socketId: number;
234
- private _connectHost;
235
- private _connectPort;
236
- _readableState: {
237
- endEmitted: boolean;
238
- ended: boolean;
239
- };
240
- _writableState: {
241
- finished: boolean;
242
- errorEmitted: boolean;
243
- ended: boolean;
244
- };
245
- constructor(_options?: Record<string, unknown>);
246
- connect(...args: unknown[]): this;
247
- setTimeout(_ms: number, _cb?: () => void): this;
248
- setNoDelay(_noDelay?: boolean): this;
249
- setKeepAlive(_enable?: boolean, _delay?: number): this;
250
- setMaxListeners(_n: number): this;
251
- getMaxListeners(): number;
252
- ref(): this;
253
- unref(): this;
254
- cork(): void;
255
- uncork(): void;
256
- pause(): this;
257
- resume(): this;
258
- pipe<T>(destination: T): T;
259
- address(): {
260
- address: string;
261
- family: string;
262
- port: number;
263
- };
264
- listeners(event: string): EventListener[];
265
- rawListeners(event: string): EventListener[];
266
- eventNames(): string[];
267
- prependListener(event: string, listener: EventListener): this;
268
- prependOnceListener(event: string, listener: EventListener): this;
269
- on(event: string, listener: EventListener): this;
270
- addListener(event: string, listener: EventListener): this;
271
- once(event: string, listener: EventListener): this;
272
- off(event: string, listener: EventListener): this;
273
- removeListener(event: string, listener: EventListener): this;
274
- removeAllListeners(event?: string): this;
275
- emit(event: string, ...args: unknown[]): boolean;
276
- listenerCount(event: string): number;
277
- [key: string | symbol]: unknown;
278
- write(data: unknown, encodingOrCb?: string | (() => void), cb?: (() => void)): boolean;
279
- end(data?: unknown, encodingOrCb?: string | (() => void), cb?: (() => void)): this;
280
- destroy(err?: Error): this;
281
- _onConnect(): void;
282
- _onData(dataBase64: string): void;
283
- _onEnd(): void;
284
- _onError(message: string): void;
285
- _onClose(hadError: boolean): void;
286
- private _cleanup;
287
- }
288
- declare function netIsIP(input: string): number;
289
- export declare const net: {
290
- Socket: typeof import("net").Socket;
291
- connect(portOrOpts: number | Record<string, unknown>, hostOrCb?: string | (() => void), cb?: () => void): NetSocket;
292
- createConnection(portOrOpts: number | Record<string, unknown>, hostOrCb?: string | (() => void), cb?: () => void): NetSocket;
293
- createServer(): never;
294
- isIP: typeof netIsIP;
295
- isIPv4(input: string): boolean;
296
- isIPv6(input: string): boolean;
297
- };
298
- export declare const tlsModule: {
299
- TLSSocket: typeof import("tls").TLSSocket;
300
- connect(options: Record<string, unknown>): NetSocket;
301
- createSecureContext(_options?: Record<string, unknown>): Record<string, unknown>;
302
- };
303
- declare const _default: {
304
- fetch: typeof fetch;
305
- Headers: typeof Headers;
306
- Request: typeof Request;
307
- Response: typeof Response;
308
- dns: {
309
- lookup(hostname: string, options: unknown, callback?: DnsCallback): void;
310
- resolve(hostname: string, rrtype: string | DnsResolveCallback, callback?: DnsResolveCallback): void;
311
- resolve4(hostname: string, callback: DnsResolveCallback): void;
312
- resolve6(hostname: string, callback: DnsResolveCallback): void;
313
- promises: {
314
- lookup(hostname: string, _options?: unknown): Promise<{
315
- address: string;
316
- family: number;
317
- }>;
318
- resolve(hostname: string, rrtype?: string): Promise<string[]>;
319
- };
320
- };
321
- http: Record<string, unknown>;
322
- https: Record<string, unknown>;
323
- http2: {
324
- Http2ServerRequest: {
325
- new (): {};
326
- };
327
- Http2ServerResponse: {
328
- new (): {};
329
- };
330
- createServer(): never;
331
- createSecureServer(): never;
332
- };
333
- net: {
334
- Socket: typeof import("net").Socket;
335
- connect(portOrOpts: number | Record<string, unknown>, hostOrCb?: string | (() => void), cb?: () => void): NetSocket;
336
- createConnection(portOrOpts: number | Record<string, unknown>, hostOrCb?: string | (() => void), cb?: () => void): NetSocket;
337
- createServer(): never;
338
- isIP: typeof netIsIP;
339
- isIPv4(input: string): boolean;
340
- isIPv6(input: string): boolean;
341
- };
342
- tls: {
343
- TLSSocket: typeof import("tls").TLSSocket;
344
- connect(options: Record<string, unknown>): NetSocket;
345
- createSecureContext(_options?: Record<string, unknown>): Record<string, unknown>;
346
- };
347
- IncomingMessage: typeof IncomingMessage;
348
- ClientRequest: typeof ClientRequest;
349
- };
350
- export default _default;