quickjs-wasi-reactor 0.0.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.
@@ -0,0 +1,119 @@
1
+ export declare const CLOCKID_REALTIME = 0;
2
+ export declare const CLOCKID_MONOTONIC = 1;
3
+ export declare const ERRNO_SUCCESS = 0;
4
+ export declare const ERRNO_BADF = 8;
5
+ export declare const ERRNO_EXIST = 20;
6
+ export declare const ERRNO_INVAL = 28;
7
+ export declare const ERRNO_ISDIR = 31;
8
+ export declare const ERRNO_NOENT = 44;
9
+ export declare const ERRNO_NOSYS = 52;
10
+ export declare const ERRNO_NOTDIR = 54;
11
+ export declare const ERRNO_NOTEMPTY = 55;
12
+ export declare const ERRNO_NOTSUP = 58;
13
+ export declare const ERRNO_PERM = 63;
14
+ export declare const ERRNO_NAMETOOLONG = 76;
15
+ export declare const ERRNO_NOTCAPABLE = 76;
16
+ export declare const FILETYPE_UNKNOWN = 0;
17
+ export declare const FILETYPE_BLOCK_DEVICE = 1;
18
+ export declare const FILETYPE_CHARACTER_DEVICE = 2;
19
+ export declare const FILETYPE_DIRECTORY = 3;
20
+ export declare const FILETYPE_REGULAR_FILE = 4;
21
+ export declare const FILETYPE_SOCKET_DGRAM = 5;
22
+ export declare const FILETYPE_SOCKET_STREAM = 6;
23
+ export declare const FILETYPE_SYMBOLIC_LINK = 7;
24
+ export declare const OFLAGS_CREAT = 1;
25
+ export declare const OFLAGS_DIRECTORY = 2;
26
+ export declare const OFLAGS_EXCL = 4;
27
+ export declare const OFLAGS_TRUNC = 8;
28
+ export declare const FDFLAGS_APPEND = 1;
29
+ export declare const FDFLAGS_DSYNC = 2;
30
+ export declare const FDFLAGS_NONBLOCK = 4;
31
+ export declare const FDFLAGS_RSYNC = 8;
32
+ export declare const FDFLAGS_SYNC = 16;
33
+ export declare const RIGHTS_FD_READ = 2;
34
+ export declare const RIGHTS_FD_WRITE = 64;
35
+ export declare const WHENCE_SET = 0;
36
+ export declare const WHENCE_CUR = 1;
37
+ export declare const WHENCE_END = 2;
38
+ export declare const EVENTTYPE_CLOCK = 0;
39
+ export declare const EVENTTYPE_FD_READ = 1;
40
+ export declare const EVENTTYPE_FD_WRITE = 2;
41
+ export declare const SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME = 1;
42
+ export declare const EVENTRWFLAGS_FD_READWRITE_HANGUP = 1;
43
+ export declare class Fdstat {
44
+ fs_filetype: number;
45
+ fs_flags: number;
46
+ fs_rights_base: bigint;
47
+ fs_rights_inheriting: bigint;
48
+ constructor(filetype: number, flags: number);
49
+ write_bytes(view: DataView, ptr: number): void;
50
+ }
51
+ export declare class Filestat {
52
+ dev: bigint;
53
+ ino: bigint;
54
+ filetype: number;
55
+ nlink: bigint;
56
+ size: bigint;
57
+ atim: bigint;
58
+ mtim: bigint;
59
+ ctim: bigint;
60
+ constructor(ino: bigint, filetype: number, size: bigint);
61
+ write_bytes(view: DataView, ptr: number): void;
62
+ }
63
+ export declare class Prestat {
64
+ tag: number;
65
+ inner: {
66
+ pr_name: Uint8Array;
67
+ };
68
+ constructor(tag: number, name: Uint8Array);
69
+ static dir(name: string): Prestat;
70
+ write_bytes(view: DataView, ptr: number): void;
71
+ }
72
+ export declare class Iovec {
73
+ buf: number;
74
+ buf_len: number;
75
+ constructor(buf: number, buf_len: number);
76
+ static read_bytes(view: DataView, ptr: number): Iovec;
77
+ static read_bytes_array(view: DataView, ptr: number, len: number): Iovec[];
78
+ }
79
+ export declare class Ciovec {
80
+ buf: number;
81
+ buf_len: number;
82
+ constructor(buf: number, buf_len: number);
83
+ static read_bytes(view: DataView, ptr: number): Ciovec;
84
+ static read_bytes_array(view: DataView, ptr: number, len: number): Ciovec[];
85
+ }
86
+ export declare class Dirent {
87
+ d_next: bigint;
88
+ d_ino: bigint;
89
+ d_namlen: number;
90
+ d_type: number;
91
+ d_name: string;
92
+ constructor(next: bigint, ino: bigint, name: string, type: number);
93
+ head_length(): number;
94
+ name_length(): number;
95
+ write_head_bytes(view: DataView, ptr: number): void;
96
+ write_name_bytes(buffer8: Uint8Array, ptr: number, len: number): void;
97
+ }
98
+ export declare class Subscription {
99
+ userdata: bigint;
100
+ eventtype: number;
101
+ clockid: number;
102
+ timeout: bigint;
103
+ flags: number;
104
+ fd: number;
105
+ constructor();
106
+ static size(): number;
107
+ static read_bytes(view: DataView, ptr: number): Subscription;
108
+ }
109
+ export declare class Event {
110
+ userdata: bigint;
111
+ error: number;
112
+ type: number;
113
+ nbytes: bigint;
114
+ flags: number;
115
+ constructor(userdata: bigint, error: number, type: number, nbytes?: bigint, flags?: number);
116
+ static size(): number;
117
+ write_bytes(view: DataView, ptr: number): void;
118
+ }
119
+ //# sourceMappingURL=wasi-defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi-defs.d.ts","sourceRoot":"","sources":["../src/wasi-defs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,247 @@
1
+ // WASI definitions
2
+ // Clock IDs
3
+ export const CLOCKID_REALTIME = 0;
4
+ export const CLOCKID_MONOTONIC = 1;
5
+ // Error numbers
6
+ export const ERRNO_SUCCESS = 0;
7
+ export const ERRNO_BADF = 8;
8
+ export const ERRNO_EXIST = 20;
9
+ export const ERRNO_INVAL = 28;
10
+ export const ERRNO_ISDIR = 31;
11
+ export const ERRNO_NOENT = 44;
12
+ export const ERRNO_NOSYS = 52;
13
+ export const ERRNO_NOTDIR = 54;
14
+ export const ERRNO_NOTEMPTY = 55;
15
+ export const ERRNO_NOTSUP = 58;
16
+ export const ERRNO_PERM = 63;
17
+ export const ERRNO_NAMETOOLONG = 76;
18
+ export const ERRNO_NOTCAPABLE = 76;
19
+ // File types
20
+ export const FILETYPE_UNKNOWN = 0;
21
+ export const FILETYPE_BLOCK_DEVICE = 1;
22
+ export const FILETYPE_CHARACTER_DEVICE = 2;
23
+ export const FILETYPE_DIRECTORY = 3;
24
+ export const FILETYPE_REGULAR_FILE = 4;
25
+ export const FILETYPE_SOCKET_DGRAM = 5;
26
+ export const FILETYPE_SOCKET_STREAM = 6;
27
+ export const FILETYPE_SYMBOLIC_LINK = 7;
28
+ // Open flags
29
+ export const OFLAGS_CREAT = 1;
30
+ export const OFLAGS_DIRECTORY = 2;
31
+ export const OFLAGS_EXCL = 4;
32
+ export const OFLAGS_TRUNC = 8;
33
+ // File descriptor flags
34
+ export const FDFLAGS_APPEND = 1;
35
+ export const FDFLAGS_DSYNC = 2;
36
+ export const FDFLAGS_NONBLOCK = 4;
37
+ export const FDFLAGS_RSYNC = 8;
38
+ export const FDFLAGS_SYNC = 16;
39
+ // Rights
40
+ export const RIGHTS_FD_READ = 2;
41
+ export const RIGHTS_FD_WRITE = 64;
42
+ // Seek whence
43
+ export const WHENCE_SET = 0;
44
+ export const WHENCE_CUR = 1;
45
+ export const WHENCE_END = 2;
46
+ // Event types
47
+ export const EVENTTYPE_CLOCK = 0;
48
+ export const EVENTTYPE_FD_READ = 1;
49
+ export const EVENTTYPE_FD_WRITE = 2;
50
+ // Subscription clock flags
51
+ export const SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME = 1;
52
+ // Event read/write flags
53
+ export const EVENTRWFLAGS_FD_READWRITE_HANGUP = 1;
54
+ export class Fdstat {
55
+ fs_filetype;
56
+ fs_flags;
57
+ fs_rights_base;
58
+ fs_rights_inheriting;
59
+ constructor(filetype, flags) {
60
+ this.fs_filetype = filetype;
61
+ this.fs_flags = flags;
62
+ this.fs_rights_base = 0n;
63
+ this.fs_rights_inheriting = 0n;
64
+ }
65
+ write_bytes(view, ptr) {
66
+ view.setUint8(ptr, this.fs_filetype);
67
+ view.setUint16(ptr + 2, this.fs_flags, true);
68
+ view.setBigUint64(ptr + 8, this.fs_rights_base, true);
69
+ view.setBigUint64(ptr + 16, this.fs_rights_inheriting, true);
70
+ }
71
+ }
72
+ export class Filestat {
73
+ dev;
74
+ ino;
75
+ filetype;
76
+ nlink;
77
+ size;
78
+ atim;
79
+ mtim;
80
+ ctim;
81
+ constructor(ino, filetype, size) {
82
+ this.dev = 0n;
83
+ this.ino = ino;
84
+ this.filetype = filetype;
85
+ this.nlink = 1n;
86
+ this.size = size;
87
+ this.atim = 0n;
88
+ this.mtim = 0n;
89
+ this.ctim = 0n;
90
+ }
91
+ write_bytes(view, ptr) {
92
+ view.setBigUint64(ptr, this.dev, true);
93
+ view.setBigUint64(ptr + 8, this.ino, true);
94
+ view.setUint8(ptr + 16, this.filetype);
95
+ view.setBigUint64(ptr + 24, this.nlink, true);
96
+ view.setBigUint64(ptr + 32, this.size, true);
97
+ view.setBigUint64(ptr + 40, this.atim, true);
98
+ view.setBigUint64(ptr + 48, this.mtim, true);
99
+ view.setBigUint64(ptr + 56, this.ctim, true);
100
+ }
101
+ }
102
+ export class Prestat {
103
+ tag;
104
+ inner;
105
+ constructor(tag, name) {
106
+ this.tag = tag;
107
+ this.inner = { pr_name: name };
108
+ }
109
+ static dir(name) {
110
+ return new Prestat(0, new TextEncoder().encode(name));
111
+ }
112
+ write_bytes(view, ptr) {
113
+ view.setUint8(ptr, this.tag);
114
+ view.setUint32(ptr + 4, this.inner.pr_name.byteLength, true);
115
+ }
116
+ }
117
+ export class Iovec {
118
+ buf;
119
+ buf_len;
120
+ constructor(buf, buf_len) {
121
+ this.buf = buf;
122
+ this.buf_len = buf_len;
123
+ }
124
+ static read_bytes(view, ptr) {
125
+ const buf = view.getUint32(ptr, true);
126
+ const buf_len = view.getUint32(ptr + 4, true);
127
+ return new Iovec(buf, buf_len);
128
+ }
129
+ static read_bytes_array(view, ptr, len) {
130
+ const result = [];
131
+ for (let i = 0; i < len; i++) {
132
+ result.push(Iovec.read_bytes(view, ptr + i * 8));
133
+ }
134
+ return result;
135
+ }
136
+ }
137
+ export class Ciovec {
138
+ buf;
139
+ buf_len;
140
+ constructor(buf, buf_len) {
141
+ this.buf = buf;
142
+ this.buf_len = buf_len;
143
+ }
144
+ static read_bytes(view, ptr) {
145
+ const buf = view.getUint32(ptr, true);
146
+ const buf_len = view.getUint32(ptr + 4, true);
147
+ return new Ciovec(buf, buf_len);
148
+ }
149
+ static read_bytes_array(view, ptr, len) {
150
+ const result = [];
151
+ for (let i = 0; i < len; i++) {
152
+ result.push(Ciovec.read_bytes(view, ptr + i * 8));
153
+ }
154
+ return result;
155
+ }
156
+ }
157
+ export class Dirent {
158
+ d_next;
159
+ d_ino;
160
+ d_namlen;
161
+ d_type;
162
+ d_name;
163
+ constructor(next, ino, name, type) {
164
+ this.d_next = next;
165
+ this.d_ino = ino;
166
+ this.d_namlen = new TextEncoder().encode(name).byteLength;
167
+ this.d_type = type;
168
+ this.d_name = name;
169
+ }
170
+ head_length() {
171
+ return 24;
172
+ }
173
+ name_length() {
174
+ return this.d_namlen;
175
+ }
176
+ write_head_bytes(view, ptr) {
177
+ view.setBigUint64(ptr, this.d_next, true);
178
+ view.setBigUint64(ptr + 8, this.d_ino, true);
179
+ view.setUint32(ptr + 16, this.d_namlen, true);
180
+ view.setUint8(ptr + 20, this.d_type);
181
+ }
182
+ write_name_bytes(buffer8, ptr, len) {
183
+ const name_bytes = new TextEncoder().encode(this.d_name);
184
+ buffer8.set(name_bytes.slice(0, len), ptr);
185
+ }
186
+ }
187
+ export class Subscription {
188
+ userdata;
189
+ eventtype;
190
+ // For clock subscriptions
191
+ clockid;
192
+ timeout;
193
+ flags;
194
+ // For fd subscriptions
195
+ fd;
196
+ constructor() {
197
+ this.userdata = 0n;
198
+ this.eventtype = 0;
199
+ this.clockid = 0;
200
+ this.timeout = 0n;
201
+ this.flags = 0;
202
+ this.fd = 0;
203
+ }
204
+ static size() {
205
+ return 48;
206
+ }
207
+ static read_bytes(view, ptr) {
208
+ const sub = new Subscription();
209
+ sub.userdata = view.getBigUint64(ptr, true);
210
+ sub.eventtype = view.getUint8(ptr + 8);
211
+ if (sub.eventtype === EVENTTYPE_CLOCK) {
212
+ sub.clockid = view.getUint32(ptr + 16, true);
213
+ sub.timeout = view.getBigUint64(ptr + 24, true);
214
+ // precision at ptr + 32
215
+ sub.flags = view.getUint16(ptr + 40, true);
216
+ }
217
+ else {
218
+ sub.fd = view.getUint32(ptr + 16, true);
219
+ }
220
+ return sub;
221
+ }
222
+ }
223
+ export class Event {
224
+ userdata;
225
+ error;
226
+ type;
227
+ nbytes;
228
+ flags;
229
+ constructor(userdata, error, type, nbytes = 0n, flags = 0) {
230
+ this.userdata = userdata;
231
+ this.error = error;
232
+ this.type = type;
233
+ this.nbytes = nbytes;
234
+ this.flags = flags;
235
+ }
236
+ static size() {
237
+ return 32;
238
+ }
239
+ write_bytes(view, ptr) {
240
+ view.setBigUint64(ptr, this.userdata, true);
241
+ view.setUint16(ptr + 8, this.error, true);
242
+ view.setUint8(ptr + 10, this.type);
243
+ view.setBigUint64(ptr + 16, this.nbytes, true);
244
+ view.setUint16(ptr + 24, this.flags, true);
245
+ }
246
+ }
247
+ //# sourceMappingURL=wasi-defs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi-defs.js","sourceRoot":"","sources":["../src/wasi-defs.ts"],"names":[],"mappings":"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"}
package/dist/wasi.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ import { Fd } from "./fd.js";
2
+ export interface WASIOptions {
3
+ debug?: boolean;
4
+ }
5
+ /**
6
+ * An exception that is thrown when the process exits.
7
+ */
8
+ export declare class WASIProcExit extends Error {
9
+ readonly code: number;
10
+ constructor(code: number);
11
+ }
12
+ export declare class WASI {
13
+ #private;
14
+ args: Array<string>;
15
+ env: Array<string>;
16
+ fds: Array<Fd | undefined>;
17
+ inst: {
18
+ exports: {
19
+ memory: WebAssembly.Memory;
20
+ };
21
+ };
22
+ debug: boolean;
23
+ wasiImport: Record<string, (...args: any[]) => any>;
24
+ /** Start a WASI command */
25
+ start(instance: {
26
+ exports: {
27
+ memory: WebAssembly.Memory;
28
+ _start: () => unknown;
29
+ };
30
+ }): number;
31
+ /** Initialize a WASI reactor */
32
+ initialize(instance: {
33
+ exports: {
34
+ memory: WebAssembly.Memory;
35
+ _initialize?: () => unknown;
36
+ };
37
+ }): void;
38
+ log(...args: unknown[]): void;
39
+ constructor(args: Array<string>, env: Array<string>, fds: Array<Fd>, options?: WASIOptions);
40
+ }
41
+ //# sourceMappingURL=wasi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi.d.ts","sourceRoot":"","sources":["../src/wasi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;aACT,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAGzC;AAED,qBAAa,IAAI;;IAGf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IACzB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IACxB,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,CAAM;IAChC,IAAI,EAAG;QAAE,OAAO,EAAE;YAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACnD,KAAK,EAAE,OAAO,CAAS;IAEvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;IAEpD,2BAA2B;IAC3B,KAAK,CAAC,QAAQ,EAAE;QACd,OAAO,EAAE;YAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,OAAO,CAAA;SAAE,CAAC;KAChE;IAaD,gCAAgC;IAChC,UAAU,CAAC,QAAQ,EAAE;QACnB,OAAO,EAAE;YAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;SAAE,CAAC;KACtE;IAOD,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;gBAOpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAClB,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,EACd,OAAO,GAAE,WAAgB;CAo4B5B"}