@coreplane/switchboard 1.246.0 → 1.248.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/config/config.example.yaml +1 -1
- package/dist/assets/deploy/cloudflare-memory/worker.ts +14 -4
- package/dist/assets/deploy/cloudflare-resident/worker.ts +1 -1
- package/dist/assets/package-lock.json +3 -3
- package/dist/assets/package.json +5 -3
- package/dist/assets/project.json +10 -2
- package/dist/assets/source.json +3 -3
- package/dist/assets/src/agents/registry.ts +8 -3
- package/dist/assets/src/core/budgets.ts +19 -7
- package/dist/assets/src/core/runEvents.ts +5 -1
- package/dist/assets/src/core/ship/contract.ts +18 -1
- package/dist/assets/src/core/ship/coordinator.ts +1 -1
- package/dist/assets/src/core/trace/attrs.ts +9 -0
- package/dist/assets/web/dist/.vite/manifest.json +474 -485
- package/dist/assets/web/dist/assets/AppShell-DAtHiuI6.js +1 -0
- package/dist/assets/web/dist/assets/CostsPage-BoKzYa4B.js +2 -0
- package/dist/assets/web/dist/assets/DeliveryPage-NP4g6bQd.js +1 -0
- package/dist/assets/web/dist/assets/HomePage-DYxC0izY.js +2 -0
- package/dist/assets/web/dist/assets/InputMenu-C6aPpe30.js +1 -0
- package/dist/assets/web/dist/assets/NotFoundPage-DtE-GgTk.js +1 -0
- package/dist/assets/web/dist/assets/PendingTurnRow-BuRre8it.js +1 -0
- package/dist/assets/web/dist/assets/ResidentDetailPage-DLIpWYOc.js +1 -0
- package/dist/assets/web/dist/assets/ResidentsIndexPage-6LipuDjR.js +1 -0
- package/dist/assets/web/dist/assets/RunFoldRow-V-iSy64e.js +1 -0
- package/dist/assets/web/dist/assets/RunRoutePage-DUalB1u2.js +9 -0
- package/dist/assets/web/dist/assets/RunsIndexPage-B9Ba1KdD.js +1 -0
- package/dist/assets/web/dist/assets/RunsTabs-YSbUu5py.js +1 -0
- package/dist/assets/web/dist/assets/ScheduledPage-KdjLtD_7.js +1 -0
- package/dist/assets/web/dist/assets/SettingSelect-BIzAsLk1.js +1 -0
- package/dist/assets/web/dist/assets/SettingsPage-IT5l_NaL.js +1 -0
- package/dist/assets/web/dist/assets/StatusDot-DBHAl4Il.js +1 -0
- package/dist/assets/web/dist/assets/Tooltip-_LEjptLV.js +1 -0
- package/dist/assets/web/dist/assets/UnitRoutePage-DPBsvGPR.js +1 -0
- package/dist/assets/web/dist/assets/{angular-html-D_3slZqf.js → angular-html-BjeQZdCq.js} +1 -1
- package/dist/assets/web/dist/assets/{angular-ts-D1Fv2cpN.js → angular-ts-ZGdORrL2.js} +1 -1
- package/dist/assets/web/dist/assets/{apl-60Nm_trN.js → apl-DhvV_X93.js} +1 -1
- package/dist/assets/web/dist/assets/{astro-CvyaM3Q9.js → astro-DiRSE4Ug.js} +1 -1
- package/dist/assets/web/dist/assets/{blade-yan3VBls.js → blade-D8Fr5Wvq.js} +1 -1
- package/dist/assets/web/dist/assets/{seed-BhxEVasY.js → browser-B6T5hjfR.js} +1 -1
- package/dist/assets/web/dist/assets/{c-Ddgepap2.js → c-BwbC64D4.js} +1 -1
- package/dist/assets/web/dist/assets/{chapel-CgNY6dxC.js → chapel-DgmqRK97.js} +1 -1
- package/dist/assets/web/dist/assets/{cobol-C7q82cdP.js → cobol-DJod2RNK.js} +1 -1
- package/dist/assets/web/dist/assets/{coffee-DgRMF_ni.js → coffee-D1Y2CgBY.js} +1 -1
- package/dist/assets/web/dist/assets/{cpp-B8Lf-aeo.js → cpp-CsO97YOM.js} +1 -1
- package/dist/assets/web/dist/assets/{crystal-CkA_dhEO.js → crystal-CJ7m2tOc.js} +1 -1
- package/dist/assets/web/dist/assets/{css-Cyu-C_oA.js → css-B2M-NKoj.js} +1 -1
- package/dist/assets/web/dist/assets/{dist-DS-gMjLZ.js → dist-BcYPGOBL.js} +2 -2
- package/dist/assets/web/dist/assets/durationTone-U_rOqo6r.js +1 -0
- package/dist/assets/web/dist/assets/{edge-BxV3rKNI.js → edge-CFVW-m9B.js} +1 -1
- package/dist/assets/web/dist/assets/{elixir-pNSEK39d.js → elixir-B2mtRgCr.js} +1 -1
- package/dist/assets/web/dist/assets/{elm-zgwWE33W.js → elm-2teVAwCi.js} +1 -1
- package/dist/assets/web/dist/assets/{erb-yzcYAHp_.js → erb-LAbeNqen.js} +1 -1
- package/dist/assets/web/dist/assets/eventSource-Bj_dZf6M.js +1 -0
- package/dist/assets/web/dist/assets/{git-rebase-Dg7Ous1-.js → git-rebase-DnhzH_sp.js} +1 -1
- package/dist/assets/web/dist/assets/{glimmer-js-CbZEwX27.js → glimmer-js-DPKjXf1-.js} +1 -1
- package/dist/assets/web/dist/assets/{glimmer-ts-D3NIqALy.js → glimmer-ts-CABXnt5z.js} +1 -1
- package/dist/assets/web/dist/assets/{glsl-y4-3WrI2.js → glsl-Dz4-3-gJ.js} +1 -1
- package/dist/assets/web/dist/assets/{graphql-D5d0al7K.js → graphql-ByWUD1DL.js} +1 -1
- package/dist/assets/web/dist/assets/{hack-D8fD6kEl.js → hack-CdmOK2K-.js} +1 -1
- package/dist/assets/web/dist/assets/{haml-BWeFFc-V.js → haml-DzegMpd2.js} +1 -1
- package/dist/assets/web/dist/assets/{handlebars-gIm5FeE_.js → handlebars-B5NeiP0e.js} +1 -1
- package/dist/assets/web/dist/assets/{html-fXJTVLSM.js → html-Zg_NHLv9.js} +1 -1
- package/dist/assets/web/dist/assets/{html-derivative-B3ySSBrQ.js → html-derivative-DZf9JNzh.js} +1 -1
- package/dist/assets/web/dist/assets/{http-DrJfQUmw.js → http-CVFrQZeN.js} +1 -1
- package/dist/assets/web/dist/assets/{hurl-Bvbnsf55.js → hurl-L5brWAJe.js} +1 -1
- package/dist/assets/web/dist/assets/{java-CUSpb-i-.js → java-hFphyZ4R.js} +1 -1
- package/dist/assets/web/dist/assets/{javascript-BWRH5fbY.js → javascript-CAJO1WKX.js} +1 -1
- package/dist/assets/web/dist/assets/{jinja-D3Ymci8y.js → jinja-N4A4srXI.js} +1 -1
- package/dist/assets/web/dist/assets/{jison-Gt9SO7ZC.js → jison-D3BZa_iU.js} +1 -1
- package/dist/assets/web/dist/assets/{json-Cfcblhgn.js → json-DxD1Qh8W.js} +1 -1
- package/dist/assets/web/dist/assets/{jsx-C0366fFM.js → jsx-CHhag69S.js} +1 -1
- package/dist/assets/web/dist/assets/{julia-CyBOTbxS.js → julia-CrhkZ6Tt.js} +1 -1
- package/dist/assets/web/dist/assets/{just-FPXZcIOd.js → just-D0LFOuhq.js} +1 -1
- package/dist/assets/web/dist/assets/{latex-Bd-c88v0.js → latex-BHAlwCXK.js} +1 -1
- package/dist/assets/web/dist/assets/{liquid-5tu9Hc0k.js → liquid-CkaLfCWh.js} +1 -1
- package/dist/assets/web/dist/assets/{lua-BZ5fdPP8.js → lua-B1h4aAzP.js} +1 -1
- package/dist/assets/web/dist/assets/main-DUfSE0dj.js +28 -0
- package/dist/assets/web/dist/assets/main-zbP_dTjR.css +1 -0
- package/dist/assets/web/dist/assets/{marko-C_mmj4p0.js → marko-D6CG4hvX.js} +1 -1
- package/dist/assets/web/dist/assets/{mdc-CtaNqWjY.js → mdc-CVQzimAU.js} +1 -1
- package/dist/assets/web/dist/assets/{nginx-Ddm5Mb8J.js → nginx-h-9Ir54h.js} +1 -1
- package/dist/assets/web/dist/assets/{nim-COhfroYB.js → nim-DHVI30sp.js} +1 -1
- package/dist/assets/web/dist/assets/{org-CCHFgmTb.js → org-AasAXfMF.js} +1 -1
- package/dist/assets/web/dist/assets/{perl-CXzOE-Z-.js → perl-BVi5aTEy.js} +1 -1
- package/dist/assets/web/dist/assets/{php-1V6jAIhU.js → php-qOkCeUKr.js} +1 -1
- package/dist/assets/web/dist/assets/{pug-uS37efts.js → pug-8TnUGvEX.js} +1 -1
- package/dist/assets/web/dist/assets/{qml-Bj1A0Ben.js → qml-CpJbhoxn.js} +1 -1
- package/dist/assets/web/dist/assets/{r-CMbKbLsS.js → r-JkUNcAJW.js} +1 -1
- package/dist/assets/web/dist/assets/{razor-DVRq_Ndk.js → razor-CtU4ws5a.js} +1 -1
- package/dist/assets/web/dist/assets/{regexp-AbaOr4oB.js → regexp-J2zA6ceN.js} +1 -1
- package/dist/assets/web/dist/assets/{rst-Dq_QWgOF.js → rst-CMCvf-yZ.js} +1 -1
- package/dist/assets/web/dist/assets/{ruby-CVSsAj7T.js → ruby-ChLBY_iR.js} +1 -1
- package/dist/assets/web/dist/assets/{sas-C-dGfxUi.js → sas-cwn4x2VY.js} +1 -1
- package/dist/assets/web/dist/assets/{scss-DxALxYPA.js → scss-jSrJlzLI.js} +1 -1
- package/dist/assets/web/dist/assets/{shellscript--qXcvQ5L.js → shellscript-D5nAd0gs.js} +1 -1
- package/dist/assets/web/dist/assets/{shellsession-DeqnW8Ux.js → shellsession-BZY4-Tdh.js} +1 -1
- package/dist/assets/web/dist/assets/{soy-DreoUIMt.js → soy-COppPOKr.js} +1 -1
- package/dist/assets/web/dist/assets/{sql-o3i2VTG6.js → sql-Blc_6dOA.js} +1 -1
- package/dist/assets/web/dist/assets/{sseReplay-qF-gpbAY.js → sseReplay-DXC7kGbN.js} +3 -3
- package/dist/assets/web/dist/assets/{stata-CGAT41H7.js → stata-DRv3OY-h.js} +1 -1
- package/dist/assets/web/dist/assets/{surrealql-CBU0QuGV.js → surrealql-qMv_eeJ6.js} +1 -1
- package/dist/assets/web/dist/assets/{svelte-CfHaLZiG.js → svelte-d1Edb6Rz.js} +1 -1
- package/dist/assets/web/dist/assets/{templ-D02MUcma.js → templ-CUMSIOXG.js} +1 -1
- package/dist/assets/web/dist/assets/{tex-DjprHYXl.js → tex-BGZQA-Ei.js} +1 -1
- package/dist/assets/web/dist/assets/{ts-tags-DftDOzP-.js → ts-tags-Z9ulxVsq.js} +1 -1
- package/dist/assets/web/dist/assets/{tsx-BOdvPohJ.js → tsx-oI4bI3Vf.js} +1 -1
- package/dist/assets/web/dist/assets/{twig-B_yLS56B.js → twig-D_RXwBIX.js} +1 -1
- package/dist/assets/web/dist/assets/{typescript-CdPCa4nU.js → typescript-BgqQDYoN.js} +1 -1
- package/dist/assets/web/dist/assets/{typst-C1oIFsUl.js → typst-5MW-KRDd.js} +1 -1
- package/dist/assets/web/dist/assets/{vue-CcszJEX8.js → vue-CZhHHsPm.js} +1 -1
- package/dist/assets/web/dist/assets/{vue-html-DcpxPcuT.js → vue-html-DlYy2d8v.js} +1 -1
- package/dist/assets/web/dist/assets/{vue-vine-D26bIKGj.js → vue-vine-CJDnx-qn.js} +1 -1
- package/dist/assets/web/dist/assets/wallClock-DmaC1sKA.js +1 -0
- package/dist/assets/web/dist/assets/{xml-D8zl6W5P.js → xml-BRBDk65Q.js} +1 -1
- package/dist/assets/web/dist/assets/{xsl-D86Bii28.js → xsl-BlCykPxo.js} +1 -1
- package/dist/assets/web/dist/assets/{yaml-g6Px4KFU.js → yaml-BqW48szf.js} +1 -1
- package/dist/cli.js +1443 -727
- package/package.json +1 -1
- package/dist/assets/web/dist/assets/AppShell-B4EUiSwP.js +0 -1
- package/dist/assets/web/dist/assets/CostsPage-D8VjAtuH.js +0 -2
- package/dist/assets/web/dist/assets/DeliveryPage-DpQi5XUI.js +0 -1
- package/dist/assets/web/dist/assets/HomePage-CvKuIGqg.js +0 -2
- package/dist/assets/web/dist/assets/InputMenu-DmqAxkn4.js +0 -1
- package/dist/assets/web/dist/assets/NotFoundPage-DDogyiXA.js +0 -1
- package/dist/assets/web/dist/assets/PendingTurnRow-BoSLlR6j.js +0 -1
- package/dist/assets/web/dist/assets/ResidentDetailPage-CiBdbzkE.js +0 -1
- package/dist/assets/web/dist/assets/ResidentsIndexPage-DgtHtd9K.js +0 -1
- package/dist/assets/web/dist/assets/RunFoldRow-IF4xbz-3.js +0 -1
- package/dist/assets/web/dist/assets/RunRoutePage-DHYa7rHK.js +0 -9
- package/dist/assets/web/dist/assets/RunsIndexPage-aWhNTv8r.js +0 -1
- package/dist/assets/web/dist/assets/RunsTabs-CY_tdGTU.js +0 -1
- package/dist/assets/web/dist/assets/ScheduledPage-gPEBZjcx.js +0 -1
- package/dist/assets/web/dist/assets/SettingSelect-VDanrTZi.js +0 -1
- package/dist/assets/web/dist/assets/SettingsPage-CFoltSRD.js +0 -1
- package/dist/assets/web/dist/assets/StatusDot-DA3eTVrT.js +0 -1
- package/dist/assets/web/dist/assets/Tooltip-BgbCkM12.js +0 -1
- package/dist/assets/web/dist/assets/UnitRoutePage-DibegaJJ.js +0 -1
- package/dist/assets/web/dist/assets/durationTone-l6aVrHb8.js +0 -1
- package/dist/assets/web/dist/assets/eventSource-Ce94ho6M.js +0 -1
- package/dist/assets/web/dist/assets/favicon-D1hkyC5j.js +0 -1
- package/dist/assets/web/dist/assets/main-B4A6x82d.js +0 -28
- package/dist/assets/web/dist/assets/main-CpkwzHX6.css +0 -1
- package/dist/assets/web/dist/assets/residentsModel-By1fThvk.js +0 -1
- package/dist/assets/web/dist/assets/wallClock-DPTuP2FD.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./AppShell-DAtHiuI6.js";import{An as t,Cn as n,Cr as r,Li as i,Mn as a,Pi as o,Sn as s,Tr as c,Xr as l,_r as u,bn as d,ji as f,kn as p,ln as m,o as h,xn as g,yn as _}from"./browser-B6T5hjfR.js";import{t as v}from"./Tooltip-_LEjptLV.js";import{n as y}from"./wallClock-DmaC1sKA.js";import{t as ee}from"./indexFormat-B-pd4r7Y.js";import{i as b}from"./format-BldUwl_R.js";import{t as x}from"./RunsTabs-YSbUu5py.js";function S(e,t){return{kind:`schedule`,id:`schedule:${e}`,grants:t}}S(`self-improvement`,Object.freeze({actions:new Set([`friction:read`,`friction:write`]),channels:`all`,repos:new Set}));function C(e,t){let n=e-t,r=Math.floor(Math.abs(n)/6e4),i=Math.floor(r/60),a=Math.floor(i/24),o=a>0?`${a}d ${i%24}h`:i>0?`${i}h ${r%60}m`:r>0?`${r}m`:`<1m`;return n>=0?`in ${o}`:`${o} ago`}var w={healthz:`container health check`,watchdog:`resident watchdog`},T={completed:`succeeded`,failed:`failed`,stopped_soft:`stopped early`,stopped_hard:`killed`,"no-run":`no run created`,"ingress-error":`ingress error`,misconfigured:`misconfigured — nothing ran`},E={completed:`ok`,failed:`bad`,stopped_soft:`warn`,stopped_hard:`warn`,"no-run":`warn`,"ingress-error":`bad`,misconfigured:`bad`},D=120;function O(e){let t=e.replace(/\s+/g,` `).trim();return t=t.replace(/^[^\p{L}\p{N}*_`<[(]+/u,``),t=t.replace(/^\*[^*]{1,60}\*\s+[—–-]\s+/,``),t=t.replace(/^[^\p{L}\p{N}]+/u,``).trim(),t.length>D?`${t.slice(0,D)}…`:t}var k={key:0,class:`px-2 py-1.5 text-muted`},A={key:1,id:`scheduled`,"aria-label":`Scheduled jobs`},j={class:`m-0 list-none p-0`},M=[`data-schedule`],N={class:`def flex flex-wrap items-baseline gap-x-2 gap-y-1.5 text-[0.8rem] text-toned`},P={class:`name font-medium text-highlighted max-sm:text-[0.9rem]`},F={class:`max-sm:ml-auto`},I={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},L={class:`max-sm:flex max-sm:basis-full max-sm:flex-wrap max-sm:items-baseline max-sm:gap-2 sm:contents`},R={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},z={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},te={key:1,class:`text-dimmed`},B={class:`max-sm:flex max-sm:basis-full max-sm:flex-wrap max-sm:items-baseline max-sm:gap-2 sm:contents`},V={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},H=[`title`],U={class:`max-sm:hidden`},W={class:`font-medium text-highlighted`},G={class:`text-dimmed`},K={class:`text-toned sm:hidden`},q={key:1,class:`text-dimmed`},J={class:`fire mt-1.5 font-mono text-xs text-muted max-sm:flex max-sm:flex-wrap max-sm:items-baseline max-sm:gap-x-1.5 max-sm:gap-y-1 sm:overflow-hidden sm:text-ellipsis sm:whitespace-nowrap`},Y=[`title`],X=[`title`],Z=[`title`],Q={key:1,class:`text-dimmed`},ne={key:0,class:`mt-2.5 px-2 text-xs text-muted`},$=a({__name:`ScheduledPage`,setup(a){let S=h(`scheduled`),D=_(()=>S?.now??y()),$=_(()=>S?.rows??null),re={ok:`text-ok`,bad:`text-bad`,warn:`text-warn`};return(a,h)=>{let _=v,y=c(`RouterLink`);return u(),g(e,{title:`Scheduled runs`,nav:`runs`},{default:l(()=>[t(x,{current:`scheduled`}),$.value===null?(u(),n(`p`,k,`No schedule registry configured.`)):(u(),n(`section`,A,[d(`ul`,j,[(u(!0),n(m,null,r($.value,e=>(u(),n(`li`,{key:e.name,class:`border-b border-muted px-2 pb-3 pt-2.5`,"data-schedule":e.name},[d(`div`,N,[t(_,{text:e.description},{default:l(()=>[d(`span`,P,i(e.name),1)]),_:2},1032,[`text`]),h[5]||=d(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),d(`span`,F,[h[0]||=d(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`on`,-1),d(`code`,I,i(e.worker),1)]),h[6]||=d(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),d(`span`,L,[e.action.type===`run`?(u(),n(m,{key:0},[d(`code`,R,i(e.action.command),1),h[1]||=d(`span`,{class:`text-dimmed`},`as`,-1),d(`code`,z,i(e.action.identity),1)],64)):(u(),n(`span`,te,i(f(w)[e.action.type])+` — not a run`,1))]),h[7]||=d(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),d(`span`,B,[d(`code`,V,i(e.cron),1),h[3]||=d(`span`,{class:`text-dimmed`},`UTC`,-1),h[4]||=d(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),d(`span`,{class:`next font-mono tabular-nums max-sm:ml-auto`,title:e.nextFireAt===void 0?void 0:f(b)(e.nextFireAt)},[h[2]||=d(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`next`,-1),e.nextFireAt===void 0?(u(),n(`span`,q,`never`)):(u(),n(m,{key:0},[d(`span`,U,[d(`b`,W,i(f(ee)(e.nextFireAt,D.value)),1),d(`span`,G,` (`+i(f(C)(e.nextFireAt,D.value))+`)`,1)]),d(`span`,K,i(f(C)(e.nextFireAt,D.value)),1)],64))],8,H)])]),d(`div`,J,[h[12]||=d(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`last`,-1),e.last?(u(),n(m,{key:0},[d(`span`,{class:o([`outcome`,re[f(E)[e.last.outcome]]])},i(f(T)[e.last.outcome]),3),h[11]||=d(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),d(`span`,{class:`when text-toned`,title:f(b)(e.last.firedAt)},i(f(C)(e.last.firedAt,D.value)),9,Y),e.last.runId?(u(),n(m,{key:0},[h[8]||=d(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),e.last.runHref?(u(),g(y,{key:0,class:`text-primary hover:underline`,to:e.last.runHref},{default:l(()=>[p(`run `+i(e.last.runId.slice(0,8)),1)]),_:2},1032,[`to`])):(u(),n(m,{key:1},[p(`run `+i(e.last.runId.slice(0,8)),1)],64))],64)):s(``,!0),e.last.traceId?(u(),n(m,{key:1},[h[9]||=d(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),d(`span`,{class:`trace text-dimmed`,title:`trace ${e.last.traceId}`},`trace `+i(e.last.traceId.slice(0,8)),9,X)],64)):s(``,!0),e.last.detail&&f(O)(e.last.detail)?(u(),n(m,{key:2},[h[10]||=d(`span`,{class:`mx-1.5 text-accented max-sm:hidden`,"aria-hidden":`true`},`·`,-1),d(`span`,{class:`detail font-sans max-sm:line-clamp-2 max-sm:basis-full max-sm:whitespace-normal`,title:e.last.detail},i(f(O)(e.last.detail)),9,Z)],64)):s(``,!0)],64)):(u(),n(`span`,Q,i(f(S)?.firingsUnavailable?`unknown`:`never fired`),1))])],8,M))),128))]),f(S)?.firingsUnavailable?(u(),n(`p`,ne,` Firing history unavailable: `+i(f(S).firingsUnavailable),1)):s(``,!0)]))]),_:1})}}});export{$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,D as t,E as n,I as r,M as i,O as a,P as o,S as s,T as c,_ as l,g as u,h as d,j as f,k as p,m,p as h,w as g}from"./AppShell-DAtHiuI6.js";import{$ as _,An as v,Br as y,Cn as b,Cr as x,Ct as S,D as C,Di as w,Dr as ee,E as T,Fi as E,G as D,Gr as te,Hn as O,I as k,Ii as ne,K as A,Kr as re,L as ie,Li as j,Mn as M,Oi as N,Pi as P,Q as ae,R as oe,S as se,Sn as F,T as ce,Vr as le,W as ue,X as I,Xr as L,Z as de,_ as fe,_r as R,b as pe,bn as me,dr as z,g as he,gi as ge,gt as _e,h as ve,hr as ye,ht as be,ir as B,ji as V,kn as H,ln as U,m as xe,nt as Se,ot as W,p as Ce,pn as we,rn as G,rr as K,rt as Te,tt as Ee,v as De,w as Oe,wr as q,x as ke,xi as J,xn as Y,y as Ae,yn as X,z as Z}from"./browser-B6T5hjfR.js";function je(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}var Me=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Ne=[` `,`Enter`];function Q(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Pe(e,t,n)):Pe(e,t,n)}function Pe(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Ee(e,t)}function Fe(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Ie=[`value`],[$,Le]=A(`SelectRoot`),Re=M({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:``},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(t,{emit:n}){let r=t,a=n,{required:o,disabled:s,multiple:c,dir:u}=N(r),d=_e(r,`modelValue`,a,{defaultValue:r.defaultValue??(c.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),f=_e(r,`open`,a,{defaultValue:r.defaultOpen,passive:r.open===void 0}),p=J(),m=J(),h=J({x:0,y:0}),g=X(()=>c.value&&Array.isArray(d.value)?d.value?.length===0:ue(d.value));T({isProvider:!0});let _=i(u),v=e(p),y=J(new Set),S=X(()=>Array.from(y.value).map(e=>e.value).join(`;`));function C(e){if(c.value){let t=Array.isArray(d.value)?[...d.value]:[],n=t.findIndex(t=>Pe(t,e,r.by));n===-1?t.push(e):t.splice(n,1),d.value=[...t]}else d.value=e}function w(e){return Array.from(y.value).find(t=>Q(e,t.value,r.by))}return Le({triggerElement:p,onTriggerChange:e=>{p.value=e},valueElement:m,onValueElementChange:e=>{m.value=e},contentId:``,modelValue:d,onValueChange:C,by:r.by,open:f,multiple:c,required:o,onOpenChange:e=>{f.value=e},dir:_,triggerPointerDownPosRef:h,disabled:s,isEmptyModelValue:g,optionsSet:y,onOptionAdd:e=>{let t=w(e.value);t&&y.value.delete(t),y.value.add(e)},onOptionRemove:e=>{let t=w(e.value);t&&y.value.delete(t)}}),(e,t)=>(R(),Y(V(l),null,{default:L(()=>[q(e.$slots,`default`,{modelValue:V(d),open:V(f)}),V(v)&&e.name?(R(),Y(ze,{key:S.value,"aria-hidden":`true`,tabindex:`-1`,multiple:V(c),required:V(o),name:e.name,autocomplete:e.autocomplete,disabled:V(s),value:V(d)},{default:L(()=>[V(ue)(V(d))?(R(),b(`option`,{key:0,value:e.nullableValue},null,8,Ie)):F(`v-if`,!0),(R(!0),b(U,null,x(Array.from(y.value),e=>(R(),b(`option`,K({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):F(`v-if`,!0)]),_:3}))}}),ze=M({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,n=J(),r=$();te(()=>t.value,(e,t)=>{let r=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(e!==t&&i&&n.value){let t=new Event(`change`,{bubbles:!0});i.call(n.value,e),n.value.dispatchEvent(t)}});function i(e){r.onValueChange(e.target.value)}return(e,r)=>(R(),Y(V(ce),{"as-child":``},{default:L(()=>[me(`select`,K({ref_key:`selectElement`,ref:n},t,{onInput:i}),[q(e.$slots,`default`)],16)]),_:3}))}}),Be=M({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=oe(e);return(e,n)=>(R(),Y(V(d),K(V(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16))}}),Ve={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[He,Ue]=A(`SelectContent`),We=M({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let r=e,i=t,l=$();f(),o(r.bodyLock);let{CollectionSlot:u,getItems:d}=T(),p=J();a(p);let{search:m,handleTypeaheadSearch:h}=n(),_=J(),y=J(),b=J(),x=J(!1),S=J(!1),C=J(!1);function w(){y.value&&p.value&&s([y.value,p.value])}te(x,()=>{w()});let{onOpenChange:E,triggerPointerDownPosRef:D}=l;re(e=>{if(!p.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(D.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(D.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():p.value?.contains(e.target)||E(!1),document.removeEventListener(`pointermove`,n),D.value=null)};D.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function O(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&h(e.key,d()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...d().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>s(t)),e.preventDefault()}}let k=X(()=>r.position===`popper`?r:{}),ne=oe(k.value);return Ue({content:p,viewport:_,onViewportChange:e=>{_.value=e},itemRefCallback:(e,t,n)=>{let r=!S.value&&!n,i=Q(l.modelValue.value,t,l.by);if(l.multiple.value){if(C.value)return;(i||r)&&(y.value=e,i&&(C.value=!0))}else(i||r)&&(y.value=e);r&&(S.value=!0)},selectedItem:y,selectedItemText:b,onItemLeave:()=>{p.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!S.value&&!n;(Q(l.modelValue.value,t,l.by)||r)&&(b.value=e)},focusSelectedItem:w,position:r.position,isPositioned:x,searchRef:m}),(e,t)=>(R(),Y(V(u),null,{default:L(()=>[v(V(g),{"as-child":``,onMountAutoFocus:t[6]||=G(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{i(`closeAutoFocus`,e),!e.defaultPrevented&&(V(l).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:L(()=>[v(V(c),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=G(()=>{},[`prevent`]),onDismiss:t[3]||=e=>V(l).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>i(`pointerDownOutside`,e)},{default:L(()=>[(R(),Y(ee(e.position===`popper`?Be:qe),K({...e.$attrs,...V(ne)},{id:V(l).contentId,ref:e=>{if(!e)return;let t=V(W)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?p.value=t.firstElementChild:p.value=t},role:`listbox`,"data-state":V(l).open.value?`open`:`closed`,dir:V(l).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=G(()=>{},[`prevent`]),onPlaced:t[1]||=e=>x.value=!0,onKeydown:O}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Ge,Ke]=A(`SelectItemAlignedPosition`),qe=M({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,{getItems:i}=T(),a=$(),o=He(),s=J(!1),c=J(!0),l=J(),{forwardRef:u,currentElement:d}=Z(),{viewport:f,selectedItem:p,selectedItemText:m,focusSelectedItem:h}=o;function g(){if(a.triggerElement.value&&a.valueElement.value&&l.value&&d.value&&f?.value&&p?.value&&m?.value){let e=a.triggerElement.value.getBoundingClientRect(),t=d.value.getBoundingClientRect(),n=a.valueElement.value.getBoundingClientRect(),o=m.value.getBoundingClientRect();if(a.dir.value!==`rtl`){let r=o.left-t.left,i=n.left-r,a=e.left-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=je(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.left=`${d}px`}else{let r=t.right-o.right,i=window.innerWidth-n.right-r,a=window.innerWidth-e.right-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=je(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.right=`${d}px`}let c=i().map(e=>e.ref),u=window.innerHeight-20,h=f.value.scrollHeight,g=window.getComputedStyle(d.value),_=Number.parseInt(g.borderTopWidth,10),v=Number.parseInt(g.paddingTop,10),y=Number.parseInt(g.borderBottomWidth,10),b=Number.parseInt(g.paddingBottom,10),x=_+v+h+b+y,S=Math.min(p.value.offsetHeight*5,x),C=window.getComputedStyle(f.value),w=Number.parseInt(C.paddingTop,10),ee=Number.parseInt(C.paddingBottom,10),T=e.top+e.height/2-10,E=u-T,D=p.value.offsetHeight/2,te=p.value.offsetTop+D,O=_+v+te,k=x-O;if(O<=T){let e=p.value===c.at(-1);l.value.style.bottom=`0px`;let t=d.value.clientHeight-f.value.offsetTop-f.value.offsetHeight,n=O+Math.max(E,D+(e?ee:0)+t+y);l.value.style.height=`${n}px`}else{let e=p.value===c[0];l.value.style.top=`0px`;let t=Math.max(T,_+f.value.offsetTop+(e?w:0)+D)+k;l.value.style.height=`${t}px`,f.value.scrollTop=O-T+f.value.offsetTop}l.value.style.margin=`10px 0`,l.value.style.minHeight=`${S}px`,l.value.style.maxHeight=`${u}px`,r(`placed`),requestAnimationFrame(()=>s.value=!0)}}let _=J(``);z(async()=>{await B(),g(),d.value&&(_.value=window.getComputedStyle(d.value).zIndex)});function y(e){e&&c.value===!0&&(g(),h?.(),c.value=!1)}return be(a.triggerElement,()=>{g()}),Ke({contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:y}),(e,t)=>(R(),b(`div`,{ref_key:`contentWrapperElement`,ref:l,style:ne({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:_.value})},[v(V(k),K({ref:V(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16)],4))}}),Je=M({__name:`SelectArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e,n=He(Ve);return(e,r)=>V(n).position===`popper`?(R(),Y(V(m),E(K({key:0},t)),{default:L(()=>[q(e.$slots,`default`)]),_:3},16)):F(`v-if`,!0)}}),Ye=M({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Le(e.context),Ue(Ve),(e,t)=>q(e.$slots,`default`)}}),Xe={key:1},Ze=M({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=p(n,t),i=$(),a=J();z(()=>{a.value=new DocumentFragment});let o=J(),s=X(()=>n.forceMount||i.open.value),c=J(s.value),l;function u(){l&&=(clearTimeout(l),void 0)}return te(s,(e,t,n)=>{u(),l=setTimeout(()=>{c.value=s.value,l=void 0}),n(u)}),ye(u),(e,t)=>s.value||c.value||o.value?.present?(R(),Y(V(ie),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:L(()=>[v(We,E(O({...V(r),...e.$attrs})),{default:L(()=>[q(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(R(),b(`div`,Xe,[(R(),Y(we,{to:a.value},[v(Ye,{context:V(i)},{default:L(()=>[q(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):F(`v-if`,!0)}}),[Qe,$e]=A(`SelectGroup`),et=M({__name:`SelectGroup`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,r=t(void 0,`reka-select-group`);return $e({id:r}),(e,t)=>(R(),Y(V(k),K({role:`group`},n,{"aria-labelledby":V(r)}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16,[`aria-labelledby`]))}}),[tt,nt]=A(`SelectItem`),rt=M({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:n}){let i=e,a=n,{disabled:o}=N(i),s=$(),c=He(),{forwardRef:l,currentElement:u}=Z(),{CollectionItem:d}=T(),f=X(()=>Q(s.modelValue?.value,i.value,s.by)),p=J(!1),m=J(i.textValue??``),h=t(void 0,`reka-select-item-text`);async function g(e){if(e.defaultPrevented)return;let t={originalEvent:e,value:i.value};r(`select.select`,_,t)}async function _(e){await B(),a(`select`,e),!e.defaultPrevented&&(o.value||(s.onValueChange(i.value),s.multiple.value||s.onOpenChange(!1)))}async function y(e){await B(),!e.defaultPrevented&&(o.value?c.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function b(e){await B(),!e.defaultPrevented&&e.currentTarget===D()&&c.onItemLeave?.()}async function x(e){await B(),!e.defaultPrevented&&(c.searchRef?.value===``||e.key!==` `)&&(Ne.includes(e.key)&&g(e),e.key===` `&&e.preventDefault())}if(i.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return z(()=>{u.value&&c.itemRefCallback(u.value,i.value,i.disabled)}),nt({value:i.value,disabled:o,textId:h,isSelected:f,onItemTextChange:e=>{m.value=((m.value||e?.textContent)??``).trim()}}),(e,t)=>(R(),Y(V(d),{value:{textValue:m.value}},{default:L(()=>[v(V(k),{ref:V(l),role:`option`,"aria-labelledby":V(h),"data-highlighted":p.value?``:void 0,"aria-selected":f.value,"data-state":f.value?`checked`:`unchecked`,"aria-disabled":V(o)||void 0,"data-disabled":V(o)?``:void 0,tabindex:V(o)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>p.value=!0,onBlur:t[1]||=e=>p.value=!1,onPointerup:g,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=G(()=>{},[`prevent`,`stop`]),onPointermove:y,onPointerleave:b,onKeydown:x},{default:L(()=>[q(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),it=M({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=tt();return(e,r)=>V(n).isSelected.value?(R(),Y(V(k),K({key:0,"aria-hidden":`true`},t),{default:L(()=>[q(e.$slots,`default`)]),_:3},16)):F(`v-if`,!0)}}),at=M({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=$(),r=He(),i=tt(),{forwardRef:a,currentElement:o}=Z(),s=X(()=>({value:i.value,disabled:i.disabled.value,textContent:o.value?.textContent??i.value?.toString()??``}));return z(()=>{o.value&&(i.onItemTextChange(o.value),r.itemTextRefCallback(o.value,i.value,i.disabled.value),n.onOptionAdd(s.value))}),ye(()=>{n.onOptionRemove(s.value)}),(e,n)=>(R(),Y(V(k),K({id:V(i).textId,ref:V(a)},{...t,...e.$attrs}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16,[`id`]))}}),ot=M({__name:`SelectLabel`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let t=e,n=Qe({id:``});return(e,r)=>(R(),Y(V(k),K(t,{id:V(n).id}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16,[`id`]))}}),st=M({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(R(),Y(V(C),E(O(t)),{default:L(()=>[q(e.$slots,`default`)]),_:3},16))}}),ct=M({__name:`SelectSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(R(),Y(V(k),K({"aria-hidden":`true`},t),{default:L(()=>[q(e.$slots,`default`)]),_:3},16))}}),lt=M({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let r=e,i=$(),{forwardRef:a,currentElement:o}=Z(),s=X(()=>i.disabled?.value||r.disabled);i.contentId||=t(void 0,`reka-select-content`),z(()=>{i.onTriggerChange(o.value)});let{getItems:c}=T(),{search:l,handleTypeaheadSearch:d,resetTypeahead:f}=n();function p(){s.value||(i.onOpenChange(!0),f())}function m(e){p(),i.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function h(e){return e.button===0&&e.ctrlKey===!1}let g=!1;function _(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),h(e)&&(m(e),g=!0)}function y(e){h(e)&&e.preventDefault()}function b(e){g||e.currentTarget?.focus(),g=!1}return(e,t)=>(R(),Y(V(u),{"as-child":``,reference:e.reference},{default:L(()=>[v(V(k),{ref:V(a),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":V(i).open.value?V(i).contentId:void 0,"aria-expanded":V(i).open.value||!1,"aria-required":V(i).required?.value,"aria-autocomplete":`none`,disabled:s.value,dir:V(i)?.dir.value,"data-state":V(i)?.open.value?`open`:`closed`,"data-disabled":s.value?``:void 0,"data-placeholder":V(Fe)(V(i).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:b,onPointerdown:_,onMousedown:y,onPointerup:t[0]||=G(e=>{e.pointerType===`touch`&&m(e)},[`prevent`]),onKeydown:t[1]||=e=>{let t=V(l)!==``;(e.ctrlKey||e.altKey||e.metaKey||e.key.length!==1||!t||e.key!==` `)&&(V(d)(e.key,V(c)()),V(Me).includes(e.key)&&(p(),e.preventDefault()))}},{default:L(()=>[q(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),ut=M({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Z(),i=$();z(()=>{i.valueElement=r});let a=X(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>Q(e,t.value,i.by));return e=Array.isArray(i.modelValue.value)?i.modelValue.value.map(e=>n(e)?.textContent??``):[n(i.modelValue.value)?.textContent??``],e.filter(Boolean)}),o=X(()=>a.value.length?a.value.join(`, `):t.placeholder);return(e,r)=>(R(),Y(V(k),{ref:V(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":a.value.length?void 0:t.placeholder},{default:L(()=>[q(e.$slots,`default`,{selectedLabel:a.value,modelValue:V(i).modelValue.value},()=>[H(j(o.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),dt=M({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:n}=N(t),r=h(n),i=He(),a=i.position===`item-aligned`?Ge():void 0,{forwardRef:o,currentElement:s}=Z();z(()=>{i?.onViewportChange(s.value)});let c=J(0);function l(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=a??{};if(n?.value&&r?.value){let e=Math.abs(c.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}c.value=t.scrollTop}return(e,n)=>(R(),b(U,null,[v(V(k),K({ref:V(o),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:l}),{default:L(()=>[q(e.$slots,`default`)]),_:3},16),v(V(k),{as:`style`,nonce:V(r)},{default:L(()=>n[0]||=[H(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),ft={slots:{base:[`relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leading:`absolute inset-y-0 start-0 flex items-center`,leadingIcon:`shrink-0 text-dimmed`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailing:`absolute inset-y-0 end-0 flex items-center`,trailingIcon:`shrink-0 text-dimmed`,value:`truncate pointer-events-none`,placeholder:`truncate text-dimmed`,arrow:`fill-bg stroke-default`,content:`max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col`,viewport:`relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1`,group:`p-1 isolate`,empty:`text-center text-muted`,label:`font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:[`group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default`,`transition-colors`],itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemLeadingChip:`shrink-0`,itemLeadingChipSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemWrapper:`flex-1 flex flex-col min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},size:{xs:{base:`px-2 py-1 text-sm/4 gap-1`,leading:`ps-2`,trailing:`pe-2`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1 text-[10px]/3 gap-1`,item:`p-1 text-xs gap-1`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,empty:`p-2 text-xs`},sm:{base:`px-2.5 py-1.5 text-sm/4 gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1.5 text-[10px]/3 gap-1.5`,item:`p-1.5 text-xs gap-1.5`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,empty:`p-2.5 text-xs`},md:{base:`px-2.5 py-1.5 text-base/5 gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-sm gap-1.5`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,empty:`p-2.5 text-sm`},lg:{base:`px-3 py-2 text-base/5 gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-2 text-xs gap-2`,item:`p-2 text-sm gap-2`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,empty:`p-3 text-sm`},xl:{base:`px-3 py-2 text-base gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`,label:`p-2 text-sm gap-2`,item:`p-2 text-base gap-2`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemLeadingChip:`size-6`,itemLeadingChipSize:`lg`,itemTrailingIcon:`size-6`,empty:`p-3 text-base`}},variant:{outline:`text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default`,soft:`text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50`,subtle:`text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated`,ghost:`text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent`,none:`text-highlighted bg-transparent focus:outline-none`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},leading:{true:``},trailing:{true:``},loading:{true:``},highlight:{true:``},fixed:{false:``},type:{file:`file:me-1.5 file:font-medium file:text-muted file:outline-none`},position:{popper:{content:`data-[state=open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)]`},"item-aligned":{content:``}},multiple:{true:``}},compoundVariants:[{color:`primary`,variant:[`outline`,`subtle`],class:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`},{color:`secondary`,variant:[`outline`,`subtle`],class:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`},{color:`success`,variant:[`outline`,`subtle`],class:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`},{color:`info`,variant:[`outline`,`subtle`],class:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`},{color:`warning`,variant:[`outline`,`subtle`],class:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`},{color:`error`,variant:[`outline`,`subtle`],class:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`},{color:`primary`,variant:[`soft`,`ghost`],class:`outline-primary/25 focus-visible:outline-3`},{color:`secondary`,variant:[`soft`,`ghost`],class:`outline-secondary/25 focus-visible:outline-3`},{color:`success`,variant:[`soft`,`ghost`],class:`outline-success/25 focus-visible:outline-3`},{color:`info`,variant:[`soft`,`ghost`],class:`outline-info/25 focus-visible:outline-3`},{color:`warning`,variant:[`soft`,`ghost`],class:`outline-warning/25 focus-visible:outline-3`},{color:`error`,variant:[`soft`,`ghost`],class:`outline-error/25 focus-visible:outline-3`},{color:`primary`,highlight:!0,class:`ring ring-inset ring-primary`},{color:`secondary`,highlight:!0,class:`ring ring-inset ring-secondary`},{color:`success`,highlight:!0,class:`ring ring-inset ring-success`},{color:`info`,highlight:!0,class:`ring ring-inset ring-info`},{color:`warning`,highlight:!0,class:`ring ring-inset ring-warning`},{color:`error`,highlight:!0,class:`ring ring-inset ring-error`},{color:`neutral`,variant:[`outline`,`subtle`],class:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`},{color:`neutral`,variant:[`soft`,`ghost`],class:`outline-inverted/25 focus-visible:outline-3`},{color:`neutral`,highlight:!0,class:`ring ring-inset ring-inverted`},{leading:!0,size:`xs`,class:`ps-7`},{leading:!0,size:`sm`,class:`ps-8`},{leading:!0,size:`md`,class:`ps-9`},{leading:!0,size:`lg`,class:`ps-10`},{leading:!0,size:`xl`,class:`ps-11`},{trailing:!0,size:`xs`,class:`pe-7`},{trailing:!0,size:`sm`,class:`pe-8`},{trailing:!0,size:`md`,class:`pe-9`},{trailing:!0,size:`lg`,class:`pe-10`},{trailing:!0,size:`xl`,class:`pe-11`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}},{fixed:!1,size:`xs`,class:`md:text-xs`},{fixed:!1,size:`sm`,class:`md:text-xs`},{fixed:!1,size:`md`,class:`md:text-sm`},{fixed:!1,size:`lg`,class:`md:text-sm`}],defaultVariants:{size:`md`,color:`primary`,variant:`outline`,position:`popper`}},pt=Object.assign({inheritAttrs:!1},{__name:`Select`,props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},nullableValue:{type:String,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:[`change`,`blur`,`focus`,`update:modelValue`,`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=y(),o=se(`select`,r),s=Te(),c=ke(S(o,`open`,`defaultOpen`,`disabled`,`autocomplete`,`required`,`multiple`,`nullableValue`),i),l=Oe(w(()=>o.portal)),u=X(()=>o.content?.position??s.ui?.select?.defaultVariants?.position??ft.defaultVariants?.position),d=w(()=>Se(o.content,{side:`bottom`,sideOffset:8,collisionPadding:8,position:u.value})),f=w(()=>Se(o.arrow,{rounded:!0})),{emitFormChange:p,emitFormInput:m,emitFormBlur:h,emitFormFocus:g,size:C,color:T,id:D,name:te,highlight:k,disabled:ne,ariaAttrs:A}=Ce(r),{orientation:re,size:ie}=ve(r),{isLeading:M,isTrailing:N,leadingIconName:oe,trailingIconName:ce}=he(X(()=>({icon:o.icon,leading:o.leading,leadingIcon:o.leadingIcon,trailing:o.trailing,trailingIcon:o.trailingIcon??s.ui.icons.chevronDown,loading:o.loading,loadingIcon:o.loadingIcon}))),ue=X(()=>T.value??o.color),_e=X(()=>k.value??o.highlight),ye=X(()=>ie.value??C.value??o.size),be=X(()=>ne.value??o.disabled),B=X(()=>u.value===`item-aligned`),W=X(()=>pe({extend:ft,...s.ui?.select||{}})({color:ue.value,variant:o.variant,size:ye.value,loading:o.loading,highlight:_e.value,fixed:o.fixed,leading:M.value||!!o.avatar||!!a.leading,trailing:N.value||!!a.trailing,fieldGroup:re.value,position:u.value,multiple:o.multiple})),we=X(()=>o.items?.length?ae(o.items)?o.items:[o.items]:[]),G=X(()=>we.value.flatMap(e=>e));function Ee(e){if(o.multiple&&Array.isArray(e)){let t=e.map(e=>de(G.value,e,{labelKey:o.labelKey,valueKey:o.valueKey})).filter(e=>e!=null&&e!==``);return t.length>0?t.join(`, `):void 0}return de(G.value,e,{labelKey:o.labelKey,valueKey:o.valueKey})}let J=le(`triggerRef`);function Z(){o.autofocus&&J.value?.$el?.focus({focusVisible:!0})}let je;z(()=>{je=setTimeout(()=>{Z()},o.autofocusDelay)}),ge(()=>clearTimeout(je));function Me(e){o.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),o.modelModifiers?.number&&(e=_(e)),o.modelModifiers?.nullable&&(e??=null),o.modelModifiers?.optional&&!o.modelModifiers?.nullable&&e!==null&&(e??=void 0);let t=new Event(`change`,{target:{value:e}});i(`change`,t),p(),m()}function Ne(e){if(e){let e=new FocusEvent(`focus`);i(`focus`,e),g()}else{let e=new FocusEvent(`blur`);i(`blur`,e),h()}}function Q(e){return typeof e==`object`&&!!e}function Pe(e){e||J.value?.$el?.dispatchEvent(new PointerEvent(`pointerdown`,{bubbles:!0,button:0}))}let Fe=le(`viewportRef`);return t({triggerRef:w(()=>J.value?.$el),viewportRef:w(()=>{let e=Fe.value;return e&&typeof e==`object`&&`$el`in e?e.$el:e})}),(t,n)=>(R(),Y(V(Re),K({name:V(te)},V(c),{autocomplete:V(o).autocomplete,disabled:be.value,"default-value":V(o).defaultValue,"model-value":e.modelValue,"onUpdate:modelValue":Me,"onUpdate:open":Ne}),{default:L(({modelValue:e,open:n})=>[v(V(lt),K({id:V(D),ref_key:`triggerRef`,ref:J,"data-slot":`base`,class:W.value.base({class:[V(o).ui?.base,V(o).class]})},{...t.$attrs,...V(A)},{onClick:e=>Pe(n)}),{default:L(()=>[V(M)||V(o).avatar||a.leading?(R(),b(`span`,{key:0,"data-slot":`leading`,class:P(W.value.leading({class:V(o).ui?.leading}))},[q(t.$slots,`leading`,{modelValue:e,open:n,ui:W.value},()=>[V(M)&&V(oe)?(R(),Y(Ae,{key:0,name:V(oe),"data-slot":`leadingIcon`,class:P(W.value.leadingIcon({class:V(o).ui?.leadingIcon}))},null,8,[`name`,`class`])):V(o).avatar?(R(),Y(fe,K({key:1,size:V(o).ui?.itemLeadingAvatarSize||W.value.itemLeadingAvatarSize()},V(o).avatar,{"data-slot":`itemLeadingAvatar`,class:W.value.itemLeadingAvatar({class:V(o).ui?.itemLeadingAvatar})}),null,16,[`size`,`class`])):F(``,!0)])],2)):F(``,!0),(R(!0),b(U,null,x([Ee(e)],r=>(R(),Y(V(ut),{key:r,"data-slot":r==null?`placeholder`:`value`,class:P(r==null?W.value.placeholder({class:V(o).ui?.placeholder}):W.value.value({class:V(o).ui?.value}))},{default:L(()=>[q(t.$slots,`default`,{modelValue:e,open:n,ui:W.value},()=>[H(j(r??V(o).placeholder??`\xA0`),1)])]),_:2},1032,[`data-slot`,`class`]))),128)),V(N)||a.trailing?(R(),b(`span`,{key:1,"data-slot":`trailing`,class:P(W.value.trailing({class:V(o).ui?.trailing}))},[q(t.$slots,`trailing`,{modelValue:e,open:n,ui:W.value},()=>[V(ce)?(R(),Y(Ae,{key:0,name:V(ce),"data-slot":`trailingIcon`,class:P(W.value.trailingIcon({class:V(o).ui?.trailingIcon}))},null,8,[`name`,`class`])):F(``,!0)])],2)):F(``,!0)]),_:2},1040,[`id`,`class`,`onClick`]),v(V(st),E(O(V(l))),{default:L(()=>[v(V(xe),null,{default:L(()=>[v(V(Ze),K({"data-slot":`content`,class:W.value.content({class:V(o).ui?.content})},d.value),{default:L(()=>[q(t.$slots,`content-top`),(R(),Y(ee(B.value?V(dt):`div`),{ref_key:`viewportRef`,ref:Fe,role:`presentation`,"data-slot":`viewport`,class:P(W.value.viewport({class:V(o).ui?.viewport}))},{default:L(()=>[(R(!0),b(U,null,x(we.value,(e,n)=>(R(),Y(V(et),{key:`group-${n}`,"data-slot":`group`,class:P(W.value.group({class:V(o).ui?.group}))},{default:L(()=>[(R(!0),b(U,null,x(e,(e,r)=>(R(),b(U,{key:`group-${n}-${r}`},[Q(e)&&e.type===`label`?(R(),Y(V(ot),{key:0,"data-slot":`label`,class:P(W.value.label({class:[V(o).ui?.label,e.ui?.label,e.class]}))},{default:L(()=>[H(j(V(I)(e,V(o).labelKey)),1)]),_:2},1032,[`class`])):Q(e)&&e.type===`separator`?(R(),Y(V(ct),{key:1,"data-slot":`separator`,class:P(W.value.separator({class:[V(o).ui?.separator,e.ui?.separator,e.class]}))},null,8,[`class`])):(R(),Y(V(rt),{key:2,"data-slot":`item`,class:P(W.value.item({class:[V(o).ui?.item,Q(e)&&e.ui?.item,Q(e)&&e.class]})),disabled:Q(e)&&e.disabled,value:Q(e)?V(I)(e,V(o).valueKey):e,onSelect:t=>Q(e)&&e.onSelect?.(t)},{default:L(()=>[q(t.$slots,`item`,{item:e,index:r,ui:W.value},()=>[q(t.$slots,`item-leading`,{item:e,index:r,ui:W.value},()=>[Q(e)&&e.icon?(R(),Y(Ae,{key:0,name:e.icon,"data-slot":`itemLeadingIcon`,class:P(W.value.itemLeadingIcon({class:[V(o).ui?.itemLeadingIcon,e.ui?.itemLeadingIcon]}))},null,8,[`name`,`class`])):Q(e)&&e.avatar?(R(),Y(fe,K({key:1,size:e.ui?.itemLeadingAvatarSize||V(o).ui?.itemLeadingAvatarSize||W.value.itemLeadingAvatarSize()},{ref_for:!0},e.avatar,{"data-slot":`itemLeadingAvatar`,class:W.value.itemLeadingAvatar({class:[V(o).ui?.itemLeadingAvatar,e.ui?.itemLeadingAvatar]})}),null,16,[`size`,`class`])):Q(e)&&e.chip?(R(),Y(De,K({key:2,size:e.ui?.itemLeadingChipSize||V(o).ui?.itemLeadingChipSize||W.value.itemLeadingChipSize(),inset:``,standalone:``},{ref_for:!0},e.chip,{"data-slot":`itemLeadingChip`,class:W.value.itemLeadingChip({class:[V(o).ui?.itemLeadingChip,e.ui?.itemLeadingChip]})}),null,16,[`size`,`class`])):F(``,!0)]),me(`span`,{"data-slot":`itemWrapper`,class:P(W.value.itemWrapper({class:[V(o).ui?.itemWrapper,Q(e)&&e.ui?.itemWrapper]}))},[v(V(at),{"data-slot":`itemLabel`,class:P(W.value.itemLabel({class:[V(o).ui?.itemLabel,Q(e)&&e.ui?.itemLabel]}))},{default:L(()=>[q(t.$slots,`item-label`,{item:e,index:r},()=>[H(j(Q(e)?V(I)(e,V(o).labelKey):e),1)])]),_:2},1032,[`class`]),Q(e)&&(V(I)(e,V(o).descriptionKey)||a[`item-description`])?(R(),b(`span`,{key:0,"data-slot":`itemDescription`,class:P(W.value.itemDescription({class:[V(o).ui?.itemDescription,Q(e)&&e.ui?.itemDescription]}))},[q(t.$slots,`item-description`,{item:e,index:r},()=>[H(j(V(I)(e,V(o).descriptionKey)),1)])],2)):F(``,!0)],2),me(`span`,{"data-slot":`itemTrailing`,class:P(W.value.itemTrailing({class:[V(o).ui?.itemTrailing,Q(e)&&e.ui?.itemTrailing]}))},[q(t.$slots,`item-trailing`,{item:e,index:r,ui:W.value}),v(V(it),{"as-child":``},{default:L(()=>[v(Ae,{name:V(o).selectedIcon||V(s).ui.icons.check,"data-slot":`itemTrailingIcon`,class:P(W.value.itemTrailingIcon({class:[V(o).ui?.itemTrailingIcon,Q(e)&&e.ui?.itemTrailingIcon]}))},null,8,[`name`,`class`])]),_:2},1024)],2)])]),_:2},1032,[`class`,`disabled`,`value`,`onSelect`]))],64))),128))]),_:2},1032,[`class`]))),128))]),_:3},8,[`class`])),q(t.$slots,`content-bottom`),V(o).arrow?(R(),Y(V(Je),K({key:0},f.value,{"data-slot":`arrow`,class:W.value.arrow({class:V(o).ui?.arrow})}),null,16,[`class`])):F(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`name`,`autocomplete`,`disabled`,`default-value`,`model-value`]))}}),mt=`__none__`,ht=M({__name:`SettingSelect`,props:{modelValue:{},items:{},id:{},name:{},disabled:{type:Boolean},ariaLabel:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=X(()=>n.items.map(e=>({...e,value:e.value===``?mt:e.value}))),a=X(()=>n.modelValue===``?mt:n.modelValue);function o(e){let t=typeof e==`string`?e:``;r(`update:modelValue`,t===mt?``:t)}return(t,n)=>{let r=pt;return R(),Y(r,{id:e.id,name:e.name,"model-value":a.value,items:i.value,"value-key":`value`,size:`sm`,class:`setting-select font-mono text-xs`,disabled:e.disabled,"aria-label":e.ariaLabel,"onUpdate:modelValue":o},null,8,[`id`,`name`,`model-value`,`items`,`disabled`,`aria-label`])}}});export{ht as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./AppShell-DAtHiuI6.js";import{An as n,Cn as r,Cr as i,Li as a,Mn as o,Pi as s,Qr as c,Sn as l,Tr as u,Xr as d,_r as f,bn as p,en as m,hr as h,ji as g,kn as _,l as ee,ln as v,o as y,rn as b,t as x,xi as S,xn as C,yi as te,yn as w}from"./browser-B6T5hjfR.js";import{t as T}from"./SettingSelect-BIzAsLk1.js";import{t as ne}from"./Tooltip-_LEjptLV.js";import{t as E}from"./InputMenu-C6aPpe30.js";import{n as re,r as D,t as O}from"./settingsApi-Dm6eaQcu.js";import{a as k,t as ie}from"./indexRow-BmK74Vp1.js";var A={key:0,class:`ml-2 text-[0.6875rem] text-dimmed`},ae=o({__name:`ChannelPicker`,props:{channels:{},modelValue:{},extra:{},placeholder:{},id:{},disabled:{type:Boolean},ariaLabel:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=t,o=w(()=>{let e=n.channels.map(e=>({label:e.channelName?`#${e.channelName}`:e.channelId,value:e.channelId,suffix:e.visibility===`private`?`private`:e.channelName?e.channelId:void 0}));return n.extra&&!e.some(e=>e.value===n.extra)&&e.push({label:n.extra,value:n.extra,suffix:`not in the list`}),e});function s(e){i(`update:modelValue`,typeof e==`string`?e:``)}return(t,n)=>{let i=E;return f(),C(i,{id:e.id,"model-value":e.modelValue,items:o.value,"value-key":`value`,"filter-fields":[`label`,`value`],placeholder:e.placeholder??`Search channels…`,disabled:e.disabled,"aria-label":e.ariaLabel,size:`sm`,class:`channel-picker font-mono text-xs`,"onUpdate:modelValue":s},{"item-trailing":d(({item:e})=>[e.suffix?(f(),r(`span`,A,a(e.suffix),1)):l(``,!0)]),_:1},8,[`id`,`model-value`,`items`,`placeholder`,`disabled`,`aria-label`])}}}),j={class:`grid gap-4`},oe={key:0,class:`mine grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4 text-sm sm:grid-cols-3`,"aria-labelledby":`mine-heading`},se={class:`grid content-start gap-1`},M={class:`effective font-mono text-xs text-highlighted`},N={class:`grid content-start gap-1`},P={class:`defaults font-mono text-xs text-muted`},ce={class:`grid content-start gap-1`},F={key:0,class:`yours font-mono text-xs text-muted`},I={key:0},L={key:1,class:`yours text-xs text-muted`},R={key:1,class:`unavailable rounded-md border border-warn/30 bg-warn/10 px-3 py-2 text-sm`},z={class:`grid gap-3 lg:grid-cols-[minmax(16rem,22rem)_1fr]`},le={class:`grid content-start gap-3`},ue={class:`overflow-hidden rounded-lg border border-default bg-elevated`},B={key:0,class:`unavailable px-4 py-3 text-sm text-warn`},V={key:1,class:`empty px-4 py-3 text-sm text-muted`},H={key:2,class:`index text-sm`},de=[`data-channel`],fe=[`title`],pe={class:`text-xs text-muted`},U={class:`picker grid gap-2`},me={key:2,class:`text-xs text-dimmed`},he={key:0,class:`placeholder rounded-lg border border-dashed border-default px-5 py-8 text-center text-sm text-muted`},W={key:1,class:`refused rounded-lg border border-warn/30 bg-warn/10 px-5 py-4 text-sm`},G=[`title`],ge={key:2,class:`scope grid gap-4`},_e={class:`flex flex-wrap items-baseline justify-between gap-2`},ve=[`title`],ye={key:0,class:`ml-2 text-xs font-normal text-dimmed`},be={class:`effective text-xs text-muted`},xe={key:0,class:`restricted text-xs text-muted`},Se={class:`grid gap-3 sm:grid-cols-[9rem_1fr]`},Ce=[`disabled`],we={class:`grid gap-1.5`},Te={class:`text-muted`},Ee=[`onUpdate:modelValue`,`name`,`placeholder`,`disabled`],De={class:`grid gap-1.5`},Oe={class:`text-muted`},ke={class:`grid gap-3 sm:grid-cols-[9rem_1fr]`},Ae=[`disabled`],je={class:`flex flex-wrap gap-x-4 gap-y-1`},Me=[`name`,`checked`,`disabled`,`onChange`],Ne={class:`flex flex-wrap items-center gap-3`},Pe=[`disabled`],Fe={class:`flex flex-wrap items-center gap-3`},Ie={class:`text-xs text-dimmed tabular-nums`},K=o({__name:`ChannelsPanel`,props:{channels:{},vocabulary:{},fetch:{type:Function}},setup(e){let t=e,o=(e,n)=>(t.fetch??((e,t)=>globalThis.fetch(e,t)))(e,n),h=w(()=>t.channels.selected??null),y=w(()=>t.channels.viewer??null),ne=w(()=>{let e=y.value?.user;if(!e)return[];let t=[];e.agent&&t.push(`agent ${e.agent}`),e.model&&t.push(`model ${e.model}`);for(let[n,r]of Object.entries(e.models??{}))t.push(`${n} → ${r}`);e.effort&&t.push(`effort ${e.effort}`);for(let[n,r]of Object.entries(e.efforts??{}))t.push(`${n} effort ${r}`);for(let[n,r]of Object.entries(e.harness??{}))t.push(`${n} on ${r}`);return e.boundary?.maxMinutes&&t.push(`at most ${e.boundary.maxMinutes} min`),e.boundary?.maxIdentity&&t.push(`identity ≤ ${e.boundary.maxIdentity}`),e.boundary?.machines&&t.push(`machines ${e.boundary.machines.join(`, `)}`),e.instructions&&t.push(`instructions (${e.instructions.length} chars)`),t}),E=w(()=>h.value?.scope?.channel??null),re=w(()=>[{label:`— the default (${h.value?.scope?.defaults.agent??`general`}), or the router —`,value:``},...t.vocabulary.agents.map(e=>{let t=h.value?.scope?.restrictedAgents.includes(e)??!1;return{label:t?`${e} (restricted)`:e,value:e,disabled:t}})]),k=w(()=>[{label:`— unset —`,value:``},...t.vocabulary.efforts.map(e=>({label:e,value:e}))]),ie=w(()=>[{label:`— uncapped —`,value:``},...t.vocabulary.identities.map(e=>({label:e,value:e}))]),A=e=>e.channelName?`#${e.channelName}`:e.channelId,K=w(()=>t.channels.pickable?.channels??[]);function q(e){e&&x.navigate(`/settings/channels/${encodeURIComponent(e)}`)}let J=S(``);function Le(){q(J.value.trim())}let Y=te({agent:E.value?.agent??``,model:E.value?.model??``,models:Object.fromEntries(t.vocabulary.agents.map(e=>[e,E.value?.models?.[e]??``])),effort:E.value?.effort??``,efforts:Object.fromEntries(t.vocabulary.agents.map(e=>[e,E.value?.efforts?.[e]??``])),maxMinutes:E.value?.boundary?.maxMinutes?.toString()??``,maxIdentity:E.value?.boundary?.maxIdentity??``,machines:new Set(E.value?.boundary?.machines??[]),instructions:E.value?.instructions??``}),X=S(!1),Z=S(null),Q=w(()=>h.value?.canWrite===!0);function Re(e,t){t?Y.machines.add(e):Y.machines.delete(e)}function ze(){let e={};Y.agent&&(e.agent=Y.agent),Y.model.trim()&&(e.model=Y.model.trim());let t=Object.fromEntries(Object.entries(Y.models).filter(([,e])=>e.trim()));Object.keys(t).length&&(e.models=t),Y.effort&&(e.effort=Y.effort);let n=Object.fromEntries(Object.entries(Y.efforts).filter(([,e])=>e));Object.keys(n).length&&(e.efforts=n);let r={};return Y.maxMinutes.trim()&&(r.maxMinutes=Number(Y.maxMinutes)),Y.maxIdentity&&(r.maxIdentity=Y.maxIdentity),Y.machines.size&&(r.machines=[...Y.machines].join(`,`)),Object.keys(r).length&&(e.boundary=r),e}async function $(e,t,n){if(!h.value)return;X.value=!0,Z.value=null;let r=await D(o,e,{scope:`channel`,channel:h.value.channelId,...t});if(X.value=!1,!r.ok){Z.value={kind:`error`,text:r.failure.message};return}Z.value={kind:`ok`,text:n},x.reload()}let Be=()=>$(`config.set`,ze(),`Saved.`),Ve=()=>$(`config.instructions`,{text:Y.instructions.trim()},`Instructions saved.`),He=()=>$(`config.instructions`,{text:``},`Instructions cleared.`);async function Ue(){h.value&&x.confirm(`Drop every runtime override of ${h.value.channelId}? Static config.yaml values show through again.`)&&await $(`config.clear`,{},`Cleared.`)}let We={config:`config.yaml`,runtime:`runtime`,both:`config.yaml + runtime`};return(t,o)=>{let x=u(`RouterLink`),S=ee;return f(),r(`section`,j,[o[33]||=p(`p`,{class:`text-sm text-muted`},[_(` What a run gets is layered: the installation defaults, then the channel's scope, then your own settings (`),p(`code`,null,`config set me`),_(`). This tab shows yours and lets you set a channel's. `)],-1),y.value?(f(),r(`section`,oe,[o[11]||=p(`h2`,{id:`mine-heading`,class:`font-mono text-xs font-medium uppercase tracking-wider text-muted sm:col-span-3`},` Your settings `,-1),p(`div`,se,[o[7]||=p(`span`,{class:`text-xs text-dimmed`},`A run you ask for outside any channel gets`,-1),p(`span`,M,[_(`agent `+a(y.value.effective.agent)+` · `+a(y.value.effective.model),1),y.value.effective.effort?(f(),r(v,{key:0},[_(` · effort `+a(y.value.effective.effort),1)],64)):l(``,!0)])]),p(`div`,N,[o[9]||=p(`span`,{class:`text-xs text-dimmed`},`Installation defaults`,-1),p(`span`,P,[_(` agent `+a(y.value.defaults.agent)+` `,1),(f(!0),r(v,null,i(y.value.defaults.models,(e,t)=>(f(),r(v,{key:t},[o[8]||=p(`br`,null,null,-1),_(a(t)+` → `+a(e),1)],64))),128))])]),p(`div`,ce,[o[10]||=p(`span`,{class:`text-xs text-dimmed`},[_(`Yours (`),p(`code`,null,`config set me`),_(`)`)],-1),ne.value.length>0?(f(),r(`span`,F,[(f(!0),r(v,null,i(ne.value,(e,t)=>(f(),r(v,{key:e},[t>0?(f(),r(`br`,I)):l(``,!0),_(a(e),1)],64))),128))])):(f(),r(`span`,L,`Nothing of your own yet — the defaults apply.`))])])):e.channels.viewerUnavailable?(f(),r(`p`,R,a(e.channels.viewerUnavailable),1)):l(``,!0),p(`div`,z,[p(`aside`,le,[p(`div`,ue,[o[12]||=p(`h2`,{class:`border-b border-muted px-4 py-2 font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},` Configured channels `,-1),e.channels.unavailable?(f(),r(`p`,B,a(e.channels.unavailable),1)):e.channels.index.length===0?(f(),r(`p`,V,` Every channel runs on the defaults. Open one below to give it settings of its own. `)):(f(),r(`ul`,H,[(f(!0),r(v,null,i(e.channels.index,e=>(f(),r(`li`,{key:e.channelId,class:`border-b border-muted last:border-0`,"data-channel":e.channelId},[n(x,{class:`grid gap-0.5 px-4 py-2 no-underline hover:bg-(--ui-bg-muted)`,to:`/settings/channels/${encodeURIComponent(e.channelId)}`,"aria-current":h.value?.channelId===e.channelId?`page`:void 0},{default:d(()=>[p(`span`,{class:`font-mono text-xs font-medium text-highlighted`,title:e.channelId},a(A(e)),9,fe),p(`span`,pe,a(e.settings.join(`, `))+` · `+a(We[e.source]),1)]),_:2},1032,[`to`,`aria-current`])],8,de))),128))]))]),p(`div`,U,[K.value.length>0?(f(),C(ae,{key:0,id:`channel-pick`,channels:K.value,"model-value":h.value?.channelId??``,extra:h.value?.channelId,placeholder:`Search channels…`,"aria-label":`channel to open`,"onUpdate:modelValue":q},null,8,[`channels`,`model-value`,`extra`])):(f(),r(`form`,{key:1,class:`flex items-center gap-2`,onSubmit:b(Le,[`prevent`])},[c(p(`input`,{id:`channel-open`,"onUpdate:modelValue":o[0]||=e=>J.value=e,class:s([g(O),`flex-1 font-mono text-xs`]),placeholder:`slack:C0123… — a channel id`,"aria-label":`channel id to open`},null,2),[[m,J.value]]),n(S,{type:`submit`,size:`xs`,color:`neutral`,variant:`outline`},{default:d(()=>[...o[13]||=[_(`Open`,-1)]]),_:1})],32)),K.value.length>0&&e.channels.pickable?.listed===!1?(f(),r(`p`,me,` The bot could not list its channels; only the channels that already carry settings are offered. `)):l(``,!0)])]),h.value?h.value.refused?(f(),r(`div`,W,[p(`span`,{class:`font-mono text-xs`,title:h.value.channelId},a(A(h.value)),9,G),_(` · `+a(h.value.refused),1)])):E.value&&h.value.scope?(f(),r(`div`,ge,[p(`div`,_e,[p(`h2`,{class:`font-mono text-sm font-medium text-highlighted`,title:h.value.channelId},[_(a(A(h.value)),1),h.value.channelName?(f(),r(`span`,ye,a(h.value.channelId),1)):l(``,!0)],8,ve),p(`p`,be,[o[15]||=_(` Runs here get agent `,-1),p(`code`,null,a(h.value.scope.effective.agent),1),o[16]||=_(`, model `,-1),p(`code`,null,a(h.value.scope.effective.model),1),h.value.scope.effective.effort?(f(),r(v,{key:0},[o[14]||=_(`, effort `,-1),p(`code`,null,a(h.value.scope.effective.effort),1)],64)):l(``,!0)])]),Q.value?l(``,!0):(f(),r(`p`,xe,` Read-only: channel config changes need the channel-config right. `+a(h.value.scope.adminsHint),1)),p(`form`,{class:`agent-form grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`,onSubmit:b(Be,[`prevent`])},[o[28]||=p(`h3`,{class:`font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Agent, model, effort`,-1),p(`div`,Se,[o[17]||=p(`label`,{class:`text-sm text-muted`,for:`ch-agent`},`Agent`,-1),n(T,{id:`ch-agent`,modelValue:Y.agent,"onUpdate:modelValue":o[1]||=e=>Y.agent=e,items:re.value,class:`w-full`,disabled:!Q.value},null,8,[`modelValue`,`items`,`disabled`]),o[18]||=p(`label`,{class:`text-sm text-muted`,for:`ch-model`},`Model, any agent`,-1),c(p(`input`,{id:`ch-model`,"onUpdate:modelValue":o[2]||=e=>Y.model=e,class:s([g(O),`font-mono text-xs`]),placeholder:`provider/model — forces every run's model`,disabled:!Q.value},null,10,Ce),[[m,Y.model]]),o[19]||=p(`span`,{class:`text-sm text-muted`},`Model per agent`,-1),p(`div`,we,[(f(!0),r(v,null,i(e.vocabulary.agents,e=>(f(),r(`label`,{key:e,class:`grid grid-cols-[6rem_1fr] items-center gap-2 font-mono text-xs`},[p(`span`,Te,a(e),1),c(p(`input`,{"onUpdate:modelValue":t=>Y.models[e]=t,name:`models.${e}`,class:s([g(O),`font-mono text-xs`]),placeholder:h.value.scope.defaults.models[e]??`default`,disabled:!Q.value},null,10,Ee),[[m,Y.models[e]]])]))),128))]),o[20]||=p(`label`,{class:`text-sm text-muted`,for:`ch-effort`},`Effort, any agent`,-1),n(T,{id:`ch-effort`,modelValue:Y.effort,"onUpdate:modelValue":o[3]||=e=>Y.effort=e,items:k.value,class:`w-full`,disabled:!Q.value},null,8,[`modelValue`,`items`,`disabled`]),o[21]||=p(`span`,{class:`text-sm text-muted`},`Effort per agent`,-1),p(`div`,De,[(f(!0),r(v,null,i(e.vocabulary.agents,e=>(f(),r(`label`,{key:e,class:`grid grid-cols-[6rem_1fr] items-center gap-2 font-mono text-xs`},[p(`span`,Oe,a(e),1),n(T,{modelValue:Y.efforts[e],"onUpdate:modelValue":t=>Y.efforts[e]=t,name:`efforts.${e}`,items:k.value,class:`w-full`,disabled:!Q.value},null,8,[`modelValue`,`onUpdate:modelValue`,`name`,`items`,`disabled`])]))),128))])]),o[29]||=p(`h3`,{class:`mt-2 font-mono text-xs font-medium uppercase tracking-wider text-muted`},` Boundary · caps every run here, never grants `,-1),p(`div`,ke,[o[22]||=p(`label`,{class:`text-sm text-muted`,for:`ch-minutes`},`Max minutes`,-1),c(p(`input`,{id:`ch-minutes`,"onUpdate:modelValue":o[4]||=e=>Y.maxMinutes=e,class:s([g(O),`w-28 font-mono text-xs tabular-nums`]),type:`number`,min:`2`,placeholder:`uncapped`,disabled:!Q.value},null,10,Ae),[[m,Y.maxMinutes]]),o[23]||=p(`label`,{class:`text-sm text-muted`,for:`ch-identity`},`Max identity`,-1),n(T,{id:`ch-identity`,modelValue:Y.maxIdentity,"onUpdate:modelValue":o[5]||=e=>Y.maxIdentity=e,items:ie.value,class:`w-full`,disabled:!Q.value},null,8,[`modelValue`,`items`,`disabled`]),o[24]||=p(`span`,{class:`text-sm text-muted`},`Machines`,-1),p(`div`,je,[(f(!0),r(v,null,i(e.vocabulary.machines,e=>(f(),r(`label`,{key:e,class:`inline-flex items-center gap-1.5 font-mono text-xs`},[p(`input`,{type:`checkbox`,name:`machine-${e}`,checked:Y.machines.has(e),disabled:!Q.value,onChange:t=>Re(e,t.target.checked)},null,40,Me),_(` `+a(e),1)]))),128))])]),p(`div`,Ne,[n(S,{type:`submit`,size:`sm`,color:`neutral`,disabled:!Q.value||X.value},{default:d(()=>[...o[25]||=[_(`Save`,-1)]]),_:1},8,[`disabled`]),n(S,{size:`sm`,color:`error`,variant:`ghost`,disabled:!Q.value||X.value,onClick:Ue},{default:d(()=>[...o[26]||=[_(`Clear every override`,-1)]]),_:1},8,[`disabled`]),o[27]||=p(`span`,{class:`text-xs text-dimmed`},`Save sets the filled fields and leaves the rest as they are.`,-1)])],32),p(`form`,{class:`instructions-form grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`,onSubmit:b(Ve,[`prevent`])},[o[32]||=p(`h3`,{class:`font-mono text-xs font-medium uppercase tracking-wider text-muted`},` Custom instructions · advisory, on every run here `,-1),c(p(`textarea`,{id:`ch-instructions`,"onUpdate:modelValue":o[6]||=e=>Y.instructions=e,class:s([g(O),`min-h-28 w-full`]),maxlength:`2000`,placeholder:`Always reply in bullet points.`,disabled:!Q.value},null,10,Pe),[[m,Y.instructions]]),p(`div`,Fe,[n(S,{type:`submit`,size:`sm`,color:`neutral`,disabled:!Q.value||X.value},{default:d(()=>[...o[30]||=[_(`Save instructions`,-1)]]),_:1},8,[`disabled`]),n(S,{size:`sm`,color:`neutral`,variant:`ghost`,disabled:!Q.value||X.value,onClick:He},{default:d(()=>[...o[31]||=[_(`Clear instructions`,-1)]]),_:1},8,[`disabled`]),p(`span`,Ie,a(Y.instructions.length)+` / 2000`,1)])],32),Z.value?(f(),r(`p`,{key:1,class:s([`notice rounded-md px-3 py-2 text-sm`,Z.value.kind===`error`?`border border-err/30 bg-err/10`:`border border-ok/30 bg-ok/10`])},a(Z.value.text),3)):l(``,!0)])):l(``,!0):(f(),r(`div`,he,` Pick a channel on the left to see and change its own settings. `))])])}}}),q={class:`grid gap-4`},J={class:`overflow-x-auto rounded-lg border border-default bg-elevated`},Le={class:`settings w-full min-w-[42rem] border-collapse text-[0.8125rem]`},Y={class:`border-t border-muted bg-muted/40`},X={colspan:`4`,class:`px-4 py-1.5 text-left font-mono text-xs font-medium text-toned`},Z=[`data-key`],Q={class:`px-4 py-2 font-mono text-xs text-highlighted`},Re={class:`px-4 py-2 font-mono text-xs tabular-nums`},ze={class:`value`},$={key:0,class:`ml-1.5 rounded bg-accented px-1.5 py-0.5 text-[0.625rem] text-muted`},Be={class:`px-4 py-2 text-muted`},Ve={class:`px-4 py-2 text-xs text-dimmed`},He={class:`capabilities grid gap-1.5 rounded-lg border border-default bg-elevated px-4 py-3 text-sm`},Ue=[`data-capability`,`data-on`],We={class:`w-40 font-mono text-xs text-highlighted`},Ge={class:`text-xs text-muted`},Ke=o({__name:`InstallationPanel`,props:{installation:{}},setup(e){let t=e,n=w(()=>{let e=[];for(let n of t.installation.settings){let t=n.key.split(`.`)[0],r=e[e.length-1];r&&r.block===t?r.rows.push(n):e.push({block:t,rows:[n]})}return e}),o={runtime:"config.yaml default · a channel overrides it at run time (Channels tab, `config set channel`)",config:"config.yaml · `deploy config`, then a restart"},c=e=>typeof e==`string`?e:e?`on`:`off`;return(t,u)=>(f(),r(`section`,q,[u[1]||=p(`p`,{class:`text-sm text-muted`},[_(` The behaviour knobs of this installation's `),p(`code`,null,`config.yaml`),_(`, with the value in force. A running process keeps the config it started with: a change here is `),p(`code`,null,`deploy config`),_(` and a restart. The `),p(`code`,null,`defaults.*`),_(` rows are what a channel overrides on the Channels tab. `)],-1),p(`div`,J,[p(`table`,Le,[u[0]||=p(`thead`,null,[p(`tr`,{class:`text-left font-mono text-[0.6875rem] uppercase tracking-widest text-dimmed`},[p(`th`,{class:`px-4 py-2.5 font-medium`},`Key`),p(`th`,{class:`px-4 py-2.5 font-medium`},`Value`),p(`th`,{class:`px-4 py-2.5 font-medium`},`What it does`),p(`th`,{class:`px-4 py-2.5 font-medium`},`Changes in`)])],-1),(f(!0),r(v,null,i(n.value,e=>(f(),r(`tbody`,{key:e.block},[p(`tr`,Y,[p(`th`,X,a(e.block),1)]),(f(!0),r(v,null,i(e.rows,e=>(f(),r(`tr`,{key:e.key,class:`setting border-t border-muted align-top`,"data-key":e.key},[p(`td`,Q,a(e.key),1),p(`td`,Re,[p(`span`,ze,a(e.value),1),e.isDefault?(f(),r(`span`,$,`default`)):l(``,!0)]),p(`td`,Be,a(e.note),1),p(`td`,Ve,a(o[e.how]),1)],8,Z))),128))]))),128))])]),u[2]||=p(`h2`,{class:`mt-2 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Capabilities`,-1),u[3]||=p(`p`,{class:`-mt-3 text-sm text-muted`},[_(` What is on in this process. Each one is a `),p(`code`,null,`config.yaml`),_(` block plus what its environment needs; the commands, dashboard section and Worker of a capability appear together when it is on. `)],-1),p(`ul`,He,[(f(!0),r(v,null,i(e.installation.capabilities,e=>(f(),r(`li`,{key:e.key,class:`capability flex flex-wrap items-baseline gap-x-3 gap-y-0.5 border-b border-muted py-1.5 last:border-0`,"data-capability":e.key,"data-on":String(e.on)},[p(`span`,We,a(e.key),1),p(`span`,{class:s([`state rounded px-1.5 py-0.5 font-mono text-[0.6875rem]`,e.on===!1?`bg-accented text-dimmed`:`bg-ok/15 text-ok`])},a(c(e.on)),3),p(`span`,Ge,a(e.how),1)],8,Ue))),128))])]))}}),qe={class:`grid gap-5`},Je={class:`grid gap-1 text-sm text-muted`},Ye={class:`ml-1 inline-flex flex-wrap gap-x-3 gap-y-1`},Xe={key:0},Ze={key:1},Qe={key:0,class:`text-xs text-dimmed`},$e=[`title`],et={key:0,class:`unavailable rounded-md border border-warn/30 bg-warn/10 px-3 py-2 text-sm`},tt={key:1,class:`overflow-x-auto rounded-lg border border-default bg-elevated`},nt={class:`servers w-full min-w-[60rem] border-collapse text-[0.8125rem]`},rt={key:0},it=[`data-name`,`data-scope`,`data-shadowed-by`],at={class:`px-3 py-2.5 font-mono text-xs font-medium whitespace-nowrap text-highlighted`},ot={class:`px-3 py-2.5 whitespace-nowrap`},st={class:`tier rounded border border-accented px-1.5 py-0.5 font-mono text-[0.6875rem] text-toned`},ct=[`title`],lt=[`title`],ut={class:`px-3 py-2.5`},dt=[`title`],ft={class:`min-w-[11rem] px-3 py-2.5`},pt={class:`agents flex flex-wrap gap-1`},mt=[`data-agent-hue`],ht={class:`px-3 py-2.5 font-mono text-xs whitespace-nowrap`},gt={class:`px-3 py-2.5 whitespace-nowrap`},_t={class:`shadow ml-1 cursor-help rounded border border-dashed border-accented px-1.5 py-0.5 font-mono text-[0.6875rem] text-dimmed`},vt={key:1,class:`probe mt-1 text-xs text-dimmed`},yt=[`title`],bt={class:`block max-w-[8rem] truncate`},xt=[`title`],St={class:`px-3 py-1.5 text-right whitespace-nowrap`},Ct={class:`actions inline-flex items-center justify-end`},wt={class:`slot inline-flex w-[4.5rem] justify-center`},Tt={class:`slot inline-flex w-[4.5rem] justify-center`},Et={class:`slot inline-flex w-[4.5rem] justify-center`},Dt={class:`slot inline-flex w-[4.5rem] justify-center`},Ot={class:`grid gap-x-4 gap-y-3 sm:grid-cols-[5.5rem_minmax(0,1fr)] sm:items-start`},kt={class:`grid gap-1`},At=[`disabled`],jt={class:`text-xs text-dimmed`},Mt={class:`grid gap-1`},Nt=[`disabled`],Pt={class:`flex flex-wrap gap-x-4 gap-y-1.5 pt-1 text-sm`},Ft=[`name`,`checked`,`disabled`,`onChange`],It={class:`flex flex-wrap items-center gap-3`},Lt={key:0,class:`restricted text-xs text-muted`},Rt=[`href`],zt={key:1,class:`watching ml-1 text-xs text-dimmed`},Bt=4e3,Vt=o({__name:`McpServersPanel`,props:{mcps:{},vocabulary:{},viewer:{},asUser:{},fetch:{type:Function}},setup(e){let t=e,o=(e,n)=>(t.fetch??((e,t)=>globalThis.fetch(e,t)))(e,n),u=[`general`,`research`],y=w(()=>t.asUser!==void 0),E=te({name:``,url:``,scope:t.mcps.channel?`channel`:`me`,channel:``,agents:new Set(u),auth:``}),A=S(t.mcps.channel??``),j=w(()=>t.mcps.pickable?.channels??[]),oe=w(()=>[{label:`me — ${y.value?`your own runs, as ${t.asUser.name??t.asUser.id}`:`your own runs from this dashboard`}`,value:`me`},{label:`org — every run; may name coding, review, ship`,value:`org`},{label:`channel — ${t.mcps.channel?H.value:`one channel's runs; pick it below`}`,value:`channel`,disabled:!t.mcps.channel&&j.value.length===0}]),se=[{label:`detect from the server`,value:``},{label:`oauth — sign in on a one-time link`,value:`oauth`},{label:`bearer — paste a token on a one-time link`,value:`bearer`},{label:`none`,value:`none`}],M=S(!1),N=S(null),P=te({}),ce=6e5/Bt,F=S(!1),I,L=()=>{I!==void 0&&clearTimeout(I),I=void 0,F.value=!1};h(L);function R(e,n,r){L(),F.value=!0;let i=0,a=async()=>{i+=1;let s=await re(o,`mcp.list`,t.mcps.allTiers?{all:`true`}:{}),c=(s.ok?s.value.servers??[]:[]).find(t=>t.name===e&&t.scopeKey===n);if(c&&c.state!==r){L(),x.reload();return}if(i>=ce){L();return}I=setTimeout(()=>void a(),Bt)};I=setTimeout(()=>void a(),Bt)}let z=w(()=>E.scope===`org`?t.mcps.canWrite.org:E.scope===`channel`?t.mcps.channel?t.mcps.canWrite.channel:E.channel!==``:!0),le=e=>e.scope===`org`?t.mcps.canWrite.org:e.scope===`channel`?t.mcps.canWrite.channel:e.scopeKey===`user:${t.viewer}`||t.asUser!==void 0&&e.scopeKey===`user:${t.asUser.id}`,ue=e=>e.addedBy===t.viewer||t.asUser!==void 0&&e.addedBy===t.asUser.id,B=e=>e.scope===`user`?e.scopeKey.slice(5):``,V=e=>e.scope===`channel`?e.scopeKey.slice(8):``,H=w(()=>t.mcps.channel?t.mcps.channelName?`#${t.mcps.channelName}`:t.mcps.channel:``),de=e=>ue(e)?`you`:e.addedByName??e.addedBy??``,fe=e=>e.scope===`user`&&e.source===`runtime`&&t.mcps.canWrite.org&&!e.shadowedBy,pe={connected:`connected`,awaiting_credential:`awaiting credential`,static:`pinned in config.yaml`};function U(e){e!==(t.mcps.channel??``)&&x.navigate(e?`/settings/mcps?channel=${encodeURIComponent(e)}`:`/settings/mcps`)}function me(){U(A.value.trim())}function he(e,t){t?E.agents.add(e):E.agents.delete(e)}function W(e){return e===`channel`?{scope:`channel`,channel:E.channel||t.mcps.channel}:{scope:e}}let G=e=>e.scope===`user`?`me`:e.scope;async function ge(){M.value=!0,N.value=null;let e=await D(o,`mcp.add`,{name:E.name.trim(),url:E.url.trim(),...W(E.scope),agents:[...E.agents].join(`,`),...E.auth?{auth:E.auth}:{}});if(M.value=!1,!e.ok){N.value={kind:`error`,text:e.failure.message};return}let t=e.value;N.value=t.connectUrl?{kind:`ok`,text:`Added ${t.server?.name??E.name}. Open the one-time link to connect it (it expires in 10 minutes; only you can complete it).`,connectUrl:t.connectUrl}:{kind:`ok`,text:`Added ${t.server?.name??E.name}.`},t.connectUrl?t.server?.name&&t.server.scopeKey&&R(t.server.name,t.server.scopeKey,t.server.state):x.reload()}async function _e(e){M.value=!0,N.value=null;let t=await D(o,`mcp.connect`,{name:e.name,...W(G(e))});if(M.value=!1,!t.ok){N.value={kind:`error`,text:t.failure.message};return}let n=t.value;N.value={kind:`ok`,text:`A fresh one-time link for ${e.name} (10 minutes; only you can complete it).`,...n.connectUrl?{connectUrl:n.connectUrl}:{}},n.connectUrl&&e.state===`awaiting_credential`&&R(e.name,e.scopeKey,e.state)}async function ve(e){if(!x.confirm(`Remove ${e.name} from the ${e.scope} tier and forget its stored credential?`))return;M.value=!0,N.value=null;let t=await D(o,`mcp.remove`,{name:e.name,...W(G(e))});if(M.value=!1,!t.ok){N.value={kind:`error`,text:t.failure.message};return}x.reload()}async function ye(e){if(!x.confirm(`Promote ${e.name} to the org tier? The org gets its own copy under the same name — ${e.ownerName??B(e)}'s credential is never copied; a bearer or oauth server needs you to connect it. Their personal entry retires once the org copy works.`))return;M.value=!0,N.value=null;let t=await D(o,`mcp.promote`,{name:e.name,from:B(e)});if(M.value=!1,!t.ok){N.value={kind:`error`,text:t.failure.message};return}let n=t.value;N.value=n.connectUrl?{kind:`ok`,text:`${e.name} is now an org server awaiting your credential. Open the one-time link to connect it (10 minutes; only you can complete it).`,connectUrl:n.connectUrl}:{kind:`ok`,text:`${e.name} is now an org server.`},n.connectUrl?R(e.name,`org`,`awaiting_credential`):x.reload()}async function be(e){P[e.name]=`probing…`;let n=await re(o,`mcp.show`,{name:e.name,scope:e.scope===`user`?`me`:e.scope,channel:e.scope===`channel`?t.mcps.channel:void 0});if(!n.ok){P[e.name]=n.failure.message;return}let{probe:r}=n.value;P[e.name]=r?.tools?`${r.tools.length} tool${r.tools.length===1?``:`s`}: ${r.tools.map(e=>e.name).join(`, `)}`:r?.error??`no tools listed`}return(t,o)=>{let h=ee,y=ne;return f(),r(`section`,qe,[p(`div`,Je,[p(`p`,null,[o[11]||=_(` External MCP servers a run's tools may call. `,-1),p(`span`,Ye,[o[9]||=p(`span`,null,[p(`strong`,{class:`text-toned`},`org`),_(` · every run`)],-1),o[10]||=p(`span`,null,[p(`strong`,{class:`text-toned`},`channel`),_(` · that channel's runs`)],-1),e.asUser?(f(),r(`span`,Xe,[o[7]||=p(`strong`,{class:`text-toned`},`me`,-1),_(` · the runs you ask for as `+a(e.asUser.name??e.asUser.id),1)])):(f(),r(`span`,Ze,[...o[8]||=[p(`strong`,{class:`text-toned`},`me`,-1),_(` · added in chat with `,-1),p(`code`,null,`mcp add`,-1)]]))])]),e.mcps.allTiers?(f(),r(`p`,Qe,[...o[12]||=[_(` You see every tier. `,-1),p(`strong`,{class:`font-medium text-muted`},`Promote`,-1),_(` gives the org its own copy of a person's server under the same name, connected by you — their credential is never copied, and their entry retires once the org copy works. `,-1)]])):l(``,!0)]),p(`form`,{class:`flex flex-wrap items-center gap-2 text-sm`,onSubmit:b(me,[`prevent`])},[o[15]||=p(`label`,{class:`text-muted`,for:`mcp-channel`},`Channel`,-1),j.value.length>0?(f(),C(ae,{key:0,id:`mcp-channel`,channels:j.value,"model-value":e.mcps.channel??``,extra:e.mcps.channel,placeholder:`Search channels…`,"aria-label":`channel whose MCP servers to list`,class:`w-72`,"onUpdate:modelValue":U},null,8,[`channels`,`model-value`,`extra`])):(f(),r(v,{key:1},[c(p(`input`,{id:`mcp-channel`,"onUpdate:modelValue":o[0]||=e=>A.value=e,class:s([g(O),`w-56 font-mono text-xs`]),placeholder:`slack:C0123…`,"aria-label":`channel whose MCP servers to list`},null,2),[[m,A.value]]),n(h,{type:`submit`,size:`xs`,color:`neutral`,variant:`outline`},{default:d(()=>[...o[13]||=[_(`Open`,-1)]]),_:1})],64)),e.mcps.channel?(f(),C(h,{key:2,size:`xs`,color:`neutral`,variant:`ghost`,title:`back to the org's and your own`,onClick:o[1]||=e=>U(``)},{default:d(()=>[...o[14]||=[_(`Clear`,-1)]]),_:1})):l(``,!0),p(`span`,{class:`text-xs text-dimmed`,title:e.mcps.channel},a(e.mcps.channel?`Listing the ${H.value} tier beside the rest.`:`Blank: the org's and your own.`),9,$e)],32),e.mcps.unavailable?(f(),r(`p`,et,a(e.mcps.unavailable),1)):(f(),r(`div`,tt,[p(`table`,nt,[o[21]||=p(`thead`,null,[p(`tr`,{class:`text-left font-mono text-[0.6875rem] uppercase tracking-widest text-dimmed`},[p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`Name`),p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`Tier`),p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`URL`),p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`Agents`),p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`Auth`),p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`State`),p(`th`,{class:`px-3 py-2.5 font-medium whitespace-nowrap`},`Added by`),p(`th`,{class:`px-3 py-2.5 font-medium`},[p(`span`,{class:`sr-only`},`Actions`)])])],-1),p(`tbody`,null,[e.mcps.servers.length===0?(f(),r(`tr`,rt,[...o[16]||=[p(`td`,{colspan:`8`,class:`empty px-4 py-6 text-center text-muted`},` No MCP server reaches runs here yet. Add one below. `,-1)]])):l(``,!0),(f(!0),r(v,null,i(e.mcps.servers,e=>(f(),r(`tr`,{key:`${e.scopeKey}/${e.name}`,class:s([`server border-t border-muted align-middle`,e.shadowedBy?`shadowed text-dimmed`:``]),"data-name":e.name,"data-scope":e.scope,"data-shadowed-by":e.shadowedBy},[p(`td`,at,a(e.name),1),p(`td`,ot,[p(`span`,st,a(e.scope),1),B(e)?(f(),r(`span`,{key:0,class:`owner mt-1 block text-[0.6875rem] text-dimmed`,title:B(e)},a(e.ownerName??B(e)),9,ct)):l(``,!0),V(e)?(f(),r(`span`,{key:1,class:`channel mt-1 block text-[0.6875rem] text-dimmed`,title:V(e)},a(e.channelName?`#${e.channelName}`:V(e)),9,lt)):l(``,!0)]),p(`td`,ut,[p(`span`,{class:`block max-w-[11rem] truncate font-mono text-xs text-muted`,title:e.url},a(e.url),9,dt)]),p(`td`,ft,[p(`span`,pt,[(f(!0),r(v,null,i(e.agents,e=>(f(),r(`span`,{key:e,class:s([`agent rounded border px-1.5 font-mono text-[0.68rem] font-medium uppercase tracking-wider`,g(ie)[g(k)(e)]]),"data-agent-hue":g(k)(e)},a(e),11,mt))),128))])]),p(`td`,ht,a(e.auth),1),p(`td`,gt,[p(`span`,{class:s([`state rounded px-1.5 py-0.5 font-mono text-[0.6875rem]`,e.state===`connected`?`bg-ok/15 text-ok`:e.state===`awaiting_credential`?`bg-warn/15 text-warn`:`bg-accented text-muted`])},a(pe[e.state]),3),e.shadowedBy?(f(),C(y,{key:0,text:`The ${e.shadowedBy} tier holds a server of this name, so runs use that one; this entry is idle until it is removed or renamed.`},{default:d(()=>[p(`span`,_t,`shadowed by `+a(e.shadowedBy),1)]),_:2},1032,[`text`])):l(``,!0),P[e.name]?(f(),r(`div`,vt,a(P[e.name]),1)):l(``,!0)]),p(`td`,{class:`addedby px-3 py-2.5 text-xs text-muted`,title:e.addedBy},[p(`span`,bt,a(de(e)),1),e.promotedFrom?(f(),r(`span`,{key:0,class:`block max-w-[8rem] truncate text-[0.6875rem] text-dimmed`,title:e.promotedFrom},`promoted from `+a(e.promotedFromName??e.promotedFrom),9,xt)):l(``,!0)],8,yt),p(`td`,St,[p(`span`,Ct,[p(`span`,wt,[n(h,{size:`xs`,color:`neutral`,variant:`ghost`,disabled:M.value,onClick:t=>be(e)},{default:d(()=>[...o[17]||=[_(`Probe`,-1)]]),_:1},8,[`disabled`,`onClick`])]),p(`span`,Tt,[fe(e)?(f(),C(h,{key:0,size:`xs`,color:`primary`,variant:`ghost`,disabled:M.value,onClick:t=>ye(e)},{default:d(()=>[...o[18]||=[_(`Promote`,-1)]]),_:1},8,[`disabled`,`onClick`])):l(``,!0)]),p(`span`,Et,[e.source===`runtime`&&e.auth!==`none`?(f(),C(h,{key:0,size:`xs`,color:`neutral`,variant:`ghost`,disabled:M.value||!le(e),onClick:t=>_e(e)},{default:d(()=>[...o[19]||=[_(`Connect`,-1)]]),_:1},8,[`disabled`,`onClick`])):l(``,!0)]),p(`span`,Dt,[e.source===`runtime`?(f(),C(h,{key:0,size:`xs`,color:`error`,variant:`ghost`,disabled:M.value||!le(e),onClick:t=>ve(e)},{default:d(()=>[...o[20]||=[_(`Remove`,-1)]]),_:1},8,[`disabled`,`onClick`])):l(``,!0)])])])],10,it))),128))])])])),e.mcps.unavailable?l(``,!0):(f(),r(`form`,{key:2,class:`add grid max-w-3xl gap-4 rounded-lg border border-default bg-elevated px-5 py-4`,onSubmit:b(ge,[`prevent`])},[o[32]||=p(`h2`,{class:`font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Add a server`,-1),p(`div`,Ot,[o[26]||=p(`label`,{class:`text-sm text-muted sm:pt-1`,for:`mcp-name`},`Name`,-1),p(`div`,kt,[c(p(`input`,{id:`mcp-name`,"onUpdate:modelValue":o[2]||=e=>E.name=e,class:s([g(O),`font-mono text-xs sm:max-w-xs`]),required:``,pattern:`[a-z0-9][a-z0-9-]{0,31}`,placeholder:`notion`,disabled:!z.value},null,10,At),[[m,E.name]]),p(`span`,jt,[o[22]||=_(`A slug; its tools appear as `,-1),p(`code`,null,`mcp__`+a(E.name.trim()||`name`)+`__…`,1)])]),o[27]||=p(`label`,{class:`text-sm text-muted sm:pt-1`,for:`mcp-url`},`URL`,-1),p(`div`,Mt,[c(p(`input`,{id:`mcp-url`,"onUpdate:modelValue":o[3]||=e=>E.url=e,class:s([g(O),`font-mono text-xs`]),type:`url`,required:``,placeholder:`https://mcp.example.com/mcp`,disabled:!z.value},null,10,Nt),[[m,E.url]]),o[23]||=p(`span`,{class:`text-xs text-dimmed`},`The server's Streamable-HTTP endpoint.`,-1)]),o[28]||=p(`label`,{class:`text-sm text-muted sm:pt-1`,for:`mcp-scope`},`Tier`,-1),n(T,{id:`mcp-scope`,modelValue:E.scope,"onUpdate:modelValue":o[4]||=e=>E.scope=e,items:oe.value,class:`sm:max-w-md`},null,8,[`modelValue`,`items`]),E.scope===`channel`&&!e.mcps.channel?(f(),r(v,{key:0},[o[24]||=p(`span`,{class:`text-sm text-muted sm:pt-1`},`Channel`,-1),n(ae,{id:`mcp-add-channel`,modelValue:E.channel,"onUpdate:modelValue":o[5]||=e=>E.channel=e,channels:j.value,placeholder:`Search channels…`,"aria-label":`channel the server belongs to`,class:`sm:max-w-md`},null,8,[`modelValue`,`channels`])],64)):l(``,!0),o[29]||=p(`span`,{class:`text-sm text-muted sm:pt-1`},`Agents`,-1),p(`div`,Pt,[(f(!0),r(v,null,i(e.vocabulary.agents,e=>(f(),r(`label`,{key:e,class:`inline-flex items-center gap-1.5 font-mono text-xs`},[p(`input`,{type:`checkbox`,name:`agent-${e}`,checked:E.agents.has(e),disabled:!z.value||E.scope===`channel`&&!u.includes(e),onChange:t=>he(e,t.target.checked)},null,40,Ft),_(` `+a(e),1)]))),128))]),o[30]||=p(`label`,{class:`text-sm text-muted sm:pt-1`,for:`mcp-auth`},`Auth`,-1),n(T,{id:`mcp-auth`,modelValue:E.auth,"onUpdate:modelValue":o[6]||=e=>E.auth=e,items:se,class:`sm:max-w-md`,disabled:!z.value},null,8,[`modelValue`,`disabled`]),o[31]||=p(`span`,{class:`hidden sm:block`},null,-1),p(`div`,It,[n(h,{type:`submit`,size:`sm`,color:`neutral`,disabled:!z.value||M.value},{default:d(()=>[...o[25]||=[_(`Add`,-1)]]),_:1},8,[`disabled`]),z.value?l(``,!0):(f(),r(`span`,Lt,a(E.scope===`org`?`Org-wide servers are managed by admins (repo-management rights).`:`This channel's servers need channel-config rights.`),1))])]),N.value?(f(),r(`p`,{key:0,class:s([`notice rounded-md px-3 py-2 text-sm`,N.value.kind===`error`?`border border-err/30 bg-err/10`:`border border-ok/30 bg-ok/10`])},[_(a(N.value.text)+` `,1),N.value.connectUrl?(f(),r(`a`,{key:0,class:`connect ml-1 font-mono text-xs underline`,href:N.value.connectUrl,target:`_blank`,rel:`noopener`},a(N.value.connectUrl),9,Rt)):l(``,!0),F.value?(f(),r(`span`,zt,`— this page refreshes itself when the link is used.`)):l(``,!0)],2)):l(``,!0)],32))])}}}),Ht=[{id:`mcps`,href:`/settings/mcps`,label:`MCPs`,on:e=>e.mcp},{id:`channels`,href:`/settings/channels`,label:`Channels`},{id:`installation`,href:`/settings/installation`,label:`Installation`}];function Ut(e,t){return Ht.filter(n=>n.id===t||n.on===void 0||e!==null&&n.on(e))}var Wt={class:`tabs mb-3.5 flex gap-5 border-b border-muted px-2 text-[0.8rem]`,"aria-label":`Settings sections`},Gt=o({__name:`SettingsTabs`,props:{current:{}},setup(t){let n=t,o=e(),s=w(()=>Ut(o,n.current));return(e,n)=>{let o=u(`RouterLink`);return f(),r(`nav`,Wt,[(f(!0),r(v,null,i(s.value,e=>(f(),C(o,{key:e.id,to:e.href,"aria-current":e.id===t.current?`page`:void 0,class:`-mb-px border-b border-transparent pb-2 pt-1.5 text-muted no-underline hover:text-highlighted aria-[current=page]:border-(--ui-text-highlighted) aria-[current=page]:font-medium aria-[current=page]:text-highlighted`},{default:d(()=>[_(a(e.label),1)]),_:2},1032,[`to`,`aria-current`]))),128))])}}}),Kt={class:`error mx-auto my-8 max-w-lg rounded-lg border border-err/30 bg-err/10 px-5 py-4 text-sm`,role:`alert`},qt=o({__name:`SettingsPage`,setup(e){let r=y(`settings`),i=w(()=>r?.tab??`channels`);return(e,a)=>{let o=ee;return g(r)?(f(),C(t,{key:0,title:`Settings`,nav:`settings`},{default:d(()=>[n(Gt,{current:i.value},null,8,[`current`]),i.value===`mcps`&&g(r).mcps?(f(),C(Vt,{key:0,mcps:g(r).mcps,vocabulary:g(r).vocabulary,viewer:g(r).viewer,"as-user":g(r).asUser},null,8,[`mcps`,`vocabulary`,`viewer`,`as-user`])):i.value===`channels`&&g(r).channels?(f(),C(K,{key:1,channels:g(r).channels,vocabulary:g(r).vocabulary},null,8,[`channels`,`vocabulary`])):i.value===`installation`&&g(r).installation?(f(),C(Ke,{key:2,installation:g(r).installation},null,8,[`installation`])):l(``,!0)]),_:1})):(f(),C(t,{key:1,title:`Settings`,nav:`settings`},{default:d(()=>[p(`div`,Kt,[a[2]||=p(`p`,{class:`font-medium text-highlighted`},`Settings could not be loaded.`,-1),a[3]||=p(`p`,{class:`mt-1 text-muted`},` The page arrived without its data. Reload to try again; if it keeps happening, the bot's log has the reason. `,-1),n(o,{class:`mt-3`,size:`xs`,color:`neutral`,variant:`outline`,onClick:a[0]||=e=>g(x).reload()},{default:d(()=>[...a[1]||=[_(`Reload`,-1)]]),_:1})])]),_:1}))}}});export{qt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Cn as e,Mn as t,Pi as n,Xr as r,_r as i,bn as a,xn as o}from"./browser-B6T5hjfR.js";import{t as s}from"./Tooltip-_LEjptLV.js";var c=[`aria-label`,`data-tone`],l=[`aria-label`,`data-tone`],u=t({__name:`StatusDot`,props:{tone:{},label:{},tip:{},pulse:{type:Boolean}},setup(t){let u={green:`bg-ok`,amber:`bg-warn`,red:`bg-bad`,grey:`bg-(--ui-text-dimmed)`};return(d,f)=>{let p=s;return t.tip?(i(),o(p,{key:0,text:t.tip},{default:r(()=>[a(`span`,{class:n([`inline-block size-[0.6em] shrink-0 rounded-full`,[u[t.tone],t.pulse?`motion-safe:animate-pulse`:``]]),role:`img`,"aria-label":t.label,"data-tone":t.tone},null,10,c)]),_:1},8,[`text`])):(i(),e(`span`,{key:1,class:n([`inline-block size-[0.6em] shrink-0 rounded-full`,[u[t.tone],t.pulse?`motion-safe:animate-pulse`:``]]),role:`img`,"aria-label":t.label,"data-tone":t.tone},null,10,l))}}});export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,T as t,_ as n,g as r,h as i,k as a,m as o,s}from"./AppShell-DAtHiuI6.js";import{An as c,Br as l,Cn as u,Cr as d,Ct as f,D as p,Di as m,Dr as h,Et as g,Fi as _,Gr as v,Hn as y,I as b,K as x,Kr as S,L as C,Li as w,Mn as T,Ot as ee,Pi as E,Pr as D,R as te,S as ne,Sn as O,T as k,Xr as A,_r as j,_t as M,b as N,dr as P,gt as re,ji as F,kn as ie,ln as ae,m as oe,nt as I,rn as L,rr as R,rt as z,ut as B,w as V,wr as H,wt as U,x as W,xi as G,xn as K,yn as q,z as J}from"./browser-B6T5hjfR.js";import{S as Y}from"./main-DUfSE0dj.js";function se(e,t){let n=U(!1,300);g(()=>{n.value=!1});let r=G(null),i=M();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=le(a,ce(a,i.getBoundingClientRect()),1),s=ue(t.getBoundingClientRect()),c=fe([...o,...s]);r.value=c,n.value=!0}return S(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),S(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!de(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function ce(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function le(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function ue(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function de(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function fe(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),pe(t)}function pe(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var me=T({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return J(),(e,n)=>(j(),K(F(o),_(y(t)),{default:A(()=>[H(e.$slots,`default`)]),_:3},16))}}),X=`tooltip.open`,[Z,Q]=x(`TooltipRoot`),he=T({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let r=e,i=t;J();let a=Y(),o=q(()=>r.disableHoverableContent??a.disableHoverableContent.value),s=q(()=>r.disableClosingTrigger??a.disableClosingTrigger.value),c=q(()=>r.disabled??a.disabled.value),l=q(()=>r.delayDuration??a.delayDuration.value),u=q(()=>r.ignoreNonKeyboardFocus??a.ignoreNonKeyboardFocus.value),d=re(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});v(d,e=>{a.onClose&&(e?(a.onOpen(),document.dispatchEvent(new CustomEvent(X))):a.onClose())});let f=G(!1),p=G(),m=q(()=>d.value?f.value?`delayed-open`:`instant-open`:`closed`),{start:h,stop:g}=ee(()=>{f.value=!0,d.value=!0},l,{immediate:!1});function _(){g(),f.value=!1,d.value=!0}function y(){g(),d.value=!1}function b(){h()}return Q({contentId:``,open:d,stateAttribute:m,trigger:p,onTriggerChange(e){p.value=e},onTriggerEnter(){a.isOpenDelayed.value?b():_()},onTriggerLeave(){o.value?y():g()},onOpen:_,onClose:y,disableHoverableContent:o,disableClosingTrigger:s,disabled:c,ignoreNonKeyboardFocus:u}),(e,t)=>(j(),K(F(n),null,{default:A(()=>[H(e.$slots,`default`,{open:F(d)})]),_:3}))}}),$=T({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,a=n,o=Z(),s=Y(),{forwardRef:l,currentElement:u}=J(),d=q(()=>r.ariaLabel||u.value?.textContent),f=q(()=>{let{ariaLabel:e,...t}=r;return I(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return P(()=>{B(window,`scroll`,e=>{e.target?.contains(o.trigger.value)&&o.onClose()},{capture:!0}),B(document,X,o.onClose)}),(e,n)=>(j(),K(F(t),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{F(o).disableClosingTrigger.value&&F(o).trigger.value?.contains(e.target)&&e.preventDefault(),a(`pointerDownOutside`,e)},onFocusOutside:n[2]||=L(()=>{},[`prevent`]),onDismiss:n[3]||=e=>F(o).onClose()},{default:A(()=>[c(F(i),R({ref:F(l),"data-state":F(o).stateAttribute.value},{...e.$attrs,...f.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:A(()=>[H(e.$slots,`default`),c(F(k),{id:F(o).contentId,role:`tooltip`},{default:A(()=>[ie(w(d.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),ge=T({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=te(e),{forwardRef:n,currentElement:r}=J(),{trigger:i,onClose:a}=Z(),o=Y(),{isPointerInTransit:s,onPointerExit:c}=se(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(j(),K($,R({ref:F(n)},F(t)),{default:A(()=>[H(e.$slots,`default`)]),_:3},16))}}),_e=T({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),o=a(n,r),{forwardRef:s}=J();return(e,t)=>(j(),K(F(C),{present:e.forceMount||F(i).open.value},{default:A(()=>[(j(),K(h(F(i).disableHoverableContent.value?$:ge),R({ref:F(s)},F(o)),{default:A(()=>[H(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ve=T({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(j(),K(F(p),_(y(t)),{default:A(()=>[H(e.$slots,`default`)]),_:3},16))}}),ye=T({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,i=Z(),a=Y();i.contentId||=e(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=J(),l=G(!1),u=G(!1),d=q(()=>i.disabled.value?{}:{click:v,focus:g,pointermove:m,pointerleave:h,pointerdown:p,blur:_});P(()=>{i.onTriggerChange(s.value)});function f(){setTimeout(()=>{l.value=!1},1)}function p(){i.open&&!i.disableClosingTrigger.value&&i.onClose(),l.value=!0,document.addEventListener(`pointerup`,f,{once:!0})}function m(e){e.pointerType!==`touch`&&!u.value&&!a.isPointerInTransitRef.value&&(i.onTriggerEnter(),u.value=!0)}function h(){i.onTriggerLeave(),u.value=!1}function g(e){l.value||(!i.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&i.onOpen()}function _(){i.onClose()}function v(){i.disableClosingTrigger.value||i.onClose()}return(e,t)=>(j(),K(F(r),{"as-child":``,reference:e.reference},{default:A(()=>[c(F(b),R({ref:F(o),"aria-describedby":F(i).open.value?F(i).contentId:void 0,"data-state":F(i).stateAttribute.value,as:e.as,"as-child":n.asChild,"data-grace-area-trigger":``},D(d.value)),{default:A(()=>[H(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),be={slots:{content:`flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto`,arrow:`fill-bg stroke-default`,text:`truncate`,kbds:`hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5`,kbdsSize:`sm`}},xe={__name:`Tooltip`,props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=l(),a=ne(`tooltip`,n),o=z(),p=Y(),h=W(f(a,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),r),g=V(m(()=>a.portal)),v=m(()=>I(a.content,p.content.value,{side:`bottom`,sideOffset:8,collisionPadding:8})),b=m(()=>I(a.arrow,{rounded:!0})),x=q(()=>N({extend:be,...o.ui?.tooltip||{}})({side:v.value.side}));return(e,t)=>(j(),K(F(he),R(F(h),{disabled:!(F(a).text||F(a).kbds?.length||i.content)||F(a).disabled}),{default:A(({open:t})=>[i.default||F(a).reference?(j(),K(F(ye),R({key:0},e.$attrs,{"as-child":``,reference:F(a).reference,class:F(a).class}),{default:A(()=>[H(e.$slots,`default`,{open:t})]),_:2},1040,[`reference`,`class`])):O(``,!0),c(F(ve),_(y(F(g))),{default:A(()=>[c(F(oe),null,{default:A(()=>[c(F(_e),R(v.value,{"data-slot":`content`,class:x.value.content({class:[!i.default&&F(a).class,F(a).ui?.content]})}),{default:A(()=>[H(e.$slots,`content`,{ui:x.value},()=>[F(a).text?(j(),u(`span`,{key:0,"data-slot":`text`,class:E(x.value.text({class:F(a).ui?.text}))},w(F(a).text),3)):O(``,!0),F(a).kbds?.length?(j(),u(`span`,{key:1,"data-slot":`kbds`,class:E(x.value.kbds({class:F(a).ui?.kbds}))},[(j(!0),u(ae,null,d(F(a).kbds,(e,t)=>(j(),K(s,R({key:t,size:F(a).ui?.kbdsSize||x.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):O(``,!0)]),F(a).arrow?(j(),K(F(me),R({key:0},b.value,{"data-slot":`arrow`,class:x.value.arrow({class:F(a).ui?.arrow})}),null,16,[`class`])):O(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`disabled`]))}};export{xe as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./AppShell-DAtHiuI6.js";import{An as t,Cn as n,Cr as r,Li as i,Mn as a,Pi as o,Qr as s,Sn as c,Tr as l,Xr as u,Zn as d,_r as f,bn as p,dr as m,en as h,ir as g,ji as _,kn as v,l as y,ln as b,o as x,r as S,rn as C,xi as w,xn as T,yi as E,yn as D}from"./browser-B6T5hjfR.js";import{t as O}from"./SettingSelect-BIzAsLk1.js";import{t as k}from"./wallClock-DmaC1sKA.js";import{t as A}from"./indexFormat-B-pd4r7Y.js";import{i as ee}from"./format-BldUwl_R.js";import{i as j}from"./durationTone-U_rOqo6r.js";import{S as M,b as N,x as te}from"./sseReplay-DXC7kGbN.js";import{t as P}from"./NotFoundPage-DtE-GgTk.js";import{o as F,t as I}from"./RunFoldRow-V-iSy64e.js";var L=[`open`,`awaiting re-review`,`fixed`,`conceded`,`re-raised`,`not re-raised`,`unknown id`],R={id:`findings`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},z={class:`mb-2 flex flex-wrap items-baseline gap-x-2.5 gap-y-1 font-mono text-xs font-medium uppercase tracking-wider text-muted`},B={class:`count font-normal normal-case tracking-normal text-dimmed`},V=[`href`],H={key:0,class:`tally mb-2 font-mono text-[0.72rem] text-dimmed`},U={class:`m-0 list-none p-0`},W=[`data-finding-id`,`data-status`],G={class:`fid shrink-0 rounded border border-accented px-1.5 font-mono text-[0.72rem] font-medium text-toned`},K={key:1,class:`where shrink-0 font-mono text-xs text-toned`},q={key:2,class:`title min-w-0 flex-1 text-sm text-highlighted`},J={class:`trail flex basis-full flex-wrap items-baseline gap-x-1.5 font-mono text-[0.72rem] text-dimmed`},Y={key:0,"aria-hidden":`true`},X=[`href`,`data-run-id`,`onClick`],Z={key:3,class:`note basis-full text-sm text-toned`},Q={key:0,class:`empty py-1.5 text-sm text-muted`},ne=a({__name:`FindingsBlock`,props:{ledger:{},runs:{}},emits:[`open`],setup(e,{emit:a}){let s=e,d=a,m={open:`border-warn/30 text-warn`,"awaiting re-review":`border-accented text-toned`,fixed:`border-ok/30 text-ok`,conceded:`border-ok/30 text-ok`,"re-raised":`border-warn/30 text-warn`,"not re-raised":`border-accented text-muted`,"unknown id":`border-accented text-muted`},h={blocking:`text-bad`,major:`text-warn`,minor:`text-toned`,nit:`text-muted`},g=D(()=>s.ledger.findings),_=D(()=>{let e=new Map;for(let t of g.value)e.set(t.status,(e.get(t.status)??0)+1);return L.filter(t=>e.has(t)).map(t=>`${e.get(t)} ${t}`).join(` · `)}),y=D(()=>new Map(s.runs.map(e=>[e.id,e])));function x(e){return e.status===`re-raised`&&e.reRaisedAfter?`re-raised after ${e.reRaisedAfter}`:e.status}function S(e){if(e.file!==void 0)return e.line===void 0?e.file:`${e.file}:${e.line}`}function w(e){let t=[],n=(e,n)=>{if(!e||t.some(t=>t.runId===e.runId))return;let r=y.value.get(e.runId),i=r&&r.round!==void 0&&r.thread?`round ${r.round} · ${r.thread}`:e.round===void 0?e.runId:`round ${e.round}`;t.push({runId:e.runId,what:n,label:i,onPage:r!==void 0})};return n(e.raised,`raised`),n(e.disposition,e.disposition?.kind??``),n(e.lastSeen,e.status===`re-raised`?`re-raised`:`seen`),t}function E(e){d(`open`,e.runId)}return(a,s)=>{let d=l(`RouterLink`);return f(),n(`section`,R,[p(`h2`,z,[s[0]||=p(`span`,null,`Findings`,-1),p(`span`,B,`· `+i(g.value.length)+` finding`+i(g.value.length===1?``:`s`)+` — what each review raised, what the coding run recorded against it, whether the next review agreed`,1),p(`a`,{class:`prlink ml-auto whitespace-nowrap font-normal normal-case tracking-normal text-primary no-underline hover:underline`,href:e.ledger.pr.url??`https://github.com/${e.ledger.repo}/pull/${e.ledger.pr.number}`,target:`_blank`,rel:`noopener noreferrer`},[t(F,{class:`mr-1 align-[-0.125em]`}),v(i(e.ledger.repo)+`#`+i(e.ledger.pr.number),1)],8,V)]),_.value?(f(),n(`p`,H,i(_.value),1)):c(``,!0),p(`ol`,U,[(f(!0),n(b,null,r(g.value,e=>(f(),n(`li`,{key:e.id,class:`finding flex flex-wrap items-baseline gap-x-2.5 gap-y-0.5 border-t border-default py-1.5 first:border-t-0`,"data-finding-id":e.id,"data-status":e.status},[p(`span`,G,i(e.id),1),e.severity?(f(),n(`span`,{key:0,class:o([`severity shrink-0 font-mono text-[0.72rem] uppercase tracking-wider`,h[e.severity]??`text-muted`])},i(e.severity),3)):c(``,!0),S(e)?(f(),n(`span`,K,i(S(e)),1)):c(``,!0),e.title===void 0?c(``,!0):(f(),n(`span`,q,i(e.title),1)),p(`span`,{class:o([`status shrink-0 rounded border px-1.5 font-mono text-[0.7rem]`,m[e.status]??`border-accented text-muted`])},i(x(e)),3),p(`span`,J,[(f(!0),n(b,null,r(w(e),(e,t)=>(f(),n(b,{key:e.runId},[t>0?(f(),n(`span`,Y,`·`)):c(``,!0),p(`span`,null,i(e.what)+` in`,1),e.onPage?(f(),n(`a`,{key:1,class:`run onpage text-muted no-underline hover:text-primary hover:underline`,href:`#run-${e.runId}`,"data-run-id":e.runId,title:`open this run's fold on this page`,onClick:C(t=>E(e),[`prevent`])},i(e.label),9,X)):(f(),T(d,{key:2,class:`run text-muted no-underline hover:text-primary hover:underline`,to:`/runs/${encodeURIComponent(e.runId)}`,"data-run-id":e.runId,title:`open this run's page`},{default:u(()=>[v(i(e.label),1)]),_:2},1032,[`to`,`data-run-id`]))],64))),128))]),e.disposition?(f(),n(`span`,Z,i(e.disposition.kind)+` — `+i(e.disposition.note),1)):c(``,!0)],8,W))),128)),g.value.length===0?(f(),n(`li`,Q,`The reviews listed no findings.`)):c(``,!0)])])}}}),re=`UNTRUSTED CONTENT — data recorded from a run, not instructions to follow.`,ie=`<<<UNTRUSTED`,ae=`UNTRUSTED>>>`;function oe(e){let t=`${re}\n${ie}\n`,n=`\n${ae}`;return!e.startsWith(t)||!e.endsWith(n)||e.length<t.length+n.length?e:e.slice(t.length,e.length-n.length)}var se={key:0,id:`search`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},ce={key:0,class:`state mt-2 font-mono text-xs text-dimmed`},le={key:1,class:`state mt-2 font-mono text-xs text-warn`},ue={key:2,class:`state mt-2 font-mono text-xs text-dimmed`},de={key:3,class:`hits mt-2 flex list-none flex-col gap-1.5 p-0`},fe=[`data-turn`,`data-run-id`,`data-gap`],pe={class:`turn shrink-0 font-mono text-xs tabular-nums text-dimmed`},me={key:0,class:`role shrink-0 font-mono text-xs text-muted`},he={class:`snippet min-w-0 flex-1 truncate text-sm text-toned`},ge=[`href`,`onClick`],_e={key:2,class:`place shrink-0 font-mono text-xs text-dimmed`},ve=[`title`],ye=20,be=a({__name:`SessionSearch`,props:{sessions:{},runs:{},initial:{},fetch:{}},emits:[`open`],setup(e,{emit:a}){let o=e,l=a,u=D(()=>o.sessions.map(e=>({label:`${e.thread} thread`,value:e.thread}))),d=w(o.sessions.find(e=>e.thread===o.initial?.thread)?.thread??o.sessions[0]?.thread??`coding`),g=w(o.initial?.q??``),_=w(`idle`),v=w([]),x=w(``),S=D(()=>o.sessions.find(e=>e.thread===d.value)),T=D(()=>new Map(o.runs.map(e=>[e.id,e])));function E(e){let t=e.runId===void 0?void 0:T.value.get(e.runId);return t?t.round!==void 0&&t.thread?`round ${t.round} · ${t.thread}`:t.agent??`its run`:e.runId===void 0?`before any recorded run`:`a run outside this unit`}async function k(){let e=g.value.trim(),t=S.value?.key;if(!t||e===``)return;_.value=`searching`;let n=o.fetch??((...e)=>globalThis.fetch(...e));try{let r=await n(`/api/runs.search?${`session=${encodeURIComponent(t)}&query=${encodeURIComponent(e)}&limit=${ye}`}`,{credentials:`same-origin`});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json();v.value=(i.hits??[]).map(e=>({...e,snippet:oe(String(e.snippet??``))})),x.value=e,_.value=`done`}catch{v.value=[],_.value=`failed`}}return m(()=>{o.initial?.q&&S.value&&k()}),(a,o)=>{let m=y;return e.sessions.length>0?(f(),n(`section`,se,[o[2]||=p(`h2`,{class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},[p(`span`,null,`Search the conversation`),p(`span`,{class:`font-normal normal-case tracking-normal text-dimmed`},`· one thread's log at a time`)],-1),p(`form`,{class:`flex flex-wrap items-center gap-2`,onSubmit:C(k,[`prevent`])},[t(O,{id:`search-session`,modelValue:d.value,"onUpdate:modelValue":o[0]||=e=>d.value=e,items:u.value,class:`session`,"aria-label":`which thread's log to search`},null,8,[`modelValue`,`items`]),s(p(`input`,{id:`search-words`,"onUpdate:modelValue":o[1]||=e=>g.value=e,type:`search`,class:`words min-w-0 flex-1 rounded border border-accented bg-default px-2 py-1 text-sm text-highlighted placeholder:text-dimmed`,placeholder:`words the conversation used — a file, an error, a decision`,"aria-label":`words to search for`},null,512),[[h,g.value]]),t(m,{type:`submit`,size:`xs`,color:`neutral`,variant:`outline`,label:`Search`,disabled:_.value===`searching`},null,8,[`disabled`])],32),_.value===`searching`?(f(),n(`p`,ce,`searching…`)):_.value===`failed`?(f(),n(`p`,le,`the search could not be run`)):_.value===`done`&&v.value.length===0?(f(),n(`p`,ue,` nothing in the `+i(d.value)+` thread's log says “`+i(x.value)+`” `,1)):_.value===`done`?(f(),n(`ol`,de,[(f(!0),n(b,null,r(v.value,e=>(f(),n(`li`,{key:`${e.turn}-${e.runId??``}`,class:`hit flex flex-wrap items-baseline gap-x-2 gap-y-0.5 border-t border-default pt-1.5 first:border-t-0 first:pt-0`,"data-turn":e.turn,"data-run-id":e.runId,"data-gap":e.gap},[p(`span`,pe,`turn `+i(e.turn),1),e.role?(f(),n(`span`,me,i(e.role),1)):c(``,!0),p(`span`,he,i(e.snippet),1),e.runId&&T.value.has(e.runId)?(f(),n(`a`,{key:1,class:`place shrink-0 font-mono text-xs text-primary no-underline hover:underline`,href:`#run-${e.runId}`,title:`open this run's fold at the step this turn lives in`,onClick:C(t=>l(`open`,e.runId,e.turn),[`prevent`])},i(E(e))+` ↓`,9,ge)):(f(),n(`span`,_e,i(E(e)),1)),e.gap===void 0?c(``,!0):(f(),n(`span`,{key:3,class:`gap basis-full font-mono text-xs text-warn`,title:`the log before turn ${e.gap} was folded into a summary; this turn is after it`},`past a compaction gap at turn `+i(e.gap),9,ve))],8,fe))),128))])):c(``,!0)])):c(``,!0)}}}),xe={key:0,id:`standing`,class:`flex items-center gap-2 font-mono`},Se=[`title`],Ce={key:0,class:`mx-auto max-w-6xl`},we={id:`unitmeta`,class:`facts mb-3 flex flex-wrap items-baseline gap-x-3 gap-y-1.5 px-(--sb-gutter) font-mono text-xs text-dimmed`},Te={class:`unit text-[0.68rem] font-medium uppercase tracking-wider text-toned`},Ee=[`href`],De={key:1,class:`repo`},Oe=[`href`],ke={key:3,class:`reftag rounded border border-accented px-1.5 text-[0.75rem] text-toned`},Ae=[`href`],je=[`href`],Me={class:`thread flex items-center gap-1.5`,"data-thread":`coding`},Ne=[`href`],Pe=[`title`],Fe={key:2,class:`text-dimmed`},Ie={class:`thread flex items-center gap-1.5`,"data-thread":`review`},Le=[`href`],Re=[`title`],ze={key:2,class:`text-dimmed`},Be={class:`rounds tabular-nums`},Ve={id:`contract`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},$={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},He={class:`plan font-normal normal-case tracking-normal text-dimmed`},Ue={class:`font-mono`},We={key:0,class:`title text-sm text-highlighted`},Ge={key:1,class:`title text-sm text-muted`},Ke={key:2,class:`report mt-2 whitespace-pre-wrap break-words text-sm text-toned`},qe={id:`rounds`,class:`mb-1 flex items-baseline gap-2.5 px-(--sb-gutter) font-mono text-xs font-medium uppercase tracking-wider text-muted`},Je={class:`count font-normal normal-case tracking-normal text-dimmed`},Ye={id:`unitruns`,class:`m-0 list-none border-t border-muted p-0`},Xe={key:0,id:`empty`,class:`empty px-2 py-2 text-sm text-muted`},Ze=a({__name:`UnitPage`,setup(a){let s=x(`unit`),d=s?.view,m=k(s?.now),h=typeof window<`u`?new URLSearchParams(window.location.search):new URLSearchParams,y=E(new Set((h.get(`open`)??``).split(`,`).map(e=>e.trim()).filter(Boolean))),S=E(new Map),C=h.get(`turn`);C!==null&&/^\d+$/.test(C)&&y.size===1&&S.set([...y][0],Number(C));let w={thread:h.get(`session`)??void 0,q:h.get(`q`)??void 0},O=D(()=>d?`Unit ${d.id}`:`Unit`),P=D(()=>te(d?.instance.repo)),L=D(()=>M(d?.instance.repo,d?.branch)),R=D(()=>d?.pr?N(d.instance.repo,d.pr.number)??void 0:void 0),z=D(()=>d?.issue!==void 0&&P.value?`${P.value}/issues/${d.issue}`:void 0),B=e=>e&&/^https?:\/\//.test(e)?e:void 0,V=D(()=>B(d?.sourceUrls.coding)),H=D(()=>B(d?.sourceUrls.review)),U=D(()=>d?.instance.runId===void 0?void 0:`/runs/${encodeURIComponent(d.instance.runId)}`),W=D(()=>{if(!d)return{cls:`grey`,text:``};if(d.ending)return{cls:d.ending.kind===`merged`||d.ending.kind===`merge_ready`||d.ending.kind===`done`?`ok`:`grey`,text:d.ending.kind,at:d.ending.at};let e=d.runs.find(e=>!e.finished);if(e)return{cls:`live`,text:`round ${e.round} · ${e.thread} running`};let t=d.runs.at(-1);return t?{cls:`grey`,text:`round ${t.round} · ${t.thread} ended`}:{cls:`grey`,text:`not started`}}),G={ok:`border-ok/30 text-ok`,live:`border-ok/30 text-ok motion-safe:animate-pulse`,grey:`border-accented text-muted`},K=D(()=>new Set(d?.rounds.map(e=>e.index)??[]).size),q=D(()=>{if(!d)return[];let e=[],t=(t,n)=>{if(n===void 0)return;let r=d.runs.find(e=>e.thread===t&&e.session?.key!==void 0)?.session?.key;e.push({thread:t,key:r??`${n}:${t}`})};return t(`coding`,d.threads.coding),t(`review`,d.threads.review),e});function J(e,t){t!==void 0&&S.set(e,t),y.add(e),g().then(()=>{let t=document.getElementById(`run-${e}`);t?.scrollIntoView?.({block:`center`}),t?.classList.add(`revealed`),setTimeout(()=>t?.classList.remove(`revealed`),1500)})}function Y(e){return typeof e==`number`?A(e,m.value):``}function X(e){return typeof e==`number`?ee(e):void 0}return(a,s)=>{let h=l(`RouterLink`);return f(),T(e,{title:O.value,nav:`runs`},{leading:u(()=>[t(h,{class:`back text-sm text-primary no-underline hover:underline`,to:`/runs`},{default:u(()=>[...s[0]||=[v(`← All runs`,-1)]]),_:1})]),status:u(()=>[_(d)?(f(),n(`span`,xe,[p(`span`,{class:o([`chip rounded border px-1.5 text-[0.7rem]`,G[W.value.cls]])},i(W.value.text),3),W.value.at===void 0?c(``,!0):(f(),n(`span`,{key:0,class:`text-xs text-muted`,title:X(W.value.at)},i(Y(W.value.at)),9,Se))])):c(``,!0)]),default:u(()=>[_(d)?(f(),n(`div`,Ce,[p(`div`,we,[p(`span`,Te,`unit `+i(_(d).id),1),P.value?(f(),n(`a`,{key:0,class:`repo text-primary no-underline hover:underline`,href:P.value,target:`_blank`,rel:`noopener noreferrer`},i(_(d).instance.repo),9,Ee)):(f(),n(`span`,De,i(_(d).instance.repo),1)),L.value?(f(),n(`a`,{key:2,class:`reftag rounded border border-accented px-1.5 text-[0.75rem] text-toned no-underline hover:border-primary hover:text-primary`,href:L.value,target:`_blank`,rel:`noopener noreferrer`,title:`the unit's branch on GitHub`},i(_(d).branch),9,Oe)):(f(),n(`span`,ke,i(_(d).branch),1)),_(d).pr&&R.value?(f(),n(`a`,{key:4,class:`prlink whitespace-nowrap text-primary no-underline hover:underline`,href:R.value,target:`_blank`,rel:`noopener noreferrer`},[t(F,{class:`mr-1 align-[-0.125em]`}),v(`#`+i(_(d).pr.number),1)],8,Ae)):c(``,!0),_(d).issue!==void 0&&z.value?(f(),n(`a`,{key:5,class:`issue whitespace-nowrap text-muted no-underline hover:text-primary hover:underline`,href:z.value,target:`_blank`,rel:`noopener noreferrer`,title:`the unit's board issue`},`issue #`+i(_(d).issue),9,je)):c(``,!0),p(`span`,Me,[t(j),V.value?(f(),n(`a`,{key:0,class:`text-muted no-underline hover:text-primary hover:underline`,href:V.value,target:`_blank`,rel:`noopener noreferrer`,title:`open the coding thread`},`coding thread`,8,Ne)):_(d).threads.coding?(f(),n(`span`,{key:1,class:`text-muted`,title:_(d).threads.coding},`coding thread`,8,Pe)):(f(),n(`span`,Fe,`coding thread not opened yet`))]),p(`span`,Ie,[t(j),H.value?(f(),n(`a`,{key:0,class:`text-muted no-underline hover:text-primary hover:underline`,href:H.value,target:`_blank`,rel:`noopener noreferrer`,title:`open the review thread`},`review thread`,8,Le)):_(d).threads.review?(f(),n(`span`,{key:1,class:`text-muted`,title:_(d).threads.review},`review thread`,8,Re)):(f(),n(`span`,ze,`review thread not opened yet`))]),p(`span`,Be,i(K.value)+` round`+i(K.value===1?``:`s`),1)]),p(`section`,Ve,[p(`h2`,$,[p(`span`,null,`Unit `+i(_(d).id),1),p(`span`,He,[_(d).instance.plan?(f(),n(b,{key:0},[s[1]||=v(` of plan `,-1),p(`span`,Ue,i(_(d).instance.plan.id),1),_(d).instance.attempt===void 0?c(``,!0):(f(),n(b,{key:0},[v(` · attempt `+i(_(d).instance.attempt),1)],64))],64)):(f(),n(b,{key:1},[v(`of a ship request`)],64))]),U.value?(f(),T(h,{key:0,class:`parent ml-auto font-normal normal-case tracking-normal text-primary no-underline hover:underline`,to:U.value,title:`the pipeline's own record — its card, its summary, every unit`},{default:u(()=>[...s[2]||=[v(`the plan's record →`,-1)]]),_:1},8,[`to`])):c(``,!0)]),_(d).title?(f(),n(`p`,We,i(_(d).title),1)):(f(),n(`p`,Ge,` The plan gave this unit no title; its branch is `+i(_(d).branch)+`. `,1)),_(d).ending?(f(),n(`p`,Ke,i(_(d).ending.report),1)):c(``,!0)]),_(d).findings?(f(),T(ne,{key:0,ledger:_(d).findings,runs:_(d).runs,onOpen:J},null,8,[`ledger`,`runs`])):c(``,!0),q.value.length>0?(f(),T(be,{key:1,sessions:q.value,runs:_(d).runs,initial:w,onOpen:J},null,8,[`sessions`,`runs`])):c(``,!0),p(`h2`,qe,[s[3]||=p(`span`,null,`Runs by round`,-1),p(`span`,Je,` · `+i(_(d).runs.length)+` run`+i(_(d).runs.length===1?``:`s`)+` — the coding thread's and the review thread's, as the rounds happened `,1)]),p(`ol`,Ye,[(f(!0),n(b,null,r(_(d).runs,e=>(f(),T(I,{key:e.id,run:e,now:_(m),label:`round ${e.round} · ${e.thread}`,open:y.has(e.id),land:S.get(e.id)},null,8,[`run`,`now`,`label`,`open`,`land`]))),128)),_(d).runs.length===0?(f(),n(`li`,Xe,` No runs yet — the runner has not started this unit. `)):c(``,!0)])])):c(``,!0)]),_:1},8,[`title`])}}}),Qe=a({__name:`UnitRoutePage`,setup(e){let t=d(S,null);return(e,n)=>!_(t)||_(t).page!==`unit`?(f(),T(P,{key:0})):(f(),T(Ze,{key:1}))}});export{Qe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e}from"./AppShell-B4EUiSwP.js";import{t}from"./html-fXJTVLSM.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};
|
|
1
|
+
import{L as e}from"./AppShell-DAtHiuI6.js";import{t}from"./html-Zg_NHLv9.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};
|