@tokens-studio/tokenscript-schemas 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Types for schema bundler
3
+ */
4
+ interface SchemaFile {
5
+ path: string;
6
+ content: string;
7
+ }
8
+ interface SchemaBundle {
9
+ slug: string;
10
+ name: string;
11
+ type: "type" | "function";
12
+ version: string;
13
+ schema?: unknown;
14
+ scripts: Record<string, string>;
15
+ metadata: {
16
+ id: string;
17
+ description: string;
18
+ contentType: string | null;
19
+ originalVersion: string;
20
+ };
21
+ }
22
+ interface ScriptBlock {
23
+ type: string;
24
+ script: string;
25
+ }
26
+ interface Initializer {
27
+ title?: string;
28
+ keyword: string;
29
+ description?: string;
30
+ schema?: unknown;
31
+ script: ScriptBlock;
32
+ }
33
+ interface Conversion {
34
+ source: string;
35
+ target: string;
36
+ description?: string;
37
+ lossless: boolean;
38
+ script: ScriptBlock;
39
+ }
40
+ interface SpecProperty {
41
+ type: "number" | "string" | "color";
42
+ }
43
+ interface SpecSchema {
44
+ type: "object";
45
+ properties: Record<string, SpecProperty>;
46
+ required?: string[];
47
+ order?: string[];
48
+ additionalProperties?: boolean;
49
+ }
50
+ interface ColorSpecification {
51
+ name: string;
52
+ type: "color";
53
+ description?: string;
54
+ schema?: SpecSchema;
55
+ initializers: Initializer[];
56
+ conversions: Conversion[];
57
+ slug?: string;
58
+ }
59
+ interface FunctionSpecification {
60
+ name: string;
61
+ type: "function";
62
+ input?: {
63
+ type: "object";
64
+ properties?: Record<string, unknown>;
65
+ };
66
+ script: ScriptBlock;
67
+ keyword: string;
68
+ description?: string;
69
+ requirements?: string[];
70
+ slug?: string;
71
+ }
72
+ type SchemaSpecification = ColorSpecification | FunctionSpecification;
73
+ interface BundledRegistry {
74
+ version: string;
75
+ types: ColorSpecification[];
76
+ functions: FunctionSpecification[];
77
+ metadata: {
78
+ generatedAt: string;
79
+ totalSchemas: number;
80
+ };
81
+ }
82
+
83
+ /**
84
+ * Schema bundler - bundles schemas for distribution
85
+ */
86
+
87
+ /**
88
+ * Bundle all schemas from the schemas directory
89
+ */
90
+ declare function bundleAllSchemas(schemasDir: string, outputDir: string): Promise<BundledRegistry>;
91
+
92
+ /**
93
+ * Types for schema downloader
94
+ */
95
+ interface LatestVersion {
96
+ id: string;
97
+ version: string;
98
+ created_at: string;
99
+ }
100
+ interface SchemaListItem {
101
+ id: string;
102
+ slug: string;
103
+ name: string;
104
+ description: string;
105
+ license_name: string | null;
106
+ type: "type" | "function";
107
+ latest: LatestVersion;
108
+ }
109
+ interface SchemaVersion {
110
+ id: string;
111
+ type: "type" | "function";
112
+ schema: string;
113
+ slug: string;
114
+ version: string;
115
+ content: unknown;
116
+ status?: string;
117
+ created_at?: string;
118
+ updated_at?: string;
119
+ }
120
+ interface SchemaDetails {
121
+ id: string;
122
+ slug: string;
123
+ name: string;
124
+ description: string;
125
+ type: "type" | "function";
126
+ version: string;
127
+ content: unknown;
128
+ metadata?: Record<string, unknown>;
129
+ }
130
+ interface SchemaConfig {
131
+ apiBaseUrl: string;
132
+ outputDir: string;
133
+ targetVersion: string;
134
+ }
135
+
136
+ /**
137
+ * Schema downloader - fetches schemas from the TokenScript API
138
+ */
139
+
140
+ declare const DEFAULT_CONFIG: SchemaConfig;
141
+ /**
142
+ * Fetch all schemas from the API
143
+ */
144
+ declare function fetchSchemaList(config?: SchemaConfig): Promise<SchemaListItem[]>;
145
+ /**
146
+ * Fetch versions for a schema
147
+ */
148
+ declare function fetchSchemaVersions(schemaSlug: string, config?: SchemaConfig): Promise<SchemaVersion[]>;
149
+ /**
150
+ * Download and organize a single schema
151
+ */
152
+ declare function downloadSchema(schema: SchemaListItem, config?: SchemaConfig): Promise<void>;
153
+ /**
154
+ * Download all schemas from the API
155
+ */
156
+ declare function downloadAllSchemas(config?: Partial<SchemaConfig>): Promise<void>;
157
+
158
+ export { type BundledRegistry, type ColorSpecification, type Conversion, DEFAULT_CONFIG, type FunctionSpecification, type Initializer, type LatestVersion, type SchemaBundle, type SchemaConfig, type SchemaDetails, type SchemaFile, type SchemaListItem, type SchemaSpecification, type SchemaVersion, type ScriptBlock, type SpecProperty, type SpecSchema, bundleAllSchemas, downloadAllSchemas, downloadSchema, fetchSchemaList, fetchSchemaVersions };
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Types for schema bundler
3
+ */
4
+ interface SchemaFile {
5
+ path: string;
6
+ content: string;
7
+ }
8
+ interface SchemaBundle {
9
+ slug: string;
10
+ name: string;
11
+ type: "type" | "function";
12
+ version: string;
13
+ schema?: unknown;
14
+ scripts: Record<string, string>;
15
+ metadata: {
16
+ id: string;
17
+ description: string;
18
+ contentType: string | null;
19
+ originalVersion: string;
20
+ };
21
+ }
22
+ interface ScriptBlock {
23
+ type: string;
24
+ script: string;
25
+ }
26
+ interface Initializer {
27
+ title?: string;
28
+ keyword: string;
29
+ description?: string;
30
+ schema?: unknown;
31
+ script: ScriptBlock;
32
+ }
33
+ interface Conversion {
34
+ source: string;
35
+ target: string;
36
+ description?: string;
37
+ lossless: boolean;
38
+ script: ScriptBlock;
39
+ }
40
+ interface SpecProperty {
41
+ type: "number" | "string" | "color";
42
+ }
43
+ interface SpecSchema {
44
+ type: "object";
45
+ properties: Record<string, SpecProperty>;
46
+ required?: string[];
47
+ order?: string[];
48
+ additionalProperties?: boolean;
49
+ }
50
+ interface ColorSpecification {
51
+ name: string;
52
+ type: "color";
53
+ description?: string;
54
+ schema?: SpecSchema;
55
+ initializers: Initializer[];
56
+ conversions: Conversion[];
57
+ slug?: string;
58
+ }
59
+ interface FunctionSpecification {
60
+ name: string;
61
+ type: "function";
62
+ input?: {
63
+ type: "object";
64
+ properties?: Record<string, unknown>;
65
+ };
66
+ script: ScriptBlock;
67
+ keyword: string;
68
+ description?: string;
69
+ requirements?: string[];
70
+ slug?: string;
71
+ }
72
+ type SchemaSpecification = ColorSpecification | FunctionSpecification;
73
+ interface BundledRegistry {
74
+ version: string;
75
+ types: ColorSpecification[];
76
+ functions: FunctionSpecification[];
77
+ metadata: {
78
+ generatedAt: string;
79
+ totalSchemas: number;
80
+ };
81
+ }
82
+
83
+ /**
84
+ * Schema bundler - bundles schemas for distribution
85
+ */
86
+
87
+ /**
88
+ * Bundle all schemas from the schemas directory
89
+ */
90
+ declare function bundleAllSchemas(schemasDir: string, outputDir: string): Promise<BundledRegistry>;
91
+
92
+ /**
93
+ * Types for schema downloader
94
+ */
95
+ interface LatestVersion {
96
+ id: string;
97
+ version: string;
98
+ created_at: string;
99
+ }
100
+ interface SchemaListItem {
101
+ id: string;
102
+ slug: string;
103
+ name: string;
104
+ description: string;
105
+ license_name: string | null;
106
+ type: "type" | "function";
107
+ latest: LatestVersion;
108
+ }
109
+ interface SchemaVersion {
110
+ id: string;
111
+ type: "type" | "function";
112
+ schema: string;
113
+ slug: string;
114
+ version: string;
115
+ content: unknown;
116
+ status?: string;
117
+ created_at?: string;
118
+ updated_at?: string;
119
+ }
120
+ interface SchemaDetails {
121
+ id: string;
122
+ slug: string;
123
+ name: string;
124
+ description: string;
125
+ type: "type" | "function";
126
+ version: string;
127
+ content: unknown;
128
+ metadata?: Record<string, unknown>;
129
+ }
130
+ interface SchemaConfig {
131
+ apiBaseUrl: string;
132
+ outputDir: string;
133
+ targetVersion: string;
134
+ }
135
+
136
+ /**
137
+ * Schema downloader - fetches schemas from the TokenScript API
138
+ */
139
+
140
+ declare const DEFAULT_CONFIG: SchemaConfig;
141
+ /**
142
+ * Fetch all schemas from the API
143
+ */
144
+ declare function fetchSchemaList(config?: SchemaConfig): Promise<SchemaListItem[]>;
145
+ /**
146
+ * Fetch versions for a schema
147
+ */
148
+ declare function fetchSchemaVersions(schemaSlug: string, config?: SchemaConfig): Promise<SchemaVersion[]>;
149
+ /**
150
+ * Download and organize a single schema
151
+ */
152
+ declare function downloadSchema(schema: SchemaListItem, config?: SchemaConfig): Promise<void>;
153
+ /**
154
+ * Download all schemas from the API
155
+ */
156
+ declare function downloadAllSchemas(config?: Partial<SchemaConfig>): Promise<void>;
157
+
158
+ export { type BundledRegistry, type ColorSpecification, type Conversion, DEFAULT_CONFIG, type FunctionSpecification, type Initializer, type LatestVersion, type SchemaBundle, type SchemaConfig, type SchemaDetails, type SchemaFile, type SchemaListItem, type SchemaSpecification, type SchemaVersion, type ScriptBlock, type SpecProperty, type SpecSchema, bundleAllSchemas, downloadAllSchemas, downloadSchema, fetchSchemaList, fetchSchemaVersions };
package/dist/index.js ADDED
@@ -0,0 +1,326 @@
1
+ import { mkdir, writeFile, readdir, stat, readFile } from 'fs/promises';
2
+ import { join } from 'path';
3
+
4
+ // src/bundler/index.ts
5
+ async function bundleSchemaFromDirectory(schemaDir, options) {
6
+ const schemaJsonPath = join(schemaDir, "schema.json");
7
+ const schemaContent = await readFile(schemaJsonPath, "utf-8");
8
+ const schema = JSON.parse(schemaContent);
9
+ if (schema.type === "function") {
10
+ return await inlineFunctionScriptReferences(
11
+ schemaDir,
12
+ schema,
13
+ options
14
+ );
15
+ } else {
16
+ return await inlineColorScriptReferences(schemaDir, schema, options);
17
+ }
18
+ }
19
+ async function inlineColorScriptReferences(schemaDir, schema, options) {
20
+ const result = JSON.parse(JSON.stringify(schema));
21
+ for (const initializer of result.initializers) {
22
+ if (initializer.script.script.startsWith("./")) {
23
+ const scriptPath = join(schemaDir, initializer.script.script.slice(2));
24
+ const scriptContent = await readFile(scriptPath, "utf-8");
25
+ initializer.script.script = scriptContent.trim();
26
+ }
27
+ if (options?.baseUrl) {
28
+ initializer.script.type = addBaseUrl(initializer.script.type, options.baseUrl);
29
+ }
30
+ }
31
+ for (const conversion of result.conversions) {
32
+ if (conversion.script.script.startsWith("./")) {
33
+ const scriptPath = join(schemaDir, conversion.script.script.slice(2));
34
+ const scriptContent = await readFile(scriptPath, "utf-8");
35
+ conversion.script.script = scriptContent.trim();
36
+ }
37
+ if (options?.baseUrl) {
38
+ conversion.script.type = addBaseUrl(conversion.script.type, options.baseUrl);
39
+ if (conversion.source !== "$self") {
40
+ conversion.source = addBaseUrl(conversion.source, options.baseUrl);
41
+ }
42
+ if (conversion.target !== "$self") {
43
+ conversion.target = addBaseUrl(conversion.target, options.baseUrl);
44
+ }
45
+ }
46
+ }
47
+ return result;
48
+ }
49
+ async function inlineFunctionScriptReferences(schemaDir, schema, options) {
50
+ const result = JSON.parse(JSON.stringify(schema));
51
+ if (result.script.script.startsWith("./")) {
52
+ const scriptPath = join(schemaDir, result.script.script.slice(2));
53
+ const scriptContent = await readFile(scriptPath, "utf-8");
54
+ result.script.script = scriptContent.trim();
55
+ }
56
+ if (options?.baseUrl) {
57
+ result.script.type = addBaseUrl(result.script.type, options.baseUrl);
58
+ if (result.requirements) {
59
+ const baseUrl = options.baseUrl;
60
+ result.requirements = result.requirements.map((req) => addBaseUrl(req, baseUrl));
61
+ }
62
+ }
63
+ return result;
64
+ }
65
+ function addBaseUrl(uri, baseUrl) {
66
+ if (uri.includes("://")) {
67
+ return uri;
68
+ }
69
+ if (uri.startsWith("/")) {
70
+ const cleanBaseUrl = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
71
+ return `${cleanBaseUrl}${uri}`;
72
+ }
73
+ return uri;
74
+ }
75
+ async function isDirectory(path) {
76
+ try {
77
+ const stats = await stat(path);
78
+ return stats.isDirectory();
79
+ } catch {
80
+ return false;
81
+ }
82
+ }
83
+ async function getSubdirectories(dir) {
84
+ const entries = await readdir(dir);
85
+ const subdirs = [];
86
+ for (const entry of entries) {
87
+ const fullPath = join(dir, entry);
88
+ if (await isDirectory(fullPath)) {
89
+ subdirs.push(entry);
90
+ }
91
+ }
92
+ return subdirs;
93
+ }
94
+
95
+ // src/bundler/index.ts
96
+ var DEFAULT_REGISTRY_URL = "https://schema.tokenscript.dev.gcp.tokens.studio";
97
+ async function bundleSchema(schemaDir, schemaSlug) {
98
+ const bundled = await bundleSchemaFromDirectory(schemaDir, {
99
+ baseUrl: DEFAULT_REGISTRY_URL
100
+ });
101
+ bundled.slug = schemaSlug;
102
+ return bundled;
103
+ }
104
+ async function bundleTypeCategory(categoryDir) {
105
+ const bundles = [];
106
+ const schemaSlugs = await getSubdirectories(categoryDir);
107
+ for (const slug of schemaSlugs) {
108
+ const schemaDir = join(categoryDir, slug);
109
+ console.log(` Bundling ${slug}...`);
110
+ try {
111
+ const bundle = await bundleSchema(schemaDir, slug);
112
+ if (bundle.type === "color") {
113
+ bundles.push(bundle);
114
+ }
115
+ } catch (error) {
116
+ console.error(` \u2717 Failed to bundle ${slug}:`, error);
117
+ }
118
+ }
119
+ return bundles;
120
+ }
121
+ async function bundleFunctionCategory(categoryDir) {
122
+ const bundles = [];
123
+ const schemaSlugs = await getSubdirectories(categoryDir);
124
+ for (const slug of schemaSlugs) {
125
+ const schemaDir = join(categoryDir, slug);
126
+ console.log(` Bundling ${slug}...`);
127
+ try {
128
+ const bundle = await bundleSchema(schemaDir, slug);
129
+ if (bundle.type === "function") {
130
+ bundles.push(bundle);
131
+ }
132
+ } catch (error) {
133
+ console.error(` \u2717 Failed to bundle ${slug}:`, error);
134
+ }
135
+ }
136
+ return bundles;
137
+ }
138
+ async function bundleAllSchemas(schemasDir, outputDir) {
139
+ console.log("\nBundling type schemas...");
140
+ const typesDir = join(schemasDir, "types");
141
+ const types = await bundleTypeCategory(typesDir);
142
+ console.log(`\u2713 Bundled ${types.length} type schemas`);
143
+ console.log("\nBundling function schemas...");
144
+ const functionsDir = join(schemasDir, "functions");
145
+ const functions = await bundleFunctionCategory(functionsDir);
146
+ console.log(`\u2713 Bundled ${functions.length} function schemas`);
147
+ const registry = {
148
+ version: "0.0.10",
149
+ types,
150
+ functions,
151
+ metadata: {
152
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
153
+ totalSchemas: types.length + functions.length
154
+ }
155
+ };
156
+ await mkdir(outputDir, { recursive: true });
157
+ const registryPath = join(outputDir, "registry.json");
158
+ await writeFile(registryPath, JSON.stringify(registry, null, 2));
159
+ console.log(`
160
+ \u2713 Written complete registry to ${registryPath}`);
161
+ const typesPath = join(outputDir, "types.json");
162
+ await writeFile(typesPath, JSON.stringify({ version: registry.version, types }, null, 2));
163
+ console.log(`\u2713 Written types bundle to ${typesPath}`);
164
+ const functionsPath = join(outputDir, "functions.json");
165
+ await writeFile(functionsPath, JSON.stringify({ version: registry.version, functions }, null, 2));
166
+ console.log(`\u2713 Written functions bundle to ${functionsPath}`);
167
+ const typesOutputDir = join(outputDir, "types");
168
+ await mkdir(typesOutputDir, { recursive: true });
169
+ for (const type of types) {
170
+ const typePath = join(typesOutputDir, `${type.slug}.json`);
171
+ await writeFile(typePath, JSON.stringify(type, null, 2));
172
+ }
173
+ console.log(`\u2713 Written ${types.length} individual type schemas`);
174
+ const functionsOutputDir = join(outputDir, "functions");
175
+ await mkdir(functionsOutputDir, { recursive: true });
176
+ for (const func of functions) {
177
+ const funcPath = join(functionsOutputDir, `${func.slug}.json`);
178
+ await writeFile(funcPath, JSON.stringify(func, null, 2));
179
+ }
180
+ console.log(`\u2713 Written ${functions.length} individual function schemas`);
181
+ return registry;
182
+ }
183
+ var DEFAULT_CONFIG = {
184
+ apiBaseUrl: "https://schema.tokenscript.dev.gcp.tokens.studio/api/v1",
185
+ outputDir: "src/schemas",
186
+ targetVersion: "0.0.10"
187
+ };
188
+ async function fetchSchemaList(config = DEFAULT_CONFIG) {
189
+ const url = `${config.apiBaseUrl}/schema/?format=json`;
190
+ console.log(`Fetching schema list from ${url}...`);
191
+ const response = await fetch(url);
192
+ if (!response.ok) {
193
+ throw new Error(`Failed to fetch schemas: ${response.statusText}`);
194
+ }
195
+ const data = await response.json();
196
+ console.log(`Found ${data.length} schemas`);
197
+ return data;
198
+ }
199
+ async function fetchSchemaVersions(schemaSlug, config = DEFAULT_CONFIG) {
200
+ const url = `${config.apiBaseUrl}/schema/${schemaSlug}/versions/?format=json`;
201
+ const response = await fetch(url);
202
+ if (!response.ok) {
203
+ throw new Error(`Failed to fetch versions for ${schemaSlug}: ${response.statusText}`);
204
+ }
205
+ return await response.json();
206
+ }
207
+ async function createSchemaFolder(schemaSlug, schemaType, baseDir) {
208
+ const schemaPath = join(baseDir, schemaType === "type" ? "types" : "functions", schemaSlug);
209
+ await mkdir(schemaPath, { recursive: true });
210
+ return schemaPath;
211
+ }
212
+ async function writeSchemaJson(schemaPath, schema, targetVersion) {
213
+ const content = schema.content;
214
+ const schemaJson = {
215
+ id: schema.id,
216
+ slug: schema.slug,
217
+ name: schema.name,
218
+ description: schema.description,
219
+ type: schema.type,
220
+ version: targetVersion,
221
+ originalVersion: schema.version,
222
+ contentType: content.type || null,
223
+ metadata: schema.metadata || {}
224
+ };
225
+ await writeFile(join(schemaPath, "schema.json"), JSON.stringify(schemaJson, null, 2));
226
+ }
227
+ async function createUnitTestStub(schemaPath, schemaName, schemaType) {
228
+ const testContent = `import { describe, test, expect } from "vitest";
229
+
230
+ describe("${schemaName}", () => {
231
+ test.todo("should implement ${schemaType} functionality");
232
+ });
233
+ `;
234
+ await writeFile(join(schemaPath, "unit.test.ts"), testContent);
235
+ }
236
+ function getConversionFileName(source, target) {
237
+ const extractType = (url) => {
238
+ const match = url.match(/\/([^/]+)\/\d+\/?$/);
239
+ return match ? match[1] : url;
240
+ };
241
+ const sourceType = extractType(source);
242
+ const targetType = extractType(target);
243
+ if (target === "$self") {
244
+ return `to-${sourceType}.tokenscript`;
245
+ }
246
+ if (source === "$self") {
247
+ return `from-${targetType}.tokenscript`;
248
+ }
249
+ return `${sourceType}-to-${targetType}.tokenscript`;
250
+ }
251
+ async function writeTokenScriptFiles(schemaPath, schema) {
252
+ const content = schema.content;
253
+ if (content.schema) {
254
+ await writeFile(
255
+ join(schemaPath, "schema-definition.json"),
256
+ JSON.stringify(content.schema, null, 2)
257
+ );
258
+ }
259
+ if (content.conversions && Array.isArray(content.conversions)) {
260
+ for (const conversion of content.conversions) {
261
+ if (conversion.script?.script) {
262
+ const fileName = getConversionFileName(conversion.source || "", conversion.target || "");
263
+ let scriptContent = "";
264
+ if (conversion.description) {
265
+ scriptContent += `# ${conversion.description}
266
+ `;
267
+ scriptContent += `# Source: ${conversion.source}
268
+ `;
269
+ scriptContent += `# Target: ${conversion.target}
270
+ `;
271
+ scriptContent += `# Lossless: ${conversion.lossless || false}
272
+
273
+ `;
274
+ }
275
+ scriptContent += conversion.script.script;
276
+ await writeFile(join(schemaPath, fileName), scriptContent);
277
+ }
278
+ }
279
+ }
280
+ if (!content.conversions || content.conversions.length === 0) {
281
+ const initializerContent = `# ${schema.name} Initializer
282
+ # TODO: Implement initialization logic
283
+
284
+ `;
285
+ await writeFile(join(schemaPath, "initializer.tokenscript"), initializerContent);
286
+ }
287
+ }
288
+ async function downloadSchema(schema, config = DEFAULT_CONFIG) {
289
+ console.log(`Downloading ${schema.slug}...`);
290
+ const versions = await fetchSchemaVersions(schema.slug, config);
291
+ if (versions.length === 0) {
292
+ console.warn(`No versions found for ${schema.slug}, skipping`);
293
+ return;
294
+ }
295
+ const latestVersion = versions[0];
296
+ const schemaPath = await createSchemaFolder(schema.slug, schema.type, config.outputDir);
297
+ const details = {
298
+ id: schema.id,
299
+ slug: schema.slug,
300
+ name: schema.name,
301
+ description: schema.description,
302
+ type: schema.type,
303
+ version: latestVersion.version,
304
+ content: latestVersion.content
305
+ };
306
+ await writeSchemaJson(schemaPath, details, config.targetVersion);
307
+ await writeTokenScriptFiles(schemaPath, details);
308
+ await createUnitTestStub(schemaPath, schema.name, schema.type);
309
+ console.log(`\u2713 Downloaded ${schema.slug} to ${schemaPath}`);
310
+ }
311
+ async function downloadAllSchemas(config = {}) {
312
+ const fullConfig = { ...DEFAULT_CONFIG, ...config };
313
+ const schemas = await fetchSchemaList(fullConfig);
314
+ for (const schema of schemas) {
315
+ try {
316
+ await downloadSchema(schema, fullConfig);
317
+ } catch (error) {
318
+ console.error(`Failed to download ${schema.slug}:`, error);
319
+ }
320
+ }
321
+ console.log("\n\u2713 All schemas downloaded successfully!");
322
+ }
323
+
324
+ export { DEFAULT_CONFIG, bundleAllSchemas, downloadAllSchemas, downloadSchema, fetchSchemaList, fetchSchemaVersions };
325
+ //# sourceMappingURL=index.js.map
326
+ //# sourceMappingURL=index.js.map