@ebowwa/sandbox 0.1.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.
Files changed (108) hide show
  1. package/dist/compilers/index.d.ts +24 -0
  2. package/dist/compilers/index.d.ts.map +1 -0
  3. package/dist/compilers/index.js +42 -0
  4. package/dist/compilers/index.js.map +1 -0
  5. package/dist/compilers/javascript.d.ts +117 -0
  6. package/dist/compilers/javascript.d.ts.map +1 -0
  7. package/dist/compilers/javascript.js +462 -0
  8. package/dist/compilers/javascript.js.map +1 -0
  9. package/dist/compilers/python.d.ts +140 -0
  10. package/dist/compilers/python.d.ts.map +1 -0
  11. package/dist/compilers/python.js +650 -0
  12. package/dist/compilers/python.js.map +1 -0
  13. package/dist/compilers/typescript.d.ts +99 -0
  14. package/dist/compilers/typescript.d.ts.map +1 -0
  15. package/dist/compilers/typescript.js +323 -0
  16. package/dist/compilers/typescript.js.map +1 -0
  17. package/dist/core/cell.d.ts +160 -0
  18. package/dist/core/cell.d.ts.map +1 -0
  19. package/dist/core/cell.js +319 -0
  20. package/dist/core/cell.js.map +1 -0
  21. package/dist/core/compiler.d.ts +126 -0
  22. package/dist/core/compiler.d.ts.map +1 -0
  23. package/dist/core/compiler.js +123 -0
  24. package/dist/core/compiler.js.map +1 -0
  25. package/dist/core/index.d.ts +19 -0
  26. package/dist/core/index.d.ts.map +1 -0
  27. package/dist/core/index.js +14 -0
  28. package/dist/core/index.js.map +1 -0
  29. package/dist/core/limits.d.ts +173 -0
  30. package/dist/core/limits.d.ts.map +1 -0
  31. package/dist/core/limits.js +440 -0
  32. package/dist/core/limits.js.map +1 -0
  33. package/dist/core/permissions.d.ts +103 -0
  34. package/dist/core/permissions.d.ts.map +1 -0
  35. package/dist/core/permissions.js +341 -0
  36. package/dist/core/permissions.js.map +1 -0
  37. package/dist/core/runtime.d.ts +127 -0
  38. package/dist/core/runtime.d.ts.map +1 -0
  39. package/dist/core/runtime.js +325 -0
  40. package/dist/core/runtime.js.map +1 -0
  41. package/dist/core/types.d.ts +380 -0
  42. package/dist/core/types.d.ts.map +1 -0
  43. package/dist/core/types.js +67 -0
  44. package/dist/core/types.js.map +1 -0
  45. package/dist/index.d.ts +145 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +279 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/multi/index.d.ts +9 -0
  50. package/dist/multi/index.d.ts.map +1 -0
  51. package/dist/multi/index.js +7 -0
  52. package/dist/multi/index.js.map +1 -0
  53. package/dist/multi/polyglot.d.ts +179 -0
  54. package/dist/multi/polyglot.d.ts.map +1 -0
  55. package/dist/multi/polyglot.js +319 -0
  56. package/dist/multi/polyglot.js.map +1 -0
  57. package/dist/runtimes/docker.d.ts +97 -0
  58. package/dist/runtimes/docker.d.ts.map +1 -0
  59. package/dist/runtimes/docker.js +368 -0
  60. package/dist/runtimes/docker.js.map +1 -0
  61. package/dist/runtimes/index.d.ts +11 -0
  62. package/dist/runtimes/index.d.ts.map +1 -0
  63. package/dist/runtimes/index.js +9 -0
  64. package/dist/runtimes/index.js.map +1 -0
  65. package/dist/runtimes/process.d.ts +47 -0
  66. package/dist/runtimes/process.d.ts.map +1 -0
  67. package/dist/runtimes/process.js +230 -0
  68. package/dist/runtimes/process.js.map +1 -0
  69. package/dist/session/index.d.ts +12 -0
  70. package/dist/session/index.d.ts.map +1 -0
  71. package/dist/session/index.js +9 -0
  72. package/dist/session/index.js.map +1 -0
  73. package/dist/session/kernel.d.ts +199 -0
  74. package/dist/session/kernel.d.ts.map +1 -0
  75. package/dist/session/kernel.js +400 -0
  76. package/dist/session/kernel.js.map +1 -0
  77. package/dist/session/notebook.d.ts +168 -0
  78. package/dist/session/notebook.d.ts.map +1 -0
  79. package/dist/session/notebook.js +499 -0
  80. package/dist/session/notebook.js.map +1 -0
  81. package/dist/session/repl.d.ts +159 -0
  82. package/dist/session/repl.d.ts.map +1 -0
  83. package/dist/session/repl.js +409 -0
  84. package/dist/session/repl.js.map +1 -0
  85. package/package.json +142 -0
  86. package/src/compilers/index.ts +80 -0
  87. package/src/compilers/javascript.ts +571 -0
  88. package/src/compilers/python.ts +785 -0
  89. package/src/compilers/typescript.ts +442 -0
  90. package/src/core/cell.ts +439 -0
  91. package/src/core/compiler.ts +250 -0
  92. package/src/core/index.ts +123 -0
  93. package/src/core/limits.ts +508 -0
  94. package/src/core/permissions.ts +409 -0
  95. package/src/core/runtime.ts +499 -0
  96. package/src/core/types.ts +528 -0
  97. package/src/global.d.ts +59 -0
  98. package/src/index.ts +515 -0
  99. package/src/multi/index.ts +22 -0
  100. package/src/multi/polyglot.ts +461 -0
  101. package/src/runtimes/docker.ts +501 -0
  102. package/src/runtimes/index.ts +21 -0
  103. package/src/runtimes/process.ts +316 -0
  104. package/src/session/index.ts +41 -0
  105. package/src/session/kernel.ts +553 -0
  106. package/src/session/notebook.ts +635 -0
  107. package/src/session/repl.ts +521 -0
  108. package/src/wasm2wasm.d.ts +35 -0
