@wasm-idle/core 1.0.0-next.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.
@@ -0,0 +1,42 @@
1
+ export type DebugCommand = 'continue' | 'stepInto' | 'nextLine' | 'stepOut';
2
+ export type DebugPauseReason = 'breakpoint' | 'entry' | 'step' | 'nextLine' | 'stepOut';
3
+ export interface DebugVariable {
4
+ name: string;
5
+ value: string;
6
+ }
7
+ export type DebugVariableKind = 'number' | 'bool' | 'array' | 'text';
8
+ export type DebugArrayElementKind = 'int' | 'float' | 'double' | 'bool' | 'char';
9
+ export interface DebugStructFieldMetadata {
10
+ name: string;
11
+ kind: DebugArrayElementKind;
12
+ offset: number;
13
+ }
14
+ export interface DebugVariableMetadata {
15
+ slot: number;
16
+ name: string;
17
+ kind: DebugVariableKind;
18
+ fromLine: number;
19
+ toLine: number;
20
+ elementKind?: DebugArrayElementKind;
21
+ length?: number;
22
+ dimensions?: number[];
23
+ structFields?: DebugStructFieldMetadata[];
24
+ structSize?: number;
25
+ }
26
+ export interface DebugFrame {
27
+ functionName: string;
28
+ line: number;
29
+ }
30
+ export type DebugSessionEvent = {
31
+ type: 'pause';
32
+ line: number;
33
+ reason: DebugPauseReason;
34
+ locals: DebugVariable[];
35
+ callStack: DebugFrame[];
36
+ } | {
37
+ type: 'resume';
38
+ command: DebugCommand;
39
+ } | {
40
+ type: 'stop';
41
+ };
42
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACrE,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,iBAAiB,GAC1B;IACA,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
package/dist/debug.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export { DEFAULT_DEFERRED_PROGRESS_LANGUAGES, isDeferredProgressLanguage, normalizeLanguageId, supportedLanguageIds, type WasmIdleLanguageId } from './languages.js';
2
+ export type { DebugArrayElementKind, DebugCommand, DebugFrame, DebugPauseReason, DebugSessionEvent, DebugStructFieldMetadata, DebugVariable, DebugVariableKind, DebugVariableMetadata } from './debug.js';
3
+ export { phaseProgress, progressBandsForLanguage, type ProgressLike } from './progress.js';
4
+ export { createRuntimeAssetsKey, type RuntimeAssetKeyInput, type RuntimeAssetKeySource } from './runtime-assets.js';
5
+ export type { TerminalControl } from './terminal.js';
6
+ export { createPlaygroundBinding, type BoundSandbox, type PlaygroundBinding, type PlaygroundTerminalProps, type Sandbox, type SandboxExecutionOptions, type SandboxLoader, type SandboxProgress, type SandboxRuntimeAssets } from './sandbox.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mCAAmC,EACnC,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EACN,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACN,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { DEFAULT_DEFERRED_PROGRESS_LANGUAGES, isDeferredProgressLanguage, normalizeLanguageId, supportedLanguageIds } from './languages.js';
2
+ export { phaseProgress, progressBandsForLanguage } from './progress.js';
3
+ export { createRuntimeAssetsKey } from './runtime-assets.js';
4
+ export { createPlaygroundBinding } from './sandbox.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mCAAmC,EACnC,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EAEpB,MAAM,gBAAgB,CAAC;AAYxB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAqB,MAAM,eAAe,CAAC;AAC3F,OAAO,EACN,sBAAsB,EAGtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,uBAAuB,EASvB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type WasmIdleLanguageId = 'PYTHON3' | 'PYTHON' | 'PYPY3' | 'C' | 'CPP' | 'OBJC' | 'OBJECTIVEC' | 'OBJECTIVE_C' | 'OBJECTIVE-C' | 'JAVA' | 'RUST' | 'GO' | 'D' | 'DLANG' | 'CSHARP' | 'C#' | 'FSHARP' | 'F#' | 'VBNET' | 'VB' | 'VISUALBASIC' | 'ELIXIR' | 'ERLANG' | 'ERL' | 'PROLOG' | 'SWIPL' | 'SWI' | 'GLEAM' | 'PERL' | 'TCL' | 'TCLSH' | 'AWK' | 'GAWK' | 'PASCAL' | 'PAS' | 'FPC' | 'FORTH' | 'GFORTH' | 'J' | 'BQN' | 'JANET' | 'JULIA' | 'JL' | 'NIM' | 'NIMROD' | 'BASH' | 'SH' | 'SHELL' | 'CLOJURESCRIPT' | 'CLJS' | 'FORTRAN' | 'F77' | 'COBOL' | 'COB' | 'CBL' | 'GNUCOBOL' | 'TINYGO' | 'OCAML' | 'JAVASCRIPT' | 'JS' | 'TYPESCRIPT' | 'TS' | 'ASSEMBLYSCRIPT' | 'AS' | 'WAT' | 'WASM' | 'WASM32' | 'LUA' | 'ZIG' | 'LISP' | 'SCHEME' | 'SCM' | 'RUBY' | 'RB' | 'HASKELL' | 'HS' | 'R' | 'OCTAVE' | 'MATLAB' | 'DUCKDB' | 'SQLITE' | 'SQL' | 'PHP';
2
+ export declare const supportedLanguageIds: readonly ["PYTHON3", "PYPY3", "C", "CPP", "OBJC", "JAVA", "RUST", "GO", "D", "CSHARP", "FSHARP", "VBNET", "ELIXIR", "ERLANG", "PROLOG", "GLEAM", "PERL", "TCL", "AWK", "PASCAL", "FORTH", "J", "BQN", "JANET", "JULIA", "NIM", "BASH", "CLOJURESCRIPT", "FORTRAN", "COBOL", "TINYGO", "OCAML", "JAVASCRIPT", "TYPESCRIPT", "ASSEMBLYSCRIPT", "WAT", "WASM", "LUA", "ZIG", "LISP", "RUBY", "HASKELL", "R", "OCTAVE", "DUCKDB", "SQLITE", "PHP"];
3
+ export declare const DEFAULT_DEFERRED_PROGRESS_LANGUAGES: Set<string>;
4
+ export declare function normalizeLanguageId(language: string): string;
5
+ export declare function isDeferredProgressLanguage(language: string): boolean;
6
+ //# sourceMappingURL=languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC3B,SAAS,GACT,QAAQ,GACR,OAAO,GACP,GAAG,GACH,KAAK,GACL,MAAM,GACN,YAAY,GACZ,aAAa,GACb,aAAa,GACb,MAAM,GACN,MAAM,GACN,IAAI,GACJ,GAAG,GACH,OAAO,GACP,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,IAAI,GACJ,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,OAAO,GACP,KAAK,GACL,OAAO,GACP,MAAM,GACN,KAAK,GACL,OAAO,GACP,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,KAAK,GACL,OAAO,GACP,QAAQ,GACR,GAAG,GACH,KAAK,GACL,OAAO,GACP,OAAO,GACP,IAAI,GACJ,KAAK,GACL,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,OAAO,GACP,eAAe,GACf,MAAM,GACN,SAAS,GACT,KAAK,GACL,OAAO,GACP,KAAK,GACL,KAAK,GACL,UAAU,GACV,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,IAAI,GACJ,YAAY,GACZ,IAAI,GACJ,gBAAgB,GAChB,IAAI,GACJ,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,IAAI,GACJ,SAAS,GACT,IAAI,GACJ,GAAG,GACH,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,KAAK,CAAC;AAET,eAAO,MAAM,oBAAoB,gbAgDvB,CAAC;AAEX,eAAO,MAAM,mCAAmC,aA0C9C,CAAC;AAyCH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpE"}
@@ -0,0 +1,138 @@
1
+ export const supportedLanguageIds = [
2
+ 'PYTHON3',
3
+ 'PYPY3',
4
+ 'C',
5
+ 'CPP',
6
+ 'OBJC',
7
+ 'JAVA',
8
+ 'RUST',
9
+ 'GO',
10
+ 'D',
11
+ 'CSHARP',
12
+ 'FSHARP',
13
+ 'VBNET',
14
+ 'ELIXIR',
15
+ 'ERLANG',
16
+ 'PROLOG',
17
+ 'GLEAM',
18
+ 'PERL',
19
+ 'TCL',
20
+ 'AWK',
21
+ 'PASCAL',
22
+ 'FORTH',
23
+ 'J',
24
+ 'BQN',
25
+ 'JANET',
26
+ 'JULIA',
27
+ 'NIM',
28
+ 'BASH',
29
+ 'CLOJURESCRIPT',
30
+ 'FORTRAN',
31
+ 'COBOL',
32
+ 'TINYGO',
33
+ 'OCAML',
34
+ 'JAVASCRIPT',
35
+ 'TYPESCRIPT',
36
+ 'ASSEMBLYSCRIPT',
37
+ 'WAT',
38
+ 'WASM',
39
+ 'LUA',
40
+ 'ZIG',
41
+ 'LISP',
42
+ 'RUBY',
43
+ 'HASKELL',
44
+ 'R',
45
+ 'OCTAVE',
46
+ 'DUCKDB',
47
+ 'SQLITE',
48
+ 'PHP'
49
+ ];
50
+ export const DEFAULT_DEFERRED_PROGRESS_LANGUAGES = new Set([
51
+ 'OBJC',
52
+ 'RUST',
53
+ 'GO',
54
+ 'D',
55
+ 'CSHARP',
56
+ 'FSHARP',
57
+ 'VBNET',
58
+ 'TINYGO',
59
+ 'ERLANG',
60
+ 'PROLOG',
61
+ 'GLEAM',
62
+ 'PERL',
63
+ 'TCL',
64
+ 'AWK',
65
+ 'PASCAL',
66
+ 'FORTH',
67
+ 'J',
68
+ 'BQN',
69
+ 'JANET',
70
+ 'JULIA',
71
+ 'NIM',
72
+ 'BASH',
73
+ 'CLOJURESCRIPT',
74
+ 'FORTRAN',
75
+ 'COBOL',
76
+ 'OCAML',
77
+ 'JAVASCRIPT',
78
+ 'TYPESCRIPT',
79
+ 'ASSEMBLYSCRIPT',
80
+ 'WAT',
81
+ 'WASM',
82
+ 'LUA',
83
+ 'ZIG',
84
+ 'LISP',
85
+ 'RUBY',
86
+ 'HASKELL',
87
+ 'R',
88
+ 'OCTAVE',
89
+ 'DUCKDB',
90
+ 'SQLITE',
91
+ 'PHP'
92
+ ]);
93
+ const LANGUAGE_ALIASES = {
94
+ 'C#': 'CSHARP',
95
+ 'F#': 'FSHARP',
96
+ VB: 'VBNET',
97
+ VISUALBASIC: 'VBNET',
98
+ OBJECTIVEC: 'OBJC',
99
+ OBJECTIVE_C: 'OBJC',
100
+ 'OBJECTIVE-C': 'OBJC',
101
+ ERL: 'ERLANG',
102
+ SWIPL: 'PROLOG',
103
+ SWI: 'PROLOG',
104
+ TCLSH: 'TCL',
105
+ GAWK: 'AWK',
106
+ PAS: 'PASCAL',
107
+ FPC: 'PASCAL',
108
+ GFORTH: 'FORTH',
109
+ JL: 'JULIA',
110
+ NIMROD: 'NIM',
111
+ SH: 'BASH',
112
+ SHELL: 'BASH',
113
+ CLJS: 'CLOJURESCRIPT',
114
+ F77: 'FORTRAN',
115
+ COB: 'COBOL',
116
+ CBL: 'COBOL',
117
+ GNUCOBOL: 'COBOL',
118
+ DLANG: 'D',
119
+ JS: 'JAVASCRIPT',
120
+ AS: 'ASSEMBLYSCRIPT',
121
+ PYTHON: 'PYTHON3',
122
+ HS: 'HASKELL',
123
+ RB: 'RUBY',
124
+ SCHEME: 'LISP',
125
+ SCM: 'LISP',
126
+ TS: 'TYPESCRIPT',
127
+ MATLAB: 'OCTAVE',
128
+ SQL: 'SQLITE',
129
+ WASM32: 'WASM'
130
+ };
131
+ export function normalizeLanguageId(language) {
132
+ const upper = language.trim().toUpperCase();
133
+ return LANGUAGE_ALIASES[upper] || upper;
134
+ }
135
+ export function isDeferredProgressLanguage(language) {
136
+ return DEFAULT_DEFERRED_PROGRESS_LANGUAGES.has(normalizeLanguageId(language));
137
+ }
138
+ //# sourceMappingURL=languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface ProgressLike {
2
+ set?: (value: number, stage?: string) => void;
3
+ }
4
+ export declare function phaseProgress(progress: ProgressLike | undefined, start: number, end: number, fallbackStage?: string): ProgressLike | undefined;
5
+ export declare function progressBandsForLanguage(_language: string): {
6
+ load: readonly [0, 0.2];
7
+ prepare: readonly [0.2, 0.99];
8
+ };
9
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACpB,YAAY,GAAG,SAAS,CAQ1B;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM;;;EAKzD"}
@@ -0,0 +1,17 @@
1
+ export function phaseProgress(progress, start, end, fallbackStage) {
2
+ if (!progress)
3
+ return undefined;
4
+ return {
5
+ set(value, stage) {
6
+ const clamped = Number.isFinite(value) ? Math.min(Math.max(value, 0), 1) : 0;
7
+ progress.set?.(start + (end - start) * clamped, stage || fallbackStage);
8
+ }
9
+ };
10
+ }
11
+ export function progressBandsForLanguage(_language) {
12
+ return {
13
+ load: [0, 0.2],
14
+ prepare: [0.2, 0.99]
15
+ };
16
+ }
17
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,aAAa,CAC5B,QAAkC,EAClC,KAAa,EACb,GAAW,EACX,aAAsB;IAEtB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO;QACN,GAAG,CAAC,KAAa,EAAE,KAAc;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,OAAO,EAAE,KAAK,IAAI,aAAa,CAAC,CAAC;QACzE,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACzD,OAAO;QACN,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAU;QACvB,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAU;KAC7B,CAAC;AACH,CAAC"}
@@ -0,0 +1,163 @@
1
+ export interface RuntimeAssetKeySource {
2
+ rootUrl?: string;
3
+ python?: {
4
+ baseUrl?: string;
5
+ loader?: unknown;
6
+ };
7
+ java?: {
8
+ baseUrl?: string;
9
+ loader?: unknown;
10
+ };
11
+ clang?: {
12
+ baseUrl?: string;
13
+ loader?: unknown;
14
+ };
15
+ clangd?: {
16
+ baseUrl?: string;
17
+ loader?: unknown;
18
+ };
19
+ rust?: {
20
+ compilerUrl?: string;
21
+ debugModuleUrl?: string;
22
+ };
23
+ go?: {
24
+ compilerUrl?: string;
25
+ };
26
+ assemblyscript?: {
27
+ moduleUrl?: string;
28
+ };
29
+ duckdb?: {
30
+ moduleUrl?: string;
31
+ };
32
+ d?: {
33
+ moduleUrl?: string;
34
+ };
35
+ dotnet?: {
36
+ moduleUrl?: string;
37
+ };
38
+ elixir?: {
39
+ bundleUrl?: string;
40
+ };
41
+ erlang?: {
42
+ bundleUrl?: string;
43
+ };
44
+ ocaml?: {
45
+ moduleUrl?: string;
46
+ manifestUrl?: string;
47
+ };
48
+ tinygo?: {
49
+ appUrl?: string;
50
+ moduleUrl?: string;
51
+ };
52
+ typescript?: {
53
+ moduleUrl?: string;
54
+ };
55
+ wat?: {
56
+ moduleUrl?: string;
57
+ };
58
+ lua?: {
59
+ moduleUrl?: string;
60
+ };
61
+ haskell?: {
62
+ moduleUrl?: string;
63
+ rootfsUrl?: string;
64
+ bsdtarUrl?: string;
65
+ mainSoPath?: string;
66
+ searchDirs?: string[];
67
+ };
68
+ zig?: {
69
+ compilerUrl?: string;
70
+ stdlibUrl?: string;
71
+ };
72
+ lisp?: {
73
+ moduleUrl?: string;
74
+ };
75
+ ruby?: {
76
+ moduleUrl?: string;
77
+ wasmUrl?: string;
78
+ };
79
+ r?: {
80
+ baseUrl?: string;
81
+ };
82
+ octave?: {
83
+ baseUrl?: string;
84
+ workerUrl?: string;
85
+ manifestUrl?: string;
86
+ };
87
+ prolog?: {
88
+ baseUrl?: string;
89
+ workerUrl?: string;
90
+ };
91
+ gleam?: {
92
+ baseUrl?: string;
93
+ workerUrl?: string;
94
+ manifestUrl?: string;
95
+ };
96
+ perl?: {
97
+ baseUrl?: string;
98
+ workerUrl?: string;
99
+ };
100
+ tcl?: {
101
+ baseUrl?: string;
102
+ workerUrl?: string;
103
+ };
104
+ awk?: {
105
+ baseUrl?: string;
106
+ workerUrl?: string;
107
+ };
108
+ pascal?: {
109
+ baseUrl?: string;
110
+ workerUrl?: string;
111
+ };
112
+ forth?: {
113
+ baseUrl?: string;
114
+ workerUrl?: string;
115
+ };
116
+ j?: {
117
+ baseUrl?: string;
118
+ workerUrl?: string;
119
+ };
120
+ bqn?: {
121
+ baseUrl?: string;
122
+ workerUrl?: string;
123
+ };
124
+ janet?: {
125
+ baseUrl?: string;
126
+ workerUrl?: string;
127
+ };
128
+ julia?: {
129
+ baseUrl?: string;
130
+ workerUrl?: string;
131
+ };
132
+ nim?: {
133
+ baseUrl?: string;
134
+ workerUrl?: string;
135
+ };
136
+ bash?: {
137
+ moduleUrl?: string;
138
+ webcUrl?: string;
139
+ workerUrl?: string;
140
+ };
141
+ clojurescript?: {
142
+ baseUrl?: string;
143
+ workerUrl?: string;
144
+ };
145
+ cobol?: {
146
+ baseUrl?: string;
147
+ };
148
+ swift?: {
149
+ baseUrl?: string;
150
+ workerUrl?: string;
151
+ manifestUrl?: string;
152
+ };
153
+ sqlite?: {
154
+ moduleUrl?: string;
155
+ wasmUrl?: string;
156
+ };
157
+ php?: {
158
+ moduleUrl?: string;
159
+ };
160
+ }
161
+ export type RuntimeAssetKeyInput = string | RuntimeAssetKeySource | undefined;
162
+ export declare function createRuntimeAssetsKey(runtimeAssets: RuntimeAssetKeyInput): string | undefined;
163
+ //# sourceMappingURL=runtime-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-assets.d.ts","sourceRoot":"","sources":["../src/runtime-assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ const hasValue = (value) => !!value;
2
+ const joinStringList = (value) => (Array.isArray(value) ? value.join('\0') : '');
3
+ const RUNTIME_ASSET_KEY_FIELDS = [
4
+ { runtime: 'python', property: 'baseUrl', key: 'pythonBaseUrl' },
5
+ { runtime: 'python', property: 'loader', key: 'hasPythonLoader', serialize: hasValue },
6
+ { runtime: 'java', property: 'baseUrl', key: 'javaBaseUrl' },
7
+ { runtime: 'java', property: 'loader', key: 'hasJavaLoader', serialize: hasValue },
8
+ { runtime: 'clang', property: 'baseUrl', key: 'clangBaseUrl' },
9
+ { runtime: 'clang', property: 'loader', key: 'hasClangLoader', serialize: hasValue },
10
+ { runtime: 'clangd', property: 'baseUrl', key: 'clangdBaseUrl' },
11
+ { runtime: 'clangd', property: 'loader', key: 'hasClangdLoader', serialize: hasValue },
12
+ { runtime: 'rust', property: 'compilerUrl', key: 'rustCompilerUrl' },
13
+ { runtime: 'rust', property: 'debugModuleUrl', key: 'rustDebugModuleUrl' },
14
+ { runtime: 'go', property: 'compilerUrl', key: 'goCompilerUrl' },
15
+ { runtime: 'assemblyscript', property: 'moduleUrl', key: 'assemblyScriptModuleUrl' },
16
+ { runtime: 'duckdb', property: 'moduleUrl', key: 'duckDbModuleUrl' },
17
+ { runtime: 'd', property: 'moduleUrl', key: 'dModuleUrl' },
18
+ { runtime: 'dotnet', property: 'moduleUrl', key: 'dotnetModuleUrl' },
19
+ { runtime: 'elixir', property: 'bundleUrl', key: 'elixirBundleUrl' },
20
+ { runtime: 'erlang', property: 'bundleUrl', key: 'erlangBundleUrl' },
21
+ { runtime: 'ocaml', property: 'moduleUrl', key: 'ocamlModuleUrl' },
22
+ { runtime: 'ocaml', property: 'manifestUrl', key: 'ocamlManifestUrl' },
23
+ { runtime: 'tinygo', property: 'appUrl', key: 'tinygoAppUrl' },
24
+ { runtime: 'tinygo', property: 'moduleUrl', key: 'tinygoModuleUrl' },
25
+ { runtime: 'typescript', property: 'moduleUrl', key: 'typeScriptModuleUrl' },
26
+ { runtime: 'wat', property: 'moduleUrl', key: 'watModuleUrl' },
27
+ { runtime: 'lua', property: 'moduleUrl', key: 'luaModuleUrl' },
28
+ { runtime: 'haskell', property: 'moduleUrl', key: 'haskellModuleUrl' },
29
+ { runtime: 'haskell', property: 'rootfsUrl', key: 'haskellRootfsUrl' },
30
+ { runtime: 'haskell', property: 'bsdtarUrl', key: 'haskellBsdtarUrl' },
31
+ { runtime: 'haskell', property: 'mainSoPath', key: 'haskellMainSoPath' },
32
+ {
33
+ runtime: 'haskell',
34
+ property: 'searchDirs',
35
+ key: 'haskellSearchDirs',
36
+ serialize: joinStringList
37
+ },
38
+ { runtime: 'zig', property: 'compilerUrl', key: 'zigCompilerUrl' },
39
+ { runtime: 'zig', property: 'stdlibUrl', key: 'zigStdlibUrl' },
40
+ { runtime: 'lisp', property: 'moduleUrl', key: 'lispModuleUrl' },
41
+ { runtime: 'ruby', property: 'moduleUrl', key: 'rubyModuleUrl' },
42
+ { runtime: 'ruby', property: 'wasmUrl', key: 'rubyWasmUrl' },
43
+ { runtime: 'r', property: 'baseUrl', key: 'rBaseUrl' },
44
+ { runtime: 'octave', property: 'baseUrl', key: 'octaveBaseUrl' },
45
+ { runtime: 'octave', property: 'workerUrl', key: 'octaveWorkerUrl' },
46
+ { runtime: 'octave', property: 'manifestUrl', key: 'octaveManifestUrl' },
47
+ { runtime: 'prolog', property: 'baseUrl', key: 'prologBaseUrl' },
48
+ { runtime: 'prolog', property: 'workerUrl', key: 'prologWorkerUrl' },
49
+ { runtime: 'gleam', property: 'baseUrl', key: 'gleamBaseUrl' },
50
+ { runtime: 'gleam', property: 'workerUrl', key: 'gleamWorkerUrl' },
51
+ { runtime: 'gleam', property: 'manifestUrl', key: 'gleamManifestUrl' },
52
+ { runtime: 'perl', property: 'baseUrl', key: 'perlBaseUrl' },
53
+ { runtime: 'perl', property: 'workerUrl', key: 'perlWorkerUrl' },
54
+ { runtime: 'tcl', property: 'baseUrl', key: 'tclBaseUrl' },
55
+ { runtime: 'tcl', property: 'workerUrl', key: 'tclWorkerUrl' },
56
+ { runtime: 'awk', property: 'baseUrl', key: 'awkBaseUrl' },
57
+ { runtime: 'awk', property: 'workerUrl', key: 'awkWorkerUrl' },
58
+ { runtime: 'pascal', property: 'baseUrl', key: 'pascalBaseUrl' },
59
+ { runtime: 'pascal', property: 'workerUrl', key: 'pascalWorkerUrl' },
60
+ { runtime: 'forth', property: 'baseUrl', key: 'forthBaseUrl' },
61
+ { runtime: 'forth', property: 'workerUrl', key: 'forthWorkerUrl' },
62
+ { runtime: 'j', property: 'baseUrl', key: 'jBaseUrl' },
63
+ { runtime: 'j', property: 'workerUrl', key: 'jWorkerUrl' },
64
+ { runtime: 'bqn', property: 'baseUrl', key: 'bqnBaseUrl' },
65
+ { runtime: 'bqn', property: 'workerUrl', key: 'bqnWorkerUrl' },
66
+ { runtime: 'janet', property: 'baseUrl', key: 'janetBaseUrl' },
67
+ { runtime: 'janet', property: 'workerUrl', key: 'janetWorkerUrl' },
68
+ { runtime: 'julia', property: 'baseUrl', key: 'juliaBaseUrl' },
69
+ { runtime: 'julia', property: 'workerUrl', key: 'juliaWorkerUrl' },
70
+ { runtime: 'nim', property: 'baseUrl', key: 'nimBaseUrl' },
71
+ { runtime: 'nim', property: 'workerUrl', key: 'nimWorkerUrl' },
72
+ { runtime: 'bash', property: 'moduleUrl', key: 'bashModuleUrl' },
73
+ { runtime: 'bash', property: 'webcUrl', key: 'bashWebcUrl' },
74
+ { runtime: 'bash', property: 'workerUrl', key: 'bashWorkerUrl' },
75
+ { runtime: 'clojurescript', property: 'baseUrl', key: 'clojurescriptBaseUrl' },
76
+ { runtime: 'clojurescript', property: 'workerUrl', key: 'clojurescriptWorkerUrl' },
77
+ { runtime: 'cobol', property: 'baseUrl', key: 'cobolBaseUrl' },
78
+ { runtime: 'swift', property: 'baseUrl', key: 'swiftBaseUrl' },
79
+ { runtime: 'swift', property: 'workerUrl', key: 'swiftWorkerUrl' },
80
+ { runtime: 'swift', property: 'manifestUrl', key: 'swiftManifestUrl' },
81
+ { runtime: 'sqlite', property: 'moduleUrl', key: 'sqliteModuleUrl' },
82
+ { runtime: 'sqlite', property: 'wasmUrl', key: 'sqliteWasmUrl' },
83
+ { runtime: 'php', property: 'moduleUrl', key: 'phpModuleUrl' }
84
+ ];
85
+ const runtimeAssetRecord = (runtimeAssets, runtime) => runtimeAssets[runtime];
86
+ const readRuntimeAssetKeyField = (runtimeAssets, field) => {
87
+ const value = runtimeAssetRecord(runtimeAssets, field.runtime)?.[field.property];
88
+ if (field.serialize)
89
+ return field.serialize(value);
90
+ return typeof value === 'string' ? value : '';
91
+ };
92
+ export function createRuntimeAssetsKey(runtimeAssets) {
93
+ if (typeof runtimeAssets === 'string')
94
+ return runtimeAssets;
95
+ if (!runtimeAssets)
96
+ return undefined;
97
+ const keyParts = {
98
+ rootUrl: runtimeAssets.rootUrl || ''
99
+ };
100
+ for (const field of RUNTIME_ASSET_KEY_FIELDS) {
101
+ keyParts[field.key] = readRuntimeAssetKeyField(runtimeAssets, field);
102
+ }
103
+ return JSON.stringify(keyParts);
104
+ }
105
+ //# sourceMappingURL=runtime-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-assets.js","sourceRoot":"","sources":["../src/runtime-assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { DebugCommand, DebugSessionEvent } from './debug.js';
2
+ import type { ProgressLike } from './progress.js';
3
+ import type { RuntimeAssetKeySource } from './runtime-assets.js';
4
+ export type SandboxRuntimeAssets = string | RuntimeAssetKeySource;
5
+ export type SandboxProgress = ProgressLike;
6
+ export interface SandboxExecutionOptions {
7
+ [key: string]: unknown;
8
+ }
9
+ export interface Sandbox {
10
+ constructor: unknown;
11
+ eof: () => void;
12
+ load: (runtimeAssets?: SandboxRuntimeAssets, code?: string, log?: boolean, args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress) => Promise<void>;
13
+ run: (code: string, prepare: boolean, log?: boolean, prog?: SandboxProgress, args?: string[], options?: SandboxExecutionOptions) => Promise<boolean | string>;
14
+ terminate: () => void;
15
+ clear: () => Promise<void>;
16
+ kill?: () => void;
17
+ write?: (data: string) => void;
18
+ output?: (data: string) => void;
19
+ ondebug?: (event: DebugSessionEvent) => void;
20
+ oncompilerdiagnostic?: (diagnostic: unknown) => void;
21
+ debugCommand?: (command: DebugCommand) => void;
22
+ setBreakpoints?: (lines: number[]) => void;
23
+ debugEvaluate?: (expression: string) => Promise<string>;
24
+ image?: (data: {
25
+ mime: string;
26
+ b64: string;
27
+ ts?: number;
28
+ }) => void;
29
+ elapse?: number;
30
+ }
31
+ export interface BoundSandbox extends Omit<Sandbox, 'load'> {
32
+ load: (code?: string, log?: boolean, args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress) => Promise<void>;
33
+ runtimeAssets: SandboxRuntimeAssets;
34
+ }
35
+ export interface PlaygroundTerminalProps {
36
+ playground: PlaygroundBinding;
37
+ runtimeAssets: SandboxRuntimeAssets;
38
+ }
39
+ export interface PlaygroundBinding {
40
+ runtimeAssets: SandboxRuntimeAssets;
41
+ terminalProps: PlaygroundTerminalProps;
42
+ load: (language: string) => Promise<BoundSandbox>;
43
+ }
44
+ export type SandboxLoader = (language: string) => Promise<Sandbox>;
45
+ export declare function createPlaygroundBinding(runtimeAssets: SandboxRuntimeAssets, loadSandbox: SandboxLoader): PlaygroundBinding;
46
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ function bindRuntimeAssets(sandbox, runtimeAssets) {
2
+ return new Proxy(sandbox, {
3
+ get(target, prop, receiver) {
4
+ if (prop === 'runtimeAssets')
5
+ return runtimeAssets;
6
+ if (prop === 'load') {
7
+ return (code = '', log = true, args = [], options = {}, progress) => target.load(runtimeAssets, code, log, args, options, progress);
8
+ }
9
+ const value = Reflect.get(target, prop, receiver);
10
+ return typeof value === 'function' ? value.bind(target) : value;
11
+ },
12
+ set(target, prop, value, receiver) {
13
+ return Reflect.set(target, prop, value, receiver);
14
+ }
15
+ });
16
+ }
17
+ export function createPlaygroundBinding(runtimeAssets, loadSandbox) {
18
+ const binding = {
19
+ runtimeAssets,
20
+ terminalProps: {},
21
+ async load(language) {
22
+ return bindRuntimeAssets(await loadSandbox(language), runtimeAssets);
23
+ }
24
+ };
25
+ binding.terminalProps = {
26
+ playground: binding,
27
+ runtimeAssets
28
+ };
29
+ return binding;
30
+ }
31
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAoEA,SAAS,iBAAiB,CAAC,OAAgB,EAAE,aAAmC;IAC/E,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACzB,IAAI,IAAI,KAAK,eAAe;gBAAE,OAAO,aAAa,CAAC;YACnD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,CACN,IAAI,GAAG,EAAE,EACT,GAAG,GAAG,IAAI,EACV,OAAiB,EAAE,EACnB,UAAmC,EAAE,EACrC,QAA0B,EACzB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ;YAChC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;KACD,CAAiB,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,aAAmC,EACnC,WAA0B;IAE1B,MAAM,OAAO,GAAG;QACf,aAAa;QACb,aAAa,EAAE,EAAwC;QACvD,KAAK,CAAC,IAAI,CAAC,QAAgB;YAC1B,OAAO,iBAAiB,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QACtE,CAAC;KACoB,CAAC;IACvB,OAAO,CAAC,aAAa,GAAG;QACvB,UAAU,EAAE,OAAO;QACnB,aAAa;KACb,CAAC;IACF,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { DebugCommand } from './debug.js';
2
+ import type { ProgressLike } from './progress.js';
3
+ import type { SandboxExecutionOptions } from './sandbox.js';
4
+ export interface TerminalControl {
5
+ clear: () => Promise<void>;
6
+ prepare: (language: string, code: string, log?: boolean, progress?: ProgressLike, args?: string[], options?: SandboxExecutionOptions) => Promise<boolean>;
7
+ run: (language: string, code: string, log?: boolean, progress?: ProgressLike, args?: string[], options?: SandboxExecutionOptions) => Promise<boolean | string>;
8
+ destroy: () => Promise<void>;
9
+ stop?: () => Promise<void>;
10
+ debugCommand?: (command: DebugCommand) => Promise<void>;
11
+ setBreakpoints?: (lines: number[]) => Promise<void>;
12
+ debugEvaluate?: (expression: string) => Promise<string>;
13
+ waitForInput?: () => Promise<void>;
14
+ write: (input: string) => Promise<void>;
15
+ eof?: () => Promise<void>;
16
+ }
17
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,YAAY,EACvB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,uBAAuB,KAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,GAAG,EAAE,CACJ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,YAAY,EACvB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,uBAAuB,KAC7B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@wasm-idle/core",
3
+ "version": "1.0.0-next.0",
4
+ "description": "Framework-neutral contracts and helpers for wasm-idle hosts",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public",
19
+ "tag": "next"
20
+ },
21
+ "devDependencies": {
22
+ "typescript": "^6.0.2"
23
+ },
24
+ "scripts": {
25
+ "build": "rm -rf dist && tsc -p tsconfig.json",
26
+ "check": "tsc -p tsconfig.json --noEmit"
27
+ }
28
+ }