@shuji-bonji/w3c-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.ja.md +246 -0
- package/README.md +246 -0
- package/dist/data/loader.d.ts +88 -0
- package/dist/data/loader.d.ts.map +1 -0
- package/dist/data/loader.js +165 -0
- package/dist/data/loader.js.map +1 -0
- package/dist/errors/index.d.ts +50 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +116 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +307 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/index.d.ts +97 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +53 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/tools/get-css.d.ts +30 -0
- package/dist/tools/get-css.d.ts.map +1 -0
- package/dist/tools/get-css.js +99 -0
- package/dist/tools/get-css.js.map +1 -0
- package/dist/tools/get-elements.d.ts +14 -0
- package/dist/tools/get-elements.d.ts.map +1 -0
- package/dist/tools/get-elements.js +56 -0
- package/dist/tools/get-elements.js.map +1 -0
- package/dist/tools/get-pwa-specs.d.ts +10 -0
- package/dist/tools/get-pwa-specs.d.ts.map +1 -0
- package/dist/tools/get-pwa-specs.js +100 -0
- package/dist/tools/get-pwa-specs.js.map +1 -0
- package/dist/tools/get-spec.d.ts +10 -0
- package/dist/tools/get-spec.d.ts.map +1 -0
- package/dist/tools/get-spec.js +58 -0
- package/dist/tools/get-spec.js.map +1 -0
- package/dist/tools/get-webidl.d.ts +9 -0
- package/dist/tools/get-webidl.d.ts.map +1 -0
- package/dist/tools/get-webidl.js +50 -0
- package/dist/tools/get-webidl.js.map +1 -0
- package/dist/tools/list-specs.d.ts +6 -0
- package/dist/tools/list-specs.d.ts.map +1 -0
- package/dist/tools/list-specs.js +38 -0
- package/dist/tools/list-specs.js.map +1 -0
- package/dist/tools/search-specs.d.ts +16 -0
- package/dist/tools/search-specs.d.ts.map +1 -0
- package/dist/tools/search-specs.js +117 -0
- package/dist/tools/search-specs.js.map +1 -0
- package/dist/types/index.d.ts +85 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/logger.d.ts +49 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +113 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for input validation
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
export declare const ListSpecsSchema: z.ZodObject<{
|
|
6
|
+
organization: z.ZodOptional<z.ZodEnum<["W3C", "WHATWG", "IETF", "all"]>>;
|
|
7
|
+
keyword: z.ZodOptional<z.ZodString>;
|
|
8
|
+
category: z.ZodOptional<z.ZodString>;
|
|
9
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
limit: number;
|
|
12
|
+
organization?: "W3C" | "WHATWG" | "IETF" | "all" | undefined;
|
|
13
|
+
keyword?: string | undefined;
|
|
14
|
+
category?: string | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
organization?: "W3C" | "WHATWG" | "IETF" | "all" | undefined;
|
|
17
|
+
keyword?: string | undefined;
|
|
18
|
+
category?: string | undefined;
|
|
19
|
+
limit?: number | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
export type ListSpecsInput = z.infer<typeof ListSpecsSchema>;
|
|
22
|
+
export declare const GetSpecSchema: z.ZodObject<{
|
|
23
|
+
shortname: z.ZodString;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
shortname: string;
|
|
26
|
+
}, {
|
|
27
|
+
shortname: string;
|
|
28
|
+
}>;
|
|
29
|
+
export type GetSpecInput = z.infer<typeof GetSpecSchema>;
|
|
30
|
+
export declare const SearchSpecsSchema: z.ZodObject<{
|
|
31
|
+
query: z.ZodString;
|
|
32
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
limit: number;
|
|
35
|
+
query: string;
|
|
36
|
+
}, {
|
|
37
|
+
query: string;
|
|
38
|
+
limit?: number | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
export type SearchSpecsInput = z.infer<typeof SearchSpecsSchema>;
|
|
41
|
+
export declare const GetWebIDLSchema: z.ZodObject<{
|
|
42
|
+
shortname: z.ZodString;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
shortname: string;
|
|
45
|
+
}, {
|
|
46
|
+
shortname: string;
|
|
47
|
+
}>;
|
|
48
|
+
export type GetWebIDLInput = z.infer<typeof GetWebIDLSchema>;
|
|
49
|
+
export declare const GetCSSPropertiesSchema: z.ZodObject<{
|
|
50
|
+
spec: z.ZodOptional<z.ZodString>;
|
|
51
|
+
property: z.ZodOptional<z.ZodString>;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
spec?: string | undefined;
|
|
54
|
+
property?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
spec?: string | undefined;
|
|
57
|
+
property?: string | undefined;
|
|
58
|
+
}>;
|
|
59
|
+
export type GetCSSPropertiesInput = z.infer<typeof GetCSSPropertiesSchema>;
|
|
60
|
+
export declare const GetElementsSchema: z.ZodObject<{
|
|
61
|
+
spec: z.ZodOptional<z.ZodString>;
|
|
62
|
+
element: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
spec?: string | undefined;
|
|
65
|
+
element?: string | undefined;
|
|
66
|
+
}, {
|
|
67
|
+
spec?: string | undefined;
|
|
68
|
+
element?: string | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
export type GetElementsInput = z.infer<typeof GetElementsSchema>;
|
|
71
|
+
export declare const GetPwaSpecsSchema: z.ZodObject<{
|
|
72
|
+
coreOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
|
74
|
+
coreOnly: boolean;
|
|
75
|
+
}, {
|
|
76
|
+
coreOnly?: boolean | undefined;
|
|
77
|
+
}>;
|
|
78
|
+
export type GetPwaSpecsInput = z.infer<typeof GetPwaSpecsSchema>;
|
|
79
|
+
export declare const GetSpecDependenciesSchema: z.ZodObject<{
|
|
80
|
+
shortname: z.ZodString;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
shortname: string;
|
|
83
|
+
}, {
|
|
84
|
+
shortname: string;
|
|
85
|
+
}>;
|
|
86
|
+
export type GetSpecDependenciesInput = z.infer<typeof GetSpecDependenciesSchema>;
|
|
87
|
+
/**
|
|
88
|
+
* Validate input against a schema
|
|
89
|
+
*/
|
|
90
|
+
export declare function validateInput<T>(schema: z.ZodSchema<T>, data: unknown): {
|
|
91
|
+
success: true;
|
|
92
|
+
data: T;
|
|
93
|
+
} | {
|
|
94
|
+
success: false;
|
|
95
|
+
error: z.ZodError;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAG7D,eAAO,MAAM,aAAa;;;;;;EAExB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAGzD,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAGjE,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAG7D,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAG3E,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAGjE,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,OAAO,GACZ;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAMpE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for input validation
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
// List specs schema
|
|
6
|
+
export const ListSpecsSchema = z.object({
|
|
7
|
+
organization: z.enum(['W3C', 'WHATWG', 'IETF', 'all']).optional(),
|
|
8
|
+
keyword: z.string().optional(),
|
|
9
|
+
category: z.string().optional(),
|
|
10
|
+
limit: z.number().min(1).max(500).optional().default(50)
|
|
11
|
+
});
|
|
12
|
+
// Get spec schema
|
|
13
|
+
export const GetSpecSchema = z.object({
|
|
14
|
+
shortname: z.string().min(1, 'shortname is required')
|
|
15
|
+
});
|
|
16
|
+
// Search specs schema
|
|
17
|
+
export const SearchSpecsSchema = z.object({
|
|
18
|
+
query: z.string().min(1, 'query is required'),
|
|
19
|
+
limit: z.number().min(1).max(100).optional().default(20)
|
|
20
|
+
});
|
|
21
|
+
// Get WebIDL schema
|
|
22
|
+
export const GetWebIDLSchema = z.object({
|
|
23
|
+
shortname: z.string().min(1, 'shortname is required')
|
|
24
|
+
});
|
|
25
|
+
// Get CSS properties schema
|
|
26
|
+
export const GetCSSPropertiesSchema = z.object({
|
|
27
|
+
spec: z.string().optional(),
|
|
28
|
+
property: z.string().optional()
|
|
29
|
+
});
|
|
30
|
+
// Get elements schema
|
|
31
|
+
export const GetElementsSchema = z.object({
|
|
32
|
+
spec: z.string().optional(),
|
|
33
|
+
element: z.string().optional()
|
|
34
|
+
});
|
|
35
|
+
// Get PWA specs schema
|
|
36
|
+
export const GetPwaSpecsSchema = z.object({
|
|
37
|
+
coreOnly: z.boolean().optional().default(false)
|
|
38
|
+
});
|
|
39
|
+
// Get spec dependencies schema
|
|
40
|
+
export const GetSpecDependenciesSchema = z.object({
|
|
41
|
+
shortname: z.string().min(1, 'shortname is required')
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* Validate input against a schema
|
|
45
|
+
*/
|
|
46
|
+
export function validateInput(schema, data) {
|
|
47
|
+
const result = schema.safeParse(data);
|
|
48
|
+
if (result.success) {
|
|
49
|
+
return { success: true, data: result.data };
|
|
50
|
+
}
|
|
51
|
+
return { success: false, error: result.error };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get CSS property and value definitions
|
|
3
|
+
*/
|
|
4
|
+
import type { CSSProperty, CSSValue } from '../types/index.js';
|
|
5
|
+
export declare function getCSSProperties(specShortname?: string): Promise<CSSProperty[]>;
|
|
6
|
+
export declare function getCSSValues(specShortname?: string): Promise<CSSValue[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Search for a specific CSS property by name
|
|
9
|
+
*/
|
|
10
|
+
export declare function searchCSSProperty(propertyName: string): Promise<CSSProperty[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Get CSS at-rules
|
|
13
|
+
*/
|
|
14
|
+
export declare function getCSSAtRules(): Promise<Array<{
|
|
15
|
+
name: string;
|
|
16
|
+
value?: string;
|
|
17
|
+
spec: string;
|
|
18
|
+
}>>;
|
|
19
|
+
/**
|
|
20
|
+
* Get CSS selectors
|
|
21
|
+
*/
|
|
22
|
+
export declare function getCSSSelectors(): Promise<Array<{
|
|
23
|
+
name: string;
|
|
24
|
+
spec: string;
|
|
25
|
+
}>>;
|
|
26
|
+
/**
|
|
27
|
+
* List all CSS specs available (extracted from property hrefs)
|
|
28
|
+
*/
|
|
29
|
+
export declare function listCSSSpecs(): Promise<string[]>;
|
|
30
|
+
//# sourceMappingURL=get-css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-css.d.ts","sourceRoot":"","sources":["../../src/tools/get-css.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAY/D,wBAAsB,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA0BrF;AAED,wBAAsB,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAsB9E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAQpF;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAQpG;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAOtF;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAYtD"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get CSS property and value definitions
|
|
3
|
+
*/
|
|
4
|
+
import { loadCSS } from '../data/loader.js';
|
|
5
|
+
/**
|
|
6
|
+
* Extract spec shortname from href URL
|
|
7
|
+
*/
|
|
8
|
+
function extractSpecFromHref(href) {
|
|
9
|
+
if (!href)
|
|
10
|
+
return 'unknown';
|
|
11
|
+
// Extract spec name from URLs like https://drafts.csswg.org/css-grid-2/#propdef-grid
|
|
12
|
+
const match = href.match(/csswg\.org\/([^\/]+)/);
|
|
13
|
+
return match ? match[1] : 'unknown';
|
|
14
|
+
}
|
|
15
|
+
export async function getCSSProperties(specShortname) {
|
|
16
|
+
const cssData = await loadCSS();
|
|
17
|
+
let properties = [];
|
|
18
|
+
for (const prop of cssData.properties) {
|
|
19
|
+
const spec = extractSpecFromHref(prop.href);
|
|
20
|
+
// Filter by spec shortname if provided
|
|
21
|
+
if (specShortname && !spec.includes(specShortname)) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
properties.push({
|
|
25
|
+
name: prop.name,
|
|
26
|
+
value: prop.syntax,
|
|
27
|
+
initial: prop.initial,
|
|
28
|
+
inherited: prop.inherited,
|
|
29
|
+
animationType: prop.animationType,
|
|
30
|
+
spec
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// Sort by property name
|
|
34
|
+
properties.sort((a, b) => a.name.localeCompare(b.name));
|
|
35
|
+
return properties;
|
|
36
|
+
}
|
|
37
|
+
export async function getCSSValues(specShortname) {
|
|
38
|
+
const cssData = await loadCSS();
|
|
39
|
+
const values = [];
|
|
40
|
+
// Combine types and functions as "values"
|
|
41
|
+
for (const item of [...cssData.types, ...cssData.functions]) {
|
|
42
|
+
const spec = extractSpecFromHref(item.href);
|
|
43
|
+
if (specShortname && !spec.includes(specShortname)) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
values.push({
|
|
47
|
+
name: item.name,
|
|
48
|
+
value: item.value,
|
|
49
|
+
spec
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
values.sort((a, b) => a.name.localeCompare(b.name));
|
|
53
|
+
return values;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Search for a specific CSS property by name
|
|
57
|
+
*/
|
|
58
|
+
export async function searchCSSProperty(propertyName) {
|
|
59
|
+
const allProperties = await getCSSProperties();
|
|
60
|
+
const lowerName = propertyName.toLowerCase();
|
|
61
|
+
return allProperties.filter(prop => prop.name.toLowerCase() === lowerName ||
|
|
62
|
+
prop.name.toLowerCase().includes(lowerName));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get CSS at-rules
|
|
66
|
+
*/
|
|
67
|
+
export async function getCSSAtRules() {
|
|
68
|
+
const cssData = await loadCSS();
|
|
69
|
+
return cssData.atrules.map(rule => ({
|
|
70
|
+
name: rule.name,
|
|
71
|
+
value: rule.value,
|
|
72
|
+
spec: extractSpecFromHref(rule.href)
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get CSS selectors
|
|
77
|
+
*/
|
|
78
|
+
export async function getCSSSelectors() {
|
|
79
|
+
const cssData = await loadCSS();
|
|
80
|
+
return cssData.selectors.map(sel => ({
|
|
81
|
+
name: sel.name,
|
|
82
|
+
spec: extractSpecFromHref(sel.href)
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* List all CSS specs available (extracted from property hrefs)
|
|
87
|
+
*/
|
|
88
|
+
export async function listCSSSpecs() {
|
|
89
|
+
const cssData = await loadCSS();
|
|
90
|
+
const specs = new Set();
|
|
91
|
+
for (const prop of cssData.properties) {
|
|
92
|
+
const spec = extractSpecFromHref(prop.href);
|
|
93
|
+
if (spec !== 'unknown') {
|
|
94
|
+
specs.add(spec);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return Array.from(specs).sort();
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=get-css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-css.js","sourceRoot":"","sources":["../../src/tools/get-css.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get HTML element definitions
|
|
3
|
+
*/
|
|
4
|
+
import type { ElementDefinition } from '../types/index.js';
|
|
5
|
+
export declare function getElements(specShortname?: string): Promise<ElementDefinition[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Search for a specific HTML element by name
|
|
8
|
+
*/
|
|
9
|
+
export declare function searchElement(elementName: string): Promise<ElementDefinition[]>;
|
|
10
|
+
/**
|
|
11
|
+
* List all specs that have element definitions
|
|
12
|
+
*/
|
|
13
|
+
export declare function listElementSpecs(): Promise<string[]>;
|
|
14
|
+
//# sourceMappingURL=get-elements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-elements.d.ts","sourceRoot":"","sources":["../../src/tools/get-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAsB,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwCtF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAQrF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG1D"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get HTML element definitions
|
|
3
|
+
*/
|
|
4
|
+
import { loadElements } from '../data/loader.js';
|
|
5
|
+
export async function getElements(specShortname) {
|
|
6
|
+
const elementsData = await loadElements();
|
|
7
|
+
const elements = [];
|
|
8
|
+
if (specShortname) {
|
|
9
|
+
// Get elements for a specific spec
|
|
10
|
+
const specData = elementsData[specShortname];
|
|
11
|
+
if (!specData) {
|
|
12
|
+
const availableSpecs = Object.keys(elementsData);
|
|
13
|
+
throw new Error(`Elements data not found for "${specShortname}". ` +
|
|
14
|
+
`Available specs: ${availableSpecs.join(', ')}`);
|
|
15
|
+
}
|
|
16
|
+
for (const elem of specData.elements) {
|
|
17
|
+
elements.push({
|
|
18
|
+
name: elem.name,
|
|
19
|
+
interface: elem.interface,
|
|
20
|
+
spec: specShortname
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// Get all elements from all specs
|
|
26
|
+
for (const [spec, data] of Object.entries(elementsData)) {
|
|
27
|
+
for (const elem of data.elements) {
|
|
28
|
+
elements.push({
|
|
29
|
+
name: elem.name,
|
|
30
|
+
interface: elem.interface,
|
|
31
|
+
spec
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Sort by element name
|
|
37
|
+
elements.sort((a, b) => a.name.localeCompare(b.name));
|
|
38
|
+
return elements;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Search for a specific HTML element by name
|
|
42
|
+
*/
|
|
43
|
+
export async function searchElement(elementName) {
|
|
44
|
+
const allElements = await getElements();
|
|
45
|
+
const lowerName = elementName.toLowerCase().replace(/^<|>$/g, '');
|
|
46
|
+
return allElements.filter(elem => elem.name.toLowerCase() === lowerName ||
|
|
47
|
+
elem.name.toLowerCase().includes(lowerName));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* List all specs that have element definitions
|
|
51
|
+
*/
|
|
52
|
+
export async function listElementSpecs() {
|
|
53
|
+
const elementsData = await loadElements();
|
|
54
|
+
return Object.keys(elementsData).sort();
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=get-elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-elements.js","sourceRoot":"","sources":["../../src/tools/get-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAGlE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAsB;IACtD,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,IAAI,aAAa,EAAE,CAAC;QAClB,mCAAmC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,gCAAgC,aAAa,KAAK;gBAClD,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChD,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,kCAAkC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB;IACrD,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAElE,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get all PWA-related specifications
|
|
3
|
+
*/
|
|
4
|
+
import type { SpecSummary } from '../types/index.js';
|
|
5
|
+
export declare function getPwaSpecs(): Promise<SpecSummary[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Get the core PWA specifications (the most essential ones)
|
|
8
|
+
*/
|
|
9
|
+
export declare function getCorePwaSpecs(): Promise<SpecSummary[]>;
|
|
10
|
+
//# sourceMappingURL=get-pwa-specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-pwa-specs.d.ts","sourceRoot":"","sources":["../../src/tools/get-pwa-specs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA2CrD,wBAAsB,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAwC1D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CA0B9D"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get all PWA-related specifications
|
|
3
|
+
*/
|
|
4
|
+
import { loadSpecs } from '../data/loader.js';
|
|
5
|
+
/**
|
|
6
|
+
* List of PWA-related specification shortnames and keywords
|
|
7
|
+
*/
|
|
8
|
+
const PWA_SHORTNAMES = [
|
|
9
|
+
'service-workers',
|
|
10
|
+
'appmanifest',
|
|
11
|
+
'push-api',
|
|
12
|
+
'notifications',
|
|
13
|
+
'background-fetch',
|
|
14
|
+
'background-sync',
|
|
15
|
+
'periodic-background-sync',
|
|
16
|
+
'badging',
|
|
17
|
+
'web-share',
|
|
18
|
+
'web-share-target',
|
|
19
|
+
'getinstalledrelatedapps',
|
|
20
|
+
'payment-handler',
|
|
21
|
+
'content-index',
|
|
22
|
+
'window-controls-overlay',
|
|
23
|
+
'file-handling',
|
|
24
|
+
'file-system-access',
|
|
25
|
+
'web-app-launch',
|
|
26
|
+
'protocol-handler',
|
|
27
|
+
'shortcuts',
|
|
28
|
+
'scope-extensions'
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Additional keywords that might identify PWA-related specs
|
|
32
|
+
*/
|
|
33
|
+
const PWA_KEYWORDS = [
|
|
34
|
+
'manifest',
|
|
35
|
+
'service worker',
|
|
36
|
+
'offline',
|
|
37
|
+
'install',
|
|
38
|
+
'background',
|
|
39
|
+
'push',
|
|
40
|
+
'notification',
|
|
41
|
+
'cache',
|
|
42
|
+
'storage'
|
|
43
|
+
];
|
|
44
|
+
export async function getPwaSpecs() {
|
|
45
|
+
const allSpecs = await loadSpecs();
|
|
46
|
+
const pwaSpecs = allSpecs.filter(spec => {
|
|
47
|
+
// Check if shortname matches known PWA specs
|
|
48
|
+
const matchesShortname = PWA_SHORTNAMES.some(name => spec.shortname.includes(name) ||
|
|
49
|
+
spec.series?.shortname?.includes(name));
|
|
50
|
+
if (matchesShortname)
|
|
51
|
+
return true;
|
|
52
|
+
// Check if title contains PWA-related keywords
|
|
53
|
+
const lowerTitle = spec.title.toLowerCase();
|
|
54
|
+
const matchesKeyword = PWA_KEYWORDS.some(keyword => lowerTitle.includes(keyword));
|
|
55
|
+
return matchesKeyword;
|
|
56
|
+
});
|
|
57
|
+
// Sort by relevance (exact shortname matches first, then alphabetically)
|
|
58
|
+
pwaSpecs.sort((a, b) => {
|
|
59
|
+
const aExact = PWA_SHORTNAMES.includes(a.shortname) || PWA_SHORTNAMES.includes(a.series?.shortname || '');
|
|
60
|
+
const bExact = PWA_SHORTNAMES.includes(b.shortname) || PWA_SHORTNAMES.includes(b.series?.shortname || '');
|
|
61
|
+
if (aExact && !bExact)
|
|
62
|
+
return -1;
|
|
63
|
+
if (!aExact && bExact)
|
|
64
|
+
return 1;
|
|
65
|
+
return a.title.localeCompare(b.title);
|
|
66
|
+
});
|
|
67
|
+
return pwaSpecs.map(spec => ({
|
|
68
|
+
shortname: spec.shortname,
|
|
69
|
+
title: spec.title,
|
|
70
|
+
url: spec.url,
|
|
71
|
+
nightlyUrl: spec.nightly?.url,
|
|
72
|
+
organization: spec.organization,
|
|
73
|
+
status: spec.release?.status || spec.nightly?.status,
|
|
74
|
+
categories: spec.categories
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the core PWA specifications (the most essential ones)
|
|
79
|
+
*/
|
|
80
|
+
export async function getCorePwaSpecs() {
|
|
81
|
+
const coreShortnames = [
|
|
82
|
+
'service-workers',
|
|
83
|
+
'appmanifest',
|
|
84
|
+
'push-api',
|
|
85
|
+
'notifications'
|
|
86
|
+
];
|
|
87
|
+
const allSpecs = await loadSpecs();
|
|
88
|
+
const coreSpecs = allSpecs.filter(spec => coreShortnames.some(name => spec.shortname.includes(name) ||
|
|
89
|
+
spec.series?.shortname?.includes(name)));
|
|
90
|
+
return coreSpecs.map(spec => ({
|
|
91
|
+
shortname: spec.shortname,
|
|
92
|
+
title: spec.title,
|
|
93
|
+
url: spec.url,
|
|
94
|
+
nightlyUrl: spec.nightly?.url,
|
|
95
|
+
organization: spec.organization,
|
|
96
|
+
status: spec.release?.status || spec.nightly?.status,
|
|
97
|
+
categories: spec.categories
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=get-pwa-specs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-pwa-specs.js","sourceRoot":"","sources":["../../src/tools/get-pwa-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get detailed information about a specific web specification
|
|
3
|
+
*/
|
|
4
|
+
import type { SpecDetail, DependencyInfo } from '../types/index.js';
|
|
5
|
+
export declare function getSpec(shortname: string): Promise<SpecDetail | null>;
|
|
6
|
+
/**
|
|
7
|
+
* Get dependency information for a specification
|
|
8
|
+
*/
|
|
9
|
+
export declare function getSpecDependencies(shortname: string): Promise<DependencyInfo>;
|
|
10
|
+
//# sourceMappingURL=get-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-spec.d.ts","sourceRoot":"","sources":["../../src/tools/get-spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAwC3E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAiBpF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get detailed information about a specific web specification
|
|
3
|
+
*/
|
|
4
|
+
import { findSpec, loadSpecs } from '../data/loader.js';
|
|
5
|
+
export async function getSpec(shortname) {
|
|
6
|
+
const spec = await findSpec(shortname);
|
|
7
|
+
if (!spec) {
|
|
8
|
+
// Return suggestions for similar specs
|
|
9
|
+
const specs = await loadSpecs();
|
|
10
|
+
const suggestions = specs
|
|
11
|
+
.filter(s => s.shortname.includes(shortname) ||
|
|
12
|
+
shortname.includes(s.shortname) ||
|
|
13
|
+
s.title.toLowerCase().includes(shortname.toLowerCase()))
|
|
14
|
+
.slice(0, 5)
|
|
15
|
+
.map(s => s.shortname);
|
|
16
|
+
throw new Error(`Specification "${shortname}" not found.` +
|
|
17
|
+
(suggestions.length > 0
|
|
18
|
+
? ` Did you mean: ${suggestions.join(', ')}?`
|
|
19
|
+
: ' Please check the shortname and try again.'));
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
shortname: spec.shortname,
|
|
23
|
+
title: spec.title,
|
|
24
|
+
url: spec.url,
|
|
25
|
+
nightlyUrl: spec.nightly?.url,
|
|
26
|
+
organization: spec.organization,
|
|
27
|
+
status: spec.release?.status || spec.nightly?.status,
|
|
28
|
+
categories: spec.categories,
|
|
29
|
+
abstract: spec.abstract,
|
|
30
|
+
repository: spec.repository,
|
|
31
|
+
tests: spec.tests,
|
|
32
|
+
release: spec.release,
|
|
33
|
+
nightly: spec.nightly,
|
|
34
|
+
series: spec.series,
|
|
35
|
+
source: spec.source,
|
|
36
|
+
standing: spec.standing
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get dependency information for a specification
|
|
41
|
+
*/
|
|
42
|
+
export async function getSpecDependencies(shortname) {
|
|
43
|
+
const specs = await loadSpecs();
|
|
44
|
+
const spec = specs.find(s => s.shortname === shortname);
|
|
45
|
+
if (!spec) {
|
|
46
|
+
throw new Error(`Specification "${shortname}" not found.`);
|
|
47
|
+
}
|
|
48
|
+
// Note: web-specs doesn't include explicit dependency data
|
|
49
|
+
// We would need to analyze IDL or spec content for this
|
|
50
|
+
// For now, return basic info
|
|
51
|
+
return {
|
|
52
|
+
shortname: spec.shortname,
|
|
53
|
+
title: spec.title,
|
|
54
|
+
dependencies: [],
|
|
55
|
+
dependents: []
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=get-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-spec.js","sourceRoot":"","sources":["../../src/tools/get-spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,SAAiB;IAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,uCAAuC;QACvC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CACV,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/B,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CACxD;aACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEzB,MAAM,IAAI,KAAK,CACb,kBAAkB,SAAS,cAAc;YACzC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACrB,CAAC,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC7C,CAAC,CAAC,4CAA4C,CAAC,CAClD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM;QACpD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAExD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,2DAA2D;IAC3D,wDAAwD;IACxD,6BAA6B;IAC7B,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get WebIDL definitions for a specification
|
|
3
|
+
*/
|
|
4
|
+
export declare function getWebIDL(shortname: string): Promise<string>;
|
|
5
|
+
/**
|
|
6
|
+
* List all specifications that have WebIDL definitions
|
|
7
|
+
*/
|
|
8
|
+
export declare function listWebIDLSpecs(): Promise<string[]>;
|
|
9
|
+
//# sourceMappingURL=get-webidl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-webidl.d.ts","sourceRoot":"","sources":["../../src/tools/get-webidl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDlE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGzD"}
|