raffel 1.1.97 → 1.1.98-next.e243022
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/dist/docs/try-it-proxy.d.ts +15 -0
- package/dist/docs/try-it-proxy.d.ts.map +1 -1
- package/dist/docs/try-it-proxy.js +54 -0
- package/dist/docs/try-it-proxy.js.map +1 -1
- package/dist/docs/ui/assets/marked-renderer.js +13 -2
- package/dist/docs/ui/assets/protocol-console.js +13 -1
- package/dist/docs/ui/assets/raffel-docs.css +16 -115
- package/dist/docs/ui/assets/raffel-docs.js +174 -4
- package/dist/docs/ui/client-script/index.d.ts.map +1 -1
- package/dist/docs/ui/client-script/index.js +3 -95
- package/dist/docs/ui/client-script/index.js.map +1 -1
- package/dist/docs/ui/html-builder.d.ts.map +1 -1
- package/dist/docs/ui/html-builder.js +7 -5
- package/dist/docs/ui/html-builder.js.map +1 -1
- package/dist/docs/ui/html-shell.d.ts +0 -4
- package/dist/docs/ui/html-shell.d.ts.map +1 -1
- package/dist/docs/ui/html-shell.js +0 -14
- package/dist/docs/ui/html-shell.js.map +1 -1
- package/dist/docs/ui/runtime/index.js +174 -4
- package/dist/docs/ui/runtime/index.js.map +1 -1
- package/dist/docs/ui/runtime/marked-renderer.js +13 -2
- package/dist/docs/ui/runtime/marked-renderer.js.map +1 -1
- package/dist/docs/ui/runtime/protocol-console.d.ts +2 -0
- package/dist/docs/ui/runtime/protocol-console.d.ts.map +1 -1
- package/dist/docs/ui/runtime/protocol-console.js +13 -1
- package/dist/docs/ui/runtime/protocol-console.js.map +1 -1
- package/dist/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/content.js +11 -1
- package/dist/docs/ui/style-sections/content.js.map +1 -1
- package/dist/docs/ui/style-sections/shell.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/shell.js +5 -114
- package/dist/docs/ui/style-sections/shell.js.map +1 -1
- package/dist/docs/usd-middleware.d.ts +2 -0
- package/dist/docs/usd-middleware.d.ts.map +1 -1
- package/dist/docs/usd-middleware.js +37 -1
- package/dist/docs/usd-middleware.js.map +1 -1
- package/dist/server/builder/execution-http-docs.d.ts.map +1 -1
- package/dist/server/builder/execution-http-docs.js +8 -0
- package/dist/server/builder/execution-http-docs.js.map +1 -1
- package/dist/server/rest-middleware.d.ts.map +1 -1
- package/dist/server/rest-middleware.js +26 -0
- package/dist/server/rest-middleware.js.map +1 -1
- package/dist/ui/docs/try-it-proxy.d.ts +15 -0
- package/dist/ui/docs/try-it-proxy.d.ts.map +1 -1
- package/dist/ui/docs/ui/client-script/index.d.ts.map +1 -1
- package/dist/ui/docs/ui/html-builder.d.ts.map +1 -1
- package/dist/ui/docs/ui/html-shell.d.ts +0 -4
- package/dist/ui/docs/ui/html-shell.d.ts.map +1 -1
- package/dist/ui/docs/ui/runtime/protocol-console.d.ts +2 -0
- package/dist/ui/docs/ui/runtime/protocol-console.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/shell.d.ts.map +1 -1
- package/dist/ui/docs/usd-middleware.d.ts +2 -0
- package/dist/ui/docs/usd-middleware.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/docs/ui/client-script/cards-and-code.d.ts +0 -5
- package/dist/docs/ui/client-script/cards-and-code.d.ts.map +0 -1
- package/dist/docs/ui/client-script/cards-and-code.js +0 -5
- package/dist/docs/ui/client-script/cards-and-code.js.map +0 -1
- package/dist/docs/ui/client-script/content.d.ts +0 -5
- package/dist/docs/ui/client-script/content.d.ts.map +0 -1
- package/dist/docs/ui/client-script/content.js +0 -412
- package/dist/docs/ui/client-script/content.js.map +0 -1
- package/dist/docs/ui/client-script/docs-pages.d.ts +0 -5
- package/dist/docs/ui/client-script/docs-pages.d.ts.map +0 -1
- package/dist/docs/ui/client-script/docs-pages.js +0 -153
- package/dist/docs/ui/client-script/docs-pages.js.map +0 -1
- package/dist/docs/ui/client-script/endpoint-details.d.ts +0 -5
- package/dist/docs/ui/client-script/endpoint-details.d.ts.map +0 -1
- package/dist/docs/ui/client-script/endpoint-details.js +0 -5
- package/dist/docs/ui/client-script/endpoint-details.js.map +0 -1
- package/dist/docs/ui/client-script/init.d.ts +0 -5
- package/dist/docs/ui/client-script/init.d.ts.map +0 -1
- package/dist/docs/ui/client-script/init.js +0 -227
- package/dist/docs/ui/client-script/init.js.map +0 -1
- package/dist/docs/ui/client-script/markdown.d.ts +0 -5
- package/dist/docs/ui/client-script/markdown.d.ts.map +0 -1
- package/dist/docs/ui/client-script/markdown.js +0 -438
- package/dist/docs/ui/client-script/markdown.js.map +0 -1
- package/dist/docs/ui/client-script/navigation.d.ts +0 -5
- package/dist/docs/ui/client-script/navigation.d.ts.map +0 -1
- package/dist/docs/ui/client-script/navigation.js +0 -548
- package/dist/docs/ui/client-script/navigation.js.map +0 -1
- package/dist/docs/ui/client-script/protocols.d.ts +0 -5
- package/dist/docs/ui/client-script/protocols.d.ts.map +0 -1
- package/dist/docs/ui/client-script/protocols.js +0 -5
- package/dist/docs/ui/client-script/protocols.js.map +0 -1
- package/dist/docs/ui/client-script/schema-rendering.d.ts +0 -5
- package/dist/docs/ui/client-script/schema-rendering.d.ts.map +0 -1
- package/dist/docs/ui/client-script/schema-rendering.js +0 -5
- package/dist/docs/ui/client-script/schema-rendering.js.map +0 -1
- package/dist/docs/ui/client-script/try-it.d.ts +0 -5
- package/dist/docs/ui/client-script/try-it.d.ts.map +0 -1
- package/dist/docs/ui/client-script/try-it.js +0 -5
- package/dist/docs/ui/client-script/try-it.js.map +0 -1
- package/dist/ui/docs/ui/client-script/cards-and-code.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/cards-and-code.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/content.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/content.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/docs-pages.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/docs-pages.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/endpoint-details.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/endpoint-details.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/init.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/init.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/markdown.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/markdown.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/navigation.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/navigation.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/protocols.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/protocols.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/schema-rendering.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/schema-rendering.d.ts.map +0 -1
- package/dist/ui/docs/ui/client-script/try-it.d.ts +0 -5
- package/dist/ui/docs/ui/client-script/try-it.d.ts.map +0 -1
|
@@ -13,4 +13,19 @@ export interface DocsTryItProxyOptions {
|
|
|
13
13
|
fetchImpl?: typeof fetch;
|
|
14
14
|
}
|
|
15
15
|
export declare function executeDocsTryItProxy(payload: DocsTryItRequest, options: DocsTryItProxyOptions): Promise<Response>;
|
|
16
|
+
export interface DocsTryItStreamRequest {
|
|
17
|
+
url: string;
|
|
18
|
+
/** Optional bearer/authorization value forwarded upstream (EventSource cannot set headers itself). */
|
|
19
|
+
authorization?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Same-origin proxy for a docs "try it out" SSE / EventSource console.
|
|
23
|
+
*
|
|
24
|
+
* Unlike {@link executeDocsTryItProxy} this does NOT buffer the response — it
|
|
25
|
+
* pipes the upstream `text/event-stream` body straight back so an infinite
|
|
26
|
+
* stream keeps flowing. The same origin allowlist applies: only declared USD
|
|
27
|
+
* server origins (or explicitly configured `allowedOrigins`) are reachable, so
|
|
28
|
+
* the console cannot be pointed at an arbitrary host.
|
|
29
|
+
*/
|
|
30
|
+
export declare function executeDocsTryItStreamProxy(payload: DocsTryItStreamRequest, options: DocsTryItProxyOptions): Promise<Response>;
|
|
16
31
|
//# sourceMappingURL=try-it-proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"try-it-proxy.d.ts","sourceRoot":"","sources":["../../src/docs/try-it-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CA6DnB"}
|
|
1
|
+
{"version":3,"file":"try-it-proxy.d.ts","sourceRoot":"","sources":["../../src/docs/try-it-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CA6DnB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAsDnB"}
|
|
@@ -60,6 +60,60 @@ export async function executeDocsTryItProxy(payload, options) {
|
|
|
60
60
|
clearTimeout(timeout);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Same-origin proxy for a docs "try it out" SSE / EventSource console.
|
|
65
|
+
*
|
|
66
|
+
* Unlike {@link executeDocsTryItProxy} this does NOT buffer the response — it
|
|
67
|
+
* pipes the upstream `text/event-stream` body straight back so an infinite
|
|
68
|
+
* stream keeps flowing. The same origin allowlist applies: only declared USD
|
|
69
|
+
* server origins (or explicitly configured `allowedOrigins`) are reachable, so
|
|
70
|
+
* the console cannot be pointed at an arbitrary host.
|
|
71
|
+
*/
|
|
72
|
+
export async function executeDocsTryItStreamProxy(payload, options) {
|
|
73
|
+
const target = parseTarget(payload?.url ?? '');
|
|
74
|
+
const allowedServers = resolveServerUrls(options.servers ?? []);
|
|
75
|
+
const allowedOrigins = new Set((options.allowedOrigins ?? []).flatMap(origin => {
|
|
76
|
+
const parsed = parseTarget(origin);
|
|
77
|
+
return parsed ? [parsed.origin] : [];
|
|
78
|
+
}));
|
|
79
|
+
if (!target || (!allowedOrigins.has(target.origin) && !allowedServers.some(server => isWithinServer(target, server)))) {
|
|
80
|
+
return problem(403, 'Request target is not allowed', 'The documentation proxy only connects to declared API server origins.');
|
|
81
|
+
}
|
|
82
|
+
const headers = new Headers({ accept: 'text/event-stream' });
|
|
83
|
+
if (payload.authorization)
|
|
84
|
+
headers.set('authorization', payload.authorization);
|
|
85
|
+
// Guard only the connection handshake; once headers arrive we stop the timer
|
|
86
|
+
// so the (potentially infinite) stream body is never aborted mid-flight.
|
|
87
|
+
const controller = new AbortController();
|
|
88
|
+
const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? 15_000);
|
|
89
|
+
let upstream;
|
|
90
|
+
try {
|
|
91
|
+
upstream = await (options.fetchImpl ?? fetch)(target.toString(), {
|
|
92
|
+
method: 'GET',
|
|
93
|
+
headers,
|
|
94
|
+
redirect: 'manual',
|
|
95
|
+
signal: controller.signal,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
clearTimeout(timeout);
|
|
100
|
+
const timedOut = controller.signal.aborted;
|
|
101
|
+
return problem(timedOut ? 504 : 502, timedOut ? 'Upstream stream timed out' : 'Upstream stream failed', timedOut
|
|
102
|
+
? 'The declared upstream server did not start the stream before the configured timeout.'
|
|
103
|
+
: 'The declared upstream server could not open the stream.');
|
|
104
|
+
}
|
|
105
|
+
clearTimeout(timeout);
|
|
106
|
+
if (!upstream.ok || !upstream.body) {
|
|
107
|
+
return problem(upstream.status >= 400 ? upstream.status : 502, 'Upstream stream unavailable', 'The declared upstream server did not return a readable event stream.');
|
|
108
|
+
}
|
|
109
|
+
return new Response(upstream.body, {
|
|
110
|
+
status: 200,
|
|
111
|
+
headers: {
|
|
112
|
+
'Content-Type': 'text/event-stream; charset=utf-8',
|
|
113
|
+
'Cache-Control': 'no-store',
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
}
|
|
63
117
|
const HOP_BY_HOP_HEADERS = new Set([
|
|
64
118
|
'connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization',
|
|
65
119
|
'te', 'trailer', 'transfer-encoding', 'upgrade', 'host', 'content-length',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"try-it-proxy.js","sourceRoot":"","sources":["../../src/docs/try-it-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"try-it-proxy.js","sourceRoot":"","sources":["../../src/docs/try-it-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,11 @@ function buildRenderer(currentPath, seenHeadingIds, deps) {
|
|
|
70
70
|
return `<h${token.depth} class="md-h${token.depth}" id="${deps.escapeAttr(id)}"${ignored}><a class="heading-anchor" href="${deps.escapeAttr(href)}">#</a>${deps.parseMarkdown(parsed.title, currentPath).replace(/^<p class="md-p">|<\/p>\n?$/g, '')}</h${token.depth}>`;
|
|
71
71
|
},
|
|
72
72
|
paragraph(token) { return `<p class="md-p">${inline(this, token.tokens)}</p>`; },
|
|
73
|
-
list(token) {
|
|
73
|
+
list(token) {
|
|
74
|
+
const tag = token.ordered ? 'ol' : 'ul';
|
|
75
|
+
const start = token.ordered && token.start && token.start !== 1 ? ` start="${deps.escapeAttr(token.start)}"` : '';
|
|
76
|
+
return `<${tag} class="md-list"${start}>${token.items.map((item) => this.listitem(item)).join('')}</${tag}>`;
|
|
77
|
+
},
|
|
74
78
|
listitem(item) { return `<li>${item.task ? `<input type="checkbox" disabled${item.checked ? ' checked' : ''}> ` : ''}${this.parser.parse(item.tokens)}</li>`; },
|
|
75
79
|
codespan(token) { return `<code class="md-inline-code">${deps.esc(token.text)}</code>`; },
|
|
76
80
|
code(token) {
|
|
@@ -106,7 +110,14 @@ function buildRenderer(currentPath, seenHeadingIds, deps) {
|
|
|
106
110
|
const classAttr = parsed.attrs.classes.length > 0 ? '' : ' class="md-image"';
|
|
107
111
|
return `<img${classAttr} src="${deps.escapeAttr(resolved)}" alt="${deps.escapeAttr(token.text)}"${attrs}>`;
|
|
108
112
|
},
|
|
109
|
-
text(token) {
|
|
113
|
+
text(token) {
|
|
114
|
+
// A block-level `text` token (e.g. an item in a tight list) carries its
|
|
115
|
+
// inline markup as child tokens. The default renderer recurses into them;
|
|
116
|
+
// returning the raw `token.text` would leak literal `**`, backticks, etc.
|
|
117
|
+
if (token.tokens && token.tokens.length)
|
|
118
|
+
return this.parser.parseInline(token.tokens);
|
|
119
|
+
return deps.renderEmojiShorthand(deps.esc(token.text));
|
|
120
|
+
},
|
|
110
121
|
};
|
|
111
122
|
}
|
|
112
123
|
function isSafeMarkedUrl(url) {
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the URL an EventSource should open: the raw upstream in `direct`
|
|
3
|
+
* mode, or the same-origin `-/stream` proxy (with the upstream passed as a
|
|
4
|
+
* `url` query param) when the docs are configured for `proxy` mode. Routing
|
|
5
|
+
* through the proxy avoids CORS and keeps the stream on the declared origin.
|
|
6
|
+
*/
|
|
7
|
+
function resolveStreamUrl(tryItConfig, target) {
|
|
8
|
+
if (tryItConfig?.mode === 'proxy' && tryItConfig.streamProxyUrl) {
|
|
9
|
+
return `${tryItConfig.streamProxyUrl}?url=${encodeURIComponent(target)}`;
|
|
10
|
+
}
|
|
11
|
+
return target;
|
|
12
|
+
}
|
|
1
13
|
export function appendProtocolConsole(container, deps) {
|
|
2
14
|
if (deps.activeProtocol === 'http')
|
|
3
15
|
return;
|
|
@@ -76,7 +88,7 @@ function bindLiveConsole(panel, deps) {
|
|
|
76
88
|
run.textContent = 'Connect';
|
|
77
89
|
return;
|
|
78
90
|
}
|
|
79
|
-
events = new EventSource(url.value);
|
|
91
|
+
events = new EventSource(resolveStreamUrl(deps.tryItConfig, url.value));
|
|
80
92
|
events.onopen = () => { run.textContent = 'Close'; write('connected'); };
|
|
81
93
|
events.onmessage = (event) => write(`event ${event.data}`);
|
|
82
94
|
events.onerror = () => write('stream error');
|
|
@@ -543,120 +543,11 @@
|
|
|
543
543
|
}
|
|
544
544
|
|
|
545
545
|
/* ========== INTRODUCTION SECTION ========== */
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
.introduction-content {
|
|
553
|
-
max-width: 900px;
|
|
554
|
-
margin: 0 auto;
|
|
555
|
-
font-size: 1.1em;
|
|
556
|
-
line-height: 1.8;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
.introduction-content h1 {
|
|
560
|
-
font-size: 2.5em;
|
|
561
|
-
margin-bottom: 24px;
|
|
562
|
-
color: var(--text-color);
|
|
563
|
-
font-weight: 700;
|
|
564
|
-
border-bottom: 2px solid var(--border-color);
|
|
565
|
-
padding-bottom: 16px;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
.introduction-content h2 {
|
|
569
|
-
font-size: 1.8em;
|
|
570
|
-
margin: 48px 0 16px;
|
|
571
|
-
color: var(--text-color);
|
|
572
|
-
font-weight: 600;
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
.introduction-content h3 {
|
|
576
|
-
font-size: 1.4em;
|
|
577
|
-
margin: 32px 0 12px;
|
|
578
|
-
color: var(--text-color);
|
|
579
|
-
font-weight: 600;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
.introduction-content p {
|
|
583
|
-
margin-bottom: 16px;
|
|
584
|
-
color: var(--text-muted);
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
.introduction-content ul,
|
|
588
|
-
.introduction-content ol {
|
|
589
|
-
margin: 16px 0;
|
|
590
|
-
padding-left: 24px;
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
.introduction-content li {
|
|
594
|
-
margin-bottom: 8px;
|
|
595
|
-
color: var(--text-muted);
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
.introduction-content pre {
|
|
599
|
-
background: var(--code-bg);
|
|
600
|
-
border-radius: 8px;
|
|
601
|
-
padding: 20px;
|
|
602
|
-
overflow-x: auto;
|
|
603
|
-
margin: 24px 0;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
.introduction-content code {
|
|
607
|
-
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
|
608
|
-
font-size: 0.9em;
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
.introduction-content p code {
|
|
612
|
-
background: var(--code-bg);
|
|
613
|
-
padding: 2px 6px;
|
|
614
|
-
border-radius: 4px;
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
.introduction-content blockquote {
|
|
618
|
-
border-left: 4px solid var(--primary-color);
|
|
619
|
-
padding: 16px 24px;
|
|
620
|
-
margin: 24px 0;
|
|
621
|
-
background: var(--hover-bg);
|
|
622
|
-
border-radius: 0 8px 8px 0;
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
.introduction-content blockquote p {
|
|
626
|
-
margin: 0;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
.introduction-content a {
|
|
630
|
-
color: var(--primary-color);
|
|
631
|
-
text-decoration: none;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
.introduction-content a:hover {
|
|
635
|
-
text-decoration: underline;
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
.introduction-content table {
|
|
639
|
-
width: 100%;
|
|
640
|
-
border-collapse: collapse;
|
|
641
|
-
margin: 24px 0;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
.introduction-content th,
|
|
645
|
-
.introduction-content td {
|
|
646
|
-
border: 1px solid var(--border-color);
|
|
647
|
-
padding: 12px 16px;
|
|
648
|
-
text-align: left;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
.introduction-content th {
|
|
652
|
-
background: var(--code-bg);
|
|
653
|
-
font-weight: 600;
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
.introduction-content hr {
|
|
657
|
-
border: none;
|
|
658
|
-
border-top: 1px solid var(--border-color);
|
|
659
|
-
margin: 48px 0;
|
|
546
|
+
/* Rendered inside #mainContent on the root view, right after the overview
|
|
547
|
+
and before authentication/endpoints. Typography comes from
|
|
548
|
+
.markdown-content; only the surrounding spacing is set here. */
|
|
549
|
+
.docs-introduction {
|
|
550
|
+
margin: 32px 0;
|
|
660
551
|
}
|
|
661
552
|
|
|
662
553
|
/* ========== LAYOUT ========== */
|
|
@@ -1396,7 +1287,7 @@
|
|
|
1396
1287
|
|
|
1397
1288
|
/* ========== BREADCRUMBS ========== */
|
|
1398
1289
|
.docs-breadcrumb {
|
|
1399
|
-
margin: 0 0
|
|
1290
|
+
margin: 0 0 20px 0;
|
|
1400
1291
|
font-size: 12px;
|
|
1401
1292
|
color: var(--text-muted);
|
|
1402
1293
|
}
|
|
@@ -1798,6 +1689,16 @@
|
|
|
1798
1689
|
color: var(--text-secondary);
|
|
1799
1690
|
}
|
|
1800
1691
|
|
|
1692
|
+
/* The global `* { margin: 0 }` reset strips the UA heading margins; every
|
|
1693
|
+
other md heading restores its own, so md-h1 needs one too — otherwise the
|
|
1694
|
+
page title sits flush against the breadcrumb above and the content below. */
|
|
1695
|
+
.markdown-content .md-h1 {
|
|
1696
|
+
font-weight: 700;
|
|
1697
|
+
color: var(--text-primary);
|
|
1698
|
+
line-height: 1.25;
|
|
1699
|
+
margin: 0 0 24px 0;
|
|
1700
|
+
}
|
|
1701
|
+
|
|
1801
1702
|
.markdown-content .md-h2 {
|
|
1802
1703
|
font-size: 16px;
|
|
1803
1704
|
font-weight: 600;
|
|
@@ -2287,11 +2287,168 @@ function renderAsyncContracts(title, entries, callbacks = false) {
|
|
|
2287
2287
|
});
|
|
2288
2288
|
return section;
|
|
2289
2289
|
}
|
|
2290
|
+
// Merge content-type declarations across the three USD layers (operation →
|
|
2291
|
+
// protocol → global) the same way the reference generator does, so a console
|
|
2292
|
+
// row shows the effective default plus every supported media type.
|
|
2293
|
+
function resolveEffectiveContentTypes(operationTypes, protocolTypes) {
|
|
2294
|
+
const globalTypes = (xUsd && xUsd.contentTypes) ? xUsd.contentTypes : {};
|
|
2295
|
+
const defaultType = (operationTypes && operationTypes.default)
|
|
2296
|
+
|| (protocolTypes && protocolTypes.default)
|
|
2297
|
+
|| globalTypes.default
|
|
2298
|
+
|| 'application/json';
|
|
2299
|
+
const supportedList = (operationTypes && operationTypes.supported)
|
|
2300
|
+
|| (protocolTypes && protocolTypes.supported)
|
|
2301
|
+
|| globalTypes.supported
|
|
2302
|
+
|| [];
|
|
2303
|
+
const supported = Array.isArray(supportedList) ? supportedList.slice() : [];
|
|
2304
|
+
if (defaultType && supported.indexOf(defaultType) === -1)
|
|
2305
|
+
supported.unshift(defaultType);
|
|
2306
|
+
return { default: defaultType, supported };
|
|
2307
|
+
}
|
|
2308
|
+
function appendContentTypesSection(container, label, contentTypes) {
|
|
2309
|
+
if (!contentTypes)
|
|
2310
|
+
return;
|
|
2311
|
+
const section = doc.createElement('div');
|
|
2312
|
+
section.className = 'endpoint-subsection';
|
|
2313
|
+
section.innerHTML = `<div class="subsection-label">${esc(label)}</div>`;
|
|
2314
|
+
const grid = doc.createElement('div');
|
|
2315
|
+
grid.className = 'info-grid';
|
|
2316
|
+
const supportedText = (contentTypes.supported && contentTypes.supported.length > 0)
|
|
2317
|
+
? contentTypes.supported.join(', ')
|
|
2318
|
+
: contentTypes.default;
|
|
2319
|
+
grid.innerHTML =
|
|
2320
|
+
`<div class="info-card"><div class="info-card-title">Default</div><div class="info-card-value">${esc(contentTypes.default || 'application/json')}</div></div>` +
|
|
2321
|
+
`<div class="info-card"><div class="info-card-title">Supported</div><div class="info-card-value">${esc(supportedText || 'application/json')}</div></div>`;
|
|
2322
|
+
section.appendChild(grid);
|
|
2323
|
+
container.appendChild(section);
|
|
2324
|
+
}
|
|
2325
|
+
// Multi-language client snippets for WebSocket channels.
|
|
2326
|
+
function generateWsCodeSample(lang, url, path, data) {
|
|
2327
|
+
const channelType = data?.type || 'public';
|
|
2328
|
+
const subscribeMsg = { type: 'subscribe', channel: path, id: '1' };
|
|
2329
|
+
const subscribeMsgStr = JSON.stringify(subscribeMsg, null, 2);
|
|
2330
|
+
const publishMsg = data?.publish?.message?.payload
|
|
2331
|
+
? { type: 'publish', channel: path, event: 'message', data: generateExampleFromSchema(data.publish.message.payload), id: '2' }
|
|
2332
|
+
: null;
|
|
2333
|
+
const needsAuth = channelType === 'private' || channelType === 'presence';
|
|
2334
|
+
const authUrl = needsAuth ? `${url}?token=YOUR_TOKEN` : url;
|
|
2335
|
+
const indent = (value, pad) => value.split('\n').map((line, i) => i === 0 ? line : pad + line).join('\n');
|
|
2336
|
+
switch (lang) {
|
|
2337
|
+
case 'wscat': {
|
|
2338
|
+
let out = `wscat -c "${authUrl}"\n\n# Subscribe to channel:\n> ${JSON.stringify(subscribeMsg)}`;
|
|
2339
|
+
if (publishMsg)
|
|
2340
|
+
out += `\n\n# Publish a message:\n> ${JSON.stringify(publishMsg)}`;
|
|
2341
|
+
return out;
|
|
2342
|
+
}
|
|
2343
|
+
case 'javascript': {
|
|
2344
|
+
let out = `const ws = new WebSocket("${authUrl}");\n\n`;
|
|
2345
|
+
out += `ws.onopen = () => {\n console.log("Connected");\n // Subscribe to channel\n ws.send(JSON.stringify(${indent(subscribeMsgStr, ' ')}));\n};\n\n`;
|
|
2346
|
+
out += `ws.onmessage = (event) => {\n const msg = JSON.parse(event.data);\n console.log("Received:", msg);\n`;
|
|
2347
|
+
if (publishMsg)
|
|
2348
|
+
out += `\n // After subscribed, you can publish:\n // ws.send(JSON.stringify(${JSON.stringify(publishMsg)}));\n`;
|
|
2349
|
+
out += `};\n\nws.onclose = () => {\n console.log("Disconnected");\n};`;
|
|
2350
|
+
return out;
|
|
2351
|
+
}
|
|
2352
|
+
case 'recker': {
|
|
2353
|
+
let out = `import { ws } from "recker";\n\n`;
|
|
2354
|
+
out += needsAuth
|
|
2355
|
+
? `const socket = await ws("${url}", {\n query: { token: "YOUR_TOKEN" }\n});\n\n`
|
|
2356
|
+
: `const socket = await ws("${url}");\n\n`;
|
|
2357
|
+
out += `// Subscribe to channel\nsocket.send(${indent(subscribeMsgStr, ' ')});\n\n`;
|
|
2358
|
+
out += `// Listen for messages\nsocket.on("message", (data) => {\n console.log("Received:", data);\n});\n`;
|
|
2359
|
+
if (publishMsg)
|
|
2360
|
+
out += `\n// Publish a message\n// socket.send(${JSON.stringify(publishMsg)});\n`;
|
|
2361
|
+
return out;
|
|
2362
|
+
}
|
|
2363
|
+
case 'python': {
|
|
2364
|
+
let out = `import asyncio\nimport websockets\nimport json\n\n`;
|
|
2365
|
+
out += `async def connect():\n async with websockets.connect("${authUrl}") as ws:\n`;
|
|
2366
|
+
out += ` # Subscribe to channel\n await ws.send(json.dumps(${indent(subscribeMsgStr, ' ')}))\n \n`;
|
|
2367
|
+
out += ` # Wait for messages\n async for message in ws:\n data = json.loads(message)\n print(f"Received: {data}")\n\n`;
|
|
2368
|
+
out += `asyncio.run(connect())`;
|
|
2369
|
+
return out;
|
|
2370
|
+
}
|
|
2371
|
+
default:
|
|
2372
|
+
return '// Not implemented';
|
|
2373
|
+
}
|
|
2374
|
+
}
|
|
2375
|
+
// Multi-language client snippets for SSE / EventSource streams.
|
|
2376
|
+
function generateStreamCodeSample(lang, url) {
|
|
2377
|
+
switch (lang) {
|
|
2378
|
+
case 'curl':
|
|
2379
|
+
return `curl -N "${url}"\n\n# -N disables buffering for streaming output`;
|
|
2380
|
+
case 'eventsource':
|
|
2381
|
+
return `const eventSource = new EventSource("${url}");\n\neventSource.onmessage = (event) => {\n console.log("Received:", event.data);\n};\n\neventSource.onerror = (error) => {\n console.error("Error:", error);\n eventSource.close();\n};\n\n// To close the connection:\n// eventSource.close();`;
|
|
2382
|
+
case 'recker':
|
|
2383
|
+
return `import { sse } from "recker";\n\nconst stream = sse("${url}");\n\nfor await (const event of stream) {\n console.log("Received:", event.data);\n}`;
|
|
2384
|
+
case 'python':
|
|
2385
|
+
return `import sseclient\nimport requests\n\nresponse = requests.get("${url}", stream=True)\nclient = sseclient.SSEClient(response)\n\nfor event in client.events():\n print(f"Event: {event.event}, Data: {event.data}")`;
|
|
2386
|
+
default:
|
|
2387
|
+
return '// Not implemented';
|
|
2388
|
+
}
|
|
2389
|
+
}
|
|
2390
|
+
// Tabbed client-code panel for the non-HTTP protocols that carry a live console
|
|
2391
|
+
// (WebSocket, streams). Mirrors renderCodeExamples' markup so the shared code
|
|
2392
|
+
// tab / copy styling applies.
|
|
2393
|
+
function renderProtocolCodeSamples(kind, endpoint, data) {
|
|
2394
|
+
const base = String(spec.servers?.[0]?.url ?? 'http://localhost:3000').replace(/\/$/, '');
|
|
2395
|
+
const isWs = kind === 'websocket';
|
|
2396
|
+
const url = isWs
|
|
2397
|
+
? `${base.replace(/^http/, 'ws')}${wsSpec.path ?? '/ws'}`
|
|
2398
|
+
: `${base}/${streamsSpec.pathPrefix ?? 'streams'}/${endpoint.path}`.replace(/([^:]\/)\/+/g, '$1');
|
|
2399
|
+
const langs = isWs
|
|
2400
|
+
? [['wscat', 'wscat', 'bash'], ['javascript', 'WebSocket', 'javascript'], ['recker', 'Recker', 'typescript'], ['python', 'Python', 'python']]
|
|
2401
|
+
: [['curl', 'cURL', 'bash'], ['eventsource', 'EventSource', 'javascript'], ['recker', 'Recker', 'typescript'], ['python', 'Python', 'python']];
|
|
2402
|
+
const section = doc.createElement('div');
|
|
2403
|
+
section.className = 'endpoint-subsection';
|
|
2404
|
+
section.innerHTML = '<div class="subsection-label">Client examples</div>';
|
|
2405
|
+
const wrap = doc.createElement('div');
|
|
2406
|
+
wrap.className = 'http-code-samples';
|
|
2407
|
+
const tabs = doc.createElement('div');
|
|
2408
|
+
tabs.className = 'code-tabs';
|
|
2409
|
+
const contents = doc.createElement('div');
|
|
2410
|
+
contents.className = 'code-contents';
|
|
2411
|
+
langs.forEach(([key, label, language], index) => {
|
|
2412
|
+
const tab = doc.createElement('button');
|
|
2413
|
+
tab.type = 'button';
|
|
2414
|
+
tab.className = `code-tab${index === 0 ? ' active' : ''}`;
|
|
2415
|
+
tab.textContent = label;
|
|
2416
|
+
const content = doc.createElement('div');
|
|
2417
|
+
content.className = `code-content${index === 0 ? ' active' : ''}`;
|
|
2418
|
+
const pre = doc.createElement('pre');
|
|
2419
|
+
pre.className = 'http-code-sample-pre';
|
|
2420
|
+
pre.setAttribute('data-code-toolbar', 'managed');
|
|
2421
|
+
const code = doc.createElement('code');
|
|
2422
|
+
code.className = `language-${language}`;
|
|
2423
|
+
code.textContent = isWs
|
|
2424
|
+
? generateWsCodeSample(key, url, endpoint.path, data)
|
|
2425
|
+
: generateStreamCodeSample(key, url);
|
|
2426
|
+
pre.appendChild(code);
|
|
2427
|
+
content.appendChild(pre);
|
|
2428
|
+
tab.onclick = () => {
|
|
2429
|
+
tabs.querySelectorAll('.code-tab').forEach((t) => t.classList.remove('active'));
|
|
2430
|
+
contents.querySelectorAll('.code-content').forEach((c) => c.classList.remove('active'));
|
|
2431
|
+
tab.classList.add('active');
|
|
2432
|
+
content.classList.add('active');
|
|
2433
|
+
};
|
|
2434
|
+
tabs.appendChild(tab);
|
|
2435
|
+
contents.appendChild(content);
|
|
2436
|
+
});
|
|
2437
|
+
const copy = createSampleCopyButton('http-code-copy', () => {
|
|
2438
|
+
const active = contents.querySelector('.code-content.active pre');
|
|
2439
|
+
return active?.textContent ?? '';
|
|
2440
|
+
});
|
|
2441
|
+
tabs.appendChild(copy);
|
|
2442
|
+
wrap.appendChild(tabs);
|
|
2443
|
+
wrap.appendChild(contents);
|
|
2444
|
+
section.appendChild(wrap);
|
|
2445
|
+
return section;
|
|
2446
|
+
}
|
|
2290
2447
|
function renderEndpointDetails(endpoint) {
|
|
2291
2448
|
const container = doc.createElement('div');
|
|
2292
2449
|
container.className = 'endpoint-details';
|
|
2293
2450
|
const data = (endpoint.data ?? {});
|
|
2294
|
-
appendProtocolConsole(container, { doc, spec, wsSpec, streamsSpec, jsonrpcSpec, activeProtocol, endpoint, data, esc, escapeAttr });
|
|
2451
|
+
appendProtocolConsole(container, { doc, spec, wsSpec, streamsSpec, jsonrpcSpec, activeProtocol, endpoint, data, esc, escapeAttr, tryItConfig });
|
|
2295
2452
|
const appendMany = (items) => items.forEach(([title, value]) => appendSchemaSubsection(container, title, value));
|
|
2296
2453
|
if (activeProtocol === 'http') {
|
|
2297
2454
|
// Two-column operation layout (ReDoc-style): the left column carries the
|
|
@@ -2417,6 +2574,9 @@ function renderEndpointDetails(endpoint) {
|
|
|
2417
2574
|
if (activeProtocol === 'websocket') {
|
|
2418
2575
|
appendInfoGrid(container, [['Channel Type', data.type], ['Path', endpoint.path]]);
|
|
2419
2576
|
appendMany([['Parameters', parameterMapToSchema(data.parameters)], ['Subscribe Message', resolveMessagePayload(data.subscribe?.message)], ['Publish Message', resolveMessagePayload(data.publish?.message)]]);
|
|
2577
|
+
appendContentTypesSection(container, 'Subscribe Content Types', resolveEffectiveContentTypes(data.subscribe?.contentTypes, wsSpec?.contentTypes));
|
|
2578
|
+
appendContentTypesSection(container, 'Publish Content Types', resolveEffectiveContentTypes(data.publish?.contentTypes, wsSpec?.contentTypes));
|
|
2579
|
+
container.appendChild(renderProtocolCodeSamples('websocket', endpoint, data));
|
|
2420
2580
|
}
|
|
2421
2581
|
if (activeProtocol === 'graphql') {
|
|
2422
2582
|
appendInfoGrid(container, [['Endpoint', graphqlSpec.endpoint], ['Kind', data.kind], ['Resource', data.resource ?? data.name], ['Source', data.source]]);
|
|
@@ -2433,23 +2593,29 @@ function renderEndpointDetails(endpoint) {
|
|
|
2433
2593
|
]);
|
|
2434
2594
|
appendStreamProjectionDiagnostics(container, resumable?.projections);
|
|
2435
2595
|
appendMany([['Parameters', parameterMapToSchema(data.parameters)], ['Message Schema', resolveMessagePayload(data.message)]]);
|
|
2596
|
+
appendContentTypesSection(container, 'Content Types', resolveEffectiveContentTypes(data.contentTypes, streamsSpec?.contentTypes));
|
|
2597
|
+
container.appendChild(renderProtocolCodeSamples('streams', endpoint, data));
|
|
2436
2598
|
}
|
|
2437
2599
|
if (activeProtocol === 'jsonrpc') {
|
|
2438
2600
|
appendInfoGrid(container, [['Method', endpoint.path], ['Notification', data['x-usd-notification'] === true ? 'yes' : undefined], ['Streaming', data['x-usd-streaming'] === true ? 'yes' : undefined]]);
|
|
2439
2601
|
appendMany([['Parameters', data.params], ['Result', data.result], ['Errors', data.errors]]);
|
|
2602
|
+
appendContentTypesSection(container, 'Content Types', resolveEffectiveContentTypes(data.contentTypes, jsonrpcSpec?.contentTypes));
|
|
2440
2603
|
}
|
|
2441
2604
|
if (activeProtocol === 'grpc') {
|
|
2442
2605
|
const method = data.method ?? {};
|
|
2443
2606
|
appendInfoGrid(container, [['Service', data.serviceName], ['Method', data.methodName], ['Type', getGrpcMethodType(method).replace(/_/g, ' ')]]);
|
|
2444
2607
|
appendMany([['Request', method.input], ['Response', method.output]]);
|
|
2608
|
+
appendContentTypesSection(container, 'Content Types', resolveEffectiveContentTypes(method.contentTypes, grpcSpec?.contentTypes));
|
|
2445
2609
|
}
|
|
2446
2610
|
if (activeProtocol === 'tcp') {
|
|
2447
2611
|
appendInfoGrid(container, [['Host', data.host ?? 'localhost'], ['Port', data.port], ['TLS', data.tls?.enabled === true ? 'enabled' : undefined]]);
|
|
2448
2612
|
appendMany([['Framing', data.framing], ['Inbound Message', resolveMessagePayload(data.messages?.inbound)], ['Outbound Message', resolveMessagePayload(data.messages?.outbound)]]);
|
|
2613
|
+
appendContentTypesSection(container, 'Content Types', resolveEffectiveContentTypes(data.contentTypes, tcpSpec?.contentTypes));
|
|
2449
2614
|
}
|
|
2450
2615
|
if (activeProtocol === 'udp') {
|
|
2451
2616
|
appendInfoGrid(container, [['Host', data.host ?? '127.0.0.1'], ['Port', data.port], ['Max Packet', data.maxPacketSize ? `${data.maxPacketSize} bytes` : undefined]]);
|
|
2452
2617
|
appendMany([['Inbound Message', resolveMessagePayload(data.messages?.inbound)], ['Outbound Message', resolveMessagePayload(data.messages?.outbound)], ['Message Schema', resolveMessagePayload(data.message)]]);
|
|
2618
|
+
appendContentTypesSection(container, 'Content Types', resolveEffectiveContentTypes(data.contentTypes, udpSpec?.contentTypes));
|
|
2453
2619
|
}
|
|
2454
2620
|
return container;
|
|
2455
2621
|
}
|
|
@@ -3214,6 +3380,13 @@ function renderContent() {
|
|
|
3214
3380
|
// mid-search, in which case the search results take the surface.
|
|
3215
3381
|
if (!searchQuery) {
|
|
3216
3382
|
main.appendChild(renderDocsOverview());
|
|
3383
|
+
if (introductionMarkdown) {
|
|
3384
|
+
const introduction = doc.createElement('section');
|
|
3385
|
+
introduction.className = 'docs-introduction markdown-content';
|
|
3386
|
+
introduction.id = 'introduction';
|
|
3387
|
+
introduction.innerHTML = parseMarkdown(introductionMarkdown);
|
|
3388
|
+
main.appendChild(introduction);
|
|
3389
|
+
}
|
|
3217
3390
|
const authentication = renderAuthenticationSection();
|
|
3218
3391
|
if (authentication)
|
|
3219
3392
|
main.appendChild(authentication);
|
|
@@ -4050,9 +4223,6 @@ function init() {
|
|
|
4050
4223
|
if (activePagePath && activePagePath !== routeState.pagePath) {
|
|
4051
4224
|
win.history?.replaceState?.(null, '', routeToHash(activePagePath, activeHeadingId));
|
|
4052
4225
|
}
|
|
4053
|
-
const intro = byId('introductionContent');
|
|
4054
|
-
if (intro && introductionMarkdown)
|
|
4055
|
-
intro.innerHTML = parseMarkdown(introductionMarkdown);
|
|
4056
4226
|
initSidebarResize();
|
|
4057
4227
|
bindEvents();
|
|
4058
4228
|
renderFooter();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/client-script/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/client-script/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,GAAE,MAAe,EAChC,kBAAkB,GAAE,MAA6C,EACjE,cAAc,GAAE,MAAqC,EACrD,cAAc,GAAE,MAA6G,EAC7H,uBAAuB,GAAE,MAAa,EACtC,YAAY,GAAE,MAA4C,GACzD,MAAM,CAwBR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAQpD;AAED,wBAAgB,sCAAsC,IAAI,MAAM,CAK/D;AAoFD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,GAAE,MAAe,EAChC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,GAAE,MAAqC,GACpD,MAAM,CAoBR"}
|