@openapi-studio/core 0.4.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/ssr-manifest.json +244 -203
- package/dist/assets/Main-CBu902Yc.css +1 -0
- package/dist/assets/Main-DLaaEfjT.js +2 -0
- package/dist/assets/{NotFound-CyjzqNRt.js → NotFound-ClVtiz8o.js} +1 -1
- package/dist/assets/SpecViewer-CLon8Jjc.js +1 -0
- package/dist/assets/SpecViewer-RnrGXg8h.css +1 -0
- package/dist/assets/{app-Dzrp8B7R.css → app-DiS_moJx.css} +1 -1
- package/dist/assets/app-Du3aTlLj.js +35 -0
- package/dist/assets/file-text-C97pO3ap.js +1 -0
- package/dist/assets/{styles-handler-BXABVLWR.js → styles-handler-D-oYLAal.js} +1 -1
- package/dist/assets/{vanilla-jsoneditor-70-o8FkF.js → vanilla-jsoneditor-BX-6Z3ew.js} +1 -1
- package/dist/index.html +10 -131
- package/dist/openapi-studio-build.json +1 -1
- package/dist/spec.html +510 -0
- package/package.json +1 -1
- package/dist/assets/Main-BvIkHg0T.js +0 -17
- package/dist/assets/Main-Cy83ExML.css +0 -1
- package/dist/assets/app-Cj7QqXAk.js +0 -21
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vanilla-jsoneditor-70-o8FkF.js","assets/app-Cj7QqXAk.js","assets/app-Dzrp8B7R.css","assets/styles-handler-BXABVLWR.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{d as xe,c as s,o as t,r as at,a as y,w as re,n as je,b as J,i as ot,e as q,f as v,g as lt,h as oe,_ as de,j as Ve,k as ze,l as Xe,m as Ie,p as rt,u as Pe,q as e,s as D,t as w,v as S,F as pe,x as ve,y as he,z as be,A as Te,B as He,C as Ue,D as Ze,E as Y,G as Fe,H as it,I as ut,J as ct,K as dt,L as pt,S as vt,U as ht,M as Ne}from"./app-Cj7QqXAk.js";const mt=["selection","mainMenuBar","navigationBar","statusBar","askToFormat","readOnly","indentation","tabSize","escapeControlCharacters","escapeUnicodeCharacters","flattenColumns","validator","onClassName","onRenderValue","onRenderMenu"],yt=["selection","mode","mainMenuBar","navigationBar","statusBar","askToFormat","readOnly","indentation","tabSize","escapeControlCharacters","escapeUnicodeCharacters","flattenColumns","validator","parser","validationParser","pathParser","onClassName","onRenderValue","onRenderMenu"],ft=(i={},a)=>{const o={};for(const d of yt){const b=a[d]!==void 0?a[d]:i[d];b!==void 0&&(o[d]=b)}return o},_t=`
|
|
3
|
-
<svg
|
|
4
|
-
class="fa-icon svelte-1dof0an"
|
|
5
|
-
viewBox="0 0 1024 1024"
|
|
6
|
-
version="1.1"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
p-id="1927" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
9
|
-
width="24"
|
|
10
|
-
height="24"
|
|
11
|
-
>
|
|
12
|
-
<path d="M63.989383 105.442494l0 268.396843c0 18.935258 15.368012 34.304294 34.304294 34.304294 18.936281 0 34.304294-15.369036 34.304294-34.304294L132.597971 180.156126l218.107483 218.176045c12.82919 12.830213 33.618679 12.830213 46.515407 0 12.830213-12.897751 12.830213-33.686217 0-46.51643l-218.176045-218.107483 193.683211 0c18.935258 0 34.304294-15.369036 34.304294-34.304294 0-18.935258-15.369036-34.304294-34.304294-34.304294L104.331183 65.09967C79.288834 65.09967 63.989383 77.999468 63.989383 105.442494L63.989383 105.442494z" p-id="1928" fill="#e6e6e6"></path><path d="M917.688719 65.09967 649.290853 65.09967c-18.935258 0-34.304294 15.369036-34.304294 34.304294 0 18.936281 15.369036 34.304294 34.304294 34.304294l193.683211 0-218.176045 218.107483c-12.830213 12.82919-12.830213 33.618679 0 46.51643 12.897751 12.830213 33.686217 12.830213 46.515407 0L889.420909 180.156126l0 193.683211c0 18.935258 15.369036 34.304294 34.304294 34.304294 18.936281 0 34.304294-15.369036 34.304294-34.304294L958.029496 105.442494C958.029496 77.999468 942.79963 65.09967 917.688719 65.09967L917.688719 65.09967z" p-id="1929" fill="#e6e6e6"></path>
|
|
13
|
-
<path d="M104.331183 957.013353l268.397866 0c18.935258 0 34.304294-15.368012 34.304294-34.304294 0-18.936281-15.369036-34.304294-34.304294-34.304294L179.045839 888.404766l218.176045-218.107483c12.830213-12.82919 12.830213-33.618679 0-46.515407-12.897751-12.830213-33.686217-12.830213-46.515407 0l-218.107483 218.176045L132.598994 648.27471c0-18.935258-15.368012-34.304294-34.304294-34.304294-18.936281 0-34.304294 15.369036-34.304294 34.304294l0 268.397866C63.989383 944.115602 79.288834 957.013353 104.331183 957.013353L104.331183 957.013353z" p-id="1930" fill="#e6e6e6"></path>
|
|
14
|
-
<path d="M958.029496 916.671553 958.029496 648.27471c0-18.935258-15.368012-34.304294-34.304294-34.304294-18.935258 0-34.304294 15.369036-34.304294 34.304294l0 193.683211L671.313425 623.781876c-12.82919-12.830213-33.618679-12.830213-46.515407 0-12.830213 12.897751-12.830213 33.686217 0 46.515407l218.176045 218.107483L649.290853 888.404766c-18.935258 0-34.304294 15.368012-34.304294 34.304294 0 18.936281 15.369036 34.304294 34.304294 34.304294l268.397866 0C942.79963 957.013353 958.029496 944.115602 958.029496 916.671553L958.029496 916.671553z" p-id="1931" fill="#e6e6e6"></path>
|
|
15
|
-
</svg>
|
|
16
|
-
`,$e=(i,a,o=!1)=>{const d=i&&typeof i[a]<"u";return!d&&o&&console.warn("Typeguard warn!!! The object has no property: ",a),d},kt=xe({name:"JsonEditor",props:{modelValue:[Object,Array,Number,String,Boolean,String,null],value:{type:[Object,Array,Number,String,Boolean,String,null],default:void 0},json:{type:[Object,Array,Number,String,Boolean,null],default:void 0},text:String,jsonString:String,selection:{type:Object,default:void 0},mode:{type:String,default:"tree"},mainMenuBar:{type:Boolean,default:void 0},navigationBar:{type:Boolean,default:void 0},statusBar:{type:Boolean,default:void 0},askToFormat:{type:Boolean,default:void 0},readOnly:{type:Boolean,default:void 0},indentation:[String,Number],tabSize:Number,escapeControlCharacters:{type:Boolean,default:void 0},escapeUnicodeCharacters:{type:Boolean,default:void 0},flattenColumns:{type:Boolean,default:void 0},validator:Function,parser:Object,validationParser:Object,pathParser:Object,queryLanguagesIds:Array,queryLanguageId:String,onClassName:Function,onRenderValue:Function,onRenderMenu:Function,height:[String,Number],fullWidthButton:{type:Boolean,default:void 0},darkTheme:{type:Boolean,default:void 0}},emits:["update:modelValue","update:json","update:text","update:jsonString","update:selection","change","error","change-mode","update:mode","change-query-language","focus","blur"],setup(i,{expose:a,emit:o}){const d=ot("jsonEditorOptions",{}),b=q(),C=q(null),m=q(!1),L=q(!1),O=q("tree"),g=q(null),x=v(()=>{const r=i.height||d?.height;return r&&!m.value?{height:r+"px"}:{}}),j=v(()=>i.darkTheme||d?.darkTheme),Q=v(()=>i.queryLanguagesIds||d?.queryLanguagesIds),Z=v(()=>i.queryLanguageId||d?.queryLanguageId),I=lt({}),T=async()=>{if(typeof window>"u"||typeof Q.value>"u"||!Q.value?.length)return;for(const B of Q.value)if(!I[B])switch(B){case"javascript":{const{javascriptQueryLanguage:z}=await de(async()=>{const{javascriptQueryLanguage:H}=await import("./vanilla-jsoneditor-70-o8FkF.js");return{javascriptQueryLanguage:H}},__vite__mapDeps([0,1,2]));I[B]=z;break}case"lodash":{const{lodashQueryLanguage:z}=await de(async()=>{const{lodashQueryLanguage:H}=await import("./vanilla-jsoneditor-70-o8FkF.js");return{lodashQueryLanguage:H}},__vite__mapDeps([0,1,2]));I[B]=z;break}case"jmespath":{const{jmespathQueryLanguage:z}=await de(async()=>{const{jmespathQueryLanguage:H}=await import("./vanilla-jsoneditor-70-o8FkF.js");return{jmespathQueryLanguage:H}},__vite__mapDeps([0,1,2]));I[B]=z;break}case"jsonquery":{const{jsonQueryLanguage:z}=await de(async()=>{const{jsonQueryLanguage:H}=await import("./vanilla-jsoneditor-70-o8FkF.js");return{jsonQueryLanguage:H}},__vite__mapDeps([0,1,2]));I[B]=z;break}case"jsonpath":{const{jsonpathQueryLanguage:z}=await de(async()=>{const{jsonpathQueryLanguage:H}=await import("./vanilla-jsoneditor-70-o8FkF.js");return{jsonpathQueryLanguage:H}},__vite__mapDeps([0,1,2]));I[B]=z;break}}const r=Object.values(I);if(r.length!==0)return r},P=()=>{C.value&&(C.value.removeEventListener("click",V),C.value=null)},A=async()=>{if(typeof window>"u")return;const{getElement:r,createElement:B}=await de(async()=>{const{getElement:n,createElement:N}=await import("./full-width-button-handler-oqK5S8oj.js");return{getElement:n,createElement:N}},[]),{setFullWidthButtonStyle:z}=await de(async()=>{const{setFullWidthButtonStyle:n}=await import("./styles-handler-BXABVLWR.js");return{setFullWidthButtonStyle:n}},__vite__mapDeps([3,1,2]));await z();const H=r(b.value,".jse-full-width"),ce=d?.fullWidthButton!==void 0?d?.fullWidthButton:!0;if(!(i.fullWidthButton!==void 0?i.fullWidthButton:ce)||H)return;C.value&&P();const _=r(b.value,".jse-menu"),f=Array.from(_.classList).find(n=>n.startsWith("svelte-"));C.value=B("button"),C.value.classList.add("jse-full-width"),m.value&&C.value.classList.add("jse-full-width--active"),C.value.classList.add("jse-button"),C.value.classList.add(f),C.value.innerHTML+=_t,_.appendChild(C.value),C.value.addEventListener("click",V)},V=()=>{m.value=!m.value,m.value?C.value?.classList.add("jse-full-width--active"):(C.value?.classList.remove("jse-full-width--active"),C.value?.blur())},ee=(r,B,z)=>{if(L.value){setTimeout(()=>{L.value=!1});return}L.value=!0,$e(r,"json")&&(o("update:json",r.json),o("update:modelValue",r.json)),$e(r,"text")&&(o("update:text",r.text),o("update:jsonString",r.text),o("update:modelValue",r.text)),o("change",r,B,z),setTimeout(()=>{L.value=!1})},$=r=>{o("error",r)},G=r=>{O.value=r,o("change-mode",r),o("update:mode",r)},E=r=>{o("change-query-language",r)},k=()=>{o("focus")},c=()=>{o("blur")},p=r=>{o("update:selection",r)},M=(r,B)=>(ze(()=>{A()}),typeof i.onRenderMenu=="function"?i.onRenderMenu(r,B):r),ie=async()=>{const r={fullWidthButton:!0,...d||{}},B=await T();return{...ft(r,i),queryLanguages:B,queryLanguageId:Z.value,onChange:ee,onError:$,onChangeMode:G,onChangeQueryLanguage:E,onFocus:k,onBlur:c,onRenderMenu:M,onSelect:p}},ye=q(!0),fe=()=>{const r=(H={})=>H===null||typeof H>"u"||typeof H=="number"||typeof H=="bigint"||typeof H=="string"||typeof H=="boolean"?{json:H}:Array.isArray(H)?{json:[...H]}:{json:{...H}},B=(H="")=>({text:H||""}),z=i.modelValue||i.value;return z?O.value==="text"&&typeof z=="string"?B(z):r(z):typeof i.json<"u"?r(i.json):typeof i.text<"u"?B(i.text):typeof i.jsonString<"u"?B(i.jsonString):B()},Ae=async()=>{if(!(typeof window>"u")){if(!g.value){const r=await ie(),{createJSONEditor:B}=await de(async()=>{const{createJSONEditor:H}=await import("./vanilla-jsoneditor-70-o8FkF.js");return{createJSONEditor:H}},__vite__mapDeps([0,1,2]));ye.value=!1,g.value=B({target:b.value,props:r});const z=fe();g.value.set(z),setTimeout(()=>{L.value=!1},0)}g.value.focus()}},ue=async()=>{const r=await ie();g.value?.updateProps(r)},te=()=>{if(L.value)return;const r=fe(),B=g.value?.get();let z=!1;if($e(r,"text")&&$e(B,"text"))z=r.text===B.text;else if($e(r,"json")&&$e(B,"json"))z=JSON.stringify(r.json)===JSON.stringify(B.json);else{const H=JSON.stringify(r),ce=JSON.stringify(B);z=H===ce}z||(L.value=!0,g.value?.update(r),setTimeout(()=>{L.value=!1}))},me=()=>{g.value&&(g.value.destroy(),g.value=null),P()};oe([...mt.map(r=>()=>i[r])],ue,{deep:!0});const _e=()=>{L.value&&setTimeout(()=>{L.value=!1},10)};return oe([()=>i.modelValue,()=>i.value,()=>i.json,()=>i.text,()=>i.jsonString],()=>{te(),_e()},{deep:!0}),oe(()=>i.mode,r=>{r!==O.value&&(O.value=r,ue())}),oe(()=>j.value,async r=>{if(r){const{setDarkThemeStyle:B}=await de(async()=>{const{setDarkThemeStyle:z}=await import("./styles-handler-BXABVLWR.js");return{setDarkThemeStyle:z}},__vite__mapDeps([3,1,2]));await B()}},{immediate:!0}),Ve(()=>{ze(()=>{Ae()})}),Xe(()=>{me()}),a({$collapseAll(){O.value==="tree"&&g.value?.collapse([],!0)},$expandAll(){O.value==="tree"&&g.value?.expand([])},$expand(r,B){typeof r=="function"?(g.value?.expand([],r),console.warn("In new API you must pass the path before the callback!!! Backwards compatibility is deprecated and will be discontinued in the future")):g.value?.expand(r,B)},$get(){return g.value?.get()},$set(r){g.value?.set(r)},$update(r){g.value?.update(r)},$updateProps(r){g.value?.updateProps(r)},async $refresh(){await g.value?.refresh()},$focus(){g.value?.focus()},async $destroy(){await g.value?.destroy()},$patch(r){return g.value?.patch(r)},$transform(r){g.value?.transform(r)},async $scrollTo(r){await g.value?.scrollTo(r)},$findElement(r){return g.value?.findElement(r)},$acceptAutoRepair(){return g.value?.acceptAutoRepair()},$validate(){return g.value?.validate()}}),{max:m,getHeight:x,container:b,darkThemeStyle:j,fallbackSlot:ye}}}),gt=(i,a)=>{const o=i.__vccOpts||i;for(const[d,b]of a)o[d]=b;return o};function St(i,a,o,d,b,C){return t(),s("div",{class:J(["vue-ts-json-editor",{"vue-ts-json-editor--max-box":i.max,"jse-theme-dark":i.darkThemeStyle}]),style:je(i.getHeight),ref:"container",onKeydown:a[0]||(a[0]=re(()=>{},["stop"]))},[i.fallbackSlot?at(i.$slots,"default",{key:0}):y("",!0)],38)}const Ce=gt(kt,[["render",St]]);Ce.install=()=>{console.error(`Default import not working!!! Use "import {JsonEditorPlugin} from 'vue3-ts-jsoneditor';"`)};const Ye=i=>new Proxy(()=>{},{apply:async(a,o,d)=>{if(typeof window>"u")throw new Error(`${i} is not available on server side. Please use it only in client-side code.`);return(await de(()=>import("./vanilla-jsoneditor-70-o8FkF.js"),__vite__mapDeps([0,1,2])))[i](...d)}});Ye("renderValue");Ye("renderJSONSchemaEnum");const Je=i=>i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),bt=i=>i.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,o,d)=>d?d.toUpperCase():o.toLowerCase()),wt=i=>{const a=bt(i);return a.charAt(0).toUpperCase()+a.slice(1)},$t=(...i)=>i.filter((a,o,d)=>!!a&&a.trim()!==""&&d.indexOf(a)===o).join(" ").trim(),We=i=>i==="";var Be={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const Ct=({name:i,iconNode:a,absoluteStrokeWidth:o,"absolute-stroke-width":d,strokeWidth:b,"stroke-width":C,size:m=Be.width,color:L=Be.stroke,...O},{slots:g})=>Ie("svg",{...Be,...O,width:m,height:m,stroke:L,"stroke-width":We(o)||We(d)||o===!0||d===!0?Number(b||C||Be["stroke-width"])*24/Number(m):b||C||Be["stroke-width"],class:$t("lucide",O.class,...i?[`lucide-${Je(wt(i))}-icon`,`lucide-${Je(i)}`]:["lucide-icon"])},[...a.map(x=>Ie(...x)),...g.default?[g.default()]:[]]);const le=(i,a)=>(o,{slots:d,attrs:b})=>Ie(Ct,{...b,...o,iconNode:a,name:i},d);const xt=le("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const Me=le("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Qe=le("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const Le=le("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const At=le("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);const Ge=le("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const Et=le("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);const De=le("lock-open",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);const Se=le("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const Bt=le("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);const et=le("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);const tt=le("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);const qt=le("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Ke=rt("endpoint",()=>{const i=q(null),a=q(null),o=q(null),d=q(!1),b=q([]),C=q(new Map),m=(E,k)=>!E||!k?null:`${k}:${E}`,L=v(()=>m(i.value,a.value)),O=v(()=>{const E=L.value;return E&&C.value.get(E)||null}),g=v(()=>!i.value||!a.value?[]:b.value.filter(E=>E.path===i.value&&E.method===a.value));function x(E,k){i.value=E,a.value=k}function j(E){o.value=E}function Q(E){E===null||o.value===E?o.value=null:o.value=E}function Z(){d.value=!d.value}function I(){d.value=!0}function T(){d.value=!1}function P(E,k,c){const p=m(E,k);p&&C.value.set(p,{...c})}function A(E,k){const c=m(E,k);return c&&C.value.get(c)||null}function V(E,k){const c=m(E,k);c&&C.value.delete(c)}function ee(E){b.value.unshift(E)}function $(E,k){b.value=b.value.filter(c=>!(c.path===E&&c.method===k))}function G(){b.value=[]}return{selectedPath:i,selectedMethod:a,selectedAuthScheme:o,authMenuOpen:d,requestHistory:b,endpointFormState:C,currentEndpointKey:L,currentFormState:O,filteredRequestHistory:g,setSelectedEndpoint:x,setSelectedAuthScheme:j,toggleSelectedAuthScheme:Q,toggleAuthMenu:Z,openAuthMenu:I,closeAuthMenu:T,saveEndpointFormState:P,getEndpointFormState:A,clearEndpointFormState:V,addRequestHistory:ee,clearEndpointHistory:$,clearAllHistory:G,getEndpointKey:m}}),Lt={class:"service-host-dropdown-wrapper"},jt={key:0,class:"service-host-selected"},Pt={key:1,class:"service-host-placeholder"},Rt={class:"service-host-list"},Tt={key:0,class:"service-host-empty-state"},Mt=["onClick"],Ht={class:"service-host-item-content"},Ot={class:"service-host-item-label"},zt={class:"service-host-item-url"},It=["onClick"],Vt={class:"service-host-add-section"},Ut={key:1,class:"service-host-add-form"},Dt={class:"service-host-add-actions"},Kt=["disabled"],Ft=xe({__name:"ServiceHostPicker",setup(i){const a=Pe(),o=q(!1),d=q(!1),b=q(""),C=q(""),m=v(()=>a.serviceHosts),L=v(()=>a.selectedServiceHost),O=v(()=>L.value?.id||null),g=T=>T.label?T.label:T.baseUrl+(T.openApiPath?` (${T.openApiPath})`:""),x=async T=>{m.value.find(A=>A.id===T)&&(await a.selectHost(T),o.value=!1)},j=async()=>{if(!b.value.trim())return;const T={id:crypto.randomUUID(),baseUrl:b.value.trim(),openApiPath:C.value.trim()||void 0};await a.addHost(T),await a.selectHost(T.id),b.value="",C.value="",d.value=!1,o.value=!1},Q=()=>{d.value=!1,b.value="",C.value=""},Z=async T=>{await a.removeHost(T)},I=T=>{T.target.closest(".service-host-dropdown-wrapper")||(o.value=!1)};return oe(()=>a.serviceHosts,()=>{},{deep:!0}),Ve(async()=>{await a.loadConfigFromLocalStorage(),a.selectedServiceHost&&await a.loadOpenApiSpec(),document.addEventListener("click",I)}),Xe(()=>{document.removeEventListener("click",I)}),(T,P)=>(t(),s("div",Lt,[e("div",{class:"service-host-dropdown",onClick:P[0]||(P[0]=re(A=>o.value=!o.value,["stop"]))},[L.value?(t(),s("span",jt,w(g(L.value)),1)):(t(),s("span",Pt,"Select service host")),D(S(Me),{size:16,class:"service-host-chevron"})]),o.value?(t(),s("div",{key:0,class:"service-host-dropdown-menu",onClick:P[4]||(P[4]=re(()=>{},["stop"]))},[e("div",Rt,[m.value.length===0?(t(),s("div",Tt,[...P[5]||(P[5]=[e("p",{class:"service-host-empty-text"},"No service hosts yet",-1),e("p",{class:"service-host-empty-hint"},"Add one below to get started",-1)])])):y("",!0),(t(!0),s(pe,null,ve(m.value,A=>(t(),s("div",{key:A.id,class:J(["service-host-item",{selected:O.value===A.id}]),onClick:V=>x(A.id)},[e("div",Ht,[e("div",Ot,w(g(A)),1),e("div",zt,w(A.baseUrl),1)]),e("button",{class:"service-host-item-remove",onClick:re(V=>Z(A.id),["stop"]),title:"Remove"},[D(S(tt),{size:14})],8,It)],10,Mt))),128))]),e("div",Vt,[d.value?(t(),s("div",Ut,[he(e("input",{"onUpdate:modelValue":P[2]||(P[2]=A=>b.value=A),type:"text",placeholder:"Base URL (e.g., https://api.example.com)",class:"service-host-add-input",onKeyup:Te(j,["enter"])},null,544),[[be,b.value]]),he(e("input",{"onUpdate:modelValue":P[3]||(P[3]=A=>C.value=A),type:"text",placeholder:"OpenAPI Path (optional, e.g., /openapi.json)",class:"service-host-add-input",onKeyup:Te(j,["enter"])},null,544),[[be,C.value]]),e("div",Dt,[e("button",{onClick:j,class:"service-host-add-submit",disabled:!b.value.trim()}," Add ",8,Kt),e("button",{onClick:Q,class:"service-host-add-cancel"}," Cancel ")])])):(t(),s("button",{key:0,class:"service-host-add-btn",onClick:P[1]||(P[1]=A=>d.value=!0)}," + Add Service Host "))])])):y("",!0)]))}}),st=He(Ft,[["__scopeId","data-v-2eb02fe1"]]),Nt={class:"endpoint-tester"},Jt={class:"endpoint-header"},Wt={class:"endpoint-title"},Qt={class:"endpoint-path"},Gt={key:0,class:"endpoint-info"},Xt={key:0,class:"endpoint-summary-text"},Zt={key:1,class:"endpoint-description"},Yt={key:0,class:"security-schemes-wrapper"},es={class:"security-schemes-section"},ts=["onClick"],ss={class:"scheme-name"},ns={class:"request-section"},as={key:0,class:"params-section"},os={class:"params-list"},ls={class:"param-name"},rs={key:0,class:"required"},is={key:1,class:"param-desc"},us=["onUpdate:modelValue","placeholder"],cs={key:1,class:"params-section"},ds={class:"params-list"},ps={class:"param-name"},vs={key:0,class:"required"},hs={key:1,class:"param-desc"},ms=["onUpdate:modelValue","placeholder"],ys={key:2,class:"body-section"},fs={class:"body-section-header"},_s={class:"view-toggle"},ks={key:0,class:"schema-display"},gs={class:"schema-text"},Ss={key:1,class:"json-editor-wrapper"},bs=["disabled"],ws={class:"response-section"},$s={class:"section-header"},Cs={key:0,class:"no-response"},xs={key:1,class:"no-response"},As={key:2,class:"request-history-list"},Es={class:"history-item-header"},Bs={class:"history-item-title"},qs={class:"history-url"},Ls={class:"history-meta-group"},js={key:0,class:"history-auth-scheme"},Ps={key:1,class:"history-auth-scheme"},Rs={class:"history-timestamp"},Ts={class:"history-curl-section"},Ms=["onClick"],Hs={class:"curl-header-left"},Os=["onClick"],zs={key:0,class:"curl-command"},Is={key:0,class:"history-request-body"},Vs={class:"json-editor-wrapper"},Us={key:1,class:"history-error"},Ds={class:"error-message"},Ks={key:2,class:"history-response"},Fs={class:"json-editor-wrapper"},Ns={class:"app-footer"},qe="__clerk_bearer__",Js=xe({__name:"EndpointTester",props:{path:{},method:{}},setup(i){const a=i,o=Ue(),d=Ke(),b=Pe(),C=!!(b.clerkPublishableKey&&b.clerkPublishableKey.trim());let m=null;if(C)try{m=Ze()}catch(_){console.warn("Failed to initialize Clerk auth:",_),m=null}const L=v(()=>{if(!m)return!1;try{return m.isSignedIn.value??!1}catch{return!1}}),O=m?.getToken?.value??(()=>Promise.resolve(null)),g=v(()=>{if(!m)return!1;try{return m.isLoaded.value??!1}catch{return!1}}),x=q({}),j=q(""),Q=q(null),Z=q(null),I=q(!1),T=q({}),P=q(new Set),A=q(!1),V=v(()=>d.selectedAuthScheme),ee=v(()=>d.filteredRequestHistory),$=v(()=>!a.path||!a.method?null:o.getSelectedEndpoint(a.path,a.method)),G=v(()=>o.endpoints),E=v(()=>!$.value||!$.value.parameters?[]:$.value.parameters.map(o.resolveParameter).filter(_=>_!==null&&_.in==="path")),k=v(()=>!$.value||!$.value.parameters?[]:$.value.parameters.map(o.resolveParameter).filter(_=>_!==null&&_.in==="query")),c=v({get:()=>{if(!j.value.trim())return"{}";try{return j.value}catch{return"{}"}},set:_=>{j.value=_}}),p=v(()=>$.value?o.getRequestBodySchema($.value):null),M=v(()=>!p.value||!o.openApiSpec?null:o.formatSchemaForDisplay(p.value,o.openApiSpec)),ie=()=>{A.value=!A.value},ye=v(()=>o.securitySchemes),fe=v(()=>$.value?o.getAvailableSecuritySchemes($.value):[]),Ae=v(()=>($.value?fe.value:ye.value).some(f=>f.scheme.type==="http"&&f.scheme.scheme==="bearer")),ue=v(()=>{const _=$.value?[...fe.value]:[...ye.value];return Ae.value&&C&&(_.some(n=>n.name===qe)||_.push({name:qe,scheme:{type:"http",scheme:"bearer",description:"Clerk Bearer Authentication"}})),_}),te=_=>o.endpointRequiresSecurity(_),me=_=>{d.toggleSelectedAuthScheme(_)},_e=_=>({GET:"#61affe",POST:"#49cc90",PUT:"#fca130",PATCH:"#50e3c2",DELETE:"#f93e3e"})[_]||"#999",r=async()=>{if(!a.path||!a.method)return;I.value=!0,Q.value=null,Z.value=null;const _={id:Date.now().toString()+Math.random().toString(36).substr(2,9),timestamp:new Date,method:a.method,path:a.path||"",url:"",requestBody:j.value.trim()?(()=>{try{return JSON.parse(j.value)}catch{return j.value}})():null,requestParams:{...x.value},headers:{},response:null,responseError:null,authScheme:V.value||null};try{let n=`${b.serviceHost||""}${a.path}`;const N={},se=new URLSearchParams;for(const[F,U]of Object.entries(x.value))if(U!==""&&U!=null){const ne=G.value.find(l=>l.path===a.path&&l.method===a.method);let h=!1;if(ne?.operation.parameters)for(const l of ne.operation.parameters){const u=o.resolveParameter(l);if(u&&u.name===F){h=u.in==="path";break}}h?N[F]=String(U):se.append(F,String(U))}for(const[F,U]of Object.entries(N))n=n.replace(`{${F}}`,encodeURIComponent(U));const X={"Content-Type":"application/json"};if(V.value===qe){if(L.value){g.value||await new Promise(U=>{const ne=setInterval(()=>{g.value&&(clearInterval(ne),U(void 0))},100)});const F=await O();F&&(X.Authorization=`Bearer ${F}`)}}else if(V.value&&o.openApiSpec?.components?.securitySchemes){const F=o.openApiSpec.components.securitySchemes[V.value];if(F&&typeof F=="object"&&!("$ref"in F)){const U=T.value[V.value];if(F.type==="apiKey"){const ne=F;U?.value&&(ne.in==="header"?X[ne.name]=U.value:ne.in==="query"&&se.append(ne.name,U.value))}else if(F.type==="http"){const ne=F;if(ne.scheme==="basic"){if(U?.username&&U?.password){const h=`${U.username}:${U.password}`;X.Authorization=`Basic ${btoa(h)}`}}else ne.scheme==="bearer"&&U?.token&&(X.Authorization=`Bearer ${U.token}`)}else F.type==="oauth2"?U?.accessToken&&(X.Authorization=`Bearer ${U.accessToken}`):F.type==="openIdConnect"&&U?.idToken&&(X.Authorization=`Bearer ${U.idToken}`)}}se.toString()&&(n+=`?${se.toString()}`),_.url=n,_.headers={...X};const W={method:a.method,headers:X};if(["POST","PUT","PATCH"].includes(a.method)&&j.value.trim())try{W.body=JSON.stringify(JSON.parse(j.value))}catch{const U="Invalid JSON in request body";Z.value=U,_.responseError=U,d.addRequestHistory(_),I.value=!1;return}const K=await fetch(n,W),Ee=K.headers.get("content-type");let ke;if(Ee?.includes("application/json"))ke={status:K.status,statusText:K.statusText,headers:Object.fromEntries(K.headers.entries()),body:await K.json()};else{const F=await K.text();ke={status:K.status,statusText:K.statusText,headers:Object.fromEntries(K.headers.entries()),body:F}}Q.value=ke,_.response=ke,_.status=K.status,_.statusText=K.statusText}catch(f){const n=f instanceof Error?f.message:"Request failed";Z.value=n,_.responseError=n}finally{I.value=!1,d.addRequestHistory(_)}},B=_=>{const f=["curl"];_.method!=="GET"&&f.push(`-X ${_.method}`);for(const[n,N]of Object.entries(_.headers||{})){const se=N.replace(/"/g,'\\"');f.push(`-H "${n}: ${se}"`)}if(["POST","PUT","PATCH"].includes(_.method)&&_.requestBody){const N=(typeof _.requestBody=="string"?_.requestBody:JSON.stringify(_.requestBody,null,2)).replace(/'/g,"'\\''").replace(/\n/g,"\\n");f.push(`-d '${N}'`)}return f.push(`"${_.url}"`),f.join(` \\
|
|
17
|
-
`)},z=async _=>{const f=B(_);try{await navigator.clipboard.writeText(f)}catch(n){console.error("Failed to copy to clipboard:",n)}},H=()=>{!a.path||!a.method||d.clearEndpointHistory(a.path,a.method)},ce=()=>{!a.path||!a.method||d.saveEndpointFormState(a.path,a.method,{requestParams:{...x.value},requestBody:j.value,selectedAuthScheme:V.value})};return oe([()=>a.path,()=>a.method],([_,f],[n,N])=>{if(_!==n||f!==N){n&&N&&ce(),Q.value=null,Z.value=null,P.value.clear();const se=d.getEndpointFormState(_||"",f||""),X=!!se;if(X&&se?(x.value={...se.requestParams},j.value=se.requestBody,d.setSelectedAuthScheme(se.selectedAuthScheme)):(x.value={},j.value="",d.setSelectedAuthScheme(null)),$.value?.parameters)for(const W of $.value.parameters){const K=o.resolveParameter(W);K&&(K.in==="query"||K.in==="path")&&(!X||!(K.name in x.value))&&(x.value[K.name]="")}else X||(x.value={});if(!X&&$.value?.requestBody){let W=$.value.requestBody;if(W&&typeof W=="object"&&"$ref"in W&&W.$ref&&o.openApiSpec){const K=o.resolveReference(W.$ref,o.openApiSpec);K&&typeof K=="object"&&(W=K)}if(W&&typeof W=="object"&&"content"in W&&W.content){const K=W.content["application/json"];if(K?.schema&&o.openApiSpec){const Ee=o.generateExampleFromSchema(K.schema,o.openApiSpec);j.value=JSON.stringify(Ee||{},null,2)}else j.value=JSON.stringify({},null,2)}}else X||(j.value="")}},{immediate:!0}),oe([x,j,V],()=>{a.path&&a.method&&ce()},{deep:!0}),(_,f)=>(t(),s("main",Nt,[e("div",Jt,[e("div",Wt,[e("span",{class:"method-badge large",style:je({backgroundColor:_e(i.method||"")})},w(i.method),5),e("span",Qt,w(i.path),1),$.value&&te($.value)?(t(),Y(S(Se),{key:0,size:18,class:"security-indicator-large",title:"Requires authentication"})):y("",!0)]),$.value&&($.value.summary||$.value.description)?(t(),s("div",Gt,[$.value.summary?(t(),s("p",Xt,w($.value.summary),1)):y("",!0),$.value.description?(t(),s("p",Zt,w($.value.description),1)):y("",!0)])):y("",!0)]),ue.value.length>0?(t(),s("div",Yt,[f[1]||(f[1]=e("h4",{class:"security-schemes-title"},"Security Schemes",-1)),e("div",es,[(t(!0),s(pe,null,ve(ue.value,n=>(t(),s("div",{key:n.name,class:J(["security-scheme-card",{selected:V.value===n.name}]),onClick:N=>me(n.name)},[D(S(Se),{size:12,class:"security-card-icon"}),e("span",ss,w(n.name===qe?"Clerk Bearer":n.name),1)],10,ts))),128))])])):y("",!0),e("div",ns,[f[5]||(f[5]=e("h3",null,"Request",-1)),E.value.length>0?(t(),s("div",as,[f[2]||(f[2]=e("h4",null,"Path Parameters",-1)),e("dl",os,[(t(!0),s(pe,null,ve(E.value,n=>(t(),s("div",{key:n.name,class:"param-item"},[e("dt",null,[e("span",ls,w(n.name),1),n.required?(t(),s("span",rs,"*")):y("",!0),n.description?(t(),s("span",is," - "+w(n.description),1)):y("",!0)]),e("dd",null,[he(e("input",{"onUpdate:modelValue":N=>x.value[n.name]=N,type:"text",placeholder:n.schema&&"default"in n.schema?String(n.schema.default):""},null,8,us),[[be,x.value[n.name]]])])]))),128))])])):y("",!0),k.value.length>0?(t(),s("div",cs,[f[3]||(f[3]=e("h4",null,"Query Parameters",-1)),e("dl",ds,[(t(!0),s(pe,null,ve(k.value,n=>(t(),s("div",{key:n.name,class:"param-item"},[e("dt",null,[e("span",ps,w(n.name),1),n.required?(t(),s("span",vs,"*")):y("",!0),n.description?(t(),s("span",hs," - "+w(n.description),1)):y("",!0)]),e("dd",null,[he(e("input",{"onUpdate:modelValue":N=>x.value[n.name]=N,type:"text",placeholder:n.schema&&"default"in n.schema?String(n.schema.default):""},null,8,ms),[[be,x.value[n.name]]])])]))),128))])])):y("",!0),$.value&&$.value.requestBody?(t(),s("div",ys,[e("div",fs,[f[4]||(f[4]=e("h4",null,"Request Body",-1)),e("div",_s,[e("button",{onClick:ie,class:J([{active:!A.value},"toggle-btn small"])}," Edit ",2),e("button",{onClick:ie,class:J([{active:A.value},"toggle-btn small"])}," Schema ",2)])]),A.value&&M.value?(t(),s("div",ks,[e("pre",gs,w(M.value),1)])):A.value?y("",!0):(t(),s("div",Ss,[D(S(Ce),{text:c.value,"onUpdate:text":f[0]||(f[0]=n=>c.value=n),mode:"text",mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["text"])]))])):y("",!0),e("button",{onClick:r,class:"send-button",disabled:I.value},[D(S(et),{size:16,class:"send-button-icon"}),e("span",null,w(I.value?"Sending...":"Send Request"),1)],8,bs)]),e("div",ws,[e("div",$s,[f[6]||(f[6]=e("h3",null,"Request History",-1)),ee.value.length>0?(t(),s("button",{key:0,onClick:H,class:"clear-history-btn"}," Clear History ")):y("",!0)]),!i.path||!i.method?(t(),s("div",Cs," Select an endpoint to view request history. ")):ee.value.length===0?(t(),s("div",xs,' No requests sent yet. Click "Send Request" to test the endpoint. ')):(t(),s("div",As,[(t(!0),s(pe,null,ve(ee.value,n=>(t(),s("div",{key:n.id,class:"history-item"},[e("div",Es,[e("div",Bs,[e("span",{class:J(["status-code",{success:n.status&&n.status>=200&&n.status<300,error:n.status&&n.status>=400,redirect:n.status&&n.status>=300&&n.status<400}])},w(n.status||"N/A"),3),e("span",qs,w(n.url),1)]),e("div",Ls,[n.authScheme?(t(),s("span",js,[D(S(Se),{size:12}),Fe(" "+w(n.authScheme===qe?"Clerk Bearer":n.authScheme),1)])):(t(),s("span",Ps,[D(S(De),{size:12}),f[7]||(f[7]=Fe(" Anonymous ",-1))])),e("span",Rs,w(new Date(n.timestamp).toLocaleTimeString()),1)])]),e("div",Ts,[e("div",{class:"curl-header",onClick:N=>P.value.has(n.id)?P.value.delete(n.id):P.value.add(n.id)},[e("div",Hs,[P.value.has(n.id)?(t(),Y(S(Me),{key:0,size:16,class:"curl-toggle-icon"})):(t(),Y(S(Le),{key:1,size:16,class:"curl-toggle-icon"})),f[8]||(f[8]=e("h5",null,"cURL Command",-1))]),e("button",{onClick:re(N=>z(n),["stop"]),class:"copy-curl-btn",title:"Copy cURL command"},[D(S(At),{size:16}),f[9]||(f[9]=e("span",null,"Copy",-1))],8,Os)],8,Ms),P.value.has(n.id)?(t(),s("div",zs,[e("pre",null,w(B(n)),1)])):y("",!0)]),n.requestBody?(t(),s("div",Is,[f[10]||(f[10]=e("h5",null,"Request Body",-1)),e("div",Vs,[D(S(Ce),{"model-value":n.requestBody,mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])])])):y("",!0),n.responseError?(t(),s("div",Us,[f[11]||(f[11]=e("h5",null,"Error",-1)),e("div",Ds,w(n.responseError),1)])):n.response?(t(),s("div",Ks,[f[12]||(f[12]=e("h5",null,"Response",-1)),e("div",Fs,[D(S(Ce),{"model-value":(()=>{if(typeof n.response.body=="string")try{return JSON.parse(n.response.body)}catch{return{text:n.response.body}}return n.response.body||{}})(),mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])])])):y("",!0)]))),128))]))]),e("footer",Ns,[e("p",null,"© "+w(new Date().getFullYear())+" Gamja Labs",1)])]))}}),Ws=He(Js,[["__scopeId","data-v-cab1bf2e"]]),Qs={key:0,class:"auth-side-menu"},Gs={class:"auth-menu-header"},Xs={class:"auth-menu-content"},Zs={class:"auth-scheme-header"},Ys={style:{display:"flex","align-items":"center",gap:"0.5rem"}},en={class:"auth-scheme-header"},tn={style:{display:"flex","align-items":"center",gap:"0.5rem"}},sn=["onClick"],nn={class:"auth-scheme-header"},an={style:{display:"flex","align-items":"center",gap:"0.5rem"}},on={class:"auth-scheme-type"},ln={key:0,class:"auth-scheme-description"},rn={class:"field-location"},un=["value","onInput","placeholder"],cn=["onClick"],dn=["value","onInput"],pn=["value","onInput"],vn=["onClick"],hn=["value","onInput"],mn=["onClick"],yn=["value","onInput"],fn=["onClick"],_n=["value","onInput"],kn=["onClick"],gn={key:1,class:"clerk-key-card"},Sn={class:"clerk-key-description"},bn={key:0},wn={key:1},$n={class:"clerk-key-fields"},Cn=["disabled"],Oe="__clerk_bearer__",xn=xe({__name:"SecuritySchemeMenu",setup(i,{expose:a}){const o=Ue(),d=Ke(),b=Pe(),C=it(),m=v(()=>!!(b.clerkPublishableKey&&b.clerkPublishableKey.trim())),L=v(()=>o.securitySchemes),O=v(()=>d.selectedAuthScheme),g=v(()=>d.authMenuOpen),x=q({});v(()=>{if(!O.value)return"Anonymous";if(O.value===Oe)return"Clerk Bearer";const k=L.value.find(c=>c.name===O.value);return k?k.name:"Anonymous"});const j=v(()=>b.selectedServiceHost),Q=q("");oe(j,k=>{Q.value=k?.clerkPublishableKey||""},{immediate:!0});const Z=v(()=>!!j.value?.clerkPublishableKey?.trim()),I=v(()=>{const k=T.value;return k==="config.json"||k==="env"}),T=v(()=>{const k=b.clerkPublishableKey,c=void 0,p=b.config;return j.value?.clerkPublishableKey?"serviceHost":k&&p.clerkPublishableKey===k&&k!==c?"config.json":k&&k===c?"env":null}),P=v(()=>{const k=T.value;return k==="config.json"?`Key loaded from ${C.getConfigJsonPath()}`:k==="env"?"Key loaded from environment variable":k==="serviceHost"?"Key stored with service host":null}),A=(k,c,p)=>{x.value[k]||(x.value[k]={}),x.value[k][c]=p},V=k=>{delete x.value[k]},ee=k=>{d.toggleSelectedAuthScheme(k)},$=()=>{j.value&&(b.saveClerkPublishableKeyForSelectedHost(Q.value),typeof window<"u"&&window.location.reload())},G=()=>{j.value&&(b.clearClerkPublishableKeyForSelectedHost(),typeof window<"u"&&window.location.reload())},E=()=>{d.closeAuthMenu()};return a({authCredentials:x}),(k,c)=>g.value?(t(),s("aside",Qs,[e("div",Gs,[c[8]||(c[8]=e("h2",null,"Security Scheme",-1)),e("button",{onClick:E,class:"close-auth-menu",title:"Close"},[D(S(tt),{size:20})])]),e("div",Xs,[e("div",{class:J(["auth-scheme anonymous-option",{selected:O.value===null}]),onClick:c[0]||(c[0]=p=>ee(null))},[e("div",Zs,[e("div",Ys,[D(S(De),{size:18}),c[9]||(c[9]=e("h3",null,"Anonymous",-1))]),c[10]||(c[10]=e("span",{class:"auth-scheme-type"},"NONE",-1))]),c[11]||(c[11]=e("div",{class:"auth-scheme-description"}," Make requests without authentication ",-1))],2),m.value?(t(),s("div",{key:0,class:J(["auth-scheme clerk-bearer-option",{selected:O.value===Oe}]),onClick:c[1]||(c[1]=p=>ee(Oe))},[e("div",en,[e("div",tn,[D(S(Se),{size:18}),c[12]||(c[12]=e("h3",null,"Clerk Bearer",-1))]),c[13]||(c[13]=e("span",{class:"auth-scheme-type"},"CLERK",-1))]),c[14]||(c[14]=e("div",{class:"auth-scheme-description"}," Use Clerk authentication token for bearer authentication ",-1))],2)):y("",!0),(t(!0),s(pe,null,ve(L.value,p=>(t(),s("div",{key:p.name,class:J(["auth-scheme",{selected:O.value===p.name}]),onClick:M=>ee(p.name)},[e("div",nn,[e("div",an,[D(S(Se),{size:18}),e("h3",null,w(p.name),1)]),e("span",on,w(p.scheme.type),1)]),p.scheme.description?(t(),s("div",ln,w(p.scheme.description),1)):y("",!0),p.scheme.type==="apiKey"?(t(),s("div",{key:1,class:"auth-scheme-fields",onClick:c[2]||(c[2]=re(()=>{},["stop"]))},[e("label",null,[e("span",null,w(p.scheme.name),1),e("span",rn,"("+w(p.scheme.in)+")",1),e("input",{type:"text",value:x.value[p.name]?.value||"",onInput:M=>A(p.name,"value",M.target.value),placeholder:`Enter ${p.scheme.name}`,class:"auth-input"},null,40,un)]),x.value[p.name]?.value?(t(),s("button",{key:0,onClick:M=>V(p.name),class:"clear-credential-btn"}," Clear ",8,cn)):y("",!0)])):p.scheme.type==="http"&&p.scheme.scheme==="basic"?(t(),s("div",{key:2,class:"auth-scheme-fields",onClick:c[3]||(c[3]=re(()=>{},["stop"]))},[e("label",null,[c[15]||(c[15]=e("span",null,"Username",-1)),e("input",{type:"text",value:x.value[p.name]?.username||"",onInput:M=>A(p.name,"username",M.target.value),placeholder:"Enter username",class:"auth-input"},null,40,dn)]),e("label",null,[c[16]||(c[16]=e("span",null,"Password",-1)),e("input",{type:"text",value:x.value[p.name]?.password||"",onInput:M=>A(p.name,"password",M.target.value),placeholder:"Enter password",class:"auth-input"},null,40,pn)]),x.value[p.name]?.username||x.value[p.name]?.password?(t(),s("button",{key:0,onClick:M=>V(p.name),class:"clear-credential-btn"}," Clear ",8,vn)):y("",!0)])):p.scheme.type==="http"&&p.scheme.scheme==="bearer"?(t(),s("div",{key:3,class:"auth-scheme-fields",onClick:c[4]||(c[4]=re(()=>{},["stop"]))},[e("label",null,[c[17]||(c[17]=e("span",null,"Bearer Token",-1)),e("input",{type:"text",value:x.value[p.name]?.token||"",onInput:M=>A(p.name,"token",M.target.value),placeholder:"Enter bearer token",class:"auth-input"},null,40,hn)]),x.value[p.name]?.token?(t(),s("button",{key:0,onClick:M=>V(p.name),class:"clear-credential-btn"}," Clear ",8,mn)):y("",!0)])):p.scheme.type==="oauth2"?(t(),s("div",{key:4,class:"auth-scheme-fields",onClick:c[5]||(c[5]=re(()=>{},["stop"]))},[e("label",null,[c[18]||(c[18]=e("span",null,"Access Token",-1)),e("input",{type:"text",value:x.value[p.name]?.accessToken||"",onInput:M=>A(p.name,"accessToken",M.target.value),placeholder:"Enter OAuth2 access token",class:"auth-input"},null,40,yn)]),x.value[p.name]?.accessToken?(t(),s("button",{key:0,onClick:M=>V(p.name),class:"clear-credential-btn"}," Clear ",8,fn)):y("",!0)])):p.scheme.type==="openIdConnect"?(t(),s("div",{key:5,class:"auth-scheme-fields",onClick:c[6]||(c[6]=re(()=>{},["stop"]))},[e("label",null,[c[19]||(c[19]=e("span",null,"ID Token",-1)),e("input",{type:"text",value:x.value[p.name]?.idToken||"",onInput:M=>A(p.name,"idToken",M.target.value),placeholder:"Enter OpenID Connect ID token",class:"auth-input"},null,40,_n)]),x.value[p.name]?.idToken?(t(),s("button",{key:0,onClick:M=>V(p.name),class:"clear-credential-btn"}," Clear ",8,kn)):y("",!0)])):y("",!0)],10,sn))),128)),j.value?(t(),s("div",gn,[c[21]||(c[21]=e("div",{class:"clerk-key-header"},[e("h3",null,"Clerk Publishable Key")],-1)),e("div",Sn,[P.value?(t(),s("span",bn,w(P.value),1)):(t(),s("span",wn," Enter your Clerk publishable key to enable authentication. This will be stored with the selected service host. "))]),e("div",$n,[e("label",null,[c[20]||(c[20]=e("span",null,"Publishable Key",-1)),he(e("input",{"onUpdate:modelValue":c[7]||(c[7]=p=>Q.value=p),type:"text",placeholder:"pk_test_...",class:"clerk-key-input",disabled:Z.value||I.value},null,8,Cn),[[be,Q.value]])]),!Z.value&&!I.value?(t(),s("button",{key:0,onClick:$,class:"save-button"}," Save and reload ")):Z.value&&!I.value?(t(),s("button",{key:1,onClick:G,class:"save-button"}," Clear and reload ")):y("",!0)])])):y("",!0)])])):y("",!0)}}),An=He(xn,[["__scopeId","data-v-b8c2be74"]]),En={key:0,class:"service-host-input-section"},Bn={key:0,class:"welcome-description"},qn={key:1,class:"welcome-description"},Ln={key:3,class:"service-host-direct-form"},jn={class:"service-host-input-wrapper"},Pn=["disabled"],Rn=xe({__name:"WelcomeServiceHostInput",setup(i){const a=Pe(),o=q(""),d=q(""),b=v(()=>a.serviceHosts),C=v(()=>a.hasServiceHost),m=async()=>{if(!o.value.trim())return;const L={id:crypto.randomUUID(),baseUrl:o.value.trim(),openApiPath:d.value.trim()||void 0};await a.addHost(L),await a.selectHost(L.id),o.value="",d.value=""};return(L,O)=>S(a).isServiceHostPickerEnabled&&!C.value?(t(),s("div",En,[b.value.length>0?(t(),s("p",Bn," Please select or add a service host to get started. ")):(t(),s("p",qn," Please enter your service host URL to get started. ")),b.value.length>0?(t(),Y(st,{key:2})):(t(),s("div",Ln,[e("div",jn,[he(e("input",{"onUpdate:modelValue":O[0]||(O[0]=g=>o.value=g),type:"text",placeholder:"Base URL (e.g., https://api.example.com)",class:"service-host-input",onKeyup:Te(m,["enter"])},null,544),[[be,o.value]]),he(e("input",{"onUpdate:modelValue":O[1]||(O[1]=g=>d.value=g),type:"text",placeholder:"OpenAPI Path (optional, e.g., /openapi.json)",class:"service-host-input",onKeyup:Te(m,["enter"])},null,544),[[be,d.value]]),e("button",{onClick:m,class:"service-host-submit-btn",disabled:!o.value.trim()}," Connect ",8,Pn)])]))])):y("",!0)}}),Tn=He(Rn,[["__scopeId","data-v-d0cf2fc7"]]),Mn={class:"openapi-test"},Hn={class:"test-header"},On={class:"header-content"},zn={class:"header-title-section"},In={class:"title-section-content"},Vn={class:"title-row"},Un={class:"logo"},Dn={key:0,class:"api-version"},Kn={key:0,class:"api-description"},Fn={key:0,class:"header-title-section"},Nn=["disabled"],Jn={class:"header-actions"},Wn=["href"],Qn={href:"https://github.com/gamja-labs/openapi-studio",target:"_blank",rel:"noopener noreferrer",class:"github-link",title:"View on GitHub"},Gn={key:1,class:"auth-section"},Xn={key:1,class:"user-section"},Zn={class:"test-container"},Yn={class:"sidebar-header"},ea=["title"],ta={class:"sidebar-content"},sa={key:0,class:"loading"},na={key:1,class:"error"},aa={key:2,class:"endpoints-groups"},oa=["onClick"],la={class:"group-name"},ra={class:"group-count"},ia={class:"group-toggle"},ua={key:0,class:"group-endpoints"},ca=["onClick"],da={class:"endpoint-path"},pa={key:0,class:"endpoint-summary"},va={key:2,class:"endpoint-content"},ha={class:"examples-header"},ma=["title"],ya={class:"examples-content"},fa={key:0,class:"example-section"},_a={class:"example-section-header"},ka={class:"view-toggle"},ga={class:"example-content"},Sa={key:0,class:"schema-display"},ba={class:"schema-text"},wa={key:1,class:"json-editor-wrapper"},$a={key:1,class:"example-section"},Ca={class:"response-codes-list"},xa={class:"response-code-header"},Aa={class:"response-code-number"},Ea={class:"response-code-right"},Ba={key:0,class:"response-code-description"},qa={class:"view-toggle"},La=["onClick"],ja=["onClick"],Pa={key:0,class:"example-content"},Ra={key:0,class:"schema-display"},Ta={class:"schema-text"},Ma={key:1,class:"json-editor-wrapper"},Ha={key:1,class:"no-example"},Oa={key:2,class:"no-examples"},za={key:3,class:"example-section"},Ia={class:"schema-references-list"},Va=["onClick"],Ua={class:"schema-reference-toggle"},Da={class:"schema-reference-name"},Ka={key:0,class:"example-content"},Fa={class:"schema-display"},Na={class:"schema-text"},Ja={key:3,class:"endpoint-tester empty"},Wa={class:"empty-state"},Qa={class:"welcome-content"},Ga={class:"welcome-icon"},Xa={key:0,class:"welcome-description"},Za={key:1,class:"welcome-tips"},Ya={class:"tip-item"},eo={class:"tip-item"},to={class:"tip-item"},so={class:"app-footer"},no="__clerk_bearer__",oo=xe({__name:"Main",setup(i){const a=dt(),o=Pe(),d=v(()=>o.hasServiceHost),b=ut(),C=ct(),m=Ue(),L=Ke();let O=!!(o.clerkPublishableKey&&o.clerkPublishableKey.trim()),g=null;if(O)try{g=Ze()}catch(h){console.warn("Failed to initialize Clerk auth:",h),O=!1,g=null}const x=v(()=>{if(!g)return!1;try{return g.isSignedIn.value??!1}catch{return!1}}),j=v(()=>m.openApiSpec),Q=v(()=>m.loading),Z=v(()=>m.error),I=v(()=>L.selectedPath),T=v(()=>L.selectedMethod),P=v(()=>L.selectedAuthScheme),A=q(new Set),V=q(new Set),ee=q(new Map),$=q(!1),G=q(!1),E=q(500),k=q(400),c=q(!1),p=q(!1),M=v(()=>m.getSelectedEndpoint(I.value,T.value)),ie=v(()=>m.endpoints),ye=v(()=>{if(ie.value.length===0)return[];const h=new Map;for(const l of ie.value){const u=l.operation.tags||[];if(u.length>0){const R=u[0];R&&(h.has(R)||h.set(R,{name:R,endpoints:[]}),h.get(R).endpoints.push(l))}else{const R=l.path.split("/").filter(ge=>ge),ae=R.length>0?`/${R[0]}`:"Other";h.has(ae)||h.set(ae,{name:ae,endpoints:[]}),h.get(ae).endpoints.push(l)}}return A.value.size===0&&h.forEach((l,u)=>A.value.add(u)),Array.from(h.values()).sort((l,u)=>l.name.localeCompare(u.name))}),fe=h=>{A.value.has(h)?A.value.delete(h):A.value.add(h)},Ae=h=>{V.value.has(h)?V.value.delete(h):V.value.add(h)},ue=h=>{const l=ee.value.get(h)||!1;ee.value.set(h,!l)},te=h=>ee.value.get(h)||!1,me=new Map;async function _e(h,l){const u=`${l}:${h}`;if(me.has(u))return me.get(u);const ae=new TextEncoder().encode(u),ge=await crypto.subtle.digest("SHA-256",ae),we=Array.from(new Uint8Array(ge)).map(nt=>nt.toString(16).padStart(2,"0")).join("").slice(0,16);return me.set(u,we),we}function r(h,l){const u=`${l}:${h}`;return me.get(u)||""}async function B(){const h=C.query.endpoint;if(!h)return null;for(const l of ie.value)if(await _e(l.path,l.method)===h)return{path:l.path,method:l.method};return null}Ve(async()=>{$.value=a.loadSidebarCollapsed(),G.value=a.loadExamplesSidebarCollapsed(),E.value=a.loadEndpointsSidebarWidth(),k.value=a.loadExamplesSidebarWidth(),await o.loadOpenApiSpec();for(const l of ie.value)await _e(l.path,l.method);const h=await B();h&&(await ze(),await ce(h.path,h.method,!1)),oe(()=>C.query.endpoint,async l=>{if(l){const u=await B();u&&(I.value!==u.path||T.value!==u.method)&&await ce(u.path,u.method,!1)}else(I.value||T.value)&&L.setSelectedEndpoint(null,null)}),oe($,l=>{a.saveSidebarCollapsed(l)}),oe(G,l=>{a.saveExamplesSidebarCollapsed(l)}),oe(E,l=>{a.saveEndpointsSidebarWidth(l)}),oe(k,l=>{a.saveExamplesSidebarWidth(l)})});const z=h=>{c.value=!0;const l=h.clientX,u=E.value,R=ge=>{const Re=ge.clientX-l,we=Math.max(200,Math.min(800,u+Re));E.value=we},ae=()=>{c.value=!1,document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",ae)};document.addEventListener("mousemove",R),document.addEventListener("mouseup",ae)},H=h=>{p.value=!0;const l=h.clientX,u=k.value,R=ge=>{const Re=l-ge.clientX,we=Math.max(200,Math.min(800,u+Re));k.value=we},ae=()=>{p.value=!1,document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",ae)};document.addEventListener("mousemove",R),document.addEventListener("mouseup",ae)},ce=async(h,l,u=!0)=>{if(L.setSelectedEndpoint(h,l),V.value.clear(),ee.value.clear(),u){const R=r(h,l)||await _e(h,l);C.query.endpoint!==R&&await b.replace({query:{...C.query,endpoint:R}})}},_=h=>({GET:"#61affe",POST:"#49cc90",PUT:"#fca130",PATCH:"#50e3c2",DELETE:"#f93e3e"})[h]||"#999",f=v(()=>M.value?m.getExampleFromRequestBody(M.value):null),n=v(()=>M.value?m.getRequestBodySchema(M.value):null),N=v(()=>!n.value||!j.value?null:m.formatSchemaForDisplay(n.value,j.value)),se=h=>!h||!j.value?null:m.formatSchemaForDisplay(h,j.value),X=v(()=>M.value?m.getAllResponseExamples(M.value):[]),W=v(()=>M.value?m.getEndpointSchemaReferences(M.value):[]),K=h=>m.endpointRequiresSecurity(h),Ee=v(()=>m.openApiTitle),ke=v(()=>m.openApiDescription),F=v(()=>m.openApiVersion),U=v(()=>{if(!P.value)return"Anonymous";if(P.value===no)return"Clerk Bearer";const l=m.securitySchemes.find(u=>u.name===P.value);return l?l.name:"Anonymous"}),ne=async()=>{await o.reload()};return(h,l)=>(t(),s("div",Mn,[e("header",Hn,[e("div",On,[e("div",zn,[e("div",In,[e("div",Vn,[e("h1",Un,w(Ee.value),1),F.value?(t(),s("div",Dn,"v"+w(F.value),1)):y("",!0)]),ke.value?(t(),s("p",Kn,w(ke.value),1)):y("",!0)]),d.value?(t(),s("div",Fn,[d.value?(t(),s("button",{key:0,onClick:ne,class:"refresh-spec-btn",disabled:S(m).loading,title:"Refresh OpenAPI Spec"},[D(S(Bt),{size:20,class:J({spinning:S(m).loading})},null,8,["class"])],8,Nn)):y("",!0)])):y("",!0)]),e("div",Jn,[S(o).isServiceHostPickerEnabled?(t(),Y(st,{key:0})):y("",!0),e("a",{href:S(m).openApiSpecUrl,target:"_blank",rel:"noopener noreferrer",class:"openapi-spec-link",title:"View OpenAPI Spec JSON"},[D(S(Ge),{size:20})],8,Wn),e("a",Qn,[D(S(Et),{size:20})]),e("button",{onClick:l[0]||(l[0]=(...u)=>S(L).toggleAuthMenu&&S(L).toggleAuthMenu(...u)),class:J(["auth-menu-toggle",{active:S(L).authMenuOpen,"has-selection":P.value}]),title:"Security Scheme"},[P.value?(t(),Y(S(Se),{key:1,size:16})):(t(),Y(S(De),{key:0,size:16})),e("span",null,w(P.value?U.value:"Security"),1)],2),S(O)?(t(),s("div",Gn,[x.value?(t(),s("div",Xn,[D(S(ht))])):(t(),Y(S(vt),{key:0,mode:"modal"},{default:pt(()=>[...l[5]||(l[5]=[e("button",{class:"sign-in-btn"},"Sign In",-1)])]),_:1}))])):y("",!0)])])]),D(An),e("div",Zn,[d.value?(t(),s("aside",{key:0,class:J(["endpoints-sidebar",{collapsed:$.value,resizing:c.value}]),style:je({width:$.value?"60px":`${E.value}px`})},[e("div",Yn,[l[6]||(l[6]=e("h2",null,"Endpoints ",-1)),e("button",{onClick:l[1]||(l[1]=u=>$.value=!$.value),class:"sidebar-toggle",title:$.value?"Expand sidebar":"Collapse sidebar"},[$.value?(t(),Y(S(Le),{key:0,size:16})):(t(),Y(S(Qe),{key:1,size:16}))],8,ea)]),he(e("div",ta,[Q.value?(t(),s("div",sa,"Loading OpenAPI spec...")):Z.value?(t(),s("div",na,w(Z.value),1)):(t(),s("div",aa,[(t(!0),s(pe,null,ve(ye.value,u=>(t(),s("div",{key:u.name,class:"endpoint-group"},[e("div",{class:"group-header",onClick:R=>fe(u.name)},[e("span",la,w(u.name),1),e("span",ra,"("+w(u.endpoints.length)+")",1),e("span",ia,[A.value.has(u.name)?(t(),Y(S(Me),{key:0,size:14})):(t(),Y(S(Le),{key:1,size:14}))])],8,oa),A.value.has(u.name)?(t(),s("div",ua,[(t(!0),s(pe,null,ve(u.endpoints,R=>(t(),s("div",{key:`${R.method}-${R.path}`,class:J(["endpoint-item",{active:I.value===R.path&&T.value===R.method}]),onClick:re(ae=>ce(R.path,R.method),["stop"])},[e("span",{class:"method-badge",style:je({backgroundColor:_(R.method)})},w(R.method),5),e("span",da,w(R.path),1),R.operation.summary?(t(),s("span",pa,w(R.operation.summary),1)):y("",!0),K(R.operation)?(t(),Y(S(Se),{key:1,size:14,class:"security-indicator",title:"Requires authentication"})):y("",!0)],10,ca))),128))])):y("",!0)]))),128))]))],512),[[Ne,!$.value]])],6)):y("",!0),d.value&&!$.value?(t(),s("div",{key:1,class:J(["resize-handle resize-handle-endpoints",{resizing:c.value}]),onMousedown:z},null,34)):y("",!0),M.value?(t(),s("div",va,[D(Ws,{path:I.value,method:T.value},null,8,["path","method"]),G.value?y("",!0):(t(),s("div",{key:0,class:J(["resize-handle resize-handle-examples",{resizing:p.value}]),onMousedown:H},null,34)),e("aside",{class:J(["examples-sidebar",{collapsed:G.value,resizing:p.value}]),style:je({width:G.value?"60px":`${k.value}px`})},[e("div",ha,[l[7]||(l[7]=e("h3",null,"Examples",-1)),e("button",{onClick:l[2]||(l[2]=u=>G.value=!G.value),class:"examples-toggle",title:G.value?"Expand examples":"Collapse examples"},[G.value?(t(),Y(S(Qe),{key:0,size:16})):(t(),Y(S(Le),{key:1,size:16}))],8,ma)]),he(e("div",ya,[f.value||n.value?(t(),s("div",fa,[e("div",_a,[e("h4",null,w(te("request-body")?"Request Body Schema":"Example Request Body"),1),e("div",ka,[e("button",{onClick:l[3]||(l[3]=u=>ue("request-body")),class:J([{active:!te("request-body")},"toggle-btn"])}," Example ",2),e("button",{onClick:l[4]||(l[4]=u=>ue("request-body")),class:J([{active:te("request-body")},"toggle-btn"])}," Schema ",2)])]),e("div",ga,[te("request-body")&&N.value?(t(),s("div",Sa,[e("pre",ba,w(N.value),1)])):te("request-body")?y("",!0):(t(),s("div",wa,[D(S(Ce),{"model-value":f.value,mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])]))])])):y("",!0),X.value.length>0?(t(),s("div",$a,[l[8]||(l[8]=e("h4",null,"Response Codes",-1)),e("div",Ca,[(t(!0),s(pe,null,ve(X.value,u=>(t(),s("div",{key:u.code,class:"response-code-item"},[e("div",xa,[e("div",{class:J(["response-code-left",{success:u.isSuccess,error:!u.isSuccess}])},[e("span",Aa,w(u.code),1)],2),e("div",Ea,[u.description?(t(),s("div",Ba,w(u.description),1)):y("",!0),e("div",qa,[e("button",{onClick:R=>ue(`response-${u.code}`),class:J([{active:!te(`response-${u.code}`)},"toggle-btn small"])}," Example ",10,La),e("button",{onClick:R=>ue(`response-${u.code}`),class:J([{active:te(`response-${u.code}`)},"toggle-btn small"])}," Schema ",10,ja)])])]),(te(`response-${u.code}`)?u.schema:u.example)?(t(),s("div",Pa,[te(`response-${u.code}`)&&u.schema?(t(),s("div",Ra,[e("pre",Ta,w(se(u.schema)),1)])):te(`response-${u.code}`)?y("",!0):(t(),s("div",Ma,[D(S(Ce),{"model-value":u.example,mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])]))])):(t(),s("div",Ha," No "+w(te(`response-${u.code}`)?"schema":"example")+" available ",1))]))),128))])])):y("",!0),!f.value&&X.value.length===0?(t(),s("div",Oa," No examples available for this endpoint. ")):y("",!0),W.value.length>0?(t(),s("div",za,[l[9]||(l[9]=e("h4",null,"Referenced Schemas",-1)),e("div",Ia,[(t(!0),s(pe,null,ve(W.value,u=>(t(),s("div",{key:u.name,class:"schema-reference-item"},[e("div",{class:"schema-reference-header",onClick:R=>Ae(u.name)},[e("span",Ua,[V.value.has(u.name)?(t(),Y(S(Me),{key:0,size:14})):(t(),Y(S(Le),{key:1,size:14}))]),e("span",Da,w(u.name),1)],8,Va),V.value.has(u.name)?(t(),s("div",Ka,[e("div",Fa,[e("pre",Na,w(S(m).formatSchemaForDisplay(u.schema,j.value)),1)])])):y("",!0)]))),128))])])):y("",!0)],512),[[Ne,!G.value]])],6)])):(t(),s("main",Ja,[e("div",Wa,[e("div",Qa,[e("div",Ga,[D(S(et),{size:64})]),l[13]||(l[13]=e("h1",{class:"welcome-title"},"Welcome to OpenAPI Studio",-1)),d.value?(t(),s("p",Xa," Select an endpoint from the sidebar to start testing your API endpoints. ")):y("",!0),D(Tn),d.value?(t(),s("div",Za,[e("div",Ya,[D(S(Ge),{size:20,class:"tip-icon"}),l[10]||(l[10]=e("span",null,"Browse available endpoints in the sidebar",-1))]),e("div",eo,[D(S(qt),{size:20,class:"tip-icon"}),l[11]||(l[11]=e("span",null,"Test requests with custom parameters",-1))]),e("div",to,[D(S(xt),{size:20,class:"tip-icon"}),l[12]||(l[12]=e("span",null,"View responses and schema documentation",-1))])])):y("",!0)])]),e("footer",so,[e("p",null,"© "+w(new Date().getFullYear())+" Gamja Labs",1)])]))])]))}});export{oo as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.service-host-dropdown-wrapper[data-v-2eb02fe1]{position:relative;margin-left:auto}.service-host-dropdown[data-v-2eb02fe1]{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;min-width:200px;height:2rem;cursor:pointer;transition:border-color .2s}.service-host-dropdown[data-v-2eb02fe1]:hover{border-color:hsl(var(--ring))}.service-host-dropdown .service-host-selected[data-v-2eb02fe1]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-host-dropdown .service-host-placeholder[data-v-2eb02fe1]{flex:1;color:hsl(var(--muted-foreground))}.service-host-dropdown .service-host-chevron[data-v-2eb02fe1]{color:hsl(var(--muted-foreground));transition:transform .2s;flex-shrink:0}.service-host-dropdown-menu[data-v-2eb02fe1]{position:absolute;top:calc(100% + .25rem);right:0;min-width:300px;max-width:400px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;max-height:400px;overflow-y:auto;overflow-x:hidden}.service-host-list[data-v-2eb02fe1]{padding:.5rem;min-height:2rem}.service-host-empty-state[data-v-2eb02fe1]{padding:1.5rem .5rem;text-align:center;color:hsl(var(--muted-foreground))}.service-host-empty-text[data-v-2eb02fe1]{font-size:.875rem;font-weight:500;margin:0 0 .25rem;color:hsl(var(--foreground))}.service-host-empty-hint[data-v-2eb02fe1]{font-size:.75rem;margin:0;color:hsl(var(--muted-foreground))}.service-host-item[data-v-2eb02fe1]{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background-color .2s}.service-host-item[data-v-2eb02fe1]:hover{background:hsl(var(--muted)/.5)}.service-host-item.selected[data-v-2eb02fe1]{background:hsl(var(--primary)/.1)}.service-host-item .service-host-item-content[data-v-2eb02fe1]{flex:1;min-width:0}.service-host-item .service-host-item-label[data-v-2eb02fe1]{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-host-item .service-host-item-url[data-v-2eb02fe1]{font-size:.75rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-host-item .service-host-item-remove[data-v-2eb02fe1]{padding:.25rem;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:calc(var(--radius) - 2px);display:flex;align-items:center;justify-content:center;transition:all .2s}.service-host-item .service-host-item-remove[data-v-2eb02fe1]:hover{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.service-host-add-section[data-v-2eb02fe1]{border-top:1px solid hsl(var(--border));padding:.5rem}.service-host-add-btn[data-v-2eb02fe1]{width:100%;padding:.5rem;border:1px dashed hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:transparent;color:hsl(var(--foreground));font-size:.875rem;cursor:pointer;transition:all .2s}.service-host-add-btn[data-v-2eb02fe1]:hover{border-color:hsl(var(--ring));background:hsl(var(--muted)/.3)}.service-host-add-form[data-v-2eb02fe1]{display:flex;flex-direction:column;gap:.5rem}.service-host-add-input[data-v-2eb02fe1]{padding:.5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;outline:none;transition:border-color .2s}.service-host-add-input[data-v-2eb02fe1]:focus{border-color:hsl(var(--ring))}.service-host-add-input[data-v-2eb02fe1]::placeholder{color:hsl(var(--muted-foreground))}.service-host-add-actions[data-v-2eb02fe1]{display:flex;gap:.5rem;justify-content:flex-end}.service-host-add-submit[data-v-2eb02fe1],.service-host-add-cancel[data-v-2eb02fe1]{padding:.375rem .75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;cursor:pointer;transition:all .2s}.service-host-add-submit[data-v-2eb02fe1]{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.service-host-add-submit[data-v-2eb02fe1]:hover:not(:disabled){opacity:.9}.service-host-add-submit[data-v-2eb02fe1]:disabled{opacity:.5;cursor:not-allowed}.service-host-add-cancel[data-v-2eb02fe1]{background:transparent;color:hsl(var(--foreground))}.service-host-add-cancel[data-v-2eb02fe1]:hover{background:hsl(var(--muted)/.3)}.endpoint-tester[data-v-cab1bf2e]{flex:1;padding:1.5rem;overflow-y:auto;overflow-x:hidden;min-height:0;background-color:hsl(var(--background));background-image:linear-gradient(hsl(var(--border)/.3) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.3) 1px,transparent 1px);background-size:50px 50px;background-position:0 0,0 0;border-right:1px solid hsl(var(--border));display:flex;flex-direction:column}.endpoint-header[data-v-cab1bf2e]{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.endpoint-title[data-v-cab1bf2e]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.method-badge[data-v-cab1bf2e]{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .375rem;border-radius:3px;color:#fff;font-weight:600;font-size:.625rem;text-transform:uppercase;flex-shrink:0;line-height:1.2;width:3.5rem;min-width:3.5rem;max-width:3.5rem;text-align:center;box-sizing:border-box}.method-badge.large[data-v-cab1bf2e]{font-size:.875rem;padding:.375rem .75rem;width:auto;min-width:auto;max-width:none}.endpoint-path[data-v-cab1bf2e]{font-family:Chivo Mono Variable,monospace;font-size:.75rem;color:hsl(var(--foreground));font-weight:500;flex:1 1 auto;min-width:0;line-height:1.3;word-break:break-all;overflow-wrap:break-word}.security-indicator-large[data-v-cab1bf2e]{color:hsl(var(--muted-foreground));flex-shrink:0;opacity:.8}.endpoint-info[data-v-cab1bf2e]{margin-top:.75rem}.endpoint-summary-text[data-v-cab1bf2e]{color:hsl(var(--foreground));margin-top:0;margin-bottom:.5rem;line-height:1.5;font-size:1rem;font-weight:500}.endpoint-description[data-v-cab1bf2e]{color:hsl(var(--muted-foreground));margin-top:0;margin-bottom:0;line-height:1.6;font-size:.9375rem}.security-schemes-wrapper[data-v-cab1bf2e]{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.security-schemes-title[data-v-cab1bf2e]{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.security-schemes-section[data-v-cab1bf2e]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.security-scheme-card[data-v-cab1bf2e]{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background-color:hsl(var(--muted)/.5);border:1px solid hsl(var(--muted-foreground)/.2);border-radius:calc(var(--radius) - 2px);font-size:.6875rem;transition:all .2s ease;cursor:pointer}.security-scheme-card[data-v-cab1bf2e]:hover{background-color:hsl(var(--muted)/.7);border-color:hsl(var(--muted-foreground)/.3)}.security-scheme-card.selected[data-v-cab1bf2e]{border-color:hsl(var(--primary));background-color:hsla(var(--primary)/.1);box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.security-scheme-card.selected .security-card-icon[data-v-cab1bf2e]{color:hsl(var(--primary));opacity:1}.security-scheme-card.selected .scheme-name[data-v-cab1bf2e]{color:hsl(var(--primary))}.security-card-icon[data-v-cab1bf2e]{color:hsl(var(--muted-foreground));flex-shrink:0;opacity:.8;transition:all .2s ease}.scheme-name[data-v-cab1bf2e]{font-weight:500;color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.6875rem;transition:color .2s ease}.request-section[data-v-cab1bf2e]{margin-bottom:1.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;background:hsl(var(--card));box-shadow:0 1px 2px #0000001a}.request-section h3[data-v-cab1bf2e]{font-size:1.125rem;margin-bottom:1.25rem;margin-top:0;font-weight:600;color:hsl(var(--foreground))}.params-section[data-v-cab1bf2e]{margin-bottom:1.25rem}.params-section[data-v-cab1bf2e]:last-child{margin-bottom:0}.params-section h4[data-v-cab1bf2e]{font-size:.75rem;margin-bottom:.75rem;margin-top:0;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em}.params-list[data-v-cab1bf2e]{display:flex;flex-direction:column;gap:.75rem}.param-item[data-v-cab1bf2e]{display:flex;flex-direction:row;align-items:center;gap:.75rem}.param-item dt[data-v-cab1bf2e]{font-size:.875rem;color:hsl(var(--foreground));margin:0;flex:1}.param-item dd[data-v-cab1bf2e]{margin:0;flex:1}.param-item .param-name[data-v-cab1bf2e]{font-weight:500;font-family:Chivo Mono Variable,monospace}.param-item .required[data-v-cab1bf2e]{color:hsl(var(--destructive));margin-left:.25rem}.param-item .param-desc[data-v-cab1bf2e]{color:hsl(var(--muted-foreground));font-weight:400}.param-item input[data-v-cab1bf2e]{width:100%;padding:.5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--input));color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.875rem}.param-item input[data-v-cab1bf2e]:focus{outline:none;border-color:hsl(var(--ring))}.body-section[data-v-cab1bf2e]{margin-bottom:1.25rem}.body-section[data-v-cab1bf2e]:last-child{margin-bottom:0}.body-section h4[data-v-cab1bf2e]{font-size:.75rem;margin-bottom:0;margin-top:0;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em}.body-section-header[data-v-cab1bf2e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.view-toggle[data-v-cab1bf2e]{display:inline-flex;gap:0;background:transparent;border-radius:calc(var(--radius) - 2px);padding:0;border:1px solid hsl(var(--border));overflow:hidden}.toggle-btn[data-v-cab1bf2e]{padding:.375rem .75rem;background:transparent;border:none;border-radius:0;cursor:pointer;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));transition:all .2s ease;white-space:nowrap;border-right:1px solid hsl(var(--border))}.toggle-btn[data-v-cab1bf2e]:last-child{border-right:none}.toggle-btn[data-v-cab1bf2e]:hover{color:hsl(var(--foreground))}.toggle-btn.active[data-v-cab1bf2e]{background:hsl(var(--muted));color:hsl(var(--foreground))}.toggle-btn.small[data-v-cab1bf2e]{padding:.25rem .5rem;font-size:.6875rem}.schema-display[data-v-cab1bf2e]{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--input));max-height:400px;min-height:150px;overflow-y:auto;overflow-x:auto}.schema-text[data-v-cab1bf2e]{margin:0;padding:1rem;font-family:Chivo Mono Variable,monospace;font-size:.8125rem;line-height:1.8;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input))}.json-editor-wrapper[data-v-cab1bf2e]{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:auto;background:hsl(var(--input))}.json-editor-wrapper[data-v-cab1bf2e] .jsoneditor{border:none;background:hsl(var(--input))}.json-editor-wrapper[data-v-cab1bf2e] .jsoneditor-menu{background:hsl(var(--muted));border-bottom:none}.json-editor-wrapper[data-v-cab1bf2e] .jsoneditor-outer{background:hsl(var(--input))}.json-editor-wrapper[data-v-cab1bf2e] .ace_editor{background:hsl(var(--input))!important;color:hsl(var(--foreground))!important}.json-editor-wrapper[data-v-cab1bf2e] .ace_gutter{background:hsl(var(--muted))!important}.send-button[data-v-cab1bf2e]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:hsl(var(--primary)/.9);color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary)/.3);border-radius:var(--radius);cursor:pointer;font-weight:600;font-size:.8125rem;letter-spacing:.025em;margin:1.5rem auto 0;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.send-button[data-v-cab1bf2e]:hover:not(:disabled){background:hsl(var(--primary)/1);border-color:hsl(var(--primary)/.5);box-shadow:0 6px 12px -2px #0006,0 4px 6px -1px #0000004d}.send-button[data-v-cab1bf2e]:active:not(:disabled){box-shadow:0 2px 4px -1px #0000004d,0 1px 2px -1px #0003}.send-button[data-v-cab1bf2e]:disabled{opacity:.6;cursor:not-allowed}.send-button-icon[data-v-cab1bf2e]{flex-shrink:0}.response-section[data-v-cab1bf2e]{margin-bottom:1.5rem}.response-section h3[data-v-cab1bf2e]{font-size:1.125rem;margin-bottom:1.25rem;margin-top:0;font-weight:600;color:hsl(var(--foreground))}.section-header[data-v-cab1bf2e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h3[data-v-cab1bf2e]{margin-bottom:0}.clear-history-btn[data-v-cab1bf2e]{padding:.375rem .75rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .2s}.clear-history-btn[data-v-cab1bf2e]:hover{background:hsl(var(--accent));border-color:hsl(var(--accent))}.no-response[data-v-cab1bf2e]{padding:1.5rem;text-align:center;color:hsl(var(--muted-foreground));border:1px dashed hsl(var(--border));border-radius:var(--radius)}.request-history-list[data-v-cab1bf2e]{display:flex;flex-direction:column;gap:1rem}.history-item[data-v-cab1bf2e]{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000001a}.history-item[data-v-cab1bf2e]:last-child{margin-bottom:0}.history-item-header[data-v-cab1bf2e]{padding:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;border-bottom:1px solid hsl(var(--border));padding-bottom:.75rem;flex-wrap:wrap}.history-item-title[data-v-cab1bf2e]{display:flex;align-items:center;gap:.75rem;flex:1 1 0;min-width:200px;flex-wrap:nowrap}.history-url[data-v-cab1bf2e]{font-family:Chivo Mono Variable,monospace;font-size:.8125rem;color:hsl(var(--foreground));flex:1 1 auto;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta-group[data-v-cab1bf2e]{display:flex;align-items:center;gap:0;flex:0 0 auto;flex-wrap:wrap;min-width:fit-content}@media(max-width:640px){.history-meta-group[data-v-cab1bf2e]{width:100%;flex-direction:column;align-items:flex-start;gap:.5rem}}.history-auth-scheme[data-v-cab1bf2e]{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap;flex-shrink:0;padding-right:.75rem}@media(max-width:640px){.history-auth-scheme[data-v-cab1bf2e]{padding-right:0;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border));width:100%}}.history-timestamp[data-v-cab1bf2e]{font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap;flex-shrink:0;padding:0 .75rem;border-left:1px solid hsl(var(--border))}@media(max-width:640px){.history-timestamp[data-v-cab1bf2e]{padding:0;padding-bottom:.5rem;border-left:none;border-bottom:1px solid hsl(var(--border));width:100%}}.status-code[data-v-cab1bf2e]{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px);font-weight:600;font-size:.75rem;white-space:nowrap;flex-shrink:0}.status-code.success[data-v-cab1bf2e]{background-color:#49cc901a;color:#49cc90;border:1px solid rgba(73,204,144,.2)}.status-code.error[data-v-cab1bf2e]{background-color:#f93e3e1a;color:#f93e3e;border:1px solid rgba(249,62,62,.2)}.status-code.redirect[data-v-cab1bf2e]{background-color:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.2)}.status-code[data-v-cab1bf2e]:not(.success):not(.error):not(.redirect){background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.history-curl-section[data-v-cab1bf2e]{margin-bottom:1rem;padding:.75rem;background:hsl(var(--input));border-radius:calc(var(--radius) - 2px)}.history-curl-section .curl-header[data-v-cab1bf2e]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.25rem;border-radius:calc(var(--radius) - 2px);transition:background-color .2s}.history-curl-section .curl-header[data-v-cab1bf2e]:hover{background:hsl(var(--muted))}.history-curl-section .curl-header .curl-header-left[data-v-cab1bf2e]{display:flex;align-items:center;gap:.5rem}.history-curl-section .curl-header .curl-toggle-icon[data-v-cab1bf2e]{color:hsl(var(--muted-foreground));flex-shrink:0}.history-curl-section .curl-header h5[data-v-cab1bf2e]{font-size:.875rem;font-weight:600;margin:0}.history-curl-section .copy-curl-btn[data-v-cab1bf2e]{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;transition:all .2s}.history-curl-section .copy-curl-btn[data-v-cab1bf2e]:hover{background:hsl(var(--accent));opacity:.9}.history-curl-section .curl-command[data-v-cab1bf2e]{padding:.75rem 0;overflow-x:auto}.history-curl-section .curl-command pre[data-v-cab1bf2e]{margin:0;font-family:Chivo Mono Variable,monospace;font-size:.8125rem;line-height:1.6;color:hsl(var(--foreground));white-space:pre-wrap;word-break:break-all}.history-request-body[data-v-cab1bf2e],.history-response[data-v-cab1bf2e],.history-error[data-v-cab1bf2e]{padding:.75rem 0;margin-bottom:1rem}.history-request-body[data-v-cab1bf2e]:last-child,.history-response[data-v-cab1bf2e]:last-child,.history-error[data-v-cab1bf2e]:last-child{margin-bottom:0}.history-request-body h5[data-v-cab1bf2e],.history-response h5[data-v-cab1bf2e],.history-error h5[data-v-cab1bf2e]{font-size:.75rem;font-weight:600;margin-bottom:.625rem;margin-top:0;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.history-request-body .json-editor-wrapper[data-v-cab1bf2e],.history-response .json-editor-wrapper[data-v-cab1bf2e],.history-error .json-editor-wrapper[data-v-cab1bf2e]{border:1px solid hsl(var(--border));max-height:60vh;background:hsl(var(--input));overflow:auto}.history-error .error-message[data-v-cab1bf2e]{color:hsl(var(--destructive));font-size:.875rem;padding:.5rem 0;margin:0}.app-footer[data-v-cab1bf2e]{margin-top:auto;text-align:center}.app-footer p[data-v-cab1bf2e]{margin:0;font-size:.875rem;color:hsl(var(--muted-foreground))}.auth-side-menu[data-v-b8c2be74]{position:fixed;top:0;right:0;width:400px;height:100vh;background:hsl(var(--card));border-left:1px solid hsl(var(--border));z-index:1000;display:flex;flex-direction:column;box-shadow:-2px 0 8px #0000004d}.auth-menu-header[data-v-b8c2be74]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.auth-menu-header h2[data-v-b8c2be74]{margin:0;font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.close-auth-menu[data-v-b8c2be74]{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-auth-menu[data-v-b8c2be74]:hover{color:hsl(var(--foreground))}.auth-menu-content[data-v-b8c2be74]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.auth-scheme[data-v-b8c2be74]{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;transition:all .2s;box-shadow:0 1px 2px #0000001a;cursor:pointer;position:relative}.auth-scheme[data-v-b8c2be74]:hover{box-shadow:0 2px 4px #00000026;border-color:hsl(var(--ring))}.auth-scheme.selected[data-v-b8c2be74]{border-color:hsl(var(--primary));background:hsla(var(--primary)/.1);box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.auth-scheme.selected .auth-scheme-header[data-v-b8c2be74]{border-bottom-color:hsla(var(--primary)/.3)}.auth-scheme.selected .auth-scheme-header h3[data-v-b8c2be74]{color:hsl(var(--primary))}.auth-scheme.selected .auth-scheme-type[data-v-b8c2be74]{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 0 1px hsla(var(--primary-foreground)/.2)}.auth-scheme.selected .auth-scheme-description[data-v-b8c2be74]{color:hsl(var(--muted-foreground))}.auth-scheme.selected[data-v-b8c2be74]:before{content:"";position:absolute;top:.75rem;right:.75rem;width:8px;height:8px;background:hsl(var(--primary));border-radius:50%}.auth-scheme-header[data-v-b8c2be74]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border))}.auth-scheme-header h3[data-v-b8c2be74]{font-size:1rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.auth-scheme-type[data-v-b8c2be74]{font-size:.75rem;padding:.375rem .625rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:calc(var(--radius) - 4px);text-transform:uppercase;font-weight:600;letter-spacing:.025em}.auth-scheme-description[data-v-b8c2be74]{font-size:.875rem;color:hsl(var(--muted-foreground));margin-bottom:1rem;margin-top:.5rem;line-height:1.5}.auth-scheme-fields[data-v-b8c2be74]{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.auth-scheme-fields label[data-v-b8c2be74]{display:flex;flex-direction:column;gap:.5rem}.auth-scheme-fields label span[data-v-b8c2be74]{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.auth-scheme-fields label .field-location[data-v-b8c2be74]{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:400}.auth-input[data-v-b8c2be74]{padding:.5rem .75rem;background:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;transition:border-color .2s}.auth-input[data-v-b8c2be74]:focus{outline:none;border-color:hsl(var(--ring))}.auth-input[data-v-b8c2be74]::placeholder{color:hsl(var(--muted-foreground))}.clear-credential-btn[data-v-b8c2be74]{padding:.5rem 1rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;align-self:flex-start;margin-top:.25rem}.clear-credential-btn[data-v-b8c2be74]:hover{background:hsl(var(--accent));opacity:.9}.save-button[data-v-b8c2be74]{padding:.75rem 1.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 2px);font-weight:500;cursor:pointer;transition:opacity .2s;align-self:flex-start;margin-top:.25rem}.save-button[data-v-b8c2be74]:hover{opacity:.9}.clerk-key-card[data-v-b8c2be74]{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;margin-top:auto;border-top:2px solid hsl(var(--border));border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.clerk-key-card[data-v-b8c2be74]:hover{box-shadow:none;border-color:hsl(var(--border))}.clerk-key-header[data-v-b8c2be74]{margin-bottom:.5rem}.clerk-key-header h3[data-v-b8c2be74]{font-size:.875rem;font-weight:600;margin:0;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.clerk-key-description[data-v-b8c2be74]{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:1rem;line-height:1.4}.clerk-key-fields[data-v-b8c2be74]{display:flex;flex-direction:column;gap:.75rem}.clerk-key-fields label[data-v-b8c2be74]{display:flex;flex-direction:column;gap:.375rem}.clerk-key-fields label span[data-v-b8c2be74]{font-size:.8125rem;color:hsl(var(--muted-foreground));font-weight:500}.clerk-key-input[data-v-b8c2be74]{width:100%;padding:.5rem .75rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.8125rem;transition:all .2s}.clerk-key-input[data-v-b8c2be74]:focus:not(:disabled){outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsla(var(--ring)/.2)}.clerk-key-input[data-v-b8c2be74]:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.7}.clerk-key-input[data-v-b8c2be74]::placeholder{color:hsl(var(--muted-foreground))}.anonymous-option .auth-scheme-header h3[data-v-b8c2be74]{display:flex;align-items:center;gap:.5rem}.welcome-description[data-v-d0cf2fc7]{font-size:1.125rem;color:hsl(var(--muted-foreground));margin:0 0 2.5rem;line-height:1.6}.service-host-input-section[data-v-d0cf2fc7]{margin:2rem 0}.service-host-direct-form[data-v-d0cf2fc7]{margin-top:1.5rem}.service-host-direct-form .service-host-input-wrapper[data-v-d0cf2fc7]{display:flex;flex-direction:column;gap:.75rem;align-items:stretch;justify-content:center;max-width:500px;margin:0 auto}.service-host-input-wrapper[data-v-d0cf2fc7]{display:flex;gap:.75rem;align-items:center;justify-content:center;margin-top:1.5rem}.service-host-input[data-v-d0cf2fc7]{padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:1rem;min-width:300px;transition:border-color .2s}.service-host-input[data-v-d0cf2fc7]:hover{border-color:hsl(var(--accent))}.service-host-input[data-v-d0cf2fc7]:focus{outline:none;border-color:hsl(var(--ring))}.service-host-input[data-v-d0cf2fc7]::placeholder{color:hsl(var(--muted-foreground))}.service-host-submit-btn[data-v-d0cf2fc7]{padding:.75rem 1.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.service-host-submit-btn[data-v-d0cf2fc7]:hover:not(:disabled){background:hsl(var(--primary)/.9)}.service-host-submit-btn[data-v-d0cf2fc7]:disabled{opacity:.5;cursor:not-allowed}.service-host-direct-form .service-host-submit-btn[data-v-d0cf2fc7]{width:100%}.openapi-test{height:100vh;display:flex;flex-direction:column;background:hsl(var(--background));color:hsl(var(--foreground));overflow:hidden}.test-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0;z-index:100}.app-footer{margin-top:auto;text-align:center}.app-footer p{margin:0;font-size:.875rem;color:hsl(var(--muted-foreground))}.header-content{max-width:100%;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.header-title-section{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex:1;min-width:0}.title-section-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.title-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.logo{font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.api-version{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500}.api-description{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4;max-width:600px}.header-title-action{display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:1.5rem}.refresh-spec-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:hsl(var(--foreground));cursor:pointer;padding:.5rem;border-radius:calc(var(--radius) - 2px);transition:color .2s,opacity .2s,background-color .2s}.refresh-spec-btn:hover:not(:disabled){background:hsl(var(--muted)/.3);color:hsl(var(--primary))}.refresh-spec-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-spec-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.openapi-spec-link,.github-link{display:flex;align-items:center;justify-content:center;color:hsl(var(--foreground));text-decoration:none;transition:color .2s,opacity .2s;padding:.5rem;border-radius:calc(var(--radius) - 2px)}.openapi-spec-link:hover,.github-link:hover{color:hsl(var(--primary));opacity:.8}.openapi-spec-link:focus,.github-link:focus{outline:none;color:hsl(var(--primary))}.auth-section{display:flex;align-items:center}.sign-in-btn{padding:.5rem 1rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-weight:500;transition:opacity .2s}.sign-in-btn:hover{opacity:.9}.user-section{display:flex;align-items:center}.auth-menu-toggle{padding:.5rem 1rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s;display:flex;align-items:center;gap:.5rem}.auth-menu-toggle:hover{background:hsl(var(--accent));opacity:.9}.auth-menu-toggle.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.auth-menu-toggle.has-selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.auth-menu-toggle.has-selection svg{color:hsl(var(--primary-foreground))}.test-container{display:flex;flex:1;overflow:hidden;min-height:0}.endpoints-sidebar{background:hsl(var(--card));display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease}.endpoints-sidebar.resizing{transition:none}.endpoints-sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;flex-shrink:0}.endpoints-sidebar .sidebar-header h2{font-size:1rem;margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.endpoints-sidebar.collapsed .sidebar-header{flex-direction:column;gap:.5rem;padding:1rem .5rem}.endpoints-sidebar.collapsed .sidebar-header h2{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.sidebar-toggle{padding:.25rem .5rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;line-height:1;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:hsl(var(--accent));opacity:.9}.sidebar-toggle:active{transform:scale(.95)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-left:1rem;padding-bottom:1rem}.resize-handle{width:8px;background:hsl(var(--card));cursor:col-resize;flex-shrink:0;position:relative;-webkit-user-select:none;user-select:none;display:flex;justify-content:center;align-items:stretch}.resize-handle:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:8px;top:0;bottom:0;cursor:col-resize;transition:background-color .2s}.resize-handle:hover:before{background:hsl(var(--accent))}.resize-handle.resizing:before{background:hsl(var(--accent))}.resize-handle-endpoints{border-right:1px solid hsl(var(--border))}.resize-handle-examples{border-left:1px solid hsl(var(--border))}.loading,.error{padding:.75rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem}.error{color:hsl(var(--destructive))}.endpoints-groups{display:flex;flex-direction:column;gap:.5rem;padding-right:1rem}.endpoint-group{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);overflow:hidden}.group-header{padding:.5rem .75rem;background:hsl(var(--muted));cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:background .2s;-webkit-user-select:none;user-select:none}.group-header:hover{background:hsl(var(--accent))}.group-name{font-weight:600;font-size:.8125rem;color:hsl(var(--foreground));flex:1}.group-count{font-size:.6875rem;color:hsl(var(--muted-foreground))}.group-toggle{color:hsl(var(--muted-foreground));width:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.group-endpoints{display:flex;flex-direction:column;gap:.25rem;padding:.375rem;background:hsl(var(--card));min-width:0}.endpoint-item{padding:.375rem .5rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;overflow:hidden}.endpoint-item:hover,.endpoint-item.active{background:hsl(var(--accent))}.method-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .375rem;border-radius:3px;color:#fff;font-weight:600;font-size:.625rem;text-transform:uppercase;flex-shrink:0;line-height:1.2;width:3.5rem;min-width:3.5rem;max-width:3.5rem;text-align:center;box-sizing:border-box}.endpoint-path{font-family:Chivo Mono Variable,monospace;font-size:.75rem;color:hsl(var(--foreground));font-weight:500;flex:1;line-height:1.3;white-space:nowrap;overflow:visible}.endpoint-summary{font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.3;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto}.security-indicator{color:hsl(var(--muted-foreground));flex-shrink:0;opacity:.7}.endpoint-content{display:flex;flex:1;overflow:hidden;min-height:0}.endpoint-tester.empty{flex:1;padding:1.5rem;overflow-y:auto;overflow-x:hidden;min-height:0;background-color:hsl(var(--background));background-image:linear-gradient(hsl(var(--border)/.3) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.3) 1px,transparent 1px);background-size:50px 50px;background-position:0 0,0 0;border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;align-items:center;justify-content:center}.examples-sidebar{border-right:1px solid hsl(var(--border));background:hsl(var(--card));display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden;min-height:0;transition:width .3s ease}.examples-sidebar.resizing{transition:none}.examples-sidebar.collapsed{padding:1.5rem .5rem}.examples-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:1rem}.examples-header h3{font-size:1rem;margin-bottom:0;margin-top:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.examples-sidebar.collapsed .examples-header{flex-direction:column;gap:.5rem;margin-bottom:0}.examples-sidebar.collapsed .examples-header h3{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.examples-toggle{padding:.25rem .5rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;line-height:1;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.examples-toggle:hover{background:hsl(var(--accent));opacity:.9}.examples-toggle:active{transform:scale(.95)}.examples-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-left:1rem}.view-toggle{display:inline-flex;gap:0;background:transparent;border-radius:calc(var(--radius) - 2px);padding:0;border:1px solid hsl(var(--border));overflow:hidden}.toggle-btn{padding:.375rem .75rem;background:transparent;border:none;border-radius:0;cursor:pointer;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));transition:all .2s ease;white-space:nowrap;border-right:1px solid hsl(var(--border))}.toggle-btn:last-child{border-right:none}.toggle-btn:hover{color:hsl(var(--foreground))}.toggle-btn.active{background:hsl(var(--muted));color:hsl(var(--foreground))}.toggle-btn.small{padding:.25rem .5rem;font-size:.6875rem}.example-section{padding-right:1rem;margin-bottom:1.5rem;flex-shrink:0}.example-section h4{font-size:.75rem;margin-bottom:.75rem;margin-top:0;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em}.example-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.example-section-header h4{margin-bottom:0}.example-content{border:none;border-radius:var(--radius);overflow:hidden;background:hsl(var(--input));box-shadow:none}.example-content pre{margin:0;padding:1rem;font-family:Chivo Mono Variable,monospace;font-size:.875rem;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:400px;overflow-y:auto}.example-content .json-editor-wrapper{border-top-left-radius:0;border-top-right-radius:0;border:none;box-shadow:none}.example-content .schema-display{border:none;box-shadow:none;max-height:400px;min-height:150px;overflow-y:auto;overflow-x:auto;background:hsl(var(--input))}.example-content .schema-text{margin:0;padding:1rem;font-family:Chivo Mono Variable,monospace;font-size:.8125rem;line-height:1.8;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input));border-radius:calc(var(--radius) - 2px)}.no-examples{padding:1.5rem;text-align:center;color:hsl(var(--muted-foreground));border:1px dashed hsl(var(--border));border-radius:var(--radius);font-size:.875rem}.response-codes-list{display:flex;flex-direction:column;gap:.75rem}.response-code-item{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);overflow:hidden;background:hsl(var(--card));box-shadow:0 1px 2px #0000000d}.response-code-item .example-content{border:none;border-radius:0;box-shadow:none;margin-top:0;border-top:1px solid hsl(var(--border))}.response-code-item .example-content pre{max-height:300px}.response-code-item .example-content .json-editor-wrapper{border:none;box-shadow:none}.response-code-item .example-content .schema-display{border:none;box-shadow:none;max-height:300px;min-height:100px;overflow-y:auto;overflow-x:auto;background:hsl(var(--input))}.response-code-item .example-content .schema-text{margin:0;padding:.75rem;font-family:Chivo Mono Variable,monospace;font-size:.75rem;line-height:1.7;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input))}.response-code-header{display:flex;border-bottom:1px solid hsl(var(--border));min-height:0}.response-code-left{width:4rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.625rem .5rem;background:hsl(var(--muted)/.3);border-right:1px solid hsl(var(--border))}.response-code-left.success{background:#16a2491a;border-right-color:#16a24933}.response-code-left.error{background:#ef43431a;border-right-color:#ef434333}.response-code-number{font-weight:600;font-size:.75rem;font-family:Chivo Mono Variable,monospace;text-align:center;padding:.3125rem .5rem;border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border));line-height:1.2;width:100%}.response-code-left.success .response-code-number{background:#16a24926;color:#16a249;border-color:#16a2494d}.response-code-left.error .response-code-number{background:#ef434326;color:#ef4343;border-color:#ef43434d}.response-code-right{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:.625rem .875rem;background:hsl(var(--card));min-width:0}.response-code-description{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5;word-wrap:break-word;white-space:pre-wrap;display:block}.response-code-right .view-toggle{align-self:flex-end}.no-example{padding:.75rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.8125rem;font-style:italic}.schema-references-list{display:flex;flex-direction:column;gap:1rem}.schema-reference-item{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--card))}.schema-reference-item .example-content{border:none;border-radius:0;box-shadow:none;margin-top:0}.schema-reference-item .example-content .schema-display{border:none;box-shadow:none;max-height:300px;min-height:100px;overflow-y:auto;overflow-x:auto;background:hsl(var(--input))}.schema-reference-item .example-content .schema-text{margin:0;padding:.875rem;font-family:Chivo Mono Variable,monospace;font-size:.75rem;line-height:1.7;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input))}.schema-reference-header{padding:.75rem 1rem;background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.schema-reference-header:hover{background:hsl(var(--accent))}.schema-reference-toggle{color:hsl(var(--muted-foreground));width:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.schema-reference-name{font-weight:700;font-size:.875rem;font-family:Chivo Mono Variable,monospace;color:hsl(var(--foreground));flex:1}.empty-state{display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.welcome-content{max-width:600px;text-align:center;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{margin-bottom:1.5rem;display:flex;justify-content:center;color:hsl(var(--foreground));opacity:.9}.welcome-title{font-size:2rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem;letter-spacing:-.02em}.welcome-description{font-size:1.125rem;color:hsl(var(--muted-foreground));margin:0 0 2.5rem;line-height:1.6}.welcome-tips{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;text-align:left}.tip-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:.9375rem;cursor:default;-webkit-user-select:none;user-select:none}.tip-icon{flex-shrink:0;color:hsl(var(--muted-foreground))}.json-editor-wrapper{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:auto;background:hsl(var(--input))}.json-editor-wrapper :deep(.jsoneditor){border:none;background:hsl(var(--input))}.json-editor-wrapper :deep(.jsoneditor-menu){background:hsl(var(--muted));border-bottom:none}.json-editor-wrapper :deep(.jsoneditor-outer){background:hsl(var(--input))}.json-editor-wrapper :deep(.ace_editor){background:hsl(var(--input))!important;color:hsl(var(--foreground))!important}.json-editor-wrapper :deep(.ace_gutter){background:hsl(var(--muted))!important}
|