ai-evaluate 2.1.7 → 2.2.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 (102) hide show
  1. package/README.md +61 -4
  2. package/dist/evaluate.d.ts.map +1 -1
  3. package/dist/evaluate.js +18 -16
  4. package/dist/evaluate.js.map +1 -1
  5. package/dist/index.d.ts +2 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/miniflare-pool.d.ts +109 -0
  10. package/dist/miniflare-pool.d.ts.map +1 -0
  11. package/dist/miniflare-pool.js +308 -0
  12. package/dist/miniflare-pool.js.map +1 -0
  13. package/dist/node.d.ts.map +1 -1
  14. package/dist/node.js +42 -10
  15. package/dist/node.js.map +1 -1
  16. package/dist/shared.d.ts +66 -0
  17. package/dist/shared.d.ts.map +1 -0
  18. package/dist/shared.js +169 -0
  19. package/dist/shared.js.map +1 -0
  20. package/dist/static/index.d.ts +111 -0
  21. package/dist/static/index.d.ts.map +1 -0
  22. package/dist/static/index.js +347 -0
  23. package/dist/static/index.js.map +1 -0
  24. package/dist/type-guards.d.ts +21 -0
  25. package/dist/type-guards.d.ts.map +1 -0
  26. package/dist/type-guards.js +216 -0
  27. package/dist/type-guards.js.map +1 -0
  28. package/dist/types.d.ts +17 -2
  29. package/dist/types.d.ts.map +1 -1
  30. package/dist/validation.d.ts +26 -0
  31. package/dist/validation.d.ts.map +1 -0
  32. package/dist/validation.js +104 -0
  33. package/dist/validation.js.map +1 -0
  34. package/dist/worker-template/code-transforms.d.ts +9 -0
  35. package/dist/worker-template/code-transforms.d.ts.map +1 -0
  36. package/dist/worker-template/code-transforms.js +28 -0
  37. package/dist/worker-template/code-transforms.js.map +1 -0
  38. package/{src/worker-template.d.ts → dist/worker-template/core.d.ts} +7 -15
  39. package/dist/worker-template/core.d.ts.map +1 -0
  40. package/dist/worker-template/core.js +502 -0
  41. package/dist/worker-template/core.js.map +1 -0
  42. package/dist/worker-template/helpers.d.ts +14 -0
  43. package/dist/worker-template/helpers.d.ts.map +1 -0
  44. package/dist/worker-template/helpers.js +79 -0
  45. package/dist/worker-template/helpers.js.map +1 -0
  46. package/dist/worker-template/index.d.ts +14 -0
  47. package/dist/worker-template/index.d.ts.map +1 -0
  48. package/dist/worker-template/index.js +19 -0
  49. package/dist/worker-template/index.js.map +1 -0
  50. package/dist/worker-template/sdk-generator.d.ts +17 -0
  51. package/dist/worker-template/sdk-generator.d.ts.map +1 -0
  52. package/{src/worker-template.js → dist/worker-template/sdk-generator.js} +377 -1506
  53. package/dist/worker-template/sdk-generator.js.map +1 -0
  54. package/dist/worker-template/test-generator.d.ts +16 -0
  55. package/dist/worker-template/test-generator.d.ts.map +1 -0
  56. package/dist/worker-template/test-generator.js +357 -0
  57. package/dist/worker-template/test-generator.js.map +1 -0
  58. package/dist/worker-template.d.ts +2 -2
  59. package/dist/worker-template.d.ts.map +1 -1
  60. package/dist/worker-template.js +22 -10
  61. package/dist/worker-template.js.map +1 -1
  62. package/package.json +17 -6
  63. package/public/capnweb.mjs +220 -0
  64. package/public/index.mjs +426 -0
  65. package/public/scaffold.mjs +198 -0
  66. package/.turbo/turbo-build.log +0 -4
  67. package/.turbo/turbo-test.log +0 -54
  68. package/.turbo/turbo-typecheck.log +0 -4
  69. package/CHANGELOG.md +0 -48
  70. package/example/package.json +0 -20
  71. package/example/src/index.ts +0 -214
  72. package/example/wrangler.jsonc +0 -25
  73. package/src/capnweb-bundle.ts +0 -2596
  74. package/src/evaluate.js +0 -187
  75. package/src/evaluate.ts +0 -325
  76. package/src/index.js +0 -10
  77. package/src/index.ts +0 -21
  78. package/src/node.d.ts +0 -17
  79. package/src/node.d.ts.map +0 -1
  80. package/src/node.js +0 -168
  81. package/src/node.js.map +0 -1
  82. package/src/node.ts +0 -200
  83. package/src/repl.ts +0 -228
  84. package/src/types.d.ts +0 -172
  85. package/src/types.d.ts.map +0 -1
  86. package/src/types.js +0 -4
  87. package/src/types.js.map +0 -1
  88. package/src/types.ts +0 -180
  89. package/src/worker-template.d.ts.map +0 -1
  90. package/src/worker-template.js.map +0 -1
  91. package/src/worker-template.ts +0 -3806
  92. package/test/evaluate-extended.test.js +0 -429
  93. package/test/evaluate-extended.test.ts +0 -469
  94. package/test/evaluate.test.js +0 -235
  95. package/test/evaluate.test.ts +0 -253
  96. package/test/index.test.js +0 -77
  97. package/test/index.test.ts +0 -95
  98. package/test/worker-template.test.js +0 -365
  99. package/test/worker-template.test.ts +0 -430
  100. package/tsconfig.json +0 -22
  101. package/vitest.config.js +0 -21
  102. package/vitest.config.ts +0 -28
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-generator.js","sourceRoot":"","sources":["../../src/worker-template/sdk-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Test framework embedding for worker templates
3
+ *
4
+ * Generates the embedded test framework code used in dev mode
5
+ * (vitest-compatible API without external dependencies)
6
+ */
7
+ /**
8
+ * Generate the embedded test framework code
9
+ * This creates a vitest-compatible testing API that runs in the sandbox
10
+ */
11
+ export declare function generateTestFrameworkCode(): string;
12
+ /**
13
+ * Generate the test runner code that executes pending tests
14
+ */
15
+ export declare function generateTestRunnerCode(): string;
16
+ //# sourceMappingURL=test-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator.d.ts","sourceRoot":"","sources":["../../src/worker-template/test-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CA0RlD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA2D/C"}
@@ -0,0 +1,357 @@
1
+ /**
2
+ * Test framework embedding for worker templates
3
+ *
4
+ * Generates the embedded test framework code used in dev mode
5
+ * (vitest-compatible API without external dependencies)
6
+ */
7
+ /**
8
+ * Generate the embedded test framework code
9
+ * This creates a vitest-compatible testing API that runs in the sandbox
10
+ */
11
+ export function generateTestFrameworkCode() {
12
+ return `
13
+ // Test framework (vitest-compatible API)
14
+ let currentDescribe = '';
15
+ let beforeEachFns = [];
16
+ let afterEachFns = [];
17
+
18
+ const describe = (name, fn) => {
19
+ const prev = currentDescribe;
20
+ const prevBeforeEach = [...beforeEachFns];
21
+ const prevAfterEach = [...afterEachFns];
22
+ currentDescribe = currentDescribe ? currentDescribe + ' > ' + name : name;
23
+ try { fn(); } finally {
24
+ currentDescribe = prev;
25
+ beforeEachFns = prevBeforeEach;
26
+ afterEachFns = prevAfterEach;
27
+ }
28
+ };
29
+
30
+ // Hooks
31
+ const beforeEach = (fn) => { beforeEachFns.push(fn); };
32
+ const afterEach = (fn) => { afterEachFns.push(fn); };
33
+
34
+ const it = (name, fn) => {
35
+ const fullName = currentDescribe ? currentDescribe + ' > ' + name : name;
36
+ const hooks = { before: [...beforeEachFns], after: [...afterEachFns] };
37
+ pendingTests.push({ name: fullName, fn, hooks });
38
+ };
39
+ const test = it;
40
+
41
+ it.skip = (name, fn) => {
42
+ const fullName = currentDescribe ? currentDescribe + ' > ' + name : name;
43
+ pendingTests.push({ name: fullName, fn: null, skip: true });
44
+ };
45
+ test.skip = it.skip;
46
+
47
+ it.only = (name, fn) => {
48
+ const fullName = currentDescribe ? currentDescribe + ' > ' + name : name;
49
+ const hooks = { before: [...beforeEachFns], after: [...afterEachFns] };
50
+ pendingTests.push({ name: fullName, fn, hooks, only: true });
51
+ };
52
+ test.only = it.only;
53
+
54
+ // Deep equality check
55
+ const deepEqual = (a, b) => {
56
+ if (a === b) return true;
57
+ if (a == null || b == null) return false;
58
+ if (typeof a !== typeof b) return false;
59
+ if (typeof a !== 'object') return false;
60
+ if (Array.isArray(a) !== Array.isArray(b)) return false;
61
+ if (Array.isArray(a)) {
62
+ if (a.length !== b.length) return false;
63
+ return a.every((v, i) => deepEqual(v, b[i]));
64
+ }
65
+ const keysA = Object.keys(a);
66
+ const keysB = Object.keys(b);
67
+ if (keysA.length !== keysB.length) return false;
68
+ return keysA.every(k => deepEqual(a[k], b[k]));
69
+ };
70
+
71
+ // Expect implementation with vitest-compatible matchers
72
+ const expect = (actual) => {
73
+ const matchers = {
74
+ toBe: (expected) => {
75
+ if (actual !== expected) {
76
+ throw new Error(\`Expected \${JSON.stringify(expected)} but got \${JSON.stringify(actual)}\`);
77
+ }
78
+ },
79
+ toEqual: (expected) => {
80
+ if (!deepEqual(actual, expected)) {
81
+ throw new Error(\`Expected \${JSON.stringify(expected)} but got \${JSON.stringify(actual)}\`);
82
+ }
83
+ },
84
+ toStrictEqual: (expected) => {
85
+ if (!deepEqual(actual, expected)) {
86
+ throw new Error(\`Expected \${JSON.stringify(expected)} but got \${JSON.stringify(actual)}\`);
87
+ }
88
+ },
89
+ toBeTruthy: () => {
90
+ if (!actual) throw new Error(\`Expected truthy but got \${JSON.stringify(actual)}\`);
91
+ },
92
+ toBeFalsy: () => {
93
+ if (actual) throw new Error(\`Expected falsy but got \${JSON.stringify(actual)}\`);
94
+ },
95
+ toBeNull: () => {
96
+ if (actual !== null) throw new Error(\`Expected null but got \${JSON.stringify(actual)}\`);
97
+ },
98
+ toBeUndefined: () => {
99
+ if (actual !== undefined) throw new Error(\`Expected undefined but got \${JSON.stringify(actual)}\`);
100
+ },
101
+ toBeDefined: () => {
102
+ if (actual === undefined) throw new Error('Expected defined but got undefined');
103
+ },
104
+ toBeNaN: () => {
105
+ if (!Number.isNaN(actual)) throw new Error(\`Expected NaN but got \${actual}\`);
106
+ },
107
+ toContain: (item) => {
108
+ if (Array.isArray(actual)) {
109
+ if (!actual.includes(item)) throw new Error(\`Expected array to contain \${JSON.stringify(item)}\`);
110
+ } else if (typeof actual === 'string') {
111
+ if (!actual.includes(item)) throw new Error(\`Expected string to contain "\${item}"\`);
112
+ } else {
113
+ throw new Error('toContain only works on arrays and strings');
114
+ }
115
+ },
116
+ toContainEqual: (item) => {
117
+ if (!Array.isArray(actual)) throw new Error('toContainEqual only works on arrays');
118
+ if (!actual.some(v => deepEqual(v, item))) {
119
+ throw new Error(\`Expected array to contain \${JSON.stringify(item)}\`);
120
+ }
121
+ },
122
+ toHaveLength: (length) => {
123
+ if (actual?.length !== length) {
124
+ throw new Error(\`Expected length \${length} but got \${actual?.length}\`);
125
+ }
126
+ },
127
+ toHaveProperty: function(path, value) {
128
+ const parts = typeof path === 'string' ? path.split('.') : [path];
129
+ let obj = actual;
130
+ for (const part of parts) {
131
+ if (obj == null || !(part in obj)) {
132
+ throw new Error(\`Expected object to have property "\${path}"\`);
133
+ }
134
+ obj = obj[part];
135
+ }
136
+ if (arguments.length > 1 && !deepEqual(obj, value)) {
137
+ throw new Error(\`Expected property "\${path}" to be \${JSON.stringify(value)} but got \${JSON.stringify(obj)}\`);
138
+ }
139
+ },
140
+ toMatchObject: (expected) => {
141
+ if (typeof actual !== 'object' || actual === null) {
142
+ throw new Error('toMatchObject expects an object');
143
+ }
144
+ for (const key of Object.keys(expected)) {
145
+ if (!deepEqual(actual[key], expected[key])) {
146
+ throw new Error(\`Expected property "\${key}" to be \${JSON.stringify(expected[key])} but got \${JSON.stringify(actual[key])}\`);
147
+ }
148
+ }
149
+ },
150
+ toThrow: (expected) => {
151
+ if (typeof actual !== 'function') throw new Error('toThrow expects a function');
152
+ let threw = false;
153
+ let error;
154
+ try {
155
+ actual();
156
+ } catch (e) {
157
+ threw = true;
158
+ error = e;
159
+ }
160
+ if (!threw) throw new Error('Expected function to throw');
161
+ if (expected !== undefined) {
162
+ if (typeof expected === 'string' && !error.message.includes(expected)) {
163
+ throw new Error(\`Expected error message to contain "\${expected}" but got "\${error.message}"\`);
164
+ }
165
+ if (expected instanceof RegExp && !expected.test(error.message)) {
166
+ throw new Error(\`Expected error message to match \${expected} but got "\${error.message}"\`);
167
+ }
168
+ if (typeof expected === 'function' && !(error instanceof expected)) {
169
+ throw new Error(\`Expected error to be instance of \${expected.name}\`);
170
+ }
171
+ }
172
+ },
173
+ toBeGreaterThan: (n) => {
174
+ if (!(actual > n)) throw new Error(\`Expected \${actual} to be greater than \${n}\`);
175
+ },
176
+ toBeLessThan: (n) => {
177
+ if (!(actual < n)) throw new Error(\`Expected \${actual} to be less than \${n}\`);
178
+ },
179
+ toBeGreaterThanOrEqual: (n) => {
180
+ if (!(actual >= n)) throw new Error(\`Expected \${actual} to be >= \${n}\`);
181
+ },
182
+ toBeLessThanOrEqual: (n) => {
183
+ if (!(actual <= n)) throw new Error(\`Expected \${actual} to be <= \${n}\`);
184
+ },
185
+ toBeCloseTo: (n, digits = 2) => {
186
+ const diff = Math.abs(actual - n);
187
+ const threshold = Math.pow(10, -digits) / 2;
188
+ if (diff > threshold) {
189
+ throw new Error(\`Expected \${actual} to be close to \${n}\`);
190
+ }
191
+ },
192
+ toMatch: (pattern) => {
193
+ if (typeof actual !== 'string') throw new Error('toMatch expects a string');
194
+ const regex = typeof pattern === 'string' ? new RegExp(pattern) : pattern;
195
+ if (!regex.test(actual)) {
196
+ throw new Error(\`Expected "\${actual}" to match \${pattern}\`);
197
+ }
198
+ },
199
+ toBeInstanceOf: (cls) => {
200
+ if (!(actual instanceof cls)) {
201
+ throw new Error(\`Expected instance of \${cls.name}\`);
202
+ }
203
+ },
204
+ toBeTypeOf: (type) => {
205
+ if (typeof actual !== type) {
206
+ throw new Error(\`Expected typeof to be "\${type}" but got "\${typeof actual}"\`);
207
+ }
208
+ },
209
+ };
210
+
211
+ matchers.not = {
212
+ toBe: (expected) => {
213
+ if (actual === expected) throw new Error(\`Expected not \${JSON.stringify(expected)}\`);
214
+ },
215
+ toEqual: (expected) => {
216
+ if (deepEqual(actual, expected)) {
217
+ throw new Error(\`Expected not equal to \${JSON.stringify(expected)}\`);
218
+ }
219
+ },
220
+ toBeTruthy: () => {
221
+ if (actual) throw new Error('Expected not truthy');
222
+ },
223
+ toBeFalsy: () => {
224
+ if (!actual) throw new Error('Expected not falsy');
225
+ },
226
+ toBeNull: () => {
227
+ if (actual === null) throw new Error('Expected not null');
228
+ },
229
+ toBeUndefined: () => {
230
+ if (actual === undefined) throw new Error('Expected not undefined');
231
+ },
232
+ toBeDefined: () => {
233
+ if (actual !== undefined) throw new Error('Expected undefined');
234
+ },
235
+ toContain: (item) => {
236
+ if (Array.isArray(actual) && actual.includes(item)) {
237
+ throw new Error(\`Expected array not to contain \${JSON.stringify(item)}\`);
238
+ }
239
+ if (typeof actual === 'string' && actual.includes(item)) {
240
+ throw new Error(\`Expected string not to contain "\${item}"\`);
241
+ }
242
+ },
243
+ toHaveProperty: (path) => {
244
+ const parts = typeof path === 'string' ? path.split('.') : [path];
245
+ let obj = actual;
246
+ try {
247
+ for (const part of parts) {
248
+ if (obj == null || !(part in obj)) return;
249
+ obj = obj[part];
250
+ }
251
+ throw new Error(\`Expected object not to have property "\${path}"\`);
252
+ } catch {}
253
+ },
254
+ toThrow: () => {
255
+ if (typeof actual !== 'function') throw new Error('toThrow expects a function');
256
+ try {
257
+ actual();
258
+ } catch (e) {
259
+ throw new Error('Expected function not to throw');
260
+ }
261
+ },
262
+ toMatch: (pattern) => {
263
+ if (typeof actual !== 'string') throw new Error('toMatch expects a string');
264
+ const regex = typeof pattern === 'string' ? new RegExp(pattern) : pattern;
265
+ if (regex.test(actual)) {
266
+ throw new Error(\`Expected "\${actual}" not to match \${pattern}\`);
267
+ }
268
+ },
269
+ };
270
+
271
+ matchers.resolves = new Proxy({}, {
272
+ get: (_, prop) => async (...args) => {
273
+ const resolved = await actual;
274
+ return expect(resolved)[prop](...args);
275
+ }
276
+ });
277
+
278
+ matchers.rejects = new Proxy({}, {
279
+ get: (_, prop) => async (...args) => {
280
+ try {
281
+ await actual;
282
+ throw new Error('Expected promise to reject');
283
+ } catch (e) {
284
+ if (e.message === 'Expected promise to reject') throw e;
285
+ return expect(e)[prop](...args);
286
+ }
287
+ }
288
+ });
289
+
290
+ return matchers;
291
+ };
292
+ `;
293
+ }
294
+ /**
295
+ * Generate the test runner code that executes pending tests
296
+ */
297
+ export function generateTestRunnerCode() {
298
+ return `
299
+ // Run all pending tests
300
+ const testStart = Date.now();
301
+ const hasOnly = pendingTests.some(t => t.only);
302
+ const testsToRun = hasOnly ? pendingTests.filter(t => t.only || t.skip) : pendingTests;
303
+
304
+ for (const { name, fn, hooks, skip } of testsToRun) {
305
+ testResults.total++;
306
+
307
+ if (skip) {
308
+ testResults.skipped++;
309
+ testResults.tests.push({ name, passed: true, skipped: true, duration: 0 });
310
+ continue;
311
+ }
312
+
313
+ const start = Date.now();
314
+ try {
315
+ // Run beforeEach hooks
316
+ if (hooks?.before) {
317
+ for (const hook of hooks.before) {
318
+ const hookResult = hook();
319
+ if (hookResult && typeof hookResult.then === 'function') {
320
+ await hookResult;
321
+ }
322
+ }
323
+ }
324
+
325
+ // Run the test
326
+ const result = fn();
327
+ if (result && typeof result.then === 'function') {
328
+ await result;
329
+ }
330
+
331
+ // Run afterEach hooks
332
+ if (hooks?.after) {
333
+ for (const hook of hooks.after) {
334
+ const hookResult = hook();
335
+ if (hookResult && typeof hookResult.then === 'function') {
336
+ await hookResult;
337
+ }
338
+ }
339
+ }
340
+
341
+ testResults.passed++;
342
+ testResults.tests.push({ name, passed: true, duration: Date.now() - start });
343
+ } catch (e) {
344
+ testResults.failed++;
345
+ testResults.tests.push({
346
+ name,
347
+ passed: false,
348
+ error: e.message || String(e),
349
+ duration: Date.now() - start
350
+ });
351
+ }
352
+ }
353
+
354
+ testResults.duration = Date.now() - testStart;
355
+ `;
356
+ }
357
+ //# sourceMappingURL=test-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator.js","sourceRoot":"","sources":["../../src/worker-template/test-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwRR,CAAA;AACD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDR,CAAA;AACD,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * - POST /rpc or WebSocket upgrade - capnweb RPC to module exports
14
14
  * - GET / - Return info about available exports