@@ -0,0 +1,99 @@
1
+ /**
2
+ * TypeScript Compiler for @ebowwa/sandbox
3
+ *
4
+ * Compiles TypeScript to WASM via JavaScript.
5
+ * Uses esbuild for fast TypeScript transpilation, then delegates to JavaScript compiler.
6
+ */
7
+ import { BaseCompiler, type CompileResult, type CompilerOptions, type LanguageCapabilities } from "../core/compiler.js";
8
+ import type { Permissions, Limits } from "../core/types.js";
9
+ /** TypeScript compiler options */
10
+ export interface TypeScriptCompilerOptions extends CompilerOptions {
11
+ /** TypeScript target */
12
+ target?: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
13
+ /** Module format */
14
+ module?: "esm" | "cjs" | "iife";
15
+ /** Enable strict type checking */
16
+ strict?: boolean;
17
+ /** Emit declaration files */
18
+ declaration?: boolean;
19
+ /** Source map generation */
20
+ sourceMap?: boolean;
21
+ /** JSX transform */
22
+ jsx?: "transform" | "preserve" | "automatic";
23
+ /** JSX factory */
24
+ jsxFactory?: string;
25
+ /** JSX fragment factory */
26
+ jsxFragment?: string;
27
+ /** Use AssemblyScript for compilation */
28
+ useAssemblyScript?: boolean;
29
+ /** Transpiler to use */
30
+ transpiler?: "esbuild" | "swc" | "tsc";
31
+ }
32
+ /**
33
+ * TypeScript Compiler
34
+ *
35
+ * Transpiles TypeScript to JavaScript, then compiles to WASM.
36
+ * Supports both standard TypeScript and AssemblyScript syntax.
37
+ */
38
+ export declare class TypeScriptCompiler extends BaseCompiler {
39
+ readonly language: "typescript";
40
+ private jsCompiler;
41
+ private esbuildAvailable;
42
+ private swcAvailable;
43
+ constructor();
44
+ /**
45
+ * Check if TypeScript compiler is available
46
+ */
47
+ isAvailable(): Promise<boolean>;
48
+ /**
49
+ * Validate TypeScript syntax
50
+ */
51
+ validate(source: string): Promise<{
52
+ valid: boolean;
53
+ error?: string;
54
+ }>;
55
+ /**
56
+ * Compile TypeScript to WASM
57
+ *
58
+ * 1. Transpile TypeScript to JavaScript
59
+ * 2. Use JavaScript compiler for WASM compilation
60
+ */
61
+ compile(source: string, permissions: Permissions, limits: Limits, options?: TypeScriptCompilerOptions): Promise<CompileResult>;
62
+ /**
63
+ * Get language capabilities
64
+ */
65
+ getCapabilities(): LanguageCapabilities;
66
+ /**
67
+ * Transpile TypeScript to JavaScript
68
+ */
69
+ private transpile;
70
+ /**
71
+ * Transpile using esbuild
72
+ */
73
+ private transpileWithEsbuild;
74
+ /**
75
+ * Transpile using SWC
76
+ */
77
+ private transpileWithSwc;
78
+ /**
79
+ * Fallback transpilation using regex (basic type stripping)
80
+ *
81
+ * Note: This is not a complete TypeScript implementation.
82
+ * Use esbuild or swc for production code.
83
+ */
84
+ private transpileWithRegex;
85
+ /**
86
+ * Get the best available transpiler
87
+ */
88
+ private getTranspiler;
89
+ /**
90
+ * Detect if source uses AssemblyScript-specific types
91
+ */
92
+ private detectAssemblyScript;
93
+ /**
94
+ * Basic syntax check for TypeScript
95
+ */
96
+ private checkBasicSyntax;
97
+ }
98
+ export declare const typescriptCompiler: TypeScriptCompiler;
99
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/compilers/typescript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG5D,kCAAkC;AAClC,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,wBAAwB;IACxB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1G,oBAAoB;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB;IACxB,UAAU,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;CACxC;AAmBD;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAE1C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,YAAY,CAAwB;;IAO5C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC3E;;;;;OAKG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,aAAa,CAAC;IAmDzB;;OAEG;IACH,eAAe,IAAI,oBAAoB;IAWvC;;OAEG;YACW,SAAS;IA0BvB;;OAEG;YACW,oBAAoB;IAiClC;;OAEG;YACW,gBAAgB;IAiC9B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;OAEG;YACW,aAAa;IAqD3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA2BzB;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * TypeScript Compiler for @ebowwa/sandbox
3
+ *
4
+ * Compiles TypeScript to WASM via JavaScript.
5
+ * Uses esbuild for fast TypeScript transpilation, then delegates to JavaScript compiler.
6
+ */
7
+ import { BaseCompiler, } from "../core/compiler.js";
8
+ import { JavaScriptCompiler } from "./javascript.js";
9
+ /**
10
+ * TypeScript Compiler
11
+ *
12
+ * Transpiles TypeScript to JavaScript, then compiles to WASM.
13
+ * Supports both standard TypeScript and AssemblyScript syntax.
14
+ */
15
+ export class TypeScriptCompiler extends BaseCompiler {
16
+ language = "typescript";
17
+ jsCompiler;
18
+ esbuildAvailable = null;
19
+ swcAvailable = null;
20
+ constructor() {
21
+ super();
22
+ this.jsCompiler = new JavaScriptCompiler();
23
+ }
24
+ /**
25
+ * Check if TypeScript compiler is available
26
+ */
27
+ async isAvailable() {
28
+ // TypeScript compiler is always available (we have built-in support)
29
+ // But transpilers may vary
30
+ return true;
31
+ }
32
+ /**
33
+ * Validate TypeScript syntax
34
+ */
35
+ async validate(source) {
36
+ try {
37
+ const transpiler = await this.getTranspiler("esbuild");
38
+ if (transpiler?.type === "esbuild") {
39
+ await transpiler.module.transform(source, {
40
+ loader: "ts",
41
+ target: "es2020",
42
+ tsconfigRaw: {
43
+ compilerOptions: {
44
+ strict: true,
45
+ noEmit: true,
46
+ },
47
+ },
48
+ });
49
+ return { valid: true };
50
+ }
51
+ // Fallback: basic regex check for common syntax errors
52
+ const syntaxErrors = this.checkBasicSyntax(source);
53
+ if (syntaxErrors) {
54
+ return { valid: false, error: syntaxErrors };
55
+ }
56
+ return { valid: true };
57
+ }
58
+ catch (error) {
59
+ return {
60
+ valid: false,
61
+ error: error instanceof Error ? error.message : String(error),
62
+ };
63
+ }
64
+ }
65
+ /**
66
+ * Compile TypeScript to WASM
67
+ *
68
+ * 1. Transpile TypeScript to JavaScript
69
+ * 2. Use JavaScript compiler for WASM compilation
70
+ */
71
+ async compile(source, permissions, limits, options) {
72
+ const opts = {
73
+ target: "es2020",
74
+ module: "esm",
75
+ strict: true,
76
+ declaration: false,
77
+ sourceMap: options?.sourceMap ?? false,
78
+ jsx: "transform",
79
+ jsxFactory: "React.createElement",
80
+ jsxFragment: "React.Fragment",
81
+ useAssemblyScript: false,
82
+ transpiler: "esbuild",
83
+ ...options,
84
+ };
85
+ // Check if source uses AssemblyScript types
86
+ const isAssemblyScript = this.detectAssemblyScript(source);
87
+ const effectiveUseAssemblyScript = opts.useAssemblyScript || isAssemblyScript;
88
+ // Transpile TypeScript to JavaScript
89
+ const transpiled = await this.transpile(source, {
90
+ ...opts,
91
+ useAssemblyScript: effectiveUseAssemblyScript,
92
+ });
93
+ // Delegate to JavaScript compiler
94
+ const jsOptions = {
95
+ target: opts.target,
96
+ module: opts.module,
97
+ strict: opts.strict,
98
+ useAssemblyScript: effectiveUseAssemblyScript,
99
+ optimize: opts.optimize,
100
+ debug: opts.debug,
101
+ sourceMap: opts.sourceMap,
102
+ };
103
+ const result = await this.jsCompiler.compile(transpiled.code, permissions, limits, jsOptions);
104
+ // Include source map if generated
105
+ if (transpiled.map) {
106
+ result.sourceMap = transpiled.map;
107
+ }
108
+ return result;
109
+ }
110
+ /**
111
+ * Get language capabilities
112
+ */
113
+ getCapabilities() {
114
+ return {
115
+ repl: true,
116
+ stateful: true,
117
+ compiled: false, // TS transpiles to JS, which is interpreted
118
+ gc: true, // JavaScript has garbage collection
119
+ imports: true,
120
+ async: true,
121
+ };
122
+ }
123
+ /**
124
+ * Transpile TypeScript to JavaScript
125
+ */
126
+ async transpile(source, options) {
127
+ // If using AssemblyScript, don't transpile types
128
+ if (options.useAssemblyScript) {
129
+ return {
130
+ code: source,
131
+ map: undefined,
132
+ };
133
+ }
134
+ const transpiler = await this.getTranspiler(options.transpiler || "esbuild");
135
+ if (transpiler?.type === "esbuild") {
136
+ return this.transpileWithEsbuild(source, options, transpiler.module);
137
+ }
138
+ if (transpiler?.type === "swc") {
139
+ return this.transpileWithSwc(source, options, transpiler.module);
140
+ }
141
+ // Fallback: strip types using regex (not recommended for production)
142
+ return this.transpileWithRegex(source);
143
+ }
144
+ /**
145
+ * Transpile using esbuild
146
+ */
147
+ async transpileWithEsbuild(source, options, esbuild) {
148
+ const result = await esbuild.transform(source, {
149
+ loader: "ts",
150
+ target: options.target || "es2020",
151
+ format: options.module === "cjs" ? "cjs" : "esm",
152
+ minify: options.optimize,
153
+ sourcemap: options.sourceMap ? "external" : false,
154
+ jsx: options.jsx === "automatic" ? "automatic" : "transform",
155
+ jsxFactory: options.jsxFactory,
156
+ jsxFragment: options.jsxFragment,
157
+ tsconfigRaw: {
158
+ compilerOptions: {
159
+ strict: options.strict,
160
+ target: options.target,
161
+ module: options.module?.toUpperCase(),
162
+ esModuleInterop: true,
163
+ allowSyntheticDefaultImports: true,
164
+ resolveJsonModule: true,
165
+ declaration: options.declaration,
166
+ },
167
+ },
168
+ });
169
+ return {
170
+ code: result.code,
171
+ map: result.map,
172
+ };
173
+ }
174
+ /**
175
+ * Transpile using SWC
176
+ */
177
+ async transpileWithSwc(source, options, swc) {
178
+ const result = await swc.transform(source, {
179
+ jsc: {
180
+ parser: {
181
+ syntax: "typescript",
182
+ tsx: options.jsx !== "preserve",
183
+ },
184
+ transform: {
185
+ react: {
186
+ runtime: options.jsx === "automatic" ? "automatic" : "classic",
187
+ pragma: options.jsxFactory,
188
+ pragmaFrag: options.jsxFragment,
189
+ },
190
+ },
191
+ target: options.target?.replace("es", "es") || "es2020",
192
+ },
193
+ module: {
194
+ type: options.module === "cjs" ? "commonjs" : "es6",
195
+ },
196
+ minify: options.optimize,
197
+ sourceMaps: options.sourceMap,
198
+ });
199
+ return {
200
+ code: result.code,
201
+ map: result.map,
202
+ };
203
+ }
204
+ /**
205
+ * Fallback transpilation using regex (basic type stripping)
206
+ *
207
+ * Note: This is not a complete TypeScript implementation.
208
+ * Use esbuild or swc for production code.
209
+ */
210
+ transpileWithRegex(source) {
211
+ let code = source;
212
+ // Strip type annotations
213
+ // This is a simplified implementation
214
+ const patterns = [
215
+ // Remove type annotations: : Type
216
+ /:\s*[A-Z][a-zA-Z0-9_]*(?:<[^>]+>)?(?:\[\])?(?:\s*\|\s*[A-Z][a-zA-Z0-9_]*(?:<[^>]+>)?(?:\[\])?)*/g,
217
+ // Remove interface declarations
218
+ /interface\s+[A-Z][a-zA-Z0-9_]*\s*(?:<[^>]+>)?\s*\{[^}]*\}/g,
219
+ // Remove type declarations
220
+ /type\s+[A-Z][a-zA-Z0-9_]*\s*(?:<[^>]+>)?\s*=\s*[^;]+;/g,
221
+ // Remove enum declarations (convert to const objects)
222
+ /enum\s+([A-Z][a-zA-Z0-9_]*)\s*\{([^}]*)\}/g,
223
+ // Remove generic type parameters
224
+ /<[^>]+>/g,
225
+ // Remove 'as' type assertions
226
+ /\s+as\s+[A-Z][a-zA-Z0-9_]*(?:<[^>]+>)?/g,
227
+ // Remove 'satisfies' type assertions
228
+ /\s+satisfies\s+[A-Z][a-zA-Z0-9_]*(?:<[^>]+>)?/g,
229
+ // Remove 'declare' statements
230
+ /declare\s+(?:const|let|var|function|class|interface|type|enum)\s+[^;]+;/g,
231
+ // Remove 'public', 'private', 'protected', 'readonly' modifiers
232
+ /\b(?:public|private|protected|readonly)\s+/g,
233
+ // Remove 'abstract' modifier
234
+ /\babstract\s+/g,
235
+ // Remove parameter properties in constructors
236
+ /constructor\s*\(([^)]*)\)/g,
237
+ ];
238
+ for (const pattern of patterns) {
239
+ code = code.replace(pattern, "");
240
+ }
241
+ return {
242
+ code,
243
+ map: undefined,
244
+ };
245
+ }
246
+ /**
247
+ * Get the best available transpiler
248
+ */
249
+ async getTranspiler(preferred) {
250
+ if (preferred === "esbuild" || preferred === "tsc") {
251
+ if (this.esbuildAvailable === null) {
252
+ try {
253
+ await import("esbuild");
254
+ this.esbuildAvailable = true;
255
+ }
256
+ catch {
257
+ this.esbuildAvailable = false;
258
+ }
259
+ }
260
+ if (this.esbuildAvailable) {
261
+ const esbuild = await import("esbuild");
262
+ return { type: "esbuild", module: esbuild };
263
+ }
264
+ }
265
+ if (preferred === "swc") {
266
+ if (this.swcAvailable === null) {
267
+ try {
268
+ await import("@swc/core");
269
+ this.swcAvailable = true;
270
+ }
271
+ catch {
272
+ this.swcAvailable = false;
273
+ }
274
+ }
275
+ if (this.swcAvailable) {
276
+ const swc = await import("@swc/core");
277
+ return { type: "swc", module: swc };
278
+ }
279
+ }
280
+ // Fallback to esbuild if swc was preferred but not available
281
+ if (preferred === "swc" && this.esbuildAvailable !== false) {
282
+ return this.getTranspiler("esbuild");
283
+ }
284
+ return null;
285
+ }
286
+ /**
287
+ * Detect if source uses AssemblyScript-specific types
288
+ */
289
+ detectAssemblyScript(source) {
290
+ // AssemblyScript uses specific types: i8, i16, i32, i64, f32, f64, usize, etc.
291
+ const assemblyScriptTypes = /\b(i8|i16|i32|i64|f32|f64|usize|isize|bool)\b/;
292
+ return assemblyScriptTypes.test(source);
293
+ }
294
+ /**
295
+ * Basic syntax check for TypeScript
296
+ */
297
+ checkBasicSyntax(source) {
298
+ // Check for common syntax errors
299
+ const errors = [];
300
+ // Check for unmatched braces
301
+ const openBraces = (source.match(/\{/g) || []).length;
302
+ const closeBraces = (source.match(/\}/g) || []).length;
303
+ if (openBraces !== closeBraces) {
304
+ errors.push(`Unmatched braces: ${openBraces} open, ${closeBraces} close`);
305
+ }
306
+ // Check for unmatched parentheses
307
+ const openParens = (source.match(/\(/g) || []).length;
308
+ const closeParens = (source.match(/\)/g) || []).length;
309
+ if (openParens !== closeParens) {
310
+ errors.push(`Unmatched parentheses: ${openParens} open, ${closeParens} close`);
311
+ }
312
+ // Check for unmatched brackets
313
+ const openBrackets = (source.match(/\[/g) || []).length;
314
+ const closeBrackets = (source.match(/\]/g) || []).length;
315
+ if (openBrackets !== closeBrackets) {
316
+ errors.push(`Unmatched brackets: ${openBrackets} open, ${closeBrackets} close`);
317
+ }
318
+ return errors.length > 0 ? errors.join("; ") : null;
319
+ }
320
+ }
321
+ // Default instance
322
+ export const typescriptCompiler = new TypeScriptCompiler();
323
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/compilers/typescript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Cell Primitive
3
+ *
4
+ * Represents a single unit of executable code.
5
+ * Cells can be combined into notebooks for sequential execution.
6
+ */
7
+ import type { Cell, Language, ExecutionResult, ExecutionContext } from "./types.js";
8
+ import type { CompileResult } from "./compiler.js";
9
+ /**
10
+ * Cell metadata
11
+ */
12
+ export interface CellMetadata {
13
+ /** Cell display order */
14
+ index?: number;
15
+ /** Cell is collapsed */
16
+ collapsed?: boolean;
17
+ /** Cell execution count */
18
+ executionCount?: number;
19
+ /** Tags for organization */
20
+ tags?: string[];
21
+ /** Custom metadata */
22
+ [key: string]: unknown;
23
+ }
24
+ /**
25
+ * Cell execution state
26
+ */
27
+ export type CellState = "idle" | "queued" | "running" | "success" | "error" | "cancelled";
28
+ /**
29
+ * Extended cell with execution tracking
30
+ */
31
+ export interface ExecutableCell extends Cell {
32
+ /** Current state */
33
+ state: CellState;
34
+ /** Last execution result */
35
+ result?: ExecutionResult;
36
+ /** Execution count (notebook-style) */
37
+ executionCount?: number;
38
+ /** Last execution timestamp */
39
+ lastRun?: Date;
40
+ /** Dependencies on other cells */
41
+ dependencies?: string[];
42
+ /** Exports from this cell */
43
+ exports?: string[];
44
+ }
45
+ /**
46
+ * Cell Builder
47
+ *
48
+ * Fluent API for creating cells.
49
+ */
50
+ export declare class CellBuilder {
51
+ private id;
52
+ private language;
53
+ private source;
54
+ private metadata;
55
+ setId(id: string): this;
56
+ setLanguage(lang: Language): this;
57
+ setSource(code: string): this;
58
+ addMetadata(key: string, value: unknown): this;
59
+ setIndex(index: number): this;
60
+ addTag(tag: string): this;
61
+ build(): Cell;
62
+ buildExecutable(): ExecutableCell;
63
+ }
64
+ /**
65
+ * Cell Executor
66
+ *
67
+ * Handles execution of individual cells.
68
+ */
69
+ export declare class CellExecutor {
70
+ private compileFn;
71
+ private executeFn;
72
+ constructor(compileFn: (cell: Cell) => Promise<CompileResult>, executeFn: (compiled: CompileResult, context: ExecutionContext) => Promise<ExecutionResult>);
73
+ /**
74
+ * Execute a cell
75
+ */
76
+ execute(cell: ExecutableCell, context: ExecutionContext): Promise<ExecutionResult>;
77
+ }
78
+ /**
79
+ * Cell Registry
80
+ *
81
+ * Tracks cells and their relationships.
82
+ */
83
+ export declare class CellRegistry {
84
+ private cells;
85
+ private dependencies;
86
+ private dependents;
87
+ /**
88
+ * Add a cell
89
+ */
90
+ add(cell: ExecutableCell): void;
91
+ /**
92
+ * Get a cell by ID
93
+ */
94
+ get(id: string): ExecutableCell | undefined;
95
+ /**
96
+ * Remove a cell
97
+ */
98
+ remove(id: string): void;
99
+ /**
100
+ * Get all cells
101
+ */
102
+ getAll(): ExecutableCell[];
103
+ /**
104
+ * Get cells by language
105
+ */
106
+ getByLanguage(language: Language): ExecutableCell[];
107
+ /**
108
+ * Get cells by state
109
+ */
110
+ getByState(state: CellState): ExecutableCell[];
111
+ /**
112
+ * Add dependency between cells
113
+ */
114
+ addDependency(cellId: string, dependsOn: string): void;
115
+ /**
116
+ * Get dependencies of a cell
117
+ */
118
+ getDependencies(cellId: string): string[];
119
+ /**
120
+ * Get dependents of a cell (cells that depend on this one)
121
+ */
122
+ getDependents(cellId: string): string[];
123
+ /**
124
+ * Get execution order (topological sort)
125
+ */
126
+ getExecutionOrder(): string[];
127
+ /**
128
+ * Check if cell has circular dependencies
129
+ */
130
+ hasCircularDependency(cellId: string): boolean;
131
+ /**
132
+ * Get cells that need re-execution after a cell changes
133
+ */
134
+ getCellsToReexecute(cellId: string): string[];
135
+ /**
136
+ * Clear all cells
137
+ */
138
+ clear(): void;
139
+ /**
140
+ * Get count
141
+ */
142
+ get count(): number;
143
+ }
144
+ /**
145
+ * Create a simple cell
146
+ */
147
+ export declare function createCell(language: Language, source: string, options?: {
148
+ id?: string;
149
+ metadata?: CellMetadata;
150
+ dependencies?: string[];
151
+ }): ExecutableCell;
152
+ /**
153
+ * Create cells from code blocks
154
+ */
155
+ export declare function createCellsFromMarkdown(markdown: string, defaultLanguage?: Language): ExecutableCell[];
156
+ /**
157
+ * Convert cells to markdown
158
+ */
159
+ export declare function cellsToMarkdown(cells: ExecutableCell[]): string;
160
+ //# sourceMappingURL=cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../src/core/cell.ts"],"names":[],"mappings":"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"}