agentinbox-cli 0.0.0 → 0.1.0-nightly.10
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/LICENSE +21 -0
- package/README.md +337 -0
- package/dist/admin-CXkmdTYo.js +196 -0
- package/dist/admin-CXkmdTYo.js.map +1 -0
- package/dist/audit-bItbJYFP.js +65 -0
- package/dist/audit-bItbJYFP.js.map +1 -0
- package/dist/audit-gVdDzkAE.js +2 -0
- package/dist/auth-0NrMvHdE.js +550 -0
- package/dist/auth-0NrMvHdE.js.map +1 -0
- package/dist/auth-CoHvbWgO.js +2 -0
- package/dist/bus-Cz0flS37.js +12 -0
- package/dist/bus-Cz0flS37.js.map +1 -0
- package/dist/bus-OKIGut72.js +2 -0
- package/dist/cli.js +220 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands-DZ60j8_y.js +103 -0
- package/dist/commands-DZ60j8_y.js.map +1 -0
- package/dist/config-CIvgMqLx.js +2 -0
- package/dist/config-v975gxv4.js +44 -0
- package/dist/config-v975gxv4.js.map +1 -0
- package/dist/connect-BHC2trBi.js +292 -0
- package/dist/connect-BHC2trBi.js.map +1 -0
- package/dist/content-BXblC_Qs.js +1162 -0
- package/dist/content-BXblC_Qs.js.map +1 -0
- package/dist/content-worker.js +28 -0
- package/dist/content-worker.js.map +1 -0
- package/dist/crypto-DYZ4R7c2.js +74 -0
- package/dist/crypto-DYZ4R7c2.js.map +1 -0
- package/dist/db-B6gLQGBK.js +2 -0
- package/dist/db-D0gvshCc.js +282 -0
- package/dist/db-D0gvshCc.js.map +1 -0
- package/dist/errors-FbMS3QBo.js +39 -0
- package/dist/errors-FbMS3QBo.js.map +1 -0
- package/dist/filter-DGVz6-P1.js +140 -0
- package/dist/filter-DGVz6-P1.js.map +1 -0
- package/dist/instance-BBzEsYZO.js +175 -0
- package/dist/instance-BBzEsYZO.js.map +1 -0
- package/dist/instance-DLNTj9nm.js +2 -0
- package/dist/listen-D8DkEhqM.js +1724 -0
- package/dist/listen-D8DkEhqM.js.map +1 -0
- package/dist/listen-DT-omyD6.js +2 -0
- package/dist/mcpheader-By2dIyZq.js +2 -0
- package/dist/mcpheader-D9rrI-aa.js +65 -0
- package/dist/mcpheader-D9rrI-aa.js.map +1 -0
- package/dist/mcpsetup-7KxroOCp.js +2 -0
- package/dist/mcpsetup-DJ7ebFGJ.js +266 -0
- package/dist/mcpsetup-DJ7ebFGJ.js.map +1 -0
- package/dist/paths-BCBp8vrG.js +2 -0
- package/dist/paths-TLp8hiMt.js +40 -0
- package/dist/paths-TLp8hiMt.js.map +1 -0
- package/dist/profile-CgGgJ4Dm.js +181 -0
- package/dist/profile-CgGgJ4Dm.js.map +1 -0
- package/dist/profile-RbN2FRz7.js +2 -0
- package/dist/recipes-7d_Xws4M.js +2 -0
- package/dist/recipes-UalOc_LB.js +100 -0
- package/dist/recipes-UalOc_LB.js.map +1 -0
- package/dist/send-Dk-t8ia-.js +108 -0
- package/dist/send-Dk-t8ia-.js.map +1 -0
- package/dist/server-Hunjpt8n.js +8103 -0
- package/dist/server-Hunjpt8n.js.map +1 -0
- package/dist/service-BAgZDh22.js +2 -0
- package/dist/service-DYdD92CC.js +2 -0
- package/dist/service-D_ZEs3Zk.js +508 -0
- package/dist/service-D_ZEs3Zk.js.map +1 -0
- package/dist/service-whbugeQp.js +295 -0
- package/dist/service-whbugeQp.js.map +1 -0
- package/dist/settings-CeEsv4CE.js +2 -0
- package/dist/settings-DLUStIN7.js +109 -0
- package/dist/settings-DLUStIN7.js.map +1 -0
- package/dist/setup-token-BO89xnpb.js +48 -0
- package/dist/setup-token-BO89xnpb.js.map +1 -0
- package/dist/skill/SKILL.md +277 -0
- package/dist/skill-BJFn2bHK.js +2 -0
- package/dist/skill-WKbeyNct.js +43 -0
- package/dist/skill-WKbeyNct.js.map +1 -0
- package/dist/types-3eEsBFVj.js +37 -0
- package/dist/types-3eEsBFVj.js.map +1 -0
- package/dist/ui-B8Sd4Y7Y.js +81 -0
- package/dist/ui-B8Sd4Y7Y.js.map +1 -0
- package/dist/urls-Dp8pBGMU.js +2 -0
- package/dist/urls-U_LfYV61.js +27 -0
- package/dist/urls-U_LfYV61.js.map +1 -0
- package/dist/web/assets/_agentId-DAj08NDq.js +1 -0
- package/dist/web/assets/_app-B6q_HS9y.js +1 -0
- package/dist/web/assets/_app-CAQ6Mu1s.js +63 -0
- package/dist/web/assets/_webhookId-CMgBUN2Z.js +1 -0
- package/dist/web/assets/account-status-omoUlgBI.js +1 -0
- package/dist/web/assets/accounts-DyLfACj_.js +1 -0
- package/dist/web/assets/accounts-list-DiXACW0-.js +1 -0
- package/dist/web/assets/activity-zrckFhPk.js +1 -0
- package/dist/web/assets/agent-create-form-DKwaY1Dg.js +1 -0
- package/dist/web/assets/agents-Drvjccgt.js +1 -0
- package/dist/web/assets/approvals-4kd0_J8X.js +2 -0
- package/dist/web/assets/arrow-left-DVJV4Zx7.js +1 -0
- package/dist/web/assets/arrow-right-4PFX6MSS.js +1 -0
- package/dist/web/assets/audit-76H45orR.js +1 -0
- package/dist/web/assets/audit-bits-B1We-fQ3.js +1 -0
- package/dist/web/assets/bot-DVw15lBn.js +1 -0
- package/dist/web/assets/card-EQTpqntn.js +1 -0
- package/dist/web/assets/checkbox-DDZZurgK.js +1 -0
- package/dist/web/assets/chevron-down-892ylB4R.js +1 -0
- package/dist/web/assets/chevron-right-CbBKS6-T.js +1 -0
- package/dist/web/assets/chips-input--xgMZpg2.js +1 -0
- package/dist/web/assets/circle-x-Bi4IGwky.js +1 -0
- package/dist/web/assets/common-PG6weTqi.js +1 -0
- package/dist/web/assets/connect-host-DdkOJnMu.js +1 -0
- package/dist/web/assets/data-table-Ca9aQZKR.js +1 -0
- package/dist/web/assets/dialog-CxNRCZdE.js +1 -0
- package/dist/web/assets/dist-B0e3Ju3r.js +1 -0
- package/dist/web/assets/empty-CE_WZGEC.js +1 -0
- package/dist/web/assets/es2015-DPaldoxG.js +41 -0
- package/dist/web/assets/event-row-2xoyzgbP.js +1 -0
- package/dist/web/assets/events-Bizq3DPC.js +1 -0
- package/dist/web/assets/eye-off-DjpaihHf.js +1 -0
- package/dist/web/assets/field-CcyMn3ey.js +1 -0
- package/dist/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dist/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dist/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/web/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
- package/dist/web/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
- package/dist/web/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
- package/dist/web/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
- package/dist/web/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
- package/dist/web/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
- package/dist/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dist/web/assets/get-started-DXUVmyNX.js +1 -0
- package/dist/web/assets/grants-BhXj1Pew.js +1 -0
- package/dist/web/assets/index-Bd4Y5wSp.js +10 -0
- package/dist/web/assets/index-akvt_1UI.css +2 -0
- package/dist/web/assets/input-CMhmmHiH.js +1 -0
- package/dist/web/assets/input-group-DRs3TNaT.js +1 -0
- package/dist/web/assets/key-round-CVIZRCLM.js +1 -0
- package/dist/web/assets/labels-C_Pwium9.js +1 -0
- package/dist/web/assets/login-aCr-cPqJ.js +1 -0
- package/dist/web/assets/mail-CAVmuESo.js +1 -0
- package/dist/web/assets/mutations-DVlbDx0M.js +1 -0
- package/dist/web/assets/paperclip-QFjM4y6n.js +1 -0
- package/dist/web/assets/password-input-_m9Ycphv.js +1 -0
- package/dist/web/assets/pencil-Bf1JhsG0.js +1 -0
- package/dist/web/assets/play-DiPk49JH.js +1 -0
- package/dist/web/assets/plus-CETmK0SB.js +1 -0
- package/dist/web/assets/preload-helper-BFuRUfdt.js +1 -0
- package/dist/web/assets/progress-3ZOsbLSK.js +6 -0
- package/dist/web/assets/queries-a3M5_loa.js +2 -0
- package/dist/web/assets/refresh-cw-DOn9kD7g.js +1 -0
- package/dist/web/assets/search-gcYjitzV.js +1 -0
- package/dist/web/assets/select-C8tJBHb5.js +1 -0
- package/dist/web/assets/send-BhQwhuJo.js +1 -0
- package/dist/web/assets/settings-H7ExHD9L.js +1 -0
- package/dist/web/assets/settings-form-CNUionsI.js +1 -0
- package/dist/web/assets/setup-DLbH5Dvl.js +1 -0
- package/dist/web/assets/sheet-BQKpA2xa.js +1 -0
- package/dist/web/assets/shield-alert-CbFgd06X.js +1 -0
- package/dist/web/assets/stamp-CH2OvjH2.js +1 -0
- package/dist/web/assets/stream-C2Tr2d5O.js +1 -0
- package/dist/web/assets/tabs-ySiz7Mni.js +1 -0
- package/dist/web/assets/tag-CP72Kk6Y.js +1 -0
- package/dist/web/assets/test-connection-Bd2Gac0O.js +1 -0
- package/dist/web/assets/textarea-CCokBZIw.js +1 -0
- package/dist/web/assets/toggle-group-ne0pVDg6.js +1 -0
- package/dist/web/assets/trash-DxdMNg8B.js +1 -0
- package/dist/web/assets/use-sign-out-BuzlTb0Q.js +1 -0
- package/dist/web/assets/useInfiniteQuery-DE6WChlb.js +1 -0
- package/dist/web/assets/useMatch-BKUnm54_.js +1 -0
- package/dist/web/assets/useMutation-DeWvLw1a.js +1 -0
- package/dist/web/assets/useQuery-DAhf1YDH.js +1 -0
- package/dist/web/assets/useSelector-D70eKNYs.js +1 -0
- package/dist/web/assets/webhook-BWT75M78.js +1 -0
- package/dist/web/assets/webhook-sheet-Cy_jHIqG.js +34 -0
- package/dist/web/assets/webhooks-CTAj5Ovp.js +1 -0
- package/dist/web/assets/with-selector-CkNyXYMW.js +1 -0
- package/dist/web/assets/x-BHjDLXNO.js +1 -0
- package/dist/web/favicon.svg +1 -0
- package/dist/web/index.html +31 -0
- package/package.json +95 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,G as t,d as n,f as r,ht as i,l as a,mt as o,n as s,o as c,pt as l,r as u,t as d,vt as f}from"./queries-a3M5_loa.js";import{t as p}from"./useQuery-DAhf1YDH.js";import{t as m}from"./useSelector-D70eKNYs.js";import{a as h,i as g,n as _,r as v,t as y}from"./select-C8tJBHb5.js";import{i as b,o as x,r as S,s as C,t as w}from"./card-EQTpqntn.js";import{t as T}from"./circle-x-Bi4IGwky.js";import{d as E,k as D,r as ee,u as te}from"./common-PG6weTqi.js";import{t as ne}from"./password-input-_m9Ycphv.js";import{t as re}from"./refresh-cw-DOn9kD7g.js";import{t as ie}from"./send-BhQwhuJo.js";import{a as O,i as k,n as A,r as j,t as M}from"./field-CcyMn3ey.js";import{G as ae,J as N,K as oe,U as se,X as ce,Y as le,a as ue,c as de}from"./index-Bd4Y5wSp.js";import{t as fe}from"./input-CMhmmHiH.js";import{t as pe}from"./mutations-DVlbDx0M.js";import{t as me}from"./chips-input--xgMZpg2.js";import{a as he,i as ge,n as _e,t as ve}from"./input-group-DRs3TNaT.js";var ye=class{constructor(e,t){this.atom=le(e),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),t&&(this.actions=t(this))}setState(e){this.atom.set(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(ce(e))}},be=class{constructor(e){this.atom=le(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(ce(e))}};function P(e,t){return typeof e==`function`?new be(e):t?new ye(e,t):new ye(e)}var xe={name:`radio-tower`,size:24,node:[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`,key:`s0qx1y`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`,key:`1idnkw`}],[`circle`,{cx:`12`,cy:`9`,r:`2`,key:`1092wv`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`,key:`ojru2q`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`,key:`rhi7fg`}],[`path`,{d:`M9.5 18h5`,key:`mfy3pd`}],[`path`,{d:`m8 22 4-11 4 11`,key:`25yftu`}]]};xe.node;var Se=t(xe),Ce={name:`timer`,size:24,node:[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]};Ce.node;var we=t(Ce),Te={name:`zap`,size:24,node:[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]};Te.node;var Ee=t(Te),F=f(i(),1),I=o(),De=/^\d+-[a-z0-9]+\.apps\.googleusercontent\.com$/;function Oe(e){return e.trim()?De.test(e.trim())?null:`Client IDs look like 1234567890-abc123.apps.googleusercontent.com`:`Paste the client ID from Google Cloud.`}function ke(e){return e.trim()?ue.test(e.trim())?null:`Project IDs are 6–30 lowercase letters, digits or hyphens, starting with a letter (e.g. agentinbox-123456). Use the ID, not the display name.`:`Enter the project ID.`}function Ae({view:e,projectId:t,appType:n,onSaved:i,submitLabel:a=`Save client`,onCancel:o}){let[s,l]=(0,F.useState)(e?.clientId??``),[f,p]=(0,F.useState)(``),[m,b]=(0,F.useState)(t??e?.projectId??``),[x,S]=(0,F.useState)(n??e?.appType??void 0),[C,w]=(0,F.useState)(!1),T=!!e?.hasSecret,E=pe({mutationFn:e=>c(`/api/google/client`,{method:`PUT`,body:e}),invalidate:[d.googleClient,d.setupState],success:`OAuth client saved`,errorTitle:!1,onSuccess:e=>{p(``),i?.(e)}}),D={clientId:Oe(s),secret:!T&&!f.trim()?`Paste the client secret.`:null,projectId:t?null:ke(m),appType:x?null:`Choose the audience you picked on the consent screen.`},te=!Object.values(D).some(Boolean);return(0,I.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),w(!0),te&&x&&E.mutate({clientId:s.trim(),...f.trim()?{clientSecret:f.trim()}:{},projectId:m.trim(),appType:x})},noValidate:!0,children:(0,I.jsxs)(k,{children:[(0,I.jsxs)(M,{"data-invalid":C&&!!D.clientId,children:[(0,I.jsx)(O,{htmlFor:`g-client-id`,children:`Client ID`}),(0,I.jsx)(fe,{id:`g-client-id`,spellCheck:!1,autoComplete:`off`,className:`font-mono`,placeholder:`1234567890-abc123.apps.googleusercontent.com`,value:s,onChange:e=>l(e.target.value),"aria-invalid":C&&!!D.clientId}),C&&D.clientId&&(0,I.jsx)(j,{children:D.clientId})]}),(0,I.jsxs)(M,{"data-invalid":C&&!!D.secret,children:[(0,I.jsx)(O,{htmlFor:`g-client-secret`,children:`Client secret`}),(0,I.jsx)(ne,{id:`g-client-secret`,autoComplete:`off`,spellCheck:!1,className:`font-mono`,placeholder:T?`Saved. Paste a new secret to replace it`:`GOCSPX-…`,value:f,onChange:e=>p(e.target.value),"aria-invalid":C&&!!D.secret}),C&&D.secret?(0,I.jsx)(j,{children:D.secret}):T?(0,I.jsxs)(A,{className:`flex items-center gap-1.5`,children:[(0,I.jsx)(oe,{className:`size-3.5 text-success`}),` A secret is saved (encrypted). It's never shown again.`]}):(0,I.jsx)(A,{children:`Stored encrypted on this server and never sent back to the browser.`})]}),!t&&(0,I.jsxs)(M,{"data-invalid":C&&!!D.projectId,children:[(0,I.jsx)(O,{htmlFor:`g-project`,children:`Project ID`}),(0,I.jsx)(fe,{id:`g-project`,spellCheck:!1,className:`font-mono`,value:m,onChange:e=>b(e.target.value.toLowerCase()),"aria-invalid":C&&!!D.projectId}),C&&D.projectId&&(0,I.jsx)(j,{children:D.projectId})]}),!n&&(0,I.jsxs)(M,{"data-invalid":C&&!!D.appType,children:[(0,I.jsx)(O,{htmlFor:`g-apptype`,children:`Audience`}),(0,I.jsxs)(y,{value:x,onValueChange:e=>S(e),children:[(0,I.jsx)(g,{id:`g-apptype`,className:`w-full`,"aria-invalid":C&&!!D.appType,children:(0,I.jsx)(h,{placeholder:`Choose…`})}),(0,I.jsxs)(_,{children:[(0,I.jsx)(v,{value:`internal`,children:`Internal (Google Workspace users only)`}),(0,I.jsx)(v,{value:`external`,children:`External (any Google account)`})]})]}),C&&D.appType&&(0,I.jsx)(j,{children:D.appType})]}),E.isError&&(0,I.jsx)(ee,{error:E.error,title:`Couldn't save the OAuth client`}),(0,I.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[o&&(0,I.jsx)(r,{type:`button`,variant:`ghost`,onClick:o,children:`Cancel`}),(0,I.jsxs)(r,{type:`submit`,disabled:E.isPending,children:[E.isPending&&(0,I.jsx)(u,{}),a]})]})]})})}var je=[`Creating the Pub/Sub topic`,`Letting Gmail publish to it`,`Creating the subscription`,`Starting Gmail watches`];function Me({compact:t}){let i=l(),o=p(s.setupState()),f=p(s.settings()),[m,h]=(0,F.useState)(!1),[g,_]=(0,F.useState)(),[v,y]=(0,F.useState)(!1),[b,x]=(0,F.useState)(),[S,C]=(0,F.useState)(!1),w=()=>{for(let e of[d.setupState,d.settings,d.system,d.accounts])i.invalidateQueries({queryKey:e})},ne=async()=>{h(!0),_(void 0),x(void 0);try{await c(`/api/google/pubsub/provision`,{method:`POST`}),de({pubsubSkipped:!1}),n.success(`Real-time delivery is on`,{description:`Gmail now pushes changes through Pub/Sub. Send a test to confirm.`}),w()}catch(e){_(e)}finally{h(!1)}},O=async()=>{y(!0);try{x(await c(`/api/google/pubsub/test`,{method:`POST`})),w()}catch(e){a(e,`Test failed`)}finally{y(!1)}},k=async()=>{C(!0);try{await c(`/api/settings`,{method:`PATCH`,body:{ingestMode:`poll`}}),de({pubsubSkipped:!0}),_(void 0),n.success(`Using polling`,{description:`agentinbox checks for new mail every ${f.data?.pollIntervalSeconds??30} seconds. You can change this in Settings.`}),w()}catch(e){a(e,`Couldn't switch to polling`)}finally{C(!1)}};if(o.isPending)return(0,I.jsx)(D,{className:`h-32 rounded-xl`});let A=o.data?.pubsub,j=o.data?.accountsConnected??0,M=A?.mode===`pubsub`&&!!A.subscription;return(0,I.jsxs)(`div`,{className:`space-y-4`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-lg border p-3`,children:[(0,I.jsx)(`span`,{className:e(`flex size-9 items-center justify-center rounded-lg`,M?`bg-success/15 text-success`:`bg-muted text-muted-foreground`),children:M?(0,I.jsx)(Ee,{className:`size-4`}):(0,I.jsx)(we,{className:`size-4`})}),(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 font-medium`,children:[M?`Real-time (Pub/Sub push)`:`Polling`,M?(0,I.jsx)(E,{tone:`good`,children:`Active`}):(0,I.jsxs)(E,{tone:`idle`,children:[`Every `,f.data?.pollIntervalSeconds??`…`,`s`]})]}),(0,I.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:M?(0,I.jsxs)(I.Fragment,{children:[`Last Pub/Sub message `,(0,I.jsx)(te,{date:A.lastMessageAt,fallback:`none yet`})]}):`New mail shows up within one poll interval.`})]})]}),A&&(A.topic||A.subscription)&&!t&&(0,I.jsxs)(`dl`,{className:`grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1 text-xs`,children:[(0,I.jsx)(`dt`,{className:`text-muted-foreground`,children:`Topic`}),(0,I.jsx)(`dd`,{className:`font-mono break-all`,children:A.topic??`—`}),(0,I.jsx)(`dt`,{className:`text-muted-foreground`,children:`Subscription`}),(0,I.jsx)(`dd`,{className:`font-mono break-all`,children:A.subscription??`—`})]}),A?.lastError&&!g&&(0,I.jsx)(ee,{error:Error(A.lastError),title:`Pub/Sub reported a problem`}),m&&(0,I.jsx)(Ne,{}),g!==void 0&&(0,I.jsxs)(ee,{error:g,title:`Couldn't set up Pub/Sub`,children:[(0,I.jsx)(`p`,{className:`pt-1 text-foreground/80`,children:`Polling works fine for most setups; it's just slower to notice new mail. You can retry Pub/Sub any time from Settings.`}),(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2 pt-2`,children:[(0,I.jsxs)(r,{size:`sm`,onClick:k,disabled:S,children:[S?(0,I.jsx)(u,{}):(0,I.jsx)(we,{}),` Use polling instead`]}),(0,I.jsxs)(r,{size:`sm`,variant:`outline`,onClick:ne,disabled:m,children:[(0,I.jsx)(re,{}),` Try again`]})]})]}),b&&(0,I.jsxs)(`div`,{className:e(`flex items-start gap-2 rounded-lg border p-3 text-sm`,b.ok?`border-success/30 bg-success/5`:`border-critical/30 bg-critical/5`),children:[b.ok?(0,I.jsx)(oe,{className:`mt-0.5 size-4 text-success`}):(0,I.jsx)(T,{className:`mt-0.5 size-4 text-critical`}),(0,I.jsx)(`span`,{children:b.message})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsxs)(r,{onClick:ne,disabled:m||j===0,variant:M?`outline`:`default`,children:[m?(0,I.jsx)(u,{}):(0,I.jsx)(Se,{}),` `,M?`Re-provision Pub/Sub`:`Set up Pub/Sub automatically`]}),M&&(0,I.jsxs)(r,{variant:`outline`,onClick:O,disabled:v,children:[v?(0,I.jsx)(u,{}):(0,I.jsx)(ie,{}),` Send test`]}),f.data?.ingestMode===`pubsub`?(0,I.jsx)(r,{variant:`ghost`,onClick:k,disabled:S,children:`Switch to polling`}):!g&&!M&&(0,I.jsx)(r,{variant:`ghost`,onClick:k,disabled:S,children:`Keep polling`})]}),j===0&&(0,I.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Connect a Gmail account first: provisioning uses its Google access.`})]})}function Ne(){let[t,n]=(0,F.useState)(0);return(0,F.useEffect)(()=>{let e=setInterval(()=>n(e=>Math.min(e+1,je.length-1)),1200);return()=>clearInterval(e)},[]),(0,I.jsx)(`ol`,{className:`space-y-1.5 rounded-lg border bg-muted/30 p-3 text-sm`,"aria-live":`polite`,children:je.map((n,r)=>(0,I.jsxs)(`li`,{className:e(`flex items-center gap-2`,r>t&&`text-muted-foreground/60`,r<t&&`text-muted-foreground`),children:[r<t?(0,I.jsx)(`span`,{className:`mx-[3px] size-2 rounded-full bg-muted-foreground/60`}):r===t?(0,I.jsx)(u,{className:`size-3.5`}):(0,I.jsx)(`span`,{className:`mx-[3px] size-2 rounded-full border`}),n]},n))})}var Pe=class{constructor(e,t){this.fn=e,this.options=t,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...e)=>{let t=Date.now()-this.lastExecutionTime;if(this.options.leading&&t>=this.options.wait)this.execute(...e);else if(this.lastArgs=e,!this.timeoutId&&this.options.trailing){let e=this.options.wait-t;this.isPending=!0,this.timeoutId=setTimeout(()=>{this.lastArgs!==void 0&&this.execute(...this.lastArgs)},e)}},this.execute=(...e)=>{this.fn(...e),this.options.onExecute?.(e,this),this.lastExecutionTime=Date.now(),this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.flush=()=>{this.isPending&&this.lastArgs&&this.execute(...this.lastArgs)},this.cancel=()=>{this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.clearTimeout=()=>{this.timeoutId&&=(clearTimeout(this.timeoutId),void 0)},this.options.leading===void 0&&this.options.trailing===void 0&&(this.options.leading=!0,this.options.trailing=!0)}};function Fe(e,t){return new Pe(e,t).maybeExecute}var Ie=class{#e=!0;#t;#n;#r;#i;#a;#o;#s;#c=0;#l=5;#u=!1;#d=!1;#f=null;#p=()=>{this.debugLog(`Connected to event bus`),this.#a=!0,this.#u=!1,this.debugLog(`Emitting queued events`,this.#i),this.#i.forEach(e=>this.emitEventToBus(e)),this.#i=[],this.stopConnectLoop(),this.#n().removeEventListener(`tanstack-connect-success`,this.#p)};#m=()=>{this.#c<this.#l?(this.#c++,this.dispatchCustomEvent(`tanstack-connect`,{})):(this.#n().removeEventListener(`tanstack-connect`,this.#m),this.#d=!0,this.debugLog(`Max retries reached, giving up on connection`),this.stopConnectLoop())};#h=()=>{this.#u||(this.#u=!0,this.#n().addEventListener(`tanstack-connect-success`,this.#p),this.#m())};constructor({pluginId:e,debug:t=!1,enabled:n=!0,reconnectEveryMs:r=300}){this.#t=e,this.#e=n,this.#n=this.getGlobalTarget,this.#r=t,this.debugLog(` Initializing event subscription for plugin`,this.#t),this.#i=[],this.#a=!1,this.#d=!1,this.#o=null,this.#s=r}startConnectLoop(){this.#o!==null||this.#a||(this.debugLog(`Starting connect loop (every ${this.#s}ms)`),this.#o=setInterval(this.#m,this.#s))}stopConnectLoop(){this.#u=!1,this.#o!==null&&(clearInterval(this.#o),this.#o=null,this.#i=[],this.debugLog(`Stopped connect loop`))}debugLog(...e){this.#r&&console.log(`🌴 [tanstack-devtools:${this.#t}-plugin]`,...e)}getGlobalTarget(){if(typeof globalThis<`u`&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog(`Using global event target`),globalThis.__TANSTACK_EVENT_TARGET__;if(typeof window<`u`&&window.addEventListener!==void 0)return this.debugLog(`Using window as event target`),window;let e=typeof EventTarget<`u`?new EventTarget:void 0;return e===void 0||e.addEventListener===void 0?(this.debugLog(`No event mechanism available, running in non-web environment`),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1}):(this.debugLog(`Using new EventTarget as fallback`),e)}getPluginId(){return this.#t}dispatchCustomEventShim(e,t){try{let n=new Event(e,{detail:t});this.#n().dispatchEvent(n)}catch{this.debugLog(`Failed to dispatch shim event`)}}dispatchCustomEvent(e,t){try{this.#n().dispatchEvent(new CustomEvent(e,{detail:t}))}catch{this.dispatchCustomEventShim(e,t)}}emitEventToBus(e){this.debugLog(`Emitting event to client bus`,e),this.dispatchCustomEvent(`tanstack-dispatch-event`,e)}createEventPayload(e,t){return{type:`${this.#t}:${e}`,payload:t,pluginId:this.#t}}emit(e,t){if(!this.#e)this.debugLog(`Event bus client is disabled, not emitting event`,e,t);else if(this.#f&&(this.debugLog(`Emitting event to internal event target`,e,t),this.#f.dispatchEvent(new CustomEvent(`${this.#t}:${e}`,{detail:this.createEventPayload(e,t)}))),this.#d)this.debugLog(`Previously failed to connect, not emitting to bus`);else if(!this.#a)this.debugLog(`Bus not available, will be pushed as soon as connected`),this.#i.push(this.createEventPayload(e,t)),typeof CustomEvent<`u`&&!this.#u&&(this.#h(),this.startConnectLoop());else return this.emitEventToBus(this.createEventPayload(e,t))}on(e,t,n){let r=n?.withEventTarget??!1,i=`${this.#t}:${e}`;if(r&&(this.#f||=new EventTarget,this.#f.addEventListener(i,e=>{t(e.detail)})),!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`,i),()=>{};let a=e=>{this.debugLog(`Received event from bus`,e.detail),t(e.detail)};return this.#n().addEventListener(i,a),this.debugLog(`Registered event to bus`,i),()=>{r&&this.#f?.removeEventListener(i,a),this.#n().removeEventListener(i,a)}}onAll(e){if(!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`),()=>{};let t=t=>{let n=t.detail;e(n)};return this.#n().addEventListener(`tanstack-devtools-global`,t),()=>this.#n().removeEventListener(`tanstack-devtools-global`,t)}onAllPluginEvents(e){if(!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`),()=>{};let t=t=>{let n=t.detail;this.#t&&n.pluginId!==this.#t||e(n)};return this.#n().addEventListener(`tanstack-devtools-global`,t),()=>this.#n().removeEventListener(`tanstack-devtools-global`,t)}},L=new class extends Ie{constructor(){super({pluginId:`form-devtools`,reconnectEveryMs:1e3})}};function R(e,t){return typeof e==`function`?e(t):e}function Le(e,t){return We(t).reduce((e,t)=>{if(e===null)return null;if(e!==void 0)return e[t]},e)}function z(e,t,n){let r=We(t);function i(e){if(!r.length)return R(n,e);let t=r.shift();if(typeof t==`string`||typeof t==`number`&&!Array.isArray(e))return typeof e==`object`?(e===null&&(e={}),{...e,[t]:i(e[t])}):{[t]:i()};if(Array.isArray(e)&&typeof t==`number`){let n=e.slice(0,t);return[...n.length?n:Array(t),i(e[t]),...e.slice(t+1)]}return[...Array(t),i()]}return i(e)}function Re(e,t){let n=We(t);function r(e){if(!e)return;if(n.length===1){let t=n[0];if(Array.isArray(e)&&typeof t==`number`)return e.filter((e,n)=>n!==t);let{[t]:r,...i}=e;return i}let t=n.shift();if((typeof t==`string`||typeof t==`number`&&!Array.isArray(e))&&typeof e==`object`)return{...e,[t]:r(e[t])};if(typeof t==`number`&&Array.isArray(e)){if(t>=e.length)return e;let n=e.slice(0,t);return[...n.length?n:Array(t),r(e[t]),...e.slice(t+1)]}throw Error(`It seems we have created an infinite loop in deleteBy. `)}return r(e)}var ze=46,Be=91,Ve=93,He=48,Ue=57;function We(e){if(Array.isArray(e))return[...e];if(typeof e!=`string`)throw Error(`Path must be a string.`);let t=e.length,n=[],r=+(t>0&&e.charCodeAt(0)===Be),i=!0,a=-1;for(let o=r;o<=t;o++){let s=o<t?e.charCodeAt(o):-1;if(o===t||s===ze||s===Be||s===Ve){let t=o-r;if(t>0){let a=i&&(t===1||e.charCodeAt(r)!==He),s=e.slice(r,o);if(a){let e=parseInt(s,10);t<=15||String(e)===s?n.push(e):n.push(s)}else n.push(s)}else a!==Ve&&(a!==-1||s!==Ve)&&(a!==s||s!==ze&&s!==Be)&&n.push(``);r=o+1,i=!0}else(s<He||s>Ue)&&(i=!1);a=s}return n.length||n.push(``),n}function Ge(e){return!(Array.isArray(e)&&e.length===0)}function B(e,t){return t.validationLogic({form:t.form,group:t.group,validators:t.validators,event:{type:e,fieldName:t.fieldName,async:!1},runValidation:e=>e.validators.filter(Boolean).map(e=>({cause:e.cause,validate:e.fn}))})}function V(e,t){let{asyncDebounceMs:n}=t,{onBlurAsyncDebounceMs:r,onChangeAsyncDebounceMs:i,onDynamicAsyncDebounceMs:a}=t.validators||{},o=n??0;return t.validationLogic({form:t.form,group:t.group,validators:t.validators,event:{type:e,fieldName:t.fieldName,async:!0},runValidation:t=>t.validators.filter(Boolean).map(t=>{let n=t?.cause||e,s=o;switch(n){case`change`:s=i??o;break;case`blur`:s=r??o;break;case`dynamic`:s=a??o;break;case`submit`:s=0}return e===`submit`&&(s=0),{cause:n,validate:t.fn,debounceMs:s}})})}var Ke=e=>!!e&&typeof e==`object`&&`fields`in e;function H(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length||n.length===0&&!Array.isArray(e)&&!Array.isArray(t)&&(Object.getPrototypeOf(e)!==Object.prototype||Object.getPrototypeOf(t)!==Object.prototype))return!1;for(let i of n)if(!r.includes(i)||!H(e[i],t[i]))return!1;return!0}var qe=({newFormValidatorError:e,isPreviousErrorFromFormValidator:t,previousErrorValue:n})=>e?{newErrorValue:e,newSource:`form`}:t?{newErrorValue:void 0,newSource:void 0}:n?{newErrorValue:n,newSource:`field`}:{newErrorValue:void 0,newSource:void 0},Je=({formLevelError:e,fieldLevelError:t})=>t?{newErrorValue:t,newSource:`field`}:e?{newErrorValue:e,newSource:`form`}:{newErrorValue:void 0,newSource:void 0};function U(e,t){return e==null?t:{...e,...t}}for(var W=256,Ye=[],Xe;W--;)Ye[W]=(W+256).toString(16).substring(1);function Ze(){let e=0,t,n=``;if(!Xe||W+16>256){for(Xe=Array(256),e=256;e--;)Xe[e]=256*Math.random()|0;e=0,W=0}for(;e<16;e++)t=Xe[W+e],n+=e===6?Ye[t&15|64]:e===8?Ye[t&63|128]:Ye[t],e&1&&e>1&&e<11&&(n+=`-`);return W++,n}var Qe=Fe(e=>L.emit(`form-state`,{id:e.formId,state:e.store.state}),{wait:300});function G(e){if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++)t[n]=G(e[n]);return t}if(e instanceof Map){let t=new Map;return e.forEach((e,n)=>{t.set(n,G(e))}),t}if(e instanceof Set){let t=new Set;return e.forEach(e=>{t.add(G(e))}),t}let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=G(e[n]));return t}function K(e,t){return t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`)}var q=e=>{if(!e.validators)return e.runValidation({validators:[],form:e.form});let t=e.event.async,n=t?void 0:{fn:e.validators.onMount,cause:`mount`},r={fn:t?e.validators.onChangeAsync:e.validators.onChange,cause:`change`},i={fn:t?e.validators.onBlurAsync:e.validators.onBlur,cause:`blur`},a={fn:t?e.validators.onSubmitAsync:e.validators.onSubmit,cause:`submit`},o=t?void 0:{fn:()=>void 0,cause:`server`};switch(e.event.type){case`mount`:return e.runValidation({validators:[n],form:e.form});case`submit`:return e.runValidation({validators:[r,i,a,o],form:e.form});case`server`:return e.runValidation({validators:[],form:e.form});case`blur`:return e.runValidation({validators:[i,o],form:e.form});case`change`:return e.runValidation({validators:[r,o],form:e.form});default:throw Error(`Unknown validation event type: ${e.event.type}`)}};function $e(e,t){let n=new Map;for(let r of e){let e=r.path??[],i=t,a=``;for(let t=0;t<e.length;t++){let n=e[t];if(n===void 0)continue;let r=typeof n==`object`?n.key:n,o=Number(r);a+=Array.isArray(i)&&!Number.isNaN(o)?`[${o}]`:(t>0?`.`:``)+String(r),i=typeof i==`object`&&i?i[r]:void 0}n.set(a,(n.get(a)??[]).concat(r))}return Object.fromEntries(n)}var et=(e,t)=>{let n=$e(e,t);return{form:n,fields:n}},J={validate({value:e,validationSource:t},n){let r=n[`~standard`].validate(e);if(r instanceof Promise)throw Error(`async function passed to sync validator`);if(r.issues)return t===`field`?r.issues:et(r.issues,e)},async validateAsync({value:e,validationSource:t},n){let r=await n[`~standard`].validate(e);if(r.issues)return t===`field`?r.issues:et(r.issues,e)}},tt=e=>!!e&&`~standard`in e,Y={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{},_arrayVersion:0,_pendingValidationsCount:0};function X(e){function t(t){let n=e.getFieldMeta(t)??Y;e.setFieldMeta(t,{...n,_arrayVersion:(n._arrayVersion||0)+1})}function n(n,r,i){t(n);let a=s(n,r,`move`,i),c=Math.min(r,i),u=Math.max(r,i);for(let e=c;e<=u;e++)a.push(o(n,e));let d=Object.keys(e.fieldInfo).reduce((t,i)=>(i.startsWith(o(n,r))&&t.set(i,e.getFieldMeta(i)),t),new Map);l(a,r<i?`up`:`down`),Object.keys(e.fieldInfo).filter(e=>e.startsWith(o(n,i))).forEach(t=>{let a=t.replace(o(n,i),o(n,r)),s=d.get(a);s&&e.setFieldMeta(t,s)})}function r(e,n){t(e),l(s(e,n,`remove`),`up`)}function i(n,r,i){t(n),s(n,r,`swap`,i).forEach(t=>{if(!t.toString().startsWith(o(n,r)))return;let a=t.toString().replace(o(n,r),o(n,i)),[s,c]=[e.getFieldMeta(t),e.getFieldMeta(a)];s&&e.setFieldMeta(a,s),c&&e.setFieldMeta(t,c)})}function a(n,r){t(n);let i=s(n,r,`insert`);l(i,`down`),i.forEach(t=>{t.toString().startsWith(o(n,r))&&e.setFieldMeta(t,u())})}function o(e,t){return`${e}[${t}]`}function s(t,n,r,i){let a=[o(t,n)];switch(r){case`swap`:a.push(o(t,i));break;case`move`:{let[e,r]=[Math.min(n,i),Math.max(n,i)];for(let n=e;n<=r;n++)a.push(o(t,n));break}default:{let r=e.getFieldValue(t),i=Array.isArray(r)?r.length:0;for(let e=n+1;e<i;e++)a.push(o(t,e));break}}return Object.keys(e.fieldInfo).filter(e=>a.some(t=>e.startsWith(t)))}function c(e,t){return e.replace(/\[(\d+)\]/,(e,n)=>{let r=parseInt(n,10);return`[${t===`up`?r+1:Math.max(0,r-1)}]`})}function l(t,n){(n===`up`?t:[...t].reverse()).forEach(t=>{let r=c(t.toString(),n),i=e.getFieldMeta(r);i?e.setFieldMeta(t,i):e.setFieldMeta(t,u())})}let u=()=>Y;return{bumpArrayVersion:t,handleArrayMove:n,handleArrayRemove:r,handleArraySwap:i,handleArrayInsert:a}}function nt(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},formGroupStateBase:e.formGroupStateBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}var rt=class{constructor(e){this.options={},this.fieldInfo={},this.formGroupApis=new Set,this.mount=()=>{let e=this.store.subscribe(()=>{Qe(this)}),t=L.on(`request-form-state`,e=>{e.payload.id===this._formId&&L.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options})}),n=L.on(`request-form-reset`,e=>{e.payload.id===this._formId&&this.reset()}),r=L.on(`request-form-force-submit`,e=>{e.payload.id===this._formId&&(this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1)}),i=()=>{r(),n(),t(),e.unsubscribe(),L.emit(`form-unmounted`,{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:a}=this.options.validators||{};return L.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options}),a&&this.validateSync(`mount`),i},this.update=e=>{if(!e)return;let t=this.options;this.options=e;let n=e.defaultValues&&!H(e.defaultValues,t.defaultValues)&&!this.state.isTouched,r=!H(e.defaultState,t.defaultState)&&!this.state.isTouched;if(n||r){if(N(()=>{this.baseStore.setState(()=>nt(Object.assign({},this.state,r?e.defaultState:{},n?{values:e.defaultValues}:{})))}),n){let e=X(this);for(let t of Object.keys(this.fieldInfo))Array.isArray(this.getFieldValue(t))&&e.bumpArrayVersion(t)}L.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options})}},this.reset=(e,t)=>{let{fieldMeta:n}=this.state,r=this.resetFieldMeta(n);e&&!t?.keepDefaultValues&&(this.options={...this.options,defaultValues:e}),this.baseStore.setState(()=>{let t=e??this.options.defaultValues??this.options.defaultState?.values;return e||Object.values(this.fieldInfo).forEach(e=>{e.instance&&e.instance.options.defaultValue!==void 0&&(t=z(t,e.instance.name,e.instance.options.defaultValue))}),nt({...this.options.defaultState,values:t,fieldMetaBase:r})})},this.validateAllFields=async e=>{let t=[];return N(()=>{Object.values(this.fieldInfo).forEach(n=>{if(!n.instance)return;let r=n.instance;t.push(Promise.resolve().then(()=>r.validate(e,{skipFormValidation:!0,skipGroupValidation:!0}))),n.instance.store.state.meta.isTouched||n.instance.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=async(e,t,n)=>{let r=this.getFieldValue(e),i=Array.isArray(r)?Math.max(r.length-1,0):null,a=[`${e}[${t}]`];for(let n=t+1;n<=(i??0);n++)a.push(`${e}[${n}]`);let o=Object.keys(this.fieldInfo).filter(e=>a.some(t=>e.startsWith(t))),s=[];return N(()=>{o.forEach(e=>{s.push(Promise.resolve().then(()=>this.validateField(e,n)))})}),(await Promise.all(s)).flat()},this.validateField=(e,t)=>{let n=this.fieldInfo[e]?.instance;if(!n){let{hasErrored:n}=this.validateSync(t);return n&&!this.options.asyncAlways?this.getFieldMeta(e)?.errors??[]:this.validateAsync(t).then(()=>this.getFieldMeta(e)?.errors??[])}return n.store.state.meta.isTouched||n.setMeta(e=>({...e,isTouched:!0})),n.validate(t)},this.validateSync=(e,t)=>{let n=B(e,{...this.options,form:this,group:t?.group,validationLogic:this.options.validationLogic||q}),r=!1,i={};return N(()=>{for(let e of n){if(!e.validate)continue;let{formError:n,fieldErrors:a}=it(this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:`form`},type:`validate`})),o=Z(e.cause),s=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(a||{})]);t?.filterFieldNames&&(s=new Set([...s].filter(t.filterFieldNames)));for(let e of s){if(this.baseStore.state.fieldMetaBase[e]===void 0&&!a?.[e])continue;let{errorMap:t,errorSourceMap:n}=this.getFieldMeta(e)??Y,r=a?.[e],{newErrorValue:s,newSource:c}=qe({newFormValidatorError:r,isPreviousErrorFromFormValidator:n?.[o]===`form`,previousErrorValue:t?.[o]});c===`form`&&(i[e]={...i[e],[o]:r}),t?.[o]!==s&&this.setFieldMeta(e,(e=Y)=>({...e,errorMap:{...e.errorMap,[o]:s},errorSourceMap:{...e.errorSourceMap,[o]:c}}))}t?.dontUpdateFormErrorMap||this.state.errorMap?.[o]!==n&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[o]:n}})),(n||a)&&(r=!0)}if(t?.dontUpdateFormErrorMap)return;let a=Z(`submit`);this.state.errorMap?.[a]&&e!==`submit`&&!r&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:void 0}}));let o=Z(`server`);this.state.errorMap?.[o]&&e!==`server`&&!r&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[o]:void 0}}))}),{hasErrored:r,fieldsErrorMap:i}},this.validateAsync=async(e,t)=>{let n=V(e,{...this.options,form:this,group:t?.group,validationLogic:this.options.validationLogic||q});this.state.isFormValidating||this.baseStore.setState(e=>({...e,isFormValidating:!0}));let r=[],i;for(let e of n){if(!e.validate)continue;let n=Z(e.cause);this.state.validationMetaMap[n]?.lastAbortController.abort();let a=new AbortController;this.state.validationMetaMap[n]={lastAbortController:a},r.push(new Promise(async n=>{let r;try{r=await new Promise((t,n)=>{setTimeout(async()=>{if(a.signal.aborted)return t(void 0);try{t(await this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:`form`,signal:a.signal},type:`validateAsync`}))}catch(e){n(e)}},e.debounceMs)})}catch(e){r=e}let{formError:o,fieldErrors:s}=it(r);s&&(i=i?{...i,...s}:s);let c=Z(e.cause),l=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(i||{})]),u=Array.from(l);t?.filterFieldNames&&(u=u.filter(t.filterFieldNames));for(let e of u){if(this.baseStore.state.fieldMetaBase[e]===void 0&&!i?.[e])continue;let{errorMap:t,errorSourceMap:n}=this.getFieldMeta(e)??Y,r=i?.[e],{newErrorValue:a,newSource:o}=qe({newFormValidatorError:r,isPreviousErrorFromFormValidator:n?.[c]===`form`,previousErrorValue:t?.[c]});t?.[c]!==a&&this.setFieldMeta(e,(e=Y)=>({...e,errorMap:{...e.errorMap,[c]:a},errorSourceMap:{...e.errorSourceMap,[c]:o}}))}t?.dontUpdateFormErrorMap||this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[c]:o}})),n(i?{fieldErrors:i,errorMapKey:c}:void 0)}))}let a=[],o={};if(r.length){a=await Promise.all(r);for(let e of a)if(e?.fieldErrors){let{errorMapKey:t}=e;for(let[n,r]of Object.entries(e.fieldErrors))o[n]={...o[n]||{},[t]:r}}}return this.baseStore.setState(e=>({...e,isFormValidating:!1})),o},this.validate=(e,t)=>{let{hasErrored:n,fieldsErrorMap:r}=this.validateSync(e,t);return n&&!this.options.asyncAlways?r:this.validateAsync(e,t)},this._handleSubmit=async e=>{this.baseStore.setState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1,isSubmitSuccessful:!1})),N(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance&&(e.instance.store.state.meta.isTouched||e.instance.setMeta(e=>({...e,isTouched:!0})))})});let t=e??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride&&this.baseStore.state.submissionAttempts<=1){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t});return}this.baseStore.setState(e=>({...e,isSubmitting:!0}));let n=()=>{this.baseStore.setState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields(`submit`),!this.state.isFieldsValid)n(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),L.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`validateAllFields`,errors:Object.values(this.state.fieldMeta).map(e=>e.errors).flat()});else if(await this.validate(`submit`),!this.state.isValid)n(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),L.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`validate`,errors:this.state.errors});else{N(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance?.triggerOnSubmitListener()})}),this.options.listeners?.onSubmit?.({formApi:this,meta:t});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:t}),N(()=>{this.baseStore.setState(e=>({...e,isSubmitted:!0,isSubmitSuccessful:!0})),L.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),n()})}catch(e){throw this.baseStore.setState(e=>({...e,isSubmitSuccessful:!1})),L.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`inflight`,onError:e}),n(),e}}},this.getFieldValue=e=>Le(this.state.values,e),this.getFieldMeta=e=>this.state.fieldMeta[e],this.getFormGroupMeta=e=>this.formGroupMetaDerived.state[e],this.getFieldInfo=e=>this.fieldInfo[e]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.setFieldMeta=(e,t)=>{this.baseStore.setState(n=>({...n,fieldMetaBase:{...n.fieldMetaBase,[e]:R(t,n.fieldMetaBase[e])}}))},this.resetFieldMeta=e=>Object.keys(e).reduce((e,t)=>{let n=t;return e[n]=Y,e},{}),this.setFieldValue=(e,t,n)=>{let r=n?.dontUpdateMeta??!1,i=n?.dontRunListeners??!1,a=n?.dontValidate??!1;N(()=>{r||this.setFieldMeta(e,e=>({...e,isTouched:!0,isDirty:!0,errorMap:{...e?.errorMap,onMount:void 0}})),this.baseStore.setState(n=>({...n,values:z(n.values,e,t)}))}),i||this.getFieldInfo(e).instance?.triggerOnChangeListener(),a||this.validateField(e,`change`)},this.deleteField=e=>{let t=[...Object.keys(this.fieldInfo).filter(t=>{let n=e.toString();return t.startsWith(`${n}.`)||t.startsWith(`${n}[`)}),e];this.baseStore.setState(e=>{let n={...e};return t.forEach(e=>{n.values=Re(n.values,e),delete this.fieldInfo[e],delete n.fieldMetaBase[e]}),n})},this.pushFieldValue=(e,t,n)=>{this.setFieldValue(e,e=>[...Array.isArray(e)?e:[],t],n),X(this).bumpArrayVersion(e)},this.insertFieldValue=async(e,t,n,r)=>{this.setFieldValue(e,e=>[...e.slice(0,t),n,...e.slice(t)],U(r,{dontValidate:!0}));let i=r?.dontValidate??!1;i||await this.validateField(e,`change`),X(this).handleArrayInsert(e,t),i||await this.validateArrayFieldsStartingFrom(e,t,`change`)},this.replaceFieldValue=async(e,t,n,r)=>{this.setFieldValue(e,e=>e.map((e,r)=>r===t?n:e),U(r,{dontValidate:!0})),X(this).bumpArrayVersion(e),(r?.dontValidate??!1)||(await this.validateField(e,`change`),await this.validateArrayFieldsStartingFrom(e,t,`change`))},this.removeFieldValue=async(e,t,n)=>{let r=this.getFieldValue(e),i=Array.isArray(r)?Math.max(r.length-1,0):null;if(this.setFieldValue(e,e=>e.filter((e,n)=>n!==t),U(n,{dontValidate:!0})),X(this).handleArrayRemove(e,t),i!==null){let t=`${e}[${i}]`;this.deleteField(t)}(n?.dontValidate??!1)||(await this.validateField(e,`change`),await this.validateArrayFieldsStartingFrom(e,t,`change`))},this.swapFieldValues=(e,t,n,r)=>{this.setFieldValue(e,e=>{let r=e[t],i=e[n];return z(z(e,`${t}`,i),`${n}`,r)},U(r,{dontValidate:!0})),X(this).handleArraySwap(e,t,n),(r?.dontValidate??!1)||(this.validateField(e,`change`),this.validateField(`${e}[${t}]`,`change`),this.validateField(`${e}[${n}]`,`change`))},this.moveFieldValues=(e,t,n,r)=>{this.setFieldValue(e,e=>{let r=[...e];return r.splice(n,0,r.splice(t,1)[0]),r},U(r,{dontValidate:!0})),X(this).handleArrayMove(e,t,n),(r?.dontValidate??!1)||(this.validateField(e,`change`),this.validateField(`${e}[${t}]`,`change`),this.validateField(`${e}[${n}]`,`change`))},this.clearFieldValues=(e,t)=>{let n=this.getFieldValue(e),r=Array.isArray(n)?Math.max(n.length-1,0):null;if(this.setFieldValue(e,[],U(t,{dontValidate:!0})),X(this).bumpArrayVersion(e),r!==null)for(let t=0;t<=r;t++){let n=`${e}[${t}]`;this.deleteField(n)}(t?.dontValidate??!1)||this.validateField(e,`change`)},this.resetField=e=>{this.baseStore.setState(t=>{let n=this.getFieldInfo(e).instance?.options.defaultValue,r=Le(this.options.defaultValues,e),i=n??r;return{...t,fieldMetaBase:{...t.fieldMetaBase,[e]:Y},values:i===void 0?t.values:z(t.values,e,i)}})},this.setErrorMap=e=>{N(()=>{Object.entries(e).forEach(([e,t])=>{let n=e;if(Ke(t)){let{formError:e,fieldErrors:r}=it(t);for(let e of Object.keys(this.fieldInfo))this.getFieldMeta(e)&&this.setFieldMeta(e,t=>({...t,errorMap:{...t.errorMap,[n]:r?.[e]},errorSourceMap:{...t.errorSourceMap,[n]:`form`}}));this.baseStore.setState(t=>({...t,errorMap:{...t.errorMap,[n]:e}}))}else this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[n]:t}}))})})},this.getAllErrors=()=>({form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((e,[t,n])=>(Object.keys(n).length&&n.errors.length&&(e[t]={errors:n.errors,errorMap:n.errorMap}),e),{})}),this.parseValuesWithSchema=e=>J.validate({value:this.state.values,validationSource:`form`},e),this.parseValuesWithSchemaAsync=e=>J.validateAsync({value:this.state.values,validationSource:`form`},e),this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=e?.formId??Ze(),this._devtoolsSubmissionOverride=!1;let t=nt({...e?.defaultState,values:e?.defaultValues??e?.defaultState?.values});if(e?.transform){t=e.transform({state:t}).state;for(let e of Object.keys(t.errorMap)){let n=t.errorMap[e];if(n!==void 0&&Ke(n))for(let r of Object.keys(n.fields)){let i=n.fields[r];if(i===void 0)continue;let a=t.fieldMetaBase[r];t.fieldMetaBase[r]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,_arrayVersion:0,_pendingValidationsCount:0,...a??{},errorSourceMap:{...a?.errorSourceMap??{},onChange:`form`},errorMap:{...a?.errorMap??{},[e]:i}}}}}this.baseStore=P(t);let n;this.fieldMetaDerived=P(e=>{let t=this.baseStore.get(),r=0,i={};for(let a of Object.keys(t.fieldMetaBase)){let o=t.fieldMetaBase[a],s=n?.fieldMetaBase[a],c=e?.[a],l=Le(t.values,a),u=c?.errors;if(!s||o.errorMap!==s.errorMap){u=Object.values(o.errorMap??{}).filter(e=>e!==void 0);let e=this.getFieldInfo(a)?.instance;(!e||!e.options.disableErrorFlat)&&(u=u.flat(1))}let d=!Ge(u),f=!o.isDirty,p=H(l,this.getFieldInfo(a)?.instance?.options.defaultValue??Le(this.options.defaultValues,a));c&&c.isPristine===f&&c.isValid===d&&c.isDefaultValue===p&&c.errors===u&&o===s?(i[a]=c,r++):i[a]={...o,errors:u??[],isPristine:f,isValid:d,isDefaultValue:p}}return Object.keys(t.fieldMetaBase).length?e&&r===Object.keys(t.fieldMetaBase).length?e:(n=this.baseStore.get(),i):i}),this.formGroupMetaDerived=P(e=>{let t=this.baseStore.get(),n=this.fieldMetaDerived.get(),r={};for(let i of this.formGroupApis){let a=i.name,o=t.formGroupStateBase[a]??{isSubmitted:!1,isSubmitting:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1},s=n[a],c=!1,l=!0,u=!1,d=!1,f=!0,p=!1;for(let e in n){if(e===a||!K(a,e))continue;let t=n[e];t&&(t.isValidating&&(c=!0),t.isValid||(l=!1),t.isTouched&&(u=!0),t.isBlurred&&(d=!0),t.isDefaultValue||(f=!1),t.isDirty&&(p=!0))}let m=!p,h=!!c||o.isValidating,g=s?.errorMap??{},_=s?.errorSourceMap??{},v=!!(g.onMount||Object.entries(n).some(([e,t])=>t&&e!==a&&K(a,e)&&t.errorMap.onMount)),y=e?.[a],b=y?.errors??[];(!y||y.__srcErrorMap!==g)&&(b=Object.values(g).reduce((e,t)=>{if(t===void 0)return e;if(t&&typeof t==`object`&&`fields`in t){let n=t.group;return n!==void 0&&e.push(n),e}return e.push(t),e},[]));let x=b.length===0,S=l&&x,C=i.options.canSubmitWhenInvalid??!1,w=o.submissionAttempts===0&&!u&&!v||!h&&!o.isSubmitting&&S||C;if(y&&y.errorMap===g&&y.errorSourceMap===_&&y.errors===b&&y.isFieldsValidating===c&&y.isFieldsValid===l&&y.isGroupValid===x&&y.isValid===S&&y.canSubmit===w&&y.isTouched===u&&y.isBlurred===d&&y.isPristine===m&&y.isDefaultValue===f&&y.isDirty===p&&y.isValidating===h&&y.isSubmitting===o.isSubmitting&&y.isSubmitted===o.isSubmitted&&y.submissionAttempts===o.submissionAttempts&&y.isSubmitSuccessful===o.isSubmitSuccessful){r[a]=y;continue}let T={...o,errorMap:g,errorSourceMap:_,_arrayVersion:s?._arrayVersion??0,isTouched:u,isBlurred:d,isDirty:p,isPristine:m,isDefaultValue:f,isValid:S,errors:b,isValidating:h,isFieldsValidating:c,isFieldsValid:l,isGroupValid:x,canSubmit:w};Object.defineProperty(T,"__srcErrorMap",{value:g,enumerable:!1,configurable:!0}),r[a]=T}return r});let r;this.store=P(e=>{let t=this.baseStore.get(),n=this.fieldMetaDerived.get(),i=Object.values(n).filter(Boolean),a=i.some(e=>e.isValidating),o=i.every(e=>e.isValid),s=i.some(e=>e.isTouched),c=i.some(e=>e.isBlurred),l=i.every(e=>e.isDefaultValue),u=s&&t.errorMap?.onMount,d=i.some(e=>e.isDirty),f=!d,p=!!(t.errorMap?.onMount||i.some(e=>e?.errorMap?.onMount)),m=!!a,h=e?.errors??[];(!r||t.errorMap!==r.errorMap)&&(h=Object.values(t.errorMap).reduce((e,t)=>t===void 0?e:t&&Ke(t)?(e.push(t.form),e):(e.push(t),e),[]));let g=h.length===0,_=o&&g,v=this.options.canSubmitWhenInvalid??!1,y=t.submissionAttempts===0&&!s&&!p||!m&&!t.isSubmitting&&_||v,b=t.errorMap;if(u&&(h=h.filter(e=>e!==t.errorMap.onMount),b=Object.assign(b,{onMount:void 0})),e&&r&&e.errorMap===b&&e.fieldMeta===this.fieldMetaDerived.state&&e.errors===h&&e.isFieldsValidating===a&&e.isFieldsValid===o&&e.isFormValid===g&&e.isValid===_&&e.canSubmit===y&&e.isTouched===s&&e.isBlurred===c&&e.isPristine===f&&e.isDefaultValue===l&&e.isDirty===d&&H(r,t))return e;let x={...t,errorMap:b,fieldMeta:this.fieldMetaDerived.state,errors:h,isFieldsValidating:a,isFieldsValid:o,isFormValid:g,isValid:_,canSubmit:y,isTouched:s,isBlurred:c,isPristine:f,isDefaultValue:l,isDirty:d};return r=this.baseStore.get(),x}),this.handleSubmit=this.handleSubmit.bind(this),this.update(e||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(e){return tt(e.validate)?J[e.type](e.value,e.validate):e.validate(e.value)}handleSubmit(e){return this._handleSubmit(e)}};function it(e){return e?Ke(e)?{formError:it(e.form).formError,fieldErrors:e.fields}:{formError:e}:{formError:void 0}}function Z(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}var at=class e{constructor(t){this.options={},this.mount=()=>{this.options.defaultValue!==void 0&&!this.getMeta().isTouched&&this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let e=this.getInfo();e.instance=this,this.update(this.options);let{onMount:t}=this.options.validators||{};if(t){let e=this.runValidator({validate:t,value:{value:this.state.value,fieldApi:this,validationSource:`field`},type:`validate`});e&&this.setMeta(t=>({...t,errorMap:{...t?.errorMap,onMount:e},errorSourceMap:{...t?.errorSourceMap,onMount:`field`}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(let[e,t]of Object.entries(this.timeoutIds.validations))t&&(clearTimeout(t),this.timeoutIds.validations[e]=null);for(let[e,t]of Object.entries(this.timeoutIds.listeners))t&&(clearTimeout(t),this.timeoutIds.listeners[e]=null);for(let[e,t]of Object.entries(this.timeoutIds.formListeners))t&&(clearTimeout(t),this.timeoutIds.formListeners[e]=null);let e=this.form.fieldInfo[this.name];if(e&&e.instance===this){for(let[t,n]of Object.entries(e.validationMetaMap))n?.lastAbortController.abort(),e.validationMetaMap[t]=void 0;this.form.baseStore.setState(e=>({...e,fieldMetaBase:{...e.fieldMetaBase,[this.name]:{...Y,isTouched:e.fieldMetaBase[this.name]?.isTouched??Y.isTouched,isBlurred:e.fieldMetaBase[this.name]?.isBlurred??Y.isBlurred,isDirty:e.fieldMetaBase[this.name]?.isDirty??Y.isDirty}}})),e.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}}},this.update=e=>{this.options=e,this.name=e.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0&&(H(this.form.getFieldValue(this.name),e.defaultValue)||this.form.setFieldValue(this.name,e.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})),this.form.getFieldMeta(this.name)||this.form.setFieldMeta(this.name,this.state.meta)},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(e,t)=>{this.form.setFieldValue(this.name,e,U(t,{dontRunListeners:!0,dontValidate:!0})),t?.dontRunListeners||this.triggerOnChangeListener(),t?.dontValidate||this.validate(`change`)},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(e,t)=>{this.form.pushFieldValue(this.name,e,U(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.insertValue=(e,t,n)=>{this.form.insertFieldValue(this.name,e,t,U(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.replaceValue=(e,t,n)=>{this.form.replaceFieldValue(this.name,e,t,U(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.removeValue=(e,t)=>{this.form.removeFieldValue(this.name,e,U(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.swapValues=(e,t,n)=>{this.form.swapFieldValues(this.name,e,t,U(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.moveValue=(e,t,n)=>{this.form.moveFieldValues(this.name,e,t,U(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.clearValues=e=>{this.form.clearFieldValues(this.name,U(e,{dontRunListeners:!0})),e?.dontRunListeners||this.triggerOnChangeListener()},this.getLinkedFields=t=>{let n=Object.values(this.form.fieldInfo),r=[];for(let i of n){if(!i.instance||!(i.instance instanceof e))continue;let{onChangeListenTo:n,onBlurListenTo:a}=i.instance.options.validators||{};t===`change`&&n?.includes(this.name)&&r.push(i.instance),t===`blur`&&a?.includes(this.name)&&r.push(i.instance)}return r},this.validateSync=(e,t)=>{let n=B(e,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||q}),r=this.getLinkedFields(e).reduce((t,n)=>{let r=B(e,{...n.options,form:n.form,fieldName:n.name,validationLogic:n.form.options.validationLogic||q});return r.forEach(e=>{e.field=n}),t.concat(r)},[]),i=!1;N(()=>{let e=(e,n)=>{let r=Q(n.cause),a=n.validate?ot(e.runValidator({validate:n.validate,value:{value:e.store.state.value,validationSource:`field`,fieldApi:e},type:`validate`})):void 0,o=t[r],{newErrorValue:s,newSource:c}=Je({formLevelError:o,fieldLevelError:a});e.state.meta.errorMap?.[r]!==s&&e.setMeta(e=>({...e,errorMap:{...e.errorMap,[r]:s},errorSourceMap:{...e.errorSourceMap,[r]:c}})),s&&(i=!0)};for(let t of n)e(this,t);for(let t of r)t.validate&&e(t.field,t)});let a=Q(`submit`);return this.state.meta.errorMap?.[a]&&e!==`submit`&&!i&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[a]:void 0},errorSourceMap:{...e.errorSourceMap,[a]:void 0}})),{hasErrored:i}},this.validateAsync=async(e,t)=>{let n=V(e,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||q}),r=await t,i=this.getLinkedFields(e).reduce((t,n)=>{let r=V(e,{...n.options,form:n.form,fieldName:n.name,validationLogic:n.form.options.validationLogic||q});return r.forEach(e=>{e.field=n}),t.concat(r)},[]),a=[],o=[],s=n.some(e=>e.validate),c=Array.from(new Set(i.filter(e=>e.validate).map(e=>e.field)));N(()=>{s&&this.startValidation();for(let e of c)e.startValidation()});let l=(e,t,n)=>{let i=Q(t.cause),a=e.getInfo();a.validationMetaMap[i]?.lastAbortController.abort();let o=new AbortController;a.validationMetaMap[i]={lastAbortController:o},n.push(new Promise(async n=>{let a;try{a=await new Promise((n,r)=>{e.timeoutIds.validations[t.cause]&&(clearTimeout(e.timeoutIds.validations[t.cause]),e.endValidation()),e.timeoutIds.validations[t.cause]=setTimeout(async()=>{if(o.signal.aborted)return n(void 0);try{n(await this.runValidator({validate:t.validate,value:{value:e.store.state.value,fieldApi:e,signal:o.signal,validationSource:`field`},type:`validateAsync`}))}catch(e){r(e)}},t.debounceMs)})}catch(e){a=e}if(o.signal.aborted)return n(void 0);let s=ot(a),c=r[e.name]?.[i],{newErrorValue:l,newSource:u}=Je({formLevelError:c,fieldLevelError:s});if(e.getInfo().instance!==e)return n(void 0);e.setMeta(e=>({...e,errorMap:{...e?.errorMap,[i]:l},errorSourceMap:{...e.errorSourceMap,[i]:u}})),n(l)}))};for(let e of n)e.validate&&l(this,e,a);for(let e of i)e.validate&&l(e.field,e,o);let u=[];return(a.length||o.length)&&(u=await Promise.all(a),await Promise.all(o)),N(()=>{s&&this.endValidation();for(let e of c)e.endValidation()}),u.filter(Boolean)},this.validate=(e,t)=>{if(!this.state.meta.isTouched)return[];let n=t?.skipGroupValidation?[]:Array.from(this.form.formGroupApis).filter(e=>this.name.startsWith(e.name)),r=(t?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(e)).fieldsErrorMap[this.name]??{};if(!t?.skipFormValidation)for(let t of n){if(t.state.meta.submissionAttempts===0)continue;let{fieldsErrorMap:n}=this.form.validateSync(e,{group:t,dontUpdateFormErrorMap:!0,filterFieldNames:e=>K(t.name,e)});r={...r,...n[this.name]??{}}}let{hasErrored:i}=this.validateSync(e,r),a=new WeakMap;for(let t of n){let{hasErrored:n}=t.validateSync(e,{},{skipRelatedFieldValidation:!0});a.set(t,n)}if(i&&!this.options.asyncAlways){this.getInfo().validationMetaMap[Q(e)]?.lastAbortController.abort();let t=[];for(let r of n)r.getInfo().validationMetaMap[Q(e)]?.lastAbortController.abort(),t.push(r.state.meta.errors);return[...this.state.meta.errors,...t.flat()]}let o=t?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(e),s=this.validateAsync(e,o),c=[];for(let t of n)(!a.get(t)||t.options.asyncAlways)&&c.push(t.validateAsync(e,o,{skipRelatedFieldValidation:!0}));return c.length===0?s:Promise.all([s,...c]).then(e=>e.flat())},this.handleChange=e=>{this.setValue(e)},this.handleBlur=()=>{this.state.meta.isTouched||this.setMeta(e=>({...e,isTouched:!0})),this.state.meta.isBlurred||this.setMeta(e=>({...e,isBlurred:!0})),this.validate(`blur`),this.triggerOnBlurListener()},this.setErrorMap=e=>{this.setMeta(t=>({...t,errorMap:{...t.errorMap,...e}}))},this.parseValueWithSchema=e=>J.validate({value:this.state.value,validationSource:`field`},e),this.parseValueWithSchemaAsync=e=>J.validateAsync({value:this.state.value,validationSource:`field`},e),this.triggerOnBlurListener=()=>{let e=this.form.options.listeners?.onBlurDebounceMs;e&&e>0?(this.timeoutIds.formListeners.blur&&clearTimeout(this.timeoutIds.formListeners.blur),this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onBlurDebounceMs;t&&t>0?(this.timeoutIds.listeners.blur&&clearTimeout(this.timeoutIds.listeners.blur),this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},this.triggerOnChangeListener=()=>{let e=this.form.options.listeners?.onChangeDebounceMs;e&&e>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onChangeDebounceMs;t&&t>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this});for(let e of this.form.formGroupApis)K(e.name,this.name)&&e.triggerOnChangeListener()},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,fieldApi:this})},this.form=t.form,this.name=t.name,this.options=t,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=P(e=>{this.form.store.get();let n=this.form.getFieldMeta(this.name)??{...Y,...t.defaultMeta},r=this.form.getFieldValue(this.name);return!n.isTouched&&r===void 0&&this.options.defaultValue!==void 0&&!H(r,this.options.defaultValue)&&(r=this.options.defaultValue),e&&e.value===r&&e.meta===n?e:{value:r,meta:n}})}get state(){return this.store.state}runValidator(e){return tt(e.validate)?J[e.type](e.value,e.validate):e.validate(e.value)}startValidation(){this.setMeta(e=>{let t=e._pendingValidationsCount+1;return{...e,_pendingValidationsCount:t,isValidating:t>0&&!e.isValidating||e.isValidating}})}endValidation(){this.setMeta(e=>{let t=Math.max(0,e._pendingValidationsCount-1);return{...e,_pendingValidationsCount:t,isValidating:t===0&&e.isValidating?!1:e.isValidating}})}};function ot(e){if(e)return e}function Q(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}function st(e){return{isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1}}function ct(e){return{...Y,...e,errors:[],isPristine:!0,isValid:!0,isDefaultValue:!0,isFieldsValidating:!1,isFieldsValid:!0,isGroupValid:!0,canSubmit:!0,isSubmitting:!1,isSubmitted:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1}}var lt=class e{constructor(t){this.options={},this.setFormGroupState=e=>{this.form.baseStore.setState(t=>{let n=t.formGroupStateBase[this.name]??st({});return{...t,formGroupStateBase:{...t.formGroupStateBase,[this.name]:e(n)}}})},this._lastDistributedFieldNames={},this.update=e=>{this.options=e,this.name=e.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0&&(H(this.form.getFieldValue(this.name),e.defaultValue)||this.form.setFieldValue(this.name,e.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})),this.form.getFieldMeta(this.name)||this.form.setFieldMeta(this.name,{...Y,...this.options.defaultMeta})},this.mount=()=>{this.update(this.options),this.form.formGroupApis.add(this),this.fieldInfo.instance=this,this.form.baseStore.setState(e=>({...e,formGroupStateBase:{...e.formGroupStateBase,[this.name]:e.formGroupStateBase[this.name]??st({...this.options.defaultState})}}));let{onMount:e}=this.options.validators||{};if(e){let t=this.runValidator({validate:e,value:{value:this.state.value,groupApi:this,validationSource:`form`},type:`validate`}),n=t,r;dt(t)&&(n=t.group,r=t.fields);let i=ut(n);i&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,onMount:i},errorSourceMap:{...e.errorSourceMap,onMount:`field`}})),this.distributeFieldErrors(`onMount`,r)}return this.options.listeners?.onMount?.({value:this.state.value,groupApi:this}),()=>{for(let[e,t]of Object.entries(this.timeoutIds.validations))t&&(clearTimeout(t),this.timeoutIds.validations[e]=null);for(let[e,t]of Object.entries(this.timeoutIds.listeners))t&&(clearTimeout(t),this.timeoutIds.listeners[e]=null);for(let[e,t]of Object.entries(this.timeoutIds.formListeners))t&&(clearTimeout(t),this.timeoutIds.formListeners[e]=null);if(this.fieldInfo.instance===this){for(let[e,t]of Object.entries(this.fieldInfo.validationMetaMap))t?.lastAbortController.abort(),this.fieldInfo.validationMetaMap[e]=void 0;this.form.formGroupApis.delete(this),this.form.baseStore.setState(e=>({...e,formGroupStateBase:{...e.formGroupStateBase,[this.name]:st({})}})),this.fieldInfo.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,groupApi:this})}}},this.setValue=(e,t)=>{this.form.setFieldValue(this.name,e,U(t,{dontRunListeners:!0,dontValidate:!0})),t?.dontRunListeners||this.triggerOnChangeListener(),t?.dontValidate||this.validate(`change`)},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.fieldInfo,this.getRelatedFields=()=>{let e=Object.values(this.form.fieldInfo),t=[];for(let n of e)n.instance&&n.instance instanceof at&&n.instance.name.startsWith(this.name)&&t.push(n.instance);return t},this.getRelatedFieldMetasDerived=()=>{let e=Object.entries(this.form.fieldMetaDerived.state),t=[];for(let[n,r]of e)n!==this.name&&K(this.name,n)&&t.push({...r,name:n});return t},this.buildChildFieldName=e=>e===``?this.name:e.startsWith(`[`)?`${this.name}${e}`:`${this.name}.${e}`,this.distributeFieldErrors=(e,t)=>{let n=this._lastDistributedFieldNames[e]??new Set,r=new Set;if(t)for(let[e,n]of Object.entries(t))n!=null&&n!==!1&&r.add(this.buildChildFieldName(e));let i=new Set([...n,...r]),a=!1;for(let n of i){let r=n.startsWith(this.name+`[`)?n.slice(this.name.length):n.slice(this.name.length+1),i=t?.[r],o=this.form.getFieldMeta(n);if(!o&&!i)continue;let s=o?.errorMap[e],{newErrorValue:c,newSource:l}=qe({newFormValidatorError:i,isPreviousErrorFromFormValidator:o?.errorSourceMap[e]===`form`,previousErrorValue:s});c&&(a=!0),(s!==c||o?.errorSourceMap[e]!==l)&&this.form.setFieldMeta(n,(t=Y)=>({...t,errorMap:{...t.errorMap,[e]:c},errorSourceMap:{...t.errorSourceMap,[e]:l}}))}return this._lastDistributedFieldNames[e]=r,a},this.validateSync=(t,n,r={})=>{let i=B(t,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||q}),a=(r.skipRelatedFieldValidation?[]:this.getRelatedFields()).reduce((e,n)=>{let r=B(t,{...n.options,form:n.form,validationLogic:n.form.options.validationLogic||q});return r.forEach(e=>{e.field=n}),e.concat(r)},[]),o=!1;N(()=>{let t=(t,r)=>{let i=pt(r.cause),a=t===this,s;r.validate&&(s=t.runValidator({validate:r.validate,value:{value:t.store.state.value,validationSource:a?`form`:`field`,...t instanceof e?{groupApi:t}:{fieldApi:t}},type:`validate`}));let c=s,l;a&&dt(s)&&(c=s.group,l=s.fields);let u=ut(c),d=n[i],{newErrorValue:f,newSource:p}=Je({formLevelError:d,fieldLevelError:u});t.state.meta.errorMap?.[i]!==f&&t.setMeta(e=>({...e,errorMap:{...e.errorMap,[i]:f},errorSourceMap:{...e.errorSourceMap,[i]:p}})),f&&(o=!0),a&&this.distributeFieldErrors(i,l)&&(o=!0)};for(let e of i)t(this,e);for(let e of a)e.validate&&t(e.field,e)});let s=pt(`submit`);return this.state.meta.errorMap?.[s]&&t!==`submit`&&!o&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[s]:void 0},errorSourceMap:{...e.errorSourceMap,[s]:void 0}})),{hasErrored:o}},this.validateAsync=async(t,n,r={})=>{let i=V(t,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||q}),a=await n,o=r.skipRelatedFieldValidation?[]:this.getRelatedFields(),s=o.reduce((e,n)=>{let r=V(t,{...n.options,form:n.form,validationLogic:n.form.options.validationLogic||q});return r.forEach(e=>{e.field=n}),e.concat(r)},[]),c=[],l=[],u=i.some(e=>e.validate)||s.some(e=>e.validate);if(u){this.state.meta.isValidating||this.setMeta(e=>({...e,isValidating:!0}));for(let e of o)e.setMeta(e=>({...e,isValidating:!0}))}let d=(t,n,r)=>{let i=pt(n.cause),o=t.getInfo();o.validationMetaMap[i]?.lastAbortController.abort();let s=new AbortController;o.validationMetaMap[i]={lastAbortController:s};let c=t===this;r.push(new Promise(async r=>{let o;try{o=await new Promise((r,i)=>{t.timeoutIds.validations[n.cause]&&clearTimeout(t.timeoutIds.validations[n.cause]),t.timeoutIds.validations[n.cause]=setTimeout(async()=>{if(s.signal.aborted)return r(void 0);try{r(await this.runValidator({validate:n.validate,value:{value:t.store.state.value,signal:s.signal,validationSource:c?`form`:`field`,...t instanceof e?{groupApi:t}:{fieldApi:t}},type:`validateAsync`}))}catch(e){i(e)}},n.debounceMs)})}catch(e){o=e}if(s.signal.aborted)return r(void 0);let l=o,u;c&&dt(o)&&(l=o.group,u=o.fields);let d=ut(l),f=a[t.name]?.[i],{newErrorValue:p,newSource:m}=Je({formLevelError:f,fieldLevelError:d});if(t.getInfo().instance!==t)return r(void 0);t.setMeta(e=>({...e,errorMap:{...e?.errorMap,[i]:p},errorSourceMap:{...e.errorSourceMap,[i]:m}})),c&&this.distributeFieldErrors(i,u),r(p)}))};for(let e of i)e.validate&&d(this,e,c);for(let e of s)e.validate&&d(e.field,e,l);let f=[];if((c.length||l.length)&&(f=await Promise.all(c),await Promise.all(l)),u){this.setMeta(e=>({...e,isValidating:!1}));for(let e of o)e.setMeta(e=>({...e,isValidating:!1}))}return f.filter(Boolean)},this.validateAllFields=async e=>{let t=[];return N(()=>{Object.values(this.getRelatedFields()).forEach(n=>{t.push(Promise.resolve().then(()=>n.validate(e,{skipFormValidation:!0,skipGroupValidation:!0}))),n.store.state.meta.isTouched||n.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=(e,t,n)=>this.form.validateArrayFieldsStartingFrom(e,t,n),this.validateField=(e,t)=>this.form.validateField(e,t),this.getFieldValue=e=>this.form.getFieldValue(e),this.getFieldMeta=e=>this.form.getFieldMeta(e),this.setFieldMeta=(e,t)=>this.form.setFieldMeta(e,t),this.setFieldValue=(e,t)=>this.form.setFieldValue(e,t),this.deleteField=e=>this.form.deleteField(e),this.pushFieldValue=(e,t)=>this.form.pushFieldValue(e,t),this.insertFieldValue=(e,t,n)=>this.form.insertFieldValue(e,t,n),this.replaceFieldValue=(e,t,n)=>this.form.replaceFieldValue(e,t,n),this.swapFieldValues=(e,t,n)=>this.form.swapFieldValues(e,t,n),this.moveFieldValues=(e,t,n)=>this.form.moveFieldValues(e,t,n),this.clearFieldValues=e=>this.form.clearFieldValues(e),this.resetField=e=>this.form.resetField(e),this.removeFieldValue=(e,t)=>this.form.removeFieldValue(e,t),this.areRelatedFieldsValid=()=>Object.values(this.getRelatedFields()).every(e=>e.state.meta.isValid),this.validate=(e,t)=>{let{fieldsErrorMap:n}=t?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(e,{dontUpdateFormErrorMap:!0,filterFieldNames:e=>K(this.name,e)}),{hasErrored:r}=this.validateSync(e,n[this.name]??{},{skipRelatedFieldValidation:t?.skipRelatedFieldValidation});if(r&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[pt(e)]?.lastAbortController.abort(),this.state.meta.errors;let i=t?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(e,{dontUpdateFormErrorMap:!0,filterFieldNames:e=>K(this.name,e)});return this.validateAsync(e,i,{skipRelatedFieldValidation:t?.skipRelatedFieldValidation})},this.triggerOnChangeListener=()=>{let e=this.form.options.listeners?.onChangeGroupDebounceMs;e&&e>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this})},e)):this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this});let t=this.options.listeners?.onChangeDebounceMs;t&&t>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},t)):this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,groupApi:this})},this._handleSubmit=async e=>{this.setFormGroupState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1,isSubmitSuccessful:!1})),N(()=>{Object.values(this.getRelatedFields()).forEach(e=>{e.state.meta.isTouched||e.setMeta(e=>({...e,isTouched:!0}))})});let t=e??this.options.onSubmitMeta;this.setFormGroupState(e=>({...e,isSubmitting:!0}));let n=()=>{this.setFormGroupState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields(`submit`),!this.areRelatedFieldsValid())n(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:t});else if(await this.validate(`submit`,{skipRelatedFieldValidation:!0}),!this.areRelatedFieldsValid()||!this.state.meta.isValid)n(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:t});else{N(()=>{Object.values(this.getRelatedFields()).forEach(e=>{e.options.listeners?.onGroupSubmit?.({value:e.state.value,fieldApi:e})})}),this.options.listeners?.onSubmit?.({groupApi:this,value:this.state.value});try{await this.options.onGroupSubmit?.({value:this.state.value,groupApi:this,meta:t}),N(()=>{this.setFormGroupState(e=>({...e,isSubmitted:!0,isSubmitSuccessful:!0})),n()})}catch(e){throw this.setFormGroupState(e=>({...e,isSubmitSuccessful:!1})),n(),e}}},this.form=t.form,this.name=t.name,this.options=t,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.fieldInfo={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.store=P(e=>{this.form.formGroupMetaDerived.get(),this.form.baseStore.get();let n=this.form.getFormGroupMeta(this.name)??ct(t.defaultMeta),r=this.form.getFieldValue(this.name);return!n.isTouched&&r===void 0&&this.options.defaultValue!==void 0&&!H(r,this.options.defaultValue)&&(r=this.options.defaultValue),e&&e.value===r&&e.meta===n?e:{value:r,meta:n}}),this.handleSubmit=this.handleSubmit.bind(this)}get state(){return this.store.state}runValidator(e){if(tt(e.validate)){let t=J[e.type](e.value,e.validate);return e.type===`validate`?ft(t):t.then(ft)}return e.validate(e.value)}handleSubmit(e){return this._handleSubmit(e)}};function ut(e){if(e)return e}function dt(e){return!!e&&typeof e==`object`&&`fields`in e}function ft(e){if(!e||typeof e!=`object`||!(`form`in e)&&!(`fields`in e))return e;let{form:t,fields:n,...r}=e;return{...r,group:t,fields:n}}function pt(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}function mt(e,t){if(!t)return;let n=Object.assign({},e,{state:G(e.state)});t(n),n.fieldInfo!==e.fieldInfo&&(e.fieldInfo=n.fieldInfo),n.options!==e.options&&(e.options=n.options);let r=Object.keys({values:null,validationMetaMap:null,fieldMetaBase:null,formGroupStateBase:null,isSubmitting:null,isSubmitted:null,isValidating:null,submissionAttempts:null,isSubmitSuccessful:null,_force_re_eval:null}).reduce((t,r)=>(e.state[r]!==n.state[r]&&(t[r]=n.state[r]),t),{});return N(()=>{Object.keys(r).length&&e.baseStore.setState(e=>({...e,...r})),n.state.errorMap!==e.state.errorMap&&e.setErrorMap(n.state.errorMap)}),n}var $=typeof window<`u`?F.useLayoutEffect:F.useEffect;function ht(e){let[t,n]=(0,F.useState)(()=>({form:e.form,name:e.name})),[r,i]=(0,F.useState)(()=>new at({...e})),a=r;(t.form!==e.form||t.name!==e.name)&&(a=new at({...e}),i(a),n({form:e.form,name:e.name}));let o=m(a.store,e.mode===`array`?e=>e.meta._arrayVersion||0:e=>e.value),s=m(a.store,e=>e.meta.isTouched),c=m(a.store,e=>e.meta.isBlurred),l=m(a.store,e=>e.meta.isDirty),u=m(a.store,e=>e.meta.errorMap),d=m(a.store,e=>e.meta.errorSourceMap),f=m(a.store,e=>e.meta.isValidating),p=(0,F.useMemo)(()=>({...a,get state(){return{value:e.mode===`array`?a.state.value:o,get meta(){return{...a.state.meta,isTouched:s,isBlurred:c,isDirty:l,errorMap:u,errorSourceMap:d,isValidating:f}}}}}),[a,e.mode,o,s,c,l,u,d,f]);return $(a.mount,[a]),$(()=>{a.update(e)}),p}var gt=(({children:e,...t})=>{let n=ht(t),r=(0,F.useMemo)(()=>R(e,n),[e,n]);return(0,I.jsx)(I.Fragment,{children:r})});function _t(){return(0,F.useState)(()=>Ze())[0]}var vt=F,yt=`19.3.0`.split(`.`)[0]===`17`?_t:vt.useId;function bt(e){let[t,n]=(0,F.useState)(()=>({form:e.form,name:e.name})),[r,i]=(0,F.useState)(()=>new lt({...e}));(t.form!==e.form||t.name!==e.name)&&(i(new lt({...e})),n({form:e.form,name:e.name}));let a=m(r.store,e=>e.value),o=m(r.store,e=>e.meta.isTouched),s=m(r.store,e=>e.meta.isBlurred),c=m(r.store,e=>e.meta.isDirty),l=m(r.store,e=>e.meta.errorMap),u=m(r.store,e=>e.meta.errorSourceMap),d=m(r.store,e=>e.meta.isValidating),f=m(r.store,e=>e.meta.isSubmitting),p=m(r.store,e=>e.meta.isSubmitted),h=m(r.store,e=>e.meta.submissionAttempts),g=m(r.store,e=>e.meta.isSubmitSuccessful),_=m(r.store,e=>e.meta.canSubmit),v=m(r.store,e=>e.meta.isValid),y=m(r.store,e=>e.meta.isFieldsValid),b=m(r.store,e=>e.meta.isFieldsValidating),x=m(r.store,e=>e.meta.isGroupValid),S=(0,F.useMemo)(()=>({...r,handleSubmit:((...e)=>r._handleSubmit(...e)),get state(){return{...r.state,value:a,get meta(){return{...r.state.meta,isTouched:o,isBlurred:s,isDirty:c,errorMap:l,errorSourceMap:u,isValidating:d,isSubmitting:f,isSubmitted:p,submissionAttempts:h,isSubmitSuccessful:g,canSubmit:_,isValid:v,isFieldsValid:y,isFieldsValidating:b,isGroupValid:x}}}}}),[r,a,o,s,c,l,u,d,f,p,h,g,_,v,y,b,x]);return $(r.mount,[r]),$(()=>{r.update(e)}),S}var xt=(({children:e,...t})=>{let n=bt(t),r=(0,F.useMemo)(()=>R(e,n),[e,n]);return(0,I.jsx)(I.Fragment,{children:r})});function St({form:e,selector:t=e=>e,children:n}){let r=m(e.store,t);return(0,I.jsx)(I.Fragment,{children:R(n,r)})}function Ct(e){let t=yt(),[n,r]=(0,F.useState)(e?.formId),[i,a]=(0,F.useState)(()=>new rt({...e,formId:e?.formId??t}));if(n!==e?.formId){let n=e?.formId??t;a(new rt({...e,formId:n})),r(n)}let o=(0,F.useMemo)(()=>{let e={...i,handleSubmit:((...e)=>i._handleSubmit(...e)),get formId(){return i._formId},get state(){return i.store.state}};return e.Field=function(e){return(0,I.jsx)(gt,{...e,form:i})},e.FormGroup=function(e){return(0,I.jsx)(xt,{...e,form:i})},e.Subscribe=function(e){return(0,I.jsx)(St,{form:i,selector:e.selector,children:e.children})},e},[i]);$(i.mount,[]),$(()=>{i.update(e)});let s=(0,F.useRef)(!1);return $(()=>{s.current&&e?.transform&&mt(i,e.transform)},[i,e?.transform]),$(()=>{s.current=!0}),o}var wt=e=>({publicUrl:e.publicUrl,ingestMode:e.ingestMode,pollIntervalSeconds:String(e.pollIntervalSeconds),maxBodyChars:String(e.maxBodyChars),retentionDays:String(e.retentionDays),approvalTtlHours:String(e.approvalTtlHours),webhookAllowlist:e.webhookAllowlist,pairingEnabled:e.pairingEnabled}),Tt=e=>({publicUrl:e.publicUrl.trim().replace(/\/+$/,``),ingestMode:e.ingestMode,pollIntervalSeconds:Number(e.pollIntervalSeconds),maxBodyChars:Number(e.maxBodyChars),retentionDays:Number(e.retentionDays),approvalTtlHours:Number(e.approvalTtlHours),webhookAllowlist:e.webhookAllowlist,pairingEnabled:e.pairingEnabled});function Et(e){let t;try{t=new URL(e.trim())}catch{return`Enter a full URL, e.g. https://mail.example.com or http://localhost:8425`}if(t.protocol!==`http:`&&t.protocol!==`https:`)return`Use http or https.`;if(t.search||t.hash)return`Leave out any ?query or #fragment.`}var Dt=(e,t,n)=>r=>{if(!/^\d+$/.test(r.trim()))return`${e} must be a whole number.`;let i=Number(r);if(i<t||i>n)return`${e} must be between ${t.toLocaleString()} and ${n.toLocaleString()}.`};function Ot(e){try{let t=new URL(e);return t.protocol===`http:`&&![`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname)}catch{return!1}}var kt=e=>e.length>253?`too long`:/[/]/.test(e)&&!/^[\d.:a-f]+\/\d{1,3}$/i.test(e)?`use a hostname, IP or CIDR like 10.0.0.0/8`:null;function At({settings:e,system:t}){let i=l(),o=Ct({defaultValues:wt(e),onSubmit:async({value:t,formApi:r})=>{let o=Tt(t),s=Object.fromEntries(Object.entries(o).filter(([t,n])=>JSON.stringify(n)!==JSON.stringify(e[t])));try{let e=await c(`/api/settings`,{method:`PATCH`,body:s});i.setQueryData(d.settings,e);for(let e of[d.system,d.googleClient,d.setupState])i.invalidateQueries({queryKey:e});r.reset(wt(e)),n.success(`Settings saved`)}catch(e){a(e,`Couldn't save settings`)}}}),s=JSON.stringify(wt(e));return(0,I.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),o.handleSubmit()},noValidate:!0,className:`space-y-6`,children:[(0,I.jsxs)(w,{children:[(0,I.jsxs)(x,{children:[(0,I.jsx)(C,{children:`Public URL`}),(0,I.jsx)(b,{children:`Where this instance is reachable. Used for the Google OAuth redirect and in the MCP URLs you give agents. Agents on other machines must be able to reach it.`})]}),(0,I.jsx)(S,{children:(0,I.jsx)(o.Field,{name:`publicUrl`,validators:{onChange:({value:e})=>Et(e)},children:e=>(0,I.jsxs)(M,{"data-invalid":!e.state.meta.isValid,children:[(0,I.jsx)(O,{htmlFor:e.name,children:`Public URL`}),(0,I.jsx)(fe,{id:e.name,className:`font-mono`,inputMode:`url`,spellCheck:!1,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),"aria-invalid":!e.state.meta.isValid}),e.state.meta.isValid?Ot(e.state.value)?(0,I.jsxs)(A,{className:`flex items-start gap-1.5`,children:[(0,I.jsx)(se,{className:`mt-0.5 size-3.5 shrink-0 text-warning`}),(0,I.jsx)(`span`,{children:`Plain http on a non-localhost address: Google can't redirect back here after sign-in, so connecting accounts uses paste mode (you paste the address you land on). Use https to avoid that.`})]}):(0,I.jsxs)(A,{children:[`MCP endpoint: `,e.state.value.replace(/\/+$/,``),`/mcp`]}):(0,I.jsx)(j,{children:e.state.meta.errors.join(` `)}),t&&t.addresses.length>0&&(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 pt-1 text-xs text-muted-foreground`,children:[(0,I.jsx)(`span`,{children:`This machine:`}),t.addresses.map(t=>(0,I.jsx)(r,{type:`button`,size:`xs`,variant:`outline`,className:`font-mono`,onClick:()=>e.handleChange(t),children:t},t))]})]})})})]}),(0,I.jsxs)(w,{children:[(0,I.jsxs)(x,{children:[(0,I.jsx)(C,{children:`Mail sync`}),(0,I.jsx)(b,{children:`How agentinbox learns about new mail.`})]}),(0,I.jsx)(S,{children:(0,I.jsxs)(k,{children:[(0,I.jsx)(o.Field,{name:`ingestMode`,children:e=>(0,I.jsxs)(M,{children:[(0,I.jsx)(O,{htmlFor:e.name,children:`Mode`}),(0,I.jsxs)(y,{value:e.state.value,onValueChange:t=>e.handleChange(t),children:[(0,I.jsx)(g,{id:e.name,className:`w-full sm:w-80`,children:(0,I.jsx)(h,{})}),(0,I.jsxs)(_,{children:[(0,I.jsx)(v,{value:`pubsub`,children:`Real-time (Gmail push via Pub/Sub)`}),(0,I.jsx)(v,{value:`poll`,children:`Polling`})]})]}),(0,I.jsx)(A,{children:e.state.value===`pubsub`?`Needs Pub/Sub provisioned (see below). Gmail notifies within seconds.`:`Checks every account's history on an interval. No extra Google setup.`})]})}),(0,I.jsx)(o.Field,{name:`pollIntervalSeconds`,validators:{onChange:({value:e})=>Dt(`Poll interval`,5,3600)(e)},children:e=>(0,I.jsx)(jt,{field:e,label:`Poll interval`,unit:`seconds`,description:`Used in polling mode, and as a safety net in real-time mode.`})})]})})]}),(0,I.jsxs)(w,{children:[(0,I.jsx)(x,{children:(0,I.jsx)(C,{children:`Agents and retention`})}),(0,I.jsx)(S,{children:(0,I.jsxs)(k,{className:`grid gap-6 sm:grid-cols-2`,children:[(0,I.jsx)(o.Field,{name:`maxBodyChars`,validators:{onChange:({value:e})=>Dt(`Max body characters`,0,1e6)(e)},children:e=>(0,I.jsx)(jt,{field:e,label:`Max body length`,unit:`characters`,description:`Per message returned to agents; longer bodies are truncated (and flagged). 0 = no limit.`})}),(0,I.jsx)(o.Field,{name:`approvalTtlHours`,validators:{onChange:({value:e})=>Dt(`Approval expiry`,1,720)(e)},children:e=>(0,I.jsx)(jt,{field:e,label:`Approvals expire after`,unit:`hours`,description:`Unanswered requests are rejected and their drafts deleted.`})}),(0,I.jsx)(o.Field,{name:`retentionDays`,validators:{onChange:({value:e})=>Dt(`Retention`,1,3650)(e)},children:e=>(0,I.jsx)(jt,{field:e,label:`Keep history for`,unit:`days`,description:`Events, webhook deliveries and audit entries older than this are deleted.`})})]})})]}),(0,I.jsxs)(w,{id:`webhook-allowlist`,className:`scroll-mt-20`,children:[(0,I.jsxs)(x,{children:[(0,I.jsx)(C,{children:`Webhook allowlist`}),(0,I.jsx)(b,{children:`Webhooks may not target private, loopback or link-local addresses (this stops a webhook URL from probing your network), except hosts listed here.`})]}),(0,I.jsx)(S,{children:(0,I.jsx)(o.Field,{name:`webhookAllowlist`,children:e=>(0,I.jsxs)(M,{children:[(0,I.jsx)(O,{htmlFor:`allowlist`,children:`Allowed private hosts`}),(0,I.jsx)(me,{id:`allowlist`,value:e.state.value,onChange:e.handleChange,placeholder:`e.g. 10.0.0.0/8, n8n.internal`,validate:kt}),(0,I.jsxs)(A,{className:`flex items-start gap-1.5`,children:[(0,I.jsx)(ae,{className:`mt-0.5 size-3.5 shrink-0`}),(0,I.jsxs)(`span`,{children:[`Hostnames, IPs or CIDR ranges, e.g. `,(0,I.jsx)(`code`,{className:`font-mono`,children:`127.0.0.0/8`}),`, `,(0,I.jsx)(`code`,{className:`font-mono`,children:`192.168.1.0/24`}),`,`,` `,(0,I.jsx)(`code`,{className:`font-mono`,children:`n8n.internal`}),`. Public hosts don't need to be listed.`]})]})]})})})]}),(0,I.jsx)(o.Subscribe,{selector:e=>[JSON.stringify(e.values)!==s,e.canSubmit,e.isSubmitting],children:([e,t,n])=>e?(0,I.jsxs)(`div`,{className:`sticky bottom-4 z-10 flex flex-wrap items-center justify-between gap-3 rounded-xl border bg-background/95 p-3 shadow-lg backdrop-blur`,children:[(0,I.jsx)(`span`,{className:`text-sm`,children:`You have unsaved changes.`}),(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(r,{type:`button`,variant:`ghost`,onClick:()=>o.reset(),children:`Discard`}),(0,I.jsxs)(r,{type:`submit`,disabled:!t||n,children:[n&&(0,I.jsx)(u,{}),` Save settings`]})]})]}):null})]})}function jt({field:e,label:t,unit:n,description:r}){return(0,I.jsxs)(M,{"data-invalid":!e.state.meta.isValid,children:[(0,I.jsx)(O,{htmlFor:e.name,children:t}),(0,I.jsxs)(ve,{className:`w-full sm:w-56`,children:[(0,I.jsx)(ge,{id:e.name,inputMode:`numeric`,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value.replace(/[^\d]/g,``)),"aria-invalid":!e.state.meta.isValid}),(0,I.jsx)(_e,{align:`inline-end`,children:(0,I.jsx)(he,{children:n})})]}),e.state.meta.isValid?(0,I.jsx)(A,{children:r}):(0,I.jsx)(j,{children:e.state.meta.errors.join(` `)})]})}export{ke as a,Ae as i,Et as n,we as o,Me as r,Se as s,At as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,f as t,ht as n,mt as r,o as i,pt as a,r as o,t as s,vt as c}from"./queries-a3M5_loa.js";import{r as l}from"./dist-B0e3Ju3r.js";import{r as u,t as d}from"./card-EQTpqntn.js";import{r as f}from"./common-PG6weTqi.js";import{n as p,t as m}from"./password-input-_m9Ycphv.js";import{a as h,i as g,n as _,r as v,t as y}from"./field-CcyMn3ey.js";import{K as b,S as x,g as S}from"./index-Bd4Y5wSp.js";import{t as C}from"./input-CMhmmHiH.js";var w={name:`terminal`,size:24,node:[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]};w.node;var T=e(w),E=c(n()),D=r();function O(){let e=S.useSearch().token,n=l(),r=a(),[c,w]=(0,E.useState)(e??``),[O,k]=(0,E.useState)(``),[A,j]=(0,E.useState)(``),[M,N]=(0,E.useState)(!1),[P,F]=(0,E.useState)(),[I,L]=(0,E.useState)(!1),R=O.length<10,z=A.length>0&&A!==O,B=c.trim()&&!R&&A===O;async function V(e){if(e.preventDefault(),N(!0),B){L(!0),F(void 0);try{await i(`/api/setup/claim`,{body:{token:c.trim(),password:O}}),r.setQueryData(s.setupStatus,{claimed:!0,authenticated:!0}),await n({to:`/get-started`})}catch(e){F(e)}finally{L(!1)}}}return(0,D.jsxs)(x,{title:`Welcome to agentinbox`,description:`Secure this console with an admin password. Next, we'll walk through connecting Gmail and your first agent.`,children:[(0,D.jsx)(d,{children:(0,D.jsx)(u,{children:(0,D.jsx)(`form`,{onSubmit:V,noValidate:!0,children:(0,D.jsxs)(g,{children:[e?(0,D.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border bg-muted/40 px-3 py-2 text-sm`,children:[(0,D.jsx)(b,{className:`size-4 shrink-0 text-success`}),(0,D.jsx)(`span`,{children:`Setup link verified from the terminal.`})]}):(0,D.jsxs)(y,{"data-invalid":M&&!c.trim(),children:[(0,D.jsx)(h,{htmlFor:`token`,children:`Setup token`}),(0,D.jsx)(C,{id:`token`,autoFocus:!0,autoComplete:`off`,spellCheck:!1,className:`font-mono`,value:c,onChange:e=>w(e.target.value),"aria-invalid":M&&!c.trim()}),(0,D.jsxs)(_,{className:`flex items-start gap-1.5`,children:[(0,D.jsx)(T,{className:`mt-0.5 size-3.5 shrink-0`}),(0,D.jsxs)(`span`,{children:[`Open the setup link that `,(0,D.jsx)(`code`,{className:`font-mono text-foreground`,children:`npx agentinbox-cli`}),` printed, or paste its token here.`]})]})]}),(0,D.jsxs)(y,{"data-invalid":M&&R,children:[(0,D.jsx)(h,{htmlFor:`password`,children:`Admin password`}),(0,D.jsx)(m,{id:`password`,autoFocus:!!e,autoComplete:`new-password`,value:O,onChange:e=>k(e.target.value),"aria-invalid":M&&R}),(0,D.jsx)(p,{password:O})]}),(0,D.jsxs)(y,{"data-invalid":z||M&&A!==O,children:[(0,D.jsx)(h,{htmlFor:`confirm`,children:`Confirm password`}),(0,D.jsx)(m,{id:`confirm`,autoComplete:`new-password`,value:A,onChange:e=>j(e.target.value),"aria-invalid":z||M&&A!==O}),(z||M&&A!==O)&&(0,D.jsx)(v,{children:`Passwords don't match.`})]}),P!==void 0&&(0,D.jsx)(f,{error:P}),(0,D.jsxs)(t,{type:`submit`,disabled:I||M&&!B,children:[I&&(0,D.jsx)(o,{}),`Create admin password`]})]})})})}),(0,D.jsx)(`p`,{className:`text-center text-xs text-balance text-muted-foreground`,children:`The password protects this console only. Agents get their own scoped API keys later.`})]})}export{O as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,f as t,ht as n,mt as r}from"./queries-a3M5_loa.js";import{t as i}from"./x-BHjDLXNO.js";import{F as a,I as o,L as s,N as c,P as l,R as u,z as d}from"./index-Bd4Y5wSp.js";n();var f=r();function p({...e}){return(0,f.jsx)(c,{"data-slot":`sheet`,...e})}function m({...e}){return(0,f.jsx)(u,{"data-slot":`sheet-portal`,...e})}function h({className:t,...n}){return(0,f.jsx)(s,{"data-slot":`sheet-overlay`,className:e(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t),...n})}var g={top:`inset-x-0 top-0 h-auto border-b`,bottom:`inset-x-0 bottom-0 h-auto border-t`,left:`inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`};function _({className:n,children:r,side:o=`right`,showCloseButton:s=!0,onInteractOutside:c,...u}){return(0,f.jsxs)(m,{children:[(0,f.jsx)(h,{}),(0,f.jsxs)(a,{"data-slot":`sheet-content`,"data-side":o,className:e(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,g[o],n),onInteractOutside:e=>{e.target?.closest?.(`[data-sonner-toaster]`)&&e.preventDefault(),c?.(e)},...u,children:[r,s&&(0,f.jsx)(l,{"data-slot":`sheet-close`,asChild:!0,children:(0,f.jsxs)(t,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,f.jsx)(i,{}),(0,f.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function v({className:t,...n}){return(0,f.jsx)(`div`,{"data-slot":`sheet-header`,className:e(`flex flex-col gap-0.5 p-4`,t),...n})}function y({className:t,...n}){return(0,f.jsx)(`div`,{"data-slot":`sheet-footer`,className:e(`mt-auto flex flex-col gap-2 p-4`,t),...n})}function b({className:t,...n}){return(0,f.jsx)(d,{"data-slot":`sheet-title`,className:e(`font-heading text-base font-medium text-foreground`,t),...n})}function x({className:t,...n}){return(0,f.jsx)(o,{"data-slot":`sheet-description`,className:e(`text-sm text-muted-foreground`,t),...n})}export{v as a,y as i,_ as n,b as o,x as r,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e}from"./queries-a3M5_loa.js";var t={name:`shield-alert`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e}from"./queries-a3M5_loa.js";var t={name:`stamp`,size:24,node:[[`path`,{d:`M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13`,key:`i9gjdv`}],[`path`,{d:`M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z`,key:`1vzg3v`}],[`path`,{d:`M5 22h14`,key:`ehvnwv`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ht as e,mt as t,pt as n,t as r,vt as i}from"./queries-a3M5_loa.js";var a=i(e(),1),o=t(),s=(0,a.createContext)({state:`connecting`,subscribe:()=>()=>{}}),c={event:[r.events,r.overview],delivery:[r.deliveries,r.webhooks,r.overview],approval:[r.approvals,r.overview],audit:[r.audit,r.agents,r.overview],account:[r.accounts,r.setupState,r.overview],pairing:[r.agents,r.overview]},l=[...new Set(Object.values(c).flat())];function u(e){return!!e&&typeof e==`object`&&typeof e.kind==`string`&&`data`in e}function d({children:e}){let t=n(),[r,i]=(0,a.useState)(`connecting`),d=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{let e=null,n,r,a=0,o=!1,s=!1,f=new Map,p=e=>{for(let t of e)f.set(t.join(`/`),t);r??=setTimeout(()=>{r=void 0;for(let e of f.values())t.invalidateQueries({queryKey:e});f.clear()},300)},m=()=>{s||(e?.close(),e=new EventSource(`/api/events/stream`,{withCredentials:!0}),e.onopen=()=>{o&&p(l),o=!0,a=0,i(`open`)},e.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}if(u(t)){p(c[t.kind]??[]);for(let e of d.current)e(t)}},e.onerror=()=>{if(!e||e.readyState!==EventSource.CLOSED){i(`reconnecting`);return}e.close(),i(o?`reconnecting`:`offline`);let t=Math.min(3e4,1e3*2**a++);clearTimeout(n),n=setTimeout(m,t)})},h=()=>{document.visibilityState===`visible`&&(!e||e.readyState===EventSource.CLOSED)&&(clearTimeout(n),a=0,m())};return m(),document.addEventListener(`visibilitychange`,h),()=>{s=!0,document.removeEventListener(`visibilitychange`,h),clearTimeout(n),clearTimeout(r),e?.close()}},[t]);let[f]=(0,a.useState)(()=>e=>(d.current.add(e),()=>void d.current.delete(e)));return(0,o.jsx)(s,{value:{state:r,subscribe:f},children:e})}var f=()=>(0,a.useContext)(s).state;function p(e){let{subscribe:t}=(0,a.useContext)(s),n=(0,a.useRef)(e);(0,a.useEffect)(()=>{n.current=e}),(0,a.useEffect)(()=>t(e=>n.current(e)),[t])}export{p as n,f as r,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,D as n,M as r,N as i,O as a,V as o,ht as s,k as c,mt as l,vt as u}from"./queries-a3M5_loa.js";import{t as d}from"./dist-B0e3Ju3r.js";import{A as f,M as p,j as m}from"./index-Bd4Y5wSp.js";var h=u(s(),1),g=l(),_=Object.defineProperty,v=(e,t)=>_(e,`name`,{value:t,configurable:!0}),y={Automatic:`automatic`,Manual:`manual`},b=`Tabs`,[x,S]=r(b,[p]),C=p(),[w,T]=x(b),E=h.forwardRef(v(function(e,t){let{__scopeTabs:r,value:a,onValueChange:o,defaultValue:s,orientation:l=`horizontal`,dir:u,activationMode:f=y.Automatic,...p}=e,m=d(u),[h,_]=c({prop:a,onChange:o,defaultProp:s??``,caller:b});return(0,g.jsx)(w,{scope:r,baseId:n(),value:h,onValueChange:_,orientation:l,dir:m,activationMode:f,children:(0,g.jsx)(i.div,{dir:m,"data-orientation":l,...p,ref:t})})},`Tabs`)),D=`TabsList`,O=h.forwardRef(v(function(e,t){let{__scopeTabs:n,loop:r=!0,...a}=e,o=T(D,n),s=C(n);return(0,g.jsx)(f,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:r,children:(0,g.jsx)(i.div,{role:`tablist`,"aria-orientation":o.orientation,...a,ref:t})})},`TabsList`)),k=`TabsTrigger`,A=h.forwardRef(v(function(t,n){let{__scopeTabs:r,value:a,disabled:o=!1,...s}=t,c=T(k,r),l=C(r),u=N(c.baseId,a),d=P(c.baseId,a),f=a===c.value;return(0,g.jsx)(m,{asChild:!0,...l,focusable:!o,active:f,children:(0,g.jsx)(i.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":o?``:void 0,disabled:o,id:u,...s,ref:n,onMouseDown:e(t.onMouseDown,e=>{!o&&e.button===0&&e.ctrlKey===!1?(e.currentTarget.focus(),c.onValueChange(a)):e.preventDefault()}),onKeyDown:e(t.onKeyDown,e=>{o||e.target!==e.currentTarget||[` `,`Enter`].includes(e.key)&&c.onValueChange(a)}),onFocus:e(t.onFocus,()=>{let e=c.activationMode!==y.Manual;!f&&!o&&e&&c.onValueChange(a)})})})},`TabsTrigger`)),j=`TabsContent`,M=h.forwardRef(v(function(e,t){let{__scopeTabs:n,value:r,forceMount:o,children:s,...c}=e,l=T(j,n),u=N(l.baseId,r),d=P(l.baseId,r),f=r===l.value,p=h.useRef(f);return h.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,g.jsx)(a,{present:o||f,children:({present:n})=>(0,g.jsx)(i.div,{"data-state":f?`active`:`inactive`,"data-orientation":l.orientation,role:`tabpanel`,"aria-labelledby":u,hidden:!n,id:d,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&s})})},`TabsContent`));function N(e,t){return`${e}-trigger-${t}`}v(N,`makeTriggerId`);function P(e,t){return`${e}-content-${t}`}v(P,`makeContentId`);function F({className:e,orientation:n=`horizontal`,...r}){return(0,g.jsx)(E,{"data-slot":`tabs`,"data-orientation":n,className:t(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...r})}var I=o(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function L({className:e,variant:n=`default`,...r}){return(0,g.jsx)(O,{"data-slot":`tabs-list`,"data-variant":n,className:t(I({variant:n}),e),...r})}function R({className:e,...n}){return(0,g.jsx)(A,{"data-slot":`tabs-trigger`,className:t(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...n})}function z({className:e,...n}){return(0,g.jsx)(M,{"data-slot":`tabs-content`,className:t(`flex-1 text-sm outline-none`,e),...n})}export{R as i,z as n,L as r,F as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e}from"./queries-a3M5_loa.js";var t={name:`tag`,size:24,node:[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,G as t,f as n,ht as r,mt as i,o as a,r as o,vt as s}from"./queries-a3M5_loa.js";import{t as c}from"./circle-x-Bi4IGwky.js";import{A as l,r as u}from"./common-PG6weTqi.js";import{K as d}from"./index-Bd4Y5wSp.js";var f={name:`plug-zap`,size:24,node:[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]],aliases:[`plug-zap-2`]};f.node;var p=t(f),m=s(r(),1),h=i();function g({agentId:t,className:r}){let[i,s]=(0,m.useState)(),[f,g]=(0,m.useState)(),[_,v]=(0,m.useState)(!1);return(0,h.jsxs)(`div`,{className:e(`space-y-3`,r),children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,h.jsxs)(n,{variant:`outline`,onClick:async()=>{v(!0),g(void 0);try{s(await a(`/api/agents/${encodeURIComponent(t)}/test`,{method:`POST`}))}catch(e){s(void 0),g(e)}finally{v(!1)}},disabled:_,children:[_?(0,h.jsx)(o,{}):(0,h.jsx)(p,{}),` Test connection`]}),(0,h.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Connects over MCP as this agent and lists the tools it gets.`})]}),f!==void 0&&(0,h.jsx)(u,{error:f,title:`Test failed`}),i&&(0,h.jsxs)(`div`,{className:e(`space-y-2 rounded-lg border p-3`,i.ok?`border-success/30 bg-success/5`:`border-destructive/30 bg-destructive/5`),children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium`,children:[i.ok?(0,h.jsx)(d,{className:`size-4 text-success`}):(0,h.jsx)(c,{className:`size-4 text-destructive`}),i.message]}),i.tools.length>0&&(0,h.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,h.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[i.tools.length,` tools available to this agent:`]}),(0,h.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:i.tools.map(e=>(0,h.jsx)(l,{variant:`secondary`,className:`font-mono font-normal`,children:e},e))})]})]})]})}export{g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,ht as t,mt as n}from"./queries-a3M5_loa.js";t();var r=n();function i({className:t,...n}){return(0,r.jsx)(`textarea`,{"data-slot":`textarea`,className:e(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,t),...n})}export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,D as r,G as i,I as a,M as o,N as s,O as c,R as l,S as u,V as d,W as f,_ as p,b as m,f as h,g,ht as _,k as v,m as y,mt as b,n as x,p as S,s as C,v as w,vt as T,w as E,x as D,y as O,z as k}from"./queries-a3M5_loa.js";import{t as A}from"./useQuery-DAhf1YDH.js";import{t as ee}from"./dist-B0e3Ju3r.js";import{A as j,d as M,u as N}from"./common-PG6weTqi.js";import{t as P}from"./search-gcYjitzV.js";import{t as F}from"./tag-CP72Kk6Y.js";import{t as te}from"./x-BHjDLXNO.js";import{n as ne,r as re,t as ie}from"./es2015-DPaldoxG.js";import{A as ae,F as oe,L as se,M as ce,N as le,R as ue,j as de}from"./index-Bd4Y5wSp.js";import"./dialog-CxNRCZdE.js";import{a as fe}from"./labels-C_Pwium9.js";import{n as pe,t as me}from"./input-group-DRs3TNaT.js";var he={name:`chevrons-up-down`,size:24,node:[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]};he.node;var ge=i(he),I=T(_(),1),L=b(),_e=Object.defineProperty,R=(e,t)=>_e(e,`name`,{value:t,configurable:!0}),ve=`Popover`,[ye,be]=o(ve,[p]),xe=p(),[Se,z]=ye(ve),Ce=R(e=>{let{__scopePopover:t,children:n,open:i,defaultOpen:a,onOpenChange:o,modal:s=!1}=e,c=xe(t),l=I.useRef(null),[u,d]=I.useState(!1),[f,p]=I.useState(0),[m,h]=I.useState(0),[g,_]=v({prop:i,defaultProp:a??!1,onChange:o,caller:ve});return(0,L.jsx)(S,{...c,children:(0,L.jsx)(Se,{scope:t,contentId:r(),titleId:r(),descriptionId:r(),titlePresent:f>0,descriptionPresent:m>0,setTitleCount:p,setDescriptionCount:h,triggerRef:l,open:g,onOpenChange:_,onOpenToggle:I.useCallback(()=>_(e=>!e),[_]),hasCustomAnchor:u,onCustomAnchorAdd:I.useCallback(()=>d(!0),[]),onCustomAnchorRemove:I.useCallback(()=>d(!1),[]),modal:s,children:n})})},`Popover`),we=`PopoverTrigger`,Te=I.forwardRef(R(function(t,n){let{__scopePopover:r,...i}=t,a=z(we,r),o=xe(r),c=k(n,a.triggerRef),l=(0,L.jsx)(s.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":Fe(a.open),...i,ref:c,onClick:e(t.onClick,a.onOpenToggle)});return a.hasCustomAnchor?l:(0,L.jsx)(y,{asChild:!0,...o,children:l})},`PopoverTrigger`)),Ee=`PopoverPortal`,[De,Oe]=ye(Ee,{forceMount:void 0}),ke=R(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=z(Ee,t);return(0,L.jsx)(De,{scope:t,forceMount:n,children:(0,L.jsx)(c,{present:n||a.open,children:(0,L.jsx)(O,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),B=`PopoverContent`,Ae=I.forwardRef(R(function(e,t){let n=Oe(B,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=z(B,e.__scopePopover);return(0,L.jsx)(c,{present:r||a.open,children:a.modal?(0,L.jsx)(Me,{...i,ref:t}):(0,L.jsx)(Ne,{...i,ref:t})})},`PopoverContent`)),je=a(`PopoverContent.RemoveScroll`),Me=I.forwardRef(R(function(t,r){let i=z(B,t.__scopePopover),a=I.useRef(null),o=k(r,a),s=I.useRef(!1),{nodes:c,registry:l}=n();return I.useEffect(()=>{let e=a.current;if(e)return ie(e)},[]),(0,L.jsx)(ne,{as:je,allowPinchZoom:!0,shards:I.useMemo(()=>[a,...c.map(e=>({current:e}))],[a,c]),children:(0,L.jsx)(Pe,{...t,ref:o,branchNodes:c,branchRegistry:l,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:e(t.onCloseAutoFocus,e=>{e.preventDefault(),s.current||i.triggerRef.current?.focus()}),onPointerDownOutside:e(t.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;s.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:e(t.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),Ne=I.forwardRef(R(function(e,t){let n=z(B,e.__scopePopover),r=I.useRef(!1),i=I.useRef(!1);return(0,L.jsx)(Pe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),Pe=I.forwardRef(R(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:d,"aria-describedby":f,branchNodes:p,branchRegistry:h,..._}=e,v=z(B,n),y=xe(n),[b,x]=I.useState(null),S=k(t,x);return u(b),re(),(0,L.jsx)(D,{registry:h,children:(0,L.jsx)(m,{asChild:!0,loop:!0,trapped:r,branches:p,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(E,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>v.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(g,{"data-state":Fe(v.open),role:`dialog`,id:v.contentId,"aria-labelledby":v.titlePresent?v.titleId:void 0,"aria-describedby":v.descriptionPresent?Ie(f,v.descriptionId):f,...y,..._,ref:S,style:{..._.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})})},`PopoverContentImpl`));function Fe(e){return e?`open`:`closed`}R(Fe,`getState`);function Ie(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}R(Ie,`concatAriaDescribedby`);var Le=Object.defineProperty,V=(e,t)=>Le(e,`name`,{value:t,configurable:!0}),Re=`Switch`,[ze,Be]=o(Re),[Ve,He]=ze(Re);function Ue(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=v({prop:n,defaultProp:i??!1,onChange:c,caller:Re}),[m,h]=I.useState(null),[g,_]=I.useState(null),[y,b]=I.useState(null),x={checked:f,setChecked:p,disabled:a,control:m,setControl:h,name:s,form:o,value:u,userClick:y,onUserClick:b,required:l,defaultChecked:i,isFormControl:!m||!!o||!!m.closest(`form`),bubbleInput:g,setBubbleInput:_};return(0,L.jsx)(Ve,{scope:t,...x,children:Ze(d)?d(x):r})}V(Ue,`SwitchProvider`);var We=`SwitchTrigger`,Ge=I.forwardRef(V(function({__scopeSwitch:t,onClick:n,...r},i){let{control:a,form:o,value:c,disabled:l,checked:u,required:d,setControl:f,setChecked:p,onUserClick:m,isFormControl:h,bubbleInput:g}=He(We,t),_=k(i,f),v=I.useRef(u);return I.useEffect(()=>{let e=o?a?.ownerDocument.getElementById(o):a?.form;if(e instanceof HTMLFormElement){let t=V(()=>p(v.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,o,p]),(0,L.jsx)(s.button,{type:`button`,role:`switch`,"aria-checked":u,"aria-required":d,"data-state":Qe(u),"data-disabled":l?``:void 0,disabled:l,value:c,...r,ref:_,onClick:e(n,e=>{let t=e.isPropagationStopped();m({requestedChecked:!u,hasConsumerStoppedPropagation:t}),p(e=>!e),g&&h&&(t||e.stopPropagation())})})},`SwitchTrigger`)),Ke=I.forwardRef(V(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,L.jsx)(Ue,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Ge,{...d,ref:t,__scopeSwitch:n}),e&&(0,L.jsx)(Xe,{__scopeSwitch:n})]})})},`Switch`)),qe=`SwitchThumb`,Je=I.forwardRef(V(function(e,t){let{__scopeSwitch:n,...r}=e,i=He(qe,n);return(0,L.jsx)(s.span,{"data-state":Qe(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),Ye=`SwitchBubbleInput`,Xe=I.forwardRef(V(function({__scopeSwitch:t,onClick:n,...r},i){let{control:a,userClick:o,checked:c,defaultChecked:l,required:u,disabled:d,name:f,value:p,form:m,bubbleInput:h,setBubbleInput:g}=He(Ye,t),_=k(i,g),v=w(a),y=I.useRef(!1),b=I.useRef(c),x=I.useRef(o),S=I.useRef(null);I.useEffect(()=>{let e=h;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set;if(!n)return;let r=b.current!==c;b.current=c;let i=o!==null&&o!==x.current;if(x.current=o,i)S.current=r?null:o,r&&n.call(e,c),e.dispatchEvent(new Event(`click`,{bubbles:!o.hasConsumerStoppedPropagation}));else if(r){let t=S.current;S.current=null;let r=t?.requestedChecked===c;y.current=!0,n.call(e,c),e.dispatchEvent(new Event(`click`,{bubbles:!(r&&t.hasConsumerStoppedPropagation)})),y.current=!1}},[h,c,o]);let C=I.useRef(c);return(0,L.jsx)(s.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:l??C.current,required:u,disabled:d,name:f,value:p,form:m,...r,tabIndex:-1,ref:_,onClick:e(n,e=>{y.current&&e.stopPropagation()}),style:{...r.style,...v,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function Ze(e){return typeof e==`function`}V(Ze,`isFunction`);function Qe(e){return e?`checked`:`unchecked`}V(Qe,`getState`);var $e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),tt=`Toggle`,nt=I.forwardRef(et(function(t,n){let{pressed:r,defaultPressed:i,onPressedChange:a,...o}=t,[c,l]=v({prop:r,onChange:a,defaultProp:i??!1,caller:tt});return(0,L.jsx)(s.button,{type:`button`,"aria-pressed":c,"data-state":c?`on`:`off`,"data-disabled":t.disabled?``:void 0,...o,ref:n,onClick:e(t.onClick,()=>{t.disabled||l(!c)})})},`Toggle`)),rt=Object.defineProperty,H=(e,t)=>rt(e,`name`,{value:t,configurable:!0}),U=`ToggleGroup`,W={Single:`single`,Multiple:`multiple`},[it,at]=o(U,[ce]),ot=ce(),st=I.forwardRef(H(function(e,t){let{type:n,...r}=e;if(n===W.Single)return(0,L.jsx)(ut,{role:`radiogroup`,...r,ref:t});if(n===W.Multiple)return(0,L.jsx)(dt,{role:`toolbar`,...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${U}\``)},`ToggleGroup`)),[ct,lt]=it(U),ut=I.forwardRef(H(function(e,t){let{value:n,defaultValue:r,onValueChange:i=H(()=>{},`onValueChange`),...a}=e,[o,s]=v({prop:n,defaultProp:r??``,onChange:i,caller:U});return(0,L.jsx)(ct,{scope:e.__scopeToggleGroup,type:W.Single,value:I.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:I.useCallback(()=>s(``),[s]),children:(0,L.jsx)(mt,{...a,ref:t})})},`ToggleGroupImplSingle`)),dt=I.forwardRef(H(function(e,t){let{value:n,defaultValue:r,onValueChange:i=H(()=>{},`onValueChange`),...a}=e,[o,s]=v({prop:n,defaultProp:r??[],onChange:i,caller:U}),c=I.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=I.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,L.jsx)(ct,{scope:e.__scopeToggleGroup,type:W.Multiple,value:o,onItemActivate:c,onItemDeactivate:l,children:(0,L.jsx)(mt,{...a,ref:t})})},`ToggleGroupImplMultiple`)),[ft,pt]=it(U),mt=I.forwardRef(H(function(e,t){let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:c=!0,...l}=e,u=ot(n),d=ee(o),f={dir:d,...l};return(0,L.jsx)(ft,{scope:n,rovingFocus:i,disabled:r,children:i?(0,L.jsx)(ae,{asChild:!0,...u,orientation:a,dir:d,loop:c,children:(0,L.jsx)(s.div,{...f,ref:t})}):(0,L.jsx)(s.div,{...f,ref:t})})},`ToggleGroupImpl`)),ht=`ToggleGroupItem`,gt=I.forwardRef(H(function(e,t){let n=lt(ht,e.__scopeToggleGroup),r=pt(ht,e.__scopeToggleGroup),i=ot(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=I.useRef(null);return r.rovingFocus?(0,L.jsx)(de,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,L.jsx)(_t,{...s,ref:t})}):(0,L.jsx)(_t,{...s,ref:t})},`ToggleGroupItem`)),_t=I.forwardRef(H(function(e,t){let{__scopeToggleGroup:n,value:r,...i}=e,a=lt(ht,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0},s=a.type===W.Single?o:void 0;return(0,L.jsx)(nt,{...s,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})},`ToggleGroupItemImpl`));function vt({className:e,size:n=`default`,...r}){return(0,L.jsx)(Ke,{"data-slot":`switch`,"data-size":n,className:t(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...r,children:(0,L.jsx)(Je,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}function yt({status:e}){let t=fe[e];return(0,L.jsx)(M,{tone:t.tone,pulse:e===`pending`,children:t.label})}function bt({enabled:e}){return e?(0,L.jsx)(M,{tone:`good`,children:`Enabled`}):(0,L.jsx)(M,{tone:`idle`,children:`Paused`})}function xt({webhook:e,className:n}){return(0,L.jsxs)(`span`,{className:t(`flex flex-wrap gap-x-3 gap-y-0.5 text-xs text-muted-foreground`,n),children:[(0,L.jsxs)(`span`,{className:`tabular`,children:[(0,L.jsx)(`span`,{className:`text-foreground`,children:e.stats.succeeded24h}),` delivered`]}),(0,L.jsxs)(`span`,{className:t(`tabular`,e.stats.failed24h>0&&`text-critical`),children:[(0,L.jsx)(`span`,{className:e.stats.failed24h>0?`font-medium`:`text-foreground`,children:e.stats.failed24h}),` failed`]}),(0,L.jsx)(`span`,{children:`(24h)`}),(0,L.jsxs)(`span`,{children:[`Last delivery `,(0,L.jsx)(N,{date:e.stats.lastDeliveryAt,fallback:`never`})]})]})}function St(e){return e==null?`text-muted-foreground`:e>=200&&e<300?`text-success`:e>=400?`text-critical`:`text-warning`}var Ct=1,wt=.9,Tt=.8,Et=.17,Dt=.1,Ot=.999,kt=.9999,At=.99,jt=/[\\\/_+.#"@\[\(\{&]/,Mt=/[\\\/_+.#"@\[\(\{&]/g,Nt=/[\s-]/,Pt=/[\s-]/g;function Ft(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?Ct:At;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=Ft(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=Ct:jt.test(e.charAt(l-1))?(d*=Tt,p=e.slice(i,l-1).match(Mt),p&&i>0&&(d*=Ot**+p.length)):Nt.test(e.charAt(l-1))?(d*=wt,m=e.slice(i,l-1).match(Pt),m&&i>0&&(d*=Ot**+m.length)):(d*=Et,i>0&&(d*=Ot**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=kt)),(d<Dt&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=Ft(e,t,n,r,l+1,a+2,o),f*Dt>d&&(d=f*Dt)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function It(e){return e.toLowerCase().replace(Pt,` `)}function Lt(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,Ft(e,t,It(e),It(t),0,0,{})}var G=`[cmdk-group=""]`,Rt=`[cmdk-group-items=""]`,zt=`[cmdk-group-heading=""]`,Bt=`[cmdk-item=""]`,Vt=`${Bt}:not([aria-disabled="true"])`,Ht=`cmdk-item-select`,K=`data-value`,Ut=(e,t,n)=>Lt(e,t,n),Wt=I.createContext(void 0),q=()=>I.useContext(Wt),Gt=I.createContext(void 0),Kt=()=>I.useContext(Gt),qt=I.createContext(void 0),Jt=I.forwardRef((e,t)=>{let n=X(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),i=X(()=>new Set),a=X(()=>new Map),o=X(()=>new Map),c=X(()=>new Set),l=on(e),{label:u,children:d,value:f,onValueChange:p,filter:m,shouldFilter:h,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=r(),x=r(),S=r(),C=I.useRef(null),w=cn();Y(()=>{if(f!==void 0){let e=f.trim();n.current.value=e,T.emit()}},[f]),Y(()=>{w(6,ee)},[]);let T=I.useMemo(()=>({subscribe:e=>(c.current.add(e),()=>c.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)A(),O(),w(1,k);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(w(7,()=>{n.current.selectedItemId=j()?.id,T.emit()}),r||w(5,ee),l.current?.value!==void 0){let e=t??``;(o=(a=l.current).onValueChange)==null||o.call(a,e);return}}T.emit()}},emit:()=>{c.current.forEach(e=>e())}}),[]),E=I.useMemo(()=>({value:(e,t,r)=>{t!==o.current.get(e)?.value&&(o.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,D(t,r)),w(2,()=>{O(),T.emit()}))},item:(e,t)=>(i.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),w(3,()=>{A(),O(),n.current.value||k(),T.emit()}),()=>{o.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=j();w(4,()=>{A(),t?.getAttribute(`id`)===e&&k(),T.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{o.current.delete(e),a.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e[`aria-label`],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function D(e,t){let r=l.current?.filter??Ut;return e?r(e,n.current.search,t):0}function O(){if(!n.current.search||l.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=a.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let r=C.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(Rt);t?t.appendChild(e.parentElement===t?e:e.closest(`${Rt} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${Rt} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${G}[${K}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function k(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(K);T.setState(`value`,e||void 0)}function A(){if(!n.current.search||l.current.shouldFilter===!1){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of i.current){let r=D(o.current.get(t)?.value??``,o.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function ee(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(G)?.querySelector(zt))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return C.current?.querySelector(`${Bt}[aria-selected="true"]`)}function M(){return Array.from(C.current?.querySelectorAll(Vt)||[])}function N(e){let t=M()[e];t&&T.setState(`value`,t.getAttribute(K))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=l.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&T.setState(`value`,a.getAttribute(K))}function F(e){let t=j()?.closest(G),n;for(;t&&!n;)t=e>0?rn(t,G):an(t,G),n=t?.querySelector(Vt);n?T.setState(`value`,n.getAttribute(K)):P(e)}let te=()=>N(M().length-1),ne=e=>{e.preventDefault(),e.metaKey?te():e.altKey?F(1):P(1)},re=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return I.createElement(s.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&ne(e);break;case`ArrowDown`:ne(e);break;case`p`:case`k`:v&&e.ctrlKey&&re(e);break;case`ArrowUp`:re(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),te();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(Ht);t.dispatchEvent(e)}}}}},I.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:un},u),Q(e,e=>I.createElement(Gt.Provider,{value:T},I.createElement(Wt.Provider,{value:E},e))))}),Yt=I.forwardRef((e,t)=>{let n=r(),i=I.useRef(null),a=I.useContext(qt),o=q(),c=on(e),u=c.current?.forceMount??a?.forceMount;Y(()=>{if(!u)return o.item(n,a?.id)},[u]);let d=sn(n,i,[e.value,e.children,i],e.keywords),f=Kt(),p=Z(e=>e.value&&e.value===d.current),m=Z(e=>u||o.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);I.useEffect(()=>{let t=i.current;if(t&&!e.disabled)return t.addEventListener(Ht,h),()=>t.removeEventListener(Ht,h)},[m,e.onSelect,e.disabled]);function h(){var e,t;g(),(t=(e=c.current).onSelect)==null||t.call(e,d.current)}function g(){f.setState(`value`,d.current,!0)}if(!m)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return I.createElement(s.div,{ref:l(i,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!p,"data-disabled":!!_,"data-selected":!!p,onPointerMove:_||o.getDisablePointerSelection()?void 0:g,onClick:_?void 0:h},e.children)}),Xt=I.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:a,...o}=e,c=r(),u=I.useRef(null),d=I.useRef(null),f=r(),p=q(),m=Z(e=>a||p.filter()===!1?!0:!e.search||e.filtered.groups.has(c));Y(()=>p.group(c),[]),sn(c,u,[e.value,e.heading,d]);let h=I.useMemo(()=>({id:c,forceMount:a}),[a]);return I.createElement(s.div,{ref:l(u,t),...o,"cmdk-group":``,role:`presentation`,hidden:!m||void 0},n&&I.createElement(`div`,{ref:d,"cmdk-group-heading":``,"aria-hidden":!0,id:f},n),Q(e,e=>I.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?f:void 0},I.createElement(qt.Provider,{value:h},e))))}),Zt=I.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=I.useRef(null),a=Z(e=>!e.search);return!n&&!a?null:I.createElement(s.div,{ref:l(i,t),...r,"cmdk-separator":``,role:`separator`})}),Qt=I.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Kt(),o=Z(e=>e.search),c=Z(e=>e.selectedItemId),l=q();return I.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),I.createElement(s.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),$t=I.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=I.useRef(null),o=I.useRef(null),c=Z(e=>e.selectedItemId),u=q();return I.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),I.createElement(s.div,{ref:l(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:u.listId},Q(e,e=>I.createElement(`div`,{ref:l(o,u.listInnerRef),"cmdk-list-sizer":``},e)))}),en=I.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return I.createElement(le,{open:n,onOpenChange:r},I.createElement(ue,{container:o},I.createElement(se,{"cmdk-overlay":``,className:i}),I.createElement(oe,{"aria-label":e.label,"cmdk-dialog":``,className:a},I.createElement(Jt,{ref:t,...s}))))}),tn=I.forwardRef((e,t)=>Z(e=>e.filtered.count===0)?I.createElement(s.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),nn=I.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return I.createElement(s.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Q(e,e=>I.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(Jt,{List:$t,Item:Yt,Input:Qt,Group:Xt,Separator:Zt,Dialog:en,Empty:tn,Loading:nn});function rn(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function an(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function on(e){let t=I.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?I.useEffect:I.useLayoutEffect;function X(e){let t=I.useRef();return t.current===void 0&&(t.current=e()),t}function Z(e){let t=Kt(),n=()=>e(t.snapshot());return I.useSyncExternalStore(t.subscribe,n,n)}function sn(e,t,n,r=[]){let i=I.useRef(),a=q();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(K,s),i.current=s}),i}var cn=()=>{let[e,t]=I.useState(),n=X(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function ln(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q({asChild:e,children:t},n){return e&&I.isValidElement(t)?I.cloneElement(ln(t),{ref:t.ref},n(t.props.children)):n(t)}var un={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function dn({className:e,...n}){return(0,L.jsx)(J,{"data-slot":`command`,className:t(`flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground`,e),...n})}function fn({className:e,...n}){return(0,L.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1 pb-0`,children:(0,L.jsxs)(me,{className:`h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!`,children:[(0,L.jsx)(J.Input,{"data-slot":`command-input`,className:t(`w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...n}),(0,L.jsx)(pe,{children:(0,L.jsx)(P,{className:`size-4 shrink-0 opacity-50`})})]})})}function pn({className:e,...n}){return(0,L.jsx)(J.List,{"data-slot":`command-list`,className:t(`no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none`,e),...n})}function mn({className:e,...n}){return(0,L.jsx)(J.Empty,{"data-slot":`command-empty`,className:t(`py-6 text-center text-sm`,e),...n})}function hn({className:e,...n}){return(0,L.jsx)(J.Group,{"data-slot":`command-group`,className:t(`overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground`,e),...n})}function gn({className:e,children:n,...r}){return(0,L.jsxs)(J.Item,{"data-slot":`command-item`,className:t(`group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground`,e),...r,children:[n,(0,L.jsx)(f,{className:`ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100`})]})}function _n({...e}){return(0,L.jsx)(Ce,{"data-slot":`popover`,...e})}function vn({...e}){return(0,L.jsx)(Te,{"data-slot":`popover-trigger`,...e})}function yn({className:e,align:n=`center`,sideOffset:r=4,...i}){return(0,L.jsx)(ke,{children:(0,L.jsx)(Ae,{"data-slot":`popover-content`,align:n,sideOffset:r,className:t(`z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...i})})}var bn={INBOX:`Inbox`,SENT:`Sent`,DRAFT:`Drafts`,SPAM:`Spam`,TRASH:`Trash`,STARRED:`Starred`,IMPORTANT:`Important`,UNREAD:`Unread`,CATEGORY_PERSONAL:`Category: Personal`,CATEGORY_SOCIAL:`Category: Social`,CATEGORY_PROMOTIONS:`Category: Promotions`,CATEGORY_UPDATES:`Category: Updates`,CATEGORY_FORUMS:`Category: Forums`};function $(e,t){return e?e.type===`system`?bn[e.id]??e.name:e.name:bn[t]??t}function xn({accountIds:e,value:t,onChange:n,placeholder:r=`Choose labels…`,id:i}){let[a,o]=(0,I.useState)(!1),s=e[0]??``,c=A({...x.labels(s),enabled:!!s}),l=e.slice(1),u=A({queryKey:[`labels-many`,l],enabled:l.length>0,queryFn:async()=>(await Promise.all(l.map(e=>C(`/api/accounts/${encodeURIComponent(e)}/labels`)))).flat(),staleTime:3e5}),d=new Map;for(let e of[...c.data??[],...u.data??[]])d.set(e.id,e);let f=[...d.values()],p=f.filter(e=>e.type===`user`).sort((e,t)=>e.name.localeCompare(t.name)),m=f.filter(e=>e.type===`system`&&![`DRAFT`,`UNREAD`,`CHAT`].includes(e.id)),g=e=>n(t.includes(e)?t.filter(t=>t!==e):[...t,e]);return(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsxs)(_n,{open:a,onOpenChange:o,children:[(0,L.jsx)(vn,{asChild:!0,children:(0,L.jsxs)(h,{id:i,type:`button`,variant:`outline`,role:`combobox`,"aria-expanded":a,className:`w-full justify-between font-normal sm:w-72`,children:[(0,L.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-muted-foreground`,children:[(0,L.jsx)(F,{}),t.length?`${t.length} label${t.length===1?``:`s`} selected`:r]}),(0,L.jsx)(ge,{className:`opacity-50`})]})}),(0,L.jsx)(yn,{className:`w-72 p-0`,align:`start`,children:(0,L.jsxs)(dn,{children:[(0,L.jsx)(fn,{placeholder:`Search labels…`}),(0,L.jsxs)(pn,{children:[(0,L.jsx)(mn,{children:c.isPending&&s?`Loading labels…`:c.isError?`Couldn't load labels.`:`No labels found.`}),p.length>0&&(0,L.jsx)(hn,{heading:`Your labels`,children:p.map(e=>(0,L.jsx)(Sn,{label:e,selected:t.includes(e.id),onSelect:()=>g(e.id)},e.id))}),m.length>0&&(0,L.jsx)(hn,{heading:`Gmail`,children:m.map(e=>(0,L.jsx)(Sn,{label:e,selected:t.includes(e.id),onSelect:()=>g(e.id)},e.id))})]})]})})]}),t.length>0&&(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map(e=>(0,L.jsxs)(j,{variant:`secondary`,className:`h-6 gap-1 pr-1 font-normal`,children:[(0,L.jsx)(F,{}),$(d.get(e),e),(0,L.jsx)(`button`,{type:`button`,className:`rounded-sm p-0.5 text-muted-foreground hover:bg-background hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none`,"aria-label":`Remove ${$(d.get(e),e)}`,onClick:()=>g(e),children:(0,L.jsx)(te,{className:`size-3`})})]},e))})]})}function Sn({label:e,selected:n,onSelect:r}){return(0,L.jsxs)(gn,{value:`${$(e,e.id)} ${e.id}`,onSelect:r,children:[(0,L.jsx)(f,{className:t(`size-4`,n?`opacity-100`:`opacity-0`)}),(0,L.jsx)(`span`,{className:`truncate`,children:$(e,e.id)})]})}var Cn=d(`group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-muted`},size:{default:`h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,sm:`h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`}},defaultVariants:{variant:`default`,size:`default`}}),wn=I.createContext({size:`default`,variant:`default`,spacing:2,orientation:`horizontal`});function Tn({className:e,variant:n,size:r,spacing:i=2,orientation:a=`horizontal`,children:o,...s}){return(0,L.jsx)(st,{"data-slot":`toggle-group`,"data-variant":n,"data-size":r,"data-spacing":i,"data-orientation":a,style:{"--gap":i},className:t(`group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch`,e),...s,children:(0,L.jsx)(wn.Provider,{value:{variant:n,size:r,spacing:i,orientation:a},children:o})})}function En({className:e,children:n,variant:r=`default`,size:i=`default`,...a}){let o=I.useContext(wn);return(0,L.jsx)(gt,{"data-slot":`toggle-group-item`,"data-variant":o.variant||r,"data-size":o.size||i,"data-spacing":o.spacing,className:t(`shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t`,Cn({variant:o.variant||r,size:o.size||i}),e),...a,children:n})}export{bt as a,vt as c,yt as i,En as n,xt as o,xn as r,St as s,Tn as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e}from"./queries-a3M5_loa.js";var t={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};t.node;var n=e(t),r={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};r.node;var i=e(r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,l as t,o as n,pt as r,t as i}from"./queries-a3M5_loa.js";import{r as a}from"./dist-B0e3Ju3r.js";var o={name:`circle-arrow-up`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]],aliases:[`arrow-up-circle`]};o.node;var s=e(o),c={name:`log-out`,size:24,node:[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]};c.node;var l=e(c),u={name:`rocket`,size:24,node:[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]};u.node;var d=e(u);function f(){let e=r(),o=a();return async()=>{try{await n(`/api/auth/logout`,{method:`POST`})}catch(e){t(e,`Couldn't sign out`);return}e.clear(),e.setQueryData(i.setupStatus,{claimed:!0,authenticated:!1}),await o({to:`/login`})}}export{s as i,d as n,l as r,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,n as t,o as n,r}from"./useQuery-DAhf1YDH.js";var i=class extends r{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(t,r){let{state:i}=t,a=super.createResult(t,r),{isFetching:o,isRefetching:s,isError:c,isRefetchError:l}=a,u=i.fetchMeta?.fetchMore?.direction,d=c&&u===`forward`,f=o&&u===`forward`,p=c&&u===`backward`,m=o&&u===`backward`;return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:e(r,i.data),hasPreviousPage:n(r,i.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:l&&!d&&!p,isRefetching:s&&!f&&!m}}};function a(e,n){return t(e,i,n)}export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e,X as t,Y as n,ct as r,dt as i,ht as a,vt as o}from"./queries-a3M5_loa.js";import{t as s}from"./useSelector-D70eKNYs.js";var c=o(a(),1),l={};function u(e,t){let n=c.useRef();return r=>{let a=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=i(n.current,a):a}}function d(i){let a=t(),o=c.useContext(i.from?e:n),d=i.from??o,f=a.stores.getMatchStore(d),p=u(i,a),m=s(f,e=>e?p(e):l);if(m!==l)return m;(i.shouldThrow??!0)&&r()}export{u as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ht as e,pt as t,vt as n}from"./queries-a3M5_loa.js";import{S as r,f as i,m as a,u as o,v as s,x as c}from"./useQuery-DAhf1YDH.js";import{Z as l}from"./index-Bd4Y5wSp.js";var u=class extends i{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),c(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&a(t.mutationKey)!==a(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??l();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){o.batch(()=>{let t=this.#r;if(t&&this.hasListeners()){let n=this.#t.variables,r=this.#t.context,i={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{t.onSuccess?.(e.data,n,r,i)}catch(e){Promise.reject(e)}try{t.onSettled?.(e.data,null,n,r,i)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{t.onError?.(e.error,n,r,i)}catch(e){Promise.reject(e)}try{t.onSettled?.(void 0,e.error,n,r,i)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},d=n(e(),1);function f(e,n){let i=t(n),[a]=d.useState(()=>new u(i,e));d.useEffect(()=>{a.setOptions(e)},[a,e]);let c=d.useSyncExternalStore(d.useCallback(e=>a.subscribe(o.batchCalls(e)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),l=d.useCallback((...e)=>{a.mutate(e[0],e[1]).catch(s)},[a]);if(c.error&&r(a.options.throwOnError,[c.error]))throw c.error;return{...c,mutate:l,mutateAsync:c.mutate}}export{f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ht as e,mt as t,pt as n,vt as r}from"./queries-a3M5_loa.js";var i={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},a=new class{#e=i;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function o(e){setTimeout(e,0)}var s=typeof window>`u`||`Deno`in globalThis;function c(){}function l(e,t){return typeof e==`function`?e(t):e}function u(e){return typeof e==`number`&&e>=0&&e!==1/0}function d(e,t){return Math.max(e+(t||0)-Date.now(),0)}function f(e,t){return typeof e==`function`?e(t):e}function p(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==h(o,t.options))return!1}else if(!_(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function m(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(g(t.options.mutationKey)!==g(a))return!1}else if(!_(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function h(e,t){return(t?.queryKeyHashFn||g)(e)}function g(e){return JSON.stringify(e,(e,t)=>S(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function _(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n<t.length;n++)if(!_(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!_(e[r],t[r]))return!1;return!0}return!1}var v=Object.prototype.hasOwnProperty;function y(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=x(e)&&x(t);if(!r&&!(S(e)&&S(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:v.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=y(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function b(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function x(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function S(e){if(!C(e))return!1;let t=Object.getPrototypeOf(e),n=t?.constructor;if(n===void 0)return!0;if(typeof n!=`function`)return!1;let r=n.prototype;return!(!C(r)||!r.hasOwnProperty(`isPrototypeOf`)||t!==Object.prototype)}function C(e){return Object.prototype.toString.call(e)===`[object Object]`}function w(e){return new Promise(t=>{a.setTimeout(t,e)})}function T(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:y(e,t)}function ee(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function te(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var E=Symbol();function D(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===E?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function O(e,t){return typeof e==`function`?e(...t):!!e}function ne(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r||(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0})),i)}),e}var k=()=>s,A=()=>k(),j=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},M=new class extends j{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},re=o;function ie(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=re,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var N=ie(),P=new class extends j{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function F(e){return Math.min(1e3*2**e,3e4)}function I(e){return(e??`online`)!==`online`||P.isOnline()}var L=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function R(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(c);let l=()=>i!==`pending`,u=t=>{if(!l()){let n=new L(t);g(n),e.onCancel?.(n)}},d=()=>{t=!0},f=()=>{t=!1},p=()=>M.isFocused()&&(e.networkMode===`always`||P.isOnline())&&e.canRun(),m=()=>I(e.networkMode)&&e.canRun(),h=e=>{l()||(r?.(),i=`resolved`,a(e))},g=e=>{l()||(r?.(),i=`rejected`,o(e))},_=t=>new Promise(n=>{r=e=>{(l()||t())&&n(e)},e.onPause?.()}).then(()=>{r=void 0,l()||e.onContinue?.()}),v=()=>{if(l())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(h).catch(r=>{if(l())return;let i=e.retry??(A()?0:3),a=e.retryDelay??F,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);t||!s?g(r):(n++,e.onFail?.(n,r),w(o).then(()=>p()?void 0:_(p)).then(()=>{t?g(r):v()}))})};return{promise:s,status:()=>i,cancel:u,continue:()=>(r?.(),s),cancelRetry:d,continueRetry:f,canStart:m,start:()=>(m()?v():_(m).then(v),s)}}var z=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),u(this.gcTime)&&(this.#e=a.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(A()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(a.clearTimeout(this.#e),this.#e=void 0)}};function ae(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{ne(e,()=>t.signal,()=>n=!0)},u=D(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?te:ee;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?V:B,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:B(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function B(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function V(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function oe(e,t){return t?B(e,t)!=null:!1}function se(e,t){return!t||!e.getPreviousPageParam?!1:V(e,t)!=null}var ce=class extends z{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=W(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=W(this.options);e.data!==void 0&&(this.setState(U(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=T(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(c).catch(c):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>f(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===E||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>f(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!d(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=D(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?ae(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=R({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof L&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof L){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...H(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...U(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),N.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function H(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:I(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function U(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function W(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var G=class extends j{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),K(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return q(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return q(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof f(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!b(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&J(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||f(this.options.enabled,this.#t)!==f(t.enabled,this.#t)||f(this.options.staleTime,this.#t)!==f(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||f(this.options.enabled,this.#t)!==f(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return b(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(c)),t}#h(e){return!A()&&f(this.options.enabled,this.#t)!==!1&&u(e)}#g(){this.#b();let e=f(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=d(this.#r.dataUpdatedAt,e)+1;this.#u=a.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return f(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=a.setInterval(()=>{(this.options.refetchIntervalInBackground||M.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(a.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(a.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&K(e,t),o=i&&J(e,n,t,r);(a||o)&&(l={...l,...H(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:p,errorUpdatedAt:m,status:h}=l;d=l.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&h===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(h=`success`,d=T(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!g){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=T(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(p=this.#o,d=this.#c,m=Date.now(),h=`error`,u=!1);let _=l.fetchStatus===`fetching`,v=h===`pending`,y=h===`error`,b=v&&_,x=d!==void 0;return{status:h,fetchStatus:l.fetchStatus,isPending:v,isSuccess:h===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:p,errorUpdatedAt:m,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:_,isRefetching:_&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:Y(e,t),refetch:this.refetch,isEnabled:f(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),b(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();N.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function le(e,t){return f(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||f(t.retryOnMount,e)!==!1)}function K(e,t){return le(e,t)||e.state.data!==void 0&&q(e,t,t.refetchOnMount)}function q(e,t,n){if(f(t.enabled,e)!==!1&&f(t.staleTime,e)!==`static`){let r=f(n,e);return r===`always`||r!==!1&&Y(e,t)}return!1}function J(e,t,n,r){return(e!==t||f(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&Y(e,n)}function Y(e,t){return f(t.enabled,e)!==!1&&e.isStaleByTime(f(t.staleTime,e))}var X=r(e(),1),Z=X.createContext(!1),ue=()=>X.useContext(Z);Z.Provider,t();function de(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var fe=X.createContext(de()),pe=()=>X.useContext(fe),me=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?O(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},Q=e=>{X.useEffect(()=>{e.clearReset()},[e])},he=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||O(n,[e.error,r])),ge=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},_e=(e,t)=>e?.suspense&&t.isPending,ve=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function $(e,t,r){let i=ue(),a=pe(),o=n(r),s=o.defaultQueryOptions(e),l=o.getQueryCache().get(s.queryHash),u=e.subscribed!==!1;s._optimisticResults=i?`isRestoring`:u?`optimistic`:void 0,ge(s),me(s,a,l),Q(a);let[d]=X.useState(()=>new t(o,s)),f=d.getOptimisticResult(s),p=!i&&u;if(X.useSyncExternalStore(X.useCallback(e=>{let t=p?d.subscribe(N.batchCalls(e)):c;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),X.useEffect(()=>{d.setOptions(s)},[s,d]),_e(s,f))throw ve(s,d,a);if(he({result:f,errorResetBoundary:a,throwOnError:s.throwOnError,query:l,suspense:s.suspense}))throw f.error;return s.notifyOnChangeProps?f:d.trackResult(f)}function ye(e,t){return $(e,G,t)}export{E as C,O as S,p as _,oe as a,f as b,R as c,M as d,j as f,m as g,h,ce as i,P as l,g as m,$ as n,se as o,l as p,G as r,z as s,ye as t,N as u,c as v,b as x,_ as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ht as e,vt as t}from"./queries-a3M5_loa.js";import{t as n}from"./with-selector-CkNyXYMW.js";var r=t(e(),1),i=n();function a(e,t){return e===t}function o(e,t=e=>e,n){let o=n?.compare??a,s=(0,r.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),c=(0,r.useCallback)(()=>e.get(),[e]);return(0,i.useSyncExternalStoreWithSelector)(s,c,c,t,o)}export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e}from"./queries-a3M5_loa.js";var t={name:`webhook`,size:24,node:[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{G as e,f as t,ht as n,mt as r,n as i,o as a,q as o,r as ee,t as te,vt as s}from"./queries-a3M5_loa.js";import{t as c}from"./useQuery-DAhf1YDH.js";import{a as ne,i as re,n as ie,r as ae,t as oe}from"./select-C8tJBHb5.js";import{c as l,n as u,r as d,t as f}from"./toggle-group-ne0pVDg6.js";import{c as p,l as m,u as h}from"./card-EQTpqntn.js";import{n as g,r as se,s as _,t as v}from"./common-PG6weTqi.js";import{t as y}from"./shield-alert-CbFgd06X.js";import{t as b}from"./checkbox-DDZZurgK.js";import{a as x,c as S,i as C,n as w,o as T,r as E,s as D,t as O}from"./field-CcyMn3ey.js";import{i as k,n as A,r as ce,t as le}from"./tabs-ySiz7Mni.js";import{G as ue,f as j}from"./index-Bd4Y5wSp.js";import{a as de,i as M,n as N,o as P,r as F,t as I}from"./dialog-CxNRCZdE.js";import{t as L}from"./input-CMhmmHiH.js";import{a as R,i as z,n as B,o as V,r as H,t as fe}from"./sheet-BQKpA2xa.js";import{s as U}from"./labels-C_Pwium9.js";import{t as pe}from"./mutations-DVlbDx0M.js";import{t as W}from"./chips-input--xgMZpg2.js";var G={name:`sparkles`,size:24,node:[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};G.node;var me=e(G),K=r(),he=`// npm install standardwebhooks
|
|
2
|
+
import { Webhook } from "standardwebhooks";
|
|
3
|
+
|
|
4
|
+
const wh = new Webhook(process.env.AGENTINBOX_WEBHOOK_SECRET); // "whsec_…"
|
|
5
|
+
|
|
6
|
+
// Verify the raw request body (before JSON parsing). Throws if invalid.
|
|
7
|
+
const event = wh.verify(rawBody, {
|
|
8
|
+
"webhook-id": req.headers["webhook-id"],
|
|
9
|
+
"webhook-timestamp": req.headers["webhook-timestamp"],
|
|
10
|
+
"webhook-signature": req.headers["webhook-signature"],
|
|
11
|
+
});`,ge=`# pip install standardwebhooks
|
|
12
|
+
import os
|
|
13
|
+
from standardwebhooks.webhooks import Webhook
|
|
14
|
+
|
|
15
|
+
wh = Webhook(os.environ["AGENTINBOX_WEBHOOK_SECRET"]) # "whsec_…"
|
|
16
|
+
|
|
17
|
+
# Verify the raw request body. Raises if invalid.
|
|
18
|
+
event = wh.verify(raw_body, dict(request.headers))`,_e=`import crypto from "node:crypto";
|
|
19
|
+
|
|
20
|
+
// Signed content: "<webhook-id>.<webhook-timestamp>.<raw body>"
|
|
21
|
+
// Key: base64-decoded secret after the "whsec_" prefix. Signature: HMAC-SHA256, base64.
|
|
22
|
+
function verify(secret, headers, rawBody) {
|
|
23
|
+
const id = headers["webhook-id"];
|
|
24
|
+
const ts = headers["webhook-timestamp"];
|
|
25
|
+
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false; // reject replays
|
|
26
|
+
const key = Buffer.from(secret.replace(/^whsec_/, ""), "base64");
|
|
27
|
+
const expected = crypto.createHmac("sha256", key).update(\`\${id}.\${ts}.\${rawBody}\`).digest("base64");
|
|
28
|
+
// The header may hold several space-separated "v1,<signature>" entries.
|
|
29
|
+
return headers["webhook-signature"].split(" ").some((entry) => {
|
|
30
|
+
const sig = Buffer.from(entry.split(",")[1] ?? "");
|
|
31
|
+
const want = Buffer.from(expected);
|
|
32
|
+
return sig.length === want.length && crypto.timingSafeEqual(sig, want);
|
|
33
|
+
});
|
|
34
|
+
}`;function q(){return(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Requests are signed per `,(0,K.jsx)(`a`,{className:`underline underline-offset-4`,href:`https://www.standardwebhooks.com`,target:`_blank`,rel:`noopener noreferrer`,children:`Standard Webhooks`}),` with the headers `,(0,K.jsx)(`code`,{className:`font-mono text-foreground`,children:`webhook-id`}),`, `,(0,K.jsx)(`code`,{className:`font-mono text-foreground`,children:`webhook-timestamp`}),` and`,` `,(0,K.jsx)(`code`,{className:`font-mono text-foreground`,children:`webhook-signature`}),`. Reply with any 2xx quickly; anything else is retried with backoff.`]}),(0,K.jsxs)(le,{defaultValue:`node`,children:[(0,K.jsxs)(ce,{children:[(0,K.jsx)(k,{value:`node`,children:`Node.js`}),(0,K.jsx)(k,{value:`python`,children:`Python`}),(0,K.jsx)(k,{value:`manual`,children:`No library`})]}),(0,K.jsx)(A,{value:`node`,children:(0,K.jsx)(v,{code:he})}),(0,K.jsx)(A,{value:`python`,children:(0,K.jsx)(v,{code:ge})}),(0,K.jsx)(A,{value:`manual`,children:(0,K.jsx)(v,{code:_e})})]})]})}function ve({secret:e}){return(0,K.jsxs)(`div`,{className:`space-y-5`,children:[(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(_,{children:`Signing secret`}),(0,K.jsx)(g,{value:e,size:`lg`}),(0,K.jsxs)(p,{variant:`warning`,children:[(0,K.jsx)(y,{}),(0,K.jsx)(h,{children:`Copy the secret now. It won't be shown again.`}),(0,K.jsx)(m,{children:`Store it with your receiver (e.g. as AGENTINBOX_WEBHOOK_SECRET). If it's lost, rotate it from the webhook's page.`})]})]}),(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(_,{children:`Verify requests`}),(0,K.jsx)(q,{})]})]})}function ye({secret:e,title:n,description:r,onClose:i}){return(0,K.jsx)(I,{open:!!e,onOpenChange:e=>!e&&i(),children:(0,K.jsxs)(N,{className:`max-h-[calc(100svh-2rem)] overflow-y-auto sm:max-w-2xl`,onInteractOutside:e=>e.preventDefault(),children:[(0,K.jsxs)(de,{children:[(0,K.jsx)(P,{children:n}),(0,K.jsx)(F,{children:r})]}),e&&(0,K.jsx)(ve,{secret:e}),(0,K.jsx)(M,{children:(0,K.jsx)(t,{onClick:i,children:`I've saved the secret`})})]})})}var J=s(n(),1);function Y(e){if(!e)return null;try{return new RegExp(e,`i`),null}catch(e){return e.message.replace(/^Invalid regular expression: /,``)}}function be(e){let t={};return e.accountIds?.length&&(t.accountIds=e.accountIds),e.labelIds?.length&&(t.labelIds=e.labelIds),e.from?.length&&(t.from=e.from),e.to?.length&&(t.to=e.to),e.subject?.trim()&&(t.subject=e.subject.trim()),e.hasAttachments!==void 0&&(t.hasAttachments=e.hasAttachments),t}var X=(e,t=3)=>e.length<=t?e.join(`, `):`${e.slice(0,t).join(`, `)} and ${e.length-t} more`;function Z(e,t){let n=e.filter,r=e.eventTypes.map(e=>U[e]?.label.toLowerCase()??e),i=[r.length?`Sends ${X(r)} events`:`Sends nothing yet: pick at least one event type`];return i.push(n.accountIds?.length?`from ${X(n.accountIds.map(e=>t.find(t=>t.id===e)?.email??e))}`:`from every account the agent can read`),n.labelIds?.length&&i.push(`only for messages labeled ${X(n.labelIds)}`),n.from?.length&&i.push(`where the sender matches ${X(n.from)}`),n.to?.length&&i.push(`where a recipient matches ${X(n.to)}`),n.subject&&i.push(`where the subject matches /${n.subject}/i`),n.hasAttachments===!0&&i.push(`with attachments only`),n.hasAttachments===!1&&i.push(`without attachments only`),i.push(e.includeBody?`including the cleaned message body`:`with metadata only (no body)`),i}function xe({value:e,onChange:t,invalid:n}){let r=(n,r)=>t(j.filter(t=>t===n?r:e.includes(t)));return(0,K.jsxs)(D,{"data-invalid":n,children:[(0,K.jsx)(T,{variant:`label`,children:`Events`}),(0,K.jsx)(`div`,{className:`grid gap-1.5`,children:j.map(t=>(0,K.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2.5 rounded-lg border px-3 py-2 has-[:focus-visible]:ring-3 has-[:focus-visible]:ring-ring/50 has-[[data-state=checked]]:bg-muted/40`,children:[(0,K.jsx)(b,{className:`mt-0.5`,checked:e.includes(t),onCheckedChange:e=>r(t,e===!0)}),(0,K.jsxs)(`span`,{className:`min-w-0 space-y-0.5`,children:[(0,K.jsxs)(`span`,{className:`flex flex-wrap items-baseline gap-x-2 text-sm font-medium`,children:[U[t].label,(0,K.jsx)(`code`,{className:`font-mono text-xs font-normal text-muted-foreground`,children:t})]}),(0,K.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:U[t].description})]})]},t))}),n&&(0,K.jsx)(E,{children:`Pick at least one event type.`})]})}var Q=e=>/\s/.test(e)?`no spaces allowed`:e.length>254?`too long`:null;function Se({value:e,onChange:t,accounts:n}){let r=n=>t({...e,...n}),i=e.accountIds??[],a=Y(e.subject),o=(e,t)=>r({accountIds:t?[...new Set([...i,e])]:i.filter(t=>t!==e)});return(0,K.jsxs)(`div`,{className:`space-y-5`,children:[(0,K.jsxs)(D,{children:[(0,K.jsx)(T,{variant:`label`,children:`Accounts`}),(0,K.jsx)(w,{children:`Leave all unchecked for every account the agent can read. Accounts it has no read grant for are never sent.`}),(0,K.jsx)(`div`,{className:`grid gap-1.5 sm:grid-cols-2`,children:n.map(e=>(0,K.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded-lg border px-3 py-2 text-sm has-[:focus-visible]:ring-3 has-[:focus-visible]:ring-ring/50`,children:[(0,K.jsx)(b,{checked:i.includes(e.id),onCheckedChange:t=>o(e.id,t===!0)}),(0,K.jsx)(`span`,{className:`truncate`,children:e.email})]},e.id))})]}),(0,K.jsxs)(O,{children:[(0,K.jsx)(x,{htmlFor:`wf-labels`,children:`Labels`}),(0,K.jsx)(d,{id:`wf-labels`,accountIds:i.length?i:n.map(e=>e.id),value:e.labelIds??[],onChange:e=>r({labelIds:e}),placeholder:`Any label`}),(0,K.jsx)(w,{children:`Fire only for messages carrying any of these labels.`})]}),(0,K.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,K.jsxs)(O,{children:[(0,K.jsx)(x,{htmlFor:`wf-from`,children:`From`}),(0,K.jsx)(W,{id:`wf-from`,value:e.from??[],onChange:e=>r({from:e}),placeholder:`Any sender`,validate:Q}),(0,K.jsxs)(w,{children:[`Globs like `,(0,K.jsx)(`code`,{className:`font-mono`,children:`*@stripe.com`})]})]}),(0,K.jsxs)(O,{children:[(0,K.jsx)(x,{htmlFor:`wf-to`,children:`To or Cc`}),(0,K.jsx)(W,{id:`wf-to`,value:e.to??[],onChange:e=>r({to:e}),placeholder:`Any recipient`,validate:Q}),(0,K.jsxs)(w,{children:[`e.g. `,(0,K.jsx)(`code`,{className:`font-mono`,children:`support@yourco.com`})]})]})]}),(0,K.jsxs)(O,{"data-invalid":!!a,children:[(0,K.jsx)(x,{htmlFor:`wf-subject`,children:`Subject matches`}),(0,K.jsx)(L,{id:`wf-subject`,className:`font-mono`,placeholder:`e.g. invoice|receipt`,spellCheck:!1,value:e.subject??``,onChange:e=>r({subject:e.target.value}),"aria-invalid":!!a}),a?(0,K.jsxs)(E,{children:[`Not a valid regular expression: `,a]}):(0,K.jsx)(w,{children:`A regular expression, case-insensitive. Leave empty for any subject.`})]}),(0,K.jsxs)(O,{children:[(0,K.jsx)(x,{children:`Attachments`}),(0,K.jsxs)(f,{type:`single`,variant:`outline`,size:`sm`,value:e.hasAttachments===void 0?`any`:e.hasAttachments?`with`:`without`,onValueChange:e=>e&&r({hasAttachments:e===`any`?void 0:e===`with`}),"aria-label":`Attachments`,children:[(0,K.jsx)(u,{value:`any`,children:`Any`}),(0,K.jsx)(u,{value:`with`,children:`With attachments`}),(0,K.jsx)(u,{value:`without`,children:`Without`})]})]})]})}function Ce({value:e,onChange:t}){return(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsxs)(O,{orientation:`horizontal`,children:[(0,K.jsx)(l,{id:`wf-body`,checked:e,onCheckedChange:t}),(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(x,{htmlFor:`wf-body`,children:`Include message body`}),(0,K.jsx)(w,{children:`Adds the message as clean Markdown, plus attachment info and safety signals, so the agent can act without a fetch.`})]})]}),e&&(0,K.jsxs)(`p`,{className:`flex items-start gap-2 rounded-lg border border-warning/40 bg-warning/10 px-3 py-2 text-xs`,children:[(0,K.jsx)(y,{className:`mt-px size-3.5 shrink-0 text-warning`}),(0,K.jsxs)(`span`,{children:[`Bodies are cleaned (hidden text and invisible characters removed) but are still `,(0,K.jsx)(`strong`,{children:`untrusted input`}),`: anyone can email you. Your receiver should treat the content as data, never as instructions.`]})]})]})}var $=/^(localhost|127\.|10\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[?::1\]?$|.*\.(local|internal|lan|home)$)/i;function we(e){if(!e.trim())return{error:`Enter the URL agentinbox should POST events to.`};let t;try{t=new URL(e.trim())}catch{return{error:`Enter a full URL, including https://`}}return t.protocol!==`https:`&&t.protocol!==`http:`?{error:`Only http and https URLs are supported.`}:$.test(t.hostname)?{note:`private`}:t.protocol===`http:`?{note:`http`}:{}}function Te({open:e,onOpenChange:t,webhook:n,defaultAgentId:r,onCreated:i}){return(0,K.jsx)(fe,{open:e,onOpenChange:t,children:(0,K.jsx)(B,{className:`w-full gap-0 sm:max-w-xl`,children:e&&(0,K.jsx)(Ee,{webhook:n,defaultAgentId:r,onDone:()=>t(!1),onCreated:i})})})}function Ee({webhook:e,defaultAgentId:n,onDone:r,onCreated:s}){let l=c(i.agents()),u=c(i.accounts()),[d,f]=(0,J.useState)(()=>e?{agentId:e.agentId,name:e.name,url:e.url,eventTypes:e.eventTypes,filter:e.filter,includeBody:e.includeBody,enabled:e.enabled}:{agentId:n??``,name:``,url:``,eventTypes:[`message.received`],filter:{},includeBody:!1,enabled:!0}),[p,m]=(0,J.useState)(!1),h=e=>f(t=>({...t,...e})),g=d.agentId||(l.data?.length===1?l.data[0].id:``),v=pe({mutationFn:t=>e?a(`/api/webhooks/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:t}):a(`/api/webhooks`,{body:t}),invalidate:[te.webhooks],success:e?`Webhook saved`:void 0,errorTitle:!1,onSuccess:e=>{r(),`secret`in e&&s?.(e)}}),y=we(d.url),b={agent:g?null:`Choose the agent this webhook delivers to.`,name:d.name.trim()?null:`Give it a name, e.g. “Support inbox → n8n”.`,url:y.error??null,events:d.eventTypes.length===0,subject:Y(d.filter.subject)},T=!b.agent&&!b.name&&!b.url&&!b.events&&!b.subject;return(0,K.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),m(!0),T&&v.mutate({...d,agentId:g,name:d.name.trim(),url:d.url.trim(),filter:be(d.filter)})},noValidate:!0,className:`flex min-h-0 flex-1 flex-col`,children:[(0,K.jsxs)(R,{className:`border-b`,children:[(0,K.jsx)(V,{children:e?`Edit ${e.name}`:`New webhook`}),(0,K.jsx)(H,{children:`agentinbox POSTs a signed JSON payload to your URL for each matching event, retrying failures.`})]}),(0,K.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:(0,K.jsxs)(C,{children:[(0,K.jsxs)(O,{"data-invalid":p&&!!b.agent,children:[(0,K.jsx)(x,{htmlFor:`wh-agent`,children:`Agent`}),(0,K.jsxs)(oe,{value:g,onValueChange:e=>h({agentId:e}),children:[(0,K.jsx)(re,{id:`wh-agent`,className:`w-full`,"aria-invalid":p&&!!b.agent,children:(0,K.jsx)(ne,{placeholder:l.data?.length===0?`Create an agent first`:`Choose an agent`})}),(0,K.jsx)(ie,{children:l.data?.map(e=>(0,K.jsx)(ae,{value:e.id,children:e.name},e.id))})]}),p&&b.agent?(0,K.jsx)(E,{children:b.agent}):(0,K.jsx)(w,{children:`Events are limited to what this agent's grants let it read.`})]}),(0,K.jsxs)(O,{"data-invalid":p&&!!b.name,children:[(0,K.jsx)(x,{htmlFor:`wh-name`,children:`Name`}),(0,K.jsx)(L,{id:`wh-name`,value:d.name,onChange:e=>h({name:e.target.value}),placeholder:`Support inbox → n8n`,"aria-invalid":p&&!!b.name}),p&&b.name&&(0,K.jsx)(E,{children:b.name})]}),(0,K.jsxs)(O,{"data-invalid":p&&!!b.url,children:[(0,K.jsx)(x,{htmlFor:`wh-url`,children:`Endpoint URL`}),(0,K.jsx)(L,{id:`wh-url`,type:`url`,inputMode:`url`,spellCheck:!1,className:`font-mono`,placeholder:`https://example.com/hooks/agentinbox`,value:d.url,onChange:e=>h({url:e.target.value}),"aria-invalid":p&&!!b.url}),p&&b.url?(0,K.jsx)(E,{children:b.url}):y.note===`private`?(0,K.jsxs)(w,{className:`flex items-start gap-1.5`,children:[(0,K.jsx)(ue,{className:`mt-0.5 size-3.5 shrink-0`}),(0,K.jsxs)(`span`,{children:[`Private and loopback addresses are blocked unless they're on the`,` `,(0,K.jsx)(o,{to:`/settings`,hash:`webhook-allowlist`,className:`underline underline-offset-4`,children:`webhook allowlist`}),` `,`(protects your network from forged targets).`]})]}):y.note===`http`?(0,K.jsx)(w,{children:`Plain http sends mail metadata unencrypted. Prefer https for anything off this machine.`}):null]}),(0,K.jsx)(S,{}),(0,K.jsx)(xe,{value:d.eventTypes,onChange:e=>h({eventTypes:e}),invalid:p&&b.events}),(0,K.jsx)(S,{}),(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(_,{children:`Only when the message matches`}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`All conditions you set must match. Leave everything empty to get every event.`})]}),(0,K.jsx)(Se,{value:d.filter,onChange:e=>h({filter:e}),accounts:u.data??[]}),(0,K.jsx)(S,{}),(0,K.jsx)(Ce,{value:d.includeBody,onChange:e=>h({includeBody:e})}),(0,K.jsxs)(`div`,{className:`rounded-lg border bg-muted/30 p-3 text-sm`,children:[(0,K.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-xs font-medium text-muted-foreground`,children:[(0,K.jsx)(me,{className:`size-3.5`}),` In plain words`]}),(0,K.jsxs)(`p`,{children:[Z(d,u.data??[]).join(`, `),`.`]})]}),v.isError&&(0,K.jsx)(se,{error:v.error,title:`Couldn't save the webhook`})]})}),(0,K.jsxs)(z,{className:`flex-row justify-end border-t`,children:[(0,K.jsx)(t,{type:`button`,variant:`ghost`,onClick:r,children:`Cancel`}),(0,K.jsxs)(t,{type:`submit`,disabled:v.isPending||p&&!T,children:[v.isPending&&(0,K.jsx)(ee,{}),e?`Save changes`:`Create webhook`]})]})]})}export{q as i,Z as n,ye as r,Te as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as e,ht as t,mt as n,n as r,q as i,vt as a}from"./queries-a3M5_loa.js";import{t as o}from"./useQuery-DAhf1YDH.js";import{r as s}from"./dist-B0e3Ju3r.js";import{t as c}from"./bot-DVw15lBn.js";import{t as l}from"./chevron-right-CbBKS6-T.js";import{a as u,o as d}from"./toggle-group-ne0pVDg6.js";import{t as f}from"./card-EQTpqntn.js";import{A as p,a as m,k as h,o as g}from"./common-PG6weTqi.js";import{t as _}from"./plus-CETmK0SB.js";import{r as v,t as y}from"./webhook-sheet-Cy_jHIqG.js";import{t as b}from"./webhook-BWT75M78.js";import{n as x}from"./index-Bd4Y5wSp.js";import{a as S,i as C,n as w,o as T,r as E,t as D}from"./empty-CE_WZGEC.js";import{s as O}from"./labels-C_Pwium9.js";var k=a(t()),A=n();function j({webhook:e,agentName:t}){return(0,A.jsxs)(i,{to:`/webhooks/$webhookId`,params:{webhookId:e.id},className:`flex items-center gap-3 p-4 outline-none hover:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`,children:[(0,A.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`truncate font-medium`,children:e.name}),(0,A.jsx)(u,{enabled:e.enabled}),t&&(0,A.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,A.jsx)(c,{className:`size-3.5`}),` `,t]})]}),(0,A.jsx)(`div`,{className:`truncate font-mono text-xs text-muted-foreground`,children:e.url}),(0,A.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.eventTypes.map(e=>(0,A.jsx)(p,{variant:`outline`,className:`font-normal`,children:O[e]?.label??e},e))}),(0,A.jsx)(d,{webhook:e})]}),(0,A.jsx)(l,{className:`size-4 shrink-0 text-muted-foreground`})]})}function M(){let{new:t}=x.useSearch(),n=s({from:x.fullPath}),i=o(r.webhooks()),a=o(r.agents()),[c,l]=(0,k.useState)(),u=e=>void n({search:{new:e},replace:!0}),d=a.data?.length===0;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(m,{title:`Webhooks`,description:`Push mail events to your agents the moment they happen. Payloads are signed, retried on failure and logged for replay.`,actions:(0,A.jsxs)(e,{onClick:()=>u(`1`),disabled:d,children:[(0,A.jsx)(_,{}),` New webhook`]})}),i.isPending?(0,A.jsx)(h,{className:`h-40 rounded-xl`}):i.isError?(0,A.jsx)(g,{error:i.error,onRetry:()=>void i.refetch()}):i.data.length===0?(0,A.jsx)(f,{children:(0,A.jsxs)(D,{children:[(0,A.jsxs)(C,{children:[(0,A.jsx)(S,{variant:`icon`,children:(0,A.jsx)(b,{})}),(0,A.jsx)(T,{children:`No webhooks yet`}),(0,A.jsx)(E,{children:d?`Webhooks deliver events to an agent. Create an agent first.`:`Add one to have agentinbox call your agent (n8n, a serverless function, your own service) when matching mail arrives.`})]}),(0,A.jsx)(w,{children:d?(0,A.jsx)(e,{onClick:()=>void n({to:`/agents`}),children:`Go to agents`}):(0,A.jsxs)(e,{onClick:()=>u(`1`),children:[(0,A.jsx)(_,{}),` Create a webhook`]})})]})}):(0,A.jsx)(f,{className:`gap-0 divide-y py-0`,children:i.data.map(e=>(0,A.jsx)(j,{webhook:e,agentName:a.data?.find(t=>t.id===e.agentId)?.name},e.id))}),(0,A.jsx)(y,{open:!!t,onOpenChange:e=>!e&&u(void 0),defaultAgentId:t&&t!==`1`?t:void 0,onCreated:l}),(0,A.jsx)(v,{secret:c?.secret,title:`${c?.webhook.name??`Webhook`} created`,description:`Use this secret to verify that requests really come from agentinbox.`,onClose:()=>{let e=c?.webhook.id;l(void 0),e&&n({to:`/webhooks/$webhookId`,params:{webhookId:e}})}})]})}export{M as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{gt as e,ht as t}from"./queries-a3M5_loa.js";var n=e((e=>{var n=t();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useState,o=n.useEffect,s=n.useLayoutEffect,c=n.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=n.useSyncExternalStore===void 0?f:n.useSyncExternalStore})),r=e(((e,t)=>{t.exports=n()})),i=e((e=>{var n=t(),i=r();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=n.useRef,l=n.useEffect,u=n.useMemo,d=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),a=e(((e,t)=>{t.exports=i()}));export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e}from"./queries-a3M5_loa.js";var t={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"><rect width="32" height="32" rx="8" fill="#171717"/><rect x="7.5" y="10" width="17" height="12.5" rx="2" stroke="#fafafa" stroke-width="2"/><path d="M8.5 11.5 16 17l7.5-5.5" stroke="#fafafa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="24.5" cy="9" r="3.5" fill="#3987e5" stroke="#171717" stroke-width="1.5"/></svg>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<meta name="color-scheme" content="light dark" />
|
|
8
|
+
<title>agentinbox</title>
|
|
9
|
+
<script>
|
|
10
|
+
// Apply the saved theme before first paint to avoid a light flash in dark mode.
|
|
11
|
+
try {
|
|
12
|
+
var t = localStorage.getItem("agentinbox.theme") || "system";
|
|
13
|
+
if (t === "dark" || (t === "system" && matchMedia("(prefers-color-scheme: dark)").matches))
|
|
14
|
+
document.documentElement.classList.add("dark");
|
|
15
|
+
} catch (e) {}
|
|
16
|
+
</script>
|
|
17
|
+
<script type="module" crossorigin src="/assets/index-Bd4Y5wSp.js"></script>
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/queries-a3M5_loa.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/useQuery-DAhf1YDH.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="/assets/with-selector-CkNyXYMW.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="/assets/useSelector-D70eKNYs.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="/assets/useMatch-BKUnm54_.js">
|
|
23
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-B0e3Ju3r.js">
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/assets/preload-helper-BFuRUfdt.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/es2015-DPaldoxG.js">
|
|
26
|
+
<link rel="stylesheet" crossorigin href="/assets/index-akvt_1UI.css">
|
|
27
|
+
</head>
|
|
28
|
+
<body>
|
|
29
|
+
<div id="root"></div>
|
|
30
|
+
</body>
|
|
31
|
+
</html>
|