@gadgetinc/substrate 0.1.0-rc.1
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.
- package/dist/assets/kernel.wasm +0 -0
- package/dist/assets/manifest.json +32 -0
- package/dist/assets/network-driver.js +2 -0
- package/dist/assets/network-driver.js.map +1 -0
- package/dist/assets/runtime.js +264 -0
- package/dist/assets/runtime.js.map +1 -0
- package/dist/binaries.d.ts +58 -0
- package/dist/binaries.d.ts.map +1 -0
- package/dist/boot/index.d.ts +318 -0
- package/dist/boot/index.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4589 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/bridge.d.ts +64 -0
- package/dist/kernel/bridge.d.ts.map +1 -0
- package/dist/kernel/types.d.ts +518 -0
- package/dist/kernel/types.d.ts.map +1 -0
- package/dist/kernel/wasm.d.ts +20 -0
- package/dist/kernel/wasm.d.ts.map +1 -0
- package/dist/node/assert.d.ts +99 -0
- package/dist/node/assert.d.ts.map +1 -0
- package/dist/node/async_hooks.d.ts +88 -0
- package/dist/node/async_hooks.d.ts.map +1 -0
- package/dist/node/buffer.d.ts +62 -0
- package/dist/node/buffer.d.ts.map +1 -0
- package/dist/node/child_process.d.ts +300 -0
- package/dist/node/child_process.d.ts.map +1 -0
- package/dist/node/cluster.d.ts +37 -0
- package/dist/node/cluster.d.ts.map +1 -0
- package/dist/node/constants.d.ts +306 -0
- package/dist/node/constants.d.ts.map +1 -0
- package/dist/node/crypto.d.ts +176 -0
- package/dist/node/crypto.d.ts.map +1 -0
- package/dist/node/dgram.d.ts +44 -0
- package/dist/node/dgram.d.ts.map +1 -0
- package/dist/node/diagnostics_channel.d.ts +57 -0
- package/dist/node/diagnostics_channel.d.ts.map +1 -0
- package/dist/node/dns.d.ts +278 -0
- package/dist/node/dns.d.ts.map +1 -0
- package/dist/node/domain.d.ts +21 -0
- package/dist/node/domain.d.ts.map +1 -0
- package/dist/node/events.d.ts +54 -0
- package/dist/node/events.d.ts.map +1 -0
- package/dist/node/fs/promises.d.ts +116 -0
- package/dist/node/fs/promises.d.ts.map +1 -0
- package/dist/node/fs.d.ts +536 -0
- package/dist/node/fs.d.ts.map +1 -0
- package/dist/node/http.d.ts +471 -0
- package/dist/node/http.d.ts.map +1 -0
- package/dist/node/http2.d.ts +508 -0
- package/dist/node/http2.d.ts.map +1 -0
- package/dist/node/https.d.ts +42 -0
- package/dist/node/https.d.ts.map +1 -0
- package/dist/node/inspector.d.ts +25 -0
- package/dist/node/inspector.d.ts.map +1 -0
- package/dist/node/net.d.ts +231 -0
- package/dist/node/net.d.ts.map +1 -0
- package/dist/node/os.d.ts +318 -0
- package/dist/node/os.d.ts.map +1 -0
- package/dist/node/path.d.ts +144 -0
- package/dist/node/path.d.ts.map +1 -0
- package/dist/node/process.d.ts +105 -0
- package/dist/node/process.d.ts.map +1 -0
- package/dist/node/punycode.d.ts +34 -0
- package/dist/node/punycode.d.ts.map +1 -0
- package/dist/node/querystring.d.ts +49 -0
- package/dist/node/querystring.d.ts.map +1 -0
- package/dist/node/readline.d.ts +99 -0
- package/dist/node/readline.d.ts.map +1 -0
- package/dist/node/stream.d.ts +409 -0
- package/dist/node/stream.d.ts.map +1 -0
- package/dist/node/string_decoder.d.ts +46 -0
- package/dist/node/string_decoder.d.ts.map +1 -0
- package/dist/node/timers.d.ts +79 -0
- package/dist/node/timers.d.ts.map +1 -0
- package/dist/node/tls.d.ts +159 -0
- package/dist/node/tls.d.ts.map +1 -0
- package/dist/node/trace_events.d.ts +18 -0
- package/dist/node/trace_events.d.ts.map +1 -0
- package/dist/node/tty.d.ts +67 -0
- package/dist/node/tty.d.ts.map +1 -0
- package/dist/node/url.d.ts +85 -0
- package/dist/node/url.d.ts.map +1 -0
- package/dist/node/util.d.ts +252 -0
- package/dist/node/util.d.ts.map +1 -0
- package/dist/node/v8.d.ts +134 -0
- package/dist/node/v8.d.ts.map +1 -0
- package/dist/node/vm.d.ts +89 -0
- package/dist/node/vm.d.ts.map +1 -0
- package/dist/node/wasi.d.ts +25 -0
- package/dist/node/wasi.d.ts.map +1 -0
- package/dist/node/worker_threads.d.ts +206 -0
- package/dist/node/worker_threads.d.ts.map +1 -0
- package/dist/node/ws.d.ts +110 -0
- package/dist/node/ws.d.ts.map +1 -0
- package/dist/node/zlib.d.ts +328 -0
- package/dist/node/zlib.d.ts.map +1 -0
- package/dist/persistence/opfs-store.d.ts +93 -0
- package/dist/persistence/opfs-store.d.ts.map +1 -0
- package/dist/runtime/async-function-shim.d.ts +27 -0
- package/dist/runtime/async-function-shim.d.ts.map +1 -0
- package/dist/runtime/fs-interface.d.ts +60 -0
- package/dist/runtime/fs-interface.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +113 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/loader.d.ts +50 -0
- package/dist/runtime/loader.d.ts.map +1 -0
- package/dist/runtime/loaders/async-transform.d.ts +40 -0
- package/dist/runtime/loaders/async-transform.d.ts.map +1 -0
- package/dist/runtime/loaders/cjs.d.ts +37 -0
- package/dist/runtime/loaders/cjs.d.ts.map +1 -0
- package/dist/runtime/loaders/detect-module-type.d.ts +21 -0
- package/dist/runtime/loaders/detect-module-type.d.ts.map +1 -0
- package/dist/runtime/loaders/esm.d.ts +140 -0
- package/dist/runtime/loaders/esm.d.ts.map +1 -0
- package/dist/runtime/loaders/source-map-registry.d.ts +43 -0
- package/dist/runtime/loaders/source-map-registry.d.ts.map +1 -0
- package/dist/runtime/loaders/source-map.d.ts +50 -0
- package/dist/runtime/loaders/source-map.d.ts.map +1 -0
- package/dist/runtime/loaders/utils.d.ts +6 -0
- package/dist/runtime/loaders/utils.d.ts.map +1 -0
- package/dist/runtime/native-globals.d.ts +24 -0
- package/dist/runtime/native-globals.d.ts.map +1 -0
- package/dist/runtime/network-driver.d.ts +78 -0
- package/dist/runtime/network-driver.d.ts.map +1 -0
- package/dist/runtime/process-context.d.ts +96 -0
- package/dist/runtime/process-context.d.ts.map +1 -0
- package/dist/runtime/process-event-loop.d.ts +356 -0
- package/dist/runtime/process-event-loop.d.ts.map +1 -0
- package/dist/runtime/process-handler.d.ts +71 -0
- package/dist/runtime/process-handler.d.ts.map +1 -0
- package/dist/runtime/process-handlers/node.d.ts +22 -0
- package/dist/runtime/process-handlers/node.d.ts.map +1 -0
- package/dist/runtime/process-handlers/npm.d.ts +20 -0
- package/dist/runtime/process-handlers/npm.d.ts.map +1 -0
- package/dist/runtime/process-handlers/npx.d.ts +11 -0
- package/dist/runtime/process-handlers/npx.d.ts.map +1 -0
- package/dist/runtime/process-handlers/pnpm.d.ts +12 -0
- package/dist/runtime/process-handlers/pnpm.d.ts.map +1 -0
- package/dist/runtime/process-handlers/shell.d.ts +24 -0
- package/dist/runtime/process-handlers/shell.d.ts.map +1 -0
- package/dist/runtime/process-handlers/yarn.d.ts +12 -0
- package/dist/runtime/process-handlers/yarn.d.ts.map +1 -0
- package/dist/runtime/process-helpers.d.ts +17 -0
- package/dist/runtime/process-helpers.d.ts.map +1 -0
- package/dist/runtime/process-manager.d.ts +87 -0
- package/dist/runtime/process-manager.d.ts.map +1 -0
- package/dist/runtime/process-scheduler.d.ts +123 -0
- package/dist/runtime/process-scheduler.d.ts.map +1 -0
- package/dist/runtime/process-waker.d.ts +24 -0
- package/dist/runtime/process-waker.d.ts.map +1 -0
- package/dist/runtime/promise.d.ts +44 -0
- package/dist/runtime/promise.d.ts.map +1 -0
- package/dist/runtime/stack-trace.d.ts +52 -0
- package/dist/runtime/stack-trace.d.ts.map +1 -0
- package/dist/runtime/wasm-package-interceptor.d.ts +141 -0
- package/dist/runtime/wasm-package-interceptor.d.ts.map +1 -0
- package/dist/runtime/web-streams.d.ts +57 -0
- package/dist/runtime/web-streams.d.ts.map +1 -0
- package/dist/runtime/websocket.d.ts +102 -0
- package/dist/runtime/websocket.d.ts.map +1 -0
- package/dist/shim/websocket-shim-inline.d.ts +9 -0
- package/dist/shim/websocket-shim-inline.d.ts.map +1 -0
- package/dist/shim/websocket-shim.d.ts +15 -0
- package/dist/shim/websocket-shim.d.ts.map +1 -0
- package/dist/sw/index.d.ts +53 -0
- package/dist/sw/index.d.ts.map +1 -0
- package/dist/utils/debug.d.ts +75 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/path.d.ts +20 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/tarball.d.ts +37 -0
- package/dist/utils/tarball.d.ts.map +1 -0
- package/dist/utils/websocket-protocol.d.ts +102 -0
- package/dist/utils/websocket-protocol.d.ts.map +1 -0
- package/dist/worker/host.d.ts +14 -0
- package/dist/worker/host.d.ts.map +1 -0
- package/dist/worker/types.d.ts +209 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js v8 module implementation for Substrate
|
|
3
|
+
*
|
|
4
|
+
* Provides stubs for V8 engine APIs that aren't available in browser.
|
|
5
|
+
*/
|
|
6
|
+
import { Buffer } from "./buffer.js";
|
|
7
|
+
export interface HeapStatistics {
|
|
8
|
+
total_heap_size: number;
|
|
9
|
+
total_heap_size_executable: number;
|
|
10
|
+
total_physical_size: number;
|
|
11
|
+
total_available_size: number;
|
|
12
|
+
used_heap_size: number;
|
|
13
|
+
heap_size_limit: number;
|
|
14
|
+
malloced_memory: number;
|
|
15
|
+
peak_malloced_memory: number;
|
|
16
|
+
does_zap_garbage: number;
|
|
17
|
+
number_of_native_contexts: number;
|
|
18
|
+
number_of_detached_contexts: number;
|
|
19
|
+
total_global_handles_size: number;
|
|
20
|
+
used_global_handles_size: number;
|
|
21
|
+
external_memory: number;
|
|
22
|
+
}
|
|
23
|
+
export interface HeapSpaceStatistics {
|
|
24
|
+
space_name: string;
|
|
25
|
+
space_size: number;
|
|
26
|
+
space_used_size: number;
|
|
27
|
+
space_available_size: number;
|
|
28
|
+
physical_space_size: number;
|
|
29
|
+
}
|
|
30
|
+
export interface HeapCodeStatistics {
|
|
31
|
+
code_and_metadata_size: number;
|
|
32
|
+
bytecode_and_metadata_size: number;
|
|
33
|
+
external_script_source_size: number;
|
|
34
|
+
cpu_profiler_metadata_size: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get heap statistics - returns mock values
|
|
38
|
+
*/
|
|
39
|
+
export declare function getHeapStatistics(): HeapStatistics;
|
|
40
|
+
/**
|
|
41
|
+
* Get heap space statistics - returns mock values
|
|
42
|
+
*/
|
|
43
|
+
export declare function getHeapSpaceStatistics(): HeapSpaceStatistics[];
|
|
44
|
+
/**
|
|
45
|
+
* Get heap code statistics - returns mock values
|
|
46
|
+
*/
|
|
47
|
+
export declare function getHeapCodeStatistics(): HeapCodeStatistics;
|
|
48
|
+
/**
|
|
49
|
+
* Set flags from string - no-op in browser
|
|
50
|
+
*/
|
|
51
|
+
export declare function setFlagsFromString(_flags: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Serialize a value to a buffer
|
|
54
|
+
* Uses JSON as a fallback since we don't have V8's serialization
|
|
55
|
+
*/
|
|
56
|
+
export declare function serialize(value: unknown): Buffer;
|
|
57
|
+
/**
|
|
58
|
+
* Deserialize a buffer to a value
|
|
59
|
+
*/
|
|
60
|
+
export declare function deserialize(buffer: Buffer): unknown;
|
|
61
|
+
/**
|
|
62
|
+
* Serializer class - stub
|
|
63
|
+
*/
|
|
64
|
+
export declare class Serializer {
|
|
65
|
+
private _buffer;
|
|
66
|
+
writeHeader(): void;
|
|
67
|
+
writeValue(value: unknown): boolean;
|
|
68
|
+
releaseBuffer(): Buffer;
|
|
69
|
+
transferArrayBuffer(_id: number, _arrayBuffer: ArrayBuffer): void;
|
|
70
|
+
writeUint32(_value: number): void;
|
|
71
|
+
writeUint64(_hi: number, _lo: number): void;
|
|
72
|
+
writeDouble(_value: number): void;
|
|
73
|
+
writeRawBytes(_buffer: Buffer): void;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Deserializer class - stub
|
|
77
|
+
*/
|
|
78
|
+
export declare class Deserializer {
|
|
79
|
+
private _buffer;
|
|
80
|
+
private _offset;
|
|
81
|
+
constructor(buffer: Buffer);
|
|
82
|
+
readHeader(): boolean;
|
|
83
|
+
readValue(): unknown;
|
|
84
|
+
transferArrayBuffer(_id: number, _arrayBuffer: ArrayBuffer): void;
|
|
85
|
+
getWireFormatVersion(): number;
|
|
86
|
+
readUint32(): number;
|
|
87
|
+
readUint64(): [number, number];
|
|
88
|
+
readDouble(): number;
|
|
89
|
+
readRawBytes(_length: number): Buffer;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* DefaultSerializer - same as Serializer
|
|
93
|
+
*/
|
|
94
|
+
export declare class DefaultSerializer extends Serializer {
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* DefaultDeserializer - same as Deserializer
|
|
98
|
+
*/
|
|
99
|
+
export declare class DefaultDeserializer extends Deserializer {
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Take a heap snapshot - not supported
|
|
103
|
+
*/
|
|
104
|
+
export declare function writeHeapSnapshot(_filename?: string): string;
|
|
105
|
+
/**
|
|
106
|
+
* Get heap snapshot - not supported
|
|
107
|
+
*/
|
|
108
|
+
export declare function getHeapSnapshot(): unknown;
|
|
109
|
+
/**
|
|
110
|
+
* Set heap snapshot near heap limit callback
|
|
111
|
+
*/
|
|
112
|
+
export declare function setHeapSnapshotNearHeapLimit(_limit: number): void;
|
|
113
|
+
/**
|
|
114
|
+
* Cached data version tag
|
|
115
|
+
*/
|
|
116
|
+
export declare function cachedDataVersionTag(): number;
|
|
117
|
+
declare const _default: {
|
|
118
|
+
getHeapStatistics: typeof getHeapStatistics;
|
|
119
|
+
getHeapSpaceStatistics: typeof getHeapSpaceStatistics;
|
|
120
|
+
getHeapCodeStatistics: typeof getHeapCodeStatistics;
|
|
121
|
+
setFlagsFromString: typeof setFlagsFromString;
|
|
122
|
+
serialize: typeof serialize;
|
|
123
|
+
deserialize: typeof deserialize;
|
|
124
|
+
Serializer: typeof Serializer;
|
|
125
|
+
Deserializer: typeof Deserializer;
|
|
126
|
+
DefaultSerializer: typeof DefaultSerializer;
|
|
127
|
+
DefaultDeserializer: typeof DefaultDeserializer;
|
|
128
|
+
writeHeapSnapshot: typeof writeHeapSnapshot;
|
|
129
|
+
getHeapSnapshot: typeof getHeapSnapshot;
|
|
130
|
+
setHeapSnapshotNearHeapLimit: typeof setHeapSnapshotNearHeapLimit;
|
|
131
|
+
cachedDataVersionTag: typeof cachedDataVersionTag;
|
|
132
|
+
};
|
|
133
|
+
export default _default;
|
|
134
|
+
//# sourceMappingURL=v8.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8.d.ts","sourceRoot":"","sources":["../../src/node/v8.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js-compatible vm module for Substrate.
|
|
3
|
+
*
|
|
4
|
+
* Uses indirect eval for completion values and Proxy-based sandboxing
|
|
5
|
+
* for runInContext/runInNewContext. No true V8 isolate sandboxing —
|
|
6
|
+
* this is a compatibility layer, not a security boundary.
|
|
7
|
+
*
|
|
8
|
+
* Known limitation: `var` declarations inside sandbox code go to the
|
|
9
|
+
* eval's variable environment, not the sandbox object. Property
|
|
10
|
+
* assignments (`x = 42` without var/let/const) correctly update the
|
|
11
|
+
* sandbox through the Proxy. This is a fundamental JS constraint vs
|
|
12
|
+
* V8 Contexts.
|
|
13
|
+
*/
|
|
14
|
+
import { Buffer } from "./buffer.js";
|
|
15
|
+
export interface ScriptOptions {
|
|
16
|
+
filename?: string;
|
|
17
|
+
lineOffset?: number;
|
|
18
|
+
columnOffset?: number;
|
|
19
|
+
cachedData?: Buffer;
|
|
20
|
+
produceCachedData?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface RunningScriptOptions {
|
|
23
|
+
filename?: string;
|
|
24
|
+
lineOffset?: number;
|
|
25
|
+
columnOffset?: number;
|
|
26
|
+
displayErrors?: boolean;
|
|
27
|
+
timeout?: number;
|
|
28
|
+
breakOnSigint?: boolean;
|
|
29
|
+
microtaskMode?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface CreateContextOptions {
|
|
32
|
+
name?: string;
|
|
33
|
+
origin?: string;
|
|
34
|
+
codeGeneration?: {
|
|
35
|
+
strings?: boolean;
|
|
36
|
+
wasm?: boolean;
|
|
37
|
+
};
|
|
38
|
+
microtaskMode?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface CompileFunctionOptions {
|
|
41
|
+
filename?: string;
|
|
42
|
+
lineOffset?: number;
|
|
43
|
+
columnOffset?: number;
|
|
44
|
+
cachedData?: Buffer;
|
|
45
|
+
produceCachedData?: boolean;
|
|
46
|
+
parsingContext?: object;
|
|
47
|
+
contextExtensions?: object[];
|
|
48
|
+
}
|
|
49
|
+
export declare class Script {
|
|
50
|
+
private _code;
|
|
51
|
+
private _filename;
|
|
52
|
+
cachedData: Buffer | undefined;
|
|
53
|
+
cachedDataProduced: boolean;
|
|
54
|
+
cachedDataRejected: boolean;
|
|
55
|
+
constructor(code: string, options?: ScriptOptions | string);
|
|
56
|
+
runInThisContext(options?: RunningScriptOptions | string): unknown;
|
|
57
|
+
runInNewContext(sandbox?: Record<string, unknown>, options?: RunningScriptOptions | string): unknown;
|
|
58
|
+
runInContext(contextifiedObject: Record<string, unknown>, options?: RunningScriptOptions | string): unknown;
|
|
59
|
+
createCachedData(): Buffer;
|
|
60
|
+
}
|
|
61
|
+
export declare function createScript(code: string, options?: ScriptOptions | string): Script;
|
|
62
|
+
export declare function runInThisContext(code: string, options?: RunningScriptOptions | string): unknown;
|
|
63
|
+
export declare function runInNewContext(code: string, sandbox?: Record<string, unknown>, options?: RunningScriptOptions | string): unknown;
|
|
64
|
+
export declare function runInContext(code: string, contextifiedObject: Record<string, unknown>, options?: RunningScriptOptions | string): unknown;
|
|
65
|
+
export declare function createContext(sandbox?: Record<string, unknown>, _options?: CreateContextOptions): Record<string, unknown>;
|
|
66
|
+
export declare function isContext(obj: unknown): boolean;
|
|
67
|
+
export declare function compileFunction(code: string, params?: string[], options?: CompileFunctionOptions): Function;
|
|
68
|
+
export declare function measureMemory(_options?: unknown): Promise<object>;
|
|
69
|
+
export declare const constants: {
|
|
70
|
+
USE_MAIN_CONTEXT_DEFAULT_LOADER: number;
|
|
71
|
+
DONT_CONTEXTIFY: number;
|
|
72
|
+
};
|
|
73
|
+
declare const _default: {
|
|
74
|
+
Script: typeof Script;
|
|
75
|
+
createScript: typeof createScript;
|
|
76
|
+
runInThisContext: typeof runInThisContext;
|
|
77
|
+
runInNewContext: typeof runInNewContext;
|
|
78
|
+
runInContext: typeof runInContext;
|
|
79
|
+
createContext: typeof createContext;
|
|
80
|
+
isContext: typeof isContext;
|
|
81
|
+
compileFunction: typeof compileFunction;
|
|
82
|
+
measureMemory: typeof measureMemory;
|
|
83
|
+
constants: {
|
|
84
|
+
USE_MAIN_CONTEXT_DEFAULT_LOADER: number;
|
|
85
|
+
DONT_CONTEXTIFY: number;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export default _default;
|
|
89
|
+
//# sourceMappingURL=vm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/node/vm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js wasi module implementation
|
|
3
|
+
*
|
|
4
|
+
* WASI (WebAssembly System Interface) is not supported in the Substrate
|
|
5
|
+
* browser environment. This provides stub implementations.
|
|
6
|
+
*/
|
|
7
|
+
interface WASIOptions {
|
|
8
|
+
args?: string[];
|
|
9
|
+
env?: Record<string, string>;
|
|
10
|
+
preopens?: Record<string, string>;
|
|
11
|
+
returnOnExit?: boolean;
|
|
12
|
+
stdin?: number;
|
|
13
|
+
stdout?: number;
|
|
14
|
+
stderr?: number;
|
|
15
|
+
version?: "unstable" | "preview1";
|
|
16
|
+
}
|
|
17
|
+
export declare class WASI {
|
|
18
|
+
readonly wasiImport: Record<string, (...args: unknown[]) => unknown>;
|
|
19
|
+
constructor(_options?: WASIOptions);
|
|
20
|
+
start(_instance: WebAssembly.Instance): number | void;
|
|
21
|
+
initialize(_instance: WebAssembly.Instance): void;
|
|
22
|
+
getImportObject(): Record<string, Record<string, (...args: unknown[]) => unknown>>;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=wasi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasi.d.ts","sourceRoot":"","sources":["../../src/node/wasi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACnC;AAED,qBAAa,IAAI;IACf,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;IAErE,YAAY,QAAQ,CAAC,EAAE,WAAW,EAEjC;IAED,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAEpD;IAED,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,GAAG,IAAI,CAEhD;IAED,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAEjF;CACF"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js worker_threads module for Substrate
|
|
3
|
+
*
|
|
4
|
+
* Implements worker_threads by mapping each Worker to a kernel process with its
|
|
5
|
+
* own ProcessContext, ProcessEventLoop, and module cache — the same infrastructure
|
|
6
|
+
* used by child_process.spawn().
|
|
7
|
+
*
|
|
8
|
+
* Communication uses browser MessageChannel wrapped with Node-style EventEmitter
|
|
9
|
+
* interfaces. Messages are delivered through the ProcessEventLoop to preserve
|
|
10
|
+
* Node event loop semantics.
|
|
11
|
+
*
|
|
12
|
+
* No true parallelism — all "threads" are cooperative on a single JS thread.
|
|
13
|
+
*/
|
|
14
|
+
import { EventEmitter } from "./events.js";
|
|
15
|
+
import { type ProcessEventLoop } from "../runtime/process-event-loop.js";
|
|
16
|
+
/**
|
|
17
|
+
* Clear all pending worker timers. Called during test teardown to prevent
|
|
18
|
+
* stale nativeSetTimeout callbacks from firing in subsequent tests.
|
|
19
|
+
*/
|
|
20
|
+
export declare function clearWorkerRegistry(): void;
|
|
21
|
+
/**
|
|
22
|
+
* SHARE_ENV symbol for sharing environment with workers
|
|
23
|
+
*/
|
|
24
|
+
export declare const SHARE_ENV: unique symbol;
|
|
25
|
+
export declare const isMainThread = true;
|
|
26
|
+
export declare const parentPort: NodeMessagePort | null;
|
|
27
|
+
export declare const workerData: unknown;
|
|
28
|
+
export declare const threadId = 0;
|
|
29
|
+
export declare const resourceLimits: Readonly<{}>;
|
|
30
|
+
/**
|
|
31
|
+
* Wraps a browser MessagePort with Node.js EventEmitter semantics.
|
|
32
|
+
*
|
|
33
|
+
* When a message arrives on the underlying browser port, the callback is queued
|
|
34
|
+
* via eventLoop.queuePending() so it runs in the correct Node event loop phase
|
|
35
|
+
* (pending callbacks), not the browser's native microtask queue.
|
|
36
|
+
*/
|
|
37
|
+
export declare class NodeMessagePort extends EventEmitter {
|
|
38
|
+
private _port;
|
|
39
|
+
private _eventLoop;
|
|
40
|
+
private _started;
|
|
41
|
+
private _closed;
|
|
42
|
+
private _refed;
|
|
43
|
+
/**
|
|
44
|
+
* Synchronous message queue for receiveMessageOnPort().
|
|
45
|
+
* Messages are cloned here in addition to going through the async path.
|
|
46
|
+
*/
|
|
47
|
+
_syncQueue: unknown[];
|
|
48
|
+
constructor(port: globalThis.MessagePort, eventLoop: ProcessEventLoop | null);
|
|
49
|
+
/**
|
|
50
|
+
* Override on() to auto-ref when a "message" listener is added.
|
|
51
|
+
* In Node.js, adding a message listener on parentPort keeps the worker alive.
|
|
52
|
+
*/
|
|
53
|
+
on(event: string | symbol, listener: (...args: unknown[]) => void): this;
|
|
54
|
+
/**
|
|
55
|
+
* Override removeListener() to auto-unref when all "message" listeners are removed.
|
|
56
|
+
*/
|
|
57
|
+
removeListener(event: string | symbol, listener: (...args: unknown[]) => void): this;
|
|
58
|
+
/**
|
|
59
|
+
* Override removeAllListeners() to auto-unref when "message" listeners are cleared.
|
|
60
|
+
*/
|
|
61
|
+
removeAllListeners(event?: string | symbol): this;
|
|
62
|
+
private _handleNativeMessage;
|
|
63
|
+
/**
|
|
64
|
+
* Send a message to the other end of the channel.
|
|
65
|
+
*/
|
|
66
|
+
postMessage(value: unknown, transferList?: Transferable[]): void;
|
|
67
|
+
/**
|
|
68
|
+
* Start receiving messages. In Node.js, ports created via MessageChannel
|
|
69
|
+
* require an explicit start() unless an onmessage handler is set.
|
|
70
|
+
* For ports used as parentPort, Node auto-starts them.
|
|
71
|
+
*/
|
|
72
|
+
start(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Close the port. No more messages will be received.
|
|
75
|
+
* Also unrefs the event loop if the port was ref'd.
|
|
76
|
+
*/
|
|
77
|
+
close(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Ref the associated event loop to keep the process alive.
|
|
80
|
+
*/
|
|
81
|
+
ref(): this;
|
|
82
|
+
/**
|
|
83
|
+
* Unref the associated event loop to allow the process to exit.
|
|
84
|
+
*/
|
|
85
|
+
unref(): this;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a pair of NodeMessagePorts connected by a browser MessageChannel.
|
|
89
|
+
*/
|
|
90
|
+
export declare class NodeMessageChannel {
|
|
91
|
+
port1: NodeMessagePort;
|
|
92
|
+
port2: NodeMessagePort;
|
|
93
|
+
constructor();
|
|
94
|
+
}
|
|
95
|
+
export interface WorkerOptions {
|
|
96
|
+
argv?: unknown[];
|
|
97
|
+
env?: Record<string, string> | typeof SHARE_ENV;
|
|
98
|
+
eval?: boolean;
|
|
99
|
+
execArgv?: string[];
|
|
100
|
+
stdin?: boolean;
|
|
101
|
+
stdout?: boolean;
|
|
102
|
+
stderr?: boolean;
|
|
103
|
+
workerData?: unknown;
|
|
104
|
+
trackUnmanagedFds?: boolean;
|
|
105
|
+
transferList?: unknown[];
|
|
106
|
+
resourceLimits?: {
|
|
107
|
+
maxYoungGenerationSizeMb?: number;
|
|
108
|
+
maxOldGenerationSizeMb?: number;
|
|
109
|
+
codeRangeSizeMb?: number;
|
|
110
|
+
stackSizeMb?: number;
|
|
111
|
+
};
|
|
112
|
+
name?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Worker thread implementation backed by a kernel process.
|
|
116
|
+
*
|
|
117
|
+
* Each Worker gets its own ProcessContext, ProcessEventLoop, and module cache,
|
|
118
|
+
* providing full isolation. Communication with the parent uses MessageChannel
|
|
119
|
+
* wrapped by NodeMessagePort for event-loop-aware message delivery.
|
|
120
|
+
*/
|
|
121
|
+
export declare class Worker extends EventEmitter {
|
|
122
|
+
readonly threadId: number;
|
|
123
|
+
readonly stdin: null;
|
|
124
|
+
readonly stdout: null;
|
|
125
|
+
readonly stderr: null;
|
|
126
|
+
readonly resourceLimits: Readonly<{}>;
|
|
127
|
+
readonly performance: Performance;
|
|
128
|
+
private _parentPort;
|
|
129
|
+
private _exited;
|
|
130
|
+
private _exitCode;
|
|
131
|
+
constructor(filename: string | URL, options?: WorkerOptions);
|
|
132
|
+
/**
|
|
133
|
+
* Send a message to the worker.
|
|
134
|
+
*/
|
|
135
|
+
postMessage(value: unknown, transferList?: Transferable[]): void;
|
|
136
|
+
/**
|
|
137
|
+
* Terminate the worker. Returns a Promise that resolves with the exit code.
|
|
138
|
+
*/
|
|
139
|
+
terminate(): Promise<number>;
|
|
140
|
+
/**
|
|
141
|
+
* Ref the worker to keep the parent process alive.
|
|
142
|
+
*/
|
|
143
|
+
ref(): this;
|
|
144
|
+
/**
|
|
145
|
+
* Unref the worker to allow the parent to exit without waiting.
|
|
146
|
+
*/
|
|
147
|
+
unref(): this;
|
|
148
|
+
getHeapSnapshot(): Promise<unknown>;
|
|
149
|
+
private _handleWorkerExit;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Move a value to a different buffer - not supported
|
|
153
|
+
*/
|
|
154
|
+
export declare function moveMessagePortToContext(_port: unknown, _contextifiedSandbox: unknown): unknown;
|
|
155
|
+
/**
|
|
156
|
+
* Receive a message from a port synchronously.
|
|
157
|
+
* Returns the next message from the port's sync queue, or undefined if empty.
|
|
158
|
+
* Used by Pino's thread-stream for synchronous log draining.
|
|
159
|
+
*/
|
|
160
|
+
export declare function receiveMessageOnPort(port: unknown): {
|
|
161
|
+
message: unknown;
|
|
162
|
+
} | undefined;
|
|
163
|
+
/**
|
|
164
|
+
* Mark an object as untransferable — no-op in browser.
|
|
165
|
+
*/
|
|
166
|
+
export declare function markAsUntransferable(_object: unknown): void;
|
|
167
|
+
/**
|
|
168
|
+
* Check if an object has been marked as untransferable.
|
|
169
|
+
* Always returns false in browser environment.
|
|
170
|
+
*/
|
|
171
|
+
export declare function isMarkedAsUntransferable(_object: unknown): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Get environment data shared across workers.
|
|
174
|
+
*/
|
|
175
|
+
export declare function getEnvironmentData(key: unknown): unknown;
|
|
176
|
+
/**
|
|
177
|
+
* Set environment data shared across workers.
|
|
178
|
+
*/
|
|
179
|
+
export declare function setEnvironmentData(key: unknown, value?: unknown): void;
|
|
180
|
+
export { NodeMessagePort as MessagePort };
|
|
181
|
+
export { NodeMessageChannel as MessageChannel };
|
|
182
|
+
export declare const BroadcastChannel: {
|
|
183
|
+
new (_name: string): {};
|
|
184
|
+
};
|
|
185
|
+
declare const _default: {
|
|
186
|
+
isMainThread: boolean;
|
|
187
|
+
parentPort: null;
|
|
188
|
+
workerData: unknown;
|
|
189
|
+
threadId: number;
|
|
190
|
+
resourceLimits: Readonly<{}>;
|
|
191
|
+
SHARE_ENV: symbol;
|
|
192
|
+
Worker: typeof Worker;
|
|
193
|
+
MessageChannel: typeof NodeMessageChannel;
|
|
194
|
+
MessagePort: typeof NodeMessagePort;
|
|
195
|
+
BroadcastChannel: {
|
|
196
|
+
new (_name: string): {};
|
|
197
|
+
};
|
|
198
|
+
moveMessagePortToContext: typeof moveMessagePortToContext;
|
|
199
|
+
receiveMessageOnPort: typeof receiveMessageOnPort;
|
|
200
|
+
markAsUntransferable: typeof markAsUntransferable;
|
|
201
|
+
isMarkedAsUntransferable: typeof isMarkedAsUntransferable;
|
|
202
|
+
getEnvironmentData: typeof getEnvironmentData;
|
|
203
|
+
setEnvironmentData: typeof setEnvironmentData;
|
|
204
|
+
};
|
|
205
|
+
export default _default;
|
|
206
|
+
//# sourceMappingURL=worker_threads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker_threads.d.ts","sourceRoot":"","sources":["../../src/node/worker_threads.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Client Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements the WebSocket client API matching Node.js v22+ built-in WebSocket.
|
|
5
|
+
* This is the browser-standard WebSocket API, NOT the `ws` npm package.
|
|
6
|
+
*
|
|
7
|
+
* For WebSocket servers, use the `ws` npm package which will work
|
|
8
|
+
* with our net.Socket implementation.
|
|
9
|
+
*
|
|
10
|
+
* @see https://nodejs.org/en/learn/getting-started/websocket
|
|
11
|
+
*/
|
|
12
|
+
import { OPCODES, READY_STATE, WS_GUID, type WebSocketReadyState, type WebSocketCloseEvent, type WebSocketMessageEvent, type WebSocketErrorEvent, type WebSocketOpenEvent, parseFrame, createFrame } from "../utils/websocket-protocol.js";
|
|
13
|
+
export { WS_GUID, OPCODES, READY_STATE, type WebSocketReadyState, parseFrame, createFrame };
|
|
14
|
+
export interface WebSocketEventMap {
|
|
15
|
+
close: WebSocketCloseEvent;
|
|
16
|
+
error: WebSocketErrorEvent;
|
|
17
|
+
message: WebSocketMessageEvent;
|
|
18
|
+
open: WebSocketOpenEvent;
|
|
19
|
+
}
|
|
20
|
+
type EventListener<T> = (event: T) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Compute the Sec-WebSocket-Accept key for handshake validation.
|
|
23
|
+
* Uses Node.js crypto (synchronous).
|
|
24
|
+
*/
|
|
25
|
+
export declare function computeAcceptKey(key: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* WebSocket client implementation matching the browser/Node.js v22 API.
|
|
28
|
+
*
|
|
29
|
+
* Note: This is a CLIENT implementation. For WebSocket servers,
|
|
30
|
+
* use the `ws` npm package with our net.Socket.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const ws = new WebSocket('ws://localhost:8080');
|
|
35
|
+
*
|
|
36
|
+
* ws.addEventListener('open', () => {
|
|
37
|
+
* ws.send('Hello Server!');
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* ws.addEventListener('message', (event) => {
|
|
41
|
+
* console.log('Message:', event.data);
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class WebSocket {
|
|
46
|
+
static readonly CONNECTING: 0;
|
|
47
|
+
static readonly OPEN: 1;
|
|
48
|
+
static readonly CLOSING: 2;
|
|
49
|
+
static readonly CLOSED: 3;
|
|
50
|
+
private _readyState;
|
|
51
|
+
private _url;
|
|
52
|
+
private _protocol;
|
|
53
|
+
private _extensions;
|
|
54
|
+
private _binaryType;
|
|
55
|
+
private _socket;
|
|
56
|
+
private _key;
|
|
57
|
+
private _protocols;
|
|
58
|
+
onopen: EventListener<WebSocketOpenEvent> | null;
|
|
59
|
+
onmessage: EventListener<WebSocketMessageEvent> | null;
|
|
60
|
+
onerror: EventListener<WebSocketErrorEvent> | null;
|
|
61
|
+
onclose: EventListener<WebSocketCloseEvent> | null;
|
|
62
|
+
private _listeners;
|
|
63
|
+
private _bufferedAmount;
|
|
64
|
+
private _receiveBuffer;
|
|
65
|
+
private _handshakeComplete;
|
|
66
|
+
constructor(url: string | URL, protocols?: string | string[]);
|
|
67
|
+
/**
|
|
68
|
+
* Connect to the WebSocket server
|
|
69
|
+
*/
|
|
70
|
+
private _connect;
|
|
71
|
+
/**
|
|
72
|
+
* Handle incoming data
|
|
73
|
+
*/
|
|
74
|
+
private _handleData;
|
|
75
|
+
/**
|
|
76
|
+
* Process WebSocket frames from the buffer
|
|
77
|
+
*/
|
|
78
|
+
private _processFrames;
|
|
79
|
+
/**
|
|
80
|
+
* Send a WebSocket frame
|
|
81
|
+
*/
|
|
82
|
+
private _sendFrame;
|
|
83
|
+
/**
|
|
84
|
+
* Send a close frame
|
|
85
|
+
*/
|
|
86
|
+
private _sendCloseFrame;
|
|
87
|
+
get readyState(): WebSocketReadyState;
|
|
88
|
+
get url(): string;
|
|
89
|
+
get protocol(): string;
|
|
90
|
+
get extensions(): string;
|
|
91
|
+
get binaryType(): "blob" | "arraybuffer";
|
|
92
|
+
set binaryType(value: "blob" | "arraybuffer");
|
|
93
|
+
get bufferedAmount(): number;
|
|
94
|
+
/**
|
|
95
|
+
* Send data through the WebSocket connection
|
|
96
|
+
*/
|
|
97
|
+
send(data: string | ArrayBuffer | Uint8Array): void;
|
|
98
|
+
/**
|
|
99
|
+
* Close the WebSocket connection
|
|
100
|
+
*/
|
|
101
|
+
close(code?: number, reason?: string): void;
|
|
102
|
+
addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: EventListener<WebSocketEventMap[K]>): void;
|
|
103
|
+
removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: EventListener<WebSocketEventMap[K]>): void;
|
|
104
|
+
dispatchEvent(event: Event & {
|
|
105
|
+
type: keyof WebSocketEventMap;
|
|
106
|
+
}): boolean;
|
|
107
|
+
private _dispatchEvent;
|
|
108
|
+
}
|
|
109
|
+
export default WebSocket;
|
|
110
|
+
//# sourceMappingURL=ws.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/node/ws.ts"],"names":[],"mappings":"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"}
|