15
15
  */
16
- import type { SDKConfig } from './types.js';
16
+ import type { SDKConfig, FetchConfig } from './types.js';
17
17
  /**
18
18
  * Generate worker code for production (uses RPC to ai-tests)
19
19
  */
@@ -36,6 +36,6 @@ export declare function generateDevWorkerCode(options: {
36
36
  script?: string | undefined;
37
37
  sdk?: SDKConfig | boolean | undefined;
38
38
  imports?: string[] | undefined;
39
- fetch?: null | undefined;
39
+ fetch?: null | FetchConfig | undefined;
40
40
  }): string;
41
41
  //# sourceMappingURL=worker-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-template.d.ts","sourceRoot":"","sources":["../src/worker-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA03F3C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAC/B,GAAG,MAAM,CAoQT;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACzB,GAAG,MAAM,CAujBT"}
1
+ {"version":3,"file":"worker-template.d.ts","sourceRoot":"","sources":["../src/worker-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA23FxD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAC/B,GAAG,MAAM,CAoQT;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B,KAAK,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAA;CACvC,GAAG,MAAM,CAikBT"}
@@ -13,6 +13,7 @@
13
13
  * - POST /rpc or WebSocket upgrade - capnweb RPC to module exports
14
14
  * - GET / - Return info about available exports
15
15
  */
16
+ import { generateDomainCheckCode } from './shared.js';
16
17
  /**
17
18
  * Generate SDK code for injection into sandbox
18
19
  *
@@ -3190,9 +3191,28 @@ export function generateDevWorkerCode(options) {
3190
3191
  const module = rawModule ? transformModuleCode(rawModule) : '';
3191
3192
  const script = rawScript ? wrapScriptForReturn(rawScript) : '';
3192
3193
  const exportNames = getExportNames(rawModule);
3193
- const blockFetch = fetchOption === null;
3194
+ // Determine fetch handling mode
3195
+ // - null or { mode: 'block' } -> block all network
3196
+ // - { mode: 'allowlist', allowedDomains: [...] } -> domain filtering
3197
+ // - undefined or { mode: 'allow' } -> allow all (no wrapper needed)
3198
+ const blockFetch = fetchOption === null || (fetchOption && fetchOption.mode === 'block');
3199
+ const useAllowlist = fetchOption && fetchOption.mode === 'allowlist' && fetchOption.allowedDomains;
3194
3200
  // Hoisted imports (from MDX test files) - placed at true module top level
3195
3201
  const hoistedImports = imports.length > 0 ? imports.join('\n') + '\n' : '';
3202
+ // Generate fetch control code based on mode
3203
+ let fetchControlCode = '';
3204
+ if (blockFetch) {
3205
+ fetchControlCode = `
3206
+ // Block fetch when fetch: null or mode: 'block' is specified
3207
+ const __originalFetch__ = globalThis.fetch;
3208
+ globalThis.fetch = async (...args) => {
3209
+ throw new Error('Network access blocked: fetch is disabled in this sandbox');
3210
+ };
3211
+ `;
3212
+ }
3213
+ else if (useAllowlist) {
3214
+ fetchControlCode = generateDomainCheckCode(fetchOption.allowedDomains);
3215
+ }
3196
3216
  return `
3197
3217
  // Sandbox Worker Entry Point (Dev Mode - embedded test framework)
3198
3218
  ${hoistedImports}
@@ -3200,15 +3220,7 @@ const logs = [];
3200
3220
  const testResults = { total: 0, passed: 0, failed: 0, skipped: 0, tests: [], duration: 0 };
3201
3221
  const pendingTests = [];
3202
3222
 
3203
- ${blockFetch
3204
- ? `
3205
- // Block fetch when fetch: null is specified
3206
- const __originalFetch__ = globalThis.fetch;
3207
- globalThis.fetch = async (...args) => {
3208
- throw new Error('Network access blocked: fetch is disabled in this sandbox');
3209
- };
3210
- `
3211
- : ''}
3223
+ ${fetchControlCode}
3212
3224
 
3213
3225
  ${sdkConfig ? generateShouldCode() : ''}
3214
3226
 
@@ -1 +1 @@
1
- {"version":3,"file":"worker-template.js","sourceRoot":"","sources":["../src/worker-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,SAAoB,EAAE;IAC7C,oDAAoD;IACpD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,SAAoB,EAAE;IAClD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,SAAS,CAAA;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAA;IAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;IAElD,OAAO;;;;;;SAMA,EAAE;mBACQ,YAAY;qBACV,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAs3ElC,CAAA;AACD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAAC,SAAoB,EAAE;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAA;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;IAChC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,SAAS,CAAA;IAEjC,OAAO;;;;;;aAMI,MAAM;YACP,KAAK;SACR,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKV,CAAA;AACD,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JR,CAAA;AACD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAE/B,2BAA2B;IAC3B,MAAM,UAAU,GAAG,qBAAqB,CAAA;IACxC,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,uDAAuD;IACvD,MAAM,cAAc,GAAG,+BAA+B,CAAA;IACtD,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,kFAAkF;IAClF,MAAM,cAAc,GAAG,yCAAyC,CAAA;IAChE,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,yGAAyG;IACzG,MAAM,iBAAiB,GAAG,iDAAiD,CAAA;IAC3E,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAAG,yBAAyB,CAAA;IAChD,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,IAAI,IAAI,GAAG,UAAU,CAAA;IAErB,0EAA0E;IAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE,sBAAsB,CAAC,CAAA;IAEpF,6EAA6E;IAC7E,4DAA4D;IAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,EAAE,iBAAiB,CAAC,CAAA;IACpF,mDAAmD;IACnD,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC,CAAA;IACxF,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,aAAa,IAAI,MAAM,IAAI,GAAG,CAAA;IACxC,CAAC;IAED,8DAA8D;IAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAA;IACtE,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,IAAI,aAAa,IAAI,MAAM,IAAI,GAAG,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAE3B,uEAAuE;IACvE,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IAE7C,4CAA4C;IAC5C,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IAE9C,kFAAkF;IAClF,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAExD,gFAAgF;IAChF,MAAM,iBAAiB,GACrB,+EAA+E,CAAC,IAAI,CAClF,mBAAmB,CACpB,CAAA;IAEH,IAAI,YAAY,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,OAAO,UAAU,mBAAmB,EAAE,CAAA;IACxC,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAA;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAEnC,4EAA4E;IAC5E,IACE,QAAQ;QACR,CAAC,2EAA2E,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3F,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAA;QACpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAMlC;IACC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IACjG,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAA;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAE7C,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1E,OAAO;;;EAGP,cAAc;;;EAGd,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;;EAErC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;EAyB7D,MAAM;QACJ,CAAC,CAAC;;;EAGJ,MAAM;;;;CAIP;QACG,CAAC,CAAC,4BACN;;;;EAKE,SAAS;QACP,CAAC,CAAC;UACI,WAAW;CACpB,CAAC,IAAI,EAAE;QACJ,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6IM,KAAK;QACH,CAAC,CAAC;;;EAGR,KAAK;;;;KAIF;QACG,CAAC,CAAC,0BACN;;;MAIE,MAAM;QACJ,CAAC,CAAC;;;EAGR,MAAM;;;;;;KAMH;QACG,CAAC,CAAC,4BACN;;;MAIE,KAAK;QACH,CAAC,CAAC;;;;;;;KAOL;QACG,CAAC,CAAC,EACN;;uBAEmB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;;;CAa9C,CAAA;AACD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAOrC;IACC,MAAM,EACJ,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,KAAK,GAAG,EAAE,EACV,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,GAAG,EACH,OAAO,GAAG,EAAE,EACZ,KAAK,EAAE,WAAW,GACnB,GAAG,OAAO,CAAA;IACX,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAA;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,WAAW,KAAK,IAAI,CAAA;IAEvC,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1E,OAAO;;EAEP,cAAc;;;;;EAMd,UAAU;QACR,CAAC,CAAC;;;;;;CAML;QACG,CAAC,CAAC,EACN;;EAEE,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;;EAErC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiT7D,MAAM;QACJ,CAAC,CAAC;;;EAGJ,MAAM;;;;CAIP;QACG,CAAC,CAAC,4BACN;;;;EAKE,SAAS;QACP,CAAC,CAAC;UACI,WAAW;CACpB,CAAC,IAAI,EAAE;QACJ,CAAC,CAAC,EACN;;;;;EAME,KAAK;QACH,CAAC,CAAC;;;EAGJ,KAAK;;;;CAIN;QACG,CAAC,CAAC,0BACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsGM,MAAM;QACJ,CAAC,CAAC;;;EAGR,MAAM;;;;;;KAMH;QACG,CAAC,CAAC,4BACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2DmB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;;;CAa9C,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"worker-template.js","sourceRoot":"","sources":["../src/worker-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,SAAoB,EAAE;IAC7C,oDAAoD;IACpD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,SAAoB,EAAE;IAClD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,SAAS,CAAA;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAA;IAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;IAElD,OAAO;;;;;;SAMA,EAAE;mBACQ,YAAY;qBACV,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAs3ElC,CAAA;AACD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAAC,SAAoB,EAAE;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAA;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;IAChC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,SAAS,CAAA;IAEjC,OAAO;;;;;;aAMI,MAAM;YACP,KAAK;SACR,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKV,CAAA;AACD,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JR,CAAA;AACD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAE/B,2BAA2B;IAC3B,MAAM,UAAU,GAAG,qBAAqB,CAAA;IACxC,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,uDAAuD;IACvD,MAAM,cAAc,GAAG,+BAA+B,CAAA;IACtD,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,kFAAkF;IAClF,MAAM,cAAc,GAAG,yCAAyC,CAAA;IAChE,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,yGAAyG;IACzG,MAAM,iBAAiB,GAAG,iDAAiD,CAAA;IAC3E,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAAG,yBAAyB,CAAA;IAChD,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,IAAI,IAAI,GAAG,UAAU,CAAA;IAErB,0EAA0E;IAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE,sBAAsB,CAAC,CAAA;IAEpF,6EAA6E;IAC7E,4DAA4D;IAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,EAAE,iBAAiB,CAAC,CAAA;IACpF,mDAAmD;IACnD,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC,CAAA;IACxF,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,aAAa,IAAI,MAAM,IAAI,GAAG,CAAA;IACxC,CAAC;IAED,8DAA8D;IAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAA;IACtE,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,IAAI,aAAa,IAAI,MAAM,IAAI,GAAG,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAE3B,uEAAuE;IACvE,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IAE7C,4CAA4C;IAC5C,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IAE9C,kFAAkF;IAClF,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAExD,gFAAgF;IAChF,MAAM,iBAAiB,GACrB,+EAA+E,CAAC,IAAI,CAClF,mBAAmB,CACpB,CAAA;IAEH,IAAI,YAAY,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,OAAO,UAAU,mBAAmB,EAAE,CAAA;IACxC,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAA;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAEnC,4EAA4E;IAC5E,IACE,QAAQ;QACR,CAAC,2EAA2E,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3F,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAA;QACpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAMlC;IACC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IACjG,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAA;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAE7C,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1E,OAAO;;;EAGP,cAAc;;;EAGd,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;;EAErC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;EAyB7D,MAAM;QACJ,CAAC,CAAC;;;EAGJ,MAAM;;;;CAIP;QACG,CAAC,CAAC,4BACN;;;;EAKE,SAAS;QACP,CAAC,CAAC;UACI,WAAW;CACpB,CAAC,IAAI,EAAE;QACJ,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6IM,KAAK;QACH,CAAC,CAAC;;;EAGR,KAAK;;;;KAIF;QACG,CAAC,CAAC,0BACN;;;MAIE,MAAM;QACJ,CAAC,CAAC;;;EAGR,MAAM;;;;;;KAMH;QACG,CAAC,CAAC,4BACN;;;MAIE,KAAK;QACH,CAAC,CAAC;;;;;;;KAOL;QACG,CAAC,CAAC,EACN;;uBAEmB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;;;CAa9C,CAAA;AACD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAOrC;IACC,MAAM,EACJ,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,KAAK,GAAG,EAAE,EACV,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,GAAG,EACH,OAAO,GAAG,EAAE,EACZ,KAAK,EAAE,WAAW,GACnB,GAAG,OAAO,CAAA;IACX,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAA;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAE7C,gCAAgC;IAChC,mDAAmD;IACnD,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,UAAU,GAAG,WAAW,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;IACxF,MAAM,YAAY,GAAG,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,WAAW,CAAC,cAAc,CAAA;IAElG,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1E,4CAA4C;IAC5C,IAAI,gBAAgB,GAAG,EAAE,CAAA;IACzB,IAAI,UAAU,EAAE,CAAC;QACf,gBAAgB,GAAG;;;;;;CAMtB,CAAA;IACC,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,gBAAgB,GAAG,uBAAuB,CAAC,WAAW,CAAC,cAAe,CAAC,CAAA;IACzE,CAAC;IAED,OAAO;;EAEP,cAAc;;;;;EAKd,gBAAgB;;EAEhB,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;;EAErC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiT7D,MAAM;QACJ,CAAC,CAAC;;;EAGJ,MAAM;;;;CAIP;QACG,CAAC,CAAC,4BACN;;;;EAKE,SAAS;QACP,CAAC,CAAC;UACI,WAAW;CACpB,CAAC,IAAI,EAAE;QACJ,CAAC,CAAC,EACN;;;;;EAME,KAAK;QACH,CAAC,CAAC;;;EAGJ,KAAK;;;;CAIN;QACG,CAAC,CAAC,0BACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsGM,MAAM;QACJ,CAAC,CAAC;;;EAGR,MAAM;;;;;;KAMH;QACG,CAAC,CAAC,4BACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2DmB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;;;CAa9C,CAAA;AACD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-evaluate",
3
- "version": "2.1.7",
3
+ "version": "2.2.0",
4
4
  "description": "Secure code execution in sandboxed environments",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -17,23 +17,34 @@
17
17
  "./repl": {
18
18
  "import": "./dist/repl.js",
19
19
  "types": "./dist/repl.d.ts"
20
- }
20
+ },
21
+ "./static": {
22
+ "import": "./dist/static/index.js",
23
+ "types": "./dist/static/index.d.ts"
24
+ },
25
+ "./static/index.mjs": "./public/index.mjs",
26
+ "./static/capnweb.mjs": "./public/capnweb.mjs",
27
+ "./static/scaffold.mjs": "./public/scaffold.mjs"
21
28
  },
29
+ "files": [
30
+ "dist",
31
+ "public"
32
+ ],
22
33
  "scripts": {
23
- "build": "tsc -p tsconfig.json",
34
+ "build": "tsc -p tsconfig.json && npm run build:static",
35
+ "build:static": "npx tsx scripts/build-static.ts",
24
36
  "dev": "tsc -p tsconfig.json --watch",
25
37
  "test": "vitest",
26
38
  "typecheck": "tsc --noEmit",
27
39
  "lint": "eslint .",
28
- "clean": "rm -rf dist"
40
+ "clean": "rm -rf dist public"
29
41
  },
30
42
  "dependencies": {
31
- "ai-functions": "2.1.3",
32
- "ai-tests": "2.1.3",
33
43
  "capnweb": "^0.2.0"
34
44
  },
35
45
  "devDependencies": {
36
46
  "@vitest/coverage-v8": "^2.1.0",
47
+ "tsx": "^4.7.0",
37
48
  "vitest": "^2.1.0"
38
49
  },
39
50
  "optionalDependencies": {