PageSourceSearch

https://linoyts-qwen-image-2-1-move.hf.space/assets/ApiDocs-9hYmXNno.js

js linoyts-qwen-image-2-1-move.hf.space collected 2026-10-03 17:04:16 UTC 140,664 bytes, 4,933 lines download raw bytes

1import { p as prop, a as set_attribute, e as init, i as if_block, k as each, u as index, b as set_class, h as clsx, f as set_style, d as bind_this, t as remove_input_defaults, v as set_checked, F as set_value } from './i18n-CMo5lpzy.js';
2import { R as push, t as template_effect, a as append, T as pop, U as flushSync, f as from_svg, a4 as createEventDispatcher, S as first_child, X as sibling, V as child, Y as reset, a8 as next, a0 as set_text, Z as event, W as from_html, a7 as text, G as deep_read_state, z as untrack, w as get, a1 as legacy_pre_effect, a2 as legacy_pre_effect_reset, a3 as mutable_source, x as set, a6 as comment, ad as derived_safe_equal, aa as onMount, M as tick, b3 as invalidate_inner_signals, a5 as user_derived, at as to_array, as as mutate, aw as $window } from './index-BvBk1Iap.js';
3import { b as bubble_event } from './misc-ByVveAau.js';
4import { C as Clear } from './clear-D8gK36Dy.js';
5import { a as api_logo } from './Blocks-Wq-vWI14.js';
6import { B as Button } from './Button-CH2w4_A4.js';
7import { L as Loader } from './index-Lz7fsHFt.js';
8import './ScrollFade.svelte_svelte_type_style_lang-Xm-PLg9E.js';
9import './StreamingBar.svelte_svelte_type_style_lang-CdFIGsJa.js';
10import { B as Block } from './Block-Bx3BikCN.js';
11import { h as html } from './html-CdUEtR5E.js';
12import { a as bind_checked } from './input-C317uaXR.js';
13import './size-Cu4PabCL.js';
14import './state.svelte-CCPBiyik.js';
15import './utils.svelte-CYLB_jIA.js';
16import './clone-DaB-S2nH.js';
17import './index-BJk8VOjP.js';
18import './index-DnoGeqVF.js';
19import './snippet-Bl5YVoCg.js';
20import './Image-CDw5qb5O.js';
21/* empty css                                             */
22/* empty css                                                    */
23import './Clear-Dgs5UhTO.js';
24import './index-C7e-J7CF.js';
25
26var root$e = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="currentColor" d="M12.1 2a9.8 9.8 0 0 0-5.4 1.6l6.4 6.4a2.1 2.1 0 0 1 .2 3a2.1 2.1 0 0 1-3-.2L3.7 6.4A9.84 9.84 0 0 0 2 12.1a10.14 10.14 0 0 0 10.1 10.1a11 11 0 0 0 2.6-.3l6.7 6.7a5 5 0 0 0 7.1-7.1l-6.7-6.7a11 11 0 0 0 .3-2.6A10 10 0 0 0 12.1 2m8 10.1a7.6 7.6 0 0 1-.3 2.1l-.3 1.1l.8.8l6.7 6.7a2.88 2.88 0 0 1 .9 2.1A2.72 2.72 0 0 1 27 27a2.9 2.9 0 0 1-4.2 0l-6.7-6.7l-.8-.8l-1.1.3a7.6 7.6 0 0 1-2.1.3a8.27 8.27 0 0 1-5.7-2.3A7.63 7.63 0 0 1 4 12.1a8.3 8.3 0 0 1 .3-2.2l4.4 4.4a4.14 4.14 0 0 0 5.9.2a4.14 4.14 0 0 0-.2-5.9L10 4.2a6.5 6.5 0 0 1 2-.3a8.27 8.27 0 0 1 5.7 2.3a8.5 8.5 0 0 1 2.4 5.9"></path></svg>`);
27
28function Tool($$anchor, $$props) {
29	push($$props, false);
30
31	let icon_size = prop($$props, 'icon_size', 12, 16);
32
33	var $$exports = {
34		get icon_size() {
35			return icon_size();
36		},
37
38		set icon_size($$value) {
39			icon_size($$value);
40			flushSync();
41		}
42	};
43
44	var svg = root$e();
45
46	template_effect(() => {
47		set_attribute(svg, 'width', icon_size());
48		set_attribute(svg, 'height', icon_size());
49	});
50
51	append($$anchor, svg);
52
53	return pop($$exports);
54}
55
56var root$d = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="currentColor" d="M17.74 30L16 29l4-7h6a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h9v2H6a4 4 0 0 1-4-4V8a4 4 0 0 1 4-4h20a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4h-4.84Z"></path><path fill="currentColor" d="M8 10h16v2H8zm0 6h10v2H8z"></path></svg>`);
57
58function Prompt($$anchor, $$props) {
59	push($$props, false);
60
61	let icon_size = prop($$props, 'icon_size', 12, 16);
62
63	var $$exports = {
64		get icon_size() {
65			return icon_size();
66		},
67
68		set icon_size($$value) {
69			icon_size($$value);
70			flushSync();
71		}
72	};
73
74	var svg = root$d();
75
76	template_effect(() => {
77		set_attribute(svg, 'width', icon_size());
78		set_attribute(svg, 'height', icon_size());
79	});
80
81	append($$anchor, svg);
82
83	return pop($$exports);
84}
85
86var root$c = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="currentColor" d="M19 10h7v2h-7zm0 5h7v2h-7zm0 5h7v2h-7z"></path><path fill="currentColor" d="M28 5H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h24a2.003 2.003 0 0 0 2-2V7a2 2 0 0 0-2-2M4 7h11v18H4Zm13 18V7h11l.002 18Z"></path></svg>`);
87
88function Resource($$anchor, $$props) {
89	push($$props, false);
90
91	let icon_size = prop($$props, 'icon_size', 12, 16);
92
93	var $$exports = {
94		get icon_size() {
95			return icon_size();
96		},
97
98		set icon_size($$value) {
99			icon_size($$value);
100			flushSync();
101		}
102	};
103
104	var svg = root$c();
105
106	template_effect(() => {
107		set_attribute(svg, 'width', icon_size());
108		set_attribute(svg, 'height', icon_size());
109	});
110
111	append($$anchor, svg);
112
113	return pop($$exports);
114}
115
116var root_1$7 = from_html(`<div class="wrap prose svelte-1m8i4xt"><h1>API Docs</h1> <p class="attention svelte-1m8i4xt">No API Routes found for <code class="svelte-1m8i4xt"> </code></p> <p>To expose an API endpoint of your app in this page, set the <code>api_name</code> parameter of the event listener. <br/> For more information, visit the <a href="https://gradio.app/sharing_your_app/#api-page" target="_blank">API Page guide</a> . To hide the API documentation button and this page, set <code>footer_links=["gradio", "settings"]</code> in the <code>Blocks.launch()</code> method.</p></div> <button class="svelte-1m8i4xt"><!></button>`, 1);
117
118function NoApi($$anchor, $$props) {
119	push($$props, false);
120
121	const dispatch = createEventDispatcher();
122	let root = prop($$props, 'root', 12);
123
124	var $$exports = {
125		get root() {
126			return root();
127		},
128
129		set root($$value) {
130			root($$value);
131			flushSync();
132		}
133	};
134
135	init();
136
137	var fragment = root_1$7();
138	var div = first_child(fragment);
139	var p = sibling(child(div), 2);
140	var code = sibling(child(p));
141	var text = child(code, true);
142
143	reset(code);
144	reset(p);
145	next(2);
146	reset(div);
147
148	var button = sibling(div, 2);
149	var node = child(button);
150
151	Clear(node);
152	reset(button);
153	template_effect(() => set_text(text, root()));
154	event('click', button, () => dispatch("close"));
155	append($$anchor, fragment);
156
157	return pop($$exports);
158}
159
160var root_5$3 = from_html(`<div class="loading-dot self-baseline svelte-uv8a36"></div> <p class="self-baseline btn-text svelte-uv8a36">API Recorder</p>`, 1);
161var root_1$6 = from_html(`<h2 class="svelte-uv8a36"><img alt="" class="svelte-uv8a36"/> <div class="title svelte-uv8a36"><!> documentation <div class="url svelte-uv8a36"> </div></div> <span class="counts svelte-uv8a36"><!> <p><span class="url svelte-uv8a36"> </span> <!><!><br/></p></span></h2> <button class="svelte-uv8a36"><!></button>`, 1);
162
163function ApiBanner($$anchor, $$props) {
164	push($$props, false);
165
166	let root = prop($$props, 'root', 12);
167	let api_count = prop($$props, 'api_count', 12);
168	let current_language = prop($$props, 'current_language', 12, "python");
169	const dispatch = createEventDispatcher();
170
171	var $$exports = {
172		get root() {
173			return root();
174		},
175
176		set root($$value) {
177			root($$value);
178			flushSync();
179		},
180
181		get api_count() {
182			return api_count();
183		},
184
185		set api_count($$value) {
186			api_count($$value);
187			flushSync();
188		},
189
190		get current_language() {
191			return current_language();
192		},
193
194		set current_language($$value) {
195			current_language($$value);
196			flushSync();
197		}
198	};
199
200	init();
201
202	var fragment = root_1$6();
203	var h2 = first_child(fragment);
204	var img = child(h2);
205	var div = sibling(img, 2);
206	var node = child(div);
207
208	{
209		var consequent = ($$anchor) => {
210			var text$1 = text('MCP');
211
212			append($$anchor, text$1);
213		};
214
215		var alternate = ($$anchor) => {
216			var text_1 = text('API');
217
218			append($$anchor, text_1);
219		};
220
221		if_block(node, ($$render) => {
222			if (current_language() === "mcp") $$render(consequent); else $$render(alternate, false);
223		});
224	}
225
226	var div_1 = sibling(node, 2);
227	var text_2 = child(div_1, true);
228
229	reset(div_1);
230	reset(div);
231
232	var span = sibling(div, 2);
233	var node_1 = child(span);
234
235	{
236		var consequent_1 = ($$anchor) => {
237			Button($$anchor, {
238				size: 'sm',
239				variant: 'secondary',
240				elem_id: 'start-api-recorder',
241				onclick: () => dispatch("close", { api_recorder_visible: true }),
242				children: ($$anchor, $$slotProps) => {
243					var fragment_2 = root_5$3();
244
245					next(2);
246					append($$anchor, fragment_2);
247				},
248				$$slots: { default: true }
249			});
250		};
251
252		if_block(node_1, ($$render) => {
253			if (current_language() !== "mcp") $$render(consequent_1);
254		});
255	}
256
257	var p = sibling(node_1, 2);
258	var span_1 = child(p);
259	var text_3 = child(span_1, true);
260
261	reset(span_1);
262
263	var node_2 = sibling(span_1, 2);
264
265	{
266		var consequent_2 = ($$anchor) => {
267			var text_4 = text('API endpoint');
268
269			append($$anchor, text_4);
270		};
271
272		var alternate_1 = ($$anchor) => {
273			var text_5 = text('MCP Tool');
274
275			append($$anchor, text_5);
276		};
277
278		if_block(node_2, ($$render) => {
279			if (current_language() !== "mcp") $$render(consequent_2); else $$render(alternate_1, false);
280		});
281	}
282
283	var node_3 = sibling(node_2);
284
285	{
286		var consequent_3 = ($$anchor) => {
287			var text_6 = text('s');
288
289			append($$anchor, text_6);
290		};
291
292		if_block(node_3, ($$render) => {
293			if (api_count() > 1) $$render(consequent_3);
294		});
295	}
296
297	next();
298	reset(p);
299	reset(span);
300	reset(h2);
301
302	var button = sibling(h2, 2);
303	var node_4 = child(button);
304
305	Clear(node_4);
306	reset(button);
307
308	template_effect(() => {
309		set_attribute(img, 'src', api_logo);
310		set_text(text_2, root());
311		set_text(text_3, api_count());
312	});
313
314	event('click', button, () => dispatch("close"));
315	append($$anchor, fragment);
316
317	return pop($$exports);
318}
319
320function represent_value(value, type, lang = null) {
321  if (type === void 0) {
322    return lang === "py" ? "None" : null;
323  }
324  if (value === null && lang === "py") {
325    return "None";
326  }
327  if (type === "string" || type === "str") {
328    return lang === null ? value : '"' + value + '"';
329  } else if (type === "number") {
330    return lang === null ? parseFloat(value) : value;
331  } else if (type === "boolean" || type == "bool") {
332    if (lang === "py") {
333      value = String(value);
334      return value === "true" ? "True" : "False";
335    } else if (lang === "js" || lang === "bash") {
336      return value;
337    }
338    return value === "true";
339  } else if (type === "List[str]") {
340    value = JSON.stringify(value);
341    return value;
342  } else if (type.startsWith("Literal['")) {
343    return '"' + value + '"';
344  }
345  if (lang === null) {
346    return value === "" ? null : JSON.parse(value);
347  } else if (typeof value === "string") {
348    if (value === "") {
349      return lang === "py" ? "None" : "null";
350    }
351    return value;
352  }
353  if (lang === "bash") {
354    value = simplify_file_data(value);
355  }
356  if (lang === "py") {
357    value = replace_file_data_with_file_function(value);
358  }
359  return stringify_except_file_function(value);
360}
361function simplify_file_data(obj) {
362  if (typeof obj === "object" && obj !== null && !Array.isArray(obj)) {
363    if ("url" in obj && obj.url && "meta" in obj && obj.meta?._type === "gradio.FileData") {
364      return { path: obj.url, meta: { _type: "gradio.FileData" } };
365    }
366  }
367  if (Array.isArray(obj)) {
368    obj.forEach((item, index) => {
369      if (typeof item === "object" && item !== null) {
370        obj[index] = simplify_file_data(item);
371      }
372    });
373  } else if (typeof obj === "object" && obj !== null) {
374    Object.keys(obj).forEach((key) => {
375      obj[key] = simplify_file_data(obj[key]);
376    });
377  }
378  return obj;
379}
380function replace_file_data_with_file_function(obj) {
381  if (typeof obj === "object" && obj !== null && !Array.isArray(obj)) {
382    if ("url" in obj && obj.url && "meta" in obj && obj.meta?._type === "gradio.FileData") {
383      return `handle_file('${obj.url}')`;
384    }
385  }
386  if (Array.isArray(obj)) {
387    obj.forEach((item, index) => {
388      if (typeof item === "object" && item !== null) {
389        obj[index] = replace_file_data_with_file_function(item);
390      }
391    });
392  } else if (typeof obj === "object" && obj !== null) {
393    Object.keys(obj).forEach((key) => {
394      obj[key] = replace_file_data_with_file_function(obj[key]);
395    });
396  }
397  return obj;
398}
399function stringify_except_file_function(obj) {
400  let jsonString = JSON.stringify(obj, (key, value) => {
401    if (value === null) {
402      return "UNQUOTEDNone";
403    }
404    if (typeof value === "string" && value.startsWith("handle_file(") && value.endsWith(")")) {
405      return `UNQUOTED${value}`;
406    }
407    return value;
408  });
409  const regex = /"UNQUOTEDhandle_file\(([^)]*)\)"/g;
410  jsonString = jsonString.replace(regex, (match, p1) => `handle_file(${p1})`);
411  const regexNone = /"UNQUOTEDNone"/g;
412  return jsonString.replace(regexNone, "None");
413}
414function format_latency(val) {
415  if (val < 1) return `${Math.round(val * 1e3)} ms`;
416  return `${val.toFixed(2)} s`;
417}
418
419var root_3$6 = from_html(` <!>`, 1);
420var root_6$3 = from_html(`<span style="font-weight:bold">Required</span>`);
421var root_7$4 = from_html(`<span>Default:</span><span class="code svelte-1nfxyth" style="font-size: var(--text-sm);"> </span>`, 1);
422var root_2$5 = from_html(`<hr class="hr svelte-1nfxyth"/> <div style="margin:10px;"><p style="white-space: nowrap; overflow-x: auto;"><span class="code svelte-1nfxyth" style="margin-right: 10px;"> </span> <span class="code highlight svelte-1nfxyth" style="margin-right: 10px;"><!></span> <!></p> <p class="desc svelte-1nfxyth"> </p></div>`, 1);
423var root_8$2 = from_html(`<div class="load-wrap"><!></div>`);
424var root$b = from_html(`<h4 class="svelte-1nfxyth"><div class="toggle-icon svelte-1nfxyth"><div class="toggle-dot svelte-1nfxyth"></div></div> <!>:</h4> <div></div> <!>`, 1);
425
426function ParametersSnippet($$anchor, $$props) {
427	push($$props, false);
428
429	let is_running = prop($$props, 'is_running', 12);
430	let endpoint_returns = prop($$props, 'endpoint_returns', 12);
431	let js_returns = prop($$props, 'js_returns', 12);
432	let current_language = prop($$props, 'current_language', 12);
433
434	var $$exports = {
435		get is_running() {
436			return is_running();
437		},
438
439		set is_running($$value) {
440			is_running($$value);
441			flushSync();
442		},
443
444		get endpoint_returns() {
445			return endpoint_returns();
446		},
447
448		set endpoint_returns($$value) {
449			endpoint_returns($$value);
450			flushSync();
451		},
452
453		get js_returns() {
454			return js_returns();
455		},
456
457		set js_returns($$value) {
458			js_returns($$value);
459			flushSync();
460		},
461
462		get current_language() {
463			return current_language();
464		},
465
466		set current_language($$value) {
467			current_language($$value);
468			flushSync();
469		}
470	};
471
472	init();
473
474	var fragment = root$b();
475	var h4 = first_child(fragment);
476	var text$1 = sibling(child(h4));
477	var node = sibling(text$1);
478
479	{
480		var consequent = ($$anchor) => {
481			var text_1 = text('s');
482
483			append($$anchor, text_1);
484		};
485
486		if_block(node, ($$render) => {
487			if ((
488				deep_read_state(endpoint_returns()),
489				untrack(() => endpoint_returns().length != 1)
490			)) $$render(consequent);
491		});
492	}
493
494	next();
495	reset(h4);
496
497	var div = sibling(h4, 2);
498	let classes;
499
500	each(div, 5, endpoint_returns, index, ($$anchor, $$item, i) => {
501		let label = () => get($$item).label;
502		let python_type = () => get($$item).python_type;
503		let component = () => get($$item).component;
504		let parameter_name = () => get($$item).parameter_name;
505		let parameter_has_default = () => get($$item).parameter_has_default;
506		let parameter_default = () => get($$item).parameter_default;
507		var fragment_1 = root_2$5();
508		var div_1 = sibling(first_child(fragment_1), 2);
509		var p = child(div_1);
510		var span = child(p);
511		var text_2 = child(span, true);
512
513		reset(span);
514
515		var span_1 = sibling(span, 2);
516		var node_1 = child(span_1);
517
518		{
519			var consequent_2 = ($$anchor) => {
520				var fragment_2 = root_3$6();
521				var text_3 = first_child(fragment_2, true);
522				var node_2 = sibling(text_3);
523
524				{
525					var consequent_1 = ($$anchor) => {
526						var text_4 = text(' |\n							None');
527
528						append($$anchor, text_4);
529					};
530
531					if_block(node_2, ($$render) => {
532						if (parameter_has_default() && parameter_default() === null) $$render(consequent_1);
533					});
534				}
535
536				template_effect(() => set_text(text_3, (python_type(), untrack(() => python_type().type))));
537				append($$anchor, fragment_2);
538			};
539
540			var alternate = ($$anchor) => {
541				var text_5 = text();
542
543				template_effect(() => set_text(text_5, (
544					deep_read_state(js_returns()),
545					untrack(() => js_returns()[i].type || "any")
546				)));
547
548				append($$anchor, text_5);
549			};
550
551			if_block(node_1, ($$render) => {
552				if (current_language() === "python") $$render(consequent_2); else $$render(alternate, false);
553			});
554		}
555
556		reset(span_1);
557
558		var node_3 = sibling(span_1, 2);
559
560		{
561			var consequent_3 = ($$anchor) => {
562				var span_2 = root_6$3();
563
564				append($$anchor, span_2);
565			};
566
567			var alternate_1 = ($$anchor) => {
568				var fragment_4 = root_7$4();
569				var span_3 = sibling(first_child(fragment_4));
570				var text_6 = child(span_3, true);
571
572				reset(span_3);
573
574				template_effect(($0) => set_text(text_6, $0), [
575					() => (
576						deep_read_state(represent_value),
577						parameter_default(),
578						python_type(),
579						untrack(() => represent_value(parameter_default(), python_type().type, "py"))
580					)
581				]);
582
583				append($$anchor, fragment_4);
584			};
585
586			if_block(node_3, ($$render) => {
587				if (!parameter_has_default() || current_language() == "bash") $$render(consequent_3); else $$render(alternate_1, false);
588			});
589		}
590
591		reset(p);
592
593		var p_1 = sibling(p, 2);
594		var text_7 = child(p_1);
595
596		reset(p_1);
597		reset(div_1);
598
599		template_effect(() => {
600			set_text(text_2, current_language() !== "bash" && parameter_name() ? parameter_name() : "[" + i + "]");
601
602			set_text(text_7, `The input value that is provided in the "${label() ?? ''}" ${component() ?? ''}
603				component. ${(python_type(), untrack(() => python_type().description)) ?? ''}`);
604		});
605
606		append($$anchor, fragment_1);
607	});
608
609	reset(div);
610
611	var node_4 = sibling(div, 2);
612
613	{
614		var consequent_4 = ($$anchor) => {
615			var div_2 = root_8$2();
616			var node_5 = child(div_2);
617
618			Loader(node_5, { margin: false });
619			reset(div_2);
620			append($$anchor, div_2);
621		};
622
623		if_block(node_4, ($$render) => {
624			if (is_running()) $$render(consequent_4);
625		});
626	}
627
628	template_effect(() => {
629		set_text(text$1, ` Accepts ${(
630			deep_read_state(endpoint_returns()),
631			untrack(() => endpoint_returns().length)
632		) ?? ''} parameter`);
633
634		classes = set_class(div, 1, '', null, classes, { hide: is_running() });
635	});
636
637	append($$anchor, fragment);
638
639	return pop($$exports);
640}
641
642var root$a = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg>`);
643
644function IconCopy($$anchor, $$props) {
645	push($$props, false);
646
647	let classNames = prop($$props, 'classNames', 12, "");
648
649	var $$exports = {
650		get classNames() {
651			return classNames();
652		},
653
654		set classNames($$value) {
655			classNames($$value);
656			flushSync();
657		}
658	};
659
660	var svg = root$a();
661
662	template_effect(() => set_class(svg, 0, clsx(classNames()), 'svelte-etvp4k'));
663	append($$anchor, svg);
664
665	return pop($$exports);
666}
667
668var root$9 = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true"><path fill-rule="evenodd" fill="rgb(255, 124, 1)" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>`);
669
670function IconCheck($$anchor, $$props) {
671	push($$props, false);
672
673	let classNames = prop($$props, 'classNames', 12, "");
674
675	var $$exports = {
676		get classNames() {
677			return classNames();
678		},
679
680		set classNames($$value) {
681			classNames($$value);
682			flushSync();
683		}
684	};
685
686	var svg = root$9();
687
688	template_effect(() => set_class(svg, 0, clsx(classNames() || "icon-size"), 'svelte-5quqiz'));
689	append($$anchor, svg);
690
691	return pop($$exports);
692}
693
694var root$8 = from_html(`<button class="copy-button svelte-egghn7" aria-l
694ive="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0"><!></span></button>`);
695
696function CopyButton($$anchor, $$props) {
697	push($$props, false);
698
699	let code = prop($$props, 'code', 12);
700	let copied = mutable_source(false);
701
702	function copy() {
703		navigator.clipboard.writeText(code());
704		set(copied, true);
705
706		setTimeout(
707			() => {
708				set(copied, false);
709			},
710			1500
711		);
712	}
713
714	legacy_pre_effect(() => (get(copied)), () => {
715		get(copied);
716	});
717
718	legacy_pre_effect_reset();
719
720	var $$exports = {
721		get code() {
722			return code();
723		},
724
725		set code($$value) {
726			code($$value);
727			flushSync();
728		}
729	};
730
731	var button = root$8();
732	var span = child(button);
733	var node = child(span);
734
735	{
736		var consequent = ($$anchor) => {
737			IconCheck($$anchor, { classNames: 'w-3 h-3 max-sm:w-2.5 max-sm:h-2.5' });
738		};
739
740		var alternate = ($$anchor) => {
741			IconCopy($$anchor, { classNames: 'w-3 h-3 max-sm:w-2.5 max-sm:h-2.5' });
742		};
743
744		if_block(node, ($$render) => {
745			if (get(copied)) $$render(consequent); else $$render(alternate, false);
746		});
747	}
748
749	reset(span);
750	reset(button);
751	event('click', button, copy);
752	append($$anchor, button);
753
754	return pop($$exports);
755}
756
757var root_2$4 = from_html(`<div class="copy svelte-1ts4a2g"><!></div> <div><pre class="svelte-1ts4a2g"></pre></div>`, 1);
758var root_4$4 = from_html(`<div class="copy svelte-1ts4a2g"><!></div> <div><pre class="svelte-1ts4a2g"></pre></div>`, 1);
759var root_6$2 = from_html(`<div class="copy svelte-1ts4a2g"><!></div> <div><pre class="svelte-1ts4a2g"></pre></div>`, 1);
760var root_1$5 = from_html(`<code class="svelte-1ts4a2g"><!></code>`);
761
762function InstallSnippet($$anchor, $$props) {
763	push($$props, false);
764
765	let current_language = prop($$props, 'current_language', 12);
766	let py_install = "pip install gradio_client";
767	let js_install = "npm i -D @gradio/client";
768	let bash_install = "curl --version";
769
770	var $$exports = {
771		get current_language() {
772			return current_language();
773		},
774
775		set current_language($$value) {
776			current_language($$value);
777			flushSync();
778		}
779	};
780
781	Block($$anchor, {
782		children: ($$anchor, $$slotProps) => {
783			var code = root_1$5();
784			var node = child(code);
785
786			{
787				var consequent = ($$anchor) => {
788					var fragment_1 = root_2$4();
789					var div = first_child(fragment_1);
790					var node_1 = child(div);
791
792					CopyButton(node_1, { code: py_install });
793					reset(div);
794
795					var div_1 = sibling(div, 2);
796					var pre = child(div_1);
797
798					pre.textContent = '$ pip install gradio_client';
799					reset(div_1);
800					append($$anchor, fragment_1);
801				};
802
803				var alternate_1 = ($$anchor) => {
804					var fragment_2 = comment();
805					var node_2 = first_child(fragment_2);
806
807					{
808						var consequent_1 = ($$anchor) => {
809							var fragment_3 = root_4$4();
810							var div_2 = first_child(fragment_3);
811							var node_3 = child(div_2);
812
813							CopyButton(node_3, { code: js_install });
814							reset(div_2);
815
816							var div_3 = sibling(div_2, 2);
817							var pre_1 = child(div_3);
818
819							pre_1.textContent = '$ npm i -D @gradio/client';
820							reset(div_3);
821							append($$anchor, fragment_3);
822						};
823
824						var alternate = ($$anchor) => {
825							var fragment_4 = comment();
826							var node_4 = first_child(fragment_4);
827
828							{
829								var consequent_2 = ($$anchor) => {
830									var fragment_5 = root_6$2();
831									var div_4 = first_child(fragment_5);
832									var node_5 = child(div_4);
833
834									CopyButton(node_5, { code: bash_install });
835									reset(div_4);
836
837									var div_5 = sibling(div_4, 2);
838									var pre_2 = child(div_5);
839
840									pre_2.textContent = '$ curl --version';
841									reset(div_5);
842									append($$anchor, fragment_5);
843								};
844
845								if_block(
846									node_4,
847									($$render) => {
848										if (current_language() === "bash") $$render(consequent_2);
849									},
850									true
851								);
852							}
853
854							append($$anchor, fragment_4);
855						};
856
857						if_block(
858							node_2,
859							($$render) => {
860								if (current_language() === "javascript") $$render(consequent_1); else $$render(alternate, false);
861							},
862							true
863						);
864					}
865
866					append($$anchor, fragment_2);
867				};
868
869				if_block(node, ($$render) => {
870					if (current_language() === "python") $$render(consequent); else $$render(alternate_1, false);
871				});
872			}
873
874			reset(code);
875			append($$anchor, code);
876		},
877		$$slots: { default: true }
878	});
879
880	return pop($$exports);
881}
882
883var root$7 = from_html(`<div class="tooltip-chart svelte-1q3jha5"><div class="tooltip-arrow svelte-1q3jha5"></div> <div class="chart-bars svelte-1q3jha5"><div class="chart-bar-container svelte-1q3jha5"><div class="chart-bar-label svelte-1q3jha5">p50</div> <div class="chart-bar-wrapper svelte-1q3jha5"><div class="chart-bar svelte-1q3jha5"></div></div> <div class="chart-bar-value svelte-1q3jha5"> </div></div> <div class="chart-bar-container svelte-1q3jha5"><div class="chart-bar-label svelte-1q3jha5">p90</div> <div class="chart-bar-wrapper svelte-1q3jha5"><div class="chart-bar svelte-1q3jha5"></div></div> <div class="chart-bar-value svelte-1q3jha5"> </div></div> <div class="chart-bar-container svelte-1q3jha5"><div class="chart-bar-label svelte-1q3jha5">p99</div> <div class="chart-bar-wrapper svelte-1q3jha5"><div class="chart-bar svelte-1q3jha5"></div></div> <div class="chart-bar-value svelte-1q3jha5"> </div></div></div></div>`);
884
885function PercentileChart($$anchor, $$props) {
886	push($$props, false);
887
888	const max_latency = mutable_source();
889	let p50 = prop($$props, 'p50', 12);
890	let p90 = prop($$props, 'p90', 12);
891	let p99 = prop($$props, 'p99', 12);
892
893	legacy_pre_effect(
894		() => (
895			deep_read_state(p50()),
896			deep_read_state(p90()),
897			deep_read_state(p99())
898		),
899		() => {
900			set(max_latency, Math.max(p50(), p90(), p99()));
901		}
902	);
903
904	legacy_pre_effect_reset();
905
906	var $$exports = {
907		get p50() {
908			return p50();
909		},
910
911		set p50($$value) {
912			p50($$value);
913			flushSync();
914		},
915
916		get p90() {
917			return p90();
918		},
919
920		set p90($$value) {
921			p90($$value);
922			flushSync();
923		},
924
925		get p99() {
926			return p99();
927		},
928
929		set p99($$value) {
930			p99($$value);
931			flushSync();
932		}
933	};
934
935	init();
936
937	var div = root$7();
938	var div_1 = sibling(child(div), 2);
939	var div_2 = child(div_1);
940	var div_3 = sibling(child(div_2), 2);
941	var div_4 = child(div_3);
942
943	reset(div_3);
944
945	var div_5 = sibling(div_3, 2);
946	var text = child(div_5, true);
947
948	reset(div_5);
949	reset(div_2);
950
951	var div_6 = sibling(div_2, 2);
952	var div_7 = sibling(child(div_6), 2);
953	var div_8 = child(div_7);
954
955	reset(div_7);
956
957	var div_9 = sibling(div_7, 2);
958	var text_1 = child(div_9, true);
959
960	reset(div_9);
961	reset(div_6);
962
963	var div_10 = sibling(div_6, 2);
964	var div_11 = sibling(child(div_10), 2);
965	var div_12 = child(div_11);
966
967	reset(div_11);
968
969	var div_13 = sibling(div_11, 2);
970	var text_2 = child(div_13, true);
971
972	reset(div_13);
973	reset(div_10);
974	reset(div_1);
975	reset(div);
976
977	template_effect(
978		($0, $1, $2) => {
979			set_style(div_4, `width: ${p50() / get(max_latency) * 100}%`);
980			set_text(text, $0);
981			set_style(div_8, `width: ${p90() / get(max_latency) * 100}%`);
982			set_text(text_1, $1);
983			set_style(div_12, `width: ${p99() / get(max_latency) * 100}%`);
984			set_text(text_2, $2);
985		},
986		[
987			() => (
988				deep_read_state(format_latency),
989				deep_read_state(p50()),
990				untrack(() => format_latency(p50()))
991			),
992
993			() => (
994				deep_read_state(format_latency),
995				deep_read_state(p90()),
996				untrack(() => format_latency(p90()))
997			),
998
999			() => (
1000				deep_read_state(format_latency),
1001				deep_read_state(p99()),
1002				untrack(() => format_latency(p99()))
1003			)
1004		]
1005	);
1006
1007	append($$anchor, div);
1008
1009	return pop($$exports);
1010}
1011
1012var root_2$3 = from_html(`<span class="most-recently-used svelte-13swnto">Most recently used</span>`);
1013var root_1$4 = from_html(`<span class="analytics-inline svelte-13swnto"><span class="analytics-content svelte-13swnto"><span class="analytics-text-wrapper svelte-13swnto"> </span> <div class="analytics-tooltip svelte-13swnto"><!></div></span> <!></span>`);
1014var root$6 = from_html(`<h3 class="svelte-13swnto">API name: <span class="post svelte-13swnto"> </span> <span class="desc svelte-13swnto"> <!></span></h3>`);
1015
1016function EndpointDetail($$anchor, $$props) {
1017	push($$props, false);
1018
1019	const is_most_recently_used = mutable_source();
1020	let api_name = prop($$props, 'api_name', 12, null);
1021	let description = prop($$props, 'description', 12, null);
1022	let analytics = prop($$props, 'analytics', 12);
1023	let last_api_call = prop($$props, 'last_api_call', 12, null);
1024	let dependency_id = prop($$props, 'dependency_id', 12, null);
1025	const success_rate = api_name() ? analytics()[api_name()]?.success_rate : 0;
1026
1027	legacy_pre_effect(
1028		() => (
1029			deep_read_state(last_api_call()),
1030			deep_read_state(dependency_id())
1031		),
1032		() => {
1033			set(is_most_recently_used, last_api_call()?.fn_index === dependency_id());
1034		}
1035	);
1036
1037	legacy_pre_effect_reset();
1038
1039	var $$exports = {
1040		get api_name() {
1041			return api_name();
1042		},
1043
1044		set api_name($$value) {
1045			api_name($$value);
1046			flushSync();
1047		},
1048
1049		get description() {
1050			return description();
1051		},
1052
1053		set description($$value) {
1054			description($$value);
1055			flushSync();
1056		},
1057
1058		get analytics() {
1059			return analytics();
1060		},
1061
1062		set analytics($$value) {
1063			analytics($$value);
1064			flushSync();
1065		},
1066
1067		get last_api_call() {
1068			return last_api_call();
1069		},
1070
1071		set last_api_call($$value) {
1072			last_api_call($$value);
1073			flushSync();
1074		},
1075
1076		get dependency_id() {
1077			return dependency_id();
1078		},
1079
1080		set dependency_id($$value) {
1081			dependency_id($$value);
1082			flushSync();
1083		}
1084	};
1085
1086	init();
1087
1088	var h3 = root$6();
1089	var span = sibling(child(h3));
1090	var text = child(span, true);
1091
1092	reset(span);
1093
1094	var span_1 = sibling(span, 2);
1095	var text_1 = child(span_1);
1096	var node = sibling(text_1);
1097
1098	{
1099		var consequent_1 = ($$anchor) => {
1100			const endpoint_analytics = derived_safe_equal(() => (
1101				deep_read_state(analytics()),
1102				deep_read_state(api_name()),
1103				untrack(() => analytics()[api_name()])
1104			));
1105
1106			const p50 = derived_safe_equal(() => (
1107				deep_read_state(get(endpoint_analytics)),
1108				untrack(() => get(endpoint_analytics).process_time_percentiles["50th"])
1109			));
1110
1111			const p90 = derived_safe_equal(() => (
1112				deep_read_state(get(endpoint_analytics)),
1113				untrack(() => get(endpoint_analytics).process_time_percentiles["90th"])
1114			));
1115
1116			const p99 = derived_safe_equal(() => (
1117				deep_read_state(get(endpoint_analytics)),
1118				untrack(() => get(endpoint_analytics).process_time_percentiles["99th"])
1119			));
1120
1121			var span_2 = root_1$4();
1122			var span_3 = child(span_2);
1123			var span_4 = child(span_3);
1124			var text_2 = child(span_4);
1125
1126			reset(span_4);
1127
1128			var div = sibling(span_4, 2);
1129			var node_1 = child(div);
1130
1131			PercentileChart(node_1, {
1132				get p50() {
1133					return get(p50);
1134				},
1135
1136				get p90() {
1137					return get(p90);
1138				},
1139
1140				get p99() {
1141					return get(p99);
1142				}
1143			});
1144
1145			reset(div);
1146			reset(span_3);
1147
1148			var node_2 = sibling(span_3, 2);
1149
1150			{
1151				var consequent = ($$anchor) => {
1152					var span_5 = root_2$3();
1153
1154					append($$anchor, span_5);
1155				};
1156
1157				if_block(node_2, ($$render) => {
1158					if (get(is_most_recently_used)) $$render(consequent);
1159				});
1160			}
1161
1162			reset(span_2);
1163
1164			template_effect(
1165				($0, $1) => set_text(text_2, `${(
1166					deep_read_state(get(endpoint_analytics)),
1167					untrack(() => get(endpoint_analytics).total_requests)
1168				) ?? ''} requests (${$0 ?? ''}% successful, p50: ${$1 ?? ''})`),
1169				[
1170					() => (untrack(() => Math.round(success_rate * 100))),
1171					() => (
1172						deep_read_state(format_latency),
1173						deep_read_state(get(p50)),
1174						untrack(() => format_latency(get(p50)))
1175					)
1176				]
1177			);
1178
1179			append($$anchor, span_2);
1180		};
1181
1182		if_block(node, ($$render) => {
1183			if ((
1184				deep_read_state(analytics()),
1185				deep_read_state(api_name()),
1186				untrack(() => analytics() && api_name() && analytics()[api_name()])
1187			)) $$render(consequent_1);
1188		});
1189	}
1190
1191	reset(span_1);
1192	reset(h3);
1193
1194	template_effect(() => {
1195		set_text(text, "/" + api_name());
1196		set_text(text_1, `${description() ?? ''} `);
1197	});
1198
1199	append($$anchor, h3);
1200
1201	return pop($$exports);
1202}
1203
1204var root_1$3 = from_html(`<code class="svelte-1v9rhoq"><div class="copy svelte-1v9rhoq"><!></div> <pre class="svelte-1v9rhoq"><!></pre></code>`);
1205var root_2$2 = from_html(`<code class="svelte-1v9rhoq"><div class="copy svelte-1v9rhoq"><!></div> <pre class="svelte-1v9rhoq"><!></pre></code>`);
1206var root_3$5 = from_html(`<code class="svelte-1v9rhoq"><div class="copy svelte-1v9rhoq"><!></div> <pre class="svelte-1v9rhoq"><!></pre></code>`);
1207var root$5 = from_html(`<div class="container svelte-1v9rhoq"><!> <div><!></div> <div><!></div> <div><!></div></div>`);
1208
1209function CodeSnippet($$anchor, $$props) {
1210	push($$props, false);
1211
1212	const python_html = mutable_source();
1213	const js_html = mutable_source();
1214	const bash_html = mutable_source();
1215	let dependency = prop($$props, 'dependency', 12);
1216	let current_language = prop($$props, 'current_language', 12);
1217	let api_description = prop($$props, 'api_description', 12, null);
1218	let analytics = prop($$props, 'analytics', 12);
1219	let markdown_code_snippets = prop($$props, 'markdown_code_snippets', 12);
1220	let code_snippets = prop($$props, 'code_snippets', 12);
1221	let last_api_call = prop($$props, 'last_api_call', 12, null);
1222
1223	function escape_html(text) {
1224		return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1225	}
1226
1227	function highlight_python(code) {
1228		let html = escape_html(code);
1229
1230		html = html.replace(/\b(from|import|print)\b/g, '<span class="kw">$1</span>');
1231		html = html.replace(/(Client\()("[^"]*")(\))/g, '$1<span class="str">$2</span>$3');
1232		html = html.replace(/(api_name=)("[^"]*")/g, '$1<span class="api-name">$2</span>');
1233
1234		return html;
1235	}
1236
1237	function highlight_javascript(code) {
1238		let html = escape_html(code);
1239
1240		html = html.replace(/\b(import|from|const|await)\b/g, '<span class="kw">$1</span>');
1241		html = html.replace(/(Client\.connect\()("[^"]*")(\))/g, '$1<span class="str">$2</span>$3');
1242		html = html.replace(/(\.predict\()("[^"]*")/g, '$1<span class="api-name">$2</span>');
1243
1244		return html;
1245	}
1246
1247	function highlight_bash(code) {
1248		return escape_html(code);
1249	}
1250
1251	legacy_pre_effect(() => (deep_read_state(code_snippets())), () => {
1252		markdown_code_snippets(
1253			markdown_code_snippets()[dependency().api_name] = {
1254				python: code_snippets().python || "",
1255				javascript: code_snippets().javascript || "",
1256				bash: code_snippets().bash || ""
1257			},
1258			true
1259		);
1260	});
1261
1262	legacy_pre_effect(() => (deep_read_state(code_snippets())), () => {
1263		set(python_html, highlight_python(code_snippets().python || ""));
1264	});
1265
1266	legacy_pre_effect(() => (deep_read_state(code_snippets())), () => {
1267		set(js_html, highlight_javascript(code_snippets().javascript || ""));
1268	});
1269
1270	legacy_pre_effect(() => (deep_read_state(code_snippets())), () => {
1271		set(bash_html, highlight_bash(code_snippets().bash || ""));
1272	});
1273
1274	legacy_pre_effect_reset();
1275
1276	var $$exports = {
1277		get dependency() {
1278			return dependency();
1279		},
1280
1281		set dependency($$value) {
1282			dependency($$value);
1283			flushSync();
1284		},
1285
1286		get current_language() {
1287			return current_language();
1288		},
1289
1290		set current_language($$value) {
1291			current_language($$value);
1292			flushSync();
1293		},
1294
1295		get api_description() {
1296			return api_description();
1297		},
1298
1299		set api_description($$value) {
1300			api_description($$value);
1301			flushSync();
1302		},
1303
1304		get analytics() {
1305			return analytics();
1306		},
1307
1308		set analytics($$value) {
1309			analytics($$value);
1310			flushSync();
1311		},
1312
1313		get markdown_code_snippets() {
1314			return markdown_code_snippets();
1315		},
1316
1317		set markdown_code_snippets($$value) {
1318			markdown_code_snippets($$value);
1319			flushSync();
1320		},
1321
1322		get code_snippets() {
1323			return code_snippets();
1324		},
1325
1326		set code_snippets($$value) {
1327			code_snippets($$value);
1328			flushSync();
1329		},
1330
1331		get last_api_call() {
1332			return last_api_call();
1333		},
1334
1335		set last_api_call($$value) {
1336			last_api_call($$value);
1337			flushSync();
1338		}
1339	};
1340
1341	init();
1342
1343	var div = root$5();
1344	var node = child(div);
1345
1346	EndpointDetail(node, {
1347		get api_name() {
1348			return (
1349				deep_read_state(dependency()),
1350				untrack(() => dependency().api_name)
1351			);
1352		},
1353
1354		get description() {
1355			return api_description();
1356		},
1357
1358		get analytics() {
1359			return analytics();
1360		},
1361
1362		get last_api_call() {
1363			return last_api_call();
1364		},
1365
1366		get dependency_id() {
1367			return (
1368				deep_read_state(dependency()),
1369				untrack(() => dependency().id)
1370			);
1371		}
1372	});
1373
1374	var div_1 = sibling(node, 2);
1375	let classes;
1376	var node_1 = child(div_1);
1377
1378	Block(node_1, {
1379		children: ($$anchor, $$slotProps) => {
1380			var code_1 = root_1$3();
1381			var div_2 = child(code_1);
1382			var node_2 = child(div_2);
1383
1384			{
1385				let $0 = derived_safe_equal(() => (
1386					deep_read_state(code_snippets()),
1387					untrack(() => code_snippets().python || "")
1388				));
1389
1390				CopyButton(node_2, {
1391					get code() {
1392						return get($0);
1393					}
1394				});
1395			}
1396
1397			reset(div_2);
1398
1399			var pre = sibling(div_2, 2);
1400			var node_3 = child(pre);
1401
1402			html(node_3, () => get(python_html));
1403			reset(pre);
1404			reset(code_1);
1405			append($$anchor, code_1);
1406		},
1407		$$slots: { default: true }
1408	});
1409
1410	reset(div_1);
1411
1412	var div_3 = sibling(div_1, 2);
1413	let classes_1;
1414	var node_4 = child(div_3);
1415
1416	Block(node_4, {
1417		children: ($$anchor, $$slotProps) => {
1418			var code_2 = root_2$2();
1419			var div_4 = child(code_2);
1420			var node_5 = child(div_4);
1421
1422			{
1423				let $0 = derived_safe_equal(() => (
1424					deep_read_state(code_snippets()),
1425					untrack(() => code_snippets().javascript || "")
1426				));
1427
1428				CopyButton(node_5, {
1429					get code() {
1430						return get($0);
1431					}
1432				});
1433			}
1434
1435			reset(div_4);
1436
1437			var pre_1 = sibling(div_4, 2);
1438			var node_6 = child(pre_1);
1439
1440			html(node_6, () => get(js_html));
1441			reset(pre_1);
1442			reset(code_2);
1443			append($$anchor, code_2);
1444		},
1445		$$slots: { default: true }
1446	});
1447
1448	reset(div_3);
1449
1450	var div_5 = sibling(div_3, 2);
1451	let classes_2;
1452	var node_7 = child(div_5);
1453
1454	Block(node_7, {
1455		children: ($$anchor, $$slotProps) => {
1456			var code_3 = root_3$5();
1457			var div_6 = child(code_3);
1458			var node_8 = child(div_6);
1459
1460			{
1461				let $0 = derived_safe_equal(() => (
1462					deep_read_state(code_snippets()),
1463					untrack(() => code_snippets().bash || "")
1464				));
1465
1466				CopyButton(node_8, {
1467					get code() {
1468						return get($0);
1469					}
1470				});
1471			}
1472
1473			reset(div_6);
1474
1475			var pre_2 = sibling(div_6, 2);
1476			var node_9 = child(pre_2);
1477
1478			html(node_9, () => get(bash_html));
1479			reset(pre_2);
1480			reset(code_3);
1481			append($$anchor, code_3);
1482		},
1483		$$slots: { default: true }
1484	});
1485
1486	reset(div_5);
1487	reset(div);
1488
1489	template_effect(() => {
1490		classes = set_class(div_1, 1, 'svelte-1v9rhoq', null, classes, { hidden: current_language() !== "python" });
1491		classes_1 = set_class(div_3, 1, 'svelte-1v9rhoq', null, classes_1, { hidden: current_language() !== "javascript" });
1492		classes_2 = set_class(div_5, 1, 'svelte-1v9rhoq', null, classes_2, { hidden: current_language() !== "bash" });
1493	});
1494
1495	append($$anchor, div);
1496
1497	return pop($$exports);
1498}
1499
1500var root_5$2 = from_html(
1501	`
1502client.<span class="highlight"> <span class="api-name svelte-154to14"> </span>
1503)
1504</span>`,
1505	1
1506);
1507
1508var root_3$4 = from_html(`<code class="svelte-154to14"><div class="copy svelte-154to14"><!></div> <div><pre class="svelte-154to14"><span class="highlight">from</span> gradio_client <span class="highlight">import</span> Client, file
1509
1510client = Client(<span class="token string svelte-154to14"> </span><!>)
1511<!></pre></div></code>`);
1512
1513var root_9 = from_html(
1514	`
1515await client.predict(<span class="api-name svelte-154to14"> </span><!>);
1516						`,
1517	1
1518);
1519
1520var root_7$3 = from_html(`<code class="svelte-154to14"><div class="copy svelte-154to14"><!></div> <div><pre class="svelte-154to14">import &lbrace; Client &rbrace; from "@gradio/client";
1521
1522const app = await Client.connect(<span class="token string svelte-154to14"> </span><!>);
1523					<!></pre></div></code>`);
1524
1525var root_13$2 = from_html(`<pre class="svelte-154to14"> </pre> <br/>`, 1);
1526var root_12$2 = from_html(`<code class="svelte-154to14"><div class="copy svelte-154to14"><!></div> <div></div></code>`);
1527var root_1$2 = from_html(`<div class="container svelte-154to14"><!></div>`);
1528
1529function RecordingSnippet($$anchor, $$props) {
1530	push($$props, false);
1531
1532	let dependencies = prop($$props, 'dependencies', 12);
1533	let short_root = prop($$props, 'short_root', 12);
1534	let root = prop($$props, 'root', 12);
1535	let api_prefix = prop($$props, 'api_prefix', 12, "");
1536	let current_language = prop($$props, 'current_language', 12);
1537	let username = prop($$props, 'username', 12);
1538	let python_code = mutable_source();
1539	let python_code_text = mutable_source();
1540	let js_code = mutable_source();
1541	let bash_code = mutable_source();
1542	let api_calls = prop($$props, 'api_calls', 28, () => []);
1543
1544	async function get_info() {
1545		let response = await fetch(root().replace(/\/$/, "") + api_prefix() + "/info/?all_endpoints=true");
1546		let data = await response.json();
1547
1548		return data;
1549	}
1550
1551	let endpoints_info;
1552	let py_zipped = mutable_source([]);
1553	let js_zipped = mutable_source([]);
1554	let bash_zipped = mutable_source([]);
1555
1556	function format_api_call(call, lang) {
1557		const api_name = `/${dependencies()[call.fn_index].api_name}`;
1558
1559		// If an input is undefined (distinct from null) then it corresponds to a State component.
1560		let call_data_excluding_state = call.data.filter((d) => typeof d !== "undefined");
1561
1562		const params = call_data_excluding_state.map((param, index) => {
1563			if (endpoints_info[api_name]) {
1564				const param_info = endpoints_info[api_name].parameters[index];
1565
1566				if (!param_info) {
1567					return undefined;
1568				}
1569
1570				const param_name = param_info.parameter_name;
1571				const python_type = param_info.python_type.type;
1572
1573				if (lang === "py") {
1574					return `  ${param_name}=${represent_value(param, python_type, "py")}`;
1575				} else if (lang === "js") {
1576					return `    ${param_name}: ${represent_value(param, python_type, "js")}`;
1577				} else if (lang === "bash") {
1578					return `    ${represent_value(param, python_type, "bash")}`;
1579				}
1580			}
1581
1582			return `  ${represent_value(param, undefined, lang)}`;
1583		}).filter((d) => typeof d !== "undefined").join(",\n");
1584
1585		if (params) {
1586			if (lang === "py") {
1587				return `${params},\n`;
1588			} else if (lang === "js") {
1589				return `{\n${params},\n}`;
1590			} else if (lang === "bash") {
1591				return `\n${params}\n`;
1592			}
1593		}
1594
1595		if (lang === "py") {
1596			return "";
1597		}
1598
1599		return "\n";
1600	}
1601
1602	onMount(async () => {
1603		const data = await get_info();
1604
1605		endpoints_info = data["named_endpoints"];
1606
1607		let py_api_calls = api_calls().map((call) => format_api_call(call, "py"));
1608		let js_api_calls = api_calls().map((call) => format_api_call(call, "js"));
1609		let bash_api_calls = api_calls().map((call) => format_api_call(call, "bash"));
1610		let api_names = api_calls().map((call) => dependencies()[call.fn_index].api_name || "");
1611
1612		set(py_zipped, py_api_calls.map((call, index) => ({ call, api_name: api_names[index] })));
1613		set(js_zipped, js_api_calls.map((call, index) => ({ call, api_name: api_names[index] })));
1614		set(bash_zipped, bash_api_calls.map((call, index) => ({ call, api_name: api_names[index] })));
1615		await tick();
1616		set(python_code_text, get(python_code).innerText);
1617	});
1618
1619	var $$exports = {
1620		get dependencies() {
1621			return dependencies();
1622		},
1623
1624		set dependencies($$value) {
1625			dependencies($$value);
1626			flushSync();
1627		},
1628
1629		get short_root() {
1630			return short_root();
1631		},
1632
1633		set short_root($$value) {
1634			short_root($$value);
1635			flushSync();
1636		},
1637
1638		get root() {
1639			return root();
1640		},
1641
1642		set root($$value) {
1643			root($$value);
1644			flushSync();
1645		},
1646
1647		get api_prefix() {
1648			return api_prefix();
1649		},
1650
1651		set api_prefix($$value) {
1652			api_prefix($$value);
1653			flushSync();
1654		},
1655
1656		get current_language() {
1657			return current_language();
1658		},
1659
1660		set current_language($$value) {
1661			current_language($$value);
1662			flushSync();
1663		},
1664
1665		get username() {
1666			return username();
1667		},
1668
1669		set username($$value) {
1670			username($$value);
1671			flushSync();
1672		},
1673
1674		get api_calls() {
1675			return api_calls();
1676		},
1677
1678		set api_calls($$value) {
1679			api_calls($$value);
1680			flushSync();
1681		}
1682	};
1683
1684	init();
1685
1686	var div = root_1$2();
1687	var node = child(div);
1688
1689	Block(node, {
1690		border_mode: "focus",
1691		children: ($$anchor, $$slotProps) => {
1692			var fragment = comment();
1693			var node_1 = first_child(fragment);
1694
1695			{
1696				var consequent_1 = ($$anchor) => {
1697					var code = root_3$4();
1698					var div_1 = child(code);
1699					var node_2 = child(div_1);
1700
1701					CopyButton(node_2, {
1702						get code() {
1703							return get(python_code_text);
1704						}
1705					});
1706
1707					reset(div_1);
1708
1709					var div_2 = sibling(div_1, 2);
1710					var pre = child(div_2);
1711					var span = sibling(child(pre), 4);
1712					var text$1 = child(span);
1713
1714					reset(span);
1715
1716					var node_3 = sibling(span);
1717
1718					{
1719						var consequent = ($$anchor) => {
1720							var text_1 = text();
1721
1722							template_effect(() => set_text(text_1, `, auth=("${username() ?? ''}", **password**)`));
1723							append($$anchor, text_1);
1724						};
1725
1726						if_block(node_3, ($$render) => {
1727							if (username() !== null) $$render(consequent);
1728						});
1729					}
1730
1731					var node_4 = sibling(node_3, 2);
1732
1733					each(node_4, 1, () => get(py_zipped), index, ($$anchor, $$item) => {
1734						let call = () => get($$item).call;
1735						let api_name = () => get($$item).api_name;
1736
1737						next();
1738
1739						var fragment_2 = root_5$2();
1740						var span_1 = sibling(first_child(fragment_2));
1741						var text_2 = child(span_1);
1742						var span_2 = sibling(text_2);
1743						var text_3 = child(span_2);
1744
1745						reset(span_2);
1746						next();
1747						reset(span_1);
1748
1749						template_effect(() => {
1750							set_text(text_2, `predict(
1751${call() ?? ''}  api_name=`);
1752
1753							set_text(text_3, `"/${api_name() ?? ''}"`);
1754						});
1755
1756						append($$anchor, fragment_2);
1757					});
1758
1759					reset(pre);
1760					reset(div_2);
1761					bind_this(div_2, ($$value) => set(python_code, $$value), () => get(python_code));
1762					reset(code);
1763					template_effect(() => set_text(text$1, `"${short_root() ?? ''}"`));
1764					append($$anchor, code);
1765				};
1766
1767				var alternate_1 = ($$anchor) => {
1768					var fragment_3 = comment();
1769					var node_5 = first_child(fragment_3);
1770
1771					{
1772						var consequent_4 = ($$anchor) => {
1773							var code_1 = root_7$3();
1774							var div_3 = child(code_1);
1775							var node_6 = child(div_3);
1776
1777							{
1778								let $0 = derived_safe_equal(() => (get(js_code), untrack(() => get(js_code)?.innerText)));
1779
1780								CopyButton(node_6, {
1781									get code() {
1782										return get($0);
1783									}
1784								});
1785							}
1786
1787							reset(div_3);
1788
1789							var div_4 = sibling(div_3, 2);
1790							var pre_1 = child(div_4);
1791							var span_3 = sibling(child(pre_1));
1792							var text_4 = child(span_3);
1793
1794							reset(span_3);
1795
1796							var node_7 = sibling(span_3);
1797
1798							{
1799								var consequent_2 = ($$anchor) => {
1800									var text_5 = text();
1801
1802									template_effect(() => set_text(text_5, `, {auth: ["${username() ?? ''}", **password**]}`));
1803									append($$anchor, text_5);
1804								};
1805
1806								if_block(node_7, ($$render) => {
1807									if (username() !== null) $$render(consequent_2);
1808								});
1809							}
1810
1811							var node_8 = sibling(node_7, 2);
1812
1813							each(node_8, 1, () => get(js_zipped), index, ($$anchor, $$item) => {
1814								let call = () => get($$item).call;
1815								let api_name = () => get($$item).api_name;
1816
1817								next();
1818
1819								var fragment_5 = root_9();
1820								var span_4 = sibling(first_child(fragment_5));
1821								var text_6 = child(span_4);
1822
1823								reset(span_4);
1824
1825								var node_9 = sibling(span_4);
1826
1827								{
1828									var consequent_3 = ($$anchor) => {
1829										var text_7 = text();
1830
1831										template_effect(() => set_text(text_7, `, ${call() ?? ''}`));
1832										append($$anchor, text_7);
1833									};
1834
1835									if_block(node_9, ($$render) => {
1836										if (call()) $$render(consequent_3);
1837									});
1838								}
1839
1840								next();
1841
1842								template_effect(() => set_text(text_6, `
1843  "/${api_name() ?? ''}"`));
1844
1845								append($$anchor, fragment_5);
1846							});
1847
1848							reset(pre_1);
1849							reset(div_4);
1850							bind_this(div_4, ($$value) => set(js_code, $$value), () => get(js_code));
1851							reset(code_1);
1852							template_effect(() => set_text(text_4, `"${short_root() ?? ''}"`));
1853							append($$anchor, code_1);
1854						};
1855
1856						var alternate = ($$anchor) => {
1857							var fragment_7 = comment();
1858							var node_10 = first_child(fragment_7);
1859
1860							{
1861								var consequent_5 = ($$anchor) => {
1862									var code_2 = root_12$2();
1863									var div_5 = child(code_2);
1864									var node_11 = child(div_5);
1865
1866									{
1867										let $0 = derived_safe_equal(() => (
1868											get(bash_code),
1869											untrack(() => get(bash_code)?.innerText)
1870										));
1871
1872										CopyButton(node_11, {
1873											get code() {
1874												return get($0);
1875											}
1876										});
1877									}
1878
1879									reset(div_5);
1880
1881									var div_6 = sibling(div_5, 2);
1882
1883									each(div_6, 5, () => get(bash_zipped), index, ($$anchor, $$item) => {
1884										let call = () => get($$item).call;
1885										let api_name = () => get($$item).api_name;
1886										var fragment_8 = root_13$2();
1887										var pre_2 = first_child(fragment_8);
1888										var text_8 = child(pre_2);
1889
1890										reset(pre_2);
1891										next(2);
1892
1893										template_effect(() => set_text(text_8, `curl -X POST ${short_root() ?? ''}call/${api_name() ?? ''} -s -H "Content-Type: application/json" -d '{ 
1894	"data": [${call() ?? ''}]}' \\
1895  | awk -F'"' '{ print $4}' \\
1896  | read EVENT_ID; curl -N ${short_root() ?? ''}call/${api_name() ?? ''}/$EVENT_ID`));
1897
1898										append($$anchor, fragment_8);
1899									});
1900
1901									reset(div_6);
1902									bind_this(div_6, ($$value) => set(bash_code, $$value), () => get(bash_code));
1903									reset(code_2);
1904									append($$anchor, code_2);
1905								};
1906
1907								if_block(
1908									node_10,
1909									($$render) => {
1910										if (current_language() === "bash") $$render(consequent_5);
1911									},
1912									true
1913								);
1914							}
1915
1916							append($$anchor, fragment_7);
1917						};
1918
1919						if_block(
1920							node_5,
1921							($$render) => {
1922								if (current_language() === "javascript") $$render(consequent_4); else $$render(alternate, false);
1923							},
1924							true
1925						);
1926					}
1927
1928					append($$anchor, fragment_3);
1929				};
1930
1931				if_block(node_1, ($$render) => {
1932					if (current_language() === "python") $$render(consequent_1); else $$render(alternate_1, false);
1933				});
1934			}
1935
1936			append($$anchor, fragment);
1937		},
1938		$$slots: { default: true }
1939	});
1940
1941	reset(div);
1942	append($$anchor, div);
1943
1944	return pop($$exports);
1945}
1946
1947const python = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20focusable='false'%20role='img'%20width='1em'%20height='1em'%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%2032%2032'%20%3e%3cpath%20d='M15.84.5a16.4,16.4,0,0,0-3.57.32C9.1,1.39,8.53,2.53,8.53,4.64V7.48H16v1H5.77a4.73,4.73,0,0,0-4.7,3.74,14.82,14.82,0,0,0,0,7.54c.57,2.28,1.86,3.82,4,3.82h2.6V20.14a4.73,4.73,0,0,1,4.63-4.63h7.38a3.72,3.72,0,0,0,3.73-3.73V4.64A4.16,4.16,0,0,0,19.65.82,20.49,20.49,0,0,0,15.84.5ZM11.78,2.77a1.39,1.39,0,0,1,1.38,1.46,1.37,1.37,0,0,1-1.38,1.38A1.42,1.42,0,0,1,10.4,4.23,1.44,1.44,0,0,1,11.78,2.77Z'%20fill='%235a9fd4'%20%3e%3c/path%3e%3cpath%20d='M16.16,31.5a16.4,16.4,0,0,0,3.57-.32c3.17-.57,3.74-1.71,3.74-3.82V24.52H16v-1H26.23a4.73,4.73,0,0,0,4.7-3.74,14.82,14.82,0,0,0,0-7.54c-.57-2.28-1.86-3.82-4-3.82h-2.6v3.41a4.73,4.73,0,0,1-4.63,4.63H12.35a3.72,3.72,0,0,0-3.73,3.73v7.14a4.16,4.16,0,0,0,3.73,3.82A20.49,20.49,0,0,0,16.16,31.5Zm4.06-2.27a1.39,1.39,0,0,1-1.38-1.46,1.37,1.37,0,0,1,1.38-1.38,1.42,1.42,0,0,1,1.38,1.38A1.44,1.44,0,0,1,20.22,29.23Z'%20fill='%23ffd43b'%20%3e%3c/path%3e%3c/svg%3e";
1948
1949const javascript = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20focusable='false'%20role='img'%20width='1em'%20height='1em'%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%2032%2032'%20%3e%3crect%20width='32'%20height='32'%20fill='%23f7df1e'%3e%3c/rect%3e%3cpath%20d='M21.5,25a3.27,3.27,0,0,0,3,1.83c1.25,0,2-.63,2-1.49,0-1-.81-1.39-2.19-2L23.56,23C21.39,22.1,20,20.94,20,18.49c0-2.25,1.72-4,4.41-4a4.44,4.44,0,0,1,4.27,2.41l-2.34,1.5a2,2,0,0,0-1.93-1.29,1.31,1.31,0,0,0-1.44,1.29c0,.9.56,1.27,1.85,1.83l.75.32c2.55,1.1,4,2.21,4,4.72,0,2.71-2.12,4.19-5,4.19a5.78,5.78,0,0,1-5.48-3.07Zm-10.63.26c.48.84.91,1.55,1.94,1.55s1.61-.39,1.61-1.89V14.69h3V25c0,3.11-1.83,4.53-4.49,4.53a4.66,4.66,0,0,1-4.51-2.75Z'%20%3e%3c/path%3e%3c/svg%3e";
1950
1951const bash = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20version='1.1'%20id='Layer_1'%20x='0px'%20y='0px'%20viewBox='0%200%20150%20150'%20style='enable-background:new%200%200%20150%20150;%20background-color:%20%2372a824;'%20xml:space='preserve'%3e%3cscript%20xmlns=''/%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23FFFFFF;}%20%3c/style%3e%3cg%3e%3cpath%20class='st0'%20d='M118.9,40.3L81.7,18.2c-2.2-1.3-4.7-2-7.2-2s-5,0.7-7.2,2L30.1,40.3c-4.4,2.6-7.2,7.5-7.2,12.8v44.2%20c0,5.3,2.7,10.1,7.2,12.8l37.2,22.1c2.2,1.3,4.7,2,7.2,2c2.5,0,5-0.7,7.2-2l37.2-22.1c4.4-2.6,7.2-7.5,7.2-12.8V53%20C126.1,47.8,123.4,42.9,118.9,40.3z%20M90.1,109.3l0.1,3.2c0,0.4-0.2,0.8-0.5,1l-1.9,1.1c-0.3,0.2-0.5,0-0.6-0.4l0-3.1%20c-1.
19516,0.7-3.2,0.8-4.3,0.4c-0.2-0.1-0.3-0.4-0.2-0.7l0.7-2.9c0.1-0.2,0.2-0.5,0.3-0.6c0.1-0.1,0.1-0.1,0.2-0.1%20c0.1-0.1,0.2-0.1,0.3,0c1.1,0.4,2.6,0.2,3.9-0.5c1.8-0.9,2.9-2.7,2.9-4.5c0-1.6-0.9-2.3-3-2.3c-2.7,0-5.2-0.5-5.3-4.5%20c0-3.3,1.7-6.7,4.4-8.8l0-3.2c0-0.4,0.2-0.8,0.5-1l1.8-1.2c0.3-0.2,0.5,0,0.6,0.4l0,3.2c1.3-0.5,2.5-0.7,3.6-0.4%20c0.2,0.1,0.3,0.4,0.2,0.7l-0.7,2.8c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.2,0.1-0.3,0%20c-0.5-0.1-1.6-0.4-3.4,0.6c-1.9,1-2.6,2.6-2.5,3.8c0,1.5,0.8,1.9,3.3,1.9c3.4,0.1,4.9,1.6,5,5C94.7,103.4,92.9,107,90.1,109.3z%20M109.6,103.9c0,0.3,0,0.6-0.3,0.7l-9.4,5.7c-0.2,0.1-0.4,0-0.4-0.3v-2.4c0-0.3,0.2-0.5,0.4-0.6l9.3-5.5c0.2-0.1,0.4,0,0.4,0.3%20V103.9z%20M116.1,49.6L80.9,71.3c-4.4,2.6-7.6,5.4-7.6,10.7v43.4c0,3.2,1.3,5.2,3.2,5.8c-0.6,0.1-1.3,0.2-2,0.2%20c-2.1,0-4.1-0.6-5.9-1.6l-37.2-22.1c-3.6-2.2-5.9-6.2-5.9-10.5V53c0-4.3,2.3-8.4,5.9-10.5l37.2-22.1c1.8-1.1,3.8-1.6,5.9-1.6%20s4.1,0.6,5.9,1.6l37.2,22.1c3.1,1.8,5.1,5,5.7,8.5C122.1,48.4,119.3,47.7,116.1,49.6z'/%3e%3c/g%3e%3c/svg%3e";
1952
1953var root_4$3 = from_html(`<span class="code svelte-17pn6bc"></span>`);
1954var root_3$3 = from_html(`<hr class="hr svelte-17pn6bc"/> <div style="margin:10px;"><p><!> <span class="code highlight svelte-17pn6bc"><!></span></p> <p class="desc svelte-17pn6bc"> </p></div>`, 1);
1955var root_7$2 = from_html(`<div class="load-wrap"><!></div>`);
1956var root$4 = from_html(`<h4 class="svelte-17pn6bc"><div class="toggle-icon svelte-17pn6bc"><div class="toggle-dot toggle-right svelte-17pn6bc"></div></div> Returns <!></h4> <div></div> <!>`, 1);
1957
1958function ResponseSnippet($$anchor, $$props) {
1959	push($$props, false);
1960
1961	let is_running = prop($$props, 'is_running', 12);
1962	let endpoint_returns = prop($$props, 'endpoint_returns', 12);
1963	let js_returns = prop($$props, 'js_returns', 12);
1964	let current_language = prop($$props, 'current_language', 12);
1965
1966	var $$exports = {
1967		get is_running() {
1968			return is_running();
1969		},
1970
1971		set is_running($$value) {
1972			is_running($$value);
1973			flushSync();
1974		},
1975
1976		get endpoint_returns() {
1977			return endpoint_returns();
1978		},
1979
1980		set endpoint_returns($$value) {
1981			endpoint_returns($$value);
1982			flushSync();
1983		},
1984
1985		get js_returns() {
1986			return js_returns();
1987		},
1988
1989		set js_returns($$value) {
1990			js_returns($$value);
1991			flushSync();
1992		},
1993
1994		get current_language() {
1995			return current_language();
1996		},
1997
1998		set current_language($$value) {
1999			current_language($$value);
2000			flushSync();
2001		}
2002	};
2003
2004	init();
2005
2006	var fragment = root$4();
2007	var h4 = first_child(fragment);
2008	var node = sibling(child(h4), 2);
2009
2010	{
2011		var consequent = ($$anchor) => {
2012			var text$1 = text();
2013
2014			template_effect(() => set_text(text$1, `${current_language() == "python" ? "tuple" : "list"} of ${(
2015				deep_read_state(endpoint_returns()),
2016				untrack(() => endpoint_returns().length)
2017			) ?? ''}
2018		elements`));
2019
2020			append($$anchor, text$1);
2021		};
2022
2023		var alternate = ($$anchor) => {
2024			var text_1 = text('1 element');
2025
2026			append($$anchor, text_1);
2027		};
2028
2029		if_block(node, ($$render) => {
2030			if ((
2031				deep_read_state(endpoint_returns()),
2032				untrack(() => endpoint_returns().length > 1)
2033			)) $$render(consequent); else $$render(alternate, false);
2034		});
2035	}
2036
2037	reset(h4);
2038
2039	var div = sibling(h4, 2);
2040	let classes;
2041
2042	each(div, 5, endpoint_returns, index, ($$anchor, $$item, i) => {
2043		let label = () => get($$item).label;
2044		let python_type = () => get($$item).python_type;
2045		let component = () => get($$item).component;
2046		var fragment_2 = root_3$3();
2047		var div_1 = sibling(first_child(fragment_2), 2);
2048		var p = child(div_1);
2049		var node_1 = child(p);
2050
2051		{
2052			var consequent_1 = ($$anchor) => {
2053				var span = root_4$3();
2054
2055				span.textContent = `[${i}]`;
2056				append($$anchor, span);
2057			};
2058
2059			if_block(node_1, ($$render) => {
2060				if ((
2061					deep_read_state(endpoint_returns()),
2062					untrack(() => endpoint_returns().length > 1)
2063				)) $$render(consequent_1);
2064			});
2065		}
2066
2067		var span_1 = sibling(node_1, 2);
2068		var node_2 = child(span_1);
2069
2070		{
2071			var consequent_2 = ($$anchor) => {
2072				var text_2 = text();
2073
2074				template_effect(() => set_text(text_2, (python_type(), untrack(() => python_type().type))));
2075				append($$anchor, text_2);
2076			};
2077
2078			var alternate_1 = ($$anchor) => {
2079				var text_3 = text();
2080
2081				template_effect(() => set_text(text_3, (
2082					deep_read_state(js_returns()),
2083					untrack(() => js_returns()[i].type)
2084				)));
2085
2086				append($$anchor, text_3);
2087			};
2088
2089			if_block(node_2, ($$render) => {
2090				if (current_language() === "python") $$render(consequent_2); else $$render(alternate_1, false);
2091			});
2092		}
2093
2094		reset(span_1);
2095		reset(p);
2096
2097		var p_1 = sibling(p, 2);
2098		var text_4 = child(p_1);
2099
2100		reset(p_1);
2101		reset(div_1);
2102
2103		template_effect(() => set_text(text_4, `The output value that appears in the "${label() ?? ''}" ${component() ?? ''}
2104				component.`));
2105
2106		append($$anchor, fragment_2);
2107	});
2108
2109	reset(div);
2110
2111	var node_3 = sibling(div, 2);
2112
2113	{
2114		var consequent_3 = ($$anchor) => {
2115			var div_2 = root_7$2();
2116			var node_4 = child(div_2);
2117
2118			Loader(node_4, { margin: false });
2119			reset(div_2);
2120			append($$anchor, div_2);
2121		};
2122
2123		if_block(node_3, ($$render) => {
2124			if (is_running()) $$render(consequent_3);
2125		});
2126	}
2127
2128	template_effect(() => classes = set_class(div, 1, '', null, classes, { hide: is_running() }));
2129	append($$anchor, fragment);
2130
2131	return pop($$exports);
2132}
2133
2134const skill = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjE0IDIyIDEyMiAxMDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyI+CjxyZWN0IHg9IjIyIiB5PSIyOCIgd2lkdGg9IjEwNiIgaGVpZ2h0PSI5NCIgcng9IjgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzM3NDE1MSIgc3Ryb2tlLXdpZHRoPSI2Ii8+CjxyZWN0IHg9IjIyIiB5PSIyOCIgd2lkdGg9IjEwNiIgaGVpZ2h0PSIyMCIgcng9IjgiIGZpbGw9IiMzNzQxNTEiIGZpbGwtb3BhY2l0eT0iMC4wOCIvPgo8Y2lyY2xlIGN4PSIzOCIgY3k9IjM4IiByPSI0IiBmaWxsPSIjZmY1ZjU3Ii8+CjxjaXJjbGUgY3g9IjUyIiBjeT0iMzgiIHI9IjQiIGZpbGw9IiNmZWJjMmUiLz4KPGNpcmNsZSBjeD0iNjYiIGN5PSIzOCIgcj0iNCIgZmlsbD0iIzI4Yzg0MCIvPgo8dGV4dCB4PSIzOCIgeT0iNzYiIGZpbGw9IiMzNzQxNTEiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMjIiIGZvbnQtd2VpZ2h0PSJib2xkIj4mZ3Q7XzwvdGV4dD4KPHJlY3QgeD0iMzgiIHk9Ijg4IiB3aWR0aD0iNTAiIGhlaWdodD0iNCIgcng9IjIiIGZpbGw9IiMzNzQxNTEiIGZpbGwtb3BhY2l0eT0iMC4zNSIvPgo8cmVjdCB4PSIzOCIgeT0iMTAwIiB3aWR0aD0iMzUiIGhlaWdodD0iNCIgcng9IjIiIGZpbGw9IiMzNzQxNTEiIGZpbGwtb3BhY2l0eT0iMC4yIi8+Cjwvc3ZnPgo=";
2135
2136var root_1$1 = from_html(`<code class="svelte-1cyp2hi"><div class="copy svelte-1cyp2hi"><!></div> <div><pre class="svelte-1cyp2hi"> </pre></div></code>`);
2137var root_2$1 = from_html(`<code class="svelte-1cyp2hi"><div class="copy svelte-1cyp2hi"><!></div> <div><pre class="svelte-1cyp2hi"> </pre></div></code>`);
2138var root_3$2 = from_html(`<code class="svelte-1cyp2hi"><div class="copy svelte-1cyp2hi"><!></div> <div><pre class="svelte-1cyp2hi"> </pre></div></code>`);
2139
2140var root$3 = from_html(`<div class="skill-content svelte-1cyp2hi"><p class="padded svelte-1cyp2hi">1. Make sure you are using the latest version of Gradio:</p> <!> <p class="padded svelte-1cyp2hi">
21402. Install the usage of this Space as a Skill for your coding agent by
2141		running this in your terminal:</p> <!> <p class="hint svelte-1cyp2hi">Instead of <span class="inline-code svelte-1cyp2hi">--claude</span>, you can use <span class="inline-code svelte-1cyp2hi">--cursor</span>, <span class="inline-code svelte-1cyp2hi">--codex</span>, or <span class="inline-code svelte-1cyp2hi">--opencode</span>. Combine flags to install for
2142		multiple agents. Use <span class="inline-code svelte-1cyp2hi">--global</span> to install user-level
2143		instead of per-project.</p> <p class="padded svelte-1cyp2hi">3. This will add a skill to your coding agent that describes how to use this
2144		Space via Python, JavaScript, and cURL API. The skill will look like this:</p> <!></div>`);
2145
2146function SkillSnippet($$anchor, $$props) {
2147	push($$props, false);
2148
2149	const effective_space_id = mutable_source();
2150	const skill_id = mutable_source();
2151	const install_gradio = mutable_source();
2152	const install_cmd_claude = mutable_source();
2153	const install_cmd_cursor = mutable_source();
2154	const install_cmd_codex = mutable_source();
2155	const skill_preview = mutable_source();
2156	let space_id = prop($$props, 'space_id', 12);
2157
2158	legacy_pre_effect(() => (deep_read_state(space_id())), () => {
2159		set(effective_space_id, space_id() || "");
2160	});
2161
2162	legacy_pre_effect(() => (get(effective_space_id)), () => {
2163		set(skill_id, get(effective_space_id).replace("/", "-"));
2164	});
2165
2166	legacy_pre_effect(() => {}, () => {
2167		set(install_gradio, "pip install --upgrade gradio");
2168	});
2169
2170	legacy_pre_effect(() => (get(effective_space_id)), () => {
2171		set(install_cmd_claude, `gradio skills add ${get(effective_space_id)} --claude`);
2172	});
2173
2174	legacy_pre_effect(() => (get(effective_space_id)), () => {
2175		set(install_cmd_cursor, `gradio skills add ${get(effective_space_id)} --cursor`);
2176	});
2177
2178	legacy_pre_effect(() => (get(effective_space_id)), () => {
2179		set(install_cmd_codex, `gradio skills add ${get(effective_space_id)} --codex`);
2180	});
2181
2182	legacy_pre_effect(() => (get(skill_id), get(effective_space_id)), () => {
2183		set(skill_preview, `---
2184name: ${get(skill_id)}
2185description: Use the ${get(effective_space_id)} Gradio Space via API. Provides Python, JavaScript, and cURL usage examples.
2186---
2187
2188# ${get(effective_space_id)}
2189
2190This skill describes how to use the ${get(effective_space_id)} Gradio Space programmatically.
2191
2192## API Endpoints
2193...`);
2194	});
2195
2196	legacy_pre_effect_reset();
2197
2198	var $$exports = {
2199		get space_id() {
2200			return space_id();
2201		},
2202
2203		set space_id($$value) {
2204			space_id($$value);
2205			flushSync();
2206		}
2207	};
2208
2209	var div = root$3();
2210	var node = sibling(child(div), 2);
2211
2212	Block(node, {
2213		children: ($$anchor, $$slotProps) => {
2214			var code = root_1$1();
2215			var div_1 = child(code);
2216			var node_1 = child(div_1);
2217
2218			CopyButton(node_1, {
2219				get code() {
2220					return get(install_gradio);
2221				}
2222			});
2223
2224			reset(div_1);
2225
2226			var div_2 = sibling(div_1, 2);
2227			var pre = child(div_2);
2228			var text = child(pre);
2229
2230			reset(pre);
2231			reset(div_2);
2232			reset(code);
2233			template_effect(() => set_text(text, `$ ${get(install_gradio) ?? ''}`));
2234			append($$anchor, code);
2235		},
2236		$$slots: { default: true }
2237	});
2238
2239	var node_2 = sibling(node, 4);
2240
2241	Block(node_2, {
2242		children: ($$anchor, $$slotProps) => {
2243			var code_1 = root_2$1();
2244			var div_3 = child(code_1);
2245			var node_3 = child(div_3);
2246
2247			CopyButton(node_3, {
2248				get code() {
2249					return get(install_cmd_claude);
2250				}
2251			});
2252
2253			reset(div_3);
2254
2255			var div_4 = sibling(div_3, 2);
2256			var pre_1 = child(div_4);
2257			var text_1 = child(pre_1);
2258
2259			reset(pre_1);
2260			reset(div_4);
2261			reset(code_1);
2262			template_effect(() => set_text(text_1, `$ ${get(install_cmd_claude) ?? ''}`));
2263			append($$anchor, code_1);
2264		},
2265		$$slots: { default: true }
2266	});
2267
2268	var node_4 = sibling(node_2, 6);
2269
2270	Block(node_4, {
2271		children: ($$anchor, $$slotProps) => {
2272			var code_2 = root_3$2();
2273			var div_5 = child(code_2);
2274			var node_5 = child(div_5);
2275
2276			CopyButton(node_5, {
2277				get code() {
2278					return get(skill_preview);
2279				}
2280			});
2281
2282			reset(div_5);
2283
2284			var div_6 = sibling(div_5, 2);
2285			var pre_2 = child(div_6);
2286			var text_2 = child(pre_2, true);
2287
2288			reset(pre_2);
2289			reset(div_6);
2290			reset(code_2);
2291			template_effect(() => set_text(text_2, get(skill_preview)));
2292			append($$anchor, code_2);
2293		},
2294		$$slots: { default: true }
2295	});
2296
2297	reset(div);
2298	append($$anchor, div);
2299
2300	return pop($$exports);
2301}
2302
2303const mcp = ""+new URL('mcp-DNm9doVd.svg', import.meta.url).href+"";
2304
2305var root_3$1 = from_html(`<button type="button"> </button>`);
2306
2307var root_5$1 = from_html(`<div class="mcp-url svelte-1uo4thf"><label for="mcp-server-url" class="svelte-1uo4thf"><span class="status-indicator active svelte-1uo4thf">●</span>MCP Server URL
2308					(Streamable HTTP)</label> <div class="textbox svelte-1uo4thf"><input id="mcp-server-url" type="text" readonly="" class="svelte-1uo4thf"/> <!></div></div>`);
2309
2310var root_4$2 = from_html(`<!> <p class="svelte-1uo4thf">&nbsp;</p>`, 1);
2311var root_6$1 = from_html(`<div class="tool-selection-controls svelte-1uo4thf"><button class="select-all-btn svelte-1uo4thf">Select All</button> <button class="select-none-btn svelte-1uo4thf">Select None</button></div>`);
2312var root_8$1 = from_html(`<input type="checkbox" class="tool-checkbox svelte-1uo4thf"/>`);
2313var root_10 = from_html(`<div class="tool-analytics-wrapper svelte-1uo4thf" style="margin-left: 1em;"><span class="tool-analytics svelte-1uo4thf" style="color: var(--body-text-color-subdued);"> </span></div>`);
2314var root_13$1 = from_html(`<div class="parameter svelte-1uo4thf"><code class="svelte-1uo4thf"> </code> <span class="parameter-type svelte-1uo4thf"> </span> <p class="parameter-description svelte-1uo4thf"> </p></div>`);
2315var root_12$1 = from_html(`<div class="tool-parameters svelte-1uo4thf"></div>`);
2316var root_14$1 = from_html(`<p class="svelte-1uo4thf">Takes no input parameters</p>`);
2317var root_11$1 = from_html(`<div class="tool-content svelte-1uo4thf"><!></div>`);
2318var root_7$1 = from_html(`<div class="tool-item svelte-1uo4thf"><div class="tool-header-wrapper svelte-1uo4thf"><!> <button class="tool-header svelte-1uo4thf"><span style="display: inline-block" class="svelte-1uo4thf"><span style="display: inline-block; padding-right: 6px; vertical-align: sub" class="svelte-1uo4thf"><!></span> <span class="tool-name svelte-1uo4thf"> </span> &nbsp; <span class="tool-description svelte-1uo4thf"> </span> <!></span> <span class="tool-arrow svelte-1uo4thf"> </span></button></div> <!></div>`);
2319var root_15 = from_html(`<code class="svelte-1uo4thf"><div class="copy svelte-1uo4thf"><!></div> <div class="svelte-1uo4thf"><pre class="svelte-1uo4thf"> </pre></div></code>`);
2320var root_16 = from_html(`<code class="svelte-1uo4thf"><div class="copy svelte-1uo4thf"><!></div> <div class="svelte-1uo4thf"><pre class="svelte-1uo4thf"> </pre></div></code>`);
2321
2322var root_17$1 = from_html(`<div class="file-upload-section svelte-1uo4thf"><label class="checkbox-label svelte-1uo4thf"><input type="checkbox" class="checkbox svelte-1uo4thf"/> Include Gradio file upload tool</label> <p class="file-upload-explanation svelte-1uo4thf">The <code class="svelte-1uo4thf">upload_files_to_gradio</code> tool uploads files from your
2323				local <code class="svelte-1uo4thf">UPLOAD_DIRECTORY</code> (or any of its subdirectories) to
2324				the Gradio app. This is needed because MCP servers require files to be
2325				provided as URLs. You can omit this tool if you prefer to upload files
2326				manually. This tool requires <a href="https://docs.astral.sh/uv/getting-started/installation/" target="_blank" class="svelte-1uo4thf">uv</a> to be installed.</p></div>`);
2327
2328var root_2 = from_html(
2329	`<div class="transport-selection svelte-1uo4thf"><div class="snippets svelte-1uo4thf"><span class="transport-label svelte-1uo4thf">Transport:</span> <!></div></div> <!> <div class="tool-selection svelte-1uo4thf"><strong class="svelte-1uo4thf"> <span style="display: inline-block; vertical-align: sub;" class="svelte-1uo4thf"><!></span>), Resources (<span style="display: inline-block; vertical-align: sub;" class="svelte-1uo4thf"><!></span>), and Prompts (<span style="display: inline-block; vertical-align: sub;" class="svelte-1uo4thf"><!></span>)</strong> <!></div> <div class="mcp-tools svelte-1uo4thf"></div> <p class="svelte-1uo4thf">&nbsp;</p> <div><strong class="svelte-1uo4thf">Streamable HTTP Transport</strong>: To add this MCP to clients that
2330		support Streamable HTTP, simply add the following configuration to your MCP
2331		config. <p class="svelte-1uo4thf">&nbsp;</p> <!></div> <div><strong class="svelte-1uo4thf">STDIO Transport</strong>: For clients that only support stdio (e.g.
2332		Claude Desktop), first <a href="https://nodejs.org/en/download/" target="_blank" class="svelte-1uo4thf">install Node.js</a>. Then, you can use the following command: <p class="svelte-1uo4thf">&nbsp;</p> <!></div> <!> <p class="svelte-1uo4thf">&nbsp;</p> <p class="svelte-1uo4thf"><a target="_blank" class="svelte-1uo4thf">Read more about MCP in the Gradio docs</a></p>`,
2333	1
2334);
2335
2336var root_18 = from_html(
2337	`This Gradio app can also serve as an MCP server, with an MCP tool
2338	corresponding to each API endpoint. To enable this, launch this Gradio app
2339	with <code class="svelte-1uo4thf">.launch(mcp_server=True)</code> or set the <code class="svelte-1uo4thf">GRADIO_MCP_SERVER</code> env variable to <code class="svelte-1uo4thf">"True"</code>.`,
2340	1
2341);
2342
2343function MCPSnippet($$anchor, $$props) {
2344	push($$props, false);
2345
2346	const display_url = mutable_source();
2347	const mcp_json_streamable_http = mutable_source();
2348	const mcp_json_stdio_updated = mutable_source();
2349	let mcp_server_active = prop($$props, 'mcp_server_active', 12);
2350	let mcp_server_url_streamable = prop($$props, 'mcp_server_url_streamable', 12);
2351	let root = prop($$props, 'root', 12);
2352	let tools = prop($$props, 'tools', 12);
2353	let all_tools = prop($$props, 'all_tools', 28, () => []);
2354	let selected_tools = prop($$props, 'selected_tools', 28, () => new Set());
2355	let mcp_json_stdio = prop($$props, 'mcp_json_stdio', 12);
2356	let file_data_present = prop($$props, 'file_data_present', 12);
2357	let mcp_docs = prop($$props, 'mcp_docs', 12);
2358	let analytics = prop($$props, 'analytics', 12);
2359	let config_snippets = prop($$props, 'config_snippets', 12);
2360	let current_transport = mutable_source("streamable_http");
2361	let include_file_upload = mutable_source(true);
2362	const transports = [["streamable_http", "Streamable HTTP"], ["stdio", "STDIO"]];
2363	const tool_type_icons = { tool: Tool, resource: Resource, prompt: Prompt };
2364
2365	// Helper function to add/remove file upload tool from config
2366	function update_config_with_file_upload(base_config, include_upload) {
2367		if (!base_config) return null;
2368
2369		const config = JSON.parse(JSON.stringify(base_config));
2370
2371		if (include_upload && file_data_present()) {
2372			const upload_file_mcp_server = {
2373				command: "uvx",
2374				args: [
2375					"--from",
2376					"gradio[mcp]",
2377					"gradio",
2378					"upload-mcp",
2379					root(),
2380					"<UPLOAD_DIRECTORY>"
2381				]
2382			};
2383
2384			config.mcpServers.upload_files_to_gradio = upload_file_mcp_server;
2385		} else {
2386			delete config.mcpServers?.upload_files_to_gradio;
2387		}
2388
2389		return config;
2390	}
2391
2392	legacy_pre_effect(() => (deep_read_state(mcp_server_url_streamable())), () => {
2393		set(display_url, mcp_server_url_streamable());
2394	});
2395
2396	legacy_pre_effect(
2397		() => (
2398			deep_read_state(mcp_json_stdio()),
2399			deep_read_state(mcp_server_url_streamable()),
2400			get(include_file_upload)
2401		),
2402		() => {
2403			set(mcp_json_streamable_http, update_config_with_file_upload(
2404				mcp_json_stdio()
2405					? { mcpServers: { gradio: { url: mcp_server_url_streamable() } } }
2406					: null,
2407				get(include_file_upload)
2408			));
2409		}
2410	);
2411
2412	legacy_pre_effect(
2413		() => (
2414			deep_read_state(mcp_json_stdio()),
2415			get(include_file_upload)
2416		),
2417		() => {
2418			set(mcp_json_stdio_updated, update_config_with_file_upload(mcp_json_stdio(), get(include_file_upload)));
2419		}
2420	);
2421
2422	legacy_pre_effect(
2423		() => (
2424			get(mcp_json_streamable_http),
2425			get(mcp_json_stdio_updated)
2426		),
2427		() => {
2428			config_snippets({
2429				streamable_http: JSON.stringify(get(mcp_json_streamable_http), null, 2),
2430				stdio: JSON.stringify(get(mcp_json_stdio_updated), null, 2)
2431			});
2432		}
2433	);
2434
2435	legacy_pre_effect_reset();
2436
2437	var $$exports = {
2438		get mcp_server_active() {
2439			return mcp_server_active();
2440		},
2441
2442		set mcp_server_active($$value) {
2443			mcp_server_active($$value);
2444			flushSync();
2445		},
2446
2447		get mcp_server_url_streamable() {
2448			return mcp_server_url_streamable();
2449		},
2450
2451		set mcp_server_url_streamable($$value) {
2452			mcp_server_url_streamable($$value);
2453			flushSync();
2454		},
2455
2456		get root() {
2457			return root();
2458		},
2459
2460		set root($$value) {
2461			root($$value);
2462			flushSync();
2463		},
2464
2465		get tools() {
2466			return tools();
2467		},
2468
2469		set tools($$value) {
2470			tools($$value);
2471			flushSync();
2472		},
2473
2474		get all_tools() {
2475			return all_tools();
2476		},
2477
2478		set all_tools($$value) {
2479			all_tools($$value);
2480			flushSync();
2481		},
2482
2483		get selected_tools() {
2484			return selected_tools();
2485		},
2486
2487		set selected_tools($$value) {
2488			selected_tools($$value);
2489			flushSync();
2490		},
2491
2492		get mcp_json_stdio() {
2493			return mcp_json_stdio();
2494		},
2495
2496		set mcp_json_stdio($$value) {
2497			mcp_json_stdio($$value);
2498			flushSync();
2499		},
2500
2501		get file_data_present() {
2502			return file_data_present();
2503		},
2504
2505		set file_data_present($$value) {
2506			file_data_present($$value);
2507			flushSync();
2508		},
2509
2510		get mcp_docs() {
2511			return mcp_docs();
2512		},
2513
2514		set mcp_docs($$value) {
2515			mcp_docs($$value);
2516			flushSync();
2517		},
2518
2519		get analytics() {
2520			return analytics();
2521		},
2522
2523		set analytics($$value) {
2524			analytics($$value);
2525			flushSync();
2526		},
2527
2528		get config_snippets() {
2529			return config_snippets();
2530		},
2531
2532		set config_snippets($$value) {
2533			config_snippets($$value);
2534			flushSync();
2535		}
2536	};
2537
2538	init();
2539
2540	var fragment = comment();
2541	var node = first_child(fragment);
2542
2543	{
2544		var consequent_8 = ($$anchor) => {
2545			var fragment_1 = root_2();
2546			var div = first_child(fragment_1);
2547			var div_1 = child(div);
2548			var node_1 = sibling(child(div_1), 2);
2549
2550			each(node_1, 1, () => transports, index, ($$anchor, $$item) => {
2551				var $$array = user_derived(() => to_array(get($$item), 2));
2552				let transport = () => get($$array)[0];
2553				let display_name = () => get($$array)[1];
2554				var button = root_3$1();
2555				var text = child(button, true);
2556
2557				reset(button);
2558
2559				template_effect(() => {
2560					set_class(button, 1, `snippet ${get(current_transport) === transport() ? 'current-lang' : 'inactive-lang'}`, 'svelte-1uo4thf');
2561					set_text(text, display_name());
2562				});
2563
2564				event('click', button, () => set(current_transport, transport()));
2565				append($$anchor, button);
2566			});
2567
2568			reset(div_1);
2569			reset(div);
2570
2571			var node_2 = sibling(div, 2);
2572
2573			{
2574				var consequent = ($$anchor) => {
2575					var fragment_2 = root_4$2();
2576					var node_3 = first_child(fragment_2);
2577
2578					Block(node_3, {
2579						children: ($$anchor, $$slotProps) => {
2580							var div_2 = root_5$1();
2581							var div_3 = sibling(child(div_2), 2);
2582							var input = child(div_3);
2583
2584							remove_input_defaults(input);
2585
2586							var node_4 = sibling(input, 2);
2587
2588							CopyButton(node_4, {
2589								get code() {
2590									return get(display_url);
2591								}
2592							});
2593
2594							reset(div_3);
2595							reset(div_2);
2596							template_effect(() => set_value(input, get(display_url)));
2597							append($$anchor, div_2);
2598						},
2599						$$slots: { default: true }
2600					});
2601
2602					next(2);
2603					append($$anchor, fragment_2);
2604				};
2605
2606				if_block(node_2, ($$render) => {
2607					if (get(current_transport) !== "stdio") $$render(consequent);
2608				});
2609			}
2610
2611			var div_4 = sibling(node_2, 2);
2612			var strong = child(div_4);
2613			var text_1 = child(strong);
2614			var span = sibling(text_1);
2615			var node_5 = child(span);
2616
2617			Tool(node_5, {});
2618			reset(span);
2619
2620			var span_1 = sibling(span, 2);
2621			var node_6 = child(span_1);
2622
2623			Resource(node_6, {});
2624			reset(span_1);
2625
2626			var span_2 = sibling(span_1, 2);
2627			var node_7 = child(span_2);
2628
2629			Prompt(node_7, {});
2630			reset(span_2);
2631			next();
2632			reset(strong);
2633
2634			var node_8 = sibling(strong, 2);
2635
2636			{
2637				var consequent_1 = ($$anchor) => {
2638					var div_5 = root_6$1();
2639					var button_1 = child(div_5);
2640					var button_2 = sibling(button_1, 2);
2641
2642					reset(div_5);
2643
2644					event('click', button_1, () => {
2645						selected_tools(new Set(all_tools().map((t) => t.name)));
2646					});
2647
2648					event('click', button_2, () => {
2649						selected_tools(new Set());
2650					});
2651
2652					append($$anchor, div_5);
2653				};
2654
2655				if_block(node_8, ($$render) => {
2656					if ((
2657						deep_read_state(all_tools()),
2658						untrack(() => all_tools().length > 0)
2659					)) $$render(consequent_1);
2660				});
2661			}
2662
2663			reset(div_4);
2664
2665			var div_6 = sibling(div_4, 2);
2666
2667			each(
2668				div_6,
2669				5,
2670				() => (
2671					deep_read_state(all_tools()),
2672					deep_read_state(tools()),
2673					untrack(() => all_tools().length > 0 ? all_tools() : tools())
2674				),
2675				index,
2676				($$anchor, tool, $$index_2) => {
2677					const success_rate = derived_safe_equal(() => (
2678						deep_read_state(analytics()),
2679						get(tool),
2680						untrack(() => analytics()[get(tool).meta.endpoint_name]?.success_rate || 0)
2681					));
2682
2683					var div_7 = root_7$1();
2684					var div_8 = child(div_7);
2685					var node_9 = child(div_8);
2686
2687					{
2688						var consequent_2 = ($$anchor) => {
2689							var input_1 = root_8$1();
2690
2691							remove_input_defaults(input_1);
2692
2693							template_effect(
2694								($0) => {
2695									set_checked(input_1, $0);
2696									input_1.disabled = get(current_transport) !== "streamable_http";
2697									set_style(input_1, get(current_transport) !== "streamable_http" ? "opacity: 0.5;
2697 cursor: not-allowed;" : "");
2698								},
2699								[
2700									() => (
2701										deep_read_state(selected_tools()),
2702										get(tool),
2703										get(current_transport),
2704										untrack(() => selected_tools().has(get(tool).name) || get(current_transport) !== "streamable_http")
2705									)
2706								]
2707							);
2708
2709							event('change', input_1, (e) => {
2710								if (e.currentTarget.checked) {
2711									selected_tools().add(get(tool).name);
2712								} else {
2713									selected_tools().delete(get(tool).name);
2714								}
2715
2716								selected_tools(selected_tools());
2717							});
2718
2719							append($$anchor, input_1);
2720						};
2721
2722						if_block(node_9, ($$render) => {
2723							if ((
2724								deep_read_state(all_tools()),
2725								untrack(() => all_tools().length > 0)
2726							)) $$render(consequent_2);
2727						});
2728					}
2729
2730					var button_3 = sibling(node_9, 2);
2731					var span_3 = child(button_3);
2732					var span_4 = child(span_3);
2733					var node_10 = child(span_4);
2734
2735					{
2736						var consequent_3 = ($$anchor) => {
2737							const Icon = derived_safe_equal(() => (
2738								get(tool),
2739								untrack(() => tool_type_icons[get(tool).meta.mcp_type])
2740							));
2741
2742							get(Icon)($$anchor, {});
2743						};
2744
2745						if_block(node_10, ($$render) => {
2746							if ((
2747								get(tool),
2748								untrack(() => tool_type_icons[get(tool).meta.mcp_type])
2749							)) $$render(consequent_3);
2750						});
2751					}
2752
2753					reset(span_4);
2754
2755					var span_5 = sibling(span_4, 2);
2756					var text_2 = child(span_5, true);
2757
2758					reset(span_5);
2759
2760					var span_6 = sibling(span_5, 2);
2761					var text_3 = child(span_6, true);
2762
2763					reset(span_6);
2764
2765					var node_11 = sibling(span_6, 2);
2766
2767					{
2768						var consequent_4 = ($$anchor) => {
2769							const endpoint_analytics = derived_safe_equal(() => (
2770								deep_read_state(analytics()),
2771								get(tool),
2772								untrack(() => analytics()[get(tool).meta.endpoint_name])
2773							));
2774
2775							const p50 = derived_safe_equal(() => (
2776								deep_read_state(get(endpoint_analytics)),
2777								untrack(() => get(endpoint_analytics).process_time_percentiles["50th"])
2778							));
2779
2780							var div_9 = root_10();
2781							var span_7 = child(div_9);
2782							var text_4 = child(span_7);
2783
2784							reset(span_7);
2785							reset(div_9);
2786
2787							template_effect(
2788								($0, $1) => set_text(text_4, `${(
2789									deep_read_state(get(endpoint_analytics)),
2790									untrack(() => get(endpoint_analytics).total_requests)
2791								) ?? ''} requests (${$0 ?? ''}% successful, p50: ${$1 ?? ''})`),
2792								[
2793									() => (
2794										deep_read_state(get(success_rate)),
2795										untrack(() => Math.round(get(success_rate) * 100))
2796									),
2797
2798									() => (
2799										deep_read_state(format_latency),
2800										deep_read_state(get(p50)),
2801										untrack(() => format_latency(get(p50)))
2802									)
2803								]
2804							);
2805
2806							append($$anchor, div_9);
2807						};
2808
2809						if_block(node_11, ($$render) => {
2810							if ((
2811								deep_read_state(analytics()),
2812								get(tool),
2813								untrack(() => analytics()[get(tool).meta.endpoint_name])
2814							)) $$render(consequent_4);
2815						});
2816					}
2817
2818					reset(span_3);
2819
2820					var span_8 = sibling(span_3, 2);
2821					var text_5 = child(span_8, true);
2822
2823					reset(span_8);
2824					reset(button_3);
2825					reset(div_8);
2826
2827					var node_12 = sibling(div_8, 2);
2828
2829					{
2830						var consequent_6 = ($$anchor) => {
2831							var div_10 = root_11$1();
2832							var node_13 = child(div_10);
2833
2834							{
2835								var consequent_5 = ($$anchor) => {
2836									var div_11 = root_12$1();
2837
2838									each(
2839										div_11,
2840										5,
2841										() => (
2842											get(tool),
2843											untrack(() => Object.entries(get(tool).parameters))
2844										),
2845										index,
2846										($$anchor, $$item) => {
2847											var $$array_1 = user_derived(() => to_array(get($$item), 2));
2848											let name = () => get($$array_1)[0];
2849											let param = () => get($$array_1)[1];
2850											var div_12 = root_13$1();
2851											var code = child(div_12);
2852											var text_6 = child(code, true);
2853
2854											reset(code);
2855
2856											var span_9 = sibling(code, 2);
2857											var text_7 = child(span_9);
2858
2859											reset(span_9);
2860
2861											var p = sibling(span_9, 2);
2862											var text_8 = child(p, true);
2863
2864											reset(p);
2865											reset(div_12);
2866
2867											template_effect(
2868												($0) => {
2869													set_text(text_6, name());
2870													set_text(text_7, `(${(param(), untrack(() => param().type)) ?? ''}${$0 ?? ''})`);
2871
2872													set_text(text_8, (
2873														param(),
2874														untrack(() => param().description
2875															? param().description
2876															: "⚠︎ No description for this parameter in function docstring")
2877													));
2878												},
2879												[
2880													() => (
2881														param(),
2882														untrack(() => param().default !== undefined ? `, default: ${JSON.stringify(param().default)}` : "")
2883													)
2884												]
2885											);
2886
2887											append($$anchor, div_12);
2888										}
2889									);
2890
2891									reset(div_11);
2892									append($$anchor, div_11);
2893								};
2894
2895								var alternate = ($$anchor) => {
2896									var p_1 = root_14$1();
2897
2898									append($$anchor, p_1);
2899								};
2900
2901								if_block(node_13, ($$render) => {
2902									if ((
2903										get(tool),
2904										untrack(() => Object.keys(get(tool).parameters).length > 0)
2905									)) $$render(consequent_5); else $$render(alternate, false);
2906								});
2907							}
2908
2909							reset(div_10);
2910							append($$anchor, div_10);
2911						};
2912
2913						if_block(node_12, ($$render) => {
2914							if ((get(tool), untrack(() => get(tool).expanded))) $$render(consequent_6);
2915						});
2916					}
2917
2918					reset(div_7);
2919
2920					template_effect(() => {
2921						set_text(text_2, (get(tool), untrack(() => get(tool).name)));
2922
2923						set_text(text_3, (
2924							get(tool),
2925							untrack(() => get(tool).description
2926								? get(tool).description
2927								: "⚠︎ No description provided in function docstring")
2928						));
2929
2930						set_text(text_5, (
2931							get(tool),
2932							untrack(() => get(tool).expanded ? "▼" : "▶")
2933						));
2934					});
2935
2936					event('click', button_3, () => (
2937						get(tool).expanded = !get(tool).expanded,
2938						invalidate_inner_signals(() => (all_tools(), tools()))
2939					));
2940
2941					append($$anchor, div_7);
2942				}
2943			);
2944
2945			reset(div_6);
2946
2947			var div_13 = sibling(div_6, 4);
2948			let classes;
2949			var node_14 = sibling(child(div_13), 4);
2950
2951			Block(node_14, {
2952				children: ($$anchor, $$slotProps) => {
2953					var code_1 = root_15();
2954					var div_14 = child(code_1);
2955					var node_15 = child(div_14);
2956
2957					CopyButton(node_15, {
2958						get code() {
2959							return (
2960								deep_read_state(config_snippets()),
2961								untrack(() => config_snippets().streamable_http)
2962							);
2963						}
2964					});
2965
2966					reset(div_14);
2967
2968					var div_15 = sibling(div_14, 2);
2969					var pre = child(div_15);
2970					var text_9 = child(pre, true);
2971
2972					reset(pre);
2973					reset(div_15);
2974					reset(code_1);
2975
2976					template_effect(() => set_text(text_9, (
2977						deep_read_state(config_snippets()),
2978						untrack(() => config_snippets().streamable_http)
2979					)));
2980
2981					append($$anchor, code_1);
2982				},
2983				$$slots: { default: true }
2984			});
2985
2986			reset(div_13);
2987
2988			var div_16 = sibling(div_13, 2);
2989			let classes_1;
2990			var node_16 = sibling(child(div_16), 6);
2991
2992			Block(node_16, {
2993				children: ($$anchor, $$slotProps) => {
2994					var code_2 = root_16();
2995					var div_17 = child(code_2);
2996					var node_17 = child(div_17);
2997
2998					CopyButton(node_17, {
2999						get code() {
3000							return (
3001								deep_read_state(config_snippets()),
3002								untrack(() => config_snippets().stdio)
3003							);
3004						}
3005					});
3006
3007					reset(div_17);
3008
3009					var div_18 = sibling(div_17, 2);
3010					var pre_1 = child(div_18);
3011					var text_10 = child(pre_1, true);
3012
3013					reset(pre_1);
3014					reset(div_18);
3015					reset(code_2);
3016
3017					template_effect(() => set_text(text_10, (
3018						deep_read_state(config_snippets()),
3019						untrack(() => config_snippets().stdio)
3020					)));
3021
3022					append($$anchor, code_2);
3023				},
3024				$$slots: { default: true }
3025			});
3026
3027			reset(div_16);
3028
3029			var node_18 = sibling(div_16, 2);
3030
3031			{
3032				var consequent_7 = ($$anchor) => {
3033					var div_19 = root_17$1();
3034					var label = child(div_19);
3035					var input_2 = child(label);
3036
3037					remove_input_defaults(input_2);
3038					next();
3039					reset(label);
3040					next(2);
3041					reset(div_19);
3042					bind_checked(input_2, () => get(include_file_upload), ($$value) => set(include_file_upload, $$value));
3043					append($$anchor, div_19);
3044				};
3045
3046				if_block(node_18, ($$render) => {
3047					if (file_data_present()) $$render(consequent_7);
3048				});
3049			}
3050
3051			var p_2 = sibling(node_18, 4);
3052			var a = child(p_2);
3053
3054			reset(p_2);
3055
3056			template_effect(() => {
3057				set_text(text_1, `${(
3058					deep_read_state(all_tools()),
3059					deep_read_state(tools()),
3060					untrack(() => all_tools().length > 0 ? all_tools().length : tools().length)
3061				) ?? ''} Available MCP Tools
3062			(`);
3063
3064				classes = set_class(div_13, 1, 'svelte-1uo4thf', null, classes, { hidden: get(current_transport) !== "streamable_http" });
3065				classes_1 = set_class(div_16, 1, 'svelte-1uo4thf', null, classes_1, { hidden: get(current_transport) !== "stdio" });
3066				set_attribute(a, 'href', mcp_docs());
3067			});
3068
3069			append($$anchor, fragment_1);
3070		};
3071
3072		var alternate_1 = ($$anchor) => {
3073			var fragment_4 = root_18();
3074
3075			next(6);
3076			append($$anchor, fragment_4);
3077		};
3078
3079		if_block(node, ($$render) => {
3080			if (mcp_server_active()) $$render(consequent_8); else $$render(alternate_1, false);
3081		});
3082	}
3083
3084	append($$anchor, fragment);
3085
3086	return pop($$exports);
3087}
3088
3089var root$2 = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg>`);
3090
3091function IconArrowUpRight($$anchor, $$props) {
3092	push($$props, false);
3093
3094	let classNames = prop($$props, 'classNames', 12, "");
3095
3096	var $$exports = {
3097		get classNames() {
3098			return classNames();
3099		},
3100
3101		set classNames($$value) {
3102			classNames($$value);
3103			flushSync();
3104		}
3105	};
3106
3107	var svg = root$2();
3108
3109	template_effect(() => set_class(svg, 0, clsx(classNames() || "menu-icon-arrow"), 'svelte-1s9m4x9'));
3110	append($$anchor, svg);
3111
3112	return pop($$exports);
3113}
3114
3115var root$1 = from_svg(`<svg width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg>`);
3116
3117function IconCaret($$anchor, $$props) {
3118	push($$props, false);
3119
3120	let classNames = prop($$props, 'classNames', 12, "");
3121
3122	var $$exports = {
3123		get classNames() {
3124			return classNames();
3125		},
3126
3127		set classNames($$value) {
3128			classNames($$value);
3129			flushSync();
3130		}
3131	};
3132
3133	var svg = root$1();
3134
3135	template_effect(() => set_class(svg, 0, clsx(classNames()), 'svelte-1u0oj9c'));
3136	append($$anchor, svg);
3137
3138	return pop($$exports);
3139}
3140
3141var root = from_svg(`<svg width="1em" height="1em" viewBox="5 5 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><title>HuggingChat</title><path d="M16.0006 25.9992C13.8266 25.999 11.7118 25.2901 9.97686 23.9799C8.2419 22.6698 6.98127 20.8298 6.38599 18.7388C5.79071 16.6478 5.89323 14.4198 6.678 12.3923C7.46278 10.3648 8.88705 8.64837 10.735 7.50308C12.5829 6.35779 14.7538 5.84606 16.9187 6.04544C19.0837 6.24481 21.1246 7.14442 22.7323 8.60795C24.34 10.0715 25.4268 12.0192 25.8281 14.1559C26.2293 16.2926 25.9232 18.5019 24.9561 20.449C24.7703 20.8042 24.7223 21.2155 24.8211 21.604L25.4211 23.8316C25.4803 24.0518 25.48
314105 24.2837 25.4216 24.5039C25.3627 24.7242 25.2468 24.925 25.0856 25.0862C24.9244 25.2474 24.7235 25.3633 24.5033 25.4222C24.283 25.4811 24.0512 25.4809 23.831 25.4217L21.6034 24.8217C21.2172 24.7248 20.809 24.7729 20.4558 24.9567C19.0683 25.6467 17.5457 26.0068 16.0006 26.0068V25.9992Z" fill="black" class="block dark:hidden svelte-pw1cre"></path><path d="M9.62598 16.0013C9.62598 15.3799 10.1294 14.8765 10.7508 14.8765C11.3721 14.8765 11.8756 15.3799 11.8756 16.0013C11.8756 17.0953 12.3102 18.1448 13.0838 18.9184C13.8574 19.692 14.9069 20.1266 16.001 20.1267C17.095 20.1267 18.1445 19.692 18.9181 18.9184C19.6918 18.1448 20.1264 17.0953 20.1264 16.0013C20.1264 15.3799 20.6299 14.8765 21.2512 14.8765C21.8725 14.8765 22.3759 15.3799 22.3759 16.0013C22.3759 17.6921 21.7046 19.3137 20.509 20.5093C19.3134 21.7049 17.6918 22.3762 16.001 22.3762C14.3102 22.3762 12.6885 21.7049 11.4929 20.5093C10.2974 19.3137 9.62598 17.6921 9.62598 16.0013Z" fill="white" class="block dark:hidden svelte-pw1cre"></path><path d="M16.0006 25.9992C13.8266 25.999 11.7118 25.2901 9.97686 23.9799C8.2419 22.6698 6.98127 20.8298 6.38599 18.7388C5.79071 16.6478 5.89323 14.4198 6.678 12.3923C7.46278 10.3648 8.88705 8.64837 10.735 7.50308C12.5829 6.35779 14.7538 5.84606 16.9187 6.04544C19.0837 6.24481 21.1246 7.14442 22.7323 8.60795C24.34 10.0715 25.4268 12.0192 25.8281 14.1559C26.2293 16.2926 25.9232 18.5019 24.9561 20.449C24.7703 20.8042 24.7223 21.2155 24.8211 21.604L25.4211 23.8316C25.4803 24.0518 25.4805 24.2837 25.4216 24.5039C25.3627 24.7242 25.2468 24.925 25.0856 25.0862C24.9244 25.2474 24.7235 25.3633 24.5033 25.4222C24.283 25.4811 24.0512 25.4809 23.831 25.4217L21.6034 24.8217C21.2172 24.7248 20.809 24.7729 20.4558 24.9567C19.0683 25.6467 17.5457 26.0068 16.0006 26.0068V25.9992Z" fill="white" class="hidden dark:block svelte-pw1cre"></path><path d="M9.62598 16.0013C9.62598 15.3799 10.1294 14.8765 10.7508 14.8765C11.3721 14.8765 11.8756 15.3799 11.8756 16.0013C11.8756 17.0953 12.3102 18.1448 13.0838 18.9184C13.8574 19.692 14.9069 20.1266 16.001 20.1267C17.095 20.1267 18.1445 19.692 18.9181 18.9184C19.6918 18.1448 20.1264 17.0953 20.1264 16.0013C20.1264 15.3799 20.6299 14.8765 21.2512 14.8765C21.8725 14.8765 22.3759 15.3799 22.3759 16.0013C22.3759 17.6921 21.7046 19.3137 20.509 20.5093C19.3134 21.7049 17.6918 22.3762 16.001 22.3762C14.3102 22.3762 12.6885 21.7049 11.4929 20.5093C10.2974 19.3137 9.62598 17.6921 9.62598 16.0013Z" fill="black" class="hidden dark:block svelte-pw1cre"></path></svg>`);
3142
3143function IconHuggingChat($$anchor, $$props) {
3144	push($$props, false);
3145
3146	let classNames = prop($$props, 'classNames', 12, "");
3147
3148	var $$exports = {
3149		get classNames() {
3150			return classNames();
3151		},
3152
3153		set classNames($$value) {
3154			classNames($$value);
3155			flushSync();
3156		}
3157	};
3158
3159	var svg = root();
3160
3161	template_effect(() => set_class(svg, 0, clsx(classNames() || "icon-size"), 'svelte-pw1cre'));
3162	append($$anchor, svg);
3163
3164	return pop($$exports);
3165}
3166
3167var root_4$1 = from_html(`<div class="backdrop-overlay svelte-de9ybk" aria-hidden="true" style="background: transparent;"></div> <div role="menu" class="menu-dropdown svelte-de9ybk" aria-label="Copy menu"><button role="menuitem" class="base-menu-item svelte-de9ybk"><div class="menu-icon-container svelte-de9ybk"><!></div> <div class="menu-text-container svelte-de9ybk"><div class="menu-text-primary svelte-de9ybk">Copy Page</div> <div class="menu-text-secondary svelte-de9ybk"> </div></div></button> <button role="menuitem" class="base-menu-item svelte-de9ybk"><div class="menu-icon-container svelte-de9ybk"><!></div> <div class="menu-text-container svelte-de9ybk"><div class="menu-text-primary svelte-de9ybk">Open in HuggingChat <!></div> <div class="menu-text-secondary svelte-de9ybk"> </div></div></button></div>`, 1);
3168var root_1 = from_html(`<div class="container-wrapper svelte-de9ybk"><div class="trigger-wrapper svelte-de9ybk"><button class="copy-button svelte-de9ybk" aria-live="polite"><span class="icon-wrapper svelte-de9ybk"><!></span> <span> </span></button> <button class="menu-toggle-button svelte-de9ybk" aria-haspopup="menu"><!></button></div> <!></div>`);
3169
3170function CopyMarkdown($$anchor, $$props) {
3171	push($$props, false);
3172
3173	let current_language = prop($$props, 'current_language', 12);
3174	let space_id = prop($$props, 'space_id', 12);
3175	let root = prop($$props, 'root', 12);
3176	let api_count = prop($$props, 'api_count', 12);
3177	let tools = prop($$props, 'tools', 12);
3178	let py_docs = prop($$props, 'py_docs', 12);
3179	let js_docs = prop($$props, 'js_docs', 12);
3180	let bash_docs = prop($$props, 'bash_docs', 12);
3181	let mcp_docs = prop($$props, 'mcp_docs', 12);
3182	let spaces_docs_suffix = prop($$props, 'spaces_docs_suffix', 12);
3183	let mcp_server_active = prop($$props, 'mcp_server_active', 12);
3184	let mcp_server_url_streamable = prop($$props, 'mcp_server_url_streamable', 12);
3185	let config_snippets = prop($$props, 'config_snippets', 12);
3186	let markdown_code_snippets = prop($$props, 'markdown_code_snippets', 12);
3187	let dependencies = prop($$props, 'dependencies', 12);
3188	let info = prop($$props, 'info', 12);
3189	let js_info = prop($$props, 'js_info', 12);
3190	let markdown_content = mutable_source({ python: "", javascript: "", bash: "", mcp: "" });
3191
3192	/* eslint-disable complexity */
3193	/* eslint-enable complexity */
3194	let current_language_label = mutable_source(current_language() === "python"
3195		? "Python"
3196		: current_language() === "javascript"
3197			? "JavaScript"
3198			: current_language() === "bash" ? "Bash" : "MCP");
3199
3200	let label = mutable_source(`Copy ${get(current_language_label)} Docs as Markdown for LLMs`);
3201	let copied = mutable_source(false);
3202	let open = mutable_source(false);
3203	let triggerEl = mutable_source(null);
3204	let menuEl = mutable_source(null);
3205	let menuStyle = mutable_source("");
3206	const isClient = typeof window !== "undefined";
3207
3208	function openMenu() {
3209		set(open, true);
3210
3211		if (isClient && get(triggerEl)) {
3212			void tick().then(() => {
3213				if (!get(triggerEl)) return;
3214
3215				const rect = get(triggerEl).getBoundingClientRect();
3216				const gutter = 6;
3217				const minWidth = Math.max(rect.width + 80, 220);
3218				const right = Math.max(window.innerWidth - rect.right, gutter);
3219
3220				set(menuStyle, `top:${rect.bottom + gutter}px;right:${right}px;min-width:${minWidth}px;`);
3221			});
3222		}
3223	}
3224
3225	function closeMenu() {
3226		set(open, false);
3227	}
3228
3229	function toggleMenu() {
3230		get(open) ? closeMenu() : openMenu();
3231	}
3232
3233	function buildUrl() {
3234		const encodedPromptText = encodeURIComponent(`--------------------------------
3235${get(markdown_content)[current_language()]}
3236--------------------------------
3237
3238Read the documentation above so I can ask questions about it.`);
3239
3240		return `https://huggingface.co/chat/?prompt=${encodedPromptText}`;
3241	}
3242
3243	function openHuggingChat() {
3244		if (isClient) {
3245			window.open(buildUrl(), "_blank", "noopener,noreferrer");
3246		}
3247
3248		closeMenu();
3249	}
3250
3251	function handleWindowPointer(event) {
3252		if (!get(open) || !isClient) return;
3253
3254		const targetNode = event.target;
3255
3256		if (get(menuEl)?.contains(targetNode) || get(triggerEl)?.contains(targetNode)) {
3257			return;
3258		}
3259
3260		closeMenu();
3261	}
3262
3263	function handleWindowKeydown(event) {
3264		if (event.key === "Escape" && get(open)) {
3265			closeMenu();
3266		}
3267	}
3268
3269	function handleWindowResize() {
3270		if (get(open)) closeMenu();
3271	}
3272
3273	function handleWindowScroll() {
3274		if (get(open)) closeMenu();
3275	}
3276
3277	async function copyMarkdown(current_language) {
3278		try {
3279			if (!get(markdown_content)[current_language]) {
3280				console.warn("Nothing to copy");
3281
3282				return;
3283			}
3284
3285			const hasNavigatorClipboard = typeof navigator !== "undefined" && !!navigator.clipboard && typeof navigator.clipboard.writeText === "function";
3286
3287			if (hasNavigatorClipboard) {
3288				await navigator.clipboard.writeText(get(markdown_content)[current_language]);
3289			} else {
3290				console.warn("Clipboard API unavailable");
3291
3292				return;
3293			}
3294
3295			set(copied, true);
3296
3297			setTimeout(
3298				() => {
3299					set(copied, false);
3300				},
3301				1500
3302			);
3303		} catch(error) {
3304			console.error("Failed to write to clipboard", error);
3305		}
3306	}
3307
3308	legacy_pre_effect(
3309		() => (
3310			deep_read_state(space_id()),
3311			deep_read_state(root()),
3312			deep_read_state(api_count()),
3313			deep_read_state(py_docs()),
3314			deep_read_state(spaces_docs_suffix()),
3315			deep_read_state(dependencies()),
3316			deep_read_state(info()),
3317			deep_read_state(markdown_code_snippets()),
3318			deep_read_state(js_info())
3319		),
3320		() => {
3321			mutate(markdown_content, get(markdown_content).python = `
3322# Python API documentation for ${space_id() || root()}
3323API Endpoints: ${api_count()}
3324
33251. Install the Python client [docs](${py_docs()}) if you don't already have it installed. 
3326
3327\`\`\`bash
3328pip install gradio_client
3329\`\`\`
3330
33312. Find the API endpoint below corresponding to your desired function in the app. Copy the code snippet, replacing the placeholder values with your own input data. ${space_id()
3332				? "If this is a private Space, you may need to pass your Hugging Face token as well. [Read more](" + py_docs() + spaces_docs_suffix() + ")."
3333				: ""}
3334
3335${dependencies().filter((d) => d.api_visibility === "public" && info().named_endpoints["/" + d.api_name]).map((d) => `### API Name: /${d.api_name}
3336${info()?.named_endpoints["/" + d.api_name]?.description
3337				? "Description: " + info()?.named_endpoints["/" + d.api_name]?.description
3338				: ""}
3339
3340\`\`\`python
3341${markdown_code_snippets()[d.api_name]?.python}
3342\`\`\`
3343
3344Accepts ${info()?.named_endpoints["/" + d.api_name]?.parameters?.length} parameter${info()?.named_endpoints["/" + d.api_name]?.parameters?.length != 1 ? "s" : ""}:
3345
3346${info()?.named_endpoints["/" + d.api_name]?.parameters?.map((p) => {
3347				const required = !p.parameter_has_default;
3348
3349				const defaultValue = !required
3350					? `Default: ${represent_value(p.parameter_default, p.python_type.type, "py")}`
3351					: "Required";
3352
3353				const type = `${p.python_type.type}${p.parameter_has_default && p.parameter_default === null ? " | None" : ""}`;
3354
3355				return `${p.parameter_name || `[${js_info().named_endpoints["/" + d.api_name]?.parameters.findIndex((p) => p.parameter_name === p.parameter_name)}]`}:\n- Type: ${type}\n- ${defaultValue}\n- The input value that is provided in the ${p.label} ${p.component} component. ${p.python_type.description}`;
3356			}).join("\n\n")}
3357
3358Returns ${info()?.named_endpoints["/" + d.api_name]?.returns?.length > 1
3359				? `tuple of ${info()?.named_endpoints["/" + d.api_name]?.returns?.length} elements`
3360				: "1 element"}:
3361
3362${info()?.named_endpoints["/" + d.api_name]?.returns?.map((r, i) => {
3363				const type = r.python_type.type;
3364
3365				return `${info()?.named_endpoints["/" + d.api_name]?.returns?.length > 1 ? `[${i}]: ` : ""}- Type: ${type}\n- The output value that appears in the "${r.label}" ${r.component} component.`;
3366			}).join("\n\n")}
3367`).join("\n\n\n")}
3368`);
3369		}
3370	);
3371
3372	legacy_pre_effect(
3373		() => (
3374			deep_read_state(space_id()),
3375			deep_read_state(root()),
3376			deep_read_state(api_count()),
3377			deep_read_state(js_docs()),
3378			deep_read_state(spaces_docs_suffix()),
3379			deep_read_state(dependencies()),
3380			deep_read_state(info()),
3381			deep_read_state(markdown_code_snippets()),
3382			deep_read_state(js_info())
3383		),
3384		() => {
3385			mutate(markdown_content, get(markdown_content).javascript = `
3386# JavaScript API documentation for ${space_id() || root()}
3387API Endpoints: ${api_count()}
3388
33891. Install the JavaScript client [docs](${js_docs()}) if you don't already have it installed. 
3390
3391\`\`\`bash
3392npm i -D @gradio/client
3393\`\`\`
3394
33952. Find the API endpoint below corresponding to your desired function in the app. Copy the code snippet, replacing the placeholder values with your own input data. ${space_id()
3396				? "If this is a private Space, you may need to pass your Hugging Face token as well. [Read more](" + js_docs() + spaces_docs_suffix() + ")."
3397				: ""}
3398
3399${dependencies().filter((d) => d.api_visibility === "public" && info().named_endpoints["/" + d.api_name]).map((d) => `### API Name: /${d.api_name}
3400${info()?.named_endpoints["/" + d.api_name]?.description
3401				? "Description: " + info()?.named_endpoints["/" + d.api_name]?.description
3402				: ""}
3403
3404\`\`\`javascript
3405${markdown_code_snippets()[d.api_name]?.javascript}
3406\`\`\`
3407
3408Accepts ${info()?.named_endpoints["/" + d.api_name]?.parameters?.length} parameter${info()?.named_endpoints["/" + d.api_name]?.parameters?.length != 1 ? "s" : ""}:
3409
3410${info()?.named_endpoints["/" + d.api_name]?.parameters?.map((p) => {
3411				const required = !p.parameter_has_default;
3412
3413				const defaultValue = !required
3414					? `Default: ${represent_value(p.parameter_default, p.python_type.type, "py")}`
3415					: "Required";
3416
3417				const type = `${js_info().named_endpoints["/" + d.api_name]?.parameters.find((_p) => _p.parameter_name === p.parameter_name)?.type || "any"}`;
3418
3419				return `${p.parameter_name || `[${js_info().named_endpoints["/" + d.api_name]?.parameters.findIndex((_p) => _p.parameter_name === p.parameter_name)}]`}:\n- Type: ${type}\n- ${defaultValue}\n- The input value that is provided in the ${p.label} ${p.component} component. ${p.python_type.description}`;
3420			}).join("\n\n")}
3421
3422Returns ${info()?.named_endpoints["/" + d.api_name]?.returns?.length > 1
3423				? `list of ${info()?.named_endpoints["/" + d.api_name]?.returns?.length} elements`
3424				: "1 element"}:
3425
3426${info()?.named_endpoints["/" + d.api_name]?.returns?.map((r, i) => {
3427				const type = js_info().named_endpoints["/" + d.api_name]?.returns[i]?.type;
3428
3429				return `${info()?.named_endpoints["/" + d.api_name]?.returns?.length > 1 ? `[${i}]: ` : ""}- Type: ${type}\n- The output value that appears in the "${r.label}" ${r.component} component.`;
3430			}).join("\n\n")}`).join("\n\n\n")}
3431`);
3432		}
3433	);
3434
3435	legacy_pre_effect(
3436		() => (
3437			deep_read_state(space_id()),
3438			deep_read_state(root()),
3439			deep_read_state(api_count()),
3440			deep_read_state(bash_docs()),
3441			deep_read_state(dependencies()),
3442			deep_read_state(info()),
3443			deep_read_state(markdown_code_snippets()),
3444			deep_read_state(js_info())
3445		),
3446		() => {
3447			mutate(markdown_content, get(markdown_content).bash = `
3448# Bash API documentation for ${space_id() || root()}
3449API Endpoints: ${api_count()}
3450
34511. Confirm that you have cURL installed on your system.
3452
3453\`\`\`bash
3454curl --version
3455\`\`\`
3456
34572. Find the API endpoint below corresponding to your desired function in the app. Copy the code snippet, replacing the placeholder values with your own input data.
3458
3459Making a prediction and getting a result requires 2 requests: a POST and a GET request. The POST request returns an EVENT_ID, which is used in the second GET request to fetch the results. In these snippets, we've used awk and read to parse the results, combining these two requests into one command for ease of use. See [curl docs](${bash_docs()}).
3460
3461${dependencies().filter((d) => d.api_visibility === "public" && info().named_endpoints["/" + d.api_name]).map((d) => `### API Name: /${d.api_name}
3462${info()?.named_endpoints["/" + d.api_name]?.description
3463				? "Description: " + info()?.named_endpoints["/" + d.api_name]?.description
3464				: ""}
3465
3466\`\`\`bash
3467${markdown_code_snippets()[d.api_name]?.bash}
3468\`\`\`
3469
3470Accepts ${info()?.named_endpoints["/" + d.api_name]?.parameters?.length} parameter${info()?.named_endpoints["/" + d.api_name]?.parameters?.length != 1 ? "s" : ""}:
3471
3472${info()?.named_endpoints["/" + d.api_name]?.parameters?.map((p) => {
3473				const defaultValue = "Required";
3474				const type = `${js_info().named_endpoints["/" + d.api_name]?.parameters.find((_p) => _p.parameter_name === p.parameter_name)?.type || "any"}`;
3475
3476				return `${`[${js_info().named_endpoints["/" + d.api_name]?.parameters.findIndex((_p) => _p.parameter_name === p.parameter_name)}]`}:\n- Type: ${type}\n- ${defaultValue}\n- The input value that is provided in the ${p.label} ${p.component} component. ${p.python_type.description}`;
3477			}).join("\n\n")}
3478
3479Returns ${info()?.named_endpoints["/" + d.api_name]?.returns?.length > 1
3480				? `list of ${info()?.named_endpoints["/" + d.api_name]?.returns?.length} elements`
3481				: "1 element"}:
3482
3483${info()?.named_endpoints["/" + d.api_name]?.returns?.map((r, i) => {
3484				const type = js_info().named_endpoints["/" + d.api_name]?.returns[i]?.type;
3485
3486				return `${info()?.named_endpoints["/" + d.api_name]?.returns?.length > 1 ? `[${i}]: ` : ""}- Type: ${type}\n- The output value that appears in the "${r.label}" ${r.component} component.`;
3487			}).join("\n\n")}
3488`).join("\n\n\n")}
3489`);
3490		}
3491	);
3492
3493	legacy_pre_effect(
3494		() => (
3495			deep_read_state(space_id()),
3496			deep_read_state(root()),
3497			deep_read_state(tools()),
3498			deep_read_state(mcp_server_active()),
3499			deep_read_state(mcp_server_url_streamable()),
3500			deep_read_state(config_snippets()),
3501			deep_read_state(mcp_docs())
3502		),
3503		() => {
3504			mutate(markdown_content, get(markdown_content).mcp = `
3505# MCP documentation for ${space_id() || root()}
3506MCP Tools: ${tools().length}
3507
3508${!mcp_server_active()
3509				? `This Gradio app can also serve as an MCP server, with an MCP tool corresponding to each API endpoint. 
3510To enable this, launch this Gradio app with \`.launch(mcp_server=True)\` or set the \`.launch(mcp_server=True)\`or set the \`GRADIO_MCP_SERVER\` env variable to \`"True"\`.`
3511				: `
3512
3513This page documents two transports: Streamable HTTP and STDIO.
3514
3515### Streamable HTTP
3516
3517MCP Server URL (Streamable HTTP): ${mcp_server_url_streamable()}
3518
3519${tools().length} available MCP tools, resources, and prompts: 
3520
3521${tools().map((tool) => `### ${tool.name}
3522Type: ${tool.meta.mcp_type}
3523Description: ${tool.description
3524					? tool.description
3525					: "No description provided in function docstring"}
3526Parameters: ${Object.keys(tool.parameters).length}
3527${Object.keys(tool.parameters).map((parameter) => {
3528					return `- ${parameter} (${tool.parameters[parameter].type}): ${tool.parameters[parameter].description
3529						? tool.parameters[parameter].description
3530						: "No description provided in function docstring"}`;
3531				}).join("\n")}
3532`).join("\n\n")}
3533
3534Streamable HTTP Transport: To add this MCP to clients that support Streamable HTTP, simply add the following configuration to your MCP config.
3535
3536\`\`\`json
3537${config_snippets().streamable_http}
3538\`\`\`
3539
3540The \`upload_files_to_gradio\` tool uploads files from your local \`UPLOAD_DIRECTORY\` (or any of its subdirectories) to the Gradio app. 
3541This is needed because MCP servers require files to be provided as URLs. You can omit this tool if you prefer to upload files manually. This tool requires [uv](https://docs.astral.sh/uv/getting-started/installation/) to be installed.
3542
3543### STDIO Transport
3544
3545
3546${tools().length} available MCP tools, resources, and prompts: 
3547
3548${tools().map((tool) => `### ${tool.name}
3549Type: ${tool.meta.mcp_type}
3550Description: ${tool.description
3551					? tool.description
3552					: "No description provided in function docstring"}
3553Parameters: ${Object.keys(tool.parameters).length}
3554${Object.keys(tool.parameters).map((parameter) => {
3555					return `- ${parameter} (${tool.parameters[parameter].type}): ${tool.parameters[parameter].description
3556						? tool.parameters[parameter].description
3557						: "No description provided in function docstring"}`;
3558				}).join("\n")}
3559`).join("\n\n")}
3560
3561STDIO Transport: For clients that only support stdio (e.g. Claude Desktop), first [install Node.js](https://nodejs.org/en/download/). Then, you can use the following command:
3562
3563\`\`\`json
3564${config_snippets().stdio}
3565\`\`\`
3566
3567The \`upload_files_to_gradio\` tool uploads files from your local \`UPLOAD_DIRECTORY\` (or any of its subdirectories) to the Gradio app. 
3568This is needed because MCP servers require files to be provided as URLs. You can omit this tool if you prefer to upload files manually. This tool requires [uv](https://docs.astral.sh/uv/getting-started/installation/) to be installed.
3569
3570Read more about the MCP in the [Gradio docs](${mcp_docs()}).
3571`}
3572
3573`);
3574		}
3575	);
3576
3577	legacy_pre_effect(() => (deep_read_state(current_language())), () => {
3578		current_language();
3579	});
3580
3581	legacy_pre_effect(() => (deep_read_state(current_language())), () => {
3582		set(current_language_label, current_language() === "python"
3583			? "Python"
3584			: current_language() === "javascript"
3585				? "JavaScript"
3586				: current_language() === "bash" ? "Bash" : "MCP");
3587	});
3588
3589	legacy_pre_effect(() => (get(current_language_label)), () => {
3590		set(label, `Copy ${get(current_language_label)} Docs as Markdown for LLMs`);
3591	});
3592
3593	legacy_pre_effect(() => (get(copied)), () => {
3594		get(copied);
3595	});
3596
3597	legacy_pre_effect_reset();
3598
3599	var $$exports = {
3600		get current_language() {
3601			return current_language();
3602		},
3603
3604		set current_language($$value) {
3605			current_language($$value);
3606			flushSync();
3607		},
3608
3609		get space_id() {
3610			return space_id();
3611		},
3612
3613		set space_id($$value) {
3614			space_id($$value);
3615			flushSync();
3616		},
3617
3618		get root() {
3619			return root();
3620		},
3621
3622		set root($$value) {
3623			root($$value);
3624			flushSync();
3625		},
3626
3627		get api_count() {
3628			return api_count();
3629		},
3630
3631		set api_count($$value) {
3632			api_count($$value);
3633			flushSync();
3634		},
3635
3636		get tools() {
3637			return tools();
3638		},
3639
3640		set tools($$value) {
3641			tools($$value);
3642			flushSync();
3643		},
3644
3645		get py_docs() {
3646			return py_docs();
3647		},
3648
3649		set py_docs($$value) {
3650			py_docs($$value);
3651			flushSync();
3652		},
3653
3654		get js_docs() {
3655			return js_docs();
3656		},
3657
3658		set js_docs($$value) {
3659			js_docs($$value);
3660			flushSync();
3661		},
3662
3663		get bash_docs() {
3664			return bash_docs();
3665		},
3666
3667		set bash_docs($$value) {
3668			bash_docs($$value);
3669			flushSync();
3670		},
3671
3672		get mcp_docs() {
3673			return mcp_docs();
3674		},
3675
3676		set mcp_docs($$value) {
3677			mcp_docs($$value);
3678			flushSync();
3679		},
3680
3681		get spaces_docs_suffix() {
3682			return spaces_docs_suffix();
3683		},
3684
3685		set spaces_docs_suffix($$value) {
3686			spaces_docs_suffix($$value);
3687			flushSync();
3688		},
3689
3690		get mcp_server_active() {
3691			return mcp_server_active();
3692		},
3693
3694		set mcp_server_active($$value) {
3695			mcp_server_active($$value);
3696			flushSync();
3697		},
3698
3699		get mcp_server_url_streamable() {
3700			return mcp_server_url_streamable();
3701		},
3702
3703		set mcp_server_url_streamable($$value) {
3704			mcp_server_url_streamable($$value);
3705			flushSync();
3706		},
3707
3708		get config_snippets() {
3709			return config_snippets();
3710		},
3711
3712		set config_snippets($$value) {
3713			config_snippets($$value);
3714			flushSync();
3715		},
3716
3717		get markdown_code_snippets() {
3718			return markdown_code_snippets();
3719		},
3720
3721		set markdown_code_snippets($$value) {
3722			markdown_code_snippets($$value);
3723			flushSync();
3724		},
3725
3726		get dependencies() {
3727			return dependencies();
3728		},
3729
3730		set dependencies($$value) {
3731			dependencies($$value);
3732			flushSync();
3733		},
3734
3735		get info() {
3736			return info();
3737		},
3738
3739		set info($$value) {
3740			info($$value);
3741			flushSync();
3742		},
3743
3744		get js_info() {
3745			return js_info();
3746		},
3747
3748		set js_info($$value) {
3749			js_info($$value);
3750			flushSync();
3751		}
3752	};
3753
3754	init();
3755
3756	var div = root_1();
3757
3758	event('mousedown', $window, handleWindowPointer);
3759	event('keydown', $window, handleWindowKeydown);
3760	event('resize', $window, handleWindowResize);
3761	event('scroll', $window, handleWindowScroll);
3762
3763	var div_1 = child(div);
3764	var button = child(div_1);
3765	var span = child(button);
3766	var node = child(span);
3767
3768	{
3769		var consequent = ($$anchor) => {
3770			IconCheck($$anchor, {});
3771		};
3772
3773		var alternate = ($$anchor) => {
3774			IconCopy($$anchor, {});
3775		};
3776
3777		if_block(node, ($$render) => {
3778			if (get(copied)) $$render(consequent); else $$render(alternate, false);
3779		});
3780	}
3781
3782	reset(span);
3783
3784	var span_1 = sibling(span, 2);
3785	var text = child(span_1, true);
3786
3787	reset(span_1);
3788	reset(button);
3789
3790	var button_1 = sibling(button, 2);
3791	var node_1 = child(button_1);
3792
3793	{
3794		let $0 = derived_safe_equal(() => `caret-icon ${get(open) ? "rotate-180" : "rotate-0"}`);
3795
3796		IconCaret(node_1, {
3797			get classNames() {
3798				return get($0);
3799			}
3800		});
3801	}
3802
3803	reset(button_1);
3804	reset(div_1);
3805	bind_this(div_1, ($$value) => set(triggerEl, $$value), () => get(triggerEl));
3806
3807	var node_2 = sibling(div_1, 2);
3808
3809	{
3810		var consequent_1 = ($$anchor) => {
3811			var fragment_2 = root_4$1();
3812			var div_2 = first_child(fragment_2);
3813			var div_3 = sibling(div_2, 2);
3814			var button_2 = child(div_3);
3815			var div_4 = child(button_2);
3816			var node_3 = child(div_4);
3817
3818			IconCopy(node_3, { classNames: 'menu-icon' });
3819			reset(div_4);
3820
3821			var div_5 = sibling(div_4, 2);
3822			var div_6 = sibling(child(div_5), 2);
3823			var text_1 = child(div_6, true);
3824
3825			reset(div_6);
3826			reset(div_5);
3827			reset(button_2);
3828
3829			var button_3 = sibling(button_2, 2);
3830			var div_7 = child(button_3);
3831			var node_4 = child(div_7);
3832
3833			IconHuggingChat(node_4, { classNames: 'menu-icon' });
3834			reset(div_7);
3835
3836			var div_8 = sibling(div_7, 2);
3837			var div_9 = child(div_8);
3838			var node_5 = sibling(child(div_9));
3839
3840			IconArrowUpRight(node_5, { classNames: 'menu-icon-arrow' });
3841			reset(div_9);
3842
3843			var div_10 = sibling(div_9, 2);
3844			var text_2 = child(div_10);
3845
3846			reset(div_10);
3847			reset(div_8);
3848			reset(button_3);
3849			reset(div_3);
3850			bind_this(div_3, ($$value) => set(menuEl, $$value), () => get(menuEl));
3851
3852			template_effect(() => {
3853				set_style(div_3, get(menuStyle));
3854				set_text(text_1, get(label));
3855				set_text(text_2, `Ask Questions About The ${get(current_language_label) ?? ''} Docs`);
3856			});
3857
3858			event('click', div_2, closeMenu);
3859
3860			event('click', button_2, () => {
3861				copyMarkdown(current_language());
3862				closeMenu();
3863			});
3864
3865			event('click', button_3, () => {
3866				openHuggingChat();
3867				closeMenu();
3868			});
3869
3870			append($$anchor, fragment_2);
3871		};
3872
3873		if_block(node_2, ($$render) => {
3874			if (get(open)) $$render(consequent_1);
3875		});
3876	}
3877
3878	reset(div);
3879
3880	template_effect(() => {
3881		set_text(text, get(copied)
3882			? `Copied ${get(current_language_label)} Docs!`
3883			: "Copy Page");
3884
3885		set_attribute(button_1, 'aria-expanded', get(open));
3886		set_attribute(button_1, 'aria-label', get(open) ? "Close copy menu" : "Open copy menu");
3887	});
3888
3889	event('click', button, () => copyMarkdown(current_language()));
3890	event('click', button_1, toggleMenu);
3891	append($$anchor, div);
3892
3893	return pop($$exports);
3894}
3895
3896var root_4 = from_html(`<li><img alt="" class="svelte-1ujc8oz"/> </li>`);
3897
3898var root_5 = from_html(
3899	`<div><p id="num-recorded-api-calls" style="font-size: var(--text-lg); font-weight:bold; margin: 10px 0px;">🪄 Recorded API Calls <span class="api-count svelte-1ujc8oz"> </span></p> <p> </p> <!> <p>Note: Some API calls only affect the UI, so when using the
3900							clients, the desired result may be achieved with only a subset of
3901							the recorded calls.</p></div> <p style="font-size: var(--text-lg); font-weight:bold; margin: 30px 0px 10px;">API Documentation</p>`,
3902	1
3903);
3904
3905var root_8 = from_html(`1. Install the <span style="text-transform:capitalize"> </span> client (<a target="_blank" class="svelte-1ujc8oz">docs</a>) if you don't already have it installed.`, 1);
3906var root_7 = from_html(`<p class="padded svelte-1ujc8oz"><!></p>`);
3907
3908var root_12 = from_html(
3909	`If this is a private Space, you may need to pass
3910								your Hugging Face token as well (<a class="underline svelte-1ujc8oz" target="_blank">read more</a>).`,
3911	1
3912);
3913
3914var root_13 = from_html(`<div class="loading-dot svelte-1ujc8oz"></div>
3914 <p class="self-baseline svelte-1ujc8oz">API Recorder</p>`, 1);
3915
3916var root_14 = from_html(
3917	`<br/>&nbsp;<br/>Making a
3918								prediction and getting a result requires <strong>2 requests</strong>: a <code class="svelte-1ujc8oz">POST</code> and a <code class="svelte-1ujc8oz">GET</code> request. The <code class="svelte-1ujc8oz">POST</code> request
3919								returns an <code class="svelte-1ujc8oz">EVENT_ID</code>, which is used in the second <code class="svelte-1ujc8oz">GET</code> request to fetch the results. In these
3920								snippets, we've used <code class="svelte-1ujc8oz">awk</code> and <code class="svelte-1ujc8oz">read</code> to
3921								parse the results, combining these two requests into one command
3922								for ease of use. <!> See <a target="_blank" class="svelte-1ujc8oz">curl docs</a>.`,
3923	1
3924);
3925
3926var root_11 = from_html(
3927	`<!> <p class="padded svelte-1ujc8oz">2. Find the API endpoint below corresponding to your desired
3928							function in the app. Copy the code snippet, replacing the
3929							placeholder values with your own input data. <!> Or use the <!> to automatically generate your API requests. <!></p>`,
3930	1
3931);
3932
3933var root_6 = from_html(`<!> <div><!></div> <div><!></div> <!>`, 1);
3934var root_17 = from_html(`<div class="endpoint-container svelte-1ujc8oz"><!> <!> <!></div>`);
3935var root_3 = from_html(`<div class="banner-wrap svelte-1ujc8oz"><!></div> <div class="docs-wrap svelte-1ujc8oz"><div class="client-doc svelte-1ujc8oz" style="display: flex; align-items: center; justify-content: space-between;"><p style="font-size: var(--text-lg);">Choose one of the following ways to interact with the API.</p> <!></div> <div class="endpoint svelte-1ujc8oz"><div class="snippets svelte-1ujc8oz"></div> <!> <div></div></div></div>`, 1);
3936
3937function ApiDocs($$anchor, $$props) {
3938	push($$props, false);
3939
3940	const sorted_dependencies = mutable_source();
3941	const langs = mutable_source();
3942	const selected_tools_array = mutable_source();
3943	const selected_tools_without_prefix = mutable_source();
3944	const mcp_server_url_streamable = mutable_source();
3945
3946	/* eslint-disable */
3947	let dependencies = prop($$props, 'dependencies', 12);
3948
3949	let root = prop($$props, 'root', 12);
3950	let app = prop($$props, 'app', 12);
3951	let space_id = prop($$props, 'space_id', 12);
3952	let root_node = prop($$props, 'root_node', 12);
3953	let username = prop($$props, 'username', 12);
3954	let last_api_call = prop($$props, 'last_api_call', 12, null);
3955	const js_docs = "https://www.gradio.app/guides/getting-started-with-the-js-client";
3956	const py_docs = "https://www.gradio.app/guides/getting-started-with-the-python-client";
3957	const bash_docs = "https://www.gradio.app/guides/querying-gradio-apps-with-curl";
3958	const spaces_docs_suffix = "#connecting-to-a-hugging-face-space";
3959	const mcp_docs = "https://www.gradio.app/guides/building-mcp-server-with-gradio";
3960	let api_count = dependencies().filter((dependency) => dependency.api_visibility === "public").length;
3961
3962	if (root() === "") {
3963		root(location.protocol + "//" + location.host + location.pathname);
3964	}
3965
3966	if (!root().endsWith("/")) {
3967		root(root() + "/");
3968	}
3969
3970	let api_calls = prop($$props, 'api_calls', 28, () => []);
3971	let current_language = mutable_source("python");
3972
3973	function set_query_param(key, value) {
3974		const url = new URL(window.location.href);
3975
3976		url.searchParams.set(key, value);
3977		history.replaceState(null, "", url.toString());
3978	}
3979
3980	function get_query_param(key) {
3981		const url = new URL(window.location.href);
3982
3983		return url.searchParams.get(key);
3984	}
3985
3986	function is_valid_language(lang) {
3987		return ["python", "javascript", "bash", "skill", "mcp"].includes(lang ?? "");
3988	}
3989
3990	let is_running = false;
3991	let mcp_server_active = mutable_source(false);
3992
3993	async function get_info() {
3994		let response = await fetch(root().replace(/\/$/, "") + app().api_prefix + "/info");
3995		let data = await response.json();
3996
3997		return data;
3998	}
3999
4000	async function get_js_info() {
4001		let js_api_info = await app().view_api();
4002
4003		return js_api_info;
4004	}
4005
4006	let info = mutable_source();
4007	let js_info = mutable_source();
4008	let analytics = mutable_source();
4009
4010	get_info().then((data) => {
4011		set(info, data);
4012	});
4013
4014	get_js_info().then((js_api_info) => {
4015		set(js_info, js_api_info);
4016	});
4017
4018	async function get_summary() {
4019		let response = await fetch(root().replace(/\/$/, "") + "/monitoring/summary");
4020		let data = await response.json();
4021
4022		return data;
4023	}
4024
4025	get_summary().then((summary) => {
4026		set(analytics, summary.functions);
4027	});
4028
4029	const dispatch = createEventDispatcher();
4030	let tools = mutable_source([]);
4031	let headers = [];
4032	let mcp_json_stdio = mutable_source();
4033	let file_data_present = mutable_source(false);
4034	let selected_tools = mutable_source(new Set());
4035	let tool_prefix = space_id() ? space_id().split("/").pop() + "_" : "";
4036
4037	function remove_tool_prefix(toolName) {
4038		if (tool_prefix && toolName.startsWith(tool_prefix)) {
4039			return toolName.slice(tool_prefix.length);
4040		}
4041
4042		return toolName;
4043	}
4044
4045	const upload_file_mcp_server = {
4046		command: "uvx",
4047		args: [
4048			"--from",
4049			"gradio[mcp]",
4050			"gradio",
4051			"upload-mcp",
4052			root(),
4053			"<UPLOAD_DIRECTORY>"
4054		]
4055	};
4056
4057	async function fetch_mcp_tools() {
4058		try {
4059			let schema_url = `${root()}gradio_api/mcp/schema`;
4060			const response = await fetch(schema_url);
4061			const schema = await response.json();
4062
4063			set(file_data_present, schema.map((tool) => tool.meta?.file_data_present).some((present) => present));
4064
4065			set(tools, schema.map((tool) => ({
4066				name: tool.name,
4067				description: tool.description || "",
4068				parameters: tool.inputSchema?.properties || {},
4069				meta: tool.meta,
4070				expanded: false,
4071				endpoint_name: tool.endpoint_name
4072			})));
4073
4074			set(selected_tools, new Set(get(tools).map((tool) => tool.name)));
4075			headers = schema.map((tool) => tool.meta?.headers || []).flat();
4076
4077			if (headers.length > 0) {
4078				set(mcp_json_stdio, {
4079					mcpServers: {
4080						gradio: {
4081							command: "npx",
4082							args: [
4083								"mcp-remote",
4084								get(mcp_server_url_streamable),
4085								"--transport",
4086								"streamable-http",
4087								...headers.map((header) => ["--header", `${header}: <YOUR_HEADER_VALUE>`]).flat()
4088							]
4089						}
4090					}
4091				});
4092			} else {
4093				set(mcp_json_stdio, {
4094					mcpServers: {
4095						gradio: {
4096							command: "npx",
4097							args: [
4098								"mcp-remote",
4099								get(mcp_server_url_streamable),
4100								"--transport",
4101								"streamable-http"
4102							]
4103						}
4104					}
4105				});
4106
4107				if (get(file_data_present)) {
4108					mutate(mcp_json_stdio, get(mcp_json_stdio).mcpServers.upload_files_to_gradio = upload_file_mcp_server);
4109				}
4110			}
4111		} catch(error) {
4112			console.error("Failed to fetch MCP tools:", error);
4113			set(tools, []);
4114		}
4115	}
4116
4117	let markdown_code_snippets = mutable_source({});
4118	let config_snippets = mutable_source({});
4119
4120	onMount(() => {
4121		const controller = new AbortController();
4122		const signal = controller.signal;
4123
4124		document.body.style.overflow = "hidden";
4125
4126		if ("parentIFrame" in window) {
4127			window.parentIFrame?.scrollTo(0, 0);
4128		}
4129
4130		const lang_param = get_query_param("lang");
4131
4132		if (is_valid_language(lang_param)) {
4133			set(current_language, lang_param);
4134		}
4135
4136		const mcp_schema_url = `${root()}gradio_api/mcp/schema`;
4137
4138		fetch(mcp_schema_url, { signal }).then((response) => {
4139			set(mcp_server_active, response.ok);
4140
4141			if (get(mcp_server_active)) {
4142				fetch_mcp_tools();
4143
4144				if (!is_valid_language(lang_param)) {
4145					set(current_language, "mcp");
4146				}
4147			} else {
4148				if (!is_valid_language(lang_param)) {
4149					set(current_language, "python");
4150				}
4151			}
4152
4153			controller.abort();
4154		}).catch(() => {
4155			set(mcp_server_active, false);
4156		});
4157
4158		return () => {
4159			document.body.style.overflow = "auto";
4160		};
4161	});
4162
4163	legacy_pre_effect(
4164		() => (
4165			deep_read_state(dependencies()),
4166			get(info),
4167			deep_read_state(last_api_call())
4168		),
4169		() => {
4170			set(sorted_dependencies, (() => {
4171				const valid = dependencies().filter((dep) => dep.api_visibility === "public" && get(info)?.named_endpoints?.["/" + dep.api_name]);
4172
4173				if (get(info) && last_api_call()) {
4174					const mostRecent = valid.find((dep) => dep.id === last_api_call().fn_index);
4175					const others = valid.filter((dep) => dep.id !== last_api_call().fn_index);
4176
4177					return mostRecent ? [mostRecent, ...others] : valid;
4178				}
4179
4180				return valid;
4181			})());
4182		}
4183	);
4184
4185	legacy_pre_effect(
4186		() => (
4187			deep_read_state(space_id()),
4188			mcp
4189		),
4190		() => {
4191			set(langs, [
4192				["python", "Python", python],
4193				["javascript", "JavaScript", javascript],
4194				["bash", "cURL", bash],
4195				...space_id() ? [["skill", "Skill", skill]] : [],
4196				["mcp", "MCP", mcp]
4197			]);
4198		}
4199	);
4200
4201	legacy_pre_effect(() => (get(selected_tools)), () => {
4202		set(selected_tools_array, Array.from(get(selected_tools)));
4203	});
4204
4205	legacy_pre_effect(() => (get(selected_tools_array)), () => {
4206		set(selected_tools_without_prefix, get(selected_tools_array).map(remove_tool_prefix));
4207	});
4208
4209	legacy_pre_effect(
4210		() => (
4211			get(selected_tools_array),
4212			get(tools),
4213			deep_read_state(root()),
4214			get(selected_tools_without_prefix)
4215		),
4216		() => {
4217			set(mcp_server_url_streamable, get(selected_tools_array).length > 0 && get(selected_tools_array).length < get(tools).length
4218				? `${root()}gradio_api/mcp/?tools=${get(selected_tools_without_prefix).join(",")}`
4219				: `${root()}gradio_api/mcp/`);
4220		}
4221	);
4222
4223	legacy_pre_effect(() => (get(markdown_code_snippets)), () => {
4224		get(markdown_code_snippets);
4225	});
4226
4227	legacy_pre_effect(() => (get(config_snippets)), () => {
4228		get(config_snippets);
4229	});
4230
4231	legacy_pre_effect_reset();
4232
4233	var $$exports = {
4234		get dependencies() {
4235			return dependencies();
4236		},
4237
4238		set dependencies($$value) {
4239			dependencies($$value);
4240			flushSync();
4241		},
4242
4243		get root() {
4244			return root();
4245		},
4246
4247		set root($$value) {
4248			root($$value);
4249			flushSync();
4250		},
4251
4252		get app() {
4253			return app();
4254		},
4255
4256		set app($$value) {
4257			app($$value);
4258			flushSync();
4259		},
4260
4261		get space_id() {
4262			return space_id();
4263		},
4264
4265		set space_id($$value) {
4266			space_id($$value);
4267			flushSync();
4268		},
4269
4270		get root_node() {
4271			return root_node();
4272		},
4273
4274		set root_node($$value) {
4275			root_node($$value);
4276			flushSync();
4277		},
4278
4279		get username() {
4280			return username();
4281		},
4282
4283		set username($$value) {
4284			username($$value);
4285			flushSync();
4286		},
4287
4288		get last_api_call() {
4289			return last_api_call();
4290		},
4291
4292		set last_api_call($$value) {
4293			last_api_call($$value);
4294			flushSync();
4295		},
4296
4297		get api_calls() {
4298			return api_calls();
4299		},
4300
4301		set api_calls($$value) {
4302			api_calls($$value);
4303			flushSync();
4304		}
4305	};
4306
4307	init();
4308
4309	var fragment = comment();
4310	var node = first_child(fragment);
4311
4312	{
4313		var consequent_10 = ($$anchor) => {
4314			var fragment_1 = comment();
4315			var node_1 = first_child(fragment_1);
4316
4317			{
4318				var consequent_9 = ($$anchor) => {
4319					var fragment_2 = root_3();
4320					var div = first_child(fragment_2);
4321					var node_2 = child(div);
4322
4323					{
4324						let $0 = derived_safe_equal(() => space_id() || root());
4325
4326						ApiBanner(node_2, {
4327							get root() {
4328								return get($0);
4329							},
4330
4331							get api_count() {
4332								return api_count;
4333							},
4334
4335							get current_language() {
4336								return get(current_language);
4337							},
4338
4339							$$events: {
4340								close($$arg) {
4341									bubble_event.call(this, $$props, $$arg);
4342								}
4343							}
4344						});
4345					}
4346
4347					reset(div);
4348
4349					var div_1 = sibling(div, 2);
4350					var div_2 = child(div_1);
4351					var node_3 = sibling(child(div_2), 2);
4352
4353					CopyMarkdown(node_3, {
4354						get current_language() {
4355							return get(current_language);
4356						},
4357
4358						get space_id() {
4359							return space_id();
4360						},
4361
4362						get root() {
4363							return root();
4364						},
4365
4366						get api_count() {
4367							return api_count;
4368						},
4369
4370						get tools() {
4371							return get(tools);
4372						},
4373						py_docs,
4374						js_docs,
4375						bash_docs,
4376						mcp_docs,
4377						spaces_docs_suffix,
4378						get mcp_server_active() {
4379							return get(mcp_server_active);
4380						},
4381
4382						get mcp_server_url_streamable() {
4383							return get(mcp_server_url_streamable);
4384						},
4385
4386						get config_snippets() {
4387							return get(config_snippets);
4388						},
4389
4390						get markdown_code_snippets() {
4391							return get(markdown_code_snippets);
4392						},
4393
4394						get dependencies() {
4395							return dependencies();
4396						},
4397
4398						get info() {
4399							return get(info);
4400						},
4401
4402						get js_info() {
4403							return get(js_info);
4404						}
4405					});
4406
4407					reset(div_2);
4408
4409					var div_3 = sibling(div_2, 2);
4410					var div_4 = child(div_3);
4411
4412					each(div_4, 5, () => get(langs), index, ($$anchor, $$item) => {
4413						var $$array = user_derived(() => to_array(get($$item), 3));
4414						let language = () => get($$array)[0];
4415						let display_name = () => get($$array)[1];
4416						let img = () => get($$array)[2];
4417						var li = root_4();
4418						var img_1 = child(li);
4419						var text = sibling(img_1);
4420
4421						reset(li);
4422
4423						template_effect(() => {
4424							set_class(
4425								li,
4426								1,
4427								`snippet
4428						${get(current_language) === language() ? 'current-lang' : 'inactive-lang'}`,
4429								'svelte-1ujc8oz'
4430							);
4431
4432							set_attribute(img_1, 'src', img());
4433							set_text(text, ` ${display_name() ?? ''}`);
4434						});
4435
4436						event('click', li, () => {
4437							set(current_language, language());
4438							set_query_param("lang", language());
4439						});
4440
4441						append($$anchor, li);
4442					});
4443
4444					reset(div_4);
4445
4446					var node_4 = sibling(div_4, 2);
4447
4448					{
4449						var consequent = ($$anchor) => {
4450							var fragment_3 = root_5();
4451							var div_5 = first_child(fragment_3);
4452							var p = child(div_5);
4453							var span = sibling(child(p));
4454							var text_1 = child(span);
4455
4456							reset(span);
4457							reset(p);
4458
4459							var p_1 = sibling(p, 2);
4460							var text_2 = child(p_1);
4461
4462							reset(p_1);
4463
4464							var node_5 = sibling(p_1, 2);
4465
4466							{
4467								let $0 = derived_safe_equal(() => space_id() || root());
4468
4469								RecordingSnippet(node_5, {
4470									get current_language() {
4471										return get(current_language);
4472									},
4473
4474									get api_calls() {
4475										return api_calls();
4476									},
4477
4478									get dependencies() {
4479										return dependencies();
4480									},
4481
4482									get root() {
4483										return root();
4484									},
4485
4486									get api_prefix() {
4487										return (deep_read_state(app()), untrack(() => app().api_prefix));
4488									},
4489
4490									get short_root() {
4491										return get($0);
4492									},
4493
4494									get username() {
4495										return username();
4496									}
4497								});
4498							}
4499
4500							next(2);
4501							reset(div_5);
4502							next(2);
4503
4504							template_effect(() => {
4505								set_text(text_1, `[${(
4506									deep_read_state(api_calls()),
4507									untrack(() => api_calls().length)
4508								) ?? ''}]`);
4509
4510								set_text(text_2, `Here is the code snippet to replay the most recently recorded API
4511							calls using the ${get(current_language) ?? ''}
4512							client.`);
4513							});
4514
4515							append($$anchor, fragment_3);
4516						};
4517
4518						var alternate_1 = ($$anchor) => {
4519							var fragment_4 = root_6();
4520							var node_6 = first_child(fragment_4);
4521
4522							{
4523								var consequent_3 = ($$anchor) => {
4524									var p_2 = root_7();
4525									var node_7 = child(p_2);
4526
4527									{
4528										var consequent_1 = ($$anchor) => {
4529											var fragment_5 = root_8();
4530											var span_1 = sibling(first_child(fragment_5));
4531											var text_3 = child(span_1, true);
4532
4533											reset(span_1);
4534
4535											var a = sibling(span_1, 2);
4536
4537											next();
4538
4539											template_effect(() => {
4540												set_text(text_3, get(current_language));
4541												set_attribute(a, 'href', get(current_language) == "python" ? py_docs : js_docs);
4542											});
4543
4544											append($$anchor, fragment_5);
4545										};
4546
4547										var alternate = ($$anchor) => {
4548											var fragment_6 = comment();
4549											var node_8 = first_child(fragment_6);
4550
4551											{
4552												var consequent_2 = ($$anchor) => {
4553													var text_4 = text('1. Confirm that you have cURL installed on your system.');
4554
4555													append($$anchor, text_4);
4556												};
4557
4558												if_block(
4559													node_8,
4560													($$render) => {
4561														if (get(current_language) == "bash") $$render(consequent_2);
4562													},
4563													true
4564												);
4565											}
4566
4567											append($$anchor, fragment_6);
4568										};
4569
4570										if_block(node_7, ($$render) => {
4571											if (get(current_language) == "python" || get(current_language) == "javascript") $$render(consequent_1); else $$render(alternate, false);
4572										});
4573									}
4574
4575									reset(p_2);
4576									append($$anchor, p_2);
4577								};
4578
4579								if_block(node_6, ($$render) => {
4580									if (get(current_language) !== "skill") $$render(consequent_3);
4581								});
4582							}
4583
4584							var div_6 = sibling(node_6, 2);
4585							let classes;
4586							var node_9 = child(div_6);
4587
4588							SkillSnippet(node_9, {
4589								get space_id() {
4590									return space_id();
4591								}
4592							});
4593
4594							reset(div_6);
4595
4596							var div_7 = sibling(div_6, 2);
4597							let classes_1;
4598							var node_10 = child(div_7);
4599
4600							{
4601								let $0 = derived_safe_equal(() => (
4602									get(tools),
4603									get(selected_tools),
4604									untrack(() => get(tools).filter((tool) => get(selected_tools).has(tool.name)))
4605								));
4606
4607								MCPSnippet(node_10, {
4608									get mcp_server_active() {
4609										return get(mcp_server_active);
4610									},
4611
4612									get mcp_server_url_streamable() {
4613										return get(mcp_server_url_streamable);
4614									},
4615
4616									get tools() {
4617										return get($0);
4618									},
4619
4620									get all_tools() {
4621										return get(tools);
4622									},
4623
4624									get mcp_json_stdio() {
4625										return get(mcp_json_stdio);
4626									},
4627
4628									get file_data_present() {
4629										return get(file_data_present);
4630									},
4631									mcp_docs,
4632									get analytics() {
4633										return get(analytics);
4634									},
4635
4636									get root() {
4637										return root();
4638									},
4639
4640									get selected_tools() {
4641										return get(selected_tools);
4642									},
4643
4644									set selected_tools($$value) {
4645										set(selected_tools, $$value);
4646									},
4647
4648									get config_snippets() {
4649										return get(config_snippets);
4650									},
4651
4652									set config_snippets($$value) {
4653										set(config_snippets, $$value);
4654									},
4655									$$legacy: true
4656								});
4657							}
4658
4659							reset(div_7);
4660
4661							var node_11 = sibling(div_7, 2);
4662
4663							{
4664								var consequent_7 = ($$anchor) => {
4665									var fragment_7 = root_11();
4666									var node_12 = first_child(fragment_7);
4667
4668									InstallSnippet(node_12, {
4669										get current_language() {
4670											return get(current_language);
4671										}
4672									});
4673
4674									var p_3 = sibling(node_12, 2);
4675									var node_13 = sibling(child(p_3));
4676
4677									{
4678										var consequent_4 = ($$anchor) => {
4679											var fragment_8 = root_12();
4680											var a_1 = sibling(first_child(fragment_8));
4681
4682											next();
4683
4684											template_effect(() => set_attribute(a_1, 'href', get(current_language) == "python"
4685												? py_docs + spaces_docs_suffix
4686												: get(current_language) == "javascript" ? js_docs + spaces_docs_suffix : bash_docs));
4687
4688											append($$anchor, fragment_8);
4689										};
4690
4691										if_block(node_13, ($$render) => {
4692											if (space_id()) $$render(consequent_4);
4693										});
4694									}
4695
4696									var node_14 = sibling(node_13, 2);
4697
4698									Button(node_14, {
4699										size: 'sm',
4700										variant: 'secondary',
4701										$$events: {
4702											click: () => dispatch("close", { api_recorder_visible: true })
4703										},
4704
4705										children: ($$anchor, $$slotProps) => {
4706											var fragment_9 = root_13();
4707
4708											next(2);
4709											append($$anchor, fragment_9);
4710										},
4711										$$slots: { default: true }
4712									});
4713
4714									var node_15 = sibling(node_14, 2);
4715
4716									{
4717										var consequent_6 = ($$anchor) => {
4718											var fragment_10 = root_14();
4719											var node_16 = sibling(first_child(fragment_10), 20);
4720
4721											{
4722												var consequent_5 = ($$anchor) => {
4723													var text_5 = text('Note: connecting to an authenticated app requires an\n									additional request.');
4724
4725													append($$anchor, text_5);
4726												};
4727
4728												if_block(node_16, ($$render) => {
4729													if (username() !== null) $$render(consequent_5);
4730												});
4731											}
4732
4733											var a_2 = sibling(node_16, 2);
4734
4735											set_attribute(a_2, 'href', bash_docs);
4736											next();
4737											append($$anchor, fragment_10);
4738										};
4739
4740										if_block(node_15, ($$render) => {
4741											if (get(current_language) == "bash") $$render(consequent_6);
4742										});
4743									}
4744
4745									reset(p_3);
4746									append($$anchor, fragment_7);
4747								};
4748
4749								if_block(node_11, ($$render) => {
4750									if (get(current_language) !== "mcp" && get(current_language) !== "skill") $$render(consequent_7);
4751								});
4752							}
4753
4754							template_effect(() => {
4755								classes = set_class(div_6, 1, 'svelte-1ujc8oz', null, classes, { hidden: get(current_language) !== "skill" });
4756								classes_1 = set_class(div_7, 1, 'svelte-1ujc8oz', null, classes_1, { hidden: get(current_language) !== "mcp" });
4757							});
4758
4759							append($$anchor, fragment_4);
4760						};
4761
4762						if_block(node_4, ($$render) => {
4763							if ((
4764								deep_read_state(api_calls()),
4765								untrack(() => api_calls().length)
4766							)) $$render(consequent); else $$render(alternate_1, false);
4767						});
4768					}
4769
4770					var div_8 = sibling(node_4, 2);
4771					let classes_2;
4772
4773					each(div_8, 5, () => get(sorted_dependencies), index, ($$anchor, dependency) => {
4774						var fragment_11 = comment();
4775						var node_17 = first_child(fragment_11);
4776
4777						{
4778							var consequent_8 = ($$anchor) => {
4779								var div_9 = root_17();
4780								var node_18 = child(div_9);
4781
4782								CodeSnippet(node_18, {
4783									get dependency() {
4784										return get(dependency);
4785									},
4786
4787									get current_language() {
4788										return get(current_language);
4789									},
4790
4791									get api_description() {
4792										return (
4793											get(info),
4794											get(dependency),
4795											untrack(() => get(info).named_endpoints["/" + get(dependency).api_name].description)
4796										);
4797									},
4798
4799									get analytics() {
4800										return get(analytics);
4801									},
4802
4803									get last_api_call() {
4804										return last_api_call();
4805									},
4806
4807									get code_snippets() {
4808										return (
4809											get(info),
4810											get(dependency),
4811											untrack(() => get(info).named_endpoints["/" + get(dependency).api_name].code_snippets)
4812										);
4813									},
4814
4815									get markdown_code_snippets() {
4816										return get(markdown_code_snippets);
4817									},
4818
4819									set markdown_code_snippets($$value) {
4820										set(markdown_code_snippets, $$value);
4821									},
4822									$$legacy: true
4823								});
4824
4825								var node_19 = sibling(node_18, 2);
4826
4827								ParametersSnippet(node_19, {
4828									get endpoint_returns() {
4829										return (
4830											get(info),
4831											get(dependency),
4832											untrack(() => get(info).named_endpoints["/" + get(dependency).api_name].parameters)
4833										);
4834									},
4835
4836									get js_returns() {
4837										return (
4838											get(js_info),
4839											get(dependency),
4840											untrack(() => get(js_info).named_endpoints["/" + get(dependency).api_name].parameters)
4841										);
4842									},
4843									is_running,
4844									get current_language() {
4845										return get(current_language);
4846									}
4847								});
4848
4849								var node_20 = sibling(node_19, 2);
4850
4851								ResponseSnippet(node_20, {
4852									get endpoint_returns() {
4853										return (
4854											get(info),
4855											get(dependency),
4856											untrack(() => get(info).named_endpoints["/" + get(dependency).api_name].returns)
4857										);
4858									},
4859
4860									get js_returns() {
4861										return (
4862											get(js_info),
4863											get(dependency),
4864											untrack(() => get(js_info).named_endpoints["/" + get(dependency).api_name].returns)
4865										);
4866									},
4867									is_running,
4868									get current_language() {
4869										return get(current_language);
4870									}
4871								});
4872
4873								reset(div_9);
4874								append($$anchor, div_9);
4875							};
4876
4877							if_block(node_17, ($$render) => {
4878								if ((
4879									get(info),
4880									get(dependency),
4881									untrack(() => get(info).named_endpoints["/" + get(dependency).api_name])
4882								)) $$render(consequent_8);
4883							});
4884						}
4885
4886						append($$anchor, fragment_11);
4887					});
4888
4889					reset(div_8);
4890					reset(div_3);
4891					reset(div_1);
4892
4893					template_effect(() => classes_2 = set_class(div_8, 1, 'svelte-1ujc8oz', null, classes_2, {
4894						hidden: get(current_language) === "mcp" || get(current_language) === "skill"
4895					}));
4896
4897					append($$anchor, fragment_2);
4898				};
4899
4900				var alternate_2 = ($$anchor) => {
4901					NoApi($$anchor, {
4902						get root() {
4903							return root();
4904						},
4905
4906						$$events: {
4907							close($$arg) {
4908								bubble_event.call(this, $$props, $$arg);
4909							}
4910						}
4911					});
4912				};
4913
4914				if_block(node_1, ($$render) => {
4915					if (api_count) $$render(consequent_9); else $$render(alternate_2, false);
4916				});
4917			}
4918
4919			append($$anchor, fragment_1);
4920		};
4921
4922		if_block(node, ($$render) => {
4923			if (get(info) && get(analytics)) $$render(consequent_10);
4924		});
4925	}
4926
4927	append($$anchor, fragment);
4928
4929	return pop($$exports);
4930}
4931
4932export { ApiDocs as default };
4933//# sourceMappingURL=ApiDocs-9hYmXNno.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.