@volter/browser-wali 0.1.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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/browser-wali-command.d.ts +22 -0
  4. package/dist/browser-wali-command.d.ts.map +1 -0
  5. package/dist/browser-wali-command.js +44 -0
  6. package/dist/browser-wali-command.js.map +1 -0
  7. package/dist/capabilities.d.ts +3 -0
  8. package/dist/capabilities.d.ts.map +1 -0
  9. package/dist/capabilities.js +23 -0
  10. package/dist/capabilities.js.map +1 -0
  11. package/dist/coherent-file-locks.d.ts +23 -0
  12. package/dist/coherent-file-locks.d.ts.map +1 -0
  13. package/dist/coherent-file-locks.js +134 -0
  14. package/dist/coherent-file-locks.js.map +1 -0
  15. package/dist/events.d.ts +30 -0
  16. package/dist/events.d.ts.map +1 -0
  17. package/dist/events.js +289 -0
  18. package/dist/events.js.map +1 -0
  19. package/dist/filesystem-protocol.d.ts +48 -0
  20. package/dist/filesystem-protocol.d.ts.map +1 -0
  21. package/dist/filesystem-protocol.js +27 -0
  22. package/dist/filesystem-protocol.js.map +1 -0
  23. package/dist/filesystem-remote.d.ts +65 -0
  24. package/dist/filesystem-remote.d.ts.map +1 -0
  25. package/dist/filesystem-remote.js +271 -0
  26. package/dist/filesystem-remote.js.map +1 -0
  27. package/dist/filesystem-worker.d.ts +2 -0
  28. package/dist/filesystem-worker.d.ts.map +1 -0
  29. package/dist/filesystem-worker.js +269 -0
  30. package/dist/filesystem-worker.js.map +1 -0
  31. package/dist/filesystem.d.ts +115 -0
  32. package/dist/filesystem.d.ts.map +1 -0
  33. package/dist/filesystem.js +1179 -0
  34. package/dist/filesystem.js.map +1 -0
  35. package/dist/index.d.ts +20 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +18 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/inspect.d.ts +7 -0
  40. package/dist/inspect.d.ts.map +1 -0
  41. package/dist/inspect.js +32 -0
  42. package/dist/inspect.js.map +1 -0
  43. package/dist/local-sockets.d.ts +13 -0
  44. package/dist/local-sockets.d.ts.map +1 -0
  45. package/dist/local-sockets.js +139 -0
  46. package/dist/local-sockets.js.map +1 -0
  47. package/dist/loopback-host.d.ts +14 -0
  48. package/dist/loopback-host.d.ts.map +1 -0
  49. package/dist/loopback-host.js +476 -0
  50. package/dist/loopback-host.js.map +1 -0
  51. package/dist/loopback-protocol.d.ts +41 -0
  52. package/dist/loopback-protocol.d.ts.map +1 -0
  53. package/dist/loopback-protocol.js +2 -0
  54. package/dist/loopback-protocol.js.map +1 -0
  55. package/dist/memory.d.ts +39 -0
  56. package/dist/memory.d.ts.map +1 -0
  57. package/dist/memory.js +520 -0
  58. package/dist/memory.js.map +1 -0
  59. package/dist/module-layout.d.ts +9 -0
  60. package/dist/module-layout.d.ts.map +1 -0
  61. package/dist/module-layout.js +105 -0
  62. package/dist/module-layout.js.map +1 -0
  63. package/dist/network-protocol.d.ts +43 -0
  64. package/dist/network-protocol.d.ts.map +1 -0
  65. package/dist/network-protocol.js +26 -0
  66. package/dist/network-protocol.js.map +1 -0
  67. package/dist/network-worker.d.ts +2 -0
  68. package/dist/network-worker.d.ts.map +1 -0
  69. package/dist/network-worker.js +943 -0
  70. package/dist/network-worker.js.map +1 -0
  71. package/dist/network.d.ts +52 -0
  72. package/dist/network.d.ts.map +1 -0
  73. package/dist/network.js +427 -0
  74. package/dist/network.js.map +1 -0
  75. package/dist/process-adapter.d.ts +14 -0
  76. package/dist/process-adapter.d.ts.map +1 -0
  77. package/dist/process-adapter.js +45 -0
  78. package/dist/process-adapter.js.map +1 -0
  79. package/dist/process-bridge.d.ts +54 -0
  80. package/dist/process-bridge.d.ts.map +1 -0
  81. package/dist/process-bridge.js +150 -0
  82. package/dist/process-bridge.js.map +1 -0
  83. package/dist/program.d.ts +49 -0
  84. package/dist/program.d.ts.map +1 -0
  85. package/dist/program.js +204 -0
  86. package/dist/program.js.map +1 -0
  87. package/dist/runtime.d.ts +9 -0
  88. package/dist/runtime.d.ts.map +1 -0
  89. package/dist/runtime.js +528 -0
  90. package/dist/runtime.js.map +1 -0
  91. package/dist/shared-pipes.d.ts +44 -0
  92. package/dist/shared-pipes.d.ts.map +1 -0
  93. package/dist/shared-pipes.js +306 -0
  94. package/dist/shared-pipes.js.map +1 -0
  95. package/dist/snapshot-filesystem.d.ts +31 -0
  96. package/dist/snapshot-filesystem.d.ts.map +1 -0
  97. package/dist/snapshot-filesystem.js +247 -0
  98. package/dist/snapshot-filesystem.js.map +1 -0
  99. package/dist/stdin.d.ts +36 -0
  100. package/dist/stdin.d.ts.map +1 -0
  101. package/dist/stdin.js +143 -0
  102. package/dist/stdin.js.map +1 -0
  103. package/dist/symlink.d.ts +8 -0
  104. package/dist/symlink.d.ts.map +1 -0
  105. package/dist/symlink.js +66 -0
  106. package/dist/symlink.js.map +1 -0
  107. package/dist/system.d.ts +41 -0
  108. package/dist/system.d.ts.map +1 -0
  109. package/dist/system.js +305 -0
  110. package/dist/system.js.map +1 -0
  111. package/dist/thread-coordinator-worker.d.ts +25 -0
  112. package/dist/thread-coordinator-worker.d.ts.map +1 -0
  113. package/dist/thread-coordinator-worker.js +49 -0
  114. package/dist/thread-coordinator-worker.js.map +1 -0
  115. package/dist/thread-worker.d.ts +2 -0
  116. package/dist/thread-worker.d.ts.map +1 -0
  117. package/dist/thread-worker.js +725 -0
  118. package/dist/thread-worker.js.map +1 -0
  119. package/dist/threads.d.ts +44 -0
  120. package/dist/threads.d.ts.map +1 -0
  121. package/dist/threads.js +154 -0
  122. package/dist/threads.js.map +1 -0
  123. package/dist/types.d.ts +112 -0
  124. package/dist/types.d.ts.map +1 -0
  125. package/dist/types.js +2 -0
  126. package/dist/types.js.map +1 -0
  127. package/dist/websocket-peer.d.ts +38 -0
  128. package/dist/websocket-peer.d.ts.map +1 -0
  129. package/dist/websocket-peer.js +407 -0
  130. package/dist/websocket-peer.js.map +1 -0
  131. package/dist/worker-program-protocol.d.ts +71 -0
  132. package/dist/worker-program-protocol.d.ts.map +1 -0
  133. package/dist/worker-program-protocol.js +2 -0
  134. package/dist/worker-program-protocol.js.map +1 -0
  135. package/dist/worker-program-worker.d.ts +2 -0
  136. package/dist/worker-program-worker.d.ts.map +1 -0
  137. package/dist/worker-program-worker.js +109 -0
  138. package/dist/worker-program-worker.js.map +1 -0
  139. package/dist/worker-program.d.ts +58 -0
  140. package/dist/worker-program.d.ts.map +1 -0
  141. package/dist/worker-program.js +425 -0
  142. package/dist/worker-program.js.map +1 -0
  143. package/package.json +23 -0
