@harperfast/harper 5.2.7 → 5.2.8
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/components/mcp/tools/application.ts +8 -4
- package/dist/components/mcp/tools/application.js +7 -4
- package/dist/components/mcp/tools/application.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.js +11 -1
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.js +2 -1
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/auditStore.d.ts +1 -0
- package/dist/resources/auditStore.js +1 -0
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/transactionBroadcast.js +5 -5
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/npm-shrinkwrap.json +43 -43
- package/package.json +3 -3
- package/resources/RocksTransactionLogStore.ts +11 -1
- package/resources/Table.ts +2 -1
- package/resources/auditStore.ts +3 -1
- package/resources/transactionBroadcast.ts +5 -5
- package/studio/web/assets/{Chat-etJeJv4a.js → Chat-DDlysEi_.js} +1 -1
- package/studio/web/assets/{FloatingChat-BvmHsuVo.js → FloatingChat-DdJ3DZJX.js} +3 -3
- package/studio/web/assets/{apiToken-Bl5LC8EH.js → apiToken-CrPb_98N.js} +1 -1
- package/studio/web/assets/{applications-Dta6Y0Rg.js → applications-C6Y4nL_X.js} +1 -1
- package/studio/web/assets/{cssMode-IAbO_2KK.js → cssMode-D8ceA4av.js} +1 -1
- package/studio/web/assets/{editor-CeRXEhRl.js → editor-C-jlLd1G.js} +1 -1
- package/studio/web/assets/{html-DOV4s_YT.js → html-BnuKFPjv.js} +1 -1
- package/studio/web/assets/{htmlMode-CdqjnAh4.js → htmlMode-DXM6YYUw.js} +1 -1
- package/studio/web/assets/{index-CTqasm6g.js → index-BtTvoLf8.js} +5 -5
- package/studio/web/assets/{index.lazy-VmcKgiEy.js → index.lazy-PVbC6xQh.js} +1 -1
- package/studio/web/assets/{javascript-Dj7yXfx5.js → javascript-CAuAkYxc.js} +1 -1
- package/studio/web/assets/{jsonMode-khk65qzx.js → jsonMode-Dny8hrU7.js} +1 -1
- package/studio/web/assets/{languageServices-D_06p7dw.js → languageServices-D1uNqC6s.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-DTA6wyQw.js → lspLanguageFeatures-Bh-bvkyK.js} +1 -1
- package/studio/web/assets/{notifications-CBZXgxVc.js → notifications-DPTOF-SX.js} +1 -1
- package/studio/web/assets/{notifications-Bah46LXX.js → notifications-DsE0S3zT.js} +1 -1
- package/studio/web/assets/{profile-QspOun_j.js → profile-BIeCZr-w.js} +1 -1
- package/studio/web/assets/{regions-QdUi7bQ9.js → regions-B5lGduv5.js} +1 -1
- package/studio/web/assets/{register-Buvoxmb8.js → register-Cvc1TpmQ.js} +2 -2
- package/studio/web/assets/{setComponentFile-BI4E_iDe.js → setComponentFile-D8ZLDWhU.js} +1 -1
- package/studio/web/assets/{setup-Cop6LBQN.js → setup-D2az-Ue_.js} +2 -2
- package/studio/web/assets/{status-DRu3zRgl.js → status-BJegPrWN.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-C0dJLmZ0.js → toggleHighContrast-BdIEw2rK.js} +1 -1
- package/studio/web/assets/{tsMode-dbDiapTA.js → tsMode-CulNMwI9.js} +1 -1
- package/studio/web/assets/{typescript-CT1826cL.js → typescript-BpRqjmvQ.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-D1u1X_gE.js → useEntityRestURL-C7x-Yz9r.js} +1 -1
- package/studio/web/assets/{workers-FpR9_D2K.js → workers-B2WpJDK9.js} +1 -1
- package/studio/web/assets/{xml-ZjKUMjth.js → xml-CZnimVSX.js} +1 -1
- package/studio/web/assets/{yaml-B6gXbZU6.js → yaml-BwNuyZS-.js} +1 -1
- package/studio/web/index.html +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,f as n,l as r,n as i,s as a,u as o}from"./authStore-qKmCZcaf.js";import{n as s,t as c}from"./button-DhiX-njv.js";import{L as l,k as u,x as d,z as f}from"./vendor-tanstack-BiFWSB3W.js";import{a as p}from"./vendor-datadog-BRv-mOv1.js";import{r as m}from"./vendor-react-Dyj4O3HE.js";import{t as h}from"./createLucideIcon-BKGPfjm2.js";import{n as g}from"./chevron-up-Df2c8uoU.js";import{n as _}from"./setLocalStorage-D_kflv4U.js";import{t as v}from"./useLocalStorage-Dtj1QS8_.js";import{$t as y,An as b,Ar as x,Ht as S,Jn as C,Nr as w,Qt as T,Sr as E,Tr as D,Vt as O,dt as k,en as A,gr as j,mt as M,nn as ee,on as te,qn as ne,sn as re,sr as N,tn as ie,un as ae,vn as P,xn as F,xr as oe,xt as se}from"./index-CTqasm6g.js";import{t as ce}from"./useEntityRestURL-D1u1X_gE.js";import{i as I,n as L,r as R,t as z}from"./tabs-B_G5zscN.js";var B=h(`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`}]]),V=m(),H={get:`text-blue border-blue/40 bg-blue/10`,post:`text-green border-green/40 bg-green/10`,put:`text-yellow border-yellow/40 bg-yellow/10`,patch:`text-pink border-pink/40 bg-pink/10`,delete:`text-red border-red/40 bg-red/10`,options:`text-muted-foreground border-border bg-muted`,head:`text-muted-foreground border-border bg-muted`,trace:`text-muted-foreground border-border bg-muted`};function U({method:e,className:t}){return(0,V.jsx)(`span`,{className:s(`inline-flex shrink-0 items-center justify-center rounded-md border font-mono text-[0.68rem] font-bold uppercase tracking-wide`,`min-w-14 px-1.5 py-0.5`,H[e],t),children:e})}var W=e(p(),1),le={login:`Log in`,basic:`Basic`,bearer:`Bearer`,cookie:`Cookie`};function ue({tree:e,totalCount:t,filteredCount:n,isFiltering:r,selectedId:i,onSelect:a,filter:o,onFilterChange:c,method:l,authorized:u,settingsActive:d,onOpenSettings:f}){let[p,m]=(0,W.useState)(new Set),h=e=>m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n});return(0,V.jsxs)(`div`,{className:`flex max-h-[28rem] flex-col gap-3 lg:h-full lg:max-h-none lg:min-h-0`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:f,"aria-pressed":d,className:s(`flex w-full shrink-0 items-center gap-2 rounded-md border px-2.5 py-2 text-left text-sm transition-colors`,d?`border-primary bg-primary/10 text-foreground`:`border-border hover:bg-accent/60`),children:[u?(0,V.jsx)(D,{className:`text-green size-4 shrink-0`}):(0,V.jsx)(B,{className:`text-muted-foreground size-4 shrink-0`}),(0,V.jsx)(`span`,{className:`flex-1 font-medium`,children:`Authorize`}),(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:le[l]})]}),(0,V.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,V.jsx)(j,{className:`text-muted-foreground pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2`}),(0,V.jsx)(P,{value:o,onChange:e=>c(e.target.value),placeholder:`Filter endpoints…`,className:`pl-8`,"aria-label":`Filter endpoints`})]}),(0,V.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain min-h-0 pr-1`,children:n===0?(0,V.jsx)(`p`,{className:`text-muted-foreground px-1 py-6 text-center text-sm`,children:t===0?`No endpoints found in this spec.`:`No endpoints match your filter.`}):(0,V.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,V.jsx)(de,{resource:e,expanded:r||!p.has(e.resource),onToggle:()=>h(e.resource),selectedId:i,onSelect:a},e.resource))})})]})}function de({resource:e,expanded:t,onToggle:n,selectedId:r,onSelect:i}){let a=(0,W.useMemo)(()=>e.paths.some(e=>e.operations.some(e=>e.id===r)),[e,r]);return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`button`,{type:`button`,onClick:n,"aria-expanded":t,className:`text-foreground hover:bg-accent/60 flex w-full items-center gap-1.5 rounded-md px-1.5 py-1.5 text-left`,children:[t?(0,V.jsx)(g,{className:`size-4 shrink-0`}):(0,V.jsx)(w,{className:`size-4 shrink-0`}),(0,V.jsx)(`span`,{className:`flex-1 truncate text-sm font-semibold`,children:e.resource}),(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.operationCount})]}),t&&(0,V.jsx)(`div`,{className:`border-border/60 ml-3 flex flex-col gap-2 border-l pt-1 pl-2`,children:e.paths.map(e=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsx)(`span`,{className:s(`truncate px-1 font-mono text-xs`,a?`text-foreground`:`text-muted-foreground`),title:e.path,children:e.path}),(0,V.jsx)(`ul`,{className:`border-border/40 ml-2 flex flex-col gap-0.5 border-l pl-2`,children:e.operations.map(e=>(0,V.jsx)(`li`,{children:(0,V.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:s(`flex w-full items-center gap-2 rounded-md px-2 py-1 text-left transition-colors`,e.id===r?`bg-primary/10 ring-primary/30 ring-1`:`hover:bg-accent/60`),children:[(0,V.jsx)(U,{method:e.method,className:`min-w-14`}),e.operation.summary&&(0,V.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate text-xs`,children:e.operation.summary})]})},e.id))})]},e.path))})]})}function G({code:e,className:t,label:n,maxHeightClassName:r=`max-h-96`}){let i=te();return(0,V.jsxs)(`div`,{className:s(`group bg-muted/60 relative rounded-md border`,t),children:[(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n?`Copy ${n}`:`Copy to clipboard`,className:`absolute top-1.5 right-1.5 z-10 size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,onClick:()=>i(e),children:(0,V.jsx)(x,{className:`size-3.5`})}),(0,V.jsx)(`pre`,{className:s(`overflow-auto p-3 text-xs leading-relaxed`,r),children:(0,V.jsx)(`code`,{className:`font-mono`,children:e})})]})}var K=[`get`,`post`,`put`,`patch`,`delete`,`options`,`head`,`trace`],fe=`default`;function q(e){return e.split(`/`).find(Boolean)??`/`}function pe(e,t){let n=e.security??t?.security;return!Array.isArray(n)||n.length===0?!1:n.every(me)}function me(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;for(let t in e)return!0;return!1}function he(e){let t=e?.paths;if(!t)return[];let n=[];for(let[e,r]of Object.entries(t))if(r)for(let t of K){let i=r[t];if(!i)continue;let a=ge(r.parameters,i.parameters);n.push({id:`${t} ${e}`,method:t,path:e,operation:i,tag:i.tags?.[0]??fe,parameters:a,searchText:`${t} ${e} ${i.summary??``} ${i.description??``} ${i.operationId??``}`.toLowerCase()})}return n}function ge(e=[],t=[]){let n=new Map;for(let r of[...e,...t])r?.name&&r?.in&&n.set(`${r.in}:${r.name}`,r);return[...n.values()]}function _e(e){let t=new Map;for(let n of e){let e=q(n.path),r=t.get(e);r||(r=new Map,t.set(e,r));let i=r.get(n.path);i||(i=[],r.set(n.path,i)),i.push(n)}return[...t.entries()].map(([e,t])=>{let n=[...t.entries()].map(([e,t])=>({path:e,operations:t}));return{resource:e,operationCount:n.reduce((e,t)=>e+t.operations.length,0),paths:n}})}function ve(e,t){let n=t.trim().toLowerCase();return!n||e.searchText.includes(n)}function ye(e,t){let n=[],r=new Set,i=(e,t)=>{if(!e)return;let i=e.replace(/\/+$/,``);r.has(i)||(r.add(i),n.push({url:e,label:t}))};i(t??void 0,`Studio`);for(let t of e?.servers??[])i(t?.url,t?.description||`Declared in spec`);return n}var be=`#/components/schemas/`;function J(e,t){if(!e||!t||!t.startsWith(be))return;let n=t.slice(21),r=e.components?.schemas;return r&&Object.hasOwn(r,n)?r[n]:void 0}function xe(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function Y(e){if(!e)return;let t=Object.keys(e).find(e=>e.includes(`json`))??Object.keys(e)[0];return t?e[t]?.schema:void 0}var Se=1e3;function X(e,t,n=new Set,r=0,i={remaining:Se}){if(!t||r>8||i.remaining<=0)return null;let a=t.$ref?J(e,t.$ref):t;if(!a||n.has(a))return{};if(i.remaining--,a.example!==void 0)return a.example;if(a.default!==void 0)return a.default;if(a.const!==void 0)return a.const;if(Array.isArray(a.enum)&&a.enum.length>0)return a.enum[0];let o=new Set(n).add(a),s=a.allOf??a.oneOf??a.anyOf;if(s?.length)return a.allOf?a.allOf.reduce((t,n)=>{let a=X(e,n,o,r+1,i);return a&&typeof a==`object`&&!Array.isArray(a)?{...t,...a}:t},{}):X(e,s[0],o,r+1,i);switch(Array.isArray(a.type)?a.type.find(e=>e!==`null`):a.type){case`object`:return Ce(e,a,o,r+1,i);case`array`:return[X(e,a.items,o,r+1,i)];case`string`:return we(a);case`integer`:case`number`:return 0;case`boolean`:return!1;case`null`:return null;default:return a.properties?Ce(e,a,o,r+1,i):null}}function Ce(e,t,n,r,i){let a={};for(let[o,s]of Object.entries(t.properties??{})){if(i.remaining<=0)break;a[o]=X(e,s,n,r,i)}return a}function we(e){switch(e.format){case`date-time`:case`Date`:return new Date().toISOString();case`date`:return new Date().toISOString().slice(0,10);case`uuid`:return`00000000-0000-0000-0000-000000000000`;default:return``}}function Z(e){if(!e)return`any`;if(e.$ref)return xe(e.$ref);if(e.allOf||e.oneOf||e.anyOf){let t=e.allOf??e.oneOf??e.anyOf??[],n=e.allOf?` & `:` | `;return t.map(e=>Z(e)).join(n)||`object`}let t=Array.isArray(e.type)?e.type.join(` | `):e.type;return t===`array`?`${Z(e.items)}[]`:e.format&&t?`${t} <${e.format}>`:t??(e.properties?`object`:`any`)}function Te(e,t){let n=[];return{path:e.replace(/\{([^}]+)\}/g,(e,r)=>{let i=t[r];return typeof i!=`string`||i===``?(n.push(r),`{${r}}`):encodeURIComponent(i)}),missing:n}}function Ee(e){let t=new Map(e.parameters.filter(e=>e.in===`path`).map(e=>[e.name,e]));return[...e.path.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]).map(e=>t.get(e)??{name:e,in:`path`,required:!0,schema:{type:`string`}})}var De=6;function Oe({spec:e,schema:t,className:n}){return t?(0,V.jsx)(`div`,{className:s(`text-sm`,n),children:(0,V.jsx)(ke,{spec:e,schema:t,depth:0,seen:new Set})}):(0,V.jsx)(`p`,{className:s(`text-muted-foreground text-sm`,n),children:`No schema provided.`})}function ke({spec:e,schema:t,depth:n,seen:r,required:i}){let a=t;if(t.$ref){let i=J(e,t.$ref);if(!i)return(0,V.jsx)(Me,{label:xe(t.$ref),note:`(unresolved reference)`});if(r.has(i)||n>=De)return(0,V.jsx)(Me,{label:Z(t),note:`(nested)`});a=i}let o=Array.isArray(a.type)?a.type.find(e=>e!==`null`):a.type;if(o===`object`||a.properties){let i=Object.entries(a.properties??{}),o=new Set(a.required??[]);if(i.length===0)return(0,V.jsxs)(`p`,{className:`text-muted-foreground`,children:[Z(t),a.additionalProperties?` (open — any additional properties allowed)`:``]});let s=new Set(r).add(a);return(0,V.jsx)(`ul`,{className:`border-border/70 flex flex-col gap-2 border-l pl-3`,children:i.map(([t,r])=>(0,V.jsxs)(`li`,{children:[(0,V.jsx)(Ae,{name:t,schema:r,spec:e,required:o.has(t)}),(0,V.jsx)(je,{spec:e,schema:r,depth:n+1,seen:s})]},t))})}if(o===`array`){let t=new Set(r).add(a);return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsxs)(`p`,{className:`text-muted-foreground`,children:[`array of `,Z(a.items)]}),a.items&&n<De&&(0,V.jsx)(ke,{spec:e,schema:a.items,depth:n+1,seen:t})]})}return(0,V.jsx)(Me,{label:Z(t),required:i,description:a.description,enumValues:a.enum})}function Ae({name:e,schema:t,spec:n,required:r}){let i=t.$ref?J(n,t.$ref)??t:t;return(0,V.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,V.jsx)(`code`,{className:`text-foreground font-medium`,children:e}),(0,V.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:Z(t)}),r&&(0,V.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),i.description&&(0,V.jsx)(`span`,{className:`text-muted-foreground w-full text-xs`,children:i.description}),Array.isArray(i.enum)&&i.enum.length>0&&(0,V.jsxs)(`span`,{className:`text-muted-foreground w-full text-xs`,children:[`allowed: `,i.enum.map(e=>JSON.stringify(e)).join(`, `)]})]})}function je({spec:e,schema:t,depth:n,seen:r}){if(n>=De)return null;let i=t.$ref?J(e,t.$ref):t;if(!i||r.has(i))return null;let a=Array.isArray(i.type)?i.type.find(e=>e!==`null`):i.type,o=a===`object`||!!i.properties,s=i.items?.$ref?J(e,i.items.$ref):i.items,c=a===`array`&&!!s&&(s.type===`object`||!!s.properties);if(!o&&!c)return null;let l=c?i.items:i;return(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)(ke,{spec:e,schema:l,depth:n,seen:r})})}function Me({label:e,required:t,description:n,note:r,enumValues:i}){return(0,V.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:e}),r&&(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:r}),t&&(0,V.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),n&&(0,V.jsx)(`span`,{className:`text-muted-foreground w-full text-xs`,children:n}),Array.isArray(i)&&i.length>0&&(0,V.jsxs)(`span`,{className:`text-muted-foreground w-full text-xs`,children:[`allowed: `,i.map(e=>JSON.stringify(e)).join(`, `)]})]})}var Ne=`text-muted-foreground border-border bg-muted`;function Pe(e){return!Number.isFinite(e)||e<=0?`text-red border-red/40 bg-red/10`:e<300?`text-green border-green/40 bg-green/10`:e<400?`text-blue border-blue/40 bg-blue/10`:e<500?`text-yellow border-yellow/40 bg-yellow/10`:`text-red border-red/40 bg-red/10`}function Fe({colorClass:e,children:t}){return(0,V.jsx)(`span`,{className:s(`rounded-md border px-2 py-0.5 font-mono text-xs font-bold`,e),children:t})}function Ie(e){return e.type===`basic`&&typeof e.username==`string`&&e.username!==``||e.type===`bearer`&&typeof e.token==`string`&&e.token!==``}function Le(e){return e===`post`||e===`put`||e===`patch`}function Re(e,t){return e?`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:t}function ze(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function Be(e){switch(e.type){case`basic`:return{Authorization:`Basic ${ze(`${e.username}:${e.password}`)}`};case`bearer`:return{Authorization:`Bearer ${e.token}`};default:return{}}}function Ve(e,t,n,r){let{path:i,missing:a}=Te(e.path,n.pathParams),o=new URLSearchParams;for(let[e,t]of Object.entries(n.queryParams))t!==``&&o.append(e,t);let s=o.toString(),c=Re(t,i)+(s?`?${s}`:``),l={Accept:`application/json`};for(let[e,t]of Object.entries(n.headerParams))t!==``&&(l[e]=t);Object.assign(l,Be(r));let u=Le(e.method)&&n.body.trim()!==``;return u&&(l[`Content-Type`]=`application/json`),{method:e.method,url:c,headers:l,body:u?n.body:void 0,missingPathParams:a}}async function He(e,t=()=>Date.now()){let n=t();try{let r=await fetch(e.url,{method:e.method.toUpperCase(),headers:e.headers,body:e.body,credentials:`include`}),{text:i,truncated:a}=await We(r),o=r.headers.get(`content-type`),s={};return r.headers.forEach((e,t)=>{s[t]=e}),{ok:r.ok,status:r.status,statusText:r.statusText,headers:s,body:Ge(i,o,a),contentType:o,durationMs:Math.round(t()-n)}}catch(e){return{ok:!1,status:0,statusText:``,headers:{},body:``,contentType:null,durationMs:Math.round(t()-n),networkError:e instanceof Error?e.message:String(e)}}}var Ue=512e3;async function We(e,t=Ue){let n=e.body?.getReader?.();if(!n){let n=await e.text();return n.length>t?{text:n.slice(0,t),truncated:!0}:{text:n,truncated:!1}}let r=new TextDecoder,i=``;try{for(;i.length<t;){let{done:e,value:t}=await n.read();if(e){i+=r.decode();break}i+=r.decode(t,{stream:!0})}}finally{await n.cancel().catch(()=>{})}return i.length>t?{text:i.slice(0,t),truncated:!0}:{text:i,truncated:!1}}function Ge(e,t,n=!1){return n||e.length>512e3?`${e.length>512e3?e.slice(0,Ue):e}\n\n… response truncated for display (first ${Ue} characters shown) …`:Ke(e,t)}function Ke(e,t){if(!e)return``;if(t&&!t.includes(`json`))return e;try{return JSON.stringify(JSON.parse(e),null,` `)}catch{return e}}function qe(e){let t=[],n=Object.entries(e.headers);if(t.push(`const response = await fetch(${JSON.stringify(e.url)}, {`),t.push(`\tmethod: ${JSON.stringify(e.method.toUpperCase())},`),t.push(` credentials: "include",`),n.length){t.push(` headers: {`);for(let[e,r]of n)t.push(`\t\t${JSON.stringify(e)}: ${JSON.stringify(r)},`);t.push(` },`)}if(e.body!==void 0){let n=e.body.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${");t.push(`\tbody: \`${n}\`,`)}return t.push(`});`),t.push(`const data = await response.json();`),t.push(`console.log(data);`),t.join(`
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,f as n,l as r,n as i,s as a,u as o}from"./authStore-qKmCZcaf.js";import{n as s,t as c}from"./button-DhiX-njv.js";import{L as l,k as u,x as d,z as f}from"./vendor-tanstack-BiFWSB3W.js";import{a as p}from"./vendor-datadog-BRv-mOv1.js";import{r as m}from"./vendor-react-Dyj4O3HE.js";import{t as h}from"./createLucideIcon-BKGPfjm2.js";import{n as g}from"./chevron-up-Df2c8uoU.js";import{n as _}from"./setLocalStorage-D_kflv4U.js";import{t as v}from"./useLocalStorage-Dtj1QS8_.js";import{$t as y,An as b,Ar as x,Ht as S,Jn as C,Nr as w,Qt as T,Sr as E,Tr as D,Vt as O,dt as k,en as A,gr as j,mt as M,nn as ee,on as te,qn as ne,sn as re,sr as N,tn as ie,un as ae,vn as P,xn as F,xr as oe,xt as se}from"./index-BtTvoLf8.js";import{t as ce}from"./useEntityRestURL-C7x-Yz9r.js";import{i as I,n as L,r as R,t as z}from"./tabs-B_G5zscN.js";var B=h(`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`}]]),V=m(),H={get:`text-blue border-blue/40 bg-blue/10`,post:`text-green border-green/40 bg-green/10`,put:`text-yellow border-yellow/40 bg-yellow/10`,patch:`text-pink border-pink/40 bg-pink/10`,delete:`text-red border-red/40 bg-red/10`,options:`text-muted-foreground border-border bg-muted`,head:`text-muted-foreground border-border bg-muted`,trace:`text-muted-foreground border-border bg-muted`};function U({method:e,className:t}){return(0,V.jsx)(`span`,{className:s(`inline-flex shrink-0 items-center justify-center rounded-md border font-mono text-[0.68rem] font-bold uppercase tracking-wide`,`min-w-14 px-1.5 py-0.5`,H[e],t),children:e})}var W=e(p(),1),le={login:`Log in`,basic:`Basic`,bearer:`Bearer`,cookie:`Cookie`};function ue({tree:e,totalCount:t,filteredCount:n,isFiltering:r,selectedId:i,onSelect:a,filter:o,onFilterChange:c,method:l,authorized:u,settingsActive:d,onOpenSettings:f}){let[p,m]=(0,W.useState)(new Set),h=e=>m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n});return(0,V.jsxs)(`div`,{className:`flex max-h-[28rem] flex-col gap-3 lg:h-full lg:max-h-none lg:min-h-0`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:f,"aria-pressed":d,className:s(`flex w-full shrink-0 items-center gap-2 rounded-md border px-2.5 py-2 text-left text-sm transition-colors`,d?`border-primary bg-primary/10 text-foreground`:`border-border hover:bg-accent/60`),children:[u?(0,V.jsx)(D,{className:`text-green size-4 shrink-0`}):(0,V.jsx)(B,{className:`text-muted-foreground size-4 shrink-0`}),(0,V.jsx)(`span`,{className:`flex-1 font-medium`,children:`Authorize`}),(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:le[l]})]}),(0,V.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,V.jsx)(j,{className:`text-muted-foreground pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2`}),(0,V.jsx)(P,{value:o,onChange:e=>c(e.target.value),placeholder:`Filter endpoints…`,className:`pl-8`,"aria-label":`Filter endpoints`})]}),(0,V.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain min-h-0 pr-1`,children:n===0?(0,V.jsx)(`p`,{className:`text-muted-foreground px-1 py-6 text-center text-sm`,children:t===0?`No endpoints found in this spec.`:`No endpoints match your filter.`}):(0,V.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,V.jsx)(de,{resource:e,expanded:r||!p.has(e.resource),onToggle:()=>h(e.resource),selectedId:i,onSelect:a},e.resource))})})]})}function de({resource:e,expanded:t,onToggle:n,selectedId:r,onSelect:i}){let a=(0,W.useMemo)(()=>e.paths.some(e=>e.operations.some(e=>e.id===r)),[e,r]);return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`button`,{type:`button`,onClick:n,"aria-expanded":t,className:`text-foreground hover:bg-accent/60 flex w-full items-center gap-1.5 rounded-md px-1.5 py-1.5 text-left`,children:[t?(0,V.jsx)(g,{className:`size-4 shrink-0`}):(0,V.jsx)(w,{className:`size-4 shrink-0`}),(0,V.jsx)(`span`,{className:`flex-1 truncate text-sm font-semibold`,children:e.resource}),(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.operationCount})]}),t&&(0,V.jsx)(`div`,{className:`border-border/60 ml-3 flex flex-col gap-2 border-l pt-1 pl-2`,children:e.paths.map(e=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsx)(`span`,{className:s(`truncate px-1 font-mono text-xs`,a?`text-foreground`:`text-muted-foreground`),title:e.path,children:e.path}),(0,V.jsx)(`ul`,{className:`border-border/40 ml-2 flex flex-col gap-0.5 border-l pl-2`,children:e.operations.map(e=>(0,V.jsx)(`li`,{children:(0,V.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:s(`flex w-full items-center gap-2 rounded-md px-2 py-1 text-left transition-colors`,e.id===r?`bg-primary/10 ring-primary/30 ring-1`:`hover:bg-accent/60`),children:[(0,V.jsx)(U,{method:e.method,className:`min-w-14`}),e.operation.summary&&(0,V.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate text-xs`,children:e.operation.summary})]})},e.id))})]},e.path))})]})}function G({code:e,className:t,label:n,maxHeightClassName:r=`max-h-96`}){let i=te();return(0,V.jsxs)(`div`,{className:s(`group bg-muted/60 relative rounded-md border`,t),children:[(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n?`Copy ${n}`:`Copy to clipboard`,className:`absolute top-1.5 right-1.5 z-10 size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,onClick:()=>i(e),children:(0,V.jsx)(x,{className:`size-3.5`})}),(0,V.jsx)(`pre`,{className:s(`overflow-auto p-3 text-xs leading-relaxed`,r),children:(0,V.jsx)(`code`,{className:`font-mono`,children:e})})]})}var K=[`get`,`post`,`put`,`patch`,`delete`,`options`,`head`,`trace`],fe=`default`;function q(e){return e.split(`/`).find(Boolean)??`/`}function pe(e,t){let n=e.security??t?.security;return!Array.isArray(n)||n.length===0?!1:n.every(me)}function me(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;for(let t in e)return!0;return!1}function he(e){let t=e?.paths;if(!t)return[];let n=[];for(let[e,r]of Object.entries(t))if(r)for(let t of K){let i=r[t];if(!i)continue;let a=ge(r.parameters,i.parameters);n.push({id:`${t} ${e}`,method:t,path:e,operation:i,tag:i.tags?.[0]??fe,parameters:a,searchText:`${t} ${e} ${i.summary??``} ${i.description??``} ${i.operationId??``}`.toLowerCase()})}return n}function ge(e=[],t=[]){let n=new Map;for(let r of[...e,...t])r?.name&&r?.in&&n.set(`${r.in}:${r.name}`,r);return[...n.values()]}function _e(e){let t=new Map;for(let n of e){let e=q(n.path),r=t.get(e);r||(r=new Map,t.set(e,r));let i=r.get(n.path);i||(i=[],r.set(n.path,i)),i.push(n)}return[...t.entries()].map(([e,t])=>{let n=[...t.entries()].map(([e,t])=>({path:e,operations:t}));return{resource:e,operationCount:n.reduce((e,t)=>e+t.operations.length,0),paths:n}})}function ve(e,t){let n=t.trim().toLowerCase();return!n||e.searchText.includes(n)}function ye(e,t){let n=[],r=new Set,i=(e,t)=>{if(!e)return;let i=e.replace(/\/+$/,``);r.has(i)||(r.add(i),n.push({url:e,label:t}))};i(t??void 0,`Studio`);for(let t of e?.servers??[])i(t?.url,t?.description||`Declared in spec`);return n}var be=`#/components/schemas/`;function J(e,t){if(!e||!t||!t.startsWith(be))return;let n=t.slice(21),r=e.components?.schemas;return r&&Object.hasOwn(r,n)?r[n]:void 0}function xe(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function Y(e){if(!e)return;let t=Object.keys(e).find(e=>e.includes(`json`))??Object.keys(e)[0];return t?e[t]?.schema:void 0}var Se=1e3;function X(e,t,n=new Set,r=0,i={remaining:Se}){if(!t||r>8||i.remaining<=0)return null;let a=t.$ref?J(e,t.$ref):t;if(!a||n.has(a))return{};if(i.remaining--,a.example!==void 0)return a.example;if(a.default!==void 0)return a.default;if(a.const!==void 0)return a.const;if(Array.isArray(a.enum)&&a.enum.length>0)return a.enum[0];let o=new Set(n).add(a),s=a.allOf??a.oneOf??a.anyOf;if(s?.length)return a.allOf?a.allOf.reduce((t,n)=>{let a=X(e,n,o,r+1,i);return a&&typeof a==`object`&&!Array.isArray(a)?{...t,...a}:t},{}):X(e,s[0],o,r+1,i);switch(Array.isArray(a.type)?a.type.find(e=>e!==`null`):a.type){case`object`:return Ce(e,a,o,r+1,i);case`array`:return[X(e,a.items,o,r+1,i)];case`string`:return we(a);case`integer`:case`number`:return 0;case`boolean`:return!1;case`null`:return null;default:return a.properties?Ce(e,a,o,r+1,i):null}}function Ce(e,t,n,r,i){let a={};for(let[o,s]of Object.entries(t.properties??{})){if(i.remaining<=0)break;a[o]=X(e,s,n,r,i)}return a}function we(e){switch(e.format){case`date-time`:case`Date`:return new Date().toISOString();case`date`:return new Date().toISOString().slice(0,10);case`uuid`:return`00000000-0000-0000-0000-000000000000`;default:return``}}function Z(e){if(!e)return`any`;if(e.$ref)return xe(e.$ref);if(e.allOf||e.oneOf||e.anyOf){let t=e.allOf??e.oneOf??e.anyOf??[],n=e.allOf?` & `:` | `;return t.map(e=>Z(e)).join(n)||`object`}let t=Array.isArray(e.type)?e.type.join(` | `):e.type;return t===`array`?`${Z(e.items)}[]`:e.format&&t?`${t} <${e.format}>`:t??(e.properties?`object`:`any`)}function Te(e,t){let n=[];return{path:e.replace(/\{([^}]+)\}/g,(e,r)=>{let i=t[r];return typeof i!=`string`||i===``?(n.push(r),`{${r}}`):encodeURIComponent(i)}),missing:n}}function Ee(e){let t=new Map(e.parameters.filter(e=>e.in===`path`).map(e=>[e.name,e]));return[...e.path.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]).map(e=>t.get(e)??{name:e,in:`path`,required:!0,schema:{type:`string`}})}var De=6;function Oe({spec:e,schema:t,className:n}){return t?(0,V.jsx)(`div`,{className:s(`text-sm`,n),children:(0,V.jsx)(ke,{spec:e,schema:t,depth:0,seen:new Set})}):(0,V.jsx)(`p`,{className:s(`text-muted-foreground text-sm`,n),children:`No schema provided.`})}function ke({spec:e,schema:t,depth:n,seen:r,required:i}){let a=t;if(t.$ref){let i=J(e,t.$ref);if(!i)return(0,V.jsx)(Me,{label:xe(t.$ref),note:`(unresolved reference)`});if(r.has(i)||n>=De)return(0,V.jsx)(Me,{label:Z(t),note:`(nested)`});a=i}let o=Array.isArray(a.type)?a.type.find(e=>e!==`null`):a.type;if(o===`object`||a.properties){let i=Object.entries(a.properties??{}),o=new Set(a.required??[]);if(i.length===0)return(0,V.jsxs)(`p`,{className:`text-muted-foreground`,children:[Z(t),a.additionalProperties?` (open — any additional properties allowed)`:``]});let s=new Set(r).add(a);return(0,V.jsx)(`ul`,{className:`border-border/70 flex flex-col gap-2 border-l pl-3`,children:i.map(([t,r])=>(0,V.jsxs)(`li`,{children:[(0,V.jsx)(Ae,{name:t,schema:r,spec:e,required:o.has(t)}),(0,V.jsx)(je,{spec:e,schema:r,depth:n+1,seen:s})]},t))})}if(o===`array`){let t=new Set(r).add(a);return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsxs)(`p`,{className:`text-muted-foreground`,children:[`array of `,Z(a.items)]}),a.items&&n<De&&(0,V.jsx)(ke,{spec:e,schema:a.items,depth:n+1,seen:t})]})}return(0,V.jsx)(Me,{label:Z(t),required:i,description:a.description,enumValues:a.enum})}function Ae({name:e,schema:t,spec:n,required:r}){let i=t.$ref?J(n,t.$ref)??t:t;return(0,V.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,V.jsx)(`code`,{className:`text-foreground font-medium`,children:e}),(0,V.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:Z(t)}),r&&(0,V.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),i.description&&(0,V.jsx)(`span`,{className:`text-muted-foreground w-full text-xs`,children:i.description}),Array.isArray(i.enum)&&i.enum.length>0&&(0,V.jsxs)(`span`,{className:`text-muted-foreground w-full text-xs`,children:[`allowed: `,i.enum.map(e=>JSON.stringify(e)).join(`, `)]})]})}function je({spec:e,schema:t,depth:n,seen:r}){if(n>=De)return null;let i=t.$ref?J(e,t.$ref):t;if(!i||r.has(i))return null;let a=Array.isArray(i.type)?i.type.find(e=>e!==`null`):i.type,o=a===`object`||!!i.properties,s=i.items?.$ref?J(e,i.items.$ref):i.items,c=a===`array`&&!!s&&(s.type===`object`||!!s.properties);if(!o&&!c)return null;let l=c?i.items:i;return(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)(ke,{spec:e,schema:l,depth:n,seen:r})})}function Me({label:e,required:t,description:n,note:r,enumValues:i}){return(0,V.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:e}),r&&(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:r}),t&&(0,V.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),n&&(0,V.jsx)(`span`,{className:`text-muted-foreground w-full text-xs`,children:n}),Array.isArray(i)&&i.length>0&&(0,V.jsxs)(`span`,{className:`text-muted-foreground w-full text-xs`,children:[`allowed: `,i.map(e=>JSON.stringify(e)).join(`, `)]})]})}var Ne=`text-muted-foreground border-border bg-muted`;function Pe(e){return!Number.isFinite(e)||e<=0?`text-red border-red/40 bg-red/10`:e<300?`text-green border-green/40 bg-green/10`:e<400?`text-blue border-blue/40 bg-blue/10`:e<500?`text-yellow border-yellow/40 bg-yellow/10`:`text-red border-red/40 bg-red/10`}function Fe({colorClass:e,children:t}){return(0,V.jsx)(`span`,{className:s(`rounded-md border px-2 py-0.5 font-mono text-xs font-bold`,e),children:t})}function Ie(e){return e.type===`basic`&&typeof e.username==`string`&&e.username!==``||e.type===`bearer`&&typeof e.token==`string`&&e.token!==``}function Le(e){return e===`post`||e===`put`||e===`patch`}function Re(e,t){return e?`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:t}function ze(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function Be(e){switch(e.type){case`basic`:return{Authorization:`Basic ${ze(`${e.username}:${e.password}`)}`};case`bearer`:return{Authorization:`Bearer ${e.token}`};default:return{}}}function Ve(e,t,n,r){let{path:i,missing:a}=Te(e.path,n.pathParams),o=new URLSearchParams;for(let[e,t]of Object.entries(n.queryParams))t!==``&&o.append(e,t);let s=o.toString(),c=Re(t,i)+(s?`?${s}`:``),l={Accept:`application/json`};for(let[e,t]of Object.entries(n.headerParams))t!==``&&(l[e]=t);Object.assign(l,Be(r));let u=Le(e.method)&&n.body.trim()!==``;return u&&(l[`Content-Type`]=`application/json`),{method:e.method,url:c,headers:l,body:u?n.body:void 0,missingPathParams:a}}async function He(e,t=()=>Date.now()){let n=t();try{let r=await fetch(e.url,{method:e.method.toUpperCase(),headers:e.headers,body:e.body,credentials:`include`}),{text:i,truncated:a}=await We(r),o=r.headers.get(`content-type`),s={};return r.headers.forEach((e,t)=>{s[t]=e}),{ok:r.ok,status:r.status,statusText:r.statusText,headers:s,body:Ge(i,o,a),contentType:o,durationMs:Math.round(t()-n)}}catch(e){return{ok:!1,status:0,statusText:``,headers:{},body:``,contentType:null,durationMs:Math.round(t()-n),networkError:e instanceof Error?e.message:String(e)}}}var Ue=512e3;async function We(e,t=Ue){let n=e.body?.getReader?.();if(!n){let n=await e.text();return n.length>t?{text:n.slice(0,t),truncated:!0}:{text:n,truncated:!1}}let r=new TextDecoder,i=``;try{for(;i.length<t;){let{done:e,value:t}=await n.read();if(e){i+=r.decode();break}i+=r.decode(t,{stream:!0})}}finally{await n.cancel().catch(()=>{})}return i.length>t?{text:i.slice(0,t),truncated:!0}:{text:i,truncated:!1}}function Ge(e,t,n=!1){return n||e.length>512e3?`${e.length>512e3?e.slice(0,Ue):e}\n\n… response truncated for display (first ${Ue} characters shown) …`:Ke(e,t)}function Ke(e,t){if(!e)return``;if(t&&!t.includes(`json`))return e;try{return JSON.stringify(JSON.parse(e),null,` `)}catch{return e}}function qe(e){let t=[],n=Object.entries(e.headers);if(t.push(`const response = await fetch(${JSON.stringify(e.url)}, {`),t.push(`\tmethod: ${JSON.stringify(e.method.toUpperCase())},`),t.push(` credentials: "include",`),n.length){t.push(` headers: {`);for(let[e,r]of n)t.push(`\t\t${JSON.stringify(e)}: ${JSON.stringify(r)},`);t.push(` },`)}if(e.body!==void 0){let n=e.body.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${");t.push(`\tbody: \`${n}\`,`)}return t.push(`});`),t.push(`const data = await response.json();`),t.push(`console.log(data);`),t.join(`
|
|
2
2
|
`)}function Je(e,t){if(!Le(t.method)||!t.operation.requestBody)return``;let n=Y(t.operation.requestBody.content);return n?JSON.stringify(X(e,n),null,` `):``}function Ye({op:e,spec:t,baseURL:n,auth:r,authRequired:i,authorized:a,onOpenAuthorize:o}){let s=S(),l=Ee(e),u=e.parameters.filter(e=>e.in===`query`),d=e.parameters.filter(e=>e.in===`header`),[f,p]=(0,W.useState)({}),[m,h]=(0,W.useState)({}),[g,_]=(0,W.useState)({}),[v,y]=(0,W.useState)(()=>Je(t,e)),[b,x]=(0,W.useState)(null),[C,w]=(0,W.useState)(!1),T={pathParams:f,queryParams:m,headerParams:g,body:v},D=(0,W.useMemo)(()=>Ve(e,n??``,T,r),[e,n,r,f,m,g,v]),k=Le(e.method)&&!!e.operation.requestBody,A=[...D.missingPathParams,...u.filter(e=>e.required&&!m[e.name]?.trim()).map(e=>e.name),...d.filter(e=>e.required&&!g[e.name]?.trim()).map(e=>e.name),...k&&e.operation.requestBody?.required&&v.trim()===``?[`request body`]:[]],j=!!n&&A.length===0&&!C;async function M(){w(!0),x(null);let e=await He(D);x(e),w(!1)}return(0,V.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[i&&!a&&(0,V.jsxs)(`div`,{className:`border-border bg-muted/40 text-muted-foreground flex flex-wrap items-center gap-1.5 rounded-md border px-3 py-2 text-xs`,children:[(0,V.jsx)(`span`,{children:`This endpoint requires authorization.`}),(0,V.jsx)(`button`,{type:`button`,onClick:o,className:`text-foreground font-medium underline underline-offset-2`,children:`Authorize →`})]}),l.length>0&&(0,V.jsx)(Xe,{title:`Path parameters`,params:l,values:f,onChange:p}),u.length>0&&(0,V.jsx)(Xe,{title:`Query parameters`,params:u,values:m,onChange:h}),d.length>0&&(0,V.jsx)(Xe,{title:`Header parameters`,params:d,values:g,onChange:_}),k&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Request body`}),(0,V.jsx)(`div`,{className:`h-56 overflow-hidden rounded-md border`,children:(0,V.jsx)(O,{className:`h-full w-full`,language:`json-worker-free`,theme:s,value:v,onChange:e=>y(e??``),options:{minimap:{enabled:!1},automaticLayout:!0,scrollBeyondLastLine:!1,fontSize:12,lineNumbers:`off`,folding:!1}})})]}),(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,V.jsxs)(c,{variant:`submit`,onClick:M,disabled:!j,children:[(0,V.jsx)(E,{}),C?`Sending…`:`Send request`]}),!n&&(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`The REST API URL couldn't be determined for this instance.`}),n&&A.length>0&&(0,V.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`Fill in: `,A.join(`, `)]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Request`}),(0,V.jsxs)(`div`,{className:`bg-muted/60 flex items-center gap-2 overflow-x-auto rounded-md border px-3 py-2 font-mono text-xs`,children:[(0,V.jsx)(`span`,{className:`uppercase`,children:D.method}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:D.url})]})]}),b&&(0,V.jsx)(Ze,{result:b}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Code sample — fetch`}),(0,V.jsx)(G,{code:qe(D),label:`code sample`})]})]})}function Xe({title:e,params:t,values:n,onChange:r}){return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:e}),(0,V.jsx)(`div`,{className:`flex flex-col gap-3`,children:t.map(e=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsxs)(F,{htmlFor:`param-${e.in}-${e.name}`,className:`flex items-baseline gap-2`,children:[(0,V.jsx)(`code`,{children:e.name}),e.required&&(0,V.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),e.schema&&(0,V.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs font-normal`,children:Array.isArray(e.schema.type)?e.schema.type.join(` | `):e.schema.type??`string`})]}),(0,V.jsx)(P,{id:`param-${e.in}-${e.name}`,value:n[e.name]??``,placeholder:e.description||e.name,onChange:t=>r({...n,[e.name]:t.target.value})})]},`${e.in}:${e.name}`))})]})}function Ze({result:e}){return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Response`}),(0,V.jsx)(Fe,{colorClass:Pe(e.status),children:e.networkError?`Failed`:`${e.status} ${e.statusText}`.trim()}),(0,V.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[e.durationMs,` ms`]})]}),e.networkError?(0,V.jsxs)(`div`,{className:`border-red/40 bg-red/10 text-foreground rounded-md border p-3 text-sm`,children:[(0,V.jsx)(`p`,{className:`text-red font-medium`,children:`The request could not be completed.`}),(0,V.jsx)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:e.networkError}),(0,V.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:`This is usually a CORS or connectivity issue — check that CORS is enabled for this origin (see the banner above) and that the instance is reachable.`})]}):(0,V.jsx)(G,{code:e.body||`(empty response body)`,label:`response body`})]})}function Qe(e){let t=Number(e);return Number.isFinite(t)?Pe(t):Ne}function $e({op:e,spec:t,baseURL:n,auth:r,authorized:i,onOpenAuthorize:a}){let[o]=re(e.path),s=pe(e.operation,t),l=e.operation.summary,u=e.operation.description;return(0,V.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,V.jsx)(U,{method:e.method}),(0,V.jsx)(`code`,{className:`text-foreground text-base font-medium break-all`,children:e.path}),(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Copy path`,className:`size-7`,onClick:o,children:(0,V.jsx)(x,{className:`size-3.5`})}),e.operation.deprecated&&(0,V.jsx)(ne,{variant:`warning`,children:`Deprecated`}),s&&(0,V.jsxs)(`button`,{type:`button`,onClick:a,className:`border-border hover:bg-accent/60 inline-flex items-center gap-1 rounded-md border px-2 py-0.5 text-xs transition-colors`,children:[i?(0,V.jsx)(D,{className:`text-green size-3`}):(0,V.jsx)(D,{className:`text-muted-foreground size-3`}),i?`Credential set`:`Auth required — Authorize`]})]}),l&&(0,V.jsx)(`h2`,{className:`text-lg font-medium`,children:l}),u&&u!==l&&(0,V.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:u})]}),(0,V.jsxs)(z,{defaultValue:`docs`,className:`gap-4`,children:[(0,V.jsxs)(R,{children:[(0,V.jsx)(I,{value:`docs`,children:`Documentation`}),(0,V.jsx)(I,{value:`try`,children:`Try it out`})]}),(0,V.jsxs)(L,{value:`docs`,className:`flex flex-col gap-6`,children:[(0,V.jsx)(tt,{parameters:e.parameters}),(0,V.jsx)(nt,{op:e,spec:t}),(0,V.jsx)(rt,{responses:e.operation.responses,spec:t})]}),(0,V.jsx)(L,{value:`try`,children:(0,V.jsx)(Ye,{op:e,spec:t,baseURL:n,auth:r,authRequired:s,authorized:i,onOpenAuthorize:a})})]})]})}function et({children:e}){return(0,V.jsx)(`h3`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:e})}function tt({parameters:e}){return e.length===0?null:(0,V.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(et,{children:`Parameters`}),(0,V.jsx)(`ul`,{className:`flex flex-col gap-3`,children:e.map(e=>(0,V.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-2`,children:[(0,V.jsx)(`code`,{className:`text-foreground font-medium`,children:e.name}),(0,V.jsx)(ne,{variant:`outline`,className:`text-[0.65rem]`,children:e.in}),(0,V.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:Array.isArray(e.schema?.type)?e.schema?.type.join(` | `):e.schema?.type??`string`}),e.required&&(0,V.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`})]}),e.description&&(0,V.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:e.description})]},`${e.in}:${e.name}`))})]})}function nt({op:e,spec:t}){let n=e.operation.requestBody,r=n?Y(n.content):void 0,i=(0,W.useMemo)(()=>r?JSON.stringify(X(t,r),null,` `):``,[t,r]);return n?(0,V.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,V.jsxs)(et,{children:[`Request body`,n.required?` (required)`:``]}),n.description&&(0,V.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:n.description}),(0,V.jsx)(Oe,{spec:t,schema:r}),i&&i!==`{}`&&i!==`null`&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Example`}),(0,V.jsx)(G,{code:i,label:`example request body`,maxHeightClassName:`max-h-72`})]})]}):null}function rt({responses:e,spec:t}){let n=Object.entries(e??{});return n.length===0?null:(0,V.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(et,{children:`Responses`}),(0,V.jsx)(`div`,{className:`flex flex-col gap-4`,children:n.map(([e,n])=>{let r=Y(n.content);return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,V.jsx)(Fe,{colorClass:Qe(e),children:e}),n.description&&(0,V.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:n.description})]}),r&&(0,V.jsx)(`div`,{className:`pl-1`,children:(0,V.jsx)(Oe,{spec:t,schema:r})})]},e)})})]})}function it(e){let t=Object.values(e?.components?.securitySchemes??{}),n=!1,r=!1;for(let e of t){let t=typeof e?.scheme==`string`?e.scheme.toLowerCase():void 0;t===`basic`&&(n=!0),(t===`bearer`||e?.type===`oauth2`)&&(r=!0)}return!n&&!r?{basic:!0,bearer:!0}:{basic:n,bearer:r}}function at({spec:e,method:t,auth:n,authorized:r,tab:i,onTabChange:a,onSelectMethod:o,onApplyBasic:s,onApplyBearer:l,onClearAuth:u,login:d,serverOptions:f,activeServer:p,onServerChange:m,onCopyServer:h}){let g=it(e);return(0,V.jsxs)(`div`,{className:`flex max-w-2xl flex-col gap-8`,children:[(0,V.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h2`,{className:`text-lg font-medium`,children:`Server`}),(0,V.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`The base URL that "Try it out" requests target.`})]}),(0,V.jsx)(ft,{options:f,value:p,onChange:m,onCopy:h})]}),(0,V.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r?(0,V.jsx)(D,{className:`text-green size-4`}):(0,V.jsx)(B,{className:`text-muted-foreground size-4`}),(0,V.jsx)(`h2`,{className:`text-lg font-medium`,children:`Authorization`})]}),(0,V.jsxs)(z,{value:i,onValueChange:e=>a(e),className:`gap-4`,children:[(0,V.jsxs)(R,{children:[(0,V.jsx)(I,{value:`docs`,children:`Documentation`}),(0,V.jsx)(I,{value:`try`,children:`Try it out`})]}),(0,V.jsx)(L,{value:`docs`,children:(0,V.jsx)(ot,{available:g})}),(0,V.jsxs)(L,{value:`try`,className:`flex flex-col gap-4`,children:[(0,V.jsx)(st,{method:t,available:g,onSelect:o}),r&&(0,V.jsxs)(`div`,{className:`border-green/40 bg-green/10 text-foreground flex flex-wrap items-center gap-2 rounded-md border p-3 text-sm`,children:[(0,V.jsx)(D,{className:`text-green size-4`}),(0,V.jsx)(`span`,{className:`flex-1`,children:`Credential set — "Try it out" requests will send it.`}),(0,V.jsx)(c,{type:`button`,variant:`outline`,size:`sm`,onClick:u,children:`Clear`})]}),t===`login`&&(0,V.jsx)(ct,{login:d,authorized:r},d.revocation),t===`basic`&&(0,V.jsx)(lt,{auth:n,onApply:s}),t===`bearer`&&(0,V.jsx)(ut,{auth:n,onApply:l}),t===`cookie`&&(0,V.jsx)(dt,{})]})]})]})]})}function ot({available:e}){return(0,V.jsxs)(`div`,{className:`text-muted-foreground flex max-w-prose flex-col gap-4 text-sm`,children:[(0,V.jsx)(`p`,{children:`How "Try it out" requests authenticate. Your selection is saved in this browser tab only (session storage) and cleared when the tab closes.`}),(0,V.jsxs)(`dl`,{className:`flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Log in (recommended)`}),(0,V.jsxs)(`dd`,{children:[`Exchanges your current Studio session — or a username and password — for a short-lived Bearer token, sent as an `,(0,V.jsx)(`code`,{children:`Authorization`}),` `,`header. This works even when the instance is on a different site than Studio and cookies aren't sent. Only the minted token is stored, never your password.`]})]}),e.basic&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Basic`}),(0,V.jsxs)(`dd`,{children:[`Sends your username and password as an `,(0,V.jsx)(`code`,{children:`Authorization: Basic`}),` `,`header on every request. The username and password are stored in this browser tab until it closes.`]})]}),e.bearer&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Bearer token`}),(0,V.jsxs)(`dd`,{children:[`Paste an existing operation token; it's sent as an `,(0,V.jsx)(`code`,{children:`Authorization: Bearer`}),` header.`]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Cookie`}),(0,V.jsxs)(`dd`,{children:[`Relies on your browser's instance session cookie (`,(0,V.jsx)(`code`,{children:`credentials: "include"`}),`). Whether the cookie is sent depends on how the instance is deployed relative to Studio (same site, cookie attributes, HTTPS), so it often won't work in a deployed environment — prefer Log in there.`]})]})]})]})}function st({method:e,available:t,onSelect:n}){return(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,V.jsx)(Q,{active:e===`login`,onClick:()=>n(`login`),children:`Log in`}),t.basic&&(0,V.jsx)(Q,{active:e===`basic`,onClick:()=>n(`basic`),children:`Basic`}),t.bearer&&(0,V.jsx)(Q,{active:e===`bearer`,onClick:()=>n(`bearer`),children:`Bearer token`}),(0,V.jsx)(Q,{active:e===`cookie`,onClick:()=>n(`cookie`),children:`Cookie`})]})}function ct({login:e,authorized:t}){let[n,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(``),o=e.status===`pending`,s=(0,W.useRef)(0),l=e=>{let t=s.current;e().then(e=>{e===`applied`&&s.current===t&&(r(``),a(``))})};return(0,V.jsxs)(`div`,{className:`flex max-w-sm flex-col gap-4`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(c,{type:`button`,variant:`submit`,disabled:o,onClick:()=>l(e.runSession),children:o?`Authorizing…`:`Authorize with your current session`}),(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Mints a token as the user you're signed in to Studio as — no credentials to retype.`})]}),e.runCredentials&&(0,V.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:t=>{t.preventDefault();let r=e.runCredentials;r&&l(()=>r({username:n,password:i}))},children:[(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Or use different credentials`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(F,{htmlFor:`api-login-username`,children:`Username`}),(0,V.jsx)(P,{id:`api-login-username`,value:n,autoComplete:`username`,onChange:e=>{s.current++,r(e.target.value)}})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(F,{htmlFor:`api-login-password`,children:`Password`}),(0,V.jsx)(P,{id:`api-login-password`,type:`password`,value:i,autoComplete:`current-password`,onChange:e=>{s.current++,a(e.target.value)}})]}),(0,V.jsx)(c,{type:`submit`,variant:`outline`,disabled:o||!n||!i,children:o?`Authorizing…`:`Authorize`})]}),e.status===`error`&&e.error&&(0,V.jsx)(`p`,{className:`text-red text-sm`,children:e.error}),!t&&e.status===`idle`&&(0,V.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Not signed in — authenticated requests will be rejected.`})]})}function lt({auth:e,onApply:t}){let[n,r]=(0,W.useState)(e.type===`basic`?e.username:``),[i,a]=(0,W.useState)(e.type===`basic`?e.password:``);return(0,W.useEffect)(()=>{r(e.type===`basic`?e.username:``),a(e.type===`basic`?e.password:``)},[e]),(0,V.jsxs)(`form`,{className:`flex max-w-sm flex-col gap-3`,onSubmit:e=>{e.preventDefault(),t(n,i)},children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(F,{htmlFor:`api-auth-username`,children:`Username`}),(0,V.jsx)(P,{id:`api-auth-username`,value:n,autoComplete:`username`,onChange:e=>r(e.target.value)})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(F,{htmlFor:`api-auth-password`,children:`Password`}),(0,V.jsx)(P,{id:`api-auth-password`,type:`password`,value:i,autoComplete:`current-password`,onChange:e=>a(e.target.value)})]}),(0,V.jsx)(c,{type:`submit`,variant:`outline`,disabled:!n,children:`Authorize`})]})}function ut({auth:e,onApply:t}){let[n,r]=(0,W.useState)(e.type===`bearer`?e.token:``);return(0,W.useEffect)(()=>{r(e.type===`bearer`?e.token:``)},[e]),(0,V.jsxs)(`form`,{className:`flex max-w-sm flex-col gap-1.5`,onSubmit:e=>{e.preventDefault(),t(n)},children:[(0,V.jsx)(F,{htmlFor:`api-auth-token`,children:`Token`}),(0,V.jsx)(P,{id:`api-auth-token`,value:n,placeholder:`eyJhbGciOi…`,onChange:e=>r(e.target.value)}),(0,V.jsx)(c,{type:`submit`,variant:`outline`,className:`mt-2`,disabled:!n,children:`Authorize`})]})}function dt(){return(0,V.jsxs)(`p`,{className:`text-muted-foreground max-w-prose text-sm`,children:[`Requests are sent with your browser's instance session cookie (`,(0,V.jsx)(`code`,{children:`credentials: "include"`}),`). Whether it's sent depends on how the instance is deployed relative to Studio, so it often won't work in a deployed environment — use Log in if requests come back unauthorized.`]})}function ft({options:e,value:t,onChange:n,onCopy:r}){return e.length===0?(0,V.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No server URL could be determined for this instance.`}):e.length===1?(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-sm`,children:[(0,V.jsx)(`span`,{className:`font-mono break-all`,children:e[0].url}),(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Copy server URL`,className:`size-6`,onClick:r,children:(0,V.jsx)(x,{className:`size-3`})})]}):(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsxs)(T,{value:t,onValueChange:n,children:[(0,V.jsx)(ie,{className:`max-w-md min-w-0 flex-1`,"aria-label":`Server`,children:(0,V.jsx)(ee,{})}),(0,V.jsx)(y,{children:e.map(e=>(0,V.jsxs)(A,{value:e.url,children:[(0,V.jsx)(`span`,{className:`font-mono text-xs`,children:e.url}),(0,V.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`— `,e.label]})]},e.url))})]}),(0,V.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Copy server URL`,className:`size-6`,onClick:r,children:(0,V.jsx)(x,{className:`size-3`})})]})}function Q({active:e,onClick:t,children:n}){return(0,V.jsx)(`button`,{type:`button`,onClick:t,className:s(`rounded-md border px-3 py-1.5 text-sm transition-colors`,e?`border-primary bg-primary/10 text-foreground`:`border-border text-muted-foreground hover:bg-accent/60`),children:n})}var pt=10;function mt(e){return Math.max(240,Math.floor(e/2))}function $(e,t){return Math.round(Math.min(Math.max(Number.isFinite(e)?e:320,240),mt(t)))}function ht(){let[e,t]=v(_.ApiExplorerSidebarWidth,320),[n,r]=(0,W.useState)(!1),[i,a]=(0,W.useState)(()=>$(e,window.innerWidth)),o=(0,W.useRef)(i);o.current=i;let s=(0,W.useRef)(null);(0,W.useEffect)(()=>{n||a($(e,window.innerWidth))},[e,n]),(0,W.useEffect)(()=>{let t=()=>{n||a($(e,window.innerWidth))};return window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[e,n]);let c=(0,W.useCallback)(e=>{e.preventDefault(),s.current={startX:e.clientX,startWidth:o.current},r(!0)},[]);return(0,W.useEffect)(()=>{if(!n)return;let e=e=>{let t=s.current;t&&a($(t.startWidth+(e.clientX-t.startX),window.innerWidth))},i=()=>{r(!1),t(o.current)},c=document.body.style.userSelect;return document.body.style.userSelect=`none`,window.addEventListener(`mousemove`,e),window.addEventListener(`mouseup`,i),()=>{document.body.style.userSelect=c,window.removeEventListener(`mousemove`,e),window.removeEventListener(`mouseup`,i)}},[n,t]),{width:i,isResizing:n,startResizing:c,handleKeyDown:(0,W.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),t(e=>$(e-pt,window.innerWidth))):e.key===`ArrowRight`&&(e.preventDefault(),t(e=>$(e+pt,window.innerWidth)))},[t])}}var gt={type:`cookie`};function _t({spec:e,baseURL:t,entityId:r,onSessionMint:a,onCredentialMint:c}){let l=(0,W.useMemo)(()=>he(e),[e]),u=(0,W.useMemo)(()=>ye(e,t),[e,t]),[d,f]=(0,W.useState)(``),[p,m]=(0,W.useState)(`operation`),[h,g]=(0,W.useState)(`docs`),[_,v]=(0,W.useState)(()=>l[0]?.id),y=e=>{g(e),m(`settings`)},[b,x]=(0,W.useState)(()=>o(r)),S=e=>{n(r,e),x(t=>({...t,...e}))},C=b.method??`login`,w=b.auth??{type:`cookie`},T=u.find(e=>e.url===b.server)?.url??u[0]?.url??t,E=(0,W.useRef)(0),D=(0,W.useRef)(!0);(0,W.useEffect)(()=>(D.current=!0,()=>{D.current=!1,E.current++}),[]);let[O,k]=(0,W.useState)(`idle`),[A,j]=(0,W.useState)(null),[M,ee]=(0,W.useState)(0),[te,N]=(0,W.useState)(()=>i.getExplorerAuthEpoch(r));(0,W.useEffect)(()=>{let e=i.onExplorerAuthInvalidated(r,()=>{E.current++,x(o(r)),k(`idle`),j(null),N(i.getExplorerAuthEpoch(r)),ee(e=>e+1)});return N(i.getExplorerAuthEpoch(r)),e},[r]);let ie=async e=>{let n=++E.current,a=i.getExplorerAuthEpoch(r);k(`pending`),j(null);try{let o=await e();return!D.current||n!==E.current?`discarded`:i.getExplorerAuthEpoch(r)===a?typeof o!=`string`||o===``?(j(`The instance did not return a usable token.`),k(`error`),`failed`):(S({method:`login`,auth:{type:`bearer`,token:o},authServer:t??void 0,authGeneration:i.getExplorerAuthEpoch(r)}),k(`idle`),`applied`):(k(`idle`),`discarded`)}catch(e){return!D.current||n!==E.current?`discarded`:(j(e instanceof Error?e.message:`Log in failed.`),k(`error`),`failed`)}},ae={status:O,error:A,revocation:M,runSession:()=>ie(a),runCredentials:c?e=>ie(()=>c(e)):null},P=e=>{E.current++,e===`cookie`?S({method:`cookie`,auth:{type:`cookie`},authServer:void 0}):e===`basic`?S({method:`basic`,auth:w.type===`basic`?w:{type:`basic`,username:``,password:``}}):e===`bearer`?S({method:`bearer`,auth:w.type===`bearer`?w:{type:`bearer`,token:``}}):C===`login`&&w.type===`bearer`?S({method:`login`}):S({method:`login`,auth:{type:`cookie`},authServer:void 0}),k(`idle`),j(null)},F=(e,t)=>{E.current++,S({method:`basic`,auth:{type:`basic`,username:e,password:t},authServer:T??void 0,authGeneration:i.getExplorerAuthEpoch(r)})},oe=e=>{E.current++,S({method:`bearer`,auth:{type:`bearer`,token:e},authServer:T??void 0,authGeneration:i.getExplorerAuthEpoch(r)})},se=()=>{E.current++,k(`idle`),j(null),S({auth:C===`basic`?{type:`basic`,username:``,password:``}:C===`bearer`?{type:`bearer`,token:``}:{type:`cookie`},authServer:void 0})},ce=e=>S({server:e}),[I]=re(T??``),L=b.authServer!=null&&b.authServer===T,R=b.authGeneration===te,z=Ie(w)&&L&&R?w:gt,B=Ie(z),{width:H,isResizing:U,startResizing:le,handleKeyDown:de}=ht(),G={"--api-sidebar-width":`${H}px`},K=(0,W.useMemo)(()=>l.filter(e=>ve(e,d)),[l,d]),fe=(0,W.useMemo)(()=>_e(K),[K]),q=l.find(e=>e.id===_)??l[0];function pe(e){v(e),m(`operation`)}return(0,V.jsxs)(`div`,{className:`flex flex-col gap-5 lg:min-h-0 lg:flex-1`,children:[(0,V.jsxs)(`header`,{className:`flex min-w-0 flex-col lg:shrink-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`h1`,{className:`font-radioGrotesk truncate text-2xl`,children:e?.info?.title??`API Explorer`}),e?.info?.version&&(0,V.jsxs)(ne,{variant:`secondary`,children:[`v`,e.info.version]})]}),e?.info?.description&&(0,V.jsx)(`p`,{className:`text-muted-foreground mt-1 text-sm`,children:e.info.description})]}),l.length===0?(0,V.jsx)(`div`,{className:`border-border text-muted-foreground rounded-md border border-dashed p-8 text-center text-sm`,children:`This spec doesn't define any endpoints yet.`}):(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 lg:min-h-0 lg:flex-1 lg:flex-row lg:items-stretch`,children:[(0,V.jsxs)(`aside`,{style:G,className:`relative w-full shrink-0 overflow-y-clip lg:h-full lg:min-h-0 lg:w-[var(--api-sidebar-width)]`,children:[(0,V.jsx)(ue,{tree:fe,totalCount:l.length,filteredCount:K.length,isFiltering:d.trim()!==``,selectedId:p===`operation`?q?.id:void 0,onSelect:pe,filter:d,onFilterChange:f,method:C,authorized:B,settingsActive:p===`settings`,onOpenSettings:()=>y(`docs`)}),(0,V.jsx)(`div`,{role:`separator`,tabIndex:0,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,"aria-valuenow":H,"aria-valuemin":240,"aria-valuemax":mt(window.innerWidth),onMouseDown:le,onKeyDown:de,className:`group absolute top-0 right-0 bottom-0 z-40 hidden w-4 translate-x-1/2 cursor-col-resize outline-none lg:block`,children:(0,V.jsx)(`div`,{className:s(`absolute inset-y-0 left-1/2 w-1 -translate-x-1/2 transition-colors`,`group-hover:bg-violet-400/60 dark:group-hover:bg-violet-500/60 group-focus-visible:bg-violet-500/80`,U&&`bg-violet-400/60 dark:bg-violet-500/60`)})})]}),(0,V.jsx)(`main`,{className:`min-w-0 flex-1 lg:min-h-0 lg:overflow-y-auto lg:overscroll-contain lg:pb-6`,children:p===`settings`?(0,V.jsx)(at,{spec:e,method:C,auth:w,authorized:B,tab:h,onTabChange:g,onSelectMethod:P,onApplyBasic:F,onApplyBearer:oe,onClearAuth:se,login:ae,serverOptions:u,activeServer:T??void 0,onServerChange:ce,onCopyServer:I}):q?(0,V.jsx)($e,{op:q,spec:e,baseURL:T??null,auth:z,authorized:B,onOpenAuthorize:()=>y(`try`)},q.id):(0,V.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Select an endpoint to see its documentation.`})})]})]})}function vt({entityId:e,instanceClient:t}){return l({queryKey:[`OpenAPI`,e],queryFn:async()=>{let{data:e}=await t.get(`/api/openapi/rest`);return e}})}function yt(){let{instanceId:e,clusterId:n}=u({strict:!1}),i=b(),{data:o,isLoading:s}=f(k(i)),{data:l,isLoading:d}=f(se(i)),p=ce(),{data:m,isLoading:h,error:g}=f(vt(i)),_=i.instanceClient.defaults.baseURL,v=(0,W.useCallback)(async()=>(await a({instanceClient:i.instanceClient})).operationToken,[i.instanceClient]),y=(0,W.useMemo)(()=>r(_)?e=>t({operationsUrl:_,...e}):null,[_]),x=o?.http,S=``,w=x?.cors===!1,T=x?.corsAccessList?.length!==void 0&&!x.corsAccessList.includes(`*`)&&!x.corsAccessList.includes(`null`)&&!x.corsAccessList.includes(window.location.origin);w?S=`This ${n&&!e?`cluster`:`instance`} has CORS disabled currently, so you won't be able to execute API requests from the browser.`:T&&(S=`This ${n&&!e?`cluster`:`instance`} has CORS enabled, but ${window.location.origin} is not allowed, so you won't be able to execute API requests from the browser.`);let{onConfigUpdate:E,isPending:D}=M(),O=(0,W.useCallback)(()=>{E({...w?{http_cors:!0}:{},...T?{http_corsAccessList:[...x?.corsAccessList??[],window.location.origin]}:{}})},[w,x?.corsAccessList,T,E]);if(s||d||h)return(0,V.jsx)(C,{centered:!0,text:`Looking up your instance configuration, one moment.`});if(g){let e;return e=l?.version&&!ae(`4.7.0-beta.7`,l?.version)?`API Docs are only available starting in version '4.7.0-beta.7' of Harper, please update your version ${l.version}!`:`We weren't able to look up your docs. Please check the Network tab of your developer tools to see why the docs were not accessible to Studio.`,(0,V.jsx)(N,{title:`API Docs Unavailable`,error:{message:e},showReturnToHome:!1})}return(0,V.jsxs)(`div`,{className:`flex flex-col px-4 pt-6 pb-12 md:px-8 lg:h-[calc(100vh-(--spacing(32)))] lg:pb-0`,children:[S&&(0,V.jsx)(N,{title:`CORS Disabled: HTTP API Not Accessible`,className:`mt-0 mb-6 shrink-0 border-yellow text-yellow`,error:{message:S},showReturnToHome:!1,children:(0,V.jsxs)(c,{type:`button`,disabled:D,variant:`warning`,onClick:O,children:[(0,V.jsx)(oe,{}),D?`Enabling CORS...`:`Enable CORS for ${window.location.origin}`]})}),(0,V.jsx)(_t,{spec:m,baseURL:p,entityId:i.entityId,onSessionMint:v,onCredentialMint:y},i.entityId)]})}var bt=d(`/apis`)({component:yt});export{bt as route};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{conf as e,language as t}from"./typescript-
|
|
1
|
+
import{conf as e,language as t}from"./typescript-BpRqjmvQ.js";var n=e,r={defaultToken:`invalid`,tokenPostfix:`.js`,keywords:`break.case.catch.class.continue.const.constructor.debugger.default.delete.do.else.export.extends.false.finally.for.from.function.get.if.import.in.instanceof.let.new.null.return.set.static.super.switch.symbol.this.throw.true.try.typeof.undefined.var.void.while.with.yield.async.await.of`.split(`.`),typeKeywords:[],operators:t.operators,symbols:t.symbols,escapes:t.escapes,digits:t.digits,octaldigits:t.octaldigits,binarydigits:t.binarydigits,hexdigits:t.hexdigits,regexpctl:t.regexpctl,regexpesc:t.regexpesc,tokenizer:t.tokenizer};export{n as conf,r as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{X as e}from"./index-
|
|
1
|
+
import{X as e}from"./index-BtTvoLf8.js";import{_ as t,g as n}from"./register-Cvc1TpmQ.js";import{t as r}from"./workers-B2WpJDK9.js";import{_ as i,a,c as o,d as s,f as c,g as l,h as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,v as x}from"./lspLanguageFeatures-Bh-bvkyK.js";var S=12e4,C=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>S&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=r({moduleId:`vs/language/json/jsonWorker`,createWorker:()=>new Worker(new URL(`/assets/json.worker-fO_hOLCP.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},w;function T(){return new Promise((e,t)=>{if(!w)return t(`JSON not registered!`);e(w)})}var E=class extends _{constructor(e,t,r){super(e,t,r.onDidChange),this._disposables.push(n.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(n.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function D(n){let r=[],i=[],c=new C(n);r.push(c),w=(...e)=>c.getLanguageServiceWorker(...e);function l(){let{languageId:r,modeConfiguration:c}=n;k(i),c.documentFormattingEdits&&i.push(t.registerDocumentFormattingEditProvider(r,new a(w))),c.documentRangeFormattingEdits&&i.push(t.registerDocumentRangeFormattingEditProvider(r,new o(w))),c.completionItems&&i.push(t.registerCompletionItemProvider(r,new y(w,[` `,`:`,`"`]))),c.hovers&&i.push(t.registerHoverProvider(r,new s(w))),c.documentSymbols&&i.push(t.registerDocumentSymbolProvider(r,new f(w))),c.tokens&&i.push(t.setTokensProvider(r,e(!0))),c.colors&&i.push(t.registerColorProvider(r,new d(w))),c.foldingRanges&&i.push(t.registerFoldingRangeProvider(r,new b(w))),c.diagnostics&&i.push(new E(r,w,n)),c.selectionRanges&&i.push(t.registerSelectionRangeProvider(r,new p(w)))}l(),r.push(t.setLanguageConfiguration(n.languageId,A));let u=n.modeConfiguration;return n.onDidChange(e=>{e.modeConfiguration!==u&&(u=e.modeConfiguration,l())}),r.push(O(i)),O(r)}function O(e){return{dispose:()=>k(e)}}function k(e){for(;e.length;)e.pop().dispose()}var A={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]};export{y as CompletionAdapter,m as DefinitionAdapter,_ as DiagnosticsAdapter,d as DocumentColorAdapter,a as DocumentFormattingEditProvider,h as DocumentHighlightAdapter,v as DocumentLinkAdapter,o as DocumentRangeFormattingEditProvider,f as DocumentSymbolAdapter,b as FoldingRangeAdapter,s as HoverAdapter,c as ReferenceAdapter,g as RenameAdapter,p as SelectionRangeAdapter,C as WorkerManager,u as fromPosition,l as fromRange,T as getWorker,D as setupMode,i as toRange,x as toTextEdit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./register-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./register-Cvc1TpmQ.js";var n=e({json:()=>t});export{n as t};
|
package/studio/web/assets/{lspLanguageFeatures-DTA6wyQw.js → lspLanguageFeatures-Bh-bvkyK.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,c as t,d as n,g as r,h as i}from"./register-Buvoxmb8.js";var a;(function(e){function t(e){return typeof e==`string`}e.is=t})(a||={});var o;(function(e){function t(e){return typeof e==`string`}e.is=t})(o||={});var s;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(s||={});var c;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(c||={});var l;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=c.MAX_VALUE),t===Number.MAX_VALUE&&(t=c.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.line)&&U.uinteger(t.character)}e.is=n})(l||={});var u;(function(e){function t(e,t,n,r){if(U.uinteger(e)&&U.uinteger(t)&&U.uinteger(n)&&U.uinteger(r))return{start:l.create(e,t),end:l.create(n,r)};if(l.is(e)&&l.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.start)&&l.is(t.end)}e.is=n})(u||={});var d;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&(U.string(t.uri)||U.undefined(t.uri))}e.is=n})(d||={});var f;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.targetRange)&&U.string(t.targetUri)&&u.is(t.targetSelectionRange)&&(u.is(t.originSelectionRange)||U.undefined(t.originSelectionRange))}e.is=n})(f||={});var p;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.numberRange(t.red,0,1)&&U.numberRange(t.green,0,1)&&U.numberRange(t.blue,0,1)&&U.numberRange(t.alpha,0,1)}e.is=n})(p||={});var ee;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&p.is(t.color)}e.is=n})(ee||={});var te;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.undefined(t.textEdit)||y.is(t))&&(U.undefined(t.additionalTextEdits)||U.typedArray(t.additionalTextEdits,y.is))}e.is=n})(te||={});var m;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(m||={});var ne;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return U.defined(n)&&(o.startCharacter=n),U.defined(r)&&(o.endCharacter=r),U.defined(i)&&(o.kind=i),U.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.startLine)&&U.uinteger(t.startLine)&&(U.undefined(t.startCharacter)||U.uinteger(t.startCharacter))&&(U.undefined(t.endCharacter)||U.uinteger(t.endCharacter))&&(U.undefined(t.kind)||U.string(t.kind))}e.is=n})(ne||={});var h;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&d.is(t.location)&&U.string(t.message)}e.is=n})(h||={});var g;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(g||={});var re;(function(e){e.Unnecessary=1,e.Deprecated=2})(re||={});var ie;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&U.string(t.href)}e.is=t})(ie||={});var _;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return U.defined(n)&&(o.severity=n),U.defined(r)&&(o.code=r),U.defined(i)&&(o.source=i),U.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&U.string(t.message)&&(U.number(t.severity)||U.undefined(t.severity))&&(U.integer(t.code)||U.string(t.code)||U.undefined(t.code))&&(U.undefined(t.codeDescription)||U.string(t.codeDescription?.href))&&(U.string(t.source)||U.undefined(t.source))&&(U.undefined(t.relatedInformation)||U.typedArray(t.relatedInformation,h.is))}e.is=n})(_||={});var v;(function(e){function t(e,t,...n){let r={title:e,command:t};return U.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.title)&&U.string(t.command)}e.is=n})(v||={});var y;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return U.objectLiteral(t)&&U.string(t.newText)&&u.is(t.range)}e.is=i})(y||={});var b;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=n})(b||={});var x;(function(e){function t(e){let t=e;return U.string(t)}e.is=t})(x||={});var ae;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return y.is(t)&&(b.is(t.annotationId)||x.is(t.annotationId))}e.is=i})(ae||={});var S;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&k.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(S||={});var C;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&U.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(C||={});var w;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&U.string(t.oldUri)&&U.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(w||={});var T;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&U.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||U.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||U.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(T||={});var E;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>U.string(e.kind)?C.is(e)||w.is(e)||T.is(e):S.is(e)))}e.is=t})(E||={});var D;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)}e.is=n})(D||={});var O;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.integer(t.version)}e.is=n})(O||={});var k;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&(t.version===null||U.integer(t.version))}e.is=n})(k||={});var oe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.string(t.languageId)&&U.integer(t.version)&&U.string(t.text)}e.is=n})(oe||={});var A;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(A||={});var j;(function(e){function t(e){let t=e;return U.objectLiteral(e)&&A.is(t.kind)&&U.string(t.value)}e.is=t})(j||={});var M;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(M||={});var N;(function(e){e.PlainText=1,e.Snippet=2})(N||={});var se;(function(e){e.Deprecated=1})(se||={});var ce;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&U.string(t.newText)&&u.is(t.insert)&&u.is(t.replace)}e.is=n})(ce||={});var le;(function(e){e.asIs=1,e.adjustIndentation=2})(le||={});var ue;(function(e){function t(e){let t=e;return t&&(U.string(t.detail)||t.detail===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=t})(ue||={});var de;(function(e){function t(e){return{label:e}}e.create=t})(de||={});var fe;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(fe||={});var P;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return U.string(t)||U.objectLiteral(t)&&U.string(t.language)&&U.string(t.value)}e.is=n})(P||={});var pe;(function(e){function t(e){let t=e;return!!t&&U.objectLiteral(t)&&(j.is(t.contents)||P.is(t.contents)||U.typedArray(t.contents,P.is))&&(e.range===void 0||u.is(e.range))}e.is=t})(pe||={});var me;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(me||={});var F;(function(e){function t(e,t,...n){let r={label:e};return U.defined(t)&&(r.documentation=t),r.parameters=U.defined(n)?n:[],r}e.create=t})(F||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var L;(function(e){function t(e,t){let n={range:e};return U.number(t)&&(n.kind=t),n}e.create=t})(L||={});var R;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(R||={});var z;(function(e){e.Deprecated=1})(z||={});var he;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(he||={});var ge;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(ge||={});var _e;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&U.string(t.name)&&U.number(t.kind)&&u.is(t.range)&&u.is(t.selectionRange)&&(t.detail===void 0||U.string(t.detail))&&(t.deprecated===void 0||U.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(_e||={});var ve;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(ve||={});var B;(function(e){e.Invoked=1,e.Automatic=2})(B||={});var ye;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.typedArray(t.diagnostics,_.is)&&(t.only===void 0||U.typedArray(t.only,U.string))&&(t.triggerKind===void 0||t.triggerKind===B.Invoked||t.triggerKind===B.Automatic)}e.is=n})(ye||={});var be;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):v.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&U.string(t.title)&&(t.diagnostics===void 0||U.typedArray(t.diagnostics,_.is))&&(t.kind===void 0||U.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||v.is(t.command))&&(t.isPreferred===void 0||U.boolean(t.isPreferred))&&(t.edit===void 0||E.is(t.edit))}e.is=n})(be||={});var xe;(function(e){function t(e,t){let n={range:e};return U.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.command)||v.is(t.command))}e.is=n})(xe||={});var Se;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.uinteger(t.tabSize)&&U.boolean(t.insertSpaces)}e.is=n})(Se||={});var Ce;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.target)||U.string(t.target))}e.is=n})(Ce||={});var we;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return U.objectLiteral(n)&&u.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(we||={});var Te;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Te||={});var Ee;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ee||={});var De;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(De||={});var Oe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.string(t.text)}e.is=n})(Oe||={});var ke;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.boolean(t.caseSensitiveLookup)&&(U.string(t.variableName)||t.variableName===void 0)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&(U.string(t.expression)||t.expression===void 0)}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(e.stoppedLocation)}e.is=n})(je||={});var V;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(V||={});var H;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.location===void 0||d.is(t.location))&&(t.command===void 0||v.is(t.command))}e.is=n})(H||={});var Me;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.position)&&(U.string(t.label)||U.typedArray(t.label,H.is))&&(t.kind===void 0||V.is(t.kind))&&t.textEdits===void 0||U.typedArray(t.textEdits,y.is)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.paddingLeft===void 0||U.boolean(t.paddingLeft))&&(t.paddingRight===void 0||U.boolean(t.paddingRight))}e.is=n})(Me||={});var Ne;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Ne||={});var Pe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Pe||={});var Fe;(function(e){function t(e){return{items:e}}e.create=t})(Fe||={});var Ie;(function(e){e.Invoked=0,e.Automatic=1})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(Le||={});var Re;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Re||={});var ze;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&o.is(t.uri)&&U.string(t.name)}e.is=t})(ze||={});var Be;(function(e){function t(e,t,n,r){return new Ve(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(U.defined(t)&&U.string(t.uri)&&(U.undefined(t.languageId)||U.string(t.languageId))&&U.uinteger(t.lineCount)&&U.func(t.getText)&&U.func(t.positionAt)&&U.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(Be||={});var Ve=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
1
|
+
import{_ as e,c as t,d as n,g as r,h as i}from"./register-Cvc1TpmQ.js";var a;(function(e){function t(e){return typeof e==`string`}e.is=t})(a||={});var o;(function(e){function t(e){return typeof e==`string`}e.is=t})(o||={});var s;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(s||={});var c;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(c||={});var l;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=c.MAX_VALUE),t===Number.MAX_VALUE&&(t=c.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.line)&&U.uinteger(t.character)}e.is=n})(l||={});var u;(function(e){function t(e,t,n,r){if(U.uinteger(e)&&U.uinteger(t)&&U.uinteger(n)&&U.uinteger(r))return{start:l.create(e,t),end:l.create(n,r)};if(l.is(e)&&l.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.start)&&l.is(t.end)}e.is=n})(u||={});var d;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&(U.string(t.uri)||U.undefined(t.uri))}e.is=n})(d||={});var f;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.targetRange)&&U.string(t.targetUri)&&u.is(t.targetSelectionRange)&&(u.is(t.originSelectionRange)||U.undefined(t.originSelectionRange))}e.is=n})(f||={});var p;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.numberRange(t.red,0,1)&&U.numberRange(t.green,0,1)&&U.numberRange(t.blue,0,1)&&U.numberRange(t.alpha,0,1)}e.is=n})(p||={});var ee;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&p.is(t.color)}e.is=n})(ee||={});var te;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.undefined(t.textEdit)||y.is(t))&&(U.undefined(t.additionalTextEdits)||U.typedArray(t.additionalTextEdits,y.is))}e.is=n})(te||={});var m;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(m||={});var ne;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return U.defined(n)&&(o.startCharacter=n),U.defined(r)&&(o.endCharacter=r),U.defined(i)&&(o.kind=i),U.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.startLine)&&U.uinteger(t.startLine)&&(U.undefined(t.startCharacter)||U.uinteger(t.startCharacter))&&(U.undefined(t.endCharacter)||U.uinteger(t.endCharacter))&&(U.undefined(t.kind)||U.string(t.kind))}e.is=n})(ne||={});var h;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&d.is(t.location)&&U.string(t.message)}e.is=n})(h||={});var g;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(g||={});var re;(function(e){e.Unnecessary=1,e.Deprecated=2})(re||={});var ie;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&U.string(t.href)}e.is=t})(ie||={});var _;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return U.defined(n)&&(o.severity=n),U.defined(r)&&(o.code=r),U.defined(i)&&(o.source=i),U.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&U.string(t.message)&&(U.number(t.severity)||U.undefined(t.severity))&&(U.integer(t.code)||U.string(t.code)||U.undefined(t.code))&&(U.undefined(t.codeDescription)||U.string(t.codeDescription?.href))&&(U.string(t.source)||U.undefined(t.source))&&(U.undefined(t.relatedInformation)||U.typedArray(t.relatedInformation,h.is))}e.is=n})(_||={});var v;(function(e){function t(e,t,...n){let r={title:e,command:t};return U.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.title)&&U.string(t.command)}e.is=n})(v||={});var y;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return U.objectLiteral(t)&&U.string(t.newText)&&u.is(t.range)}e.is=i})(y||={});var b;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=n})(b||={});var x;(function(e){function t(e){let t=e;return U.string(t)}e.is=t})(x||={});var ae;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return y.is(t)&&(b.is(t.annotationId)||x.is(t.annotationId))}e.is=i})(ae||={});var S;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&k.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(S||={});var C;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&U.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(C||={});var w;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&U.string(t.oldUri)&&U.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(w||={});var T;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&U.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||U.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||U.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(T||={});var E;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>U.string(e.kind)?C.is(e)||w.is(e)||T.is(e):S.is(e)))}e.is=t})(E||={});var D;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)}e.is=n})(D||={});var O;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.integer(t.version)}e.is=n})(O||={});var k;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&(t.version===null||U.integer(t.version))}e.is=n})(k||={});var oe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.string(t.languageId)&&U.integer(t.version)&&U.string(t.text)}e.is=n})(oe||={});var A;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(A||={});var j;(function(e){function t(e){let t=e;return U.objectLiteral(e)&&A.is(t.kind)&&U.string(t.value)}e.is=t})(j||={});var M;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(M||={});var N;(function(e){e.PlainText=1,e.Snippet=2})(N||={});var se;(function(e){e.Deprecated=1})(se||={});var ce;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&U.string(t.newText)&&u.is(t.insert)&&u.is(t.replace)}e.is=n})(ce||={});var le;(function(e){e.asIs=1,e.adjustIndentation=2})(le||={});var ue;(function(e){function t(e){let t=e;return t&&(U.string(t.detail)||t.detail===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=t})(ue||={});var de;(function(e){function t(e){return{label:e}}e.create=t})(de||={});var fe;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(fe||={});var P;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return U.string(t)||U.objectLiteral(t)&&U.string(t.language)&&U.string(t.value)}e.is=n})(P||={});var pe;(function(e){function t(e){let t=e;return!!t&&U.objectLiteral(t)&&(j.is(t.contents)||P.is(t.contents)||U.typedArray(t.contents,P.is))&&(e.range===void 0||u.is(e.range))}e.is=t})(pe||={});var me;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(me||={});var F;(function(e){function t(e,t,...n){let r={label:e};return U.defined(t)&&(r.documentation=t),r.parameters=U.defined(n)?n:[],r}e.create=t})(F||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var L;(function(e){function t(e,t){let n={range:e};return U.number(t)&&(n.kind=t),n}e.create=t})(L||={});var R;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(R||={});var z;(function(e){e.Deprecated=1})(z||={});var he;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(he||={});var ge;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(ge||={});var _e;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&U.string(t.name)&&U.number(t.kind)&&u.is(t.range)&&u.is(t.selectionRange)&&(t.detail===void 0||U.string(t.detail))&&(t.deprecated===void 0||U.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(_e||={});var ve;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(ve||={});var B;(function(e){e.Invoked=1,e.Automatic=2})(B||={});var ye;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.typedArray(t.diagnostics,_.is)&&(t.only===void 0||U.typedArray(t.only,U.string))&&(t.triggerKind===void 0||t.triggerKind===B.Invoked||t.triggerKind===B.Automatic)}e.is=n})(ye||={});var be;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):v.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&U.string(t.title)&&(t.diagnostics===void 0||U.typedArray(t.diagnostics,_.is))&&(t.kind===void 0||U.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||v.is(t.command))&&(t.isPreferred===void 0||U.boolean(t.isPreferred))&&(t.edit===void 0||E.is(t.edit))}e.is=n})(be||={});var xe;(function(e){function t(e,t){let n={range:e};return U.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.command)||v.is(t.command))}e.is=n})(xe||={});var Se;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.uinteger(t.tabSize)&&U.boolean(t.insertSpaces)}e.is=n})(Se||={});var Ce;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.target)||U.string(t.target))}e.is=n})(Ce||={});var we;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return U.objectLiteral(n)&&u.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(we||={});var Te;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Te||={});var Ee;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ee||={});var De;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(De||={});var Oe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.string(t.text)}e.is=n})(Oe||={});var ke;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.boolean(t.caseSensitiveLookup)&&(U.string(t.variableName)||t.variableName===void 0)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&(U.string(t.expression)||t.expression===void 0)}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(e.stoppedLocation)}e.is=n})(je||={});var V;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(V||={});var H;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.location===void 0||d.is(t.location))&&(t.command===void 0||v.is(t.command))}e.is=n})(H||={});var Me;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.position)&&(U.string(t.label)||U.typedArray(t.label,H.is))&&(t.kind===void 0||V.is(t.kind))&&t.textEdits===void 0||U.typedArray(t.textEdits,y.is)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.paddingLeft===void 0||U.boolean(t.paddingLeft))&&(t.paddingRight===void 0||U.boolean(t.paddingRight))}e.is=n})(Me||={});var Ne;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Ne||={});var Pe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Pe||={});var Fe;(function(e){function t(e){return{items:e}}e.create=t})(Fe||={});var Ie;(function(e){e.Invoked=0,e.Automatic=1})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(Le||={});var Re;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Re||={});var ze;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&o.is(t.uri)&&U.string(t.name)}e.is=t})(ze||={});var Be;(function(e){function t(e,t,n,r){return new Ve(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(U.defined(t)&&U.string(t.uri)&&(U.undefined(t.languageId)||U.string(t.languageId))&&U.uinteger(t.lineCount)&&U.func(t.getText)&&U.func(t.positionAt)&&U.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(Be||={});var Ve=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
2
2
|
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
3
3
|
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return l.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return l.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},U;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(U||={});var He=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let i=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},a=e=>{r.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(r.onDidCreateModel(i)),this._disposables.push(r.onWillDisposeModel(a)),this._disposables.push(r.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push(n(e=>{r.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(a(e),i(e))})})),this._disposables.push({dispose:()=>{r.getModels().forEach(a);for(let e in this._listener)this._listener[e].dispose()}}),r.getModels().forEach(i)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let i=n.map(t=>We(e,t)),a=r.getModel(e);a&&a.getLanguageId()===t&&r.setModelMarkers(a,t,i)}).then(void 0,e=>{console.error(e)})}};function Ue(e){switch(e){case g.Error:return t.Error;case g.Warning:return t.Warning;case g.Information:return t.Info;case g.Hint:return t.Hint;default:return t.Info}}function We(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:Ue(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var Ge=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,r,i,a){let o=t.uri;return this._worker(o).then(e=>e.doComplete(o.toString(),W(r))).then(i=>{if(!i)return;let a=t.getWordUntilPosition(r),o=new n(r.lineNumber,a.startColumn,r.lineNumber,a.endColumn),s=i.items.map(t=>{let n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:Je(t.command),range:o,kind:qe(t.kind)};return t.textEdit&&(n.range=Ke(t.textEdit)?{insert:K(t.textEdit.insert),replace:K(t.textEdit.replace)}:K(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(q)),t.insertTextFormat===N.Snippet&&(n.insertTextRules=e.CompletionItemInsertTextRule.InsertAsSnippet),n});return{isIncomplete:i.isIncomplete,suggestions:s}})}};function W(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function G(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function K(e){if(e)return new n(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Ke(e){return e.insert!==void 0&&e.replace!==void 0}function qe(t){let n=e.CompletionItemKind;switch(t){case M.Text:return n.Text;case M.Method:return n.Method;case M.Function:return n.Function;case M.Constructor:return n.Constructor;case M.Field:return n.Field;case M.Variable:return n.Variable;case M.Class:return n.Class;case M.Interface:return n.Interface;case M.Module:return n.Module;case M.Property:return n.Property;case M.Unit:return n.Unit;case M.Value:return n.Value;case M.Enum:return n.Enum;case M.Keyword:return n.Keyword;case M.Snippet:return n.Snippet;case M.Color:return n.Color;case M.File:return n.File;case M.Reference:return n.Reference}return n.Property}function q(e){if(e)return{range:K(e.range),text:e.newText}}function Je(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var Ye=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),W(t))).then(e=>{if(e)return{range:K(e.range),contents:Ze(e.contents)}})}};function Xe(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function J(e){return typeof e==`string`?{value:e}:Xe(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
|
|
4
4
|
`+e.value+"\n```\n"}}function Ze(e){if(e)return Array.isArray(e)?e.map(J):[J(e)]}var Qe=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),W(t))).then(e=>{if(e)return e.map(e=>({range:K(e.range),kind:$e(e.kind)}))})}};function $e(t){switch(t){case I.Read:return e.DocumentHighlightKind.Read;case I.Write:return e.DocumentHighlightKind.Write;case I.Text:return e.DocumentHighlightKind.Text}return e.DocumentHighlightKind.Text}var et=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),W(t))).then(e=>{if(e)return[Y(e)]})}};function Y(e){return{uri:i.parse(e.uri),range:K(e.range)}}var tt=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),W(t))).then(e=>{if(e)return e.map(Y)})}},nt=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),W(t),n)).then(e=>rt(e))}};function rt(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=i.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:K(i.range),text:i.newText}})}return{edits:t}}var it=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>X(e)?Z(e):{name:e.name,detail:``,containerName:e.containerName,kind:Q(e.kind),range:K(e.location.range),selectionRange:K(e.location.range),tags:[]})})}};function X(e){return`children`in e}function Z(e){return{name:e.name,detail:e.detail??``,kind:Q(e.kind),range:K(e.range),selectionRange:K(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>Z(e))}}function Q(t){let n=e.SymbolKind;switch(t){case R.File:return n.File;case R.Module:return n.Module;case R.Namespace:return n.Namespace;case R.Package:return n.Package;case R.Class:return n.Class;case R.Method:return n.Method;case R.Property:return n.Property;case R.Field:return n.Field;case R.Constructor:return n.Constructor;case R.Enum:return n.Enum;case R.Interface:return n.Interface;case R.Function:return n.Function;case R.Variable:return n.Variable;case R.Constant:return n.Constant;case R.String:return n.String;case R.Number:return n.Number;case R.Boolean:return n.Boolean;case R.Array:return n.Array}return n.Function}var at=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:K(e.range),url:e.target}))}})}},ot=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,$(t)).then(e=>{if(!(!e||e.length===0))return e.map(q)}))}},st=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),G(t),$(n)).then(e=>{if(!(!e||e.length===0))return e.map(q)}))}};function $(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var ct=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:K(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,G(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=q(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(q)),t})})}},lt=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=ut(e.kind)),t})})}};function ut(t){switch(t){case m.Comment:return e.FoldingRangeKind.Comment;case m.Imports:return e.FoldingRangeKind.Imports;case m.Region:return e.FoldingRangeKind.Region}}var dt=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(W))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:K(e.range)}),e=e.parent;return t})})}};export{K as _,ot as a,st as c,Ye as d,tt as f,G as g,W as h,ct as i,it as l,dt as m,et as n,Qe as o,nt as p,He as r,at as s,Ge as t,lt as u,q as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./button-DhiX-njv.js";import{H as r,I as i}from"./vendor-tanstack-BiFWSB3W.js";import{a}from"./vendor-datadog-BRv-mOv1.js";import{r as o}from"./vendor-react-Dyj4O3HE.js";import{a as s,i as c,n as l,o as u,r as d,t as f}from"./dialog-CBf0Mr1d.js";import{$t as p,Bn as m,Cr as h,Fn as g,Hn as _,Ln as v,Qt as y,Rn as b,Un as x,en as S,jt as C,kt as w,nn as T,qn as E,tn as D,ur as O,vn as k,xn as A,xr as j,zt as M}from"./index-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./button-DhiX-njv.js";import{H as r,I as i}from"./vendor-tanstack-BiFWSB3W.js";import{a}from"./vendor-datadog-BRv-mOv1.js";import{r as o}from"./vendor-react-Dyj4O3HE.js";import{a as s,i as c,n as l,o as u,r as d,t as f}from"./dialog-CBf0Mr1d.js";import{$t as p,Bn as m,Cr as h,Fn as g,Hn as _,Ln as v,Qt as y,Rn as b,Un as x,en as S,jt as C,kt as w,nn as T,qn as E,tn as D,ur as O,vn as k,xn as A,xr as j,zt as M}from"./index-BtTvoLf8.js";import{a as N,c as P,i as F,n as I,o as L,r as R,s as z,t as B}from"./alertDialog-DIHt7Z0r.js";function V(){let e=r();return i({mutationFn:async e=>{let{data:n}=await t.post(`/SystemStatus/`,e);return n},onSuccess:()=>e.invalidateQueries({queryKey:v})})}function H(){let e=r();return i({mutationFn:async({id:e,draft:n})=>{await t.patch(`/SystemStatus/${e}`,n)},onSuccess:()=>e.invalidateQueries({queryKey:v})})}function U(){let e=r();return i({mutationFn:async e=>{await t.delete(`/SystemStatus/${e}`)},onSuccess:()=>e.invalidateQueries({queryKey:v})})}var W=e(a(),1),G=o(),K=[{value:`error`,label:`Error / Outage`},{value:`warning`,label:`Warning`},{value:`maintenance`,label:`Maintenance`},{value:`info`,label:`Info`}];function q(e){let t=x(e);if(t===null)return``;let n=new Date(t),r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())}T${r(n.getHours())}:${r(n.getMinutes())}`}function J(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:new Date(t).toISOString()}function Y(e){let t=x(e.startAt),n=x(e.endAt);if(t===null&&n===null)return`Always`;let r=e=>e===null?`—`:new Date(e).toLocaleString();return`${r(t)} → ${r(n)}`}function X(){let{data:e,isLoading:t}=g(),[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(null),l=U(),u=(0,W.useCallback)(()=>{o(null),i(!0)},[]),d=(0,W.useCallback)(e=>{o(e),i(!0)},[]),f=(0,W.useMemo)(()=>Z({openEdit:d,onDelete:c}),[d]);return(0,G.jsxs)(`div`,{className:`max-w-5xl`,children:[(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h1`,{className:`text-2xl font-light`,children:`Notifications`}),(0,G.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`System-wide notices shown to all users in the notification center. Times are stored in UTC.`})]}),(0,G.jsxs)(n,{variant:`submit`,onClick:u,className:`shrink-0`,children:[(0,G.jsx)(j,{}),`New notification`]})]}),(0,G.jsx)(`div`,{className:`mt-6`,children:t?(0,G.jsx)(M,{className:`h-40 w-full`}):(0,G.jsx)(C,{columns:f,data:e??[]})}),(0,G.jsx)(Q,{open:r,onOpenChange:i,editing:a}),(0,G.jsx)(B,{open:!!s,onOpenChange:e=>!e&&c(null),children:(0,G.jsxs)(F,{children:[(0,G.jsxs)(z,{children:[(0,G.jsx)(P,{children:`Delete notification?`}),(0,G.jsx)(N,{children:`This removes it for everyone immediately. This can't be undone.`})]}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{children:`Cancel`}),(0,G.jsx)(I,{disabled:l.isPending,onClick:e=>{e.preventDefault(),s&&l.mutate(s.id,{onSuccess:()=>c(null)})},children:l.isPending?`Deleting…`:`Delete`})]})]})})]})}function Z({openEdit:e,onDelete:t}){return[{header:`Type`,accessorKey:`type`,size:12,cell:({row:e})=>{let{label:t,badgeVariant:n}=m(e.original.type);return(0,G.jsx)(E,{variant:n,children:e.original.type||t})}},{header:`Message`,accessorKey:`message`,size:40,cell:({row:e})=>(0,G.jsx)(`span`,{className:`line-clamp-2 break-words`,children:e.original.message})},{header:`Active window (local)`,size:28,cell:({row:e})=>(0,G.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:Y(e.original)})},{header:`Link`,size:8,cell:({row:e})=>e.original.url?(0,G.jsx)(b,{url:e.original.url,className:`text-sm text-primary hover:underline dark:text-white`}):(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:`—`})},{header:``,id:`actions`,size:12,cell:({row:r})=>(0,G.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,G.jsx)(n,{variant:`ghost`,size:`icon`,"aria-label":`Edit`,onClick:()=>e(r.original),children:(0,G.jsx)(h,{})}),(0,G.jsx)(n,{variant:`destructiveGhost`,size:`icon`,"aria-label":`Delete`,onClick:()=>t(r.original),children:(0,G.jsx)(O,{})})]})}]}function Q({open:e,onOpenChange:t,editing:r}){let i=V(),a=H(),o=i.isPending||a.isPending,[m,h]=(0,W.useState)(`error`),[g,v]=(0,W.useState)(``),[b,x]=(0,W.useState)(``),[C,E]=(0,W.useState)(``),[O,j]=(0,W.useState)(``),[M,N]=(0,W.useState)(null);return(0,W.useEffect)(()=>{e&&(h(r?.type??`error`),v(r?.message??``),x(r?.url??``),E(q(r?.startAt)),j(q(r?.endAt)),N(null))},[e,r]),(0,G.jsx)(f,{open:e,onOpenChange:t,children:(0,G.jsxs)(l,{children:[(0,G.jsxs)(s,{children:[(0,G.jsx)(u,{children:r?`Edit notification`:`New notification`}),(0,G.jsx)(d,{children:`Shown to all users. Leave start/end empty for an open-ended window.`})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(A,{htmlFor:`notification-type`,children:`Type`}),(0,G.jsxs)(y,{value:m,onValueChange:h,children:[(0,G.jsx)(D,{id:`notification-type`,className:`w-full`,children:(0,G.jsx)(T,{})}),(0,G.jsx)(p,{children:K.map(e=>(0,G.jsx)(S,{value:e.value,children:e.label},e.value))})]})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(A,{htmlFor:`notification-message`,children:`Message`}),(0,G.jsx)(w,{id:`notification-message`,rows:3,value:g,onChange:e=>v(e.target.value),placeholder:`The Fabric control plane will be undergoing maintenance…`})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(A,{htmlFor:`notification-url`,children:`Link (optional)`}),(0,G.jsx)(k,{id:`notification-url`,value:b,onChange:e=>x(e.target.value),placeholder:`https://status.harper.io or /organizations`}),(0,G.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`An absolute URL opens in a new tab; a path like `,(0,G.jsx)(`code`,{children:`/organizations`}),` links inside Studio.`]})]}),(0,G.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(A,{htmlFor:`notification-start`,children:`Start (local time)`}),(0,G.jsx)(k,{id:`notification-start`,type:`datetime-local`,value:C,onChange:e=>E(e.target.value)})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(A,{htmlFor:`notification-end`,children:`End (local time)`}),(0,G.jsx)(k,{id:`notification-end`,type:`datetime-local`,value:O,onChange:e=>j(e.target.value)})]})]}),M&&(0,G.jsx)(`p`,{className:`text-sm text-destructive`,children:M})]}),(0,G.jsxs)(c,{children:[(0,G.jsx)(n,{variant:`ghostOutline`,onClick:()=>t(!1),disabled:o,children:`Cancel`}),(0,G.jsx)(n,{variant:`submit`,onClick:()=>{let e=g.trim();if(!e){N(`Message is required.`);return}let n=J(C),o=J(O);if(n&&o&&Date.parse(o)<=Date.parse(n)){N(`End time must be after start time.`);return}let s=b.trim();if(s&&!_(s)){N(`Link must be an http(s) URL, a mailto: address, or a path starting with “/”.`);return}let c={type:m,message:e,url:s||null,startAt:n,endAt:o},l=()=>t(!1);r?a.mutate({id:r.id,draft:c},{onSuccess:l}):i.mutate(c,{onSuccess:l})},disabled:o,children:o?`Saving…`:r?`Save changes`:`Create`})]})]})})}export{X as NotificationsAdminIndex};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./button-DhiX-njv.js";import{a as r}from"./vendor-datadog-BRv-mOv1.js";import{r as i}from"./vendor-react-Dyj4O3HE.js";import{Bn as a,Fn as o,Gn as s,In as c,Kn as l,Rn as u,Un as d,Vn as f,Wn as p,qn as m,zn as h,zt as g}from"./index-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./button-DhiX-njv.js";import{a as r}from"./vendor-datadog-BRv-mOv1.js";import{r as i}from"./vendor-react-Dyj4O3HE.js";import{Bn as a,Fn as o,Gn as s,In as c,Kn as l,Rn as u,Un as d,Vn as f,Wn as p,qn as m,zn as h,zt as g}from"./index-BtTvoLf8.js";var _=e(r(),1),v=i(),y={active:0,upcoming:1,expired:2};function b(){let{data:e,isLoading:t}=o(),n=l(),r=c(),i=(0,_.useMemo)(()=>[...e??[]].sort((e,t)=>{let n=y[f(e,r).state],i=y[f(t,r).state];if(n!==i)return n-i;let o=h[a(e.type).severity]-h[a(t.type).severity];if(o!==0)return o;let s=d(e.endAt)??2**53-1;return(d(t.endAt)??2**53-1)-s}),[e,r]);return(0,v.jsx)(`div`,{className:`mt-32 px-4 pt-4 md:px-12 min-h-[calc(100vh-(--spacing(32)))]`,children:(0,v.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,v.jsx)(`h1`,{className:`text-2xl font-light`,children:`Notifications`}),(0,v.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`System-wide notices, including maintenance windows and downstream provider incidents.`}),(0,v.jsx)(`div`,{className:`mt-6 flex flex-col gap-3`,children:t?(0,v.jsx)(g,{className:`h-24 w-full`}):i.length===0?(0,v.jsx)(`p`,{className:`rounded-md border border-border bg-card p-8 text-center text-sm text-muted-foreground dark:bg-black-dark`,children:`No notifications right now.`}):i.map(e=>(0,v.jsx)(x,{notification:e,acked:n.has(e.id),nowMs:r},e.id))})]})})}function x({notification:e,acked:r,nowMs:i}){let{Icon:o,iconClass:c,label:l,badgeVariant:d}=a(e.type),h=f(e,i);return(0,v.jsxs)(`div`,{className:t(`flex gap-3 rounded-md border border-border bg-card p-4 dark:bg-black-dark`,r&&`opacity-60`,h.state===`expired`&&`opacity-70`),children:[(0,v.jsx)(o,{className:t(`mt-0.5 size-5 shrink-0`,c)}),(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,v.jsx)(m,{variant:d,children:l}),h.state!==`active`&&(0,v.jsx)(m,{variant:`outline`,className:`capitalize`,children:h.state}),(0,v.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:h.label})]}),(0,v.jsx)(`p`,{className:`mt-2 text-sm break-words text-foreground`,children:e.message}),(0,v.jsx)(`div`,{className:`mt-2 flex items-center gap-4 text-sm`,children:(0,v.jsx)(u,{url:e.url,className:`font-medium text-primary hover:underline dark:text-white`})})]}),(0,v.jsx)(n,{variant:`ghost`,size:`sm`,className:`shrink-0 text-muted-foreground`,onClick:()=>r?s(e.id):p(e.id),children:r?`Undo`:`Ignore`})]})}export{b as NotificationsCenter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./authStore-qKmCZcaf.js";import{_ as r,y as i}from"./vendor-core-RCcadM3e.js";import{i as a,t as o}from"./button-DhiX-njv.js";import{D as s,I as c,M as l}from"./vendor-tanstack-BiFWSB3W.js";import{a as u}from"./vendor-datadog-BRv-mOv1.js";import{r as d}from"./vendor-react-Dyj4O3HE.js";import{$ as f,It as p,it as m}from"./vendor-ui-vhu-UHhF.js";import{Cn as h,On as g,Sn as _,Tn as v,Vr as y,_r as b,bn as x,vn as S,wn as C,yn as w}from"./index-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./authStore-qKmCZcaf.js";import{_ as r,y as i}from"./vendor-core-RCcadM3e.js";import{i as a,t as o}from"./button-DhiX-njv.js";import{D as s,I as c,M as l}from"./vendor-tanstack-BiFWSB3W.js";import{a as u}from"./vendor-datadog-BRv-mOv1.js";import{r as d}from"./vendor-react-Dyj4O3HE.js";import{$ as f,It as p,it as m}from"./vendor-ui-vhu-UHhF.js";import{Cn as h,On as g,Sn as _,Tn as v,Vr as y,_r as b,bn as x,vn as S,wn as C,yn as w}from"./index-BtTvoLf8.js";async function T(e){let{id:t,newPassword:n,confirmNewPassword:r,...i}=e,o={...i};n&&n===r&&(o.password=n);let{data:s}=await a.patch(`/User/${t}`,o);return s}function E(){return c({mutationFn:e=>T(e)})}var D=r({id:i(),firstname:i({error:`Please enter your first name.`}).min(2,{error:`First name is required.`}).max(50,{error:`First name must be less than 50 characters.`}),lastname:i({error:`Please enter your last name.`}).min(2,{error:`Last name is required.`}).max(50,{error:`Last name must be less than 50 characters.`}),newPassword:i({error:`Please enter your new password.`}).min(8,{error:`Password must be 8 characters or more.`}).or(i().max(0)),confirmNewPassword:i().optional()}).refine(e=>e.newPassword===e.confirmNewPassword,{error:`Passwords do not match`,path:[`confirmNewPassword`]}),O=e(u(),1),k=d();function A(){let e=l(),r=s(),{user:i}=y(),a=m({resolver:f(D),defaultValues:{confirmNewPassword:``,firstname:i?.firstname||``,id:i?.id||``,lastname:i?.lastname||``,newPassword:``}}),{control:c,handleSubmit:u,reset:d,formState:{defaultValues:T,isDirty:A,isValid:j}}=a,{mutate:M,isPending:N}=E(),P=(0,O.useCallback)(async i=>{i&&M(i,{onSuccess:a=>{d({...T,...a}),t.updateUserForEntity(n,a),i.newPassword?(p.success(`Profile updated successfully!`,{description:`Please sign in with your new password.`}),g(),r({to:`/sign-in`}),e.invalidate()):p.success(`Profile updated successfully!`)}})},[T,r,d,e,M]);return(0,k.jsxs)(`div`,{className:`mt-20 px-4 pt-4 md:px-12 max-w-2xl`,children:[(0,k.jsx)(`h1`,{className:`text-2xl font-light`,children:`Profile`}),(0,k.jsx)(v,{...a,children:(0,k.jsxs)(`form`,{id:`profile-edit-form`,name:`profile-edit-form`,onSubmit:u(P),className:`grid gap-4 my-4`,children:[(0,k.jsx)(h,{control:c,name:`firstname`,render:({field:e})=>(0,k.jsxs)(_,{children:[(0,k.jsx)(x,{className:`pb-1`,children:`First Name`}),(0,k.jsx)(C,{children:(0,k.jsx)(S,{type:`text`,className:`dark:bg-black dark:border-black`,autoCapitalize:`words`,autoFocus:!0,...e})}),(0,k.jsx)(w,{})]})}),(0,k.jsx)(h,{control:c,name:`lastname`,render:({field:e})=>(0,k.jsxs)(_,{children:[(0,k.jsx)(x,{className:`pb-1`,children:`Last Name`}),(0,k.jsx)(C,{children:(0,k.jsx)(S,{type:`text`,className:`dark:bg-black dark:border-black`,autoCapitalize:`words`,...e})}),(0,k.jsx)(w,{})]})}),(0,k.jsxs)(_,{children:[(0,k.jsx)(x,{htmlFor:`profile-email`,className:`pb-1`,children:`Email`}),(0,k.jsx)(C,{children:(0,k.jsx)(S,{id:`profile-email`,type:`email`,enterKeyHint:`next`,autoComplete:`email`,autoCapitalize:`none`,value:i?.email||``,disabled:!0,readOnly:!0})})]}),(0,k.jsx)(h,{control:c,name:`newPassword`,render:({field:e})=>(0,k.jsxs)(_,{children:[(0,k.jsx)(x,{className:`pb-1`,children:`New Password`}),(0,k.jsx)(C,{children:(0,k.jsx)(S,{type:`password`,placeholder:`Optional`,className:`dark:bg-black dark:border-black`,autoComplete:`new-password`,autoCapitalize:`none`,...e})}),(0,k.jsx)(w,{})]})}),(0,k.jsx)(h,{control:c,name:`confirmNewPassword`,render:({field:e})=>(0,k.jsxs)(_,{children:[(0,k.jsx)(x,{className:`pb-1`,children:`Confirm New Password`}),(0,k.jsx)(C,{children:(0,k.jsx)(S,{type:`password`,className:`dark:bg-black dark:border-black`,autoComplete:`new-password`,autoCapitalize:`none`,...e})}),(0,k.jsx)(w,{})]})}),(0,k.jsx)(`div`,{className:`flex justify-between w-full`,children:(0,k.jsxs)(o,{type:`submit`,variant:`submit`,disabled:N||!A||!j,children:[(0,k.jsx)(b,{}),` Update Profile`]})})]})})]})}export{A as ProfileIndex};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{_ as t,c as n,g as r,s as i,y as a}from"./vendor-core-RCcadM3e.js";import{i as o,t as s}from"./button-DhiX-njv.js";import{H as c,I as l,L as u,z as d}from"./vendor-tanstack-BiFWSB3W.js";import{a as f}from"./vendor-datadog-BRv-mOv1.js";import{r as p}from"./vendor-react-Dyj4O3HE.js";import{$ as m,It as h,it as g}from"./vendor-ui-vhu-UHhF.js";import{i as _,n as v,o as y,r as b,t as x}from"./dialog-CBf0Mr1d.js";import{n as S}from"./chevron-up-Df2c8uoU.js";import{t as C}from"./x-B9o9hsep.js";import{$t as w,Cn as T,Cr as E,Gt as D,Jt as O,Kt as k,Mn as A,Nn as ee,Or as te,Pn as ne,Qt as re,Sn as j,Tn as M,Ur as N,Wt as P,Xn as F,Yn as ie,Yt as I,Zn as ae,bn as L,en as oe,ir as R,nn as se,qn as z,qt as B,tn as ce,vn as V,wn as H,xr as U,yn as W}from"./index-CTqasm6g.js";var G=e(f(),1),K=p();function q({options:e,selected:t,onChange:n,placeholder:r=`Select…`,emptyText:i=`No options`,ariaLabel:a,disabled:o,id:c,allowRepeats:l,maxVisibleOptions:u}){let[d,f]=(0,G.useState)(!1),[p,m]=(0,G.useState)(``),h=(0,G.useRef)(null),g=(0,G.useRef)(null),_=(0,G.useMemo)(()=>new Set(t),[t]),v=(0,G.useMemo)(()=>new Map(e.map(e=>[e.value,e.label])),[e]);(0,G.useEffect)(()=>{if(!d)return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>h.current?.focus())});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},[d]);let y=(0,G.useMemo)(()=>{let t=p.trim().toLowerCase();return t?e.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):e},[e,p]),b=u?y.slice(0,u):y,x=y.length-b.length,w=e=>{l?n([...t,e]):_.has(e)?n(t.filter(t=>t!==e)):n([...t,e])},T=e=>n(t.filter((t,n)=>n!==e)),E=e=>{let t=g.current?.querySelectorAll(`[role="menuitemcheckbox"]:not([data-disabled])`);t?.length&&(e===`first`?t[0]:t[t.length-1]).focus()};return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsxs)(ie,{open:d,onOpenChange:e=>{f(e),e||m(``)},children:[(0,K.jsx)(R,{asChild:!0,disabled:o,children:(0,K.jsxs)(s,{id:c,type:`button`,variant:`outline`,"aria-label":a,className:`w-full justify-between font-normal`,children:[(0,K.jsx)(`span`,{className:t.length?`truncate`:`truncate text-muted-foreground`,children:t.length?`${t.length} selected`:r}),(0,K.jsx)(S,{className:`size-4 shrink-0 opacity-60`})]})}),(0,K.jsxs)(ae,{ref:g,className:`w-(--radix-dropdown-menu-trigger-width) max-h-72 overflow-y-auto`,align:`start`,children:[(0,K.jsx)(`input`,{ref:h,value:p,onChange:e=>m(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),E(e.key===`ArrowDown`?`first`:`last`);return}e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.stopPropagation()},placeholder:`Filter…`,"aria-label":`Filter options`,className:`mb-1 w-full rounded-md border bg-transparent px-2 py-1 text-sm outline-none`}),y.length===0?(0,K.jsx)(`div`,{className:`px-2 py-1.5 text-sm text-muted-foreground`,children:i}):b.map(e=>(0,K.jsx)(F,{checked:_.has(e.value),onCheckedChange:()=>w(e.value),onSelect:e=>e.preventDefault(),children:e.label},e.value)),x>0&&(0,K.jsxs)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:[x,` more — keep typing to narrow`]})]})]}),t.length>0&&(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map((e,t)=>{let n=v.get(e)??e;return(0,K.jsxs)(z,{variant:`secondary`,className:`gap-1`,children:[n,(0,K.jsx)(`button`,{type:`button`,"aria-label":`Remove ${n}`,onClick:()=>T(t),className:`ml-0.5 rounded-sm hover:text-destructive`,children:(0,K.jsx)(C,{className:`size-3`})})]},`${e}-${t}`)})})]})}async function le(e){let{data:t}=await o.post(`/Admin/Region/`,e);return t}function ue(){return l({mutationFn:le})}async function de({id:e,changes:t}){let{data:n}=await o.patch(`/Admin/Region/${e}`,t);return n}function fe(){return l({mutationFn:de})}async function pe(){let{data:e}=await o.get(`/Location/`);return e}var me=[`fabric-admin`,`locations`];function he(){return u({queryKey:me,queryFn:pe,retry:!1})}function J(e,t){return t?`${e} (${t})`:e}async function ge(){let e=[];for(let t=0;t<40;t++){let n=t*500,r=[`status=ne=DELETED`,`sort(name)`,`limit(${n},${n+500})`].join(`&`),{data:i}=await o.get(`/Admin/Organization/?${r}`),a=i;if(e.push(...a),a.length<500)return{organizations:e,truncated:!1}}return{organizations:e,truncated:!0}}var _e=[`fabric-admin`,`organizations`];function Y(){return u({queryKey:_e,queryFn:ge,retry:!1})}async function ve(){let{data:e}=await o.get(`/Admin/Region/`);return e}var X=[`fabric-admin`,`regions`];function Z(){return u({queryKey:X,queryFn:ve,retry:!1})}var ye=t({id:a().trim().min(1,`ID is required`).regex(/^[a-z0-9-]+$/,`Use lowercase letters, numbers, and hyphens only`),region:a().trim().min(1,`Region is required`),instanceCount:r({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),purchasedBlockMultiplier:r({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),latencyDescription:a().trim().min(1,`Latency description is required`),linodePreferredLocations:i(a()),gcpPreferredLocations:i(a()),forceLocations:n(),active:n(),organizationIds:i(a())}).superRefine((e,t)=>{e.forceLocations&&!e.linodePreferredLocations.length&&!e.gcpPreferredLocations.length&&t.addIssue({code:`custom`,path:[`forceLocations`],message:`Add at least one preferred location, or turn off Force locations`})}),be=100;function Q(e){return{id:e?.id??``,region:e?.region??``,instanceCount:e?.instanceCount??1,purchasedBlockMultiplier:e?.purchasedBlockMultiplier??1,latencyDescription:e?.latencyDescription??``,linodePreferredLocations:e?.linodePreferredLocations??[],gcpPreferredLocations:e?.gcpPreferredLocations??[],forceLocations:e?.forceLocations??!1,active:e?.active??!0,organizationIds:e?.organizationIds??[]}}function xe({open:e,onOpenChange:t,region:n}){let r=!!n,i=c(),{data:a=[]}=d({...he(),enabled:e}),{data:o}=d({...Y(),enabled:e}),l=o?.organizations??[],{data:u=[]}=d({...Z(),enabled:e}),{mutate:f,isPending:p}=ue(),{mutate:S,isPending:C}=fe(),E=p||C,D=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`linode`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),O=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`gcp`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),k=(0,G.useMemo)(()=>l.map(e=>({value:e.id,label:J(e.id,e.name)})),[l]),N=(0,G.useMemo)(()=>{let e=new Set;for(let t of a)for(let n of t.regions??[])e.add(n);return n?.region&&e.add(n.region),[...e].sort()},[a,n]),P=g({resolver:m(ye),defaultValues:Q(n)});(0,G.useEffect)(()=>{e&&P.reset(Q(n))},[e,n,P]);let F=e=>{let a=e=>e.trim().toLowerCase(),o=!n||a(n.latencyDescription)!==a(e.latencyDescription),s=u.filter(e=>e.id!==n?.id);if(o&&s.some(t=>a(t.latencyDescription)===a(e.latencyDescription))){P.setError(`latencyDescription`,{message:`A region with this latency description already exists`});return}let c=e.organizationIds.length>0?e.organizationIds:null,l=()=>{h.success(r?`Region updated`:`Region created`),i.invalidateQueries({queryKey:X}),t(!1)};if(n){let{id:t,...r}=e;S({id:n.id,changes:{...r,organizationIds:c}},{onSuccess:l})}else f({...e,organizationIds:c},{onSuccess:l})};return(0,K.jsx)(x,{open:e,onOpenChange:t,children:(0,K.jsxs)(v,{className:`max-w-2xl`,children:[(0,K.jsx)(y,{children:r?`Edit region`:`Create region`}),(0,K.jsx)(b,{children:r?`Update this region. Its ID is fixed once created.`:`Define a new deployment region. Leave organizations empty to make it public (all organizations).`}),(0,K.jsx)(M,{...P,children:(0,K.jsxs)(`form`,{className:`my-4 flex flex-col gap-4`,onSubmit:P.handleSubmit(F),children:[(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(T,{control:P.control,name:`id`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Region ID`}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{placeholder:`e.g. us-east-1`,...e,disabled:r})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`region`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Region`}),(0,K.jsx)(H,{children:(0,K.jsxs)(re,{value:e.value,onValueChange:e.onChange,children:[(0,K.jsx)(ce,{className:`w-full`,children:(0,K.jsx)(se,{placeholder:`Select a region`})}),(0,K.jsx)(w,{children:N.map(e=>(0,K.jsx)(oe,{value:e,children:e},e))})]})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`instanceCount`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Instance count`}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`purchasedBlockMultiplier`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 pb-1`,children:[(0,K.jsx)(L,{className:`!pb-0`,children:`Purchased block multiplier`}),(0,K.jsxs)(A,{children:[(0,K.jsx)(ne,{asChild:!0,children:(0,K.jsx)(`button`,{type:`button`,"aria-label":`What is the purchased block multiplier?`,className:`text-muted-foreground hover:text-foreground`,children:(0,K.jsx)(te,{className:`size-3.5`})})}),(0,K.jsx)(ee,{className:`max-w-xs`,children:`How many purchased blocks a cluster in this region is billed for. One block covers a baseline cluster: a 2-node cluster is 1 block and a 4-node cluster is 2 blocks. Each block carries one license against the selected plan's limits; once they're all used up, this many are issued and billed again.`})]})]}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(W,{})]})})]}),(0,K.jsx)(T,{control:P.control,name:`latencyDescription`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Latency description`}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{placeholder:`e.g. 280ms, medium distribution`,...e})}),(0,K.jsx)(W,{})]})}),(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(T,{control:P.control,name:`linodePreferredLocations`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Linode preferred locations`}),(0,K.jsx)(H,{children:(0,K.jsx)(q,{options:D,selected:e.value,onChange:e.onChange,placeholder:`Any Linode location`,emptyText:`No Linode locations`,ariaLabel:`Linode preferred locations`,allowRepeats:!0})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`gcpPreferredLocations`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`GCP preferred locations`}),(0,K.jsx)(H,{children:(0,K.jsx)(q,{options:O,selected:e.value,onChange:e.onChange,placeholder:`Any GCP location`,emptyText:`No GCP locations`,ariaLabel:`GCP preferred locations`,allowRepeats:!0})}),(0,K.jsx)(W,{})]})})]}),(0,K.jsx)(T,{control:P.control,name:`forceLocations`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(H,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(L,{className:`!pb-0`,children:`Force locations`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pin deployments to the preferred locations above instead of treating them as hints.`}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`active`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(H,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(L,{className:`!pb-0`,children:`Active`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Inactive regions stay available to existing deployments but aren't offered for new ones.`}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`organizationIds`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Organizations (customer scope)`}),(0,K.jsx)(H,{children:(0,K.jsx)(q,{options:k,selected:e.value,onChange:e.onChange,placeholder:`Public — all organizations`,emptyText:`No organizations`,ariaLabel:`Organizations`,maxVisibleOptions:be})}),o?.truncated&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,children:`Too many organizations to list them all — some may be missing from this picker.`}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(_,{children:(0,K.jsxs)(`div`,{className:`flex w-full justify-between`,children:[(0,K.jsx)(s,{variant:`destructiveOutline`,type:`button`,onClick:()=>t(!1),disabled:E,children:`Cancel`}),(0,K.jsx)(s,{variant:`submit`,disabled:E,children:E?`Saving…`:r?`Save changes`:`Create region`})]})})]})})]})})}function $({organizationIds:e,orgNameById:t}){return e==null||e.length===0?(0,K.jsx)(K.Fragment,{children:`Public`}):(0,K.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,K.jsx)(`span`,{className:`break-words`,children:J(e,t.get(e))},e))})}function Se(){let{data:e,isLoading:t,isError:n}=d(Z()),{data:r}=d(Y()),[i,a]=(0,G.useState)(!1),[o,c]=(0,G.useState)(null),[l,u]=(0,G.useState)(``),f=N(`region:write`),p=(0,G.useMemo)(()=>new Map((r?.organizations??[]).map(e=>[e.id,e.name])),[r]),m=(0,G.useMemo)(()=>{let t=l.trim().toLowerCase();return!t||!e?e??[]:e.filter(e=>e.region.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||e.latencyDescription.toLowerCase().includes(t)||(e.organizationIds??[]).some(e=>e.toLowerCase().includes(t)||(p.get(e)??``).toLowerCase().includes(t)))},[e,l,p]),h=()=>{c(null),a(!0)},g=e=>{c(e),a(!0)};return(0,K.jsxs)(`div`,{className:`max-w-4xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`h1`,{className:`text-2xl font-light`,children:`Regions`}),(0,K.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Deployment regions customers can provision into. A region scoped to organizations is only offered to those customers; otherwise it's available to everyone.`})]}),f&&(0,K.jsxs)(s,{variant:`submit`,onClick:h,className:`shrink-0`,children:[(0,K.jsx)(U,{}),`Create region`]})]}),(0,K.jsx)(`div`,{className:`mt-6`,children:t?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading regions…`}):n?(0,K.jsx)(`p`,{className:`text-sm text-destructive`,children:`Couldn't load regions.`}):!e||e.length===0?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No regions yet. Create one to get started.`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(V,{value:l,onChange:e=>u(e.target.value),placeholder:`Filter by ID, region, description, or organization…`,"aria-label":`Filter regions`,className:`mb-4 max-w-md`}),m.length===0?(0,K.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No regions match “`,l,`”.`]}):(0,K.jsxs)(P,{children:[(0,K.jsx)(O,{children:(0,K.jsxs)(I,{children:[(0,K.jsx)(B,{children:`ID`}),(0,K.jsx)(B,{children:`Region`}),(0,K.jsx)(B,{className:`text-right pr-6`,children:`Instances`}),(0,K.jsx)(B,{children:`Description`}),(0,K.jsx)(B,{children:`Scope`}),(0,K.jsx)(B,{className:`w-0`})]})}),(0,K.jsx)(D,{children:m.map(e=>(0,K.jsxs)(I,{className:e.active===!1?`opacity-60`:void 0,children:[(0,K.jsx)(k,{className:`font-mono font-medium`,children:(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[e.id,e.active===!1&&(0,K.jsx)(z,{variant:`secondary`,className:`text-[10px]`,children:`Inactive`})]})}),(0,K.jsx)(k,{children:e.region}),(0,K.jsx)(k,{className:`text-right pr-6`,children:e.instanceCount}),(0,K.jsx)(k,{className:`text-muted-foreground`,children:e.latencyDescription}),(0,K.jsx)(k,{children:(0,K.jsx)($,{organizationIds:e.organizationIds,orgNameById:p})}),(0,K.jsx)(k,{className:`text-right`,children:f&&(0,K.jsx)(s,{variant:`ghost`,size:`icon`,"aria-label":`Edit ${e.id}`,onClick:()=>g(e),children:(0,K.jsx)(E,{})})})]},e.id))})]})]})}),(0,K.jsx)(xe,{open:i,onOpenChange:a,region:o})]})}export{$ as RegionScope,Se as RegionsIndex};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{_ as t,c as n,g as r,s as i,y as a}from"./vendor-core-RCcadM3e.js";import{i as o,t as s}from"./button-DhiX-njv.js";import{H as c,I as l,L as u,z as d}from"./vendor-tanstack-BiFWSB3W.js";import{a as f}from"./vendor-datadog-BRv-mOv1.js";import{r as p}from"./vendor-react-Dyj4O3HE.js";import{$ as m,It as h,it as g}from"./vendor-ui-vhu-UHhF.js";import{i as _,n as v,o as y,r as b,t as x}from"./dialog-CBf0Mr1d.js";import{n as S}from"./chevron-up-Df2c8uoU.js";import{t as C}from"./x-B9o9hsep.js";import{$t as w,Cn as T,Cr as E,Gt as D,Jt as O,Kt as k,Mn as A,Nn as ee,Or as te,Pn as ne,Qt as re,Sn as j,Tn as M,Ur as N,Wt as P,Xn as F,Yn as ie,Yt as I,Zn as ae,bn as L,en as oe,ir as R,nn as se,qn as z,qt as B,tn as ce,vn as V,wn as H,xr as U,yn as W}from"./index-BtTvoLf8.js";var G=e(f(),1),K=p();function q({options:e,selected:t,onChange:n,placeholder:r=`Select…`,emptyText:i=`No options`,ariaLabel:a,disabled:o,id:c,allowRepeats:l,maxVisibleOptions:u}){let[d,f]=(0,G.useState)(!1),[p,m]=(0,G.useState)(``),h=(0,G.useRef)(null),g=(0,G.useRef)(null),_=(0,G.useMemo)(()=>new Set(t),[t]),v=(0,G.useMemo)(()=>new Map(e.map(e=>[e.value,e.label])),[e]);(0,G.useEffect)(()=>{if(!d)return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>h.current?.focus())});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},[d]);let y=(0,G.useMemo)(()=>{let t=p.trim().toLowerCase();return t?e.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):e},[e,p]),b=u?y.slice(0,u):y,x=y.length-b.length,w=e=>{l?n([...t,e]):_.has(e)?n(t.filter(t=>t!==e)):n([...t,e])},T=e=>n(t.filter((t,n)=>n!==e)),E=e=>{let t=g.current?.querySelectorAll(`[role="menuitemcheckbox"]:not([data-disabled])`);t?.length&&(e===`first`?t[0]:t[t.length-1]).focus()};return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsxs)(ie,{open:d,onOpenChange:e=>{f(e),e||m(``)},children:[(0,K.jsx)(R,{asChild:!0,disabled:o,children:(0,K.jsxs)(s,{id:c,type:`button`,variant:`outline`,"aria-label":a,className:`w-full justify-between font-normal`,children:[(0,K.jsx)(`span`,{className:t.length?`truncate`:`truncate text-muted-foreground`,children:t.length?`${t.length} selected`:r}),(0,K.jsx)(S,{className:`size-4 shrink-0 opacity-60`})]})}),(0,K.jsxs)(ae,{ref:g,className:`w-(--radix-dropdown-menu-trigger-width) max-h-72 overflow-y-auto`,align:`start`,children:[(0,K.jsx)(`input`,{ref:h,value:p,onChange:e=>m(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),E(e.key===`ArrowDown`?`first`:`last`);return}e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.stopPropagation()},placeholder:`Filter…`,"aria-label":`Filter options`,className:`mb-1 w-full rounded-md border bg-transparent px-2 py-1 text-sm outline-none`}),y.length===0?(0,K.jsx)(`div`,{className:`px-2 py-1.5 text-sm text-muted-foreground`,children:i}):b.map(e=>(0,K.jsx)(F,{checked:_.has(e.value),onCheckedChange:()=>w(e.value),onSelect:e=>e.preventDefault(),children:e.label},e.value)),x>0&&(0,K.jsxs)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:[x,` more — keep typing to narrow`]})]})]}),t.length>0&&(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map((e,t)=>{let n=v.get(e)??e;return(0,K.jsxs)(z,{variant:`secondary`,className:`gap-1`,children:[n,(0,K.jsx)(`button`,{type:`button`,"aria-label":`Remove ${n}`,onClick:()=>T(t),className:`ml-0.5 rounded-sm hover:text-destructive`,children:(0,K.jsx)(C,{className:`size-3`})})]},`${e}-${t}`)})})]})}async function le(e){let{data:t}=await o.post(`/Admin/Region/`,e);return t}function ue(){return l({mutationFn:le})}async function de({id:e,changes:t}){let{data:n}=await o.patch(`/Admin/Region/${e}`,t);return n}function fe(){return l({mutationFn:de})}async function pe(){let{data:e}=await o.get(`/Location/`);return e}var me=[`fabric-admin`,`locations`];function he(){return u({queryKey:me,queryFn:pe,retry:!1})}function J(e,t){return t?`${e} (${t})`:e}async function ge(){let e=[];for(let t=0;t<40;t++){let n=t*500,r=[`status=ne=DELETED`,`sort(name)`,`limit(${n},${n+500})`].join(`&`),{data:i}=await o.get(`/Admin/Organization/?${r}`),a=i;if(e.push(...a),a.length<500)return{organizations:e,truncated:!1}}return{organizations:e,truncated:!0}}var _e=[`fabric-admin`,`organizations`];function Y(){return u({queryKey:_e,queryFn:ge,retry:!1})}async function ve(){let{data:e}=await o.get(`/Admin/Region/`);return e}var X=[`fabric-admin`,`regions`];function Z(){return u({queryKey:X,queryFn:ve,retry:!1})}var ye=t({id:a().trim().min(1,`ID is required`).regex(/^[a-z0-9-]+$/,`Use lowercase letters, numbers, and hyphens only`),region:a().trim().min(1,`Region is required`),instanceCount:r({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),purchasedBlockMultiplier:r({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),latencyDescription:a().trim().min(1,`Latency description is required`),linodePreferredLocations:i(a()),gcpPreferredLocations:i(a()),forceLocations:n(),active:n(),organizationIds:i(a())}).superRefine((e,t)=>{e.forceLocations&&!e.linodePreferredLocations.length&&!e.gcpPreferredLocations.length&&t.addIssue({code:`custom`,path:[`forceLocations`],message:`Add at least one preferred location, or turn off Force locations`})}),be=100;function Q(e){return{id:e?.id??``,region:e?.region??``,instanceCount:e?.instanceCount??1,purchasedBlockMultiplier:e?.purchasedBlockMultiplier??1,latencyDescription:e?.latencyDescription??``,linodePreferredLocations:e?.linodePreferredLocations??[],gcpPreferredLocations:e?.gcpPreferredLocations??[],forceLocations:e?.forceLocations??!1,active:e?.active??!0,organizationIds:e?.organizationIds??[]}}function xe({open:e,onOpenChange:t,region:n}){let r=!!n,i=c(),{data:a=[]}=d({...he(),enabled:e}),{data:o}=d({...Y(),enabled:e}),l=o?.organizations??[],{data:u=[]}=d({...Z(),enabled:e}),{mutate:f,isPending:p}=ue(),{mutate:S,isPending:C}=fe(),E=p||C,D=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`linode`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),O=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`gcp`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),k=(0,G.useMemo)(()=>l.map(e=>({value:e.id,label:J(e.id,e.name)})),[l]),N=(0,G.useMemo)(()=>{let e=new Set;for(let t of a)for(let n of t.regions??[])e.add(n);return n?.region&&e.add(n.region),[...e].sort()},[a,n]),P=g({resolver:m(ye),defaultValues:Q(n)});(0,G.useEffect)(()=>{e&&P.reset(Q(n))},[e,n,P]);let F=e=>{let a=e=>e.trim().toLowerCase(),o=!n||a(n.latencyDescription)!==a(e.latencyDescription),s=u.filter(e=>e.id!==n?.id);if(o&&s.some(t=>a(t.latencyDescription)===a(e.latencyDescription))){P.setError(`latencyDescription`,{message:`A region with this latency description already exists`});return}let c=e.organizationIds.length>0?e.organizationIds:null,l=()=>{h.success(r?`Region updated`:`Region created`),i.invalidateQueries({queryKey:X}),t(!1)};if(n){let{id:t,...r}=e;S({id:n.id,changes:{...r,organizationIds:c}},{onSuccess:l})}else f({...e,organizationIds:c},{onSuccess:l})};return(0,K.jsx)(x,{open:e,onOpenChange:t,children:(0,K.jsxs)(v,{className:`max-w-2xl`,children:[(0,K.jsx)(y,{children:r?`Edit region`:`Create region`}),(0,K.jsx)(b,{children:r?`Update this region. Its ID is fixed once created.`:`Define a new deployment region. Leave organizations empty to make it public (all organizations).`}),(0,K.jsx)(M,{...P,children:(0,K.jsxs)(`form`,{className:`my-4 flex flex-col gap-4`,onSubmit:P.handleSubmit(F),children:[(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(T,{control:P.control,name:`id`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Region ID`}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{placeholder:`e.g. us-east-1`,...e,disabled:r})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`region`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Region`}),(0,K.jsx)(H,{children:(0,K.jsxs)(re,{value:e.value,onValueChange:e.onChange,children:[(0,K.jsx)(ce,{className:`w-full`,children:(0,K.jsx)(se,{placeholder:`Select a region`})}),(0,K.jsx)(w,{children:N.map(e=>(0,K.jsx)(oe,{value:e,children:e},e))})]})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`instanceCount`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Instance count`}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`purchasedBlockMultiplier`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 pb-1`,children:[(0,K.jsx)(L,{className:`!pb-0`,children:`Purchased block multiplier`}),(0,K.jsxs)(A,{children:[(0,K.jsx)(ne,{asChild:!0,children:(0,K.jsx)(`button`,{type:`button`,"aria-label":`What is the purchased block multiplier?`,className:`text-muted-foreground hover:text-foreground`,children:(0,K.jsx)(te,{className:`size-3.5`})})}),(0,K.jsx)(ee,{className:`max-w-xs`,children:`How many purchased blocks a cluster in this region is billed for. One block covers a baseline cluster: a 2-node cluster is 1 block and a 4-node cluster is 2 blocks. Each block carries one license against the selected plan's limits; once they're all used up, this many are issued and billed again.`})]})]}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(W,{})]})})]}),(0,K.jsx)(T,{control:P.control,name:`latencyDescription`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Latency description`}),(0,K.jsx)(H,{children:(0,K.jsx)(V,{placeholder:`e.g. 280ms, medium distribution`,...e})}),(0,K.jsx)(W,{})]})}),(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(T,{control:P.control,name:`linodePreferredLocations`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Linode preferred locations`}),(0,K.jsx)(H,{children:(0,K.jsx)(q,{options:D,selected:e.value,onChange:e.onChange,placeholder:`Any Linode location`,emptyText:`No Linode locations`,ariaLabel:`Linode preferred locations`,allowRepeats:!0})}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`gcpPreferredLocations`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`GCP preferred locations`}),(0,K.jsx)(H,{children:(0,K.jsx)(q,{options:O,selected:e.value,onChange:e.onChange,placeholder:`Any GCP location`,emptyText:`No GCP locations`,ariaLabel:`GCP preferred locations`,allowRepeats:!0})}),(0,K.jsx)(W,{})]})})]}),(0,K.jsx)(T,{control:P.control,name:`forceLocations`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(H,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(L,{className:`!pb-0`,children:`Force locations`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pin deployments to the preferred locations above instead of treating them as hints.`}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`active`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(H,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(L,{className:`!pb-0`,children:`Active`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Inactive regions stay available to existing deployments but aren't offered for new ones.`}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(T,{control:P.control,name:`organizationIds`,render:({field:e})=>(0,K.jsxs)(j,{children:[(0,K.jsx)(L,{className:`pb-1`,children:`Organizations (customer scope)`}),(0,K.jsx)(H,{children:(0,K.jsx)(q,{options:k,selected:e.value,onChange:e.onChange,placeholder:`Public — all organizations`,emptyText:`No organizations`,ariaLabel:`Organizations`,maxVisibleOptions:be})}),o?.truncated&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,children:`Too many organizations to list them all — some may be missing from this picker.`}),(0,K.jsx)(W,{})]})}),(0,K.jsx)(_,{children:(0,K.jsxs)(`div`,{className:`flex w-full justify-between`,children:[(0,K.jsx)(s,{variant:`destructiveOutline`,type:`button`,onClick:()=>t(!1),disabled:E,children:`Cancel`}),(0,K.jsx)(s,{variant:`submit`,disabled:E,children:E?`Saving…`:r?`Save changes`:`Create region`})]})})]})})]})})}function $({organizationIds:e,orgNameById:t}){return e==null||e.length===0?(0,K.jsx)(K.Fragment,{children:`Public`}):(0,K.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,K.jsx)(`span`,{className:`break-words`,children:J(e,t.get(e))},e))})}function Se(){let{data:e,isLoading:t,isError:n}=d(Z()),{data:r}=d(Y()),[i,a]=(0,G.useState)(!1),[o,c]=(0,G.useState)(null),[l,u]=(0,G.useState)(``),f=N(`region:write`),p=(0,G.useMemo)(()=>new Map((r?.organizations??[]).map(e=>[e.id,e.name])),[r]),m=(0,G.useMemo)(()=>{let t=l.trim().toLowerCase();return!t||!e?e??[]:e.filter(e=>e.region.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||e.latencyDescription.toLowerCase().includes(t)||(e.organizationIds??[]).some(e=>e.toLowerCase().includes(t)||(p.get(e)??``).toLowerCase().includes(t)))},[e,l,p]),h=()=>{c(null),a(!0)},g=e=>{c(e),a(!0)};return(0,K.jsxs)(`div`,{className:`max-w-4xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`h1`,{className:`text-2xl font-light`,children:`Regions`}),(0,K.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Deployment regions customers can provision into. A region scoped to organizations is only offered to those customers; otherwise it's available to everyone.`})]}),f&&(0,K.jsxs)(s,{variant:`submit`,onClick:h,className:`shrink-0`,children:[(0,K.jsx)(U,{}),`Create region`]})]}),(0,K.jsx)(`div`,{className:`mt-6`,children:t?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading regions…`}):n?(0,K.jsx)(`p`,{className:`text-sm text-destructive`,children:`Couldn't load regions.`}):!e||e.length===0?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No regions yet. Create one to get started.`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(V,{value:l,onChange:e=>u(e.target.value),placeholder:`Filter by ID, region, description, or organization…`,"aria-label":`Filter regions`,className:`mb-4 max-w-md`}),m.length===0?(0,K.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No regions match “`,l,`”.`]}):(0,K.jsxs)(P,{children:[(0,K.jsx)(O,{children:(0,K.jsxs)(I,{children:[(0,K.jsx)(B,{children:`ID`}),(0,K.jsx)(B,{children:`Region`}),(0,K.jsx)(B,{className:`text-right pr-6`,children:`Instances`}),(0,K.jsx)(B,{children:`Description`}),(0,K.jsx)(B,{children:`Scope`}),(0,K.jsx)(B,{className:`w-0`})]})}),(0,K.jsx)(D,{children:m.map(e=>(0,K.jsxs)(I,{className:e.active===!1?`opacity-60`:void 0,children:[(0,K.jsx)(k,{className:`font-mono font-medium`,children:(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[e.id,e.active===!1&&(0,K.jsx)(z,{variant:`secondary`,className:`text-[10px]`,children:`Inactive`})]})}),(0,K.jsx)(k,{children:e.region}),(0,K.jsx)(k,{className:`text-right pr-6`,children:e.instanceCount}),(0,K.jsx)(k,{className:`text-muted-foreground`,children:e.latencyDescription}),(0,K.jsx)(k,{children:(0,K.jsx)($,{organizationIds:e.organizationIds,orgNameById:p})}),(0,K.jsx)(k,{className:`text-right`,children:f&&(0,K.jsx)(s,{variant:`ghost`,size:`icon`,"aria-label":`Edit ${e.id}`,onClick:()=>g(e),children:(0,K.jsx)(E,{})})})]},e.id))})]})]})}),(0,K.jsx)(xe,{open:i,onOpenChange:a,region:o})]})}export{$ as RegionScope,Se as RegionsIndex};
|