@cogitator-ai/wasm-tools 0.5.10 → 0.6.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 (123) hide show
  1. package/README.md +84 -25
  2. package/dist/index.d.ts +22 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +81 -14
  5. package/dist/index.js.map +1 -1
  6. package/dist/manager/file-watcher.d.ts.map +1 -1
  7. package/dist/manager/file-watcher.js +6 -0
  8. package/dist/manager/file-watcher.js.map +1 -1
  9. package/dist/manager/types.d.ts +11 -3
  10. package/dist/manager/types.d.ts.map +1 -1
  11. package/dist/manager/wasm-loader.d.ts +1 -0
  12. package/dist/manager/wasm-loader.d.ts.map +1 -1
  13. package/dist/manager/wasm-loader.js +26 -5
  14. package/dist/manager/wasm-loader.js.map +1 -1
  15. package/dist/manager/wasm-tool-manager.d.ts +6 -0
  16. package/dist/manager/wasm-tool-manager.d.ts.map +1 -1
  17. package/dist/manager/wasm-tool-manager.js +115 -30
  18. package/dist/manager/wasm-tool-manager.js.map +1 -1
  19. package/dist/runtime.d.ts +11 -0
  20. package/dist/runtime.d.ts.map +1 -0
  21. package/dist/runtime.js +104 -0
  22. package/dist/runtime.js.map +1 -0
  23. package/dist/wasm/base64.wasm +0 -0
  24. package/dist/wasm/calc.wasm +0 -0
  25. package/dist/wasm/compression.wasm +0 -0
  26. package/dist/wasm/csv.wasm +0 -0
  27. package/dist/wasm/datetime.wasm +0 -0
  28. package/dist/wasm/diff.wasm +0 -0
  29. package/dist/wasm/hash.wasm +0 -0
  30. package/dist/wasm/json.wasm +0 -0
  31. package/dist/wasm/markdown.wasm +0 -0
  32. package/dist/wasm/regex.wasm +0 -0
  33. package/dist/wasm/signing.wasm +0 -0
  34. package/dist/wasm/slug.wasm +0 -0
  35. package/dist/wasm/validation.wasm +0 -0
  36. package/dist/wasm/xml.wasm +0 -0
  37. package/package.json +5 -6
  38. package/dist/__tests__/file-watcher.test.d.ts +0 -2
  39. package/dist/__tests__/file-watcher.test.d.ts.map +0 -1
  40. package/dist/__tests__/file-watcher.test.js +0 -99
  41. package/dist/__tests__/file-watcher.test.js.map +0 -1
  42. package/dist/__tests__/index.test.d.ts +0 -2
  43. package/dist/__tests__/index.test.d.ts.map +0 -1
  44. package/dist/__tests__/index.test.js +0 -226
  45. package/dist/__tests__/index.test.js.map +0 -1
  46. package/dist/__tests__/wasm-loader.test.d.ts +0 -2
  47. package/dist/__tests__/wasm-loader.test.d.ts.map +0 -1
  48. package/dist/__tests__/wasm-loader.test.js +0 -68
  49. package/dist/__tests__/wasm-loader.test.js.map +0 -1
  50. package/dist/__tests__/wasm-tool-manager.test.d.ts +0 -2
  51. package/dist/__tests__/wasm-tool-manager.test.d.ts.map +0 -1
  52. package/dist/__tests__/wasm-tool-manager.test.js +0 -166
  53. package/dist/__tests__/wasm-tool-manager.test.js.map +0 -1
  54. package/dist/plugins/base64.d.ts +0 -12
  55. package/dist/plugins/base64.d.ts.map +0 -1
  56. package/dist/plugins/base64.js +0 -95
  57. package/dist/plugins/base64.js.map +0 -1
  58. package/dist/plugins/calc.d.ts +0 -12
  59. package/dist/plugins/calc.d.ts.map +0 -1
  60. package/dist/plugins/calc.js +0 -95
  61. package/dist/plugins/calc.js.map +0 -1
  62. package/dist/plugins/compression.d.ts +0 -2
  63. package/dist/plugins/compression.d.ts.map +0 -1
  64. package/dist/plugins/compression.js +0 -545
  65. package/dist/plugins/compression.js.map +0 -1
  66. package/dist/plugins/csv.d.ts +0 -2
  67. package/dist/plugins/csv.d.ts.map +0 -1
  68. package/dist/plugins/csv.js +0 -136
  69. package/dist/plugins/csv.js.map +0 -1
  70. package/dist/plugins/datetime.d.ts +0 -2
  71. package/dist/plugins/datetime.d.ts.map +0 -1
  72. package/dist/plugins/datetime.js +0 -186
  73. package/dist/plugins/datetime.js.map +0 -1
  74. package/dist/plugins/diff.d.ts +0 -2
  75. package/dist/plugins/diff.d.ts.map +0 -1
  76. package/dist/plugins/diff.js +0 -187
  77. package/dist/plugins/diff.js.map +0 -1
  78. package/dist/plugins/hash.d.ts +0 -12
  79. package/dist/plugins/hash.d.ts.map +0 -1
  80. package/dist/plugins/hash.js +0 -309
  81. package/dist/plugins/hash.js.map +0 -1
  82. package/dist/plugins/json.d.ts +0 -12
  83. package/dist/plugins/json.d.ts.map +0 -1
  84. package/dist/plugins/json.js +0 -70
  85. package/dist/plugins/json.js.map +0 -1
  86. package/dist/plugins/markdown.d.ts +0 -2
  87. package/dist/plugins/markdown.d.ts.map +0 -1
  88. package/dist/plugins/markdown.js +0 -213
  89. package/dist/plugins/markdown.js.map +0 -1
  90. package/dist/plugins/regex.d.ts +0 -2
  91. package/dist/plugins/regex.d.ts.map +0 -1
  92. package/dist/plugins/regex.js +0 -120
  93. package/dist/plugins/regex.js.map +0 -1
  94. package/dist/plugins/signing.d.ts +0 -2
  95. package/dist/plugins/signing.d.ts.map +0 -1
  96. package/dist/plugins/signing.js +0 -576
  97. package/dist/plugins/signing.js.map +0 -1
  98. package/dist/plugins/slug.d.ts +0 -2
  99. package/dist/plugins/slug.d.ts.map +0 -1
  100. package/dist/plugins/slug.js +0 -180
  101. package/dist/plugins/slug.js.map +0 -1
  102. package/dist/plugins/validation.d.ts +0 -2
  103. package/dist/plugins/validation.d.ts.map +0 -1
  104. package/dist/plugins/validation.js +0 -105
  105. package/dist/plugins/validation.js.map +0 -1
  106. package/dist/plugins/xml.d.ts +0 -2
  107. package/dist/plugins/xml.d.ts.map +0 -1
  108. package/dist/plugins/xml.js +0 -297
  109. package/dist/plugins/xml.js.map +0 -1
  110. package/dist/temp/base64.js +0 -102
  111. package/dist/temp/calc.js +0 -102
  112. package/dist/temp/compression.js +0 -738
  113. package/dist/temp/csv.js +0 -155
  114. package/dist/temp/datetime.js +0 -201
  115. package/dist/temp/diff.js +0 -198
  116. package/dist/temp/hash.js +0 -423
  117. package/dist/temp/json.js +0 -80
  118. package/dist/temp/markdown.js +0 -224
  119. package/dist/temp/regex.js +0 -141
  120. package/dist/temp/signing.js +0 -584
  121. package/dist/temp/slug.js +0 -198
  122. package/dist/temp/validation.js +0 -125
  123. package/dist/temp/xml.js +0 -295
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasm-tool-manager.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/wasm-tool-manager.test.ts"],"names":[],"mappings":""}
@@ -1,166 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
- import { WasmToolManager } from '../manager/wasm-tool-manager.js';
3
- let mockWatcherInstance = null;
4
- vi.mock('../manager/wasm-loader.js', () => {
5
- class WasmLoader {
6
- initialize = vi.fn().mockResolvedValue(undefined);
7
- load = vi.fn().mockImplementation((path) => {
8
- return Promise.resolve({
9
- call: vi.fn().mockResolvedValue({
10
- text: () => JSON.stringify({ result: `executed-${path}` }),
11
- bytes: () => new Uint8Array(),
12
- }),
13
- close: vi.fn().mockResolvedValue(undefined),
14
- });
15
- });
16
- }
17
- return { WasmLoader };
18
- });
19
- vi.mock('../manager/file-watcher.js', () => {
20
- class FileWatcher {
21
- _callbacks = null;
22
- watch = vi.fn().mockImplementation((_pattern, callbacks) => {
23
- mockWatcherInstance._callbacks = callbacks;
24
- });
25
- close = vi.fn().mockResolvedValue(undefined);
26
- constructor() {
27
- // eslint-disable-next-line @typescript-eslint/no-this-alias
28
- mockWatcherInstance = this;
29
- }
30
- }
31
- return { FileWatcher };
32
- });
33
- describe('WasmToolManager', () => {
34
- let manager;
35
- beforeEach(() => {
36
- mockWatcherInstance = null;
37
- manager = new WasmToolManager({ debounceMs: 50 });
38
- vi.clearAllMocks();
39
- });
40
- afterEach(async () => {
41
- await manager.close();
42
- });
43
- describe('load()', () => {
44
- it('loads a single WASM module', async () => {
45
- const tool = await manager.load('./calc.wasm');
46
- expect(tool.name).toBe('calc');
47
- expect(tool.description).toBe('WASM tool: calc');
48
- expect(tool.execute).toBeDefined();
49
- });
50
- it('returns the same tool for same path', async () => {
51
- const tool1 = await manager.load('./calc.wasm');
52
- const tool2 = await manager.load('./calc.wasm');
53
- expect(tool1.name).toBe(tool2.name);
54
- });
55
- it('loads multiple different modules', async () => {
56
- const calc = await manager.load('./calc.wasm');
57
- const hash = await manager.load('./hash.wasm');
58
- expect(calc.name).toBe('calc');
59
- expect(hash.name).toBe('hash');
60
- expect(manager.getTools()).toHaveLength(2);
61
- });
62
- });
63
- describe('getTools()', () => {
64
- it('returns empty array when no modules loaded', () => {
65
- expect(manager.getTools()).toEqual([]);
66
- });
67
- it('returns all loaded tools', async () => {
68
- await manager.load('./calc.wasm');
69
- await manager.load('./hash.wasm');
70
- const tools = manager.getTools();
71
- expect(tools).toHaveLength(2);
72
- expect(tools.map((t) => t.name).sort()).toEqual(['calc', 'hash']);
73
- });
74
- });
75
- describe('getTool()', () => {
76
- it('returns undefined for non-existent tool', () => {
77
- expect(manager.getTool('nonexistent')).toBeUndefined();
78
- });
79
- it('returns the tool by name', async () => {
80
- await manager.load('./calc.wasm');
81
- const tool = manager.getTool('calc');
82
- expect(tool?.name).toBe('calc');
83
- });
84
- });
85
- describe('getModule()', () => {
86
- it('returns module info with metadata', async () => {
87
- await manager.load('./calc.wasm');
88
- const mod = manager.getModule('calc');
89
- expect(mod).toBeDefined();
90
- expect(mod?.name).toBe('calc');
91
- expect(mod?.path).toBe('./calc.wasm');
92
- expect(mod?.loadedAt).toBeInstanceOf(Date);
93
- expect(mod?.plugin).toBeDefined();
94
- expect(mod?.tool).toBeDefined();
95
- });
96
- });
97
- describe('watch()', () => {
98
- it('starts watching for WASM files', async () => {
99
- await manager.watch('./plugins/*.wasm');
100
- expect(mockWatcherInstance).not.toBeNull();
101
- expect(mockWatcherInstance.watch).toHaveBeenCalledWith('./plugins/*.wasm', expect.any(Object));
102
- });
103
- it('throws if watch called twice', async () => {
104
- await manager.watch('./plugins/*.wasm');
105
- await expect(manager.watch('./other/*.wasm')).rejects.toThrow('Already watching');
106
- });
107
- it('calls onLoad when file is added', async () => {
108
- const onLoad = vi.fn();
109
- await manager.watch('./plugins/*.wasm', { onLoad });
110
- mockWatcherInstance._callbacks?.onAdd('./plugins/calc.wasm');
111
- await vi.waitFor(() => {
112
- expect(onLoad).toHaveBeenCalledWith('calc', './plugins/calc.wasm');
113
- });
114
- });
115
- it('calls onReload when file changes', async () => {
116
- const onReload = vi.fn();
117
- await manager.watch('./plugins/*.wasm', { onReload });
118
- mockWatcherInstance._callbacks?.onAdd('./plugins/calc.wasm');
119
- await vi.waitFor(() => {
120
- expect(manager.getTool('calc')).toBeDefined();
121
- });
122
- mockWatcherInstance._callbacks?.onChange('./plugins/calc.wasm');
123
- await vi.waitFor(() => {
124
- expect(onReload).toHaveBeenCalledWith('calc', './plugins/calc.wasm');
125
- });
126
- });
127
- it('calls onUnload when file is deleted', async () => {
128
- const onUnload = vi.fn();
129
- await manager.watch('./plugins/*.wasm', { onUnload });
130
- mockWatcherInstance._callbacks?.onAdd('./plugins/calc.wasm');
131
- await vi.waitFor(() => {
132
- expect(manager.getTool('calc')).toBeDefined();
133
- }, { timeout: 1000 });
134
- mockWatcherInstance._callbacks?.onUnlink('./plugins/calc.wasm');
135
- await vi.waitFor(() => {
136
- expect(onUnload).toHaveBeenCalledWith('calc', './plugins/calc.wasm');
137
- }, { timeout: 1000 });
138
- expect(manager.getTool('calc')).toBeUndefined();
139
- });
140
- });
141
- describe('tool execution', () => {
142
- it('executes the tool and returns result', async () => {
143
- const tool = await manager.load('./calc.wasm');
144
- const result = await tool.execute({ expression: '2+2' }, { agentId: 'test', runId: 'run', signal: new AbortController().signal });
145
- expect(result).toEqual({ result: 'executed-./calc.wasm' });
146
- });
147
- it('tool.toJSON() returns valid schema', async () => {
148
- const tool = await manager.load('./calc.wasm');
149
- const schema = tool.toJSON();
150
- expect(schema.name).toBe('calc');
151
- expect(schema.description).toBe('WASM tool: calc');
152
- expect(schema.parameters.type).toBe('object');
153
- });
154
- });
155
- describe('close()', () => {
156
- it('closes watcher and all plugins', async () => {
157
- await manager.load('./calc.wasm');
158
- await manager.load('./hash.wasm');
159
- await manager.watch('./plugins/*.wasm');
160
- await manager.close();
161
- expect(mockWatcherInstance.close).toHaveBeenCalled();
162
- expect(manager.getTools()).toHaveLength(0);
163
- });
164
- });
165
- });
166
- //# sourceMappingURL=wasm-tool-manager.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasm-tool-manager.test.js","sourceRoot":"","sources":["../../src/__tests__/wasm-tool-manager.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Base64 WASM Plugin
3
- *
4
- * This file is compiled to WASM using the Extism JS PDK.
5
- * It provides base64 encoding and decoding functions.
6
- *
7
- * Build command:
8
- * esbuild src/plugins/base64.ts -o dist/temp/base64.js --bundle --format=cjs --target=es2020
9
- * extism-js dist/temp/base64.js -o dist/wasm/base64.wasm
10
- */
11
- export declare function base64(): number;
12
- //# sourceMappingURL=base64.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/plugins/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoFH,wBAAgB,MAAM,IAAI,MAAM,CA6B/B"}
@@ -1,95 +0,0 @@
1
- /**
2
- * Base64 WASM Plugin
3
- *
4
- * This file is compiled to WASM using the Extism JS PDK.
5
- * It provides base64 encoding and decoding functions.
6
- *
7
- * Build command:
8
- * esbuild src/plugins/base64.ts -o dist/temp/base64.js --bundle --format=cjs --target=es2020
9
- * extism-js dist/temp/base64.js -o dist/wasm/base64.wasm
10
- */
11
- const STANDARD_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
12
- const URL_SAFE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
13
- function encodeBase64(input, urlSafe) {
14
- const chars = urlSafe ? URL_SAFE_CHARS : STANDARD_CHARS;
15
- let result = '';
16
- let i = 0;
17
- while (i < input.length) {
18
- const a = input.charCodeAt(i++);
19
- const b = i < input.length ? input.charCodeAt(i++) : 0;
20
- const c = i < input.length ? input.charCodeAt(i++) : 0;
21
- const bitmap = (a << 16) | (b << 8) | c;
22
- result +=
23
- chars.charAt((bitmap >> 18) & 63) +
24
- chars.charAt((bitmap >> 12) & 63) +
25
- chars.charAt((bitmap >> 6) & 63) +
26
- chars.charAt(bitmap & 63);
27
- }
28
- const padding = input.length % 3;
29
- if (padding === 1) {
30
- result = result.slice(0, -2) + (urlSafe ? '' : '==');
31
- }
32
- else if (padding === 2) {
33
- result = result.slice(0, -1) + (urlSafe ? '' : '=');
34
- }
35
- return result;
36
- }
37
- function decodeBase64(input, urlSafe) {
38
- let chars = urlSafe ? URL_SAFE_CHARS : STANDARD_CHARS;
39
- let normalized = input;
40
- if (!urlSafe && (input.includes('-') || input.includes('_'))) {
41
- chars = URL_SAFE_CHARS;
42
- normalized = input;
43
- }
44
- normalized = normalized.replace(/[=]/g, '');
45
- const lookup = {};
46
- for (let i = 0; i < chars.length; i++) {
47
- lookup[chars[i]] = i;
48
- }
49
- let result = '';
50
- let buffer = 0;
51
- let bits = 0;
52
- for (const char of normalized) {
53
- const value = lookup[char];
54
- if (value === undefined) {
55
- continue;
56
- }
57
- buffer = (buffer << 6) | value;
58
- bits += 6;
59
- if (bits >= 8) {
60
- bits -= 8;
61
- result += String.fromCharCode((buffer >> bits) & 0xff);
62
- }
63
- }
64
- return result;
65
- }
66
- export function base64() {
67
- try {
68
- const inputStr = Host.inputString();
69
- const input = JSON.parse(inputStr);
70
- const urlSafe = input.urlSafe ?? false;
71
- let result;
72
- if (input.operation === 'encode') {
73
- result = encodeBase64(input.text, urlSafe);
74
- }
75
- else {
76
- result = decodeBase64(input.text, urlSafe);
77
- }
78
- const output = {
79
- result,
80
- operation: input.operation,
81
- };
82
- Host.outputString(JSON.stringify(output));
83
- return 0;
84
- }
85
- catch (error) {
86
- const output = {
87
- result: '',
88
- operation: 'unknown',
89
- error: error instanceof Error ? error.message : String(error),
90
- };
91
- Host.outputString(JSON.stringify(output));
92
- return 1;
93
- }
94
- }
95
- //# sourceMappingURL=base64.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/plugins/base64.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Calculator WASM Plugin
3
- *
4
- * This file is compiled to WASM using the Extism JS PDK.
5
- * It provides safe mathematical expression evaluation.
6
- *
7
- * Build command:
8
- * esbuild src/plugins/calc.ts -o dist/temp/calc.js --bundle --format=cjs --target=es2020
9
- * extism-js dist/temp/calc.js -o dist/wasm/calc.wasm
10
- */
11
- export declare function calculate(): number;
12
- //# sourceMappingURL=calc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calc.d.ts","sourceRoot":"","sources":["../../src/plugins/calc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+EH,wBAAgB,SAAS,IAAI,MAAM,CAuBlC"}
@@ -1,95 +0,0 @@
1
- /**
2
- * Calculator WASM Plugin
3
- *
4
- * This file is compiled to WASM using the Extism JS PDK.
5
- * It provides safe mathematical expression evaluation.
6
- *
7
- * Build command:
8
- * esbuild src/plugins/calc.ts -o dist/temp/calc.js --bundle --format=cjs --target=es2020
9
- * extism-js dist/temp/calc.js -o dist/wasm/calc.wasm
10
- */
11
- function safeEval(expression) {
12
- const sanitized = expression.replace(/[^0-9+\-*/().%\s]/g, '');
13
- if (sanitized !== expression.trim()) {
14
- throw new Error('Invalid characters in expression');
15
- }
16
- const matched = sanitized.match(/(\d*\.?\d+|[+\-*/()%])/g);
17
- if (!matched) {
18
- throw new Error('No valid tokens in expression');
19
- }
20
- const tokens = matched;
21
- let pos = 0;
22
- function parseExpr() {
23
- let left = parseTerm();
24
- while (pos < tokens.length && (tokens[pos] === '+' || tokens[pos] === '-')) {
25
- const op = tokens[pos++];
26
- const right = parseTerm();
27
- left = op === '+' ? left + right : left - right;
28
- }
29
- return left;
30
- }
31
- function parseTerm() {
32
- let left = parseFactor();
33
- while (pos < tokens.length &&
34
- (tokens[pos] === '*' || tokens[pos] === '/' || tokens[pos] === '%')) {
35
- const op = tokens[pos++];
36
- const right = parseFactor();
37
- if (op === '*')
38
- left *= right;
39
- else if (op === '/') {
40
- if (right === 0)
41
- throw new Error('Division by zero');
42
- left /= right;
43
- }
44
- else {
45
- left %= right;
46
- }
47
- }
48
- return left;
49
- }
50
- function parseFactor() {
51
- if (tokens[pos] === '(') {
52
- pos++;
53
- const val = parseExpr();
54
- if (tokens[pos] === ')')
55
- pos++;
56
- return val;
57
- }
58
- if (tokens[pos] === '-') {
59
- pos++;
60
- return -parseFactor();
61
- }
62
- if (tokens[pos] === '+') {
63
- pos++;
64
- return parseFactor();
65
- }
66
- const num = parseFloat(tokens[pos++]);
67
- if (isNaN(num))
68
- throw new Error('Invalid expression');
69
- return num;
70
- }
71
- return parseExpr();
72
- }
73
- export function calculate() {
74
- try {
75
- const inputStr = Host.inputString();
76
- const input = JSON.parse(inputStr);
77
- const result = safeEval(input.expression);
78
- const output = {
79
- result,
80
- expression: input.expression,
81
- };
82
- Host.outputString(JSON.stringify(output));
83
- return 0;
84
- }
85
- catch (error) {
86
- const output = {
87
- result: NaN,
88
- expression: '',
89
- error: error instanceof Error ? error.message : String(error),
90
- };
91
- Host.outputString(JSON.stringify(output));
92
- return 1;
93
- }
94
- }
95
- //# sourceMappingURL=calc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/plugins/calc.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function compression(): number;
2
- //# sourceMappingURL=compression.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/plugins/compression.ts"],"names":[],"mappings":"AA8jBA,wBAAgB,WAAW,IAAI,MAAM,CAwDpC"}