@@ -0,0 +1,105 @@
1
+ export function createImportedMemory(source, supplied) {
2
+ if (supplied)
3
+ return supplied;
4
+ if (source instanceof WebAssembly.Module)
5
+ return;
6
+ const bytes = source instanceof Uint8Array ? source : new Uint8Array(source);
7
+ const layout = findImportedMemory(bytes);
8
+ if (!layout)
9
+ return;
10
+ if (layout.shared && layout.maximum === undefined) {
11
+ throw new Error("A shared WALI memory import must declare a maximum.");
12
+ }
13
+ return new WebAssembly.Memory({
14
+ initial: layout.initial,
15
+ ...(layout.maximum === undefined ? {} : { maximum: layout.maximum }),
16
+ ...(layout.shared ? { shared: true } : {}),
17
+ });
18
+ }
19
+ export function findImportedMemory(bytes) {
20
+ const cursor = { offset: 0 };
21
+ const expected = [0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00];
22
+ if (!readBytes(bytes, cursor, 8).every((value, index) => value === expected[index])) {
23
+ throw new Error("Not a WebAssembly binary.");
24
+ }
25
+ while (cursor.offset < bytes.byteLength) {
26
+ const sectionId = bytes[cursor.offset++];
27
+ const sectionSize = readUleb(bytes, cursor);
28
+ const sectionEnd = cursor.offset + sectionSize;
29
+ if (sectionEnd > bytes.byteLength)
30
+ throw new Error("Malformed WebAssembly section size.");
31
+ if (sectionId !== 2) {
32
+ cursor.offset = sectionEnd;
33
+ continue;
34
+ }
35
+ const count = readUleb(bytes, cursor);
36
+ for (let index = 0; index < count; index += 1) {
37
+ const module = readName(bytes, cursor);
38
+ const name = readName(bytes, cursor);
39
+ const kind = bytes[cursor.offset++];
40
+ if (kind === undefined)
41
+ throw new Error("Malformed WebAssembly import section.");
42
+ if (kind === 2) {
43
+ const layout = readLimits(bytes, cursor);
44
+ if (module === "env" && name === "memory")
45
+ return layout;
46
+ }
47
+ else {
48
+ skipImportType(bytes, cursor, kind);
49
+ }
50
+ }
51
+ return;
52
+ }
53
+ }
54
+ function readLimits(bytes, cursor) {
55
+ const flags = readUleb(bytes, cursor);
56
+ const initial = readUleb(bytes, cursor);
57
+ const maximum = flags & 1 ? readUleb(bytes, cursor) : undefined;
58
+ return { initial, ...(maximum === undefined ? {} : { maximum }), shared: Boolean(flags & 2) };
59
+ }
60
+ function skipImportType(bytes, cursor, kind) {
61
+ if (kind === 0) {
62
+ readUleb(bytes, cursor);
63
+ return;
64
+ }
65
+ if (kind === 1) {
66
+ cursor.offset += 1;
67
+ readLimits(bytes, cursor);
68
+ return;
69
+ }
70
+ if (kind === 3) {
71
+ cursor.offset += 2;
72
+ return;
73
+ }
74
+ if (kind === 4) {
75
+ cursor.offset += 1;
76
+ readUleb(bytes, cursor);
77
+ return;
78
+ }
79
+ throw new Error(`Unsupported WebAssembly import kind: ${kind}.`);
80
+ }
81
+ function readUleb(bytes, cursor) {
82
+ let value = 0;
83
+ let shift = 0;
84
+ for (;;) {
85
+ const byte = bytes[cursor.offset++];
86
+ if (byte === undefined || shift > 35)
87
+ throw new Error("Malformed WebAssembly ULEB128 value.");
88
+ value += (byte & 0x7f) * (2 ** shift);
89
+ if ((byte & 0x80) === 0)
90
+ return value;
91
+ shift += 7;
92
+ }
93
+ }
94
+ function readBytes(bytes, cursor, length) {
95
+ const end = cursor.offset + length;
96
+ if (end > bytes.byteLength)
97
+ throw new Error("Unexpected end of WebAssembly binary.");
98
+ const value = bytes.subarray(cursor.offset, end);
99
+ cursor.offset = end;
100
+ return value;
101
+ }
102
+ function readName(bytes, cursor) {
103
+ return new TextDecoder("utf-8", { fatal: true }).decode(readBytes(bytes, cursor, readUleb(bytes, cursor)));
104
+ }
105
+ //# sourceMappingURL=module-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-layout.js","sourceRoot":"","sources":["../src/module-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare const NETWORK_FD_MIN = 20000;
2
+ export declare const NETWORK_PAYLOAD_BYTES: number;
3
+ export declare const enum NetworkOperation {
4
+ Socket = 1,
5
+ Connect = 2,
6
+ Send = 3,
7
+ Receive = 4,
8
+ Close = 5,
9
+ Fcntl = 6,
10
+ Poll = 7,
11
+ Shutdown = 8,
12
+ Duplicate = 9,
13
+ SocketName = 10,
14
+ EpollControl = 11,
15
+ EpollWait = 12,
16
+ EpollCreate = 13,
17
+ EventFd = 14,
18
+ SocketPair = 15,
19
+ TimerFdCreate = 16,
20
+ TimerFdSetTime = 17,
21
+ Bind = 18,
22
+ Listen = 19,
23
+ Accept = 20
24
+ }
25
+ export interface WaliNetworkChannel {
26
+ port: MessagePort;
27
+ control: SharedArrayBuffer;
28
+ payload: SharedArrayBuffer;
29
+ }
30
+ export interface NetworkWorkerInitializeMessage {
31
+ kind: "initialize";
32
+ allowedHosts: string[];
33
+ relayUrl: string;
34
+ sharedPipes?: import("./shared-pipes.js").WaliSharedPipeState;
35
+ stdin?: SharedArrayBuffer;
36
+ stdioAliasRegistry?: SharedArrayBuffer;
37
+ loopbackPort?: MessagePort;
38
+ }
39
+ export interface NetworkWorkerAttachMessage extends WaliNetworkChannel {
40
+ kind: "attach";
41
+ }
42
+ export type NetworkWorkerMessage = NetworkWorkerInitializeMessage | NetworkWorkerAttachMessage;
43
+ //# sourceMappingURL=network-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-protocol.d.ts","sourceRoot":"","sources":["../src/network-protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,qBAAqB,QAAa,CAAC;AAEhD,0BAAkB,gBAAgB;IAChC,MAAM,IAAI;IACV,OAAO,IAAI;IACX,IAAI,IAAI;IACR,OAAO,IAAI;IACX,KAAK,IAAI;IACT,KAAK,IAAI;IACT,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,UAAU,KAAK;IACf,YAAY,KAAK;IACjB,SAAS,KAAK;IACd,WAAW,KAAK;IAChB,OAAO,KAAK;IACZ,UAAU,KAAK;IACf,aAAa,KAAK;IAClB,cAAc,KAAK;IACnB,IAAI,KAAK;IACT,MAAM,KAAK;IACX,MAAM,KAAK;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,mBAAmB,EAAE,mBAAmB,CAAC;IAC9D,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,8BAA8B,GAAG,0BAA0B,CAAC"}
@@ -0,0 +1,26 @@
1
+ export const NETWORK_FD_MIN = 20_000;
2
+ export const NETWORK_PAYLOAD_BYTES = 256 * 1024;
3
+ export var NetworkOperation;
4
+ (function (NetworkOperation) {
5
+ NetworkOperation[NetworkOperation["Socket"] = 1] = "Socket";
6
+ NetworkOperation[NetworkOperation["Connect"] = 2] = "Connect";
7
+ NetworkOperation[NetworkOperation["Send"] = 3] = "Send";
8
+ NetworkOperation[NetworkOperation["Receive"] = 4] = "Receive";
9
+ NetworkOperation[NetworkOperation["Close"] = 5] = "Close";
10
+ NetworkOperation[NetworkOperation["Fcntl"] = 6] = "Fcntl";
11
+ NetworkOperation[NetworkOperation["Poll"] = 7] = "Poll";
12
+ NetworkOperation[NetworkOperation["Shutdown"] = 8] = "Shutdown";
13
+ NetworkOperation[NetworkOperation["Duplicate"] = 9] = "Duplicate";
14
+ NetworkOperation[NetworkOperation["SocketName"] = 10] = "SocketName";
15
+ NetworkOperation[NetworkOperation["EpollControl"] = 11] = "EpollControl";
16
+ NetworkOperation[NetworkOperation["EpollWait"] = 12] = "EpollWait";
17
+ NetworkOperation[NetworkOperation["EpollCreate"] = 13] = "EpollCreate";
18
+ NetworkOperation[NetworkOperation["EventFd"] = 14] = "EventFd";
19
+ NetworkOperation[NetworkOperation["SocketPair"] = 15] = "SocketPair";
20
+ NetworkOperation[NetworkOperation["TimerFdCreate"] = 16] = "TimerFdCreate";
21
+ NetworkOperation[NetworkOperation["TimerFdSetTime"] = 17] = "TimerFdSetTime";
22
+ NetworkOperation[NetworkOperation["Bind"] = 18] = "Bind";
23
+ NetworkOperation[NetworkOperation["Listen"] = 19] = "Listen";
24
+ NetworkOperation[NetworkOperation["Accept"] = 20] = "Accept";
25
+ })(NetworkOperation || (NetworkOperation = {}));
26
+ //# sourceMappingURL=network-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-protocol.js","sourceRoot":"","sources":["../src/network-protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEhD,MAAM,CAAN,IAAkB,gBAqBjB;AArBD,WAAkB,gBAAgB;IAChC,2DAAU,CAAA;IACV,6DAAW,CAAA;IACX,uDAAQ,CAAA;IACR,6DAAW,CAAA;IACX,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,uDAAQ,CAAA;IACR,+DAAY,CAAA;IACZ,iEAAa,CAAA;IACb,oEAAe,CAAA;IACf,wEAAiB,CAAA;IACjB,kEAAc,CAAA;IACd,sEAAgB,CAAA;IAChB,8DAAY,CAAA;IACZ,oEAAe,CAAA;IACf,0EAAkB,CAAA;IAClB,4EAAmB,CAAA;IACnB,wDAAS,CAAA;IACT,4DAAW,CAAA;IACX,4DAAW,CAAA;AACb,CAAC,EArBiB,gBAAgB,KAAhB,gBAAgB,QAqBjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=network-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-worker.d.ts","sourceRoot":"","sources":["../src/network-worker.ts"],"names":[],"mappings":""}