@dot-ai/adapter-sync 0.5.2

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jonathan Gelin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,174 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { readFile, writeFile, unlink, mkdir } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { tmpdir } from 'node:os';
5
+ import { syncToFile, unsyncFromFile } from '../sync.js';
6
+ const START_MARKER = '<!-- dot-ai:start -->';
7
+ const END_MARKER = '<!-- dot-ai:end -->';
8
+ function makeCtx(overrides = {}) {
9
+ return {
10
+ prompt: '',
11
+ labels: [],
12
+ identities: [],
13
+ memories: [],
14
+ skills: [],
15
+ tools: [],
16
+ routing: { model: 'default', reason: 'no routing' },
17
+ ...overrides,
18
+ };
19
+ }
20
+ let tmpDir;
21
+ let tmpFile;
22
+ beforeEach(async () => {
23
+ tmpDir = join(tmpdir(), `dot-ai-sync-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
24
+ await mkdir(tmpDir, { recursive: true });
25
+ tmpFile = join(tmpDir, 'target.md');
26
+ });
27
+ afterEach(async () => {
28
+ try {
29
+ await unlink(tmpFile);
30
+ }
31
+ catch {
32
+ // ignore
33
+ }
34
+ });
35
+ describe('syncToFile', () => {
36
+ it('creates file with markers when file does not exist', async () => {
37
+ const ctx = makeCtx({
38
+ identities: [
39
+ { type: 'agents', content: 'Be helpful', source: 'file', priority: 10 },
40
+ ],
41
+ });
42
+ await syncToFile(tmpFile, ctx);
43
+ const content = await readFile(tmpFile, 'utf-8');
44
+ expect(content).toContain(START_MARKER);
45
+ expect(content).toContain(END_MARKER);
46
+ expect(content).toContain('Be helpful');
47
+ });
48
+ it('replaces content between existing markers', async () => {
49
+ const initial = `# My Rules\n\n${START_MARKER}\nOld content\n${END_MARKER}\n\nMore content\n`;
50
+ await writeFile(tmpFile, initial, 'utf-8');
51
+ const ctx = makeCtx({
52
+ identities: [
53
+ { type: 'agents', content: 'New content', source: 'file', priority: 10 },
54
+ ],
55
+ });
56
+ await syncToFile(tmpFile, ctx);
57
+ const content = await readFile(tmpFile, 'utf-8');
58
+ expect(content).toContain('# My Rules');
59
+ expect(content).toContain('More content');
60
+ expect(content).toContain('New content');
61
+ expect(content).not.toContain('Old content');
62
+ });
63
+ it('appends markers when file has no markers', async () => {
64
+ const initial = '# Existing Rules\n\nSome content here.\n';
65
+ await writeFile(tmpFile, initial, 'utf-8');
66
+ const ctx = makeCtx({
67
+ identities: [
68
+ { type: 'soul', content: 'Appended content', source: 'file', priority: 5 },
69
+ ],
70
+ });
71
+ await syncToFile(tmpFile, ctx);
72
+ const content = await readFile(tmpFile, 'utf-8');
73
+ expect(content).toContain('# Existing Rules');
74
+ expect(content).toContain('Some content here.');
75
+ expect(content).toContain(START_MARKER);
76
+ expect(content).toContain(END_MARKER);
77
+ expect(content).toContain('Appended content');
78
+ // Existing content should come before the markers
79
+ const existingIdx = content.indexOf('Some content here.');
80
+ const markerIdx = content.indexOf(START_MARKER);
81
+ expect(existingIdx).toBeLessThan(markerIdx);
82
+ });
83
+ it('preserves content outside markers', async () => {
84
+ const before = '# Top Content\n\nThis stays.\n\n';
85
+ const after = '\n\n# Bottom Content\n\nThis also stays.\n';
86
+ const initial = `${before}${START_MARKER}\nOld\n${END_MARKER}${after}`;
87
+ await writeFile(tmpFile, initial, 'utf-8');
88
+ const ctx = makeCtx({
89
+ identities: [
90
+ { type: 'agents', content: 'Updated', source: 'file', priority: 10 },
91
+ ],
92
+ });
93
+ await syncToFile(tmpFile, ctx);
94
+ const content = await readFile(tmpFile, 'utf-8');
95
+ expect(content).toContain('# Top Content');
96
+ expect(content).toContain('This stays.');
97
+ expect(content).toContain('# Bottom Content');
98
+ expect(content).toContain('This also stays.');
99
+ expect(content).toContain('Updated');
100
+ expect(content).not.toContain('Old');
101
+ });
102
+ it('is idempotent — multiple syncs update correctly', async () => {
103
+ const ctx1 = makeCtx({
104
+ identities: [
105
+ { type: 'agents', content: 'First sync', source: 'file', priority: 10 },
106
+ ],
107
+ });
108
+ const ctx2 = makeCtx({
109
+ identities: [
110
+ { type: 'agents', content: 'Second sync', source: 'file', priority: 10 },
111
+ ],
112
+ });
113
+ const ctx3 = makeCtx({
114
+ identities: [
115
+ { type: 'agents', content: 'Third sync', source: 'file', priority: 10 },
116
+ ],
117
+ });
118
+ await syncToFile(tmpFile, ctx1);
119
+ await syncToFile(tmpFile, ctx2);
120
+ await syncToFile(tmpFile, ctx3);
121
+ const content = await readFile(tmpFile, 'utf-8');
122
+ expect(content).toContain('Third sync');
123
+ expect(content).not.toContain('First sync');
124
+ expect(content).not.toContain('Second sync');
125
+ // Markers appear exactly once
126
+ const startCount = (content.match(/<!-- dot-ai:start -->/g) ?? []).length;
127
+ const endCount = (content.match(/<!-- dot-ai:end -->/g) ?? []).length;
128
+ expect(startCount).toBe(1);
129
+ expect(endCount).toBe(1);
130
+ });
131
+ it('appends with single newline separator when file ends with newline', async () => {
132
+ const initial = '# Rules\n';
133
+ await writeFile(tmpFile, initial, 'utf-8');
134
+ await syncToFile(tmpFile, makeCtx());
135
+ const content = await readFile(tmpFile, 'utf-8');
136
+ // Should not have 3+ consecutive newlines
137
+ expect(content).not.toMatch(/\n{3,}/);
138
+ });
139
+ });
140
+ describe('unsyncFromFile', () => {
141
+ it('removes marker content from file', async () => {
142
+ const initial = `# My Rules\n\nKeep this.\n\n${START_MARKER}\nDot-ai content\n${END_MARKER}\n\nAlso keep this.\n`;
143
+ await writeFile(tmpFile, initial, 'utf-8');
144
+ await unsyncFromFile(tmpFile);
145
+ const content = await readFile(tmpFile, 'utf-8');
146
+ expect(content).toContain('# My Rules');
147
+ expect(content).toContain('Keep this.');
148
+ expect(content).toContain('Also keep this.');
149
+ expect(content).not.toContain(START_MARKER);
150
+ expect(content).not.toContain(END_MARKER);
151
+ expect(content).not.toContain('Dot-ai content');
152
+ });
153
+ it('handles missing file gracefully', async () => {
154
+ // Should not throw
155
+ await expect(unsyncFromFile('/nonexistent/path/file.md')).resolves.toBeUndefined();
156
+ });
157
+ it('does nothing when file has no markers', async () => {
158
+ const initial = '# My Rules\n\nContent without markers.\n';
159
+ await writeFile(tmpFile, initial, 'utf-8');
160
+ await unsyncFromFile(tmpFile);
161
+ const content = await readFile(tmpFile, 'utf-8');
162
+ expect(content).toBe(initial);
163
+ });
164
+ it('cleans up extra blank lines after removal', async () => {
165
+ const initial = `Before\n\n\n${START_MARKER}\ncontent\n${END_MARKER}\n\n\nAfter\n`;
166
+ await writeFile(tmpFile, initial, 'utf-8');
167
+ await unsyncFromFile(tmpFile);
168
+ const content = await readFile(tmpFile, 'utf-8');
169
+ // Should not have 3+ consecutive newlines
170
+ expect(content).not.toMatch(/\n{3,}/);
171
+ expect(content).toContain('Before');
172
+ expect(content).toContain('After');
173
+ });
174
+ });
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * dot-ai-sync — sync enriched context to agent config files.
4
+ *
5
+ * Usage:
6
+ * dot-ai-sync .cursorrules # Sync to Cursor
7
+ * dot-ai-sync .github/copilot-instructions.md # Sync to Copilot
8
+ * dot-ai-sync --unsync .cursorrules # Remove dot-ai content
9
+ */
10
+ import { argv, cwd, exit } from 'node:process';
11
+ import { join } from 'node:path';
12
+ import { loadConfig, injectRoot, registerDefaults, clearProviders, createProviders, boot, enrich, } from '@dot-ai/core';
13
+ import { syncToFile, unsyncFromFile } from './sync.js';
14
+ const args = argv.slice(2);
15
+ async function main() {
16
+ if (args.length === 0) {
17
+ console.log('Usage: dot-ai-sync <target-file> [--unsync]');
18
+ console.log('\nExamples:');
19
+ console.log(' dot-ai-sync .cursorrules');
20
+ console.log(' dot-ai-sync .github/copilot-instructions.md');
21
+ console.log(' dot-ai-sync --unsync .cursorrules');
22
+ exit(0);
23
+ }
24
+ const unsync = args.includes('--unsync');
25
+ const targetFile = args.find(a => !a.startsWith('--'));
26
+ if (!targetFile) {
27
+ console.error('Error: specify a target file');
28
+ exit(1);
29
+ }
30
+ const root = cwd();
31
+ const targetPath = join(root, targetFile);
32
+ if (unsync) {
33
+ await unsyncFromFile(targetPath);
34
+ console.log(`Removed dot-ai content from ${targetFile}`);
35
+ return;
36
+ }
37
+ clearProviders();
38
+ registerDefaults();
39
+ const rawConfig = await loadConfig(root);
40
+ const config = injectRoot(rawConfig, root);
41
+ const providers = await createProviders(config);
42
+ const cache = await boot(providers);
43
+ // For sync, we enrich with an empty prompt (just boot context)
44
+ const ctx = await enrich('', providers, cache);
45
+ // Load skill content
46
+ for (const skill of ctx.skills) {
47
+ if (!skill.content && skill.name) {
48
+ skill.content = await providers.skills.load(skill.name) ?? undefined;
49
+ }
50
+ }
51
+ await syncToFile(targetPath, ctx);
52
+ console.log(`Synced dot-ai context to ${targetFile}`);
53
+ console.log(` Identities: ${ctx.identities.length}`);
54
+ console.log(` Skills: ${ctx.skills.length}`);
55
+ console.log(` Tools: ${ctx.tools.length}`);
56
+ }
57
+ main().catch((err) => {
58
+ console.error(err);
59
+ exit(1);
60
+ });
@@ -0,0 +1,3 @@
1
+ export { syncToFile, unsyncFromFile } from './sync.js';
2
+ export { formatContext } from '@dot-ai/core';
3
+ export declare const version = "0.4.0";
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { syncToFile, unsyncFromFile } from './sync.js';
2
+ export { formatContext } from '@dot-ai/core';
3
+ export const version = '0.4.0';
package/dist/sync.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import type { EnrichedContext } from '@dot-ai/core';
2
+ /**
3
+ * Sync enriched context to a target file using markers.
4
+ * Preserves content outside the markers.
5
+ *
6
+ * If the file doesn't exist, creates it with the markers.
7
+ * If the file exists but has no markers, appends them at the end.
8
+ * If the file has markers, replaces content between them.
9
+ */
10
+ export declare function syncToFile(targetPath: string, ctx: EnrichedContext): Promise<void>;
11
+ /**
12
+ * Remove dot-ai content from a target file.
13
+ */
14
+ export declare function unsyncFromFile(targetPath: string): Promise<void>;
package/dist/sync.js ADDED
@@ -0,0 +1,59 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import { formatContext } from '@dot-ai/core';
3
+ const START_MARKER = '<!-- dot-ai:start -->';
4
+ const END_MARKER = '<!-- dot-ai:end -->';
5
+ /**
6
+ * Sync enriched context to a target file using markers.
7
+ * Preserves content outside the markers.
8
+ *
9
+ * If the file doesn't exist, creates it with the markers.
10
+ * If the file exists but has no markers, appends them at the end.
11
+ * If the file has markers, replaces content between them.
12
+ */
13
+ export async function syncToFile(targetPath, ctx) {
14
+ const formatted = formatContext(ctx);
15
+ const block = `${START_MARKER}\n${formatted}\n${END_MARKER}`;
16
+ let existing;
17
+ try {
18
+ existing = await readFile(targetPath, 'utf-8');
19
+ }
20
+ catch {
21
+ // File doesn't exist — create with markers
22
+ await writeFile(targetPath, block + '\n', 'utf-8');
23
+ return;
24
+ }
25
+ // File exists — check for markers
26
+ const startIdx = existing.indexOf(START_MARKER);
27
+ const endIdx = existing.indexOf(END_MARKER);
28
+ if (startIdx !== -1 && endIdx !== -1) {
29
+ // Replace content between markers
30
+ const before = existing.substring(0, startIdx);
31
+ const after = existing.substring(endIdx + END_MARKER.length);
32
+ await writeFile(targetPath, before + block + after, 'utf-8');
33
+ }
34
+ else {
35
+ // No markers — append
36
+ const separator = existing.endsWith('\n') ? '\n' : '\n\n';
37
+ await writeFile(targetPath, existing + separator + block + '\n', 'utf-8');
38
+ }
39
+ }
40
+ /**
41
+ * Remove dot-ai content from a target file.
42
+ */
43
+ export async function unsyncFromFile(targetPath) {
44
+ let content;
45
+ try {
46
+ content = await readFile(targetPath, 'utf-8');
47
+ }
48
+ catch {
49
+ return; // File doesn't exist
50
+ }
51
+ const startIdx = content.indexOf(START_MARKER);
52
+ const endIdx = content.indexOf(END_MARKER);
53
+ if (startIdx !== -1 && endIdx !== -1) {
54
+ const before = content.substring(0, startIdx);
55
+ const after = content.substring(endIdx + END_MARKER.length);
56
+ const cleaned = (before + after).replace(/\n{3,}/g, '\n\n').trim();
57
+ await writeFile(targetPath, cleaned + '\n', 'utf-8');
58
+ }
59
+ }
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@dot-ai/adapter-sync",
3
+ "version": "0.5.2",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/jogelin/dot-ai",
7
+ "directory": "packages/adapter-sync"
8
+ },
9
+ "type": "module",
10
+ "main": "dist/index.js",
11
+ "types": "dist/index.d.ts",
12
+ "bin": {
13
+ "dot-ai-sync": "dist/cli.js"
14
+ },
15
+ "dependencies": {
16
+ "@dot-ai/core": "0.5.2"
17
+ },
18
+ "devDependencies": {
19
+ "@types/node": "^22.0.0",
20
+ "typescript": "^5.9.3",
21
+ "vitest": "^4.0.0"
22
+ },
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "scripts": {
27
+ "build": "tsc",
28
+ "test": "vitest run"
29
+ }
30
+ }
@@ -0,0 +1,211 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { readFile, writeFile, unlink, mkdir } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { tmpdir } from 'node:os';
5
+ import { syncToFile, unsyncFromFile } from '../sync.js';
6
+ import type { EnrichedContext } from '@dot-ai/core';
7
+
8
+ const START_MARKER = '<!-- dot-ai:start -->';
9
+ const END_MARKER = '<!-- dot-ai:end -->';
10
+
11
+ function makeCtx(overrides: Partial<EnrichedContext> = {}): EnrichedContext {
12
+ return {
13
+ prompt: '',
14
+ labels: [],
15
+ identities: [],
16
+ memories: [],
17
+ skills: [],
18
+ tools: [],
19
+ routing: { model: 'default', reason: 'no routing' },
20
+ ...overrides,
21
+ };
22
+ }
23
+
24
+ let tmpDir: string;
25
+ let tmpFile: string;
26
+
27
+ beforeEach(async () => {
28
+ tmpDir = join(tmpdir(), `dot-ai-sync-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
29
+ await mkdir(tmpDir, { recursive: true });
30
+ tmpFile = join(tmpDir, 'target.md');
31
+ });
32
+
33
+ afterEach(async () => {
34
+ try {
35
+ await unlink(tmpFile);
36
+ } catch {
37
+ // ignore
38
+ }
39
+ });
40
+
41
+ describe('syncToFile', () => {
42
+ it('creates file with markers when file does not exist', async () => {
43
+ const ctx = makeCtx({
44
+ identities: [
45
+ { type: 'agents', content: 'Be helpful', source: 'file', priority: 10 },
46
+ ],
47
+ });
48
+
49
+ await syncToFile(tmpFile, ctx);
50
+
51
+ const content = await readFile(tmpFile, 'utf-8');
52
+ expect(content).toContain(START_MARKER);
53
+ expect(content).toContain(END_MARKER);
54
+ expect(content).toContain('Be helpful');
55
+ });
56
+
57
+ it('replaces content between existing markers', async () => {
58
+ const initial = `# My Rules\n\n${START_MARKER}\nOld content\n${END_MARKER}\n\nMore content\n`;
59
+ await writeFile(tmpFile, initial, 'utf-8');
60
+
61
+ const ctx = makeCtx({
62
+ identities: [
63
+ { type: 'agents', content: 'New content', source: 'file', priority: 10 },
64
+ ],
65
+ });
66
+
67
+ await syncToFile(tmpFile, ctx);
68
+
69
+ const content = await readFile(tmpFile, 'utf-8');
70
+ expect(content).toContain('# My Rules');
71
+ expect(content).toContain('More content');
72
+ expect(content).toContain('New content');
73
+ expect(content).not.toContain('Old content');
74
+ });
75
+
76
+ it('appends markers when file has no markers', async () => {
77
+ const initial = '# Existing Rules\n\nSome content here.\n';
78
+ await writeFile(tmpFile, initial, 'utf-8');
79
+
80
+ const ctx = makeCtx({
81
+ identities: [
82
+ { type: 'soul', content: 'Appended content', source: 'file', priority: 5 },
83
+ ],
84
+ });
85
+
86
+ await syncToFile(tmpFile, ctx);
87
+
88
+ const content = await readFile(tmpFile, 'utf-8');
89
+ expect(content).toContain('# Existing Rules');
90
+ expect(content).toContain('Some content here.');
91
+ expect(content).toContain(START_MARKER);
92
+ expect(content).toContain(END_MARKER);
93
+ expect(content).toContain('Appended content');
94
+ // Existing content should come before the markers
95
+ const existingIdx = content.indexOf('Some content here.');
96
+ const markerIdx = content.indexOf(START_MARKER);
97
+ expect(existingIdx).toBeLessThan(markerIdx);
98
+ });
99
+
100
+ it('preserves content outside markers', async () => {
101
+ const before = '# Top Content\n\nThis stays.\n\n';
102
+ const after = '\n\n# Bottom Content\n\nThis also stays.\n';
103
+ const initial = `${before}${START_MARKER}\nOld\n${END_MARKER}${after}`;
104
+ await writeFile(tmpFile, initial, 'utf-8');
105
+
106
+ const ctx = makeCtx({
107
+ identities: [
108
+ { type: 'agents', content: 'Updated', source: 'file', priority: 10 },
109
+ ],
110
+ });
111
+
112
+ await syncToFile(tmpFile, ctx);
113
+
114
+ const content = await readFile(tmpFile, 'utf-8');
115
+ expect(content).toContain('# Top Content');
116
+ expect(content).toContain('This stays.');
117
+ expect(content).toContain('# Bottom Content');
118
+ expect(content).toContain('This also stays.');
119
+ expect(content).toContain('Updated');
120
+ expect(content).not.toContain('Old');
121
+ });
122
+
123
+ it('is idempotent — multiple syncs update correctly', async () => {
124
+ const ctx1 = makeCtx({
125
+ identities: [
126
+ { type: 'agents', content: 'First sync', source: 'file', priority: 10 },
127
+ ],
128
+ });
129
+ const ctx2 = makeCtx({
130
+ identities: [
131
+ { type: 'agents', content: 'Second sync', source: 'file', priority: 10 },
132
+ ],
133
+ });
134
+ const ctx3 = makeCtx({
135
+ identities: [
136
+ { type: 'agents', content: 'Third sync', source: 'file', priority: 10 },
137
+ ],
138
+ });
139
+
140
+ await syncToFile(tmpFile, ctx1);
141
+ await syncToFile(tmpFile, ctx2);
142
+ await syncToFile(tmpFile, ctx3);
143
+
144
+ const content = await readFile(tmpFile, 'utf-8');
145
+ expect(content).toContain('Third sync');
146
+ expect(content).not.toContain('First sync');
147
+ expect(content).not.toContain('Second sync');
148
+
149
+ // Markers appear exactly once
150
+ const startCount = (content.match(/<!-- dot-ai:start -->/g) ?? []).length;
151
+ const endCount = (content.match(/<!-- dot-ai:end -->/g) ?? []).length;
152
+ expect(startCount).toBe(1);
153
+ expect(endCount).toBe(1);
154
+ });
155
+
156
+ it('appends with single newline separator when file ends with newline', async () => {
157
+ const initial = '# Rules\n';
158
+ await writeFile(tmpFile, initial, 'utf-8');
159
+
160
+ await syncToFile(tmpFile, makeCtx());
161
+
162
+ const content = await readFile(tmpFile, 'utf-8');
163
+ // Should not have 3+ consecutive newlines
164
+ expect(content).not.toMatch(/\n{3,}/);
165
+ });
166
+ });
167
+
168
+ describe('unsyncFromFile', () => {
169
+ it('removes marker content from file', async () => {
170
+ const initial = `# My Rules\n\nKeep this.\n\n${START_MARKER}\nDot-ai content\n${END_MARKER}\n\nAlso keep this.\n`;
171
+ await writeFile(tmpFile, initial, 'utf-8');
172
+
173
+ await unsyncFromFile(tmpFile);
174
+
175
+ const content = await readFile(tmpFile, 'utf-8');
176
+ expect(content).toContain('# My Rules');
177
+ expect(content).toContain('Keep this.');
178
+ expect(content).toContain('Also keep this.');
179
+ expect(content).not.toContain(START_MARKER);
180
+ expect(content).not.toContain(END_MARKER);
181
+ expect(content).not.toContain('Dot-ai content');
182
+ });
183
+
184
+ it('handles missing file gracefully', async () => {
185
+ // Should not throw
186
+ await expect(unsyncFromFile('/nonexistent/path/file.md')).resolves.toBeUndefined();
187
+ });
188
+
189
+ it('does nothing when file has no markers', async () => {
190
+ const initial = '# My Rules\n\nContent without markers.\n';
191
+ await writeFile(tmpFile, initial, 'utf-8');
192
+
193
+ await unsyncFromFile(tmpFile);
194
+
195
+ const content = await readFile(tmpFile, 'utf-8');
196
+ expect(content).toBe(initial);
197
+ });
198
+
199
+ it('cleans up extra blank lines after removal', async () => {
200
+ const initial = `Before\n\n\n${START_MARKER}\ncontent\n${END_MARKER}\n\n\nAfter\n`;
201
+ await writeFile(tmpFile, initial, 'utf-8');
202
+
203
+ await unsyncFromFile(tmpFile);
204
+
205
+ const content = await readFile(tmpFile, 'utf-8');
206
+ // Should not have 3+ consecutive newlines
207
+ expect(content).not.toMatch(/\n{3,}/);
208
+ expect(content).toContain('Before');
209
+ expect(content).toContain('After');
210
+ });
211
+ });
package/src/cli.ts ADDED
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * dot-ai-sync — sync enriched context to agent config files.
4
+ *
5
+ * Usage:
6
+ * dot-ai-sync .cursorrules # Sync to Cursor
7
+ * dot-ai-sync .github/copilot-instructions.md # Sync to Copilot
8
+ * dot-ai-sync --unsync .cursorrules # Remove dot-ai content
9
+ */
10
+ import { argv, cwd, exit } from 'node:process';
11
+ import { join } from 'node:path';
12
+ import {
13
+ loadConfig,
14
+ injectRoot,
15
+ registerDefaults,
16
+ clearProviders,
17
+ createProviders,
18
+ boot,
19
+ enrich,
20
+ } from '@dot-ai/core';
21
+ import { syncToFile, unsyncFromFile } from './sync.js';
22
+
23
+ const args = argv.slice(2);
24
+
25
+ async function main(): Promise<void> {
26
+ if (args.length === 0) {
27
+ console.log('Usage: dot-ai-sync <target-file> [--unsync]');
28
+ console.log('\nExamples:');
29
+ console.log(' dot-ai-sync .cursorrules');
30
+ console.log(' dot-ai-sync .github/copilot-instructions.md');
31
+ console.log(' dot-ai-sync --unsync .cursorrules');
32
+ exit(0);
33
+ }
34
+
35
+ const unsync = args.includes('--unsync');
36
+ const targetFile = args.find(a => !a.startsWith('--'));
37
+
38
+ if (!targetFile) {
39
+ console.error('Error: specify a target file');
40
+ exit(1);
41
+ }
42
+
43
+ const root = cwd();
44
+ const targetPath = join(root, targetFile);
45
+
46
+ if (unsync) {
47
+ await unsyncFromFile(targetPath);
48
+ console.log(`Removed dot-ai content from ${targetFile}`);
49
+ return;
50
+ }
51
+
52
+ clearProviders();
53
+ registerDefaults();
54
+
55
+ const rawConfig = await loadConfig(root);
56
+ const config = injectRoot(rawConfig, root);
57
+ const providers = await createProviders(config);
58
+ const cache = await boot(providers);
59
+
60
+ // For sync, we enrich with an empty prompt (just boot context)
61
+ const ctx = await enrich('', providers, cache);
62
+
63
+ // Load skill content
64
+ for (const skill of ctx.skills) {
65
+ if (!skill.content && skill.name) {
66
+ skill.content = await providers.skills.load(skill.name) ?? undefined;
67
+ }
68
+ }
69
+
70
+ await syncToFile(targetPath, ctx);
71
+ console.log(`Synced dot-ai context to ${targetFile}`);
72
+ console.log(` Identities: ${ctx.identities.length}`);
73
+ console.log(` Skills: ${ctx.skills.length}`);
74
+ console.log(` Tools: ${ctx.tools.length}`);
75
+ }
76
+
77
+ main().catch((err) => {
78
+ console.error(err);
79
+ exit(1);
80
+ });
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { syncToFile, unsyncFromFile } from './sync.js';
2
+ export { formatContext } from '@dot-ai/core';
3
+ export const version = '0.4.0';
package/src/sync.ts ADDED
@@ -0,0 +1,68 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import type { EnrichedContext } from '@dot-ai/core';
3
+ import { formatContext } from '@dot-ai/core';
4
+
5
+ const START_MARKER = '<!-- dot-ai:start -->';
6
+ const END_MARKER = '<!-- dot-ai:end -->';
7
+
8
+ /**
9
+ * Sync enriched context to a target file using markers.
10
+ * Preserves content outside the markers.
11
+ *
12
+ * If the file doesn't exist, creates it with the markers.
13
+ * If the file exists but has no markers, appends them at the end.
14
+ * If the file has markers, replaces content between them.
15
+ */
16
+ export async function syncToFile(
17
+ targetPath: string,
18
+ ctx: EnrichedContext,
19
+ ): Promise<void> {
20
+ const formatted = formatContext(ctx);
21
+ const block = `${START_MARKER}\n${formatted}\n${END_MARKER}`;
22
+
23
+ let existing: string;
24
+ try {
25
+ existing = await readFile(targetPath, 'utf-8');
26
+ } catch {
27
+ // File doesn't exist — create with markers
28
+ await writeFile(targetPath, block + '\n', 'utf-8');
29
+ return;
30
+ }
31
+
32
+ // File exists — check for markers
33
+ const startIdx = existing.indexOf(START_MARKER);
34
+ const endIdx = existing.indexOf(END_MARKER);
35
+
36
+ if (startIdx !== -1 && endIdx !== -1) {
37
+ // Replace content between markers
38
+ const before = existing.substring(0, startIdx);
39
+ const after = existing.substring(endIdx + END_MARKER.length);
40
+ await writeFile(targetPath, before + block + after, 'utf-8');
41
+ } else {
42
+ // No markers — append
43
+ const separator = existing.endsWith('\n') ? '\n' : '\n\n';
44
+ await writeFile(targetPath, existing + separator + block + '\n', 'utf-8');
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Remove dot-ai content from a target file.
50
+ */
51
+ export async function unsyncFromFile(targetPath: string): Promise<void> {
52
+ let content: string;
53
+ try {
54
+ content = await readFile(targetPath, 'utf-8');
55
+ } catch {
56
+ return; // File doesn't exist
57
+ }
58
+
59
+ const startIdx = content.indexOf(START_MARKER);
60
+ const endIdx = content.indexOf(END_MARKER);
61
+
62
+ if (startIdx !== -1 && endIdx !== -1) {
63
+ const before = content.substring(0, startIdx);
64
+ const after = content.substring(endIdx + END_MARKER.length);
65
+ const cleaned = (before + after).replace(/\n{3,}/g, '\n\n').trim();
66
+ await writeFile(targetPath, cleaned + '\n', 'utf-8');
67
+ }
68
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "rootDir": "src",
9
+ "strict": true,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "composite": true
13
+ },
14
+ "include": ["src/**/*.ts"],
15
+ "references": [
16
+ { "path": "../core" }
17
+ ]
18
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.full.d.ts","../core/dist/types.d.ts","../core/dist/contracts.d.ts","../core/dist/logger.d.ts","../core/dist/engine.d.ts","../core/dist/config.d.ts","../core/dist/format.d.ts","../core/dist/loader.d.ts","../core/dist/labels.d.ts","../core/dist/nodes.d.ts","../core/dist/index.d.ts","./src/sync.ts","./src/cli.ts","./src/index.ts","../../node_modules/.pnpm/@vitest+pretty-format@4.0.18/node_modules/@vitest/pretty-format/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/display.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/helpers.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/timers.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/tasks.d-C7UxawJ9.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../node_modules/.pnpm/@vitest+utils@4.0.18/node_modules/@vitest/utils/dist/diff.d.ts","../../node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/types.d.ts","../../node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/traces.d.402V_yFI.d.ts","../../node_modules/.pnpm/vite@7.3.1_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vite/types/hmrPayload.d.ts","../../node_modules/.pnpm/vite@7.3.1_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../node_modules/.pnpm/vite@7.3.1_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vite/types/customEvent.d.ts","../../node_modules/.pnpm/vite@7.3.1_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vite/types/hot.d.ts","../../node_modules/.pnpm/vite@7.3.1_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vite/dist/node/module-runner.d.ts","../../node_modules/.pnpm/@vitest+snapshot@4.0.18/node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts","../../node_modules/.pnpm/@vitest+snapshot@4.0.18/node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts","../../node_modules/.pnpm/@vitest+snapshot@4.0.18/node_modules/@vitest/snapshot/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/config.d.Cy95HiCx.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/rpc.d.RH3apGEf.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/worker.d.Dyxm8DEL.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/browser.d.ChKACdzH.d.ts","../../node_modules/.pnpm/@vitest+spy@4.0.18/node_modules/@vitest/spy/dist/index.d.ts","../../node_modules/.pnpm/tinyrainbow@3.0.3/node_modules/tinyrainbow/dist/index.d.ts","../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../node_modules/.pnpm/@vitest+expect@4.0.18/node_modules/@vitest/expect/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/utils.d.ts","../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/global.d.B15mdLcR.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/suite.d.BJWk38HB.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../node_modules/.pnpm/vitest@4.0.18_@types+node@22.19.12_jiti@2.6.1_yaml@2.8.2/node_modules/vitest/dist/index.d.ts","./src/__tests__/sync.test.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.19.12/node_modules/@types/node/index.d.ts"],"fileIdsList":[[127,176,193,194],[105,106,127,176,193,194],[127,173,174,176,193,194],[127,175,176,193,194],[176,193,194],[127,176,181,193,194,211],[127,176,177,182,187,193,194,196,208,219],[127,176,177,178,187,193,194,196],[122,123,124,127,176,193,194],[127,176,179,193,194,220],[127,176,180,181,188,193,194,197],[127,176,181,193,194,208,216],[127,176,182,184,187,193,194,196],[127,175,176,183,193,194],[127,176,184,185,193,194],[127,176,186,187,193,194],[127,175,176,187,193,194],[127,176,187,188,189,193,194,208,219],[127,176,187,188,189,193,194,203,208,211],[127,169,176,184,187,190,193,194,196,208,219],[127,176,187,188,190,191,193,194,196,208,216,219],[127,176,190,192,193,194,208,216,219],[125,126,127,128,129,130,131,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225],[127,176,187,193,194],[127,176,193,194,195,219],[127,176,184,187,193,194,196,208],[127,176,193,194,197],[127,176,193,194,198],[127,175,176,193,194,199],[127,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225],[127,176,193,194,201],[127,176,193,194,202],[127,176,187,193,194,203,204],[127,176,193,194,203,205,220,222],[127,176,188,193,194],[127,176,187,193,194,208,209,211],[127,176,193,194,210,211],[127,176,193,194,208,209],[127,176,193,194,211],[127,176,193,194,212],[127,173,176,193,194,208,213,219],[127,176,187,193,194,214,215],[127,176,193,194,214,215],[127,176,181,193,194,196,208,216],[127,176,193,194,217],[127,176,193,194,196,218],[127,176,190,193,194,202,219],[127,176,181,193,194,220],[127,176,193,194,208,221],[127,176,193,194,195,222],[127,176,193,194,223],[127,169,176,193,194],[127,169,176,187,189,193,194,199,208,211,219,221,222,224],[127,176,193,194,208,225],[78,82,85,87,102,103,104,107,112,127,176,193,194],[82,83,85,86,127,176,193,194],[82,127,176,193,194],[82,83,85,127,176,193,194],[82,83,127,176,193,194],[77,94,95,127,176,193,194],[77,94,127,176,193,194],[77,84,127,176,193,194],[77,127,176,193,194],[79,127,176,193,194],[77,78,79,80,81,127,176,193,194],[115,116,127,176,193,194],[115,116,117,118,127,176,193,194],[115,117,127,176,193,194],[115,127,176,193,194],[127,141,145,176,193,194,219],[127,141,176,193,194,208,219],[127,136,176,193,194],[127,138,141,176,193,194,216,219],[127,176,193,194,196,216],[127,176,193,194,226],[127,136,176,193,194,226],[127,138,141,176,193,194,196,219],[127,133,134,137,140,176,187,193,194,208,219],[127,141,148,176,193,194],[127,133,139,176,193,194],[127,141,162,163,176,193,194],[127,137,141,176,193,194,211,219,226],[127,162,176,193,194,226],[127,135,136,176,193,194,226],[127,141,176,193,194],[127,135,136,137,138,139,140,141,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,176,193,194],[127,141,156,176,193,194],[127,141,148,149,176,193,194],[127,139,141,149,150,176,193,194],[127,140,176,193,194],[127,133,136,141,176,193,194],[127,141,145,149,150,176,193,194],[127,145,176,193,194],[127,139,141,144,176,193,194,219],[127,133,138,141,148,176,193,194],[127,176,193,194,208],[127,136,141,162,176,193,194,224,226],[89,127,176,193,194],[89,90,91,92,127,176,193,194],[91,127,176,193,194],[87,109,110,112,127,176,193,194],[87,88,100,112,127,176,193,194],[77,85,87,96,112,127,176,193,194],[93,127,176,193,194],[77,87,96,99,108,111,112,127,176,193,194],[87,88,93,96,112,127,176,193,194],[87,109,110,111,112,127,176,193,194],[87,93,97,98,99,112,127,176,193,194],[77,82,85,87,88,93,96,97,98,99,100,101,102,108,109,110,111,112,113,114,119,127,176,193,194],[73,74,120,127,176,189,193,194,197,198],[73,74,127,176,193,194,198,200],[73,74,127,176,193,194],[73,127,176,189,193,194],[64,127,176,193,194],[64,65,66,127,176,193,194],[64,66,127,176,193,194],[64,65,66,67,68,69,70,71,72,127,176,193,194],[64,67,127,176,193,194]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"3bd97ca46a6c05a4f285a1a382b6dce009fc4a058081e9e74aaa32d06adefcac","impliedFormat":99},{"version":"709e5d4fe8b301b05f2517c0abc0d9167f655bb97494b7908bcb1132d032df51","impliedFormat":99},{"version":"9580b41ef016f4a000994815283c52484f7d1f5a1937147710eef003e84d4824","impliedFormat":99},{"version":"c068e357b81691f013bfc6668010c51616697bba73e7b79f9e3c62f8e9ad7213","impliedFormat":99},{"version":"7fcef6b142db0ad673aa3d94e02aa906c3da1caa4ea7c3bd5e26acd8fbc37d50","impliedFormat":99},{"version":"2d936d9c7ec209b9487435c4ca38c1e67c6ac237f0b4701c0d3c8d41733ed947","impliedFormat":99},{"version":"ee34288d5565604e1f952a67299475e54969783b507b5242cf129559ac8bba00","impliedFormat":99},{"version":"84f5d002464b4ee8172fab70ad1352c9f2b2f1c692470f2a5e58db948e9e57a9","impliedFormat":99},{"version":"687962b0869f76a160a90bdf3981daf58edfc467eabeb82f5b4e611215b048f4","impliedFormat":99},{"version":"c95c1e63df382e67baf508c489fce3849c18e22458cb63f7e3cf787ccf95ffa0","impliedFormat":99},{"version":"0909a720b557f04bbe683ec6e48f86abe80e23bb261863e423d47259744d6602","signature":"0d72f3ccc231993e01dcad24eb301ab0e8573c19d8dd166132a130f835d89955","impliedFormat":99},{"version":"6aa274d55d9615a6212dcd8ea72ef069ecab7d6907ca225663bf76624e638672","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"85a3f59253102b7fefdd4eb4ef46fd4cffe76d568c2faedc54fb669cd89466f3","signature":"270d4cca34ed2df72eb89d52ddd62471e3e65e4a4885b1fd3ed51e4d834767e4","impliedFormat":99},{"version":"acfb723d81eda39156251aed414c553294870bf53062429ebfcfba8a68cb4753","impliedFormat":99},{"version":"fa69a90381c2f85889722a911a732a5ee3596dc3acecda8a9aa2fa89b9615d8d","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"57e9e1b0911874c62d743af24b5d56032759846533641d550b12a45ff404bf07","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"854cd3a3375ffc4e7a92b2168dd065d7ff2614b43341038a65cca865a44c00c5","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"2f863ee9b873a65d9c3338ea7aaddbdb41a9673f062f06983d712bd01c25dc6b","impliedFormat":99},{"version":"67aa128c2bc170b93794f191feffc65a4b33e878db211cfcb7658c4b72f7a1f5","impliedFormat":99},{"version":"ac3d263474022e9a14c43f588f485d549641d839b159ecc971978b90f34bdf6b","impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"c35b8117804c639c53c87f2c23e0c786df61d552e513bd5179f5b88e29964838","impliedFormat":99},{"version":"c609331c6ed4ad4af54e101088c6a4dcb48f8db7b0b97e44a6efeb130f4331bd","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"67acaedb46832d66c15f1b09fb7b6a0b7f41bdbf8eaa586ec70459b3e8896eb9","impliedFormat":99},{"version":"4535ab977ee871e956eb7bebe2db5de79f5d5ec7dfbbf1d35e08f4a2d6630dac","impliedFormat":99},{"version":"b79b5ed99f26ffb2f8ae4bdcc4b34a9542197dc3fa96cfb425c2a81e618cff28","impliedFormat":99},{"version":"31fd7c12f6e27154efb52a916b872509a771880f3b20f2dfd045785c13aa813f","impliedFormat":99},{"version":"b481de4ab5379bd481ca12fc0b255cdc47341629a22c240a89cdb4e209522be2","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"4e258d11c899cb9ff36b4b5c53df59cf4a5ccae9a9931529686e77431e0a3518","affectsGlobalScope":true,"impliedFormat":99},{"version":"a5ae67a67f786ffe92d34b55467a40fb50fb0093e92388cadce6168fa42690fd","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"a534e61c2f06a147d97aebad720db97dffd8066b7142212e46bcbcdcb640b81a","impliedFormat":99},{"version":"ddf569d04470a4d629090d43a16735185001f3fcf0ae036ead99f2ceab62be48","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"53c448183c7177c83d3eb0b40824cf8952721a6584cf22052adc24f778986732","impliedFormat":99},{"version":"52979566deb1e226a1549142f1d99f4689b78b23c14a9c57b542facb32ba293f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"f949f7f6c7802a338039cfc2156d1fe285cdd1e092c64437ebe15ae8edc854e0","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2bc7425ef40526650d6db7e072c1ff4a51101c3ac2cc4b666623b19496a6e27","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[[74,76],121],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":199,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[104,1],[107,2],[105,1],[173,3],[174,3],[175,4],[127,5],[176,6],[177,7],[178,8],[122,1],[125,9],[123,1],[124,1],[179,10],[180,11],[181,12],[182,13],[183,14],[184,15],[185,15],[186,16],[187,17],[188,18],[189,19],[128,1],[126,1],[190,20],[191,21],[192,22],[226,23],[193,24],[194,1],[195,25],[196,26],[197,27],[198,28],[199,29],[200,30],[201,31],[202,32],[203,33],[204,33],[205,34],[206,1],[207,35],[208,36],[210,37],[209,38],[211,39],[212,40],[213,41],[214,42],[215,43],[216,44],[217,45],[218,46],[219,47],[220,48],[221,49],[222,50],[223,51],[129,1],[130,1],[131,1],[170,52],[171,1],[172,1],[224,53],[225,54],[108,55],[77,1],[87,56],[83,57],[86,58],[109,59],[94,1],[96,60],[95,61],[102,1],[85,62],[78,63],[80,64],[82,65],[81,1],[84,63],[79,1],[106,1],[132,1],[117,66],[119,67],[118,68],[116,69],[115,1],[110,1],[103,1],[61,1],[62,1],[12,1],[10,1],[11,1],[16,1],[15,1],[2,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[3,1],[25,1],[26,1],[4,1],[27,1],[31,1],[28,1],[29,1],[30,1],[32,1],[33,1],[34,1],[5,1],[35,1],[36,1],[37,1],[38,1],[6,1],[42,1],[39,1],[40,1],[41,1],[43,1],[7,1],[44,1],[49,1],[50,1],[45,1],[46,1],[47,1],[48,1],[8,1],[54,1],[51,1],[52,1],[53,1],[55,1],[9,1],[56,1],[63,1],[57,1],[58,1],[60,1],[59,1],[1,1],[14,1],[13,1],[148,70],[158,71],[147,70],[168,72],[139,73],[138,74],[167,75],[161,76],[166,77],[141,78],[155,79],[140,80],[164,81],[136,82],[135,75],[165,83],[137,84],[142,85],[143,1],[146,85],[133,1],[169,86],[159,87],[150,88],[151,89],[153,90],[149,91],[152,92],[162,75],[144,93],[145,94],[154,95],[134,96],[157,87],[156,85],[160,1],[163,97],[90,98],[93,99],[91,98],[89,1],[92,100],[111,101],[101,102],[97,103],[98,57],[114,104],[112,105],[99,106],[113,107],[88,1],[100,108],[120,109],[121,110],[75,111],[76,112],[74,113],[68,114],[65,114],[67,115],[69,116],[73,117],[71,114],[70,118],[66,1],[72,114],[64,1]],"latestChangedDtsFile":"./dist/__tests__/sync.test.d.ts","version":"5.9.3"}