masks-server 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/masks/server/account_controller.rb +3 -0
  3. data/app/controllers/masks/server/app_passwords_controller.rb +41 -0
  4. data/app/controllers/masks/server/authorize_controller.rb +33 -2
  5. data/app/controllers/masks/server/forward_auth_controller.rb +104 -12
  6. data/app/controllers/masks/server/logins_controller.rb +4 -3
  7. data/app/controllers/masks/server/organization_access_controller.rb +39 -0
  8. data/app/graphql/masks/server/manage/mutations/base_mutation.rb +7 -0
  9. data/app/graphql/masks/server/manage/mutations/create_group.rb +6 -4
  10. data/app/graphql/masks/server/manage/mutations/decline_access.rb +27 -0
  11. data/app/graphql/masks/server/manage/mutations/grant_access.rb +29 -0
  12. data/app/graphql/masks/server/manage/mutations/group_source.rb +34 -0
  13. data/app/graphql/masks/server/manage/mutations/issue_ldap_credential.rb +5 -2
  14. data/app/graphql/masks/server/manage/mutations/refresh_group.rb +21 -0
  15. data/app/graphql/masks/server/manage/mutations/remove_group_member.rb +2 -0
  16. data/app/graphql/masks/server/manage/mutations/run_health_checks.rb +19 -0
  17. data/app/graphql/masks/server/manage/mutations/update_client.rb +6 -0
  18. data/app/graphql/masks/server/manage/mutations/update_group.rb +7 -4
  19. data/app/graphql/masks/server/manage/mutations/update_tenant.rb +14 -1
  20. data/app/graphql/masks/server/manage/types/access_request_type.rb +21 -0
  21. data/app/graphql/masks/server/manage/types/actor_type.rb +6 -0
  22. data/app/graphql/masks/server/manage/types/client_type.rb +12 -0
  23. data/app/graphql/masks/server/manage/types/group_condition_input.rb +16 -0
  24. data/app/graphql/masks/server/manage/types/group_condition_type.rb +29 -0
  25. data/app/graphql/masks/server/manage/types/group_member_type.rb +16 -0
  26. data/app/graphql/masks/server/manage/types/group_type.rb +17 -1
  27. data/app/graphql/masks/server/manage/types/health_check_type.rb +18 -0
  28. data/app/graphql/masks/server/manage/types/ldap_credential_type.rb +1 -0
  29. data/app/graphql/masks/server/manage/types/mutation_type.rb +4 -0
  30. data/app/graphql/masks/server/manage/types/query_type.rb +24 -0
  31. data/app/graphql/masks/server/manage/types/release_type.rb +16 -0
  32. data/app/graphql/masks/server/manage/types/tenant_type.rb +6 -1
  33. data/app/helpers/masks/server/account_helper.rb +4 -0
  34. data/app/jobs/masks/server/cleanup_job.rb +1 -0
  35. data/app/jobs/masks/server/health_check_job.rb +21 -0
  36. data/app/jobs/masks/server/refresh_groups_job.rb +18 -0
  37. data/app/jobs/masks/server/release_check_job.rb +21 -0
  38. data/app/ldap/masks/server/ldap/connection.rb +3 -2
  39. data/app/ldap/masks/server/ldap/gate.rb +31 -4
  40. data/app/logins/masks/server/login_states/second_factor.rb +1 -1
  41. data/app/mailers/masks/server/actor_mailer.rb +31 -0
  42. data/app/models/masks/server/access_request.rb +103 -0
  43. data/app/models/masks/server/actor.rb +6 -0
  44. data/app/models/masks/server/app_password.rb +91 -0
  45. data/app/models/masks/server/app_passwords.rb +82 -0
  46. data/app/models/masks/server/client.rb +15 -0
  47. data/app/models/masks/server/connection.rb +7 -0
  48. data/app/models/masks/server/declared.rb +10 -2
  49. data/app/models/masks/server/email_verification.rb +2 -2
  50. data/app/models/masks/server/event.rb +11 -1
  51. data/app/models/masks/server/federation/protocol.rb +1 -1
  52. data/app/models/masks/server/federation/saml.rb +1 -1
  53. data/app/models/masks/server/forward_auth_rules.rb +162 -0
  54. data/app/models/masks/server/group.rb +207 -4
  55. data/app/models/masks/server/group_member.rb +7 -0
  56. data/app/models/masks/server/group_rule.rb +63 -0
  57. data/app/models/masks/server/health.rb +243 -0
  58. data/app/models/masks/server/health_check.rb +27 -0
  59. data/app/models/masks/server/invitation.rb +2 -2
  60. data/app/models/masks/server/ldap_credential.rb +2 -2
  61. data/app/models/masks/server/login.rb +28 -2
  62. data/app/models/masks/server/mail_previews.rb +5 -0
  63. data/app/models/masks/server/mail_template.rb +2 -0
  64. data/app/models/masks/server/membership.rb +10 -3
  65. data/app/models/masks/server/notifications.rb +3 -1
  66. data/app/models/masks/server/password_reset.rb +2 -2
  67. data/app/models/masks/server/provider.rb +1 -0
  68. data/app/models/masks/server/queue.rb +60 -0
  69. data/app/models/masks/server/release.rb +74 -0
  70. data/app/models/masks/server/session.rb +8 -0
  71. data/app/models/masks/server/tenant.rb +39 -2
  72. data/app/models/masks/server/token.rb +2 -1
  73. data/app/views/masks/server/account/_app_passwords.html.erb +83 -0
  74. data/app/views/masks/server/account/_organizations.html.erb +33 -0
  75. data/app/views/masks/server/account/index.html.erb +5 -0
  76. data/app/views/masks/server/actor_mailer/access_declined.html.erb +5 -0
  77. data/app/views/masks/server/actor_mailer/access_declined.text.erb +5 -0
  78. data/app/views/masks/server/actor_mailer/access_granted.html.erb +7 -0
  79. data/app/views/masks/server/actor_mailer/access_granted.text.erb +7 -0
  80. data/app/views/masks/server/authorize/error.html.erb +25 -0
  81. data/config/locales/de/access_requests.yml +43 -0
  82. data/config/locales/de/account/app_passwords.yml +42 -0
  83. data/config/locales/de/events.yml +5 -0
  84. data/config/locales/de/flashes.yml +1 -0
  85. data/config/locales/de/group_sources.yml +5 -0
  86. data/config/locales/de/manage/access_requests.yml +12 -0
  87. data/config/locales/de/manage/app_passwords.yml +16 -0
  88. data/config/locales/de/manage/forward_auth_rules.yml +29 -0
  89. data/config/locales/de/manage/group_sources.yml +44 -0
  90. data/config/locales/de/manage/health.yml +78 -0
  91. data/config/locales/de/manage/links.yml +20 -0
  92. data/config/locales/en/access_requests.yml +43 -0
  93. data/config/locales/en/account/app_passwords.yml +42 -0
  94. data/config/locales/en/events.yml +5 -0
  95. data/config/locales/en/flashes.yml +1 -0
  96. data/config/locales/en/group_sources.yml +5 -0
  97. data/config/locales/en/manage/access_requests.yml +12 -0
  98. data/config/locales/en/manage/app_passwords.yml +16 -0
  99. data/config/locales/en/manage/forward_auth_rules.yml +29 -0
  100. data/config/locales/en/manage/group_sources.yml +44 -0
  101. data/config/locales/en/manage/health.yml +78 -0
  102. data/config/locales/en/manage/links.yml +20 -0
  103. data/config/locales/es/access_requests.yml +43 -0
  104. data/config/locales/es/account/app_passwords.yml +42 -0
  105. data/config/locales/es/events.yml +5 -0
  106. data/config/locales/es/flashes.yml +1 -0
  107. data/config/locales/es/group_sources.yml +5 -0
  108. data/config/locales/es/manage/access_requests.yml +12 -0
  109. data/config/locales/es/manage/app_passwords.yml +16 -0
  110. data/config/locales/es/manage/forward_auth_rules.yml +29 -0
  111. data/config/locales/es/manage/group_sources.yml +44 -0
  112. data/config/locales/es/manage/health.yml +78 -0
  113. data/config/locales/es/manage/links.yml +20 -0
  114. data/config/locales/fr/access_requests.yml +43 -0
  115. data/config/locales/fr/account/app_passwords.yml +42 -0
  116. data/config/locales/fr/events.yml +5 -0
  117. data/config/locales/fr/flashes.yml +1 -0
  118. data/config/locales/fr/group_sources.yml +5 -0
  119. data/config/locales/fr/manage/access_requests.yml +12 -0
  120. data/config/locales/fr/manage/app_passwords.yml +16 -0
  121. data/config/locales/fr/manage/forward_auth_rules.yml +29 -0
  122. data/config/locales/fr/manage/group_sources.yml +44 -0
  123. data/config/locales/fr/manage/health.yml +78 -0
  124. data/config/locales/fr/manage/links.yml +20 -0
  125. data/config/routes.rb +5 -0
  126. data/db/migrate/20261020100000_create_access_requests.rb +28 -0
  127. data/db/migrate/20261020110000_add_app_passwords_to_clients.rb +5 -0
  128. data/db/migrate/20261020120000_add_forward_auth_rules_to_clients.rb +6 -0
  129. data/db/migrate/20261020130000_add_sources_to_groups.rb +15 -0
  130. data/db/migrate/20261020140000_create_health_checks.rb +25 -0
  131. data/db/migrate/20261020150000_add_link_lifetimes_to_tenants.rb +8 -0
  132. data/db/migrate/20261021100000_add_pinned_origin_to_tenants.rb +5 -0
  133. data/lib/generators/masks/server/install/install_generator.rb +3 -2
  134. data/lib/masks/server/configuration.rb +2 -11
  135. data/lib/masks/server/schema_reference.rb +12 -0
  136. data/lib/masks/server/tenancy/middleware.rb +17 -6
  137. data/public/masks-assets/.vite/manifest.json +13 -13
  138. data/public/masks-assets/assets/{account-D46qDQCo.js → account-h7I6VUPR.js} +2 -2
  139. data/public/masks-assets/assets/{account-D46qDQCo.js.map → account-h7I6VUPR.js.map} +1 -1
  140. data/public/masks-assets/assets/{app-D7W0gAyT.css → app-BXOScMjL.css} +1 -1
  141. data/public/masks-assets/assets/{handshake-DIFZPSAK.js → handshake-YQpRNMIs.js} +2 -2
  142. data/public/masks-assets/assets/{handshake-DIFZPSAK.js.map → handshake-YQpRNMIs.js.map} +1 -1
  143. data/public/masks-assets/assets/initial-Cn-UuAsy.js +3 -0
  144. data/public/masks-assets/assets/{initial-C1GpCiEh.js.map → initial-Cn-UuAsy.js.map} +1 -1
  145. data/public/masks-assets/assets/{login-C_6igRZ3.js → login-C21_jb6L.js} +3 -3
  146. data/public/masks-assets/assets/{login-C_6igRZ3.js.map → login-C21_jb6L.js.map} +1 -1
  147. data/public/masks-assets/assets/{manage-D4MzaDvM.js → manage-DpVxe5sv.js} +80 -51
  148. data/public/masks-assets/assets/manage-DpVxe5sv.js.map +1 -0
  149. data/public/masks-assets/assets/passkey-5UYPVD3c.js +2 -0
  150. data/public/masks-assets/assets/{passkey-DIj_5LCY.js.map → passkey-5UYPVD3c.js.map} +1 -1
  151. data/version.txt +1 -1
  152. metadata +87 -14
  153. data/public/masks-assets/assets/initial-C1GpCiEh.js +0 -3
  154. data/public/masks-assets/assets/manage-D4MzaDvM.js.map +0 -1
  155. data/public/masks-assets/assets/passkey-DIj_5LCY.js +0 -2
@@ -1,4 +1,4 @@
1
- import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,O as m,P as h,Q as g,R as _,S as v,T as y,U as b,V as x,X as S,Y as C,Z as w,_ as T,a as E,at as D,b as O,c as k,ct as A,d as j,dt as M,et as N,f as P,ft as F,g as I,h as ee,i as L,it as te,j as R,k as z,l as B,lt as V,m as ne,o as re,ot as H,p as U,pt as ie,q as W,rt as ae,s as G,st as oe,t as K,tt as q,u as se,ut as J,v as ce,w as Y,y as le,z as ue}from"./initial-C1GpCiEh.js";var de=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`;function fe(e=64){let t=new Uint8Array(e);crypto.getRandomValues(t);let n=``;for(let e of t)n+=de[e%66];return n}function pe(e){let t=``;for(let n of new Uint8Array(e))t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}async function me(e){return pe(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e)))}var he=`S256`;async function ge(){let e=await crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`,`verify`]),t=await crypto.subtle.exportKey(`jwk`,e.publicKey);return{privateKey:e.privateKey,jwk:{kty:t.kty,crv:t.crv,x:t.x,y:t.y}}}var _e=e=>pe(new TextEncoder().encode(JSON.stringify(e)).buffer);async function ve(e,t,n,r){let i=new URL(n),a={typ:`dpop+jwt`,alg:`ES256`,jwk:e.jwk},o={jti:fe(32),htm:t.toUpperCase(),htu:`${i.origin}${i.pathname}`,iat:Math.floor(Date.now()/1e3)};r&&(o.ath=pe(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(r))));let s=`${_e(a)}.${_e(o)}`;return`${s}.${pe(await crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},e.privateKey,new TextEncoder().encode(s)))}`}var ye=`masks`,be=`keys`,xe=`dpop`,Se;function Ce(){return Se??=new Promise((e,t)=>{let n=indexedDB.open(ye,1);n.onupgradeneeded=()=>n.result.createObjectStore(be),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}).catch(e=>{throw Se=void 0,e}),Se}function we(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}async function Te(){try{let e=await Ce(),t=await we(e.transaction(be).objectStore(be).get(xe));if(t)return t;let n=await ge();return await we(e.transaction(be,`readwrite`).objectStore(be).put(n,xe)),n}catch{return ge()}}async function Ee(){try{await we((await Ce()).transaction(be,`readwrite`).objectStore(be).delete(xe))}catch{}}var De=class extends Error{code;description;status;constructor(e,t,n){super(t?`${e}: ${t}`:e),this.name=`MasksError`,this.code=e,this.description=t,this.status=n}},Oe=class extends De{},ke={login_required:Oe,interaction_required:Oe,consent_required:class extends De{},access_denied:class extends De{},invalid_grant:class extends De{},invalid_token:class extends De{},invalid_issuer:class extends De{}};function Ae(e,t,n){let r=Object.hasOwn(ke,e)?ke[e]:De,i=new r(e,t,n);return i.name=r.name,i}var je={RS256:`SHA-256`,RS384:`SHA-384`,RS512:`SHA-512`},Me=`RSASSA-PKCS1-v1_5`;function Ne(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t.padEnd(t.length+(4-t.length%4)%4,`=`)),r=new Uint8Array(new ArrayBuffer(n.length));for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function Pe(e){try{return JSON.parse(new TextDecoder().decode(Ne(e)))}catch{throw Ae(`invalid_token`,`the id token is not a JWT`)}}function Fe(e){return Array.isArray(e)?e.map(String):e==null?[]:[String(e)]}async function Ie(e,{issuer:t,audience:n,nonce:r,keyFor:i,leeway:a=60}){let[o,s,c,...l]=e.split(`.`);if(!o||!s||!c||l.length>0)throw Ae(`invalid_token`,`the id token is not a JWT`);let u=Pe(o);if(u.typ!==void 0&&String(u.typ).toUpperCase()!==`JWT`)throw Ae(`invalid_token`,`the id token is typed ${u.typ}, which is not an id token`);let d=je[String(u.alg)];if(!d)throw Ae(`invalid_token`,`the id token is signed with ${u.alg}, which this client cannot verify`);let f=await crypto.subtle.importKey(`jwk`,{...await i(String(u.kid)),alg:String(u.alg)},{name:Me,hash:d},!1,[`verify`]);if(!await crypto.subtle.verify(Me,f,Ne(c),new TextEncoder().encode(`${o}.${s}`)))throw Ae(`invalid_token`,`the id token signature does not verify`);let p=Pe(s),m=Math.floor(Date.now()/1e3);if(String(p.iss??``).replace(/\/$/,``)!==t)throw Ae(`invalid_token`,`the id token was issued by ${p.iss}`);if(!Fe(p.aud).includes(n))throw Ae(`invalid_token`,`the id token was issued for another client`);if(typeof p.exp==`number`&&m-a>=p.exp)throw Ae(`invalid_token`,`the id token has expired`);if(typeof p.iat==`number`&&p.iat-a>m)throw Ae(`invalid_token`,`the id token was issued in the future`);if(p.nonce!==r)throw Ae(`invalid_nonce`,`the id token was issued for another request`);return p}function Le(e){return e?Array.isArray(e)?e:e.split(/\s+/).filter(Boolean):[]}var Re=`masks:pending`,ze=`masks:session`;function Be(e){let t=e.issuer.replace(/\/$/,``),n=e.fetch??globalThis.fetch.bind(globalThis),r=e.storage??globalThis.sessionStorage,i=Le(e.scope??[`openid`,`profile`,`email`]),a=Le(e.resource),o=globalThis.location?.origin,s=e.clientId??(o&&`${o}/oauth/client.json`),c=e.redirectUri??(o&&`${o}/`);if(!globalThis.crypto?.subtle)throw Ae(`insecure_context`,`serve the page over https, or from localhost, since the browser hides the cryptography a sign-in needs on any other http page`);if(!s||!c)throw Ae(`invalid_request`,`pass clientId and redirectUri when the client runs outside a browser`);let l=Ve(r),u=null,d=l?.tokens??null,f=l?.identity??null,p=null,m=null,h=null,g=async(t,n,r)=>e.dpop?(h??=Te(),{DPoP:await ve(await h,t,n,r)}):{},_=0,v=()=>{d=null,f=null,y()},y=()=>{try{d?r.setItem(ze,JSON.stringify({tokens:d,identity:f})):r.removeItem(ze)}catch{}},b=async()=>{if(u)return u;let e=await n(`${t}/.well-known/openid-configuration`,{headers:{Accept:`application/json`}});if(!e.ok)throw Ae(`invalid_issuer`,`${t} answered ${e.status}`,e.status);let r=await e.json();if(r.issuer?.replace(/\/$/,``)!==t)throw Ae(`invalid_issuer`,`${t} publishes a document naming ${r.issuer}`);return u=r,r},x=async e=>{let{jwks_uri:r}=await b();if(!r)throw Ae(`invalid_issuer`,`${t} publishes no jwks_uri, so an id token cannot be verified`);let i=await n(r,{headers:{Accept:`application/json`},...e?{cache:`no-cache`}:{}});if(!i.ok)throw Ae(`invalid_issuer`,`${r} answered ${i.status}`,i.status);let a=await i.json();return Object.fromEntries((a.keys??[]).filter(e=>e.kid&&(!e.use||e.use===`sig`)).map(e=>[e.kid,e]))},S=async(e,n=!1)=>{(n||!p)&&(p=await x(n));let r=p[e];if(r)return r;if(!n)return S(e,!0);throw Ae(`invalid_token`,`${t} publishes no key ${e}`)},C=async e=>{let t=_,{token_endpoint:r}=await b(),i=await n(r,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`,...await g(`POST`,r)},body:new URLSearchParams(e).toString()}),a=await i.json().catch(()=>({}));if(!i.ok)throw Ae(a.error??`http_${i.status}`,a.error_description,i.status);if(t!==_)throw Ae(`invalid_grant`,`the client signed out while this request was in flight`);return d={access_token:a.access_token,id_token:a.id_token,refresh_token:a.refresh_token,token_type:a.token_type??`Bearer`,scope:a.scope??``,expires_in:Number(a.expires_in??0),obtained_at:Math.floor(Date.now()/1e3)},d},w=async({returnTo:t,prompt:n,organization:o=e.organization}={})=>{let{authorization_endpoint:l}=await b(),u=fe(),d={state:fe(24),nonce:i.includes(`openid`)?fe(24):``,verifier:u,returnTo:t??`${location.pathname}${location.search}`,...o?{organization:o}:{}};r.setItem(Re,JSON.stringify(d));let f=new URLSearchParams([[`response_type`,`code`],[`client_id`,s],[`redirect_uri`,c],[`scope`,i.join(` `)],[`state`,d.state],[`code_challenge`,await me(u)],[`code_challenge_method`,he]]);d.nonce&&f.append(`nonce`,d.nonce);for(let e of a)f.append(`resource`,e);return n&&f.append(`prompt`,n),o&&f.append(`organization`,o),`${l}?${f.toString()}`},T=async(e,{style:n=`identicon`,size:r}={})=>{let{avatar_endpoint:i,avatar_styles_supported:a}=await b();if(!i)throw Ae(`invalid_issuer`,`${t} publishes no avatar_endpoint`);if(a&&!a.includes(n))throw Ae(`invalid_style`,`${t} does not serve ${n} avatars`);let o=`${i}/${encodeURIComponent(e)}/${n}`;return r?`${o}?size=${r}`:o},E=(e=30)=>!d||Date.now()/1e3+e>=d.obtained_at+d.expires_in,D=async()=>{if(!d?.refresh_token)throw Ae(`invalid_grant`,`no refresh token is held`);let e=d.refresh_token,t=[[`grant_type`,`refresh_token`],[`refresh_token`,e],[`client_id`,s]];for(let e of a)t.push([`resource`,e]);let n;try{n=await C(t)}catch(e){throw e.code===`invalid_grant`&&v(),e}return n.refresh_token??=e,y(),n},O=async()=>(m??=D().finally(()=>{m=null}),await m),k=async e=>{let{revocation_endpoint:t}=await b();t&&await n(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams([[`token`,e],[`token_type_hint`,`refresh_token`],[`client_id`,s]]).toString()})},A={async ready(){let e=new URL(window.location.href);if(!(e.searchParams.has(`code`)||e.searchParams.has(`error`))||r.getItem(Re)===null)return f;let{returnTo:t}=await A.callback(e.href);return window.history.replaceState(window.history.state,``,t),f},discover:b,authorizeUrl:w,avatarUrl:T,async authorize(e={}){window.location.assign(await w(e))},pending(){return r.getItem(Re)!==null},async callback(e=window.location.href){let n=new URL(e).searchParams,i=r.getItem(Re);if(r.removeItem(Re),n.get(`error`))throw Ae(n.get(`error`),n.get(`error_description`)??void 0);if(!i)throw Ae(`invalid_state`,`this browser has no authorization in flight`);let o=JSON.parse(i);if(n.get(`state`)!==o.state)throw Ae(`invalid_state`,`the callback did not match this browser`);let l=n.get(`code`);if(!l)throw Ae(`invalid_request`,`the callback carried no code`);let u=[[`grant_type`,`authorization_code`],[`code`,l],[`client_id`,s],[`redirect_uri`,c],[`code_verifier`,o.verifier]];for(let e of a)u.push([`resource`,e]);let d=await C(u);if(o.nonce){if(!d.id_token)throw v(),Ae(`invalid_token`,`an id token was asked for and the issuer returned none`);try{f=await Ie(d.id_token,{issuer:t,audience:s,nonce:o.nonce,keyFor:S})}catch(e){throw v(),e}let e=f?.org?.key;if(o.organization&&e&&e!==o.organization)throw v(),Ae(`invalid_token`,`the id token does not name the organization ${o.organization}`)}return y(),{tokens:d,identity:f,returnTo:o.returnTo}},identity(){return f},organization(){return f?.org??null},organizations(){return f?.orgs??[]},async switchOrganization(e,t={}){window.location.assign(await w({...t,organization:e}))},avatars(){return f?.[`masks:avatars`]??null},async photo(e=f?.sub){if(!e||!d)return null;let t=await n(await T(e,{style:`photo`}),{headers:{Authorization:`${d.token_type} ${d.access_token}`,Accept:`image/*`}});return t.ok?await t.blob():null},refresh:O,async fetch(e,t={}){d?.refresh_token&&E()&&await O();let r=d?.access_token,i=new Headers(t.headers);if(r&&d){i.set(`Authorization`,`${d.token_type} ${r}`);for(let[n,a]of Object.entries(await g(t.method??`GET`,e,r)))i.set(n,a)}return await n(e,{...t,headers:i})},async proof(e,t){return(await g(e,t,d?.access_token)).DPoP??null},async freshAccessToken(e=30){return d?.refresh_token&&E(e)&&await O(),d?.access_token??null},accessToken(){return d?.access_token??null},tokens(){return d},authorization(){return d?`${d.token_type} ${d.access_token}`:null},expired:E,async logout({everywhere:n=!1,postLogoutRedirectUri:i}={}){let a=d;if(_+=1,m=null,h=null,r.removeItem(Re),v(),await Promise.all([e.dpop?Ee():void 0,a?.refresh_token?k(a.refresh_token).catch(()=>void 0):void 0]),!n)return;let{end_session_endpoint:o}=await b();if(!o)throw Ae(`invalid_issuer`,`${t} publishes no end_session_endpoint`);let c=new URLSearchParams([[`client_id`,s]]);a?.id_token&&c.append(`id_token_hint`,a.id_token),i&&c.append(`post_logout_redirect_uri`,i),window.location.assign(`${o}?${c.toString()}`)}};return A}function Ve(e){try{let t=e.getItem(ze),n=t?JSON.parse(t):null;return n?.tokens?.access_token?n:null}catch{return null}}var He=/%\{(\w+)\}/g,Ue={},We=new Intl.PluralRules(`en`);function Ge(e,t=`en`){Ue=e??{},We=new Intl.PluralRules(t)}function Ke(e){return e.split(`.`).reduce((e,t)=>e?.[t],Ue)}function qe(e,t){return e.replace(He,(e,n)=>t&&Object.hasOwn(t,n)?String(t[n]):e)}function X(e,t){let n=Ke(e);if(typeof n==`string`)return qe(n,t);if(n&&typeof n==`object`&&t&&`count`in t){let e=n[We.select(Number(t.count))]??n.other;if(typeof e==`string`)return qe(e,t)}return e}var Je=`masks:manage:client`,Ye=[`openid`,`profile`,`email`,`masks:manage`,`masks:manage:security`,`masks:manage:support`,`masks:manage:read`];function Xe(e){try{return JSON.parse(localStorage.getItem(Je)||`null`)?.[e]||null}catch{return null}}function Ze(e,t){let n=JSON.parse(localStorage.getItem(Je)||`{}`);n[e]=t,localStorage.setItem(Je,JSON.stringify(n))}function Qe(e){return Xe(e.issuer)}function $e(e){let t=JSON.parse(localStorage.getItem(Je)||`{}`);delete t[e.issuer],localStorage.setItem(Je,JSON.stringify(t))}function et(e){return`${location.origin}${e.root}/callback`}function tt(e){let t=new URLSearchParams([[`client_name`,`Manage ${e.tenant.name}`],[`resource`,e.resource],[`scope`,Ye.join(` `)],[`return_to`,`${location.origin}${e.root}`],[`post_logout_redirect_uri`,`${location.origin}${e.root}`],[`token_endpoint_auth_method`,`none`],[`redirect_uris`,et(e)]]);return`${e.issuer}/handshake?${t.toString()}`}async function nt(e,t){let n=await fetch(`${e.issuer}/register`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`,Authorization:`Bearer ${t}`},body:JSON.stringify({client_name:`Manage ${e.tenant.name}`,redirect_uris:[et(e)],token_endpoint_auth_method:`none`})}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error(r.error_description||r.error||X(`pairing.registration_failed`));if(r.client_secret)throw Error(X(`pairing.secret_issued`));return Ze(e.issuer,r.client_id),r.client_id}function rt(e){let t=new Map,n=(e,r)=>e instanceof Blob?(t.set(r,e),null):Array.isArray(e)?e.map((e,t)=>n(e,`${r}.${t}`)):e?.constructor===Object?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,n(t,`${r}.${e}`)])):e;return{held:n(e,`variables`),files:t}}function it(e){let t=C({ready:!1,identity:null,failure:null}),n=null,r=()=>{let t=Qe(e);return t?(n||=Be({issuer:e.issuer,clientId:t,redirectUri:et(e),scope:Ye,resource:e.resource}),n):null},i=async()=>{let e=r();if(!e)throw Error(X(`api.unregistered`));return e.expired(30)&&await e.refresh(),e.authorization()};return{state:t,paired(){return!!Qe(e)},signedIn(){return!!r()?.accessToken()},async authorize(e){await r().authorize({returnTo:e})},async callback(){let e=await r().callback();return t.identity=e.identity,t.ready=!0,e},async signOut(){let n=r();if(t.identity=null,!n)return null;let i=n.tokens()?.id_token,a=await n.discover().catch(()=>null);if(n.logout(),!a?.end_session_endpoint)return null;let o=new URLSearchParams({client_id:Qe(e),post_logout_redirect_uri:`${location.origin}${e.root}`});return i&&o.set(`id_token_hint`,i),`${a.end_session_endpoint}?${o}`},unpair(){r()?.logout(),$e(e),n=null},async query(t,n={}){let{held:r,files:a}=rt(n),o={Accept:`application/json`,Authorization:await i()},s;a.size?(s=new FormData,s.append(`operations`,JSON.stringify({query:t,variables:r})),s.append(`map`,JSON.stringify(Object.fromEntries([...a.keys()].map((e,t)=>[t,[e]])))),[...a.values()].forEach((e,t)=>{s.append(String(t),e)})):(o[`Content-Type`]=`application/json`,s=JSON.stringify({query:t,variables:n}));let c=await fetch(e.graphql,{method:`POST`,headers:o,body:s}),l=await c.json().catch(()=>({}));if(c.status===401||c.status===403)throw Error(l.error_description||l.error||X(`api.refused`));if(l.errors?.length)throw Error(l.errors.map(e=>e.message).join(`; `));return l.data}}}var at=Symbol(`router`);function ot(e){let t=C({path:location.pathname,search:location.search}),n=()=>{t.path=location.pathname,t.search=location.search};return addEventListener(`popstate`,n),{state:t,get segments(){return t.path.slice(e.length).split(`/`).filter(Boolean)},get query(){return new URLSearchParams(t.search)},href(t){return`${e}${t}`},go(t){history.pushState({},``,`${e}${t}`),n(),scrollTo({top:0})},replace(t){history.replaceState({},``,`${e}${t}`),n()}}}function st(e){oe(at,e)}function ct(){return te(at)}var lt=f(`<div class="sheet px-6 py-14 text-center"><p class="mx-auto max-w-sm text-sm opacity-85"><!></p></div>`);function ut(t,n){var r=lt(),i=o(r),a=o(i);v(a,()=>n.children),J(i),J(r),e(t,r)}var dt=new Set([`$$slots`,`$$events`,`$$legacy`,`to`,`class`,`children`]),ft=f(`<a><!></a>`);function Z(t,n){H(n,!0);let r=L(n,`class`,3,`link link-hover`),i=E(n,dt),a=ct();function s(e){e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button===0&&(e.preventDefault(),e.stopPropagation(),a.go(n.to))}var c=ft();se(c,e=>({...i,class:r(),href:e,onclick:s}),[()=>a.href(n.to)]);var l=o(c);v(l,()=>n.children),J(c),e(t,c),D()}var pt=f(`<div class="grid place-items-center py-16" role="status"><span class="loading loading-spinner"></span> <span class="sr-only"> </span></div>`);function mt(t,n){H(n,!0);let r=L(n,`label`,19,()=>X(`ui.loading`));var i=pt(),a=l(o(i),2),c=W(a,!0);J(i),s(()=>z(c,r())),e(t,i),D()}var ht=f(`<span role="img"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg></span>`),gt=f(`<span class="marks"></span>`);function _t(i,a){H(a,!0);let c={manager:`<path d="M10 2.75 16 5v4.6c0 3.7-2.5 6.4-6 7.65-3.5-1.25-6-3.95-6-7.65V5z"/>`,key:`<circle cx="6.75" cy="10" r="3.25"/><path d="M10 10h7.25M14.5 10v2.5M17.25 10v2"/>`,invited:`<rect x="2.75" y="4.75" width="14.5" height="10.5" rx="1.5"/><path d="m3.25 5.5 6.75 5.25 6.75-5.25"/>`,unconfirmed:`<circle cx="10" cy="10" r="7"/><path d="M10 6.25v4.5M10 13.75v.01"/>`,waiting:`<circle cx="10" cy="10" r="7"/><path d="M10 6.25V10l2.75 1.75"/>`,help:`<circle cx="10" cy="10" r="7"/><path d="M7.9 7.9a2.15 2.15 0 1 1 3 1.95c-.55.3-.9.75-.9 1.3v.35M10 13.75v.01"/>`,suspended:`<circle cx="10" cy="10" r="7"/><path d="M8.1 7.25v5.5M11.9 7.25v5.5"/>`,blocked:`<circle cx="10" cy="10" r="7"/><path d="m5.05 5.05 9.9 9.9"/>`,dynamic:`<path d="M7 3.25v3.5M13 3.25v3.5"/><rect x="4.75" y="6.75" width="10.5" height="5.5" rx="1.5"/><path d="M10 12.25v4.5"/>`,owns:`<circle cx="8" cy="7" r="3"/><path d="M2.75 16.25c.6-2.9 2.75-4.5 5.25-4.5s4.65 1.6 5.25 4.5M15.5 6.5v5M13 9h5"/>`,signals:`<circle cx="10" cy="10" r="1.5"/><path d="M6.75 13.25a4.6 4.6 0 0 1 0-6.5M13.25 6.75a4.6 4.6 0 0 1 0 6.5M4.4 15.6a7.9 7.9 0 0 1 0-11.2M15.6 4.4a7.9 7.9 0 0 1 0 11.2"/>`,delegates:`<path d="M11.5 3.75h4.75V8.5M16.25 3.75 9.5 10.5"/><path d="M14.5 11.5v3.25c0 .7-.55 1.25-1.25 1.25h-8c-.7 0-1.25-.55-1.25-1.25v-8c0-.7.55-1.25 1.25-1.25H8.5"/>`,mail:`<rect x="2.75" y="4.75" width="14.5" height="10.5" rx="1.5"/><path d="m3.25 5.5 6.75 5.25 6.75-5.25"/>`,archived:`<rect x="2.75" y="4" width="14.5" height="3.5" rx="1"/><path d="M4.25 7.5v7.25c0 .7.55 1.25 1.25 1.25h9c.7 0 1.25-.55 1.25-1.25V7.5M8.25 10.5h3.5"/>`};var l=R(),d=u(l),f=r=>{var i=gt();Y(i,21,()=>a.marks,([e,t,n])=>e,(r,i)=>{var a=q(()=>ie(t(i),3));let l=()=>t(a)[0],u=()=>t(a)[1],d=()=>t(a)[2];var f=ht(),p=o(f);n(p,()=>c[l()],!0),J(p),J(f),s(()=>{le(f,1,`mark mark-${d()??`quiet`??``}`),P(f,`aria-label`,u()),P(f,`title`,u())}),e(r,f)}),J(i),e(r,i)};r(d,e=>{a.marks.length&&e(f)}),e(i,l),D()}var vt=e=>e.devices.some(e=>e.blockedAt),yt=e=>[e.scopes.some(e=>e.startsWith(`masks:`))&&[`manager`,X(`actors.marks.manager`),`primary`],e.otpEnabled&&[`key`,X(`actors.marks.second_factor`,{count:e.backupCodesRemaining}),`good`],!e.activated&&[`invited`,X(`actors.marks.invited`),`info`],e.email&&!e.emailVerified&&[`unconfirmed`,X(`actors.marks.unconfirmed`),`warn`],e.pendingApproval&&[`waiting`,X(`actors.marks.waiting`),`warn`],e.recoveryRequestedAt&&[`help`,X(`actors.marks.help`),`warn`],e.suspendedAt&&[`suspended`,X(`actors.marks.suspended`),`bad`],vt(e)&&[`blocked`,X(`actors.marks.blocked`),`bad`]].filter(Boolean);function bt(e=25){let t=C({cursors:[null],total:null});return{size:e,state:t,get cursor(){return t.cursors.at(-1)},get first(){return(t.cursors.length-1)*e+1},reset(){t.cursors=[null]},forward(e){t.cursors=[...t.cursors,e]},back(){t.cursors.length>1&&(t.cursors=t.cursors.slice(0,-1))},counted(e){t.total=e}}}var xt=f(`<nav class="pager"><span class="hint"> </span> <div class="join"><button type="button" class="btn btn-sm join-item"> </button> <button type="button" class="btn btn-sm join-item"> </button></div></nav>`);function St(n,i){H(i,!0);let a=L(i,`busy`,3,!1),c=q(()=>i.pages.first),f=q(()=>t(c)+i.shown-1),p=q(()=>i.pages.state.total),m=q(()=>i.pages.state.cursors.length>1),h=q(()=>t(p)===null?i.shown===i.pages.size:t(f)<t(p));var g=R(),_=u(g),v=n=>{var r=xt(),u=o(r),g=W(u,!0),_=l(u,2),v=o(_),y=W(v,!0),b=l(v,2),x=W(b,!0);J(_),J(r),s((e,n,i,o)=>{P(r,`aria-label`,e),z(g,n),v.disabled=a()||!t(m),z(y,i),b.disabled=a()||!t(h),z(x,o)},[()=>X(`ui.pager.label`),()=>t(p)===null?X(`ui.pager.range`,{first:t(c).toLocaleString(),last:t(f).toLocaleString()}):X(`ui.pager.range_of`,{first:t(c).toLocaleString(),last:t(f).toLocaleString(),total:t(p).toLocaleString()}),()=>X(`ui.pager.previous`),()=>X(`ui.pager.next`)]),d(`click`,v,()=>i.onpage(`back`)),d(`click`,b,()=>i.onpage(`forward`)),e(n,r)};r(_,e=>{i.shown&&(t(m)||t(h))&&e(v)}),e(n,g),D()}c([`click`]);function Ct(){let e=C({notice:null,failure:null}),t=()=>{e.notice=null,e.failure=null},n=t=>{e.notice=null,e.failure=t?.message??String(t)};return{state:e,clear:t,blame:n,say(t){e.failure=null,e.notice=t},async attempt(r,i=null){t();try{let t=await r()??!0;return i&&(e.notice=i),t}catch(e){return n(e),null}}}}var wt=new Map;function Tt(){return document.documentElement.lang||void 0}function Et(e,t){let n=`${e}:${Tt()??``}`;return wt.has(n)||wt.set(n,t(Tt())),wt.get(n)}var Dt=()=>Et(`day`,e=>new Intl.DateTimeFormat(e,{day:`numeric`,month:`short`,year:`numeric`})),Ot=()=>Et(`moment`,e=>new Intl.DateTimeFormat(e,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})),kt=()=>Et(`relative`,e=>new Intl.RelativeTimeFormat(e,{numeric:`auto`})),At=[[`year`,31536e6],[`month`,2592e6],[`week`,6048e5],[`day`,864e5],[`hour`,36e5],[`minute`,6e4]];function jt(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Mt(e,t=`—`){let n=jt(e);return n?Dt().format(n):t}function Nt(e,t=`—`){let n=jt(e);return n?Ot().format(n):t}function Pt(e,t=`—`){let n=jt(e);if(!n)return t;let r=n.getTime()-Date.now();for(let[e,t]of At)if(Math.abs(r)>=t)return kt().format(Math.round(r/t),e);return kt().format(Math.round(r/1e3),`second`)}function Ft(e,t=`—`){let n=(e??[]).filter(Boolean);return n.length?n.join(` `):t}var It=f(`<span class="tip"><button type="button" class="tip-mark">?</button> <span class="tip-body" role="tooltip"> </span></span>`);function Lt(t,n){let r=h();H(n,!0);let i=L(n,`label`,19,()=>X(`ui.more_about`));var a=It(),c=o(a),u=l(c,2),d=W(u,!0);J(a),s(()=>{P(c,`aria-label`,i()),P(c,`aria-describedby`,r),P(u,`id`,r),z(d,n.text)}),e(t,a),D()}var Rt=f(`<div class="flex items-center gap-2"><h2 class="subhead"> </h2> <!></div>`),zt=f(`<p class="deck-sm"> </p>`),Bt=f(`<div class="flex min-w-0 max-w-full flex-wrap items-center gap-2"><!></div>`),Vt=f(`<div class="section-head"><div class="flex min-w-0 flex-col gap-1.5"><!> <!></div> <!></div>`),Ht=f(`<section><!> <div class="section-body"><!></div></section>`);function Q(n,i){H(i,!0);let a=L(i,`title`,3,null),c=L(i,`lede`,3,null),u=L(i,`help`,3,null),d=L(i,`row`,3,!1);var f=Ht();let p;var m=o(f),h=n=>{var d=Vt(),f=o(d),p=o(f),m=n=>{var i=Rt(),c=o(i),d=W(c,!0),f=l(c,2),p=e=>{{let n=q(()=>X(`ui.about`,{title:a().toLowerCase()}));Lt(e,{get text(){return u()},get label(){return t(n)}})}};r(f,e=>{u()&&e(p)}),J(i),s(()=>z(d,a())),e(n,i)};r(p,e=>{a()&&e(m)});var h=l(p,2),g=t=>{var n=zt(),r=W(n,!0);s(()=>z(r,c())),e(t,n)};r(h,e=>{c()&&e(g)}),J(f);var _=l(f,2),y=t=>{var n=Bt(),r=o(n);v(r,()=>i.actions),J(n),e(t,n)};r(_,e=>{i.actions&&e(y)}),J(d),e(n,d)};r(m,e=>{(a()||c()||i.actions)&&e(h)});var g=l(m,2),_=o(g);v(_,()=>i.children),J(g),J(f),s(()=>p=le(f,1,`section`,null,p,{"section-row":d()})),e(n,f),D()}var Ut=f(`<tr class="hover cursor-pointer"><!></tr>`);function Wt(t,n){H(n,!0);let r=ct();function i(e){e.target.closest(`a, button, input, label`)||getSelection()?.toString()||r.go(n.to)}var a=Ut(),s=o(a);v(s,()=>n.children),J(a),d(`click`,a,i),e(t,a),D()}c([`click`]);var Gt=f(`<div class="join w-full sm:w-auto"><input class="input input-sm join-item w-full sm:w-48 md:w-56" type="search"/> <button type="button" class="btn btn-sm join-item"> </button></div>`);function Kt(t,n){H(n,!0);let r=L(n,`value`,15,``);var i=Gt(),a=o(i);j(a);var c=l(a,2),u=W(c,!0);J(i),s(e=>{P(a,`aria-label`,n.label),P(a,`placeholder`,n.placeholder),z(u,e)},[()=>X(`ui.search`)]),d(`keydown`,a,e=>e.key===`Enter`&&n.onsearch()),B(a,r),d(`click`,c,function(...e){n.onsearch?.apply(this,e)}),e(t,i),D()}c([`keydown`,`click`]);var qt=f(`<th> </th>`),Jt=f(`<div class="sheet overflow-x-auto"><table class="table"><thead><tr></tr></thead><tbody><!></tbody></table></div>`);function Yt(n,i){H(i,!0);let c=q(()=>i.columns.map(e=>typeof e==`string`?{label:e}:e));var d=R(),f=u(d),p=t=>{ut(t,{children:(t,n)=>{V();var r=a();s(()=>z(r,i.empty)),e(t,r)},$$slots:{default:!0}})},m=n=>{var r=Jt(),a=o(r),u=o(a),d=o(u);Y(d,21,()=>t(c),y,(n,r)=>{var i=qt(),a=W(i,!0);s(()=>{le(i,1,`${t(r).right?`text-right`:``} ${t(r).hide?`hidden md:table-cell`:``}`),z(a,t(r).label??``)}),e(n,i)}),J(d),J(u);var f=l(u),p=o(f);v(p,()=>i.rows),J(f),J(a),J(r),e(n,r)};r(f,e=>{i.count===0?e(p):e(m,-1)}),e(n,d),D()}var Xt=f(`<button type="button"> </button>`),Zt=f(`<!> <div class="range" role="group"></div>`,1),Qt=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2"><p class="text-sm"> <code class="font-mono"> </code>. <button type="button" class="link"> </button></p> <label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox"/> </label> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),$t=f(`<p class="text-sm opacity-85"> <code class="font-mono"> </code>. <button type="button" class="link"> </button></p>`),en=f(`<span class="hint"> </span>`),tn=f(`<div class="flex flex-wrap items-center gap-3"><label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox"/> </label> <!> <!></div>`),nn=f(`<span class="badge badge-error badge-xs"> </span>`),rn=f(`<span class="badge badge-warning badge-xs"> </span>`),an=f(`<span class="badge badge-success badge-xs"> </span>`),on=f(`<div class="truncate font-mono text-xs opacity-80"> </div>`),sn=f(` <!>`,1),cn=f(`<div class="truncate"></div>`),ln=f(`<span class="opacity-80"> </span>`),un=f(`<td class="w-0"><input type="checkbox" class="checkbox"/></td> <td class="max-w-[18rem]"><!> <div class="flex flex-wrap items-center gap-1.5"><span class="truncate text-xs opacity-75"> </span> <!> <!></div> <!></td> <td class="hidden max-w-[16rem] text-xs md:table-cell"><!></td> <td class="hidden font-mono text-xs opacity-85 md:table-cell"> </td> <td class="text-xs whitespace-nowrap opacity-85"> </td>`,1),dn=f(`<!> <!> <!>`,1),fn=f(`<div id="devices" class="scroll-mt-20"><!></div>`);function pn(n,i){H(i,!0);let c=[[`allowed`,X(`devices.lenses.allowed`),{blocked:!1}],[`blocked`,X(`devices.lenses.blocked`),{blocked:!0}],[`unattached`,X(`devices.lenses.unattached`),{unattached:!0}]],f=[``,X(`devices.columns.device`),{label:X(`devices.columns.who`),hide:!0},{label:X(`devices.columns.ip_address`),hide:!0},X(`devices.columns.last_seen`)],p=w(C([])),m=w(!0),h=w(`allowed`),g=w(``),_=w(``),v=w(C(new Set)),y=w(!1),b=w(!1),x=w(null),T=q(()=>c.find(([e])=>e===t(h))?.[2]??{});async function E(){S(m,!0);let e=await i.feedback.attempt(()=>i.api.query(`
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,O as m,P as h,Q as g,R as _,S as v,T as y,U as b,V as x,X as S,Y as C,Z as w,_ as T,a as E,at as D,b as O,c as k,ct as A,d as j,dt as M,et as N,f as P,ft as F,g as I,h as ee,i as L,it as te,j as R,k as z,l as B,lt as V,m as ne,o as re,ot as H,p as U,pt as ie,q as W,rt as ae,s as G,st as oe,t as K,tt as q,u as se,ut as J,v as ce,w as Y,y as le,z as ue}from"./initial-Cn-UuAsy.js";var de=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`;function fe(e=64){let t=new Uint8Array(e);crypto.getRandomValues(t);let n=``;for(let e of t)n+=de[e%66];return n}function pe(e){let t=``;for(let n of new Uint8Array(e))t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}async function me(e){return pe(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e)))}var he=`S256`;async function ge(){let e=await crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`,`verify`]),t=await crypto.subtle.exportKey(`jwk`,e.publicKey);return{privateKey:e.privateKey,jwk:{kty:t.kty,crv:t.crv,x:t.x,y:t.y}}}var _e=e=>pe(new TextEncoder().encode(JSON.stringify(e)).buffer);async function ve(e,t,n,r){let i=new URL(n),a={typ:`dpop+jwt`,alg:`ES256`,jwk:e.jwk},o={jti:fe(32),htm:t.toUpperCase(),htu:`${i.origin}${i.pathname}`,iat:Math.floor(Date.now()/1e3)};r&&(o.ath=pe(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(r))));let s=`${_e(a)}.${_e(o)}`;return`${s}.${pe(await crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},e.privateKey,new TextEncoder().encode(s)))}`}var ye=`masks`,be=`keys`,xe=`dpop`,Se;function Ce(){return Se??=new Promise((e,t)=>{let n=indexedDB.open(ye,1);n.onupgradeneeded=()=>n.result.createObjectStore(be),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}).catch(e=>{throw Se=void 0,e}),Se}function we(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}async function Te(){try{let e=await Ce(),t=await we(e.transaction(be).objectStore(be).get(xe));if(t)return t;let n=await ge();return await we(e.transaction(be,`readwrite`).objectStore(be).put(n,xe)),n}catch{return ge()}}async function Ee(){try{await we((await Ce()).transaction(be,`readwrite`).objectStore(be).delete(xe))}catch{}}var De=class extends Error{code;description;status;constructor(e,t,n){super(t?`${e}: ${t}`:e),this.name=`MasksError`,this.code=e,this.description=t,this.status=n}},Oe=class extends De{},ke={login_required:Oe,interaction_required:Oe,consent_required:class extends De{},access_denied:class extends De{},invalid_grant:class extends De{},invalid_token:class extends De{},invalid_issuer:class extends De{}};function Ae(e,t,n){let r=Object.hasOwn(ke,e)?ke[e]:De,i=new r(e,t,n);return i.name=r.name,i}var je={RS256:`SHA-256`,RS384:`SHA-384`,RS512:`SHA-512`},Me=`RSASSA-PKCS1-v1_5`;function Ne(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t.padEnd(t.length+(4-t.length%4)%4,`=`)),r=new Uint8Array(new ArrayBuffer(n.length));for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function Pe(e){try{return JSON.parse(new TextDecoder().decode(Ne(e)))}catch{throw Ae(`invalid_token`,`the id token is not a JWT`)}}function Fe(e){return Array.isArray(e)?e.map(String):e==null?[]:[String(e)]}async function Ie(e,{issuer:t,audience:n,nonce:r,keyFor:i,leeway:a=60}){let[o,s,c,...l]=e.split(`.`);if(!o||!s||!c||l.length>0)throw Ae(`invalid_token`,`the id token is not a JWT`);let u=Pe(o);if(u.typ!==void 0&&String(u.typ).toUpperCase()!==`JWT`)throw Ae(`invalid_token`,`the id token is typed ${u.typ}, which is not an id token`);let d=je[String(u.alg)];if(!d)throw Ae(`invalid_token`,`the id token is signed with ${u.alg}, which this client cannot verify`);let f=await crypto.subtle.importKey(`jwk`,{...await i(String(u.kid)),alg:String(u.alg)},{name:Me,hash:d},!1,[`verify`]);if(!await crypto.subtle.verify(Me,f,Ne(c),new TextEncoder().encode(`${o}.${s}`)))throw Ae(`invalid_token`,`the id token signature does not verify`);let p=Pe(s),m=Math.floor(Date.now()/1e3);if(String(p.iss??``).replace(/\/$/,``)!==t)throw Ae(`invalid_token`,`the id token was issued by ${p.iss}`);if(!Fe(p.aud).includes(n))throw Ae(`invalid_token`,`the id token was issued for another client`);if(typeof p.exp==`number`&&m-a>=p.exp)throw Ae(`invalid_token`,`the id token has expired`);if(typeof p.iat==`number`&&p.iat-a>m)throw Ae(`invalid_token`,`the id token was issued in the future`);if(p.nonce!==r)throw Ae(`invalid_nonce`,`the id token was issued for another request`);return p}function Le(e){return e?Array.isArray(e)?e:e.split(/\s+/).filter(Boolean):[]}var Re=`masks:pending`,ze=`masks:session`;function Be(e){let t=e.issuer.replace(/\/$/,``),n=e.fetch??globalThis.fetch.bind(globalThis),r=e.storage??globalThis.sessionStorage,i=Le(e.scope??[`openid`,`profile`,`email`]),a=Le(e.resource),o=globalThis.location?.origin,s=e.clientId??(o&&`${o}/oauth/client.json`),c=e.redirectUri??(o&&`${o}/`);if(!globalThis.crypto?.subtle)throw Ae(`insecure_context`,`serve the page over https, or from localhost, since the browser hides the cryptography a sign-in needs on any other http page`);if(!s||!c)throw Ae(`invalid_request`,`pass clientId and redirectUri when the client runs outside a browser`);let l=Ve(r),u=null,d=l?.tokens??null,f=l?.identity??null,p=null,m=null,h=null,g=async(t,n,r)=>e.dpop?(h??=Te(),{DPoP:await ve(await h,t,n,r)}):{},_=0,v=()=>{d=null,f=null,y()},y=()=>{try{d?r.setItem(ze,JSON.stringify({tokens:d,identity:f})):r.removeItem(ze)}catch{}},b=async()=>{if(u)return u;let e=await n(`${t}/.well-known/openid-configuration`,{headers:{Accept:`application/json`}});if(!e.ok)throw Ae(`invalid_issuer`,`${t} answered ${e.status}`,e.status);let r=await e.json();if(r.issuer?.replace(/\/$/,``)!==t)throw Ae(`invalid_issuer`,`${t} publishes a document naming ${r.issuer}`);return u=r,r},x=async e=>{let{jwks_uri:r}=await b();if(!r)throw Ae(`invalid_issuer`,`${t} publishes no jwks_uri, so an id token cannot be verified`);let i=await n(r,{headers:{Accept:`application/json`},...e?{cache:`no-cache`}:{}});if(!i.ok)throw Ae(`invalid_issuer`,`${r} answered ${i.status}`,i.status);let a=await i.json();return Object.fromEntries((a.keys??[]).filter(e=>e.kid&&(!e.use||e.use===`sig`)).map(e=>[e.kid,e]))},S=async(e,n=!1)=>{(n||!p)&&(p=await x(n));let r=p[e];if(r)return r;if(!n)return S(e,!0);throw Ae(`invalid_token`,`${t} publishes no key ${e}`)},C=async e=>{let t=_,{token_endpoint:r}=await b(),i=await n(r,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`,...await g(`POST`,r)},body:new URLSearchParams(e).toString()}),a=await i.json().catch(()=>({}));if(!i.ok)throw Ae(a.error??`http_${i.status}`,a.error_description,i.status);if(t!==_)throw Ae(`invalid_grant`,`the client signed out while this request was in flight`);return d={access_token:a.access_token,id_token:a.id_token,refresh_token:a.refresh_token,token_type:a.token_type??`Bearer`,scope:a.scope??``,expires_in:Number(a.expires_in??0),obtained_at:Math.floor(Date.now()/1e3)},d},w=async({returnTo:t,prompt:n,organization:o=e.organization}={})=>{let{authorization_endpoint:l}=await b(),u=fe(),d={state:fe(24),nonce:i.includes(`openid`)?fe(24):``,verifier:u,returnTo:t??`${location.pathname}${location.search}`,...o?{organization:o}:{}};r.setItem(Re,JSON.stringify(d));let f=new URLSearchParams([[`response_type`,`code`],[`client_id`,s],[`redirect_uri`,c],[`scope`,i.join(` `)],[`state`,d.state],[`code_challenge`,await me(u)],[`code_challenge_method`,he]]);d.nonce&&f.append(`nonce`,d.nonce);for(let e of a)f.append(`resource`,e);return n&&f.append(`prompt`,n),o&&f.append(`organization`,o),`${l}?${f.toString()}`},T=async(e,{style:n=`identicon`,size:r}={})=>{let{avatar_endpoint:i,avatar_styles_supported:a}=await b();if(!i)throw Ae(`invalid_issuer`,`${t} publishes no avatar_endpoint`);if(a&&!a.includes(n))throw Ae(`invalid_style`,`${t} does not serve ${n} avatars`);let o=`${i}/${encodeURIComponent(e)}/${n}`;return r?`${o}?size=${r}`:o},E=(e=30)=>!d||Date.now()/1e3+e>=d.obtained_at+d.expires_in,D=async()=>{if(!d?.refresh_token)throw Ae(`invalid_grant`,`no refresh token is held`);let e=d.refresh_token,t=[[`grant_type`,`refresh_token`],[`refresh_token`,e],[`client_id`,s]];for(let e of a)t.push([`resource`,e]);let n;try{n=await C(t)}catch(e){throw e.code===`invalid_grant`&&v(),e}return n.refresh_token??=e,y(),n},O=async()=>(m??=D().finally(()=>{m=null}),await m),k=async e=>{let{revocation_endpoint:t}=await b();t&&await n(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams([[`token`,e],[`token_type_hint`,`refresh_token`],[`client_id`,s]]).toString()})},A={async ready(){let e=new URL(window.location.href);if(!(e.searchParams.has(`code`)||e.searchParams.has(`error`))||r.getItem(Re)===null)return f;let{returnTo:t}=await A.callback(e.href);return window.history.replaceState(window.history.state,``,t),f},discover:b,authorizeUrl:w,avatarUrl:T,async authorize(e={}){window.location.assign(await w(e))},pending(){return r.getItem(Re)!==null},async callback(e=window.location.href){let n=new URL(e).searchParams,i=r.getItem(Re);if(r.removeItem(Re),n.get(`error`))throw Ae(n.get(`error`),n.get(`error_description`)??void 0);if(!i)throw Ae(`invalid_state`,`this browser has no authorization in flight`);let o=JSON.parse(i);if(n.get(`state`)!==o.state)throw Ae(`invalid_state`,`the callback did not match this browser`);let l=n.get(`code`);if(!l)throw Ae(`invalid_request`,`the callback carried no code`);let u=[[`grant_type`,`authorization_code`],[`code`,l],[`client_id`,s],[`redirect_uri`,c],[`code_verifier`,o.verifier]];for(let e of a)u.push([`resource`,e]);let d=await C(u);if(o.nonce){if(!d.id_token)throw v(),Ae(`invalid_token`,`an id token was asked for and the issuer returned none`);try{f=await Ie(d.id_token,{issuer:t,audience:s,nonce:o.nonce,keyFor:S})}catch(e){throw v(),e}let e=f?.org?.key;if(o.organization&&e&&e!==o.organization)throw v(),Ae(`invalid_token`,`the id token does not name the organization ${o.organization}`)}return y(),{tokens:d,identity:f,returnTo:o.returnTo}},identity(){return f},organization(){return f?.org??null},organizations(){return f?.orgs??[]},async switchOrganization(e,t={}){window.location.assign(await w({...t,organization:e}))},avatars(){return f?.[`masks:avatars`]??null},async photo(e=f?.sub){if(!e||!d)return null;let t=await n(await T(e,{style:`photo`}),{headers:{Authorization:`${d.token_type} ${d.access_token}`,Accept:`image/*`}});return t.ok?await t.blob():null},refresh:O,async fetch(e,t={}){d?.refresh_token&&E()&&await O();let r=d?.access_token,i=new Headers(t.headers);if(r&&d){i.set(`Authorization`,`${d.token_type} ${r}`);for(let[n,a]of Object.entries(await g(t.method??`GET`,e,r)))i.set(n,a)}return await n(e,{...t,headers:i})},async proof(e,t){return(await g(e,t,d?.access_token)).DPoP??null},async freshAccessToken(e=30){return d?.refresh_token&&E(e)&&await O(),d?.access_token??null},accessToken(){return d?.access_token??null},tokens(){return d},authorization(){return d?`${d.token_type} ${d.access_token}`:null},expired:E,async logout({everywhere:n=!1,postLogoutRedirectUri:i}={}){let a=d;if(_+=1,m=null,h=null,r.removeItem(Re),v(),await Promise.all([e.dpop?Ee():void 0,a?.refresh_token?k(a.refresh_token).catch(()=>void 0):void 0]),!n)return;let{end_session_endpoint:o}=await b();if(!o)throw Ae(`invalid_issuer`,`${t} publishes no end_session_endpoint`);let c=new URLSearchParams([[`client_id`,s]]);a?.id_token&&c.append(`id_token_hint`,a.id_token),i&&c.append(`post_logout_redirect_uri`,i),window.location.assign(`${o}?${c.toString()}`)}};return A}function Ve(e){try{let t=e.getItem(ze),n=t?JSON.parse(t):null;return n?.tokens?.access_token?n:null}catch{return null}}var He=/%\{(\w+)\}/g,Ue={},We=new Intl.PluralRules(`en`);function Ge(e,t=`en`){Ue=e??{},We=new Intl.PluralRules(t)}function Ke(e){return e.split(`.`).reduce((e,t)=>e?.[t],Ue)}function qe(e,t){return e.replace(He,(e,n)=>t&&Object.hasOwn(t,n)?String(t[n]):e)}function X(e,t){let n=Ke(e);if(typeof n==`string`)return qe(n,t);if(n&&typeof n==`object`&&t&&`count`in t){let e=n[We.select(Number(t.count))]??n.other;if(typeof e==`string`)return qe(e,t)}return e}var Je=`masks:manage:client`,Ye=[`openid`,`profile`,`email`,`masks:manage`,`masks:manage:security`,`masks:manage:support`,`masks:manage:read`];function Xe(e){try{return JSON.parse(localStorage.getItem(Je)||`null`)?.[e]||null}catch{return null}}function Ze(e,t){let n=JSON.parse(localStorage.getItem(Je)||`{}`);n[e]=t,localStorage.setItem(Je,JSON.stringify(n))}function Qe(e){return Xe(e.issuer)}function $e(e){let t=JSON.parse(localStorage.getItem(Je)||`{}`);delete t[e.issuer],localStorage.setItem(Je,JSON.stringify(t))}function et(e){return`${location.origin}${e.root}/callback`}function tt(e){let t=new URLSearchParams([[`client_name`,`Manage ${e.tenant.name}`],[`resource`,e.resource],[`scope`,Ye.join(` `)],[`return_to`,`${location.origin}${e.root}`],[`post_logout_redirect_uri`,`${location.origin}${e.root}`],[`token_endpoint_auth_method`,`none`],[`redirect_uris`,et(e)]]);return`${e.issuer}/handshake?${t.toString()}`}async function nt(e,t){let n=await fetch(`${e.issuer}/register`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`,Authorization:`Bearer ${t}`},body:JSON.stringify({client_name:`Manage ${e.tenant.name}`,redirect_uris:[et(e)],token_endpoint_auth_method:`none`})}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error(r.error_description||r.error||X(`pairing.registration_failed`));if(r.client_secret)throw Error(X(`pairing.secret_issued`));return Ze(e.issuer,r.client_id),r.client_id}function rt(e){let t=new Map,n=(e,r)=>e instanceof Blob?(t.set(r,e),null):Array.isArray(e)?e.map((e,t)=>n(e,`${r}.${t}`)):e?.constructor===Object?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,n(t,`${r}.${e}`)])):e;return{held:n(e,`variables`),files:t}}function it(e){let t=C({ready:!1,identity:null,failure:null}),n=null,r=()=>{let t=Qe(e);return t?(n||=Be({issuer:e.issuer,clientId:t,redirectUri:et(e),scope:Ye,resource:e.resource}),n):null},i=async()=>{let e=r();if(!e)throw Error(X(`api.unregistered`));return e.expired(30)&&await e.refresh(),e.authorization()};return{state:t,paired(){return!!Qe(e)},signedIn(){return!!r()?.accessToken()},async authorize(e){await r().authorize({returnTo:e})},async callback(){let e=await r().callback();return t.identity=e.identity,t.ready=!0,e},async signOut(){let n=r();if(t.identity=null,!n)return null;let i=n.tokens()?.id_token,a=await n.discover().catch(()=>null);if(n.logout(),!a?.end_session_endpoint)return null;let o=new URLSearchParams({client_id:Qe(e),post_logout_redirect_uri:`${location.origin}${e.root}`});return i&&o.set(`id_token_hint`,i),`${a.end_session_endpoint}?${o}`},unpair(){r()?.logout(),$e(e),n=null},async query(t,n={}){let{held:r,files:a}=rt(n),o={Accept:`application/json`,Authorization:await i()},s;a.size?(s=new FormData,s.append(`operations`,JSON.stringify({query:t,variables:r})),s.append(`map`,JSON.stringify(Object.fromEntries([...a.keys()].map((e,t)=>[t,[e]])))),[...a.values()].forEach((e,t)=>{s.append(String(t),e)})):(o[`Content-Type`]=`application/json`,s=JSON.stringify({query:t,variables:n}));let c=await fetch(e.graphql,{method:`POST`,headers:o,body:s}),l=await c.json().catch(()=>({}));if(c.status===401||c.status===403)throw Error(l.error_description||l.error||X(`api.refused`));if(l.errors?.length)throw Error(l.errors.map(e=>e.message).join(`; `));return l.data}}}var at=Symbol(`router`);function ot(e){let t=C({path:location.pathname,search:location.search}),n=()=>{t.path=location.pathname,t.search=location.search};return addEventListener(`popstate`,n),{state:t,get segments(){return t.path.slice(e.length).split(`/`).filter(Boolean)},get query(){return new URLSearchParams(t.search)},href(t){return`${e}${t}`},go(t){history.pushState({},``,`${e}${t}`),n(),scrollTo({top:0})},replace(t){history.replaceState({},``,`${e}${t}`),n()}}}function st(e){oe(at,e)}function ct(){return te(at)}var lt=f(`<div class="sheet px-6 py-14 text-center"><p class="mx-auto max-w-sm text-sm opacity-85"><!></p></div>`);function ut(t,n){var r=lt(),i=o(r),a=o(i);v(a,()=>n.children),J(i),J(r),e(t,r)}var dt=new Set([`$$slots`,`$$events`,`$$legacy`,`to`,`class`,`children`]),ft=f(`<a><!></a>`);function Z(t,n){H(n,!0);let r=L(n,`class`,3,`link link-hover`),i=E(n,dt),a=ct();function s(e){e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button===0&&(e.preventDefault(),e.stopPropagation(),a.go(n.to))}var c=ft();se(c,e=>({...i,class:r(),href:e,onclick:s}),[()=>a.href(n.to)]);var l=o(c);v(l,()=>n.children),J(c),e(t,c),D()}var pt=f(`<div class="grid place-items-center py-16" role="status"><span class="loading loading-spinner"></span> <span class="sr-only"> </span></div>`);function mt(t,n){H(n,!0);let r=L(n,`label`,19,()=>X(`ui.loading`));var i=pt(),a=l(o(i),2),c=W(a,!0);J(i),s(()=>z(c,r())),e(t,i),D()}var ht=f(`<span role="img"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg></span>`),gt=f(`<span class="marks"></span>`);function _t(i,a){H(a,!0);let c={manager:`<path d="M10 2.75 16 5v4.6c0 3.7-2.5 6.4-6 7.65-3.5-1.25-6-3.95-6-7.65V5z"/>`,key:`<circle cx="6.75" cy="10" r="3.25"/><path d="M10 10h7.25M14.5 10v2.5M17.25 10v2"/>`,invited:`<rect x="2.75" y="4.75" width="14.5" height="10.5" rx="1.5"/><path d="m3.25 5.5 6.75 5.25 6.75-5.25"/>`,unconfirmed:`<circle cx="10" cy="10" r="7"/><path d="M10 6.25v4.5M10 13.75v.01"/>`,waiting:`<circle cx="10" cy="10" r="7"/><path d="M10 6.25V10l2.75 1.75"/>`,help:`<circle cx="10" cy="10" r="7"/><path d="M7.9 7.9a2.15 2.15 0 1 1 3 1.95c-.55.3-.9.75-.9 1.3v.35M10 13.75v.01"/>`,suspended:`<circle cx="10" cy="10" r="7"/><path d="M8.1 7.25v5.5M11.9 7.25v5.5"/>`,blocked:`<circle cx="10" cy="10" r="7"/><path d="m5.05 5.05 9.9 9.9"/>`,dynamic:`<path d="M7 3.25v3.5M13 3.25v3.5"/><rect x="4.75" y="6.75" width="10.5" height="5.5" rx="1.5"/><path d="M10 12.25v4.5"/>`,owns:`<circle cx="8" cy="7" r="3"/><path d="M2.75 16.25c.6-2.9 2.75-4.5 5.25-4.5s4.65 1.6 5.25 4.5M15.5 6.5v5M13 9h5"/>`,signals:`<circle cx="10" cy="10" r="1.5"/><path d="M6.75 13.25a4.6 4.6 0 0 1 0-6.5M13.25 6.75a4.6 4.6 0 0 1 0 6.5M4.4 15.6a7.9 7.9 0 0 1 0-11.2M15.6 4.4a7.9 7.9 0 0 1 0 11.2"/>`,delegates:`<path d="M11.5 3.75h4.75V8.5M16.25 3.75 9.5 10.5"/><path d="M14.5 11.5v3.25c0 .7-.55 1.25-1.25 1.25h-8c-.7 0-1.25-.55-1.25-1.25v-8c0-.7.55-1.25 1.25-1.25H8.5"/>`,mail:`<rect x="2.75" y="4.75" width="14.5" height="10.5" rx="1.5"/><path d="m3.25 5.5 6.75 5.25 6.75-5.25"/>`,archived:`<rect x="2.75" y="4" width="14.5" height="3.5" rx="1"/><path d="M4.25 7.5v7.25c0 .7.55 1.25 1.25 1.25h9c.7 0 1.25-.55 1.25-1.25V7.5M8.25 10.5h3.5"/>`};var l=R(),d=u(l),f=r=>{var i=gt();Y(i,21,()=>a.marks,([e,t,n])=>e,(r,i)=>{var a=q(()=>ie(t(i),3));let l=()=>t(a)[0],u=()=>t(a)[1],d=()=>t(a)[2];var f=ht(),p=o(f);n(p,()=>c[l()],!0),J(p),J(f),s(()=>{le(f,1,`mark mark-${d()??`quiet`??``}`),P(f,`aria-label`,u()),P(f,`title`,u())}),e(r,f)}),J(i),e(r,i)};r(d,e=>{a.marks.length&&e(f)}),e(i,l),D()}var vt=e=>e.devices.some(e=>e.blockedAt),yt=e=>[e.scopes.some(e=>e.startsWith(`masks:`))&&[`manager`,X(`actors.marks.manager`),`primary`],e.otpEnabled&&[`key`,X(`actors.marks.second_factor`,{count:e.backupCodesRemaining}),`good`],!e.activated&&[`invited`,X(`actors.marks.invited`),`info`],e.email&&!e.emailVerified&&[`unconfirmed`,X(`actors.marks.unconfirmed`),`warn`],e.pendingApproval&&[`waiting`,X(`actors.marks.waiting`),`warn`],e.recoveryRequestedAt&&[`help`,X(`actors.marks.help`),`warn`],e.suspendedAt&&[`suspended`,X(`actors.marks.suspended`),`bad`],vt(e)&&[`blocked`,X(`actors.marks.blocked`),`bad`]].filter(Boolean);function bt(e=25){let t=C({cursors:[null],total:null});return{size:e,state:t,get cursor(){return t.cursors.at(-1)},get first(){return(t.cursors.length-1)*e+1},reset(){t.cursors=[null]},forward(e){t.cursors=[...t.cursors,e]},back(){t.cursors.length>1&&(t.cursors=t.cursors.slice(0,-1))},counted(e){t.total=e}}}var xt=f(`<nav class="pager"><span class="hint"> </span> <div class="join"><button type="button" class="btn btn-sm join-item"> </button> <button type="button" class="btn btn-sm join-item"> </button></div></nav>`);function St(n,i){H(i,!0);let a=L(i,`busy`,3,!1),c=q(()=>i.pages.first),f=q(()=>t(c)+i.shown-1),p=q(()=>i.pages.state.total),m=q(()=>i.pages.state.cursors.length>1),h=q(()=>t(p)===null?i.shown===i.pages.size:t(f)<t(p));var g=R(),_=u(g),v=n=>{var r=xt(),u=o(r),g=W(u,!0),_=l(u,2),v=o(_),y=W(v,!0),b=l(v,2),x=W(b,!0);J(_),J(r),s((e,n,i,o)=>{P(r,`aria-label`,e),z(g,n),v.disabled=a()||!t(m),z(y,i),b.disabled=a()||!t(h),z(x,o)},[()=>X(`ui.pager.label`),()=>t(p)===null?X(`ui.pager.range`,{first:t(c).toLocaleString(),last:t(f).toLocaleString()}):X(`ui.pager.range_of`,{first:t(c).toLocaleString(),last:t(f).toLocaleString(),total:t(p).toLocaleString()}),()=>X(`ui.pager.previous`),()=>X(`ui.pager.next`)]),d(`click`,v,()=>i.onpage(`back`)),d(`click`,b,()=>i.onpage(`forward`)),e(n,r)};r(_,e=>{i.shown&&(t(m)||t(h))&&e(v)}),e(n,g),D()}c([`click`]);function Ct(){let e=C({notice:null,failure:null}),t=()=>{e.notice=null,e.failure=null},n=t=>{e.notice=null,e.failure=t?.message??String(t)};return{state:e,clear:t,blame:n,say(t){e.failure=null,e.notice=t},async attempt(r,i=null){t();try{let t=await r()??!0;return i&&(e.notice=i),t}catch(e){return n(e),null}}}}var wt=new Map;function Tt(){return document.documentElement.lang||void 0}function Et(e,t){let n=`${e}:${Tt()??``}`;return wt.has(n)||wt.set(n,t(Tt())),wt.get(n)}var Dt=()=>Et(`day`,e=>new Intl.DateTimeFormat(e,{day:`numeric`,month:`short`,year:`numeric`})),Ot=()=>Et(`moment`,e=>new Intl.DateTimeFormat(e,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})),kt=()=>Et(`relative`,e=>new Intl.RelativeTimeFormat(e,{numeric:`auto`})),At=[[`year`,31536e6],[`month`,2592e6],[`week`,6048e5],[`day`,864e5],[`hour`,36e5],[`minute`,6e4]];function jt(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Mt(e,t=`—`){let n=jt(e);return n?Dt().format(n):t}function Nt(e,t=`—`){let n=jt(e);return n?Ot().format(n):t}function Pt(e,t=`—`){let n=jt(e);if(!n)return t;let r=n.getTime()-Date.now();for(let[e,t]of At)if(Math.abs(r)>=t)return kt().format(Math.round(r/t),e);return kt().format(Math.round(r/1e3),`second`)}function Ft(e,t=`—`){let n=(e??[]).filter(Boolean);return n.length?n.join(` `):t}var It=f(`<span class="tip"><button type="button" class="tip-mark">?</button> <span class="tip-body" role="tooltip"> </span></span>`);function Lt(t,n){let r=h();H(n,!0);let i=L(n,`label`,19,()=>X(`ui.more_about`));var a=It(),c=o(a),u=l(c,2),d=W(u,!0);J(a),s(()=>{P(c,`aria-label`,i()),P(c,`aria-describedby`,r),P(u,`id`,r),z(d,n.text)}),e(t,a),D()}var Rt=f(`<div class="flex items-center gap-2"><h2 class="subhead"> </h2> <!></div>`),zt=f(`<p class="deck-sm"> </p>`),Bt=f(`<div class="flex min-w-0 max-w-full flex-wrap items-center gap-2"><!></div>`),Vt=f(`<div class="section-head"><div class="flex min-w-0 flex-col gap-1.5"><!> <!></div> <!></div>`),Ht=f(`<section><!> <div class="section-body"><!></div></section>`);function Q(n,i){H(i,!0);let a=L(i,`title`,3,null),c=L(i,`lede`,3,null),u=L(i,`help`,3,null),d=L(i,`row`,3,!1);var f=Ht();let p;var m=o(f),h=n=>{var d=Vt(),f=o(d),p=o(f),m=n=>{var i=Rt(),c=o(i),d=W(c,!0),f=l(c,2),p=e=>{{let n=q(()=>X(`ui.about`,{title:a().toLowerCase()}));Lt(e,{get text(){return u()},get label(){return t(n)}})}};r(f,e=>{u()&&e(p)}),J(i),s(()=>z(d,a())),e(n,i)};r(p,e=>{a()&&e(m)});var h=l(p,2),g=t=>{var n=zt(),r=W(n,!0);s(()=>z(r,c())),e(t,n)};r(h,e=>{c()&&e(g)}),J(f);var _=l(f,2),y=t=>{var n=Bt(),r=o(n);v(r,()=>i.actions),J(n),e(t,n)};r(_,e=>{i.actions&&e(y)}),J(d),e(n,d)};r(m,e=>{(a()||c()||i.actions)&&e(h)});var g=l(m,2),_=o(g);v(_,()=>i.children),J(g),J(f),s(()=>p=le(f,1,`section`,null,p,{"section-row":d()})),e(n,f),D()}var Ut=f(`<tr class="hover cursor-pointer"><!></tr>`);function Wt(t,n){H(n,!0);let r=ct();function i(e){e.target.closest(`a, button, input, label`)||getSelection()?.toString()||r.go(n.to)}var a=Ut(),s=o(a);v(s,()=>n.children),J(a),d(`click`,a,i),e(t,a),D()}c([`click`]);var Gt=f(`<div class="join w-full sm:w-auto"><input class="input input-sm join-item w-full sm:w-48 md:w-56" type="search"/> <button type="button" class="btn btn-sm join-item"> </button></div>`);function Kt(t,n){H(n,!0);let r=L(n,`value`,15,``);var i=Gt(),a=o(i);j(a);var c=l(a,2),u=W(c,!0);J(i),s(e=>{P(a,`aria-label`,n.label),P(a,`placeholder`,n.placeholder),z(u,e)},[()=>X(`ui.search`)]),d(`keydown`,a,e=>e.key===`Enter`&&n.onsearch()),B(a,r),d(`click`,c,function(...e){n.onsearch?.apply(this,e)}),e(t,i),D()}c([`keydown`,`click`]);var qt=f(`<th> </th>`),Jt=f(`<div class="sheet overflow-x-auto"><table class="table"><thead><tr></tr></thead><tbody><!></tbody></table></div>`);function Yt(n,i){H(i,!0);let c=q(()=>i.columns.map(e=>typeof e==`string`?{label:e}:e));var d=R(),f=u(d),p=t=>{ut(t,{children:(t,n)=>{V();var r=a();s(()=>z(r,i.empty)),e(t,r)},$$slots:{default:!0}})},m=n=>{var r=Jt(),a=o(r),u=o(a),d=o(u);Y(d,21,()=>t(c),y,(n,r)=>{var i=qt(),a=W(i,!0);s(()=>{le(i,1,`${t(r).right?`text-right`:``} ${t(r).hide?`hidden md:table-cell`:``}`),z(a,t(r).label??``)}),e(n,i)}),J(d),J(u);var f=l(u),p=o(f);v(p,()=>i.rows),J(f),J(a),J(r),e(n,r)};r(f,e=>{i.count===0?e(p):e(m,-1)}),e(n,d),D()}var Xt=f(`<button type="button"> </button>`),Zt=f(`<!> <div class="range" role="group"></div>`,1),Qt=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2"><p class="text-sm"> <code class="font-mono"> </code>. <button type="button" class="link"> </button></p> <label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox"/> </label> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),$t=f(`<p class="text-sm opacity-85"> <code class="font-mono"> </code>. <button type="button" class="link"> </button></p>`),en=f(`<span class="hint"> </span>`),tn=f(`<div class="flex flex-wrap items-center gap-3"><label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox"/> </label> <!> <!></div>`),nn=f(`<span class="badge badge-error badge-xs"> </span>`),rn=f(`<span class="badge badge-warning badge-xs"> </span>`),an=f(`<span class="badge badge-success badge-xs"> </span>`),on=f(`<div class="truncate font-mono text-xs opacity-80"> </div>`),sn=f(` <!>`,1),cn=f(`<div class="truncate"></div>`),ln=f(`<span class="opacity-80"> </span>`),un=f(`<td class="w-0"><input type="checkbox" class="checkbox"/></td> <td class="max-w-[18rem]"><!> <div class="flex flex-wrap items-center gap-1.5"><span class="truncate text-xs opacity-75"> </span> <!> <!></div> <!></td> <td class="hidden max-w-[16rem] text-xs md:table-cell"><!></td> <td class="hidden font-mono text-xs opacity-85 md:table-cell"> </td> <td class="text-xs whitespace-nowrap opacity-85"> </td>`,1),dn=f(`<!> <!> <!>`,1),fn=f(`<div id="devices" class="scroll-mt-20"><!></div>`);function pn(n,i){H(i,!0);let c=[[`allowed`,X(`devices.lenses.allowed`),{blocked:!1}],[`blocked`,X(`devices.lenses.blocked`),{blocked:!0}],[`unattached`,X(`devices.lenses.unattached`),{unattached:!0}]],f=[``,X(`devices.columns.device`),{label:X(`devices.columns.who`),hide:!0},{label:X(`devices.columns.ip_address`),hide:!0},X(`devices.columns.last_seen`)],p=w(C([])),m=w(!0),h=w(`allowed`),g=w(``),_=w(``),v=w(C(new Set)),y=w(!1),b=w(!1),x=w(null),T=q(()=>c.find(([e])=>e===t(h))?.[2]??{});async function E(){S(m,!0);let e=await i.feedback.attempt(()=>i.api.query(`
2
2
  query Devices($blocked: Boolean, $unattached: Boolean, $agent: String, $limit: Int) {
3
3
  devices(blocked: $blocked, unattached: $unattached, agent: $agent, limit: $limit) {
4
4
  id label category known ipAddress userAgent lastSeenAt blockedAt
@@ -54,12 +54,12 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
54
54
  mutation Revoke($id: ID!, $family: Boolean) {
55
55
  revokeToken(id: $id, family: $family) { revoked }
56
56
  }
57
- `,{id:e.id,family:t}));if(!a)return;let o=a.revokeToken.revoked;i.feedback.say(X(`tokens.revoked`,{count:o})),await i.onchange()}var v=R(),y=u(v),b=t=>{var n=Wr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`tokens.empty`)]),e(t,n)},x=n=>{var v=Qr(),y=u(v);Y(y,21,()=>t(m),e=>e.id,(n,i)=>{var u=Xr(),f=o(u),p=o(f),m=o(p),v=W(m,!0),y=l(m,2),b=n=>{{let r=q(()=>`/actors/${t(i).actor.uuid}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).actor.identifier)),e(n,o)},$$slots:{default:!0}})}},x=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}};r(y,e=>{c()&&t(i).actor?e(b):t(i).client&&e(x,1)});var S=l(y,2),C=t=>{var n=Gr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`tokens.rotated`)]),e(t,n)};r(S,e=>{t(i).parentId&&e(C)}),J(p);var w=l(p,2),T=o(w),E=W(T,!0),D=l(T,2),O=n=>{var r=Kr(),a=W(r,!0);s(e=>z(a,e),[()=>X(`tokens.revoke_chain`)]),d(`click`,r,()=>_(t(i),!0)),e(n,r)};r(D,e=>{t(i).kind===`refresh`&&e(O)}),J(w),J(f);var k=l(f,2);Y(k,20,()=>t(i).scopes,e=>e,(t,n)=>{var r=qr();let i;var a=W(r,!0);s(e=>{i=le(r,1,`scope`,null,i,{"scope-privileged":e}),z(a,n)},[()=>n.startsWith(`masks:`)]),e(t,r)}),J(k);var A=l(k,2),j=o(A),M=n=>{var r=Jr(),a=W(r,!0);s((e,t)=>{P(r,`title`,e),z(a,t)},[()=>Ft(t(i).audience),()=>Ft(t(i).audience)]),e(n,r)};r(j,e=>{t(i).audience.length&&e(M)});var N=l(j,2),F=n=>{var r=Yr(),a=W(r,!0);s(()=>z(a,t(i).device.label)),e(n,r)};r(N,e=>{t(i).device&&e(F)});var I=l(N,2),ee=W(I,!0),L=l(I,2),te=W(L,!0);J(A),J(u),s((e,n,r,a,o,s)=>{le(m,1,`badge badge-sm ${h[t(i).kind]??`badge-ghost`??``}`),z(v,e),z(E,n),P(I,`title`,r),z(ee,a),P(L,`title`,o),z(te,s)},[()=>g(t(i).kind),()=>X(`tokens.revoke`),()=>Nt(t(i).createdAt),()=>X(`tokens.issued`,{when:Pt(t(i).createdAt)}),()=>Nt(t(i).expiresAt),()=>X(`tokens.expires`,{when:Pt(t(i).expiresAt)})]),d(`click`,T,()=>_(t(i),!1)),e(n,u)}),J(y);var b=l(y,2),x=t=>{var n=Zr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`tokens.more`,{count:i.rows.length-f()})]),d(`click`,n,()=>S(p,!0)),e(t,n)};r(b,e=>{!t(p)&&i.rows.length>f()&&e(x)}),e(n,v)};r(y,e=>{i.rows.length===0?e(b):e(x,-1)}),e(n,v),D()}c([`click`]);var ei=f(`<nav class="settings-tabs"></nav>`);function ti(n,r){let i=L(r,`part`,3,null);var o=ei();Y(o,21,()=>r.parts,([e,t,n])=>t,(n,o)=>{var c=q(()=>ie(t(o),3));let l=()=>t(c)[0],u=()=>t(c)[1],d=()=>t(c)[2];{let o=q(()=>`${r.base}${u()}`),c=q(()=>(i()??null)===l()?`settings-tab-on`:``),f=q(()=>(i()??null)===l()?`page`:void 0);Z(n,{get to(){return t(o)},get class(){return`settings-tab ${t(c)??``}`},get"aria-current"(){return t(f)},children:(t,n)=>{V();var r=a();s(()=>z(r,d())),e(t,r)},$$slots:{default:!0}})}}),J(o),s(()=>P(o,`aria-label`,r.label)),e(n,o)}var ni=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),ri=f(`<img width="64" height="64" alt=""/>`),ii=f(`<div class="alert alert-info alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),ai=f(`<span> </span>`),oi=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <div class="grid grid-cols-2 gap-2 font-mono text-sm md:grid-cols-5"></div></div>`),si=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span></div> <div class="callout-actions"><button type="button" class="btn btn-primary btn-sm"> </button></div></div>`),ci=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span> <span class="hint"> </span></div> <div class="callout-actions"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),li=f(`<div class="callout callout-bad" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),ui=f(`<div class="callout callout-info" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),di=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),fi=f(`<label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox checkbox-sm"/> <code class="hint font-mono"> </code></label>`),pi=f(`<div class="flex flex-col gap-1"></div>`),mi=f(`<p class="text-sm opacity-85"> <!>.</p>`),hi=f(`<p class="hint"> </p>`),gi=f(`<!> <!>`,1),_i=f(`<p class="text-sm"> <span class="font-mono"> </span> </p>`),vi=f(`<!> <!> <!> <!> <!>`,1),yi=f(`<button type="button" class="btn btn-sm self-start"> </button>`),bi=f(`<div class="sheet flex flex-col gap-1 px-4 py-3"><span class="text-sm font-medium"> </span> <span class="hint"> </span> <div class="flex flex-wrap gap-2 pt-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div></div>`),xi=f(`<div class="sheet flex flex-wrap items-center justify-between gap-2 px-4 py-3"><span class="text-sm font-medium"> </span> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),Si=f(`<p class="text-sm opacity-85"> </p>`),Ci=f(`<!> <!> <!>`,1),wi=f(`<span class="badge badge-success badge-xs"> </span>`),Ti=f(`<span class="badge badge-ghost badge-xs"> </span>`),Ei=f(`<span class="text-xs text-error"> </span>`),Di=f(`<li class="sheet flex flex-col gap-1 px-4 py-3"><div class="flex items-baseline justify-between gap-3"><span class="text-sm font-medium"> </span> <span class="flex items-baseline gap-2"><!> <!> <button type="button" class="link text-xs text-error"> </button></span></div> <!> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span class="font-mono"> </span> <span> </span></div></li>`),Oi=f(`<ul class="flex flex-col gap-2"></ul>`),ki=f(`<div class="grid gap-3"></div> <details class="more"><summary> </summary> <div class="grid gap-3 pt-3 sm:grid-cols-2"></div></details> <button type="button" class="btn btn-primary btn-sm self-start"> </button>`,1),Ai=f(`<div class="flex flex-col items-start gap-2"><img width="64" height="64" alt=""/> <span class="hint"> </span></div>`),ji=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Mi=f(`<span class="hint"> </span>`),Ni=f(`<div class="flex flex-wrap gap-5"></div> <div class="flex flex-wrap items-center gap-2"><label> <input type="file" class="sr-only" accept="image/png,image/jpeg,image/gif,image/webp"/></label> <!> <!></div>`,1),Pi=f(`<button type="button" class="btn btn-sm btn-warning btn-outline"> </button>`),Fi=f(`<div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),Ii=f(`<!> <!> <!> <!> <!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function Li(n,i){H(i,!0);let c=L(i,`part`,3,null),f=ct(),p=[[`nickname`,X(`actor.fields.nickname`)],[`name`,X(`actor.fields.name`)],[`email`,X(`actor.fields.email`)]],m=[[`givenName`,X(`actor.fields.given_name`)],[`familyName`,X(`actor.fields.family_name`)],[`middleName`,X(`actor.fields.middle_name`)],[`profileUrl`,X(`actor.fields.profile_url`)],[`pictureUrl`,X(`actor.fields.picture_url`)],[`websiteUrl`,X(`actor.fields.website_url`)],[`gender`,X(`actor.fields.gender`)],[`birthdate`,X(`actor.fields.birthdate`)],[`zoneinfo`,X(`actor.fields.zoneinfo`)],[`locale`,X(`actor.fields.locale`)]],h=[...p,...m],g=Ct(),_=w(null),v=w(null),y=w(C([])),b=w(C([])),x=w(C({})),T=w(!0),E=w(null),O=w(null),k=w(!1),A=q(()=>!!(t(_)&&t(v)&&t(_).uuid===t(v).uuid)),M=[[null,``,X(`actor.parts.profile`)],[`access`,`/access`,X(`actor.parts.access`)],[`sign-in`,`/sign-in`,X(`actor.parts.sign_in`)],[`activity`,`/activity`,X(`actor.parts.activity`)]],N=q(()=>t(_)?[t(_).name,t(_).email??X(`actors.no_email`),t(_).activated?X(`actor.signed_in_lede`,{when:Pt(t(_).lastLoginAt,X(`actor.never`))}):X(`actor.invited_lede`)].filter(Boolean).join(` · `):``),F=()=>B(`mutation Approve($uuid: ID!) { approveActor(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.approval.approved`)),I=()=>confirm(X(`actor.recovery.question`,{identifier:t(_).identifier}))&&B(`mutation Reset($uuid: ID!) { resetSecondFactors(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.recovery.done`)),ee=()=>B(`mutation Dismiss($uuid: ID!) { dismissRecovery(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.recovery.dismissed`));async function te(){S(T,!0);try{let e=await i.api.query(`
57
+ `,{id:e.id,family:t}));if(!a)return;let o=a.revokeToken.revoked;i.feedback.say(X(`tokens.revoked`,{count:o})),await i.onchange()}var v=R(),y=u(v),b=t=>{var n=Wr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`tokens.empty`)]),e(t,n)},x=n=>{var v=Qr(),y=u(v);Y(y,21,()=>t(m),e=>e.id,(n,i)=>{var u=Xr(),f=o(u),p=o(f),m=o(p),v=W(m,!0),y=l(m,2),b=n=>{{let r=q(()=>`/actors/${t(i).actor.uuid}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).actor.identifier)),e(n,o)},$$slots:{default:!0}})}},x=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover text-sm font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}};r(y,e=>{c()&&t(i).actor?e(b):t(i).client&&e(x,1)});var S=l(y,2),C=t=>{var n=Gr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`tokens.rotated`)]),e(t,n)};r(S,e=>{t(i).parentId&&e(C)}),J(p);var w=l(p,2),T=o(w),E=W(T,!0),D=l(T,2),O=n=>{var r=Kr(),a=W(r,!0);s(e=>z(a,e),[()=>X(`tokens.revoke_chain`)]),d(`click`,r,()=>_(t(i),!0)),e(n,r)};r(D,e=>{t(i).kind===`refresh`&&e(O)}),J(w),J(f);var k=l(f,2);Y(k,20,()=>t(i).scopes,e=>e,(t,n)=>{var r=qr();let i;var a=W(r,!0);s(e=>{i=le(r,1,`scope`,null,i,{"scope-privileged":e}),z(a,n)},[()=>n.startsWith(`masks:`)]),e(t,r)}),J(k);var A=l(k,2),j=o(A),M=n=>{var r=Jr(),a=W(r,!0);s((e,t)=>{P(r,`title`,e),z(a,t)},[()=>Ft(t(i).audience),()=>Ft(t(i).audience)]),e(n,r)};r(j,e=>{t(i).audience.length&&e(M)});var N=l(j,2),F=n=>{var r=Yr(),a=W(r,!0);s(()=>z(a,t(i).device.label)),e(n,r)};r(N,e=>{t(i).device&&e(F)});var I=l(N,2),ee=W(I,!0),L=l(I,2),te=W(L,!0);J(A),J(u),s((e,n,r,a,o,s)=>{le(m,1,`badge badge-sm ${h[t(i).kind]??`badge-ghost`??``}`),z(v,e),z(E,n),P(I,`title`,r),z(ee,a),P(L,`title`,o),z(te,s)},[()=>g(t(i).kind),()=>X(`tokens.revoke`),()=>Nt(t(i).createdAt),()=>X(`tokens.issued`,{when:Pt(t(i).createdAt)}),()=>Nt(t(i).expiresAt),()=>X(`tokens.expires`,{when:Pt(t(i).expiresAt)})]),d(`click`,T,()=>_(t(i),!1)),e(n,u)}),J(y);var b=l(y,2),x=t=>{var n=Zr(),r=W(n,!0);s(e=>z(r,e),[()=>X(`tokens.more`,{count:i.rows.length-f()})]),d(`click`,n,()=>S(p,!0)),e(t,n)};r(b,e=>{!t(p)&&i.rows.length>f()&&e(x)}),e(n,v)};r(y,e=>{i.rows.length===0?e(b):e(x,-1)}),e(n,v),D()}c([`click`]);var ei=f(`<nav class="settings-tabs"></nav>`);function ti(n,r){let i=L(r,`part`,3,null);var o=ei();Y(o,21,()=>r.parts,([e,t,n])=>t,(n,o)=>{var c=q(()=>ie(t(o),3));let l=()=>t(c)[0],u=()=>t(c)[1],d=()=>t(c)[2];{let o=q(()=>`${r.base}${u()}`),c=q(()=>(i()??null)===l()?`settings-tab-on`:``),f=q(()=>(i()??null)===l()?`page`:void 0);Z(n,{get to(){return t(o)},get class(){return`settings-tab ${t(c)??``}`},get"aria-current"(){return t(f)},children:(t,n)=>{V();var r=a();s(()=>z(r,d())),e(t,r)},$$slots:{default:!0}})}}),J(o),s(()=>P(o,`aria-label`,r.label)),e(n,o)}var ni=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),ri=f(`<img width="64" height="64" alt=""/>`),ii=f(`<div class="alert alert-info alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),ai=f(`<span> </span>`),oi=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <div class="grid grid-cols-2 gap-2 font-mono text-sm md:grid-cols-5"></div></div>`),si=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span></div> <div class="callout-actions"><button type="button" class="btn btn-primary btn-sm"> </button></div></div>`),ci=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span> <span class="hint"> </span></div> <div class="callout-actions"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),li=f(`<div class="callout callout-bad" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),ui=f(`<div class="callout callout-info" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),di=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),fi=f(`<span class="hint"> </span>`),pi=f(`<label class="flex flex-wrap items-center gap-2 text-sm"><input type="checkbox" class="checkbox checkbox-sm"/> <code class="hint font-mono"> </code> <!></label>`),mi=f(`<div class="flex flex-col gap-1"></div>`),hi=f(`<p class="text-sm opacity-85"> <!>.</p>`),gi=f(`<p class="hint"> </p>`),_i=f(`<!> <!>`,1),vi=f(`<p class="text-sm"> <span class="font-mono"> </span> </p>`),yi=f(`<!> <!> <!> <!> <!>`,1),bi=f(`<button type="button" class="btn btn-sm self-start"> </button>`),xi=f(`<div class="sheet flex flex-col gap-1 px-4 py-3"><span class="text-sm font-medium"> </span> <span class="hint"> </span> <div class="flex flex-wrap gap-2 pt-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div></div>`),Si=f(`<div class="sheet flex flex-wrap items-center justify-between gap-2 px-4 py-3"><span class="text-sm font-medium"> </span> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),Ci=f(`<p class="text-sm opacity-85"> </p>`),wi=f(`<!> <!> <!>`,1),Ti=f(`<span class="badge badge-success badge-xs"> </span>`),Ei=f(`<span class="badge badge-ghost badge-xs"> </span>`),Di=f(`<span class="text-xs text-error"> </span>`),Oi=f(`<li class="sheet flex flex-col gap-1 px-4 py-3"><div class="flex items-baseline justify-between gap-3"><span class="text-sm font-medium"> </span> <span class="flex items-baseline gap-2"><!> <!> <button type="button" class="link text-xs text-error"> </button></span></div> <!> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span class="font-mono"> </span> <span> </span></div></li>`),ki=f(`<ul class="flex flex-col gap-2"></ul>`),Ai=f(`<div class="grid gap-3"></div> <details class="more"><summary> </summary> <div class="grid gap-3 pt-3 sm:grid-cols-2"></div></details> <button type="button" class="btn btn-primary btn-sm self-start"> </button>`,1),ji=f(`<div class="flex flex-col items-start gap-2"><img width="64" height="64" alt=""/> <span class="hint"> </span></div>`),Mi=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Ni=f(`<div class="flex flex-wrap gap-5"></div> <div class="flex flex-wrap items-center gap-2"><label> <input type="file" class="sr-only" accept="image/png,image/jpeg,image/gif,image/webp"/></label> <!> <!></div>`,1),Pi=f(`<button type="button" class="btn btn-sm btn-warning btn-outline"> </button>`),Fi=f(`<div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),Ii=f(`<!> <!> <!> <!> <!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function Li(n,i){H(i,!0);let c=L(i,`part`,3,null),f=ct(),p=[[`nickname`,X(`actor.fields.nickname`)],[`name`,X(`actor.fields.name`)],[`email`,X(`actor.fields.email`)]],m=[[`givenName`,X(`actor.fields.given_name`)],[`familyName`,X(`actor.fields.family_name`)],[`middleName`,X(`actor.fields.middle_name`)],[`profileUrl`,X(`actor.fields.profile_url`)],[`pictureUrl`,X(`actor.fields.picture_url`)],[`websiteUrl`,X(`actor.fields.website_url`)],[`gender`,X(`actor.fields.gender`)],[`birthdate`,X(`actor.fields.birthdate`)],[`zoneinfo`,X(`actor.fields.zoneinfo`)],[`locale`,X(`actor.fields.locale`)]],h=[...p,...m],g=Ct(),_=w(null),v=w(null),y=w(C([])),b=w(C([])),x=w(C({})),T=w(!0),E=w(null),O=w(null),k=w(!1),A=q(()=>!!(t(_)&&t(v)&&t(_).uuid===t(v).uuid)),M=[[null,``,X(`actor.parts.profile`)],[`access`,`/access`,X(`actor.parts.access`)],[`sign-in`,`/sign-in`,X(`actor.parts.sign_in`)],[`activity`,`/activity`,X(`actor.parts.activity`)]],N=q(()=>t(_)?[t(_).name,t(_).email??X(`actors.no_email`),t(_).activated?X(`actor.signed_in_lede`,{when:Pt(t(_).lastLoginAt,X(`actor.never`))}):X(`actor.invited_lede`)].filter(Boolean).join(` · `):``),F=()=>B(`mutation Approve($uuid: ID!) { approveActor(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.approval.approved`)),I=()=>confirm(X(`actor.recovery.question`,{identifier:t(_).identifier}))&&B(`mutation Reset($uuid: ID!) { resetSecondFactors(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.recovery.done`)),ee=()=>B(`mutation Dismiss($uuid: ID!) { dismissRecovery(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.recovery.dismissed`));async function te(){S(T,!0);try{let e=await i.api.query(`
58
58
  query Actor($uuid: ID!) {
59
59
  actor(uuid: $uuid) {
60
60
  uuid identifier nickname email emailVerified phone phoneVerified signedUpAt pendingApproval
61
61
  recoveryRequestedAt
62
- groups { key }
62
+ groupMemberships { group { key } sourcedBy }
63
63
  groupLabels
64
64
  suspendedAt externalId
65
65
  memberships { externalId organization { key name } }
@@ -93,20 +93,20 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
93
93
  device { id label }
94
94
  }
95
95
  }
96
- groups { key name }
96
+ groups { key name source }
97
97
  viewer { uuid }
98
98
  scopesSupported
99
99
  }
100
- `,{uuid:i.uuid});S(_,e.actor,!0),S(v,e.viewer,!0),S(y,e.groups,!0),S(b,e.scopesSupported,!0),S(x,Object.fromEntries(h.map(([t])=>[t,e.actor?.[t]??``])),!0)}catch(e){g.blame(e)}finally{S(T,!1)}}te();async function B(e,t,n){let r=await g.attempt(()=>i.api.query(e,t),n);return r&&await te(),r}let ne=e=>t(_).groups.some(t=>t.key===e.key),re=e=>B(ne(e)?`mutation Leave($key: String!, $uuid: ID!) { removeGroupMember(key: $key, uuid: $uuid) { group { key } } }`:`mutation Join($key: String!, $uuid: ID!) { addGroupMember(key: $key, uuid: $uuid) { group { key } } }`,{key:e.key,uuid:i.uuid},ne(e)?X(`actor.left_group`,{group:e.name}):X(`actor.joined_group`,{group:e.name})),ae=()=>B(`mutation Save($uuid: ID!, ${h.map(([e])=>`$${e}: String`).join(`, `)}) {
100
+ `,{uuid:i.uuid});S(_,e.actor,!0),S(v,e.viewer,!0),S(y,e.groups,!0),S(b,e.scopesSupported,!0),S(x,Object.fromEntries(h.map(([t])=>[t,e.actor?.[t]??``])),!0)}catch(e){g.blame(e)}finally{S(T,!1)}}te();async function B(e,t,n){let r=await g.attempt(()=>i.api.query(e,t),n);return r&&await te(),r}let ne=e=>t(_).groupMemberships.find(t=>t.group.key===e.key),re=e=>!!ne(e),ae=e=>ne(e)?.sourcedBy??null,G=e=>B(re(e)?`mutation Leave($key: String!, $uuid: ID!) { removeGroupMember(key: $key, uuid: $uuid) { group { key } } }`:`mutation Join($key: String!, $uuid: ID!) { addGroupMember(key: $key, uuid: $uuid) { group { key } } }`,{key:e.key,uuid:i.uuid},re(e)?X(`actor.left_group`,{group:e.name}):X(`actor.joined_group`,{group:e.name})),oe=()=>B(`mutation Save($uuid: ID!, ${h.map(([e])=>`$${e}: String`).join(`, `)}) {
101
101
  updateActor(uuid: $uuid, ${h.map(([e])=>`${e}: $${e}`).join(`, `)}) { actor { uuid } }
102
- }`,{uuid:i.uuid,...Object.fromEntries(Object.entries(t(x)).map(([e,t])=>[e,t===``?null:t]))},X(`actor.profile_saved`)),G=e=>B(`mutation Scopes($uuid: ID!, $scopes: [String!]!) {
102
+ }`,{uuid:i.uuid,...Object.fromEntries(Object.entries(t(x)).map(([e,t])=>[e,t===``?null:t]))},X(`actor.profile_saved`)),K=e=>B(`mutation Scopes($uuid: ID!, $scopes: [String!]!) {
103
103
  setActorScopes(uuid: $uuid, scopes: $scopes) { actor { scopes } }
104
- }`,{uuid:i.uuid,scopes:e},X(`actor.scopes_updated`));async function oe(){S(E,null);let e=await B(`mutation Codes($uuid: ID!) { generateBackupCodes(uuid: $uuid) { codes } }`,{uuid:i.uuid},X(`actor.codes_generated`));e&&S(E,e.generateBackupCodes.codes,!0)}async function K(e,t){if(!confirm(t))return;S(O,null);let n=await B(e,{uuid:i.uuid},null);if(!n)return;let r=Object.values(n)[0];r.delivered?g.say(X(`actor.emailed`)):(g.say(X(`actor.no_mailer`)),S(O,r.url,!0))}let se=()=>K(`mutation Reset($uuid: ID!) { resetPassword(uuid: $uuid) { delivered url } }`,X(`actor.reset_question`)),ce=()=>K(`mutation Resend($uuid: ID!) { resendInvitation(uuid: $uuid) { delivered url } }`,X(`actor.resend_question`)),ue=()=>K(`mutation Verify($uuid: ID!) { verifyEmail(uuid: $uuid) { delivered url } }`,X(`actor.confirm_question`));function de(e){confirm(X(`actor.remove_passkey_question`,{label:e.label}))&&B(`mutation Revoke($uuid: ID!, $id: ID!) { revokePasskey(uuid: $uuid, id: $id) { actor { uuid } } }`,{uuid:i.uuid,id:e.id},X(`actor.passkey_removed`))}async function fe(e){let t=e.currentTarget,n=t.files?.[0];n&&(S(k,!0),await B(`mutation Upload($uuid: ID!, $photo: Upload!) {
104
+ }`,{uuid:i.uuid,scopes:e},X(`actor.scopes_updated`));async function se(){S(E,null);let e=await B(`mutation Codes($uuid: ID!) { generateBackupCodes(uuid: $uuid) { codes } }`,{uuid:i.uuid},X(`actor.codes_generated`));e&&S(E,e.generateBackupCodes.codes,!0)}async function ce(e,t){if(!confirm(t))return;S(O,null);let n=await B(e,{uuid:i.uuid},null);if(!n)return;let r=Object.values(n)[0];r.delivered?g.say(X(`actor.emailed`)):(g.say(X(`actor.no_mailer`)),S(O,r.url,!0))}let ue=()=>ce(`mutation Reset($uuid: ID!) { resetPassword(uuid: $uuid) { delivered url } }`,X(`actor.reset_question`)),de=()=>ce(`mutation Resend($uuid: ID!) { resendInvitation(uuid: $uuid) { delivered url } }`,X(`actor.resend_question`)),fe=()=>ce(`mutation Verify($uuid: ID!) { verifyEmail(uuid: $uuid) { delivered url } }`,X(`actor.confirm_question`));function pe(e){confirm(X(`actor.remove_passkey_question`,{label:e.label}))&&B(`mutation Revoke($uuid: ID!, $id: ID!) { revokePasskey(uuid: $uuid, id: $id) { actor { uuid } } }`,{uuid:i.uuid,id:e.id},X(`actor.passkey_removed`))}async function me(e){let t=e.currentTarget,n=t.files?.[0];n&&(S(k,!0),await B(`mutation Upload($uuid: ID!, $photo: Upload!) {
105
105
  uploadAvatar(uuid: $uuid, photo: $photo) { actor { uuid } }
106
- }`,{uuid:i.uuid,photo:n},X(`actor.photo_updated`)),S(k,!1),t.value=``)}function pe(){confirm(X(`actor.remove_photo_question`))&&B(`mutation Remove($uuid: ID!) { removeAvatar(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.photo_removed`))}function me(){confirm(X(`actor.disable_question`))&&B(`mutation Disable($uuid: ID!) { disableAuthenticator(uuid: $uuid) { actor { otpEnabled } } }`,{uuid:i.uuid},X(`actor.authenticator_removed`))}let he=[[`email`,`emailCodesEnabled`,X(`actor.factors.email.name`),X(`actor.factors.email.lower`)],[`sms`,`textCodesEnabled`,X(`actor.factors.sms.name`),X(`actor.factors.sms.lower`)]];function ge(e,t,n){confirm(X(`actor.turn_off_question`,{name:n}))&&B(`mutation TurnOff($uuid: ID!, $factor: String!) {
106
+ }`,{uuid:i.uuid,photo:n},X(`actor.photo_updated`)),S(k,!1),t.value=``)}function he(){confirm(X(`actor.remove_photo_question`))&&B(`mutation Remove($uuid: ID!) { removeAvatar(uuid: $uuid) { actor { uuid } } }`,{uuid:i.uuid},X(`actor.photo_removed`))}function ge(){confirm(X(`actor.disable_question`))&&B(`mutation Disable($uuid: ID!) { disableAuthenticator(uuid: $uuid) { actor { otpEnabled } } }`,{uuid:i.uuid},X(`actor.authenticator_removed`))}let _e=[[`email`,`emailCodesEnabled`,X(`actor.factors.email.name`),X(`actor.factors.email.lower`)],[`sms`,`textCodesEnabled`,X(`actor.factors.sms.name`),X(`actor.factors.sms.lower`)]];function ve(e,t,n){confirm(X(`actor.turn_off_question`,{name:n}))&&B(`mutation TurnOff($uuid: ID!, $factor: String!) {
107
107
  disableCodeFactor(uuid: $uuid, factor: $factor) { actor { uuid } }
108
- }`,{uuid:i.uuid,factor:e},X(`actor.turned_off`,{name:t}))}function _e(){confirm(X(`actor.suspend_question`,{identifier:t(_).identifier}))&&B(`mutation Suspend($uuid: ID!) { suspendActor(uuid: $uuid) { actor { suspendedAt } } }`,{uuid:i.uuid},X(`actor.suspended`))}function ve(){B(`mutation Restore($uuid: ID!) { restoreActor(uuid: $uuid) { actor { suspendedAt } } }`,{uuid:i.uuid},X(`actor.restored`))}async function ye(){confirm(X(`actor.delete_question`,{identifier:t(_).identifier}))&&await g.attempt(()=>i.api.query(`mutation Delete($uuid: ID!) { deleteActor(uuid: $uuid) { identifier } }`,{uuid:i.uuid}))&&f.go(`/actors`)}var be=R(),xe=u(be),Se=e=>{mt(e,{})},Ce=t=>{var n=ni(),r=W(n,!0);s(e=>z(r,e),[()=>g.state.failure??X(`actor.missing`)]),e(t,n)},we=n=>{{let f=n=>{var r=ri();let i;s(()=>{P(r,`src`,`${t(_).avatars.photo??t(_).avatars.identicon}?size=128`),i=le(r,1,`size-14 shrink-0 rounded-lg object-cover sm:size-16`,null,i,{drawn:!t(_).avatars.photo})}),e(n,r)},h=e=>{{let n=q(()=>yt(t(_)));_t(e,{get marks(){return t(n)}})}},v=q(()=>({to:`/actors`,label:X(`actor.back`)}));zn(n,{get title(){return t(_).identifier},get id(){return t(_).uuid},get back(){return t(v)},get lede(){return t(N)},lead:f,after:h,children:(n,f)=>{var h=Ii(),v=u(h);Nn(v,{get feedback(){return g.state}});var S=l(v,2),C=n=>{var r=ii(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(O))},[()=>X(`actor.link_once`)]),e(n,r)};r(S,e=>{t(O)&&e(C)});var w=l(S,2),T=n=>{var r=oi(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,20,()=>t(E),e=>e,(t,n)=>{var r=ai(),i=W(r,!0);s(()=>z(i,n)),e(t,r)}),J(c),J(r),s(e=>z(a,e),[()=>X(`actor.write_down`)]),e(n,r)};r(w,e=>{t(E)&&e(T)});var D=l(w,2),N=t=>{var n=si(),r=o(n),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r);var f=l(r,2),p=o(f),m=W(p,!0);J(f),J(n),s((e,t,n)=>{z(a,e),z(u,t),z(m,n)},[()=>X(`actor.approval.title`),()=>X(`actor.approval.lede`),()=>X(`actor.approval.approve`)]),d(`click`,p,F),e(t,n)};r(D,e=>{t(_).pendingApproval&&e(N)});var L=l(D,2),B=n=>{var r=ci(),i=o(r),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0),p=l(u,2),m=W(p,!0);J(i);var h=l(i,2),g=o(h),v=W(g,!0),y=l(g,2),b=W(y,!0);J(h),J(r),s((e,t,n,r,i)=>{z(c,e),z(f,t),z(m,n),z(v,r),z(b,i)},[()=>X(`actor.recovery.title`),()=>X(`actor.recovery.lede`,{when:Pt(t(_).recoveryRequestedAt)}),()=>X(`actor.recovery.explain`),()=>X(`actor.recovery.reset`),()=>X(`actor.recovery.dismiss`)]),d(`click`,g,I),d(`click`,y,ee),e(n,r)};r(L,e=>{t(_).recoveryRequestedAt&&e(B)});var H=l(L,2),K=n=>{var r=li(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`actor.suspended_on`,{day:Mt(t(_).suspendedAt)}),()=>X(`actor.restore`)]),d(`click`,f,ve),e(n,r)};r(H,e=>{t(_).suspendedAt&&e(K)});var be=l(H,2),xe=n=>{var r=ui(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>t(_).invitedAt?X(`actor.invited_on`,{day:Mt(t(_).invitedAt)}):X(`actor.invited`),()=>X(`actor.resend`)]),d(`click`,f,ce),e(n,r)};r(be,e=>{t(_).activated||e(xe)});var Se=l(be,2),Ce=n=>{var r=di(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`actor.unconfirmed`,{email:t(_).email}),()=>X(`actor.send_confirmation`)]),d(`click`,f,ue),e(n,r)};r(Se,e=>{t(_).email&&!t(_).emailVerified&&e(Ce)});var we=l(Se,2);{let e=q(()=>`/actors/${t(_).uuid}`),n=q(()=>X(`actor.parts.label`));ti(we,{get base(){return t(e)},get part(){return c()},get parts(){return M},get label(){return t(n)}})}var Te=l(we,2),Ee=o(Te),De=n=>{var c=vi(),f=u(c);{let e=q(()=>X(`actor.scopes`)),n=q(()=>X(`actor.scopes_lede`));Q(f,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{Tn(e,{get value(){return t(_).scopes},get available(){return t(b)},onchange:G})},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`actor.groups`)),i=q(()=>X(`actor.groups_lede`));Q(p,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var c=gi(),f=u(c),p=n=>{var r=pi();Y(r,21,()=>t(y),e=>e.key,(n,r)=>{var i=fi(),a=o(i);j(a);var c=l(a),u=l(c),f=W(u,!0);J(i),s(e=>{U(a,e),z(c,` ${t(r).name??``} `),z(f,t(r).key)},[()=>ne(t(r))]),d(`change`,a,()=>re(t(r))),e(n,i)}),J(r),e(n,r)},m=t=>{var n=mi(),r=o(n);Z(l(r),{to:`/settings`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`actor.add_group`)]),e(t,r)},$$slots:{default:!0}}),V(),J(n),s(e=>z(r,`${e??``} `),[()=>X(`actor.no_groups`)]),e(t,n)};r(f,e=>{t(y).length?e(p):e(m,-1)});var h=l(f,2),g=n=>{var r=hi(),i=W(r,!0);s(e=>z(i,e),[()=>X(`actor.group_labels`,{labels:t(_).groupLabels.join(`, `)})]),e(n,r)};r(h,e=>{t(_).groupLabels.length&&e(g)}),e(n,c)},$$slots:{default:!0}})}var m=l(p,2),h=n=>{{let i=q(()=>X(`actor.provisioned`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=gi(),c=u(a),d=n=>{var r=_i(),i=o(r),a=l(i),c=W(a,!0),u=l(a);J(r),s((e,n)=>{z(i,`${e??``} `),z(c,t(_).externalId),z(u,`.
109
- ${n??``}`)},[()=>X(`actor.provisioned_as`),()=>X(`actor.provider_may_change`)]),e(n,r)};r(c,e=>{t(_).externalId&&e(d)});var f=l(c,2);Y(f,17,()=>t(_).memberships.filter(e=>e.externalId),e=>e.organization.key,(n,r)=>{var i=_i(),a=o(i),c=l(a),u=W(c,!0),d=l(c);J(i),s((e,n)=>{z(a,`${e??``} `),z(u,t(r).externalId),z(d,`, ${n??``}`)},[()=>X(`actor.directory_provisioned`,{organization:t(r).organization.name}),()=>X(`actor.directory_may_change`)]),e(n,i)}),e(n,a)},$$slots:{default:!0}})}},v=q(()=>t(_).externalId||t(_).memberships.some(e=>e.externalId));r(m,e=>{t(v)&&e(h)});var x=l(m,2);{let e=q(()=>X(`actor.consents`)),n=q(()=>X(`actor.consents_lede`));Q(x,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{yr(e,{get api(){return i.api},get feedback(){return g},get rows(){return t(_).consents},onchange:te})},$$slots:{default:!0}})}var S=l(x,2);{let e=q(()=>X(`actor.connections`)),n=q(()=>X(`actor.connections_lede`));Q(S,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{dr(e,{get api(){return i.api},get feedback(){return g},get rows(){return t(_).connections},onchange:te})},$$slots:{default:!0}})}e(n,c)},Oe=n=>{var a=vi(),c=u(a);{let n=q(()=>X(`actor.password`)),i=q(()=>t(_).activated?X(`actor.password_lede`):X(`actor.password_invited`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=R(),o=u(a),c=t=>{var n=yi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.reset_password`)]),d(`click`,n,se),e(t,n)},l=t=>{var n=yi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.resend`)]),d(`click`,n,ce),e(t,n)};r(o,e=>{t(_).activated?e(c):e(l,-1)}),e(n,a)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`actor.second_factor`));Q(f,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Ci(),c=u(a),f=n=>{var r=bi(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0),f=l(c,2),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),J(r),s((e,t,n,r)=>{z(a,e),z(u,t),z(m,n),z(g,r)},[()=>X(`actor.authenticator`),()=>X(`actor.backup_codes`,{count:t(_).backupCodesRemaining}),()=>X(`actor.generate`),()=>X(`actor.remove_authenticator`)]),d(`click`,p,oe),d(`click`,h,me),e(n,r)};r(c,e=>{t(_).otpEnabled&&e(f)});var p=l(c,2);Y(p,17,()=>he.filter(([,e])=>t(_)[e]),([e,,t,n])=>e,(n,r)=>{var i=q(()=>ie(t(r),4));let a=()=>t(i)[0],c=()=>t(i)[2],u=()=>t(i)[3];var f=xi(),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),s(e=>{z(m,c()),z(g,e)},[()=>X(`actor.turn_off`,{name:u()})]),d(`click`,h,()=>ge(a(),c(),u())),e(n,f)});var m=l(p,2),h=t=>{var n=Si(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.password_only`)]),e(t,n)};r(m,e=>{!t(_).otpEnabled&&!t(_).emailCodesEnabled&&!t(_).textCodesEnabled&&e(h)}),e(n,a)},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`actor.passkeys`));Q(p,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=R(),c=u(a),f=t=>{var n=Si(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.no_passkeys`)]),e(t,n)},p=n=>{var i=Oi();Y(i,21,()=>t(_).passkeys,e=>e.id,(n,i)=>{var a=Di(),c=o(a),u=o(c),f=W(u,!0),p=l(u,2),m=o(p),h=t=>{var n=wi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.verifying`)]),e(t,n)};r(m,e=>{t(i).userVerified&&e(h)});var g=l(m,2),_=n=>{var r=Ti(),a=W(r,!0);s(()=>z(a,t(i).certification)),e(n,r)};r(g,e=>{t(i).certification&&e(_)});var v=l(g,2),y=W(v,!0);J(p),J(c);var b=l(c,2),x=n=>{var r=Ei(),a=W(r,!0);s(e=>z(a,e),[()=>X(`actor.compromise`,{compromise:t(i).compromise.toLowerCase().replaceAll(`_`,` `)})]),e(n,r)};r(b,e=>{t(i).compromise&&e(x)});var S=l(b,2),C=o(S),w=W(C,!0),T=l(C,2),E=W(T,!0);J(S),J(a),s((e,n,r)=>{z(f,t(i).label),z(y,e),z(w,n),z(E,r)},[()=>X(`actor.remove`),()=>t(i).aaguid??X(`actor.no_aaguid`),()=>X(`actor.last_used`,{when:Pt(t(i).lastUsedAt,X(`actor.never`))})]),d(`click`,v,()=>de(t(i))),e(n,a)}),J(i),e(n,i)};r(c,e=>{t(_).passkeys.length===0?e(f):e(p,-1)}),e(n,a)},$$slots:{default:!0}})}var m=l(p,2);{let e=q(()=>X(`actor.signed_in`)),n=q(()=>t(A)?X(`actor.signed_in_yourself`):null);Q(m,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{Ur(e,{get api(){return i.api},get feedback(){return g},get actor(){return t(_)},onchange:te})},$$slots:{default:!0}})}var h=l(m,2);{let e=q(()=>X(`actor.tokens`)),n=q(()=>X(`actor.tokens_lede`));Q(h,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{$r(e,{get api(){return i.api},get feedback(){return g},get rows(){return t(_).tokens},onchange:te})},$$slots:{default:!0}})}e(n,a)},ke=n=>{Q(n,{actions:n=>{{let r=q(()=>`/activity?actor=${t(_).uuid}`);Z(n,{get to(){return t(r)},class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`actor.all_activity`)]),e(t,r)},$$slots:{default:!0}})}},children:(e,n)=>{{let n=q(()=>X(`actor.no_activity`));Mr(e,{get events(){return t(_).events},showActor:!1,get empty(){return t(n)},limit:25,collapse:!0})}},$$slots:{actions:!0,default:!0}})},Ae=n=>{var i=Ci(),a=u(i);{let n=q(()=>X(`actor.profile`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=ki(),a=u(i);Y(a,21,()=>p,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];$(e,{get label(){return a()},get value(){return t(x)[i()]},set value(e){t(x)[i()]=e}})}),J(a);var c=l(a,2),f=o(c),h=W(f,!0),g=l(f,2);Y(g,21,()=>m,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];$(e,{get label(){return a()},get value(){return t(x)[i()]},set value(e){t(x)[i()]=e}})}),J(g),J(c);var _=l(c,2),v=W(_,!0);s((e,t,n)=>{c.open=e,z(h,t),z(v,n)},[()=>m.some(([e])=>t(x)[e]),()=>X(`actor.more_fields`),()=>X(`actor.save_profile`)]),d(`click`,_,ae),e(n,i)},$$slots:{default:!0}})}var c=l(a,2);{let n=q(()=>X(`actor.photo`)),i=q(()=>X(`actor.photo_lede`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Ni(),c=u(a);Y(c,20,()=>[`photo`,`identicon`,`initials`].filter(e=>t(_).avatars[e]),e=>e,(n,r)=>{var i=Ai(),a=o(i);let c;var u=l(a,2),d=W(u,!0);J(i),s(e=>{P(a,`src`,`${t(_).avatars[r]}?size=128`),c=le(a,1,`size-16 rounded-lg object-cover`,null,c,{drawn:r!==`photo`}),z(d,e)},[()=>X(`actor.styles.${r}`)]),e(n,i)}),J(c);var f=l(c,2),p=o(f);let m;var h=o(p),g=l(h);J(p);var v=l(p,2),y=t=>{var n=ji(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.remove_photo`)]),d(`click`,n,pe),e(t,n)};r(v,e=>{t(_).photoUploaded&&e(y)});var b=l(v,2),x=t=>{var n=Mi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.uploading`)]),e(t,n)};r(b,e=>{t(k)&&e(x)}),J(f),s(e=>{m=le(p,1,`btn btn-sm`,null,m,{"btn-disabled":t(k)}),z(h,`${e??``} `),g.disabled=t(k)},[()=>t(_).photoUploaded?X(`actor.change_photo`):X(`actor.upload_photo`)]),d(`change`,g,fe),e(n,a)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`actor.danger`)),i=q(()=>t(A)?X(`actor.yourself`):X(`actor.danger_lede`));Q(f,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=R(),c=u(a),f=n=>{var i=Fi(),a=o(i),c=n=>{var r=Pi(),i=W(r,!0);s(e=>z(i,e),[()=>X(`actor.suspend`,{identifier:t(_).identifier})]),d(`click`,r,_e),e(n,r)};r(a,e=>{t(_).suspendedAt||e(c)});var u=l(a,2),f=W(u,!0);J(i),s(e=>z(f,e),[()=>X(`actor.delete`,{identifier:t(_).identifier})]),d(`click`,u,ye),e(n,i)};r(c,e=>{t(A)||e(f)}),e(n,a)},$$slots:{default:!0}})}e(n,i)};r(Ee,e=>{c()===`access`?e(De):c()===`sign-in`?e(Oe,1):c()===`activity`?e(ke,2):e(Ae,-1)}),J(Te),e(n,h)},$$slots:{lead:!0,after:!0,default:!0}})}};r(xe,e=>{t(T)&&!t(_)?e(Se):t(_)?e(we,-1):e(Ce,1)}),e(n,be),D()}c([`click`,`change`]);var Ri=f(`<dt class="opacity-80"> </dt> <dd> </dd>`,1),zi=f(`<dl class="grid gap-x-4 gap-y-0.5 text-sm sm:grid-cols-3 sm:gap-y-2"></dl>`);function Bi(n,r){var i=zi();Y(i,21,()=>r.rows,({term:e,value:t,mono:n})=>e,(n,r)=>{let i=()=>t(r).term,a=()=>t(r).value,o=()=>t(r).mono;var c=Ri(),d=u(c),f=W(d,!0),p=l(d,2),m=W(p,!0);s(()=>{z(f,i()),le(p,1,`pb-2 sm:col-span-2 sm:pb-0 ${o()?`font-mono text-xs break-all`:``}`),z(m,a()||`—`)}),e(n,c)}),J(i),e(n,i)}var Vi=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Hi=f(`<button type="button" class="btn btn-sm"> </button>`),Ui=f(`<button type="button" class="btn btn-sm btn-error btn-outline"> </button>`),Wi=f(`<!> <div class="flex flex-wrap gap-2 pt-1"><!> <!></div>`,1),Gi=f(`<p class="text-sm opacity-85"> </p>`),Ki=f(`<li class="slat"><!></li>`),qi=f(`<ul class="slats"></ul>`),Ji=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><!> <span class="font-mono text-xs opacity-80"> </span></div> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span> </span> <span> </span></div></li>`),Yi=f(`<!> <div class="grid items-start gap-4 md:grid-cols-2"><!> <div class="flex flex-col gap-4"><!> <!> <!></div></div>`,1);function Xi(n,i){H(i,!0);let c=Ct(),f=w(null),p=w(C([])),m=w(!0);async function h(){S(m,!0);try{let e=await i.api.query(`
108
+ }`,{uuid:i.uuid,factor:e},X(`actor.turned_off`,{name:t}))}function ye(){confirm(X(`actor.suspend_question`,{identifier:t(_).identifier}))&&B(`mutation Suspend($uuid: ID!) { suspendActor(uuid: $uuid) { actor { suspendedAt } } }`,{uuid:i.uuid},X(`actor.suspended`))}function be(){B(`mutation Restore($uuid: ID!) { restoreActor(uuid: $uuid) { actor { suspendedAt } } }`,{uuid:i.uuid},X(`actor.restored`))}async function xe(){confirm(X(`actor.delete_question`,{identifier:t(_).identifier}))&&await g.attempt(()=>i.api.query(`mutation Delete($uuid: ID!) { deleteActor(uuid: $uuid) { identifier } }`,{uuid:i.uuid}))&&f.go(`/actors`)}var Se=R(),Ce=u(Se),we=e=>{mt(e,{})},Te=t=>{var n=ni(),r=W(n,!0);s(e=>z(r,e),[()=>g.state.failure??X(`actor.missing`)]),e(t,n)},Ee=n=>{{let f=n=>{var r=ri();let i;s(()=>{P(r,`src`,`${t(_).avatars.photo??t(_).avatars.identicon}?size=128`),i=le(r,1,`size-14 shrink-0 rounded-lg object-cover sm:size-16`,null,i,{drawn:!t(_).avatars.photo})}),e(n,r)},h=e=>{{let n=q(()=>yt(t(_)));_t(e,{get marks(){return t(n)}})}},v=q(()=>({to:`/actors`,label:X(`actor.back`)}));zn(n,{get title(){return t(_).identifier},get id(){return t(_).uuid},get back(){return t(v)},get lede(){return t(N)},lead:f,after:h,children:(n,f)=>{var h=Ii(),v=u(h);Nn(v,{get feedback(){return g.state}});var S=l(v,2),C=n=>{var r=ii(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(O))},[()=>X(`actor.link_once`)]),e(n,r)};r(S,e=>{t(O)&&e(C)});var w=l(S,2),T=n=>{var r=oi(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,20,()=>t(E),e=>e,(t,n)=>{var r=ai(),i=W(r,!0);s(()=>z(i,n)),e(t,r)}),J(c),J(r),s(e=>z(a,e),[()=>X(`actor.write_down`)]),e(n,r)};r(w,e=>{t(E)&&e(T)});var D=l(w,2),N=t=>{var n=si(),r=o(n),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r);var f=l(r,2),p=o(f),m=W(p,!0);J(f),J(n),s((e,t,n)=>{z(a,e),z(u,t),z(m,n)},[()=>X(`actor.approval.title`),()=>X(`actor.approval.lede`),()=>X(`actor.approval.approve`)]),d(`click`,p,F),e(t,n)};r(D,e=>{t(_).pendingApproval&&e(N)});var L=l(D,2),B=n=>{var r=ci(),i=o(r),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0),p=l(u,2),m=W(p,!0);J(i);var h=l(i,2),g=o(h),v=W(g,!0),y=l(g,2),b=W(y,!0);J(h),J(r),s((e,t,n,r,i)=>{z(c,e),z(f,t),z(m,n),z(v,r),z(b,i)},[()=>X(`actor.recovery.title`),()=>X(`actor.recovery.lede`,{when:Pt(t(_).recoveryRequestedAt)}),()=>X(`actor.recovery.explain`),()=>X(`actor.recovery.reset`),()=>X(`actor.recovery.dismiss`)]),d(`click`,g,I),d(`click`,y,ee),e(n,r)};r(L,e=>{t(_).recoveryRequestedAt&&e(B)});var ne=l(L,2),H=n=>{var r=li(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`actor.suspended_on`,{day:Mt(t(_).suspendedAt)}),()=>X(`actor.restore`)]),d(`click`,f,be),e(n,r)};r(ne,e=>{t(_).suspendedAt&&e(H)});var ce=l(ne,2),Se=n=>{var r=ui(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>t(_).invitedAt?X(`actor.invited_on`,{day:Mt(t(_).invitedAt)}):X(`actor.invited`),()=>X(`actor.resend`)]),d(`click`,f,de),e(n,r)};r(ce,e=>{t(_).activated||e(Se)});var Ce=l(ce,2),we=n=>{var r=di(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`actor.unconfirmed`,{email:t(_).email}),()=>X(`actor.send_confirmation`)]),d(`click`,f,fe),e(n,r)};r(Ce,e=>{t(_).email&&!t(_).emailVerified&&e(we)});var Te=l(Ce,2);{let e=q(()=>`/actors/${t(_).uuid}`),n=q(()=>X(`actor.parts.label`));ti(Te,{get base(){return t(e)},get part(){return c()},get parts(){return M},get label(){return t(n)}})}var Ee=l(Te,2),De=o(Ee),Oe=n=>{var c=yi(),f=u(c);{let e=q(()=>X(`actor.scopes`)),n=q(()=>X(`actor.scopes_lede`));Q(f,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{Tn(e,{get value(){return t(_).scopes},get available(){return t(b)},onchange:K})},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`actor.groups`)),i=q(()=>X(`actor.groups_lede`));Q(p,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var c=_i(),f=u(c),p=n=>{var i=mi();Y(i,21,()=>t(y),e=>e.key,(n,i)=>{var a=pi(),c=o(a);j(c);var u=l(c),f=l(u),p=W(f,!0),m=l(f,2),h=n=>{var r=fi(),a=W(r,!0);s(e=>z(a,e),[()=>X(`group_sources.from.${ae(t(i))}`)]),e(n,r)},g=q(()=>ae(t(i))),_=t=>{var n=fi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`group_sources.by_hand`)]),e(t,n)},v=q(()=>re(t(i))&&t(i).source!==`manual`);r(m,e=>{t(g)?e(h):t(v)&&e(_,1)}),J(a),s((e,n)=>{U(c,e),c.disabled=n,z(u,` ${t(i).name??``} `),z(p,t(i).key)},[()=>re(t(i)),()=>!!ae(t(i))]),d(`change`,c,()=>G(t(i))),e(n,a)}),J(i),e(n,i)},m=t=>{var n=hi(),r=o(n);Z(l(r),{to:`/settings`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`actor.add_group`)]),e(t,r)},$$slots:{default:!0}}),V(),J(n),s(e=>z(r,`${e??``} `),[()=>X(`actor.no_groups`)]),e(t,n)};r(f,e=>{t(y).length?e(p):e(m,-1)});var h=l(f,2),g=n=>{var r=gi(),i=W(r,!0);s(e=>z(i,e),[()=>X(`actor.group_labels`,{labels:t(_).groupLabels.join(`, `)})]),e(n,r)};r(h,e=>{t(_).groupLabels.length&&e(g)}),e(n,c)},$$slots:{default:!0}})}var m=l(p,2),h=n=>{{let i=q(()=>X(`actor.provisioned`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=_i(),c=u(a),d=n=>{var r=vi(),i=o(r),a=l(i),c=W(a,!0),u=l(a);J(r),s((e,n)=>{z(i,`${e??``} `),z(c,t(_).externalId),z(u,`.
109
+ ${n??``}`)},[()=>X(`actor.provisioned_as`),()=>X(`actor.provider_may_change`)]),e(n,r)};r(c,e=>{t(_).externalId&&e(d)});var f=l(c,2);Y(f,17,()=>t(_).memberships.filter(e=>e.externalId),e=>e.organization.key,(n,r,i,a)=>{var c=vi(),u=o(c),d=l(u),f=W(d,!0),p=l(d);J(c),s((e,n)=>{z(u,`${e??``} `),z(f,t(r).externalId),z(p,`, ${n??``}`)},[()=>X(`actor.directory_provisioned`,{organization:t(r).organization.name}),()=>X(`actor.directory_may_change`)]),e(n,c)}),e(n,a)},$$slots:{default:!0}})}},v=q(()=>t(_).externalId||t(_).memberships.some(e=>e.externalId));r(m,e=>{t(v)&&e(h)});var x=l(m,2);{let e=q(()=>X(`actor.consents`)),n=q(()=>X(`actor.consents_lede`));Q(x,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{yr(e,{get api(){return i.api},get feedback(){return g},get rows(){return t(_).consents},onchange:te})},$$slots:{default:!0}})}var S=l(x,2);{let e=q(()=>X(`actor.connections`)),n=q(()=>X(`actor.connections_lede`));Q(S,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{dr(e,{get api(){return i.api},get feedback(){return g},get rows(){return t(_).connections},onchange:te})},$$slots:{default:!0}})}e(n,c)},ke=n=>{var a=yi(),c=u(a);{let n=q(()=>X(`actor.password`)),i=q(()=>t(_).activated?X(`actor.password_lede`):X(`actor.password_invited`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=R(),o=u(a),c=t=>{var n=bi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.reset_password`)]),d(`click`,n,ue),e(t,n)},l=t=>{var n=bi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.resend`)]),d(`click`,n,de),e(t,n)};r(o,e=>{t(_).activated?e(c):e(l,-1)}),e(n,a)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`actor.second_factor`));Q(f,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=wi(),c=u(a),f=n=>{var r=xi(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0),f=l(c,2),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),J(r),s((e,t,n,r)=>{z(a,e),z(u,t),z(m,n),z(g,r)},[()=>X(`actor.authenticator`),()=>X(`actor.backup_codes`,{count:t(_).backupCodesRemaining}),()=>X(`actor.generate`),()=>X(`actor.remove_authenticator`)]),d(`click`,p,se),d(`click`,h,ge),e(n,r)};r(c,e=>{t(_).otpEnabled&&e(f)});var p=l(c,2);Y(p,17,()=>_e.filter(([,e])=>t(_)[e]),([e,,t,n])=>e,(n,r)=>{var i=q(()=>ie(t(r),4));let a=()=>t(i)[0],c=()=>t(i)[2],u=()=>t(i)[3];var f=Si(),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),s(e=>{z(m,c()),z(g,e)},[()=>X(`actor.turn_off`,{name:u()})]),d(`click`,h,()=>ve(a(),c(),u())),e(n,f)});var m=l(p,2),h=t=>{var n=Ci(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.password_only`)]),e(t,n)};r(m,e=>{!t(_).otpEnabled&&!t(_).emailCodesEnabled&&!t(_).textCodesEnabled&&e(h)}),e(n,a)},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`actor.passkeys`));Q(p,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=R(),c=u(a),f=t=>{var n=Ci(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.no_passkeys`)]),e(t,n)},p=n=>{var i=ki();Y(i,21,()=>t(_).passkeys,e=>e.id,(n,i)=>{var a=Oi(),c=o(a),u=o(c),f=W(u,!0),p=l(u,2),m=o(p),h=t=>{var n=Ti(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.verifying`)]),e(t,n)};r(m,e=>{t(i).userVerified&&e(h)});var g=l(m,2),_=n=>{var r=Ei(),a=W(r,!0);s(()=>z(a,t(i).certification)),e(n,r)};r(g,e=>{t(i).certification&&e(_)});var v=l(g,2),y=W(v,!0);J(p),J(c);var b=l(c,2),x=n=>{var r=Di(),a=W(r,!0);s(e=>z(a,e),[()=>X(`actor.compromise`,{compromise:t(i).compromise.toLowerCase().replaceAll(`_`,` `)})]),e(n,r)};r(b,e=>{t(i).compromise&&e(x)});var S=l(b,2),C=o(S),w=W(C,!0),T=l(C,2),E=W(T,!0);J(S),J(a),s((e,n,r)=>{z(f,t(i).label),z(y,e),z(w,n),z(E,r)},[()=>X(`actor.remove`),()=>t(i).aaguid??X(`actor.no_aaguid`),()=>X(`actor.last_used`,{when:Pt(t(i).lastUsedAt,X(`actor.never`))})]),d(`click`,v,()=>pe(t(i))),e(n,a)}),J(i),e(n,i)};r(c,e=>{t(_).passkeys.length===0?e(f):e(p,-1)}),e(n,a)},$$slots:{default:!0}})}var m=l(p,2);{let e=q(()=>X(`actor.signed_in`)),n=q(()=>t(A)?X(`actor.signed_in_yourself`):null);Q(m,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{Ur(e,{get api(){return i.api},get feedback(){return g},get actor(){return t(_)},onchange:te})},$$slots:{default:!0}})}var h=l(m,2);{let e=q(()=>X(`actor.tokens`)),n=q(()=>X(`actor.tokens_lede`));Q(h,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{$r(e,{get api(){return i.api},get feedback(){return g},get rows(){return t(_).tokens},onchange:te})},$$slots:{default:!0}})}e(n,a)},Ae=n=>{Q(n,{actions:n=>{{let r=q(()=>`/activity?actor=${t(_).uuid}`);Z(n,{get to(){return t(r)},class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`actor.all_activity`)]),e(t,r)},$$slots:{default:!0}})}},children:(e,n)=>{{let n=q(()=>X(`actor.no_activity`));Mr(e,{get events(){return t(_).events},showActor:!1,get empty(){return t(n)},limit:25,collapse:!0})}},$$slots:{actions:!0,default:!0}})},je=n=>{var i=wi(),a=u(i);{let n=q(()=>X(`actor.profile`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=Ai(),a=u(i);Y(a,21,()=>p,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];$(e,{get label(){return a()},get value(){return t(x)[i()]},set value(e){t(x)[i()]=e}})}),J(a);var c=l(a,2),f=o(c),h=W(f,!0),g=l(f,2);Y(g,21,()=>m,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];$(e,{get label(){return a()},get value(){return t(x)[i()]},set value(e){t(x)[i()]=e}})}),J(g),J(c);var _=l(c,2),v=W(_,!0);s((e,t,n)=>{c.open=e,z(h,t),z(v,n)},[()=>m.some(([e])=>t(x)[e]),()=>X(`actor.more_fields`),()=>X(`actor.save_profile`)]),d(`click`,_,oe),e(n,i)},$$slots:{default:!0}})}var c=l(a,2);{let n=q(()=>X(`actor.photo`)),i=q(()=>X(`actor.photo_lede`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Ni(),c=u(a);Y(c,20,()=>[`photo`,`identicon`,`initials`].filter(e=>t(_).avatars[e]),e=>e,(n,r)=>{var i=ji(),a=o(i);let c;var u=l(a,2),d=W(u,!0);J(i),s(e=>{P(a,`src`,`${t(_).avatars[r]}?size=128`),c=le(a,1,`size-16 rounded-lg object-cover`,null,c,{drawn:r!==`photo`}),z(d,e)},[()=>X(`actor.styles.${r}`)]),e(n,i)}),J(c);var f=l(c,2),p=o(f);let m;var h=o(p),g=l(h);J(p);var v=l(p,2),y=t=>{var n=Mi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.remove_photo`)]),d(`click`,n,he),e(t,n)};r(v,e=>{t(_).photoUploaded&&e(y)});var b=l(v,2),x=t=>{var n=fi(),r=W(n,!0);s(e=>z(r,e),[()=>X(`actor.uploading`)]),e(t,n)};r(b,e=>{t(k)&&e(x)}),J(f),s(e=>{m=le(p,1,`btn btn-sm`,null,m,{"btn-disabled":t(k)}),z(h,`${e??``} `),g.disabled=t(k)},[()=>t(_).photoUploaded?X(`actor.change_photo`):X(`actor.upload_photo`)]),d(`change`,g,me),e(n,a)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`actor.danger`)),i=q(()=>t(A)?X(`actor.yourself`):X(`actor.danger_lede`));Q(f,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=R(),c=u(a),f=n=>{var i=Fi(),a=o(i),c=n=>{var r=Pi(),i=W(r,!0);s(e=>z(i,e),[()=>X(`actor.suspend`,{identifier:t(_).identifier})]),d(`click`,r,ye),e(n,r)};r(a,e=>{t(_).suspendedAt||e(c)});var u=l(a,2),f=W(u,!0);J(i),s(e=>z(f,e),[()=>X(`actor.delete`,{identifier:t(_).identifier})]),d(`click`,u,xe),e(n,i)};r(c,e=>{t(A)||e(f)}),e(n,a)},$$slots:{default:!0}})}e(n,i)};r(De,e=>{c()===`access`?e(Oe):c()===`sign-in`?e(ke,1):c()===`activity`?e(Ae,2):e(je,-1)}),J(Ee),e(n,h)},$$slots:{lead:!0,after:!0,default:!0}})}};r(Ce,e=>{t(T)&&!t(_)?e(we):t(_)?e(Ee,-1):e(Te,1)}),e(n,Se),D()}c([`click`,`change`]);var Ri=f(`<dt class="opacity-80"> </dt> <dd> </dd>`,1),zi=f(`<dl class="grid gap-x-4 gap-y-0.5 text-sm sm:grid-cols-3 sm:gap-y-2"></dl>`);function Bi(n,r){var i=zi();Y(i,21,()=>r.rows,({term:e,value:t,mono:n})=>e,(n,r)=>{let i=()=>t(r).term,a=()=>t(r).value,o=()=>t(r).mono;var c=Ri(),d=u(c),f=W(d,!0),p=l(d,2),m=W(p,!0);s(()=>{z(f,i()),le(p,1,`pb-2 sm:col-span-2 sm:pb-0 ${o()?`font-mono text-xs break-all`:``}`),z(m,a()||`—`)}),e(n,c)}),J(i),e(n,i)}var Vi=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Hi=f(`<button type="button" class="btn btn-sm"> </button>`),Ui=f(`<button type="button" class="btn btn-sm btn-error btn-outline"> </button>`),Wi=f(`<!> <div class="flex flex-wrap gap-2 pt-1"><!> <!></div>`,1),Gi=f(`<p class="text-sm opacity-85"> </p>`),Ki=f(`<li class="slat"><!></li>`),qi=f(`<ul class="slats"></ul>`),Ji=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><!> <span class="font-mono text-xs opacity-80"> </span></div> <div class="flex flex-wrap gap-x-4 text-xs opacity-80"><span> </span> <span> </span></div></li>`),Yi=f(`<!> <div class="grid items-start gap-4 md:grid-cols-2"><!> <div class="flex flex-col gap-4"><!> <!> <!></div></div>`,1);function Xi(n,i){H(i,!0);let c=Ct(),f=w(null),p=w(C([])),m=w(!0);async function h(){S(m,!0);try{let e=await i.api.query(`
110
110
  query Device($id: ID!) {
111
111
  device(id: $id) {
112
112
  id label name category known ipAddress userAgent lastSeenAt blockedAt createdAt
@@ -169,29 +169,38 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
169
169
  key name signup nickname email emailVerified phone phoneVerified
170
170
  passwordMinimum refuseCommonPasswords passwordRequired firstFactors secondFactors secondFactorRequired appsRequireSecondFactor sessionLifetime sessionIdleTimeout refuseBreachedPasswords riskStepUpAt riskRefuseAt proofOfWork
171
171
  emailDomains providers confirmation hidden signupScopes archivedAt
172
- `,Ca=[`password`,`passkey`,`provider`,`email_code`,`otp`,`backup_codes`],wa=[`none`,`code`,`link`,`approval`],Ta=[`off`,`optional`,`required`],Ea=(e,t,n)=>e.includes(n)?X(`policy_rules.${t}.${n}`):n,Da=(e,t)=>e?.length?e.map(e=>Ea(Ca,`factors`,e)).join(`, `):X(`policy_rules.values.${t}`),Oa=e=>X(e?`policy_rules.answers.yes`:`policy_rules.answers.no`),ka=e=>X(`policy_rules.values.${e}`),Aa=[[86400,`day`],[3600,`hour`],[60,`minute`]];function ja(e){let[t,n]=Aa.find(([t])=>e%t===0)??[1,`second`];return X(`policy_rules.units.${n}`,{count:e/t})}var Ma=e=>X(`policy_rules.terms.${e}`);function Na(e){return[[Ma(`signup`),e.signup?ka(`open`):ka(`invitation_only`)],[Ma(`email_domains`),Da(e.emailDomains,`any`)],[Ma(`proof_of_work`),e.proofOfWork?X(`policy_rules.values.bits`,{bits:e.proofOfWork}):ka(`off`)],[Ma(`hidden`),Oa(e.hidden)],[Ma(`nickname`),Ea(Ta,`presence`,e.nickname)],[Ma(`email`),Ea(Ta,`presence`,e.email)],[Ma(`email_verified`),Oa(e.emailVerified)],[Ma(`phone`),Ea(Ta,`presence`,e.phone)],[Ma(`phone_verified`),Oa(e.phoneVerified)],[Ma(`first_factors`),Da(e.firstFactors,`nothing`)],[Ma(`providers`),e.providers===null?ka(`every_one`):Da(e.providers,`none`)],[Ma(`password`),X(e.refuseCommonPasswords?`policy_rules.values.not_common`:`policy_rules.values.password`,{minimum:e.passwordMinimum})],[Ma(`password_required`),Oa(e.passwordRequired)],[Ma(`second_factors`),Da(e.secondFactors,`none`)],[Ma(`second_factor_required`),Oa(e.secondFactorRequired)],[Ma(`apps_require_second_factor`),Oa(e.appsRequireSecondFactor)],[Ma(`session_lifetime`),e.sessionLifetime?ja(e.sessionLifetime):ka(`default_lifetime`)],[Ma(`refuse_breached`),Oa(e.refuseBreachedPasswords)],[Ma(`risk_step_up`),e.riskStepUpAt?X(`policy_rules.values.at`,{score:e.riskStepUpAt}):ka(`never`)],[Ma(`risk_refuse`),e.riskRefuseAt?X(`policy_rules.values.at`,{score:e.riskRefuseAt}):ka(`never`)],[Ma(`idle_timeout`),e.sessionIdleTimeout?ja(e.sessionIdleTimeout):ka(`never`)],[Ma(`confirmation`),Ea(wa,`confirmations`,e.confirmation)],[Ma(`signup_scopes`),Da(e.signupScopes,`none`)]]}function Pa(e,t){let n=new Map(Na(t));return Na(e).filter(([e,t])=>n.get(e)!==t).map(([e,t])=>({term:e,value:t,instead:n.get(e)}))}var Fa=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><!></span> <span class="hint truncate text-xs"><span class="font-mono"> </span> </span></div> <div class="ml-auto"><button type="button" class="btn btn-xs btn-error btn-outline"> </button></div></li>`),Ia=f(`<ul class="compact-list"></ul>`),La=f(`<p class="text-sm opacity-85"> </p>`),Ra=f(`<!> <!>`,1);function za(n,i){H(i,!0);let c=Ct();async function f(e){confirm(X(`machines.revoke_confirm`,{name:e.name}))&&await c.attempt(()=>i.api.query(`
172
+ `,Ca=[`password`,`passkey`,`provider`,`email_code`,`otp`,`backup_codes`],wa=[`none`,`code`,`link`,`approval`],Ta=[`off`,`optional`,`required`],Ea=(e,t,n)=>e.includes(n)?X(`policy_rules.${t}.${n}`):n,Da=(e,t)=>e?.length?e.map(e=>Ea(Ca,`factors`,e)).join(`, `):X(`policy_rules.values.${t}`),Oa=e=>X(e?`policy_rules.answers.yes`:`policy_rules.answers.no`),ka=e=>X(`policy_rules.values.${e}`),Aa=[[86400,`day`],[3600,`hour`],[60,`minute`]];function ja(e){let[t,n]=Aa.find(([t])=>e%t===0)??[1,`second`];return X(`policy_rules.units.${n}`,{count:e/t})}var Ma=e=>X(`policy_rules.terms.${e}`);function Na(e){return[[Ma(`signup`),e.signup?ka(`open`):ka(`invitation_only`)],[Ma(`email_domains`),Da(e.emailDomains,`any`)],[Ma(`proof_of_work`),e.proofOfWork?X(`policy_rules.values.bits`,{bits:e.proofOfWork}):ka(`off`)],[Ma(`hidden`),Oa(e.hidden)],[Ma(`nickname`),Ea(Ta,`presence`,e.nickname)],[Ma(`email`),Ea(Ta,`presence`,e.email)],[Ma(`email_verified`),Oa(e.emailVerified)],[Ma(`phone`),Ea(Ta,`presence`,e.phone)],[Ma(`phone_verified`),Oa(e.phoneVerified)],[Ma(`first_factors`),Da(e.firstFactors,`nothing`)],[Ma(`providers`),e.providers===null?ka(`every_one`):Da(e.providers,`none`)],[Ma(`password`),X(e.refuseCommonPasswords?`policy_rules.values.not_common`:`policy_rules.values.password`,{minimum:e.passwordMinimum})],[Ma(`password_required`),Oa(e.passwordRequired)],[Ma(`second_factors`),Da(e.secondFactors,`none`)],[Ma(`second_factor_required`),Oa(e.secondFactorRequired)],[Ma(`apps_require_second_factor`),Oa(e.appsRequireSecondFactor)],[Ma(`session_lifetime`),e.sessionLifetime?ja(e.sessionLifetime):ka(`default_lifetime`)],[Ma(`refuse_breached`),Oa(e.refuseBreachedPasswords)],[Ma(`risk_step_up`),e.riskStepUpAt?X(`policy_rules.values.at`,{score:e.riskStepUpAt}):ka(`never`)],[Ma(`risk_refuse`),e.riskRefuseAt?X(`policy_rules.values.at`,{score:e.riskRefuseAt}):ka(`never`)],[Ma(`idle_timeout`),e.sessionIdleTimeout?ja(e.sessionIdleTimeout):ka(`never`)],[Ma(`confirmation`),Ea(wa,`confirmations`,e.confirmation)],[Ma(`signup_scopes`),Da(e.signupScopes,`none`)]]}function Pa(e,t){let n=new Map(Na(t));return Na(e).filter(([e,t])=>n.get(e)!==t).map(([e,t])=>({term:e,value:t,instead:n.get(e)}))}var Fa=f(`<label class="flex min-w-0 flex-col gap-1.5"><span class="field-label"> </span> <input class="input input-sm w-full font-mono text-xs" autocapitalize="none" autocorrect="off" spellcheck="false"/> <span class="hint"> </span></label>`),Ia=f(`<li class="flex flex-col gap-2 rounded-box border border-base-300 p-3"><div class="flex flex-wrap items-center justify-between gap-2"><span class="field-label"> </span> <div class="flex gap-1"><button type="button" class="btn btn-ghost btn-xs"> </button> <button type="button" class="btn btn-ghost btn-xs"> </button> <button type="button" class="btn btn-ghost btn-xs"> </button></div></div> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="2" spellcheck="false" placeholder="/admin/**"></textarea> <span class="hint"> </span></label> <div class="grid gap-2 sm:grid-cols-3"></div> <!></li>`),La=f(`<ol class="flex flex-col gap-4"></ol>`),Ra=f(`<p class="text-sm opacity-85"> </p>`),za=f(`<!> <p class="hint"> </p> <div class="flex flex-wrap gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm btn-primary"> </button></div>`,1);function Ba(n,i){H(i,!0);let a=L(i,`rules`,19,()=>[]),c=[`one_factor`,`two_factor`,`token`,`open`,`deny`].map(e=>[e,X(`forward_auth_rules.outcomes.${e}`)]),f=[`paths`,`methods`,`networks`,`groups`],p=e=>e.map(e=>({...Object.fromEntries(f.map(t=>[t,(e[t]??[]).join(t===`paths`?`
173
+ `:`, `)])),outcome:e.outcome})),m=w(C(x(()=>p(a()))));b(()=>{S(m,p(a()),!0)});let h=(e,t)=>e.split(t===`paths`?/\n/:/[\s,]+/).map(e=>e.trim()).filter(Boolean),g=()=>t(m).map(e=>({...Object.fromEntries(f.map(t=>[t,h(e[t],t)])),outcome:e.outcome}));function _(){S(m,[...t(m),{paths:``,methods:``,networks:``,groups:``,outcome:`one_factor`}],!0)}function v(e){S(m,t(m).filter((t,n)=>n!==e),!0)}function T(e,n){let r=[...t(m)];[r[e],r[e+n]]=[r[e+n],r[e]],S(m,r,!0)}{let a=q(()=>X(`forward_auth_rules.title`)),f=q(()=>X(`forward_auth_rules.lede`));Q(n,{row:!0,get title(){return t(a)},get lede(){return t(f)},children:(n,a)=>{var f=za(),p=u(f),h=n=>{var r=La();Y(r,21,()=>t(m),y,(n,r,i)=>{var a=Ia(),u=o(a),f=o(u),p=W(f,!0),h=l(f,2),g=o(h);g.disabled=i===0;var _=W(g,!0),y=l(g,2),b=W(y,!0),x=l(y,2),S=W(x,!0);J(h),J(u);var C=l(u,2),w=o(C),E=W(w,!0),D=l(w,2);ae(D);var O=l(D,2),k=W(O,!0);J(C);var A=l(C,2);Y(A,20,()=>[`methods`,`networks`,`groups`],e=>e,(n,i)=>{var a=Fa(),c=o(a),u=W(c,!0),d=l(c,2);j(d);var f=l(d,2),p=W(f,!0);J(a),s((e,t)=>{z(u,e),z(p,t)},[()=>X(`forward_auth_rules.${i}`),()=>X(`forward_auth_rules.${i}_hint`)]),B(d,()=>t(r)[i],e=>t(r)[i]=e),e(n,a)}),J(A);var M=l(A,2);{let e=q(()=>X(`forward_auth_rules.outcome`));ra(M,{get label(){return t(e)},get value(){return t(r).outcome},get options(){return c},onchange:e=>t(r).outcome=e})}J(a),s((e,n,r,a,o,s)=>{z(p,e),z(_,n),y.disabled=i===t(m).length-1,z(b,r),z(S,a),z(E,o),z(k,s)},[()=>X(`forward_auth_rules.rule`,{number:i+1}),()=>X(`forward_auth_rules.up`),()=>X(`forward_auth_rules.down`),()=>X(`forward_auth_rules.remove`),()=>X(`forward_auth_rules.paths`),()=>X(`forward_auth_rules.paths_hint`)]),d(`click`,g,()=>T(i,-1)),d(`click`,y,()=>T(i,1)),d(`click`,x,()=>v(i)),B(D,()=>t(r).paths,e=>t(r).paths=e),e(n,a)}),J(r),e(n,r)},b=t=>{var n=Ra(),r=W(n,!0);s(e=>z(r,e),[()=>X(`forward_auth_rules.empty`)]),e(t,n)};r(p,e=>{t(m).length?e(h):e(b,-1)});var x=l(p,2),S=W(x,!0),C=l(x,2),w=o(C),E=W(w,!0),D=l(w,2),O=W(D,!0);J(C),s((e,t,n)=>{z(S,e),z(E,t),z(O,n)},[()=>X(`forward_auth_rules.trust`),()=>X(`forward_auth_rules.add`),()=>X(`forward_auth_rules.save`)]),d(`click`,w,_),d(`click`,D,()=>i.onsave(g())),e(n,f)},$$slots:{default:!0}})}D()}c([`click`]);var Va=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><!></span> <span class="hint truncate text-xs"><span class="font-mono"> </span> </span></div> <div class="ml-auto"><button type="button" class="btn btn-xs btn-error btn-outline"> </button></div></li>`),Ha=f(`<ul class="compact-list"></ul>`),Ua=f(`<p class="text-sm opacity-85"> </p>`),Wa=f(`<!> <!>`,1);function Ga(n,i){H(i,!0);let c=Ct();async function f(e){confirm(X(`machines.revoke_confirm`,{name:e.name}))&&await c.attempt(()=>i.api.query(`
173
174
  mutation Unenroll($clientId: ID!) {
174
175
  unenrollClient(clientId: $clientId) { client { archivedAt } }
175
176
  }
176
- `,{clientId:e.clientId}),X(`machines.revoked`,{name:e.name}))&&await i.onrevoked()}{let p=q(()=>X(`machines.title`)),m=q(()=>X(`machines.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},children:(n,p)=>{var m=Ra(),h=u(m);Nn(h,{get feedback(){return c.state}});var g=l(h,2),_=n=>{var r=Ia();Y(r,21,()=>i.rows,e=>e.clientId,(n,r)=>{var i=Fa(),c=o(i),u=o(c),p=o(u);{let n=q(()=>`/clients/${t(r).clientId}`);Z(p,{get to(){return t(n)},class:`link link-hover`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}J(u);var m=l(u,2),h=o(m),g=W(h,!0),_=l(h);J(m),J(c);var v=l(c,2),y=o(v),b=W(y,!0);J(v),J(i),s((e,n,i)=>{z(g,t(r).clientId),z(_,` · ${e??``}
177
- · ${n??``}`),z(b,i)},[()=>t(r).lastSeenAt?X(`machines.last_seen`,{day:Mt(t(r).lastSeenAt)}):X(`machines.never`),()=>X(`machines.enrolled`,{day:Mt(t(r).createdAt)}),()=>X(`machines.revoke`)]),d(`click`,y,()=>f(t(r))),e(n,i)}),J(r),e(n,r)},v=t=>{var n=La(),r=W(n,!0);s(e=>z(r,e),[()=>X(`machines.empty`)]),e(t,n)};r(g,e=>{i.rows.length?e(_):e(v,-1)}),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Ba=f(`<span class="hint">· <!></span>`),Va=f(`<button type="button" class="btn btn-xs btn-error btn-outline"> </button>`),Ha=f(`<span class="hint text-xs"> </span>`),Ua=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><code class="font-mono"> </code> <!></span> <span class="hint truncate text-xs"><span class="font-mono"> </span> </span></div> <div class="ml-auto"><!></div></li>`),Wa=f(`<!> <ul class="compact-list"></ul>`,1);function Ga(n,i){H(i,!0);let c=L(i,`showClient`,3,!1),f=L(i,`row`,3,!1),p=Ct();async function m(e){confirm(X(`namespaces.release_confirm`,{name:e.name}))&&await p.attempt(()=>i.api.query(`
177
+ `,{clientId:e.clientId}),X(`machines.revoked`,{name:e.name}))&&await i.onrevoked()}{let p=q(()=>X(`machines.title`)),m=q(()=>X(`machines.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},children:(n,p)=>{var m=Wa(),h=u(m);Nn(h,{get feedback(){return c.state}});var g=l(h,2),_=n=>{var r=Ha();Y(r,21,()=>i.rows,e=>e.clientId,(n,r)=>{var i=Va(),c=o(i),u=o(c),p=o(u);{let n=q(()=>`/clients/${t(r).clientId}`);Z(p,{get to(){return t(n)},class:`link link-hover`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}J(u);var m=l(u,2),h=o(m),g=W(h,!0),_=l(h);J(m),J(c);var v=l(c,2),y=o(v),b=W(y,!0);J(v),J(i),s((e,n,i)=>{z(g,t(r).clientId),z(_,` · ${e??``}
178
+ · ${n??``}`),z(b,i)},[()=>t(r).lastSeenAt?X(`machines.last_seen`,{day:Mt(t(r).lastSeenAt)}):X(`machines.never`),()=>X(`machines.enrolled`,{day:Mt(t(r).createdAt)}),()=>X(`machines.revoke`)]),d(`click`,y,()=>f(t(r))),e(n,i)}),J(r),e(n,r)},v=t=>{var n=Ua(),r=W(n,!0);s(e=>z(r,e),[()=>X(`machines.empty`)]),e(t,n)};r(g,e=>{i.rows.length?e(_):e(v,-1)}),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Ka=f(`<option> </option>`),qa=f(`<select class="select select-xs"></select>`),Ja=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><!></span> <span class="hint text-xs"> </span></div> <div class="ml-auto flex flex-wrap items-center gap-2"><!> <button type="button" class="btn btn-xs btn-primary"> </button> <button type="button" class="btn btn-xs btn-outline"> </button></div></li>`),Ya=f(`<ul class="compact-list"></ul>`),Xa=f(`<p class="text-sm opacity-85"> </p>`),Za=f(`<!> <!>`,1);function Qa(n,i){H(i,!0);let c=Ct(),f=C({});async function p(e){let t=f[e.id]??i.labels[0];await c.attempt(()=>i.api.query(`
179
+ mutation GrantAccess($id: ID!, $label: String) {
180
+ grantAccess(id: $id, label: $label) { accessRequest { id label } }
181
+ }
182
+ `,{id:e.id,label:t}),X(`access_requests.granted`,{identifier:e.actor.identifier,label:t}))&&await i.ondecided()}async function m(e){await c.attempt(()=>i.api.query(`
183
+ mutation DeclineAccess($id: ID!) {
184
+ declineAccess(id: $id) { accessRequest { id } }
185
+ }
186
+ `,{id:e.id}),X(`access_requests.declined`,{identifier:e.actor.identifier}))&&await i.ondecided()}{let h=q(()=>X(`access_requests.title`)),g=q(()=>X(`access_requests.lede`));Q(n,{row:!0,get title(){return t(h)},get lede(){return t(g)},children:(n,h)=>{var g=Za(),_=u(g);Nn(_,{get feedback(){return c.state}});var v=l(_,2),y=n=>{var c=Ya();Y(c,21,()=>i.rows,e=>e.id,(n,c)=>{var u=Ja(),h=o(u),g=o(h),_=o(g);{let n=q(()=>`/actors/${t(c).actor.uuid}`);Z(_,{get to(){return t(n)},class:`link link-hover`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(c).actor.identifier)),e(n,i)},$$slots:{default:!0}})}J(g);var v=l(g,2),y=W(v,!0);J(h);var b=l(h,2),x=o(b),S=n=>{var r=qa();Y(r,20,()=>i.labels,e=>e,(t,n)=>{var r=Ka(),i=W(r,!0),a={};s(()=>{z(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),e(t,r)}),J(r);var a;I(r),s(e=>{P(r,`aria-label`,e),a!==(a=f[t(c).id]??i.labels[0])&&(r.value=(r.__value=a)??``,T(r,a))},[()=>X(`access_requests.as`)]),d(`change`,r,e=>f[t(c).id]=e.currentTarget.value),e(n,r)};r(x,e=>{i.labels.length>1&&e(S)});var C=l(x,2),w=W(C,!0),E=l(C,2),D=W(E,!0);J(b),J(u),s((e,t,n)=>{z(y,e),z(w,t),z(D,n)},[()=>X(`access_requests.asked`,{day:Mt(t(c).createdAt)}),()=>X(`access_requests.grant`),()=>X(`access_requests.decline`)]),d(`click`,C,()=>p(t(c))),d(`click`,E,()=>m(t(c))),e(n,u)}),J(c),e(n,c)},b=t=>{var n=Xa(),r=W(n,!0);s(e=>z(r,e),[()=>X(`access_requests.empty`)]),e(t,n)};r(v,e=>{i.rows.length?e(y):e(b,-1)}),e(n,g)},$$slots:{default:!0}})}D()}c([`change`,`click`]);var $a=f(`<span class="hint">· <!></span>`),eo=f(`<button type="button" class="btn btn-xs btn-error btn-outline"> </button>`),to=f(`<span class="hint text-xs"> </span>`),no=f(`<li class="flex-wrap"><div class="flex min-w-0 flex-col"><span class="text-sm"><code class="font-mono"> </code> <!></span> <span class="hint truncate text-xs"><span class="font-mono"> </span> </span></div> <div class="ml-auto"><!></div></li>`),ro=f(`<!> <ul class="compact-list"></ul>`,1);function io(n,i){H(i,!0);let c=L(i,`showClient`,3,!1),f=L(i,`row`,3,!1),p=Ct();async function m(e){confirm(X(`namespaces.release_confirm`,{name:e.name}))&&await p.attempt(()=>i.api.query(`
178
187
  mutation Release($name: String!) {
179
188
  releaseNamespace(name: $name) { released }
180
189
  }
181
- `,{name:e.name}),X(`namespaces.released`,{name:e.name}))&&await i.onreleased()}{let h=q(()=>X(`namespaces.title`));Q(n,{get row(){return f()},get title(){return t(h)},children:(n,f)=>{var h=Wa(),g=u(h);Nn(g,{get feedback(){return p.state}});var _=l(g,2);Y(_,21,()=>i.rows,e=>e.name,(n,i)=>{var u=Ua(),f=o(u),p=o(f),h=o(p),g=W(h,!0),_=l(h,2),v=n=>{var c=Ba(),u=l(o(c)),d=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}},f=t=>{var n=a();s(e=>z(n,e),[()=>X(`namespaces.nothing`)]),e(t,n)};r(u,e=>{t(i).client?e(d):e(f,-1)}),J(c),e(n,c)};r(_,e=>{c()&&e(v)}),J(p);var y=l(p,2),b=o(y),x=W(b,!0),S=l(b);J(y),J(f);var C=l(f,2),w=o(C),T=n=>{var r=Va(),a=W(r,!0);s(e=>z(a,e),[()=>X(`namespaces.release`)]),d(`click`,r,()=>m(t(i))),e(n,r)},E=t=>{var n=Ha(),r=W(n,!0);s(e=>z(r,e),[()=>X(`namespaces.archive_to_release`)]),e(t,n)};r(w,e=>{t(i).releasable?e(T):e(E,-1)}),J(C),J(u),s(e=>{z(g,t(i).name),P(b,`title`,t(i).resource),z(x,t(i).resource),z(S,` · ${e??``}`)},[()=>Mt(t(i).claimedAt)]),e(n,u)}),J(_),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var Ka=f(`<span class="hint"> </span>`),qa=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" autocapitalize="none" autocorrect="off" spellcheck="false"></textarea> <!> <button type="button" class="btn btn-sm self-start"> </button></label>`);function Ja(n,i){H(i,!0);let a=L(i,`hint`,3,null),c=L(i,`value`,19,()=>[]),u=L(i,`save`,19,()=>X(`ui.save`)),f=L(i,`rows`,3,3),p=w(C(x(()=>c().join(`
190
+ `,{name:e.name}),X(`namespaces.released`,{name:e.name}))&&await i.onreleased()}{let h=q(()=>X(`namespaces.title`));Q(n,{get row(){return f()},get title(){return t(h)},children:(n,f)=>{var h=ro(),g=u(h);Nn(g,{get feedback(){return p.state}});var _=l(g,2);Y(_,21,()=>i.rows,e=>e.name,(n,i)=>{var u=no(),f=o(u),p=o(f),h=o(p),g=W(h,!0),_=l(h,2),v=n=>{var c=$a(),u=l(o(c)),d=n=>{{let r=q(()=>`/clients/${t(i).client.clientId}`);Z(n,{get to(){return t(r)},class:`link link-hover`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).client.name)),e(n,o)},$$slots:{default:!0}})}},f=t=>{var n=a();s(e=>z(n,e),[()=>X(`namespaces.nothing`)]),e(t,n)};r(u,e=>{t(i).client?e(d):e(f,-1)}),J(c),e(n,c)};r(_,e=>{c()&&e(v)}),J(p);var y=l(p,2),b=o(y),x=W(b,!0),S=l(b);J(y),J(f);var C=l(f,2),w=o(C),T=n=>{var r=eo(),a=W(r,!0);s(e=>z(a,e),[()=>X(`namespaces.release`)]),d(`click`,r,()=>m(t(i))),e(n,r)},E=t=>{var n=to(),r=W(n,!0);s(e=>z(r,e),[()=>X(`namespaces.archive_to_release`)]),e(t,n)};r(w,e=>{t(i).releasable?e(T):e(E,-1)}),J(C),J(u),s(e=>{z(g,t(i).name),P(b,`title`,t(i).resource),z(x,t(i).resource),z(S,` · ${e??``}`)},[()=>Mt(t(i).claimedAt)]),e(n,u)}),J(_),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var ao=f(`<span class="hint"> </span>`),oo=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" autocapitalize="none" autocorrect="off" spellcheck="false"></textarea> <!> <button type="button" class="btn btn-sm self-start"> </button></label>`);function so(n,i){H(i,!0);let a=L(i,`hint`,3,null),c=L(i,`value`,19,()=>[]),u=L(i,`save`,19,()=>X(`ui.save`)),f=L(i,`rows`,3,3),p=w(C(x(()=>c().join(`
182
191
  `)))),m=w(C(x(()=>c().join(`
183
192
  `))));b(()=>{let e=c().join(`
184
193
  `);e!==t(m)&&(S(m,e,!0),S(p,e,!0))});let h=q(()=>t(p)!==t(m)),g=()=>t(p).split(`
185
- `).map(e=>e.trim()).filter(Boolean);var _=qa(),v=o(_),y=W(v,!0),T=l(v,2);ae(T);var E=l(T,2),O=t=>{var n=Ka(),r=W(n,!0);s(()=>z(r,a())),e(t,n)};r(E,e=>{a()&&e(O)});var k=l(E,2),A=W(k,!0);J(_),s(()=>{z(y,i.label),P(T,`rows`,f()),k.disabled=!t(h),z(A,u())}),B(T,()=>t(p),e=>S(p,e)),d(`click`,k,()=>i.onsave(g())),e(n,_),D()}c([`click`]);var Ya=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Xa=f(`<p class="hint text-sm"> <!></p>`),Za=f(`<div class="alert alert-warning alert-soft flex-wrap items-center gap-3 text-sm" role="status"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`),Qa=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-sm break-all"> </code></div>`),$a=f(`<label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox checkbox-sm"/> <code class="hint font-mono"> </code></label>`),eo=f(`<div class="flex flex-col gap-1"></div>`),to=f(`<p class="text-sm opacity-85"> <!> </p>`),no=f(`<!> <!> <p class="hint"> </p>`,1),ro=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div> <div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div>`,1),io=f(`<!> <!>`,1),ao=f(`<!> <!> <!>`,1),oo=f(`<p class="hint"> </p> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="4" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label> <!>`,1),so=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="6" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label>`),co=f(`<p class="hint"> </p> <!> <!>`,1),lo=f(`<!> <!> <!> <!> <!>`,1),uo=f(`<p class="hint"> </p>`),fo=f(`<option> </option>`),po=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),mo=f(`<p class="text-xs text-warning"> </p>`),ho=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <!> <!>`,1),go=f(`<span role="status"> </span>`),_o=f(`<button type="button" class="btn btn-sm"> </button> <!>`,1),vo=f(`<button type="button" class="btn btn-sm btn-error btn-outline"> </button>`),yo=f(`<!> <!> <!> <!> <!> <!> <div class="flex flex-wrap gap-2 pt-1"><!> <!></div>`,1),bo=f(`<!> <div class="flex flex-col gap-1.5"><!> <span class="hint"> </span></div> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="3" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="5" spellcheck="false"></textarea> <span class="hint"> </span> <button type="button" class="btn btn-sm self-start"> </button></label> <!> <!>`,1),xo=f(`<div class="flex items-center gap-3"><!> <p class="hint"><!></p></div> <form class="flex flex-col gap-3"><!> <button type="submit" class="btn btn-sm self-start"> </button></form>`,1),So=f(`<dt class="opacity-80"> </dt> <dd> <span class="opacity-75 line-through"> </span></dd>`,1),Co=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <dl class="grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-sm"></dl></div>`),wo=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><!></select></label> <!> <!> <!> <form class="flex flex-col gap-3"><div class="grid gap-3 sm:grid-cols-2"><!> <!> <!> <!></div> <button type="submit" class="btn btn-sm self-start"> </button></form> <!> <!>`,1),To=f(`<!> <!> <!> <!>`,1),Eo=f(`<!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function Do(n,i){H(i,!0);let c=L(i,`part`,3,null),f=`
194
+ `).map(e=>e.trim()).filter(Boolean);var _=oo(),v=o(_),y=W(v,!0),T=l(v,2);ae(T);var E=l(T,2),O=t=>{var n=ao(),r=W(n,!0);s(()=>z(r,a())),e(t,n)};r(E,e=>{a()&&e(O)});var k=l(E,2),A=W(k,!0);J(_),s(()=>{z(y,i.label),P(T,`rows`,f()),k.disabled=!t(h),z(A,u())}),B(T,()=>t(p),e=>S(p,e)),d(`click`,k,()=>i.onsave(g())),e(n,_),D()}c([`click`]);var co=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),lo=f(`<p class="hint text-sm"> <!></p>`),uo=f(`<div class="alert alert-warning alert-soft flex-wrap items-center gap-3 text-sm" role="status"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`),fo=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-sm break-all"> </code></div>`),po=f(`<label class="flex items-center gap-2 text-sm"><input type="checkbox" class="checkbox checkbox-sm"/> <code class="hint font-mono"> </code></label>`),mo=f(`<div class="flex flex-col gap-1"></div>`),ho=f(`<p class="text-sm opacity-85"> <!> </p>`),go=f(`<!> <!> <p class="hint"> </p>`,1),_o=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div> <div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div>`,1),vo=f(`<!> <!> <!> <!>`,1),yo=f(`<!> <!> <!>`,1),bo=f(`<p class="hint"> </p> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="4" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label> <!>`,1),xo=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="6" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label>`),So=f(`<p class="hint"> </p> <!> <!>`,1),Co=f(`<!> <!> <!> <!> <!>`,1),wo=f(`<p class="hint"> </p>`),To=f(`<option> </option>`),Eo=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),Do=f(`<p class="text-xs text-warning"> </p>`),Oo=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <!> <!>`,1),ko=f(`<span role="status"> </span>`),Ao=f(`<button type="button" class="btn btn-sm"> </button> <!>`,1),jo=f(`<button type="button" class="btn btn-sm btn-error btn-outline"> </button>`),Mo=f(`<!> <!> <!> <!> <!> <!> <div class="flex flex-wrap gap-2 pt-1"><!> <!></div>`,1),No=f(`<!> <div class="flex flex-col gap-1.5"><!> <span class="hint"> </span></div> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="3" spellcheck="false"></textarea> <button type="button" class="btn btn-sm self-start"> </button></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full font-mono text-xs" rows="5" spellcheck="false"></textarea> <span class="hint"> </span> <button type="button" class="btn btn-sm self-start"> </button></label> <!> <!>`,1),Po=f(`<div class="flex items-center gap-3"><!> <p class="hint"><!></p></div> <form class="flex flex-col gap-3"><!> <button type="submit" class="btn btn-sm self-start"> </button></form>`,1),Fo=f(`<dt class="opacity-80"> </dt> <dd> <span class="opacity-75 line-through"> </span></dd>`,1),Io=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <dl class="grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-sm"></dl></div>`),Lo=f(`<!> <!>`,1),Ro=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><!></select></label> <!> <!> <!> <p class="hint"> </p> <!> <form class="flex flex-col gap-3"><div class="grid gap-3 sm:grid-cols-2"><!> <!> <!> <!></div> <button type="submit" class="btn btn-sm self-start"> </button></form> <!> <!>`,1),zo=f(`<!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function Bo(n,i){H(i,!0);let c=L(i,`part`,3,null),f=`
186
195
  query Client($clientId: ID!) {
187
196
  client(clientId: $clientId) {
188
197
  clientId name dynamic approvedAt archivedAt secretExpiresAt createdAt
189
198
  tokenEndpointAuthMethod applicationType clientUri logoUri tosUri policyUri logoUrl(size: 128)
190
199
  subjectType sectorIdentifierUri
191
200
  redirectUris postLogoutRedirectUris grantTypes responseTypes resources
192
- requiredScopes allowedScopes allowedGroups
201
+ requiredScopes allowedScopes allowedGroups forwardAuthRules
193
202
  backchannelLogoutUri backchannelLogoutSessionRequired
194
- requirePushedAuthorizationRequests requireSignedRequestObject consentRequired jwks jwksUri
203
+ requirePushedAuthorizationRequests requireSignedRequestObject consentRequired appPasswords jwks jwksUri
195
204
  authorizationDetailsTypes authorizationDetailsSchemas consentLifetime
196
205
  accessTokenLifetime refreshTokenLifetime refreshTokenAbsoluteLifetime
197
206
  protocol samlEntityId samlCertificate samlNameIdFormat samlRequestsSigned samlIdpInitiated samlAttributes samlSloUrl
@@ -205,6 +214,7 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
205
214
  approvedBy { identifier }
206
215
  enrolledBy { clientId name }
207
216
  enrolled { clientId name lastSeenAt createdAt }
217
+ accessRequests { id createdAt actor { uuid identifier } }
208
218
  namespaces { name resource claimedAt releasable }
209
219
  consents(limit: 25) {
210
220
  id scopes audience updatedAt expiresAt authorizationDetails
@@ -236,7 +246,8 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
236
246
  $backchannelLogoutSessionRequired: Boolean, $clientUri: String, $logoUri: String,
237
247
  $tosUri: String, $policyUri: String, $authorizationDetailsTypes: [String!],
238
248
  $authorizationDetailsSchemas: JSON, $consentLifetime: Int, $allowedGroups: [String!],
239
- $accessTokenLifetime: Int, $refreshTokenLifetime: Int, $refreshTokenAbsoluteLifetime: Int
249
+ $accessTokenLifetime: Int, $refreshTokenLifetime: Int, $refreshTokenAbsoluteLifetime: Int,
250
+ $forwardAuthRules: JSON
240
251
  ) {
241
252
  updateClient(
242
253
  clientId: $clientId, name: $name, requiredScopes: $requiredScopes,
@@ -273,17 +284,18 @@ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K a
273
284
  refreshTokenLifetime: $refreshTokenLifetime
274
285
  refreshTokenAbsoluteLifetime: $refreshTokenAbsoluteLifetime
275
286
  allowedGroups: $allowedGroups
287
+ forwardAuthRules: $forwardAuthRules
276
288
  ) {
277
289
  client { clientId }
278
290
  }
279
- }`,{clientId:i.clientId,...e},t),De=e=>e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e.includes(`:`));function Oe(e,n){let r=t(m).allowedGroups.filter(t=>t!==e);Ee({allowedGroups:n?[...r,e]:r},X(`client.notices.groups`))}function ke(){let e=t(m).allowedGroups.filter(e=>!e.includes(`:`));Ee({allowedGroups:[...e,...De(t(v))]},X(`client.notices.groups`))}let Ae=q(()=>t(m)?.grantTypes.includes(`client_credentials`)??!1),je=(e,n)=>n?[...new Set([...t(m).grantTypes,e])]:t(m).grantTypes.filter(t=>t!==e);function Me(e){Ee({grantTypes:je(`client_credentials`,e)},X(e?`client.notices.unattended_on`:`client.notices.unattended_off`))}function Ne(e){let n=X(`client.confirm.subject`);if(e===t(m).subjectType||!confirm(n)){we();return}Ee({subjectType:e},X(`client.notices.subject`))}function Pe(e){let n=t(te)===`private_key_jwt`&&t(m).tokenEndpointAuthMethod!==`private_key_jwt`,r=n?{...e,tokenEndpointAuthMethod:t(te)}:e;Ee(r,X(n?`client.notices.keys_signing`:`client.notices.keys`))}function Fe(){let e=t(k).trim();if(!e){Pe({jwks:null});return}try{Pe({jwks:JSON.parse(e),jwksUri:null})}catch{p.blame(Error(X(`client.errors.jwks`)))}}function Ie(){let e=t(A).trim();try{Ee({authorizationDetailsSchemas:e?JSON.parse(e):{}},X(`client.notices.declared`))}catch{p.blame(Error(X(`client.errors.declared`)))}}function Le(){let e=t(ce).split(`
280
- `).map(e=>e.trim()).filter(Boolean).map(e=>e.split(`=`).map(e=>e.trim()));if(e.some(e=>e.length!==2||!e[0]||!e[1])){p.blame(Error(X(`client.errors.attributes`)));return}Ee({samlAttributes:Object.fromEntries(e)},e.length?X(`client.notices.attributes`):X(`client.notices.attributes_default`))}let Re=[[`client_secret_basic`,X(`client.methods.client_secret_basic`)],[`client_secret_post`,X(`client.methods.client_secret_post`)],[`private_key_jwt`,X(`client.methods.private_key_jwt`)]];function ze(e){if(S(te,e,!0),e===`private_key_jwt`&&!t(Se))return;let n=e===`private_key_jwt`?X(`client.notices.signs_assertions`):t(m).tokenEndpointAuthMethod===`private_key_jwt`?X(`client.notices.uses_secret`):X(`client.notices.saved`);Ee({tokenEndpointAuthMethod:e},n)}function Be(){confirm(X(`client.confirm.restore`))&&Te(`mutation Restore($clientId: ID!) {
291
+ }`,{clientId:i.clientId,...e},t),De=e=>e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e.includes(`:`));function Oe(e,n){let r=t(m).allowedGroups.filter(t=>t!==e);Ee({allowedGroups:n?[...r,e]:r},X(`client.notices.groups`))}function ke(){let e=t(m).allowedGroups.filter(e=>!e.includes(`:`));Ee({allowedGroups:[...e,...De(t(v))]},X(`client.notices.groups`))}let Ae=q(()=>t(m)?.grantTypes.includes(`client_credentials`)??!1),je=(e,n)=>n?[...new Set([...t(m).grantTypes,e])]:t(m).grantTypes.filter(t=>t!==e);function Me(e){Ee({grantTypes:je(`client_credentials`,e)},X(e?`client.notices.unattended_on`:`client.notices.unattended_off`))}function Ne(e){let n=X(`client.confirm.subject`);e===t(m).subjectType||!confirm(n)?we():Ee({subjectType:e},X(`client.notices.subject`))}function Pe(e){let n=t(te)===`private_key_jwt`&&t(m).tokenEndpointAuthMethod!==`private_key_jwt`,r=n?{...e,tokenEndpointAuthMethod:t(te)}:e;Ee(r,X(n?`client.notices.keys_signing`:`client.notices.keys`))}function Fe(){let e=t(k).trim();if(!e)Pe({jwks:null});else try{Pe({jwks:JSON.parse(e),jwksUri:null})}catch{p.blame(Error(X(`client.errors.jwks`)))}}function Ie(){let e=t(A).trim();try{Ee({authorizationDetailsSchemas:e?JSON.parse(e):{}},X(`client.notices.declared`))}catch{p.blame(Error(X(`client.errors.declared`)))}}function Le(){let e=t(ce).split(`
292
+ `).map(e=>e.trim()).filter(Boolean).map(e=>e.split(`=`).map(e=>e.trim()));e.some(e=>e.length!==2||!e[0]||!e[1])?p.blame(Error(X(`client.errors.attributes`))):Ee({samlAttributes:Object.fromEntries(e)},e.length?X(`client.notices.attributes`):X(`client.notices.attributes_default`))}let Re=[[`client_secret_basic`,X(`client.methods.client_secret_basic`)],[`client_secret_post`,X(`client.methods.client_secret_post`)],[`private_key_jwt`,X(`client.methods.private_key_jwt`)]];function ze(e){if(S(te,e,!0),e===`private_key_jwt`&&!t(Se))return;let n=e===`private_key_jwt`?X(`client.notices.signs_assertions`):t(m).tokenEndpointAuthMethod===`private_key_jwt`?X(`client.notices.uses_secret`):X(`client.notices.saved`);Ee({tokenEndpointAuthMethod:e},n)}function Be(){confirm(X(`client.confirm.restore`))&&Te(`mutation Restore($clientId: ID!) {
281
293
  restoreClient(clientId: $clientId) { client { archivedAt } }
282
- }`,{clientId:i.clientId},X(`client.notices.restored`))}async function Ve(){if(!confirm(X(`client.confirm.rotate`)))return;let e=await Te(`mutation Rotate($clientId: ID!) { rotateClientSecret(clientId: $clientId) { secret } }`,{clientId:i.clientId},X(`client.notices.rotated`));e&&S(de,e.rotateClientSecret.secret,!0)}function He(){confirm(X(`client.confirm.archive`))&&Te(`mutation Archive($clientId: ID!) { archiveClient(clientId: $clientId) { client { archivedAt } } }`,{clientId:i.clientId},X(`client.notices.archived`))}var Ue=R(),We=u(Ue),Ge=e=>{mt(e,{})},Ke=t=>{var n=Ya(),r=W(n,!0);s(e=>z(r,e),[()=>p.state.failure??X(`client.missing`)]),e(t,n)},qe=n=>{{let f=q(()=>({to:`/clients`,label:X(`client.back`)}));zn(n,{get title(){return t(m).name},get id(){return t(m).clientId},get back(){return t(f)},children:(n,f)=>{var C=Eo(),w=u(C);Nn(w,{get feedback(){return p.state}});var D=l(w,2),L=n=>{var r=Xa(),i=o(r),c=l(i);{let n=q(()=>`/clients/${t(m).enrolledBy.clientId}`);Z(c,{get to(){return t(n)},class:`link link-hover`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(m).enrolledBy.name)),e(n,i)},$$slots:{default:!0}})}J(r),s(e=>z(i,`${e??``} `),[()=>X(`machines.enrolled_by`)]),e(n,r)};r(D,e=>{t(m).enrolledBy&&e(L)});var H=l(D,2),ue=n=>{var r=Za(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,t)=>{z(a,e),z(u,t)},[()=>X(`client.archived_on`,{day:Mt(t(m).archivedAt)}),()=>X(`client.restore`)]),d(`click`,c,Be),e(n,r)};r(H,e=>{t(m).archivedAt&&e(ue)});var Ce=l(H,2),Te=n=>{var r=Qa(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(de))},[()=>X(`client.secret_once`)]),e(n,r)};r(Ce,e=>{t(de)&&e(Te)});var De=l(Ce,2);{let e=q(()=>`/clients/${i.clientId}`),n=q(()=>X(`client.parts.label`)),r=q(()=>[[null,``,X(`client.parts.general`)],[`access`,`/access`,X(`client.parts.access`)],[`endpoints`,`/endpoints`,X(`client.parts.endpoints`)],[`usage`,`/usage`,X(`client.parts.usage`)]]);ti(De,{get base(){return t(e)},get part(){return c()},get label(){return t(n)},get parts(){return t(r)}})}var Ue=l(De,2),We=o(Ue),Ge=n=>{var i=io(),c=u(i);{let n=q(()=>X(`client.groups.title`)),i=q(()=>X(`client.groups.lede`));Q(c,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var c=no(),f=u(c),p=n=>{var r=eo();Y(r,21,()=>t(g),e=>e.key,(n,r)=>{var i=$a(),a=o(i);j(a);var c=l(a),u=l(c),f=W(u,!0);J(i),s(e=>{U(a,e),z(c,` ${t(r).name??``} `),z(f,t(r).key)},[()=>t(m).allowedGroups.includes(t(r).key)]),d(`change`,a,e=>Oe(t(r).key,e.currentTarget.checked)),e(n,i)}),J(r),e(n,r)},h=t=>{var n=to(),r=o(n),i=l(r);Z(i,{to:`/settings`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.groups.add`)]),e(t,r)},$$slots:{default:!0}});var c=l(i);J(n),s((e,t)=>{z(r,`${e??``} `),z(c,` ${t??``}`)},[()=>X(`client.groups.none`),()=>X(`client.groups.limit`)]),e(t,n)};r(f,e=>{t(g).length?e(p):e(h,-1)});var _=l(f,2);{let e=q(()=>X(`client.groups.roles`));$(_,{get label(){return t(e)},placeholder:`acme:owner, acme:billing`,onsave:ke,get value(){return t(v)},set value(e){S(v,e,!0)}})}var y=l(_,2),b=W(y,!0);s(e=>z(b,e),[()=>t(m).allowedGroups.length?X(`client.groups.only`,{groups:t(m).allowedGroups.join(`, `)}):X(`client.groups.everyone`)]),e(n,c)},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`client.scopes.title`));Q(f,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=ro(),a=u(i),c=o(a),d=W(c,!0);Tn(l(c,2),{get value(){return t(m).requiredScopes},get available(){return t(h)},onchange:e=>Ee({requiredScopes:e},X(`client.notices.scopes`))}),J(a);var f=l(a,2),p=o(f),g=W(p,!0);Tn(l(p,2),{get value(){return t(m).allowedScopes},get available(){return t(h)},onchange:e=>Ee({allowedScopes:e},X(`client.notices.scopes`))}),J(f),s((e,t)=>{z(d,e),z(g,t)},[()=>X(`client.scopes.always`),()=>X(`client.scopes.on_request`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},Ke=n=>{var i=ao(),a=u(i);{let n=q(()=>X(`client.uris.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=ao(),a=u(i);{let e=q(()=>t(me)?X(`client.uris.acs`):X(`client.uris.redirect`));Ja(a,{get label(){return t(e)},get value(){return t(m).redirectUris},onsave:e=>Ee({redirectUris:e},X(`client.notices.redirects`))})}var o=l(a,2);{let e=q(()=>X(`client.uris.post_logout`));Ja(o,{get label(){return t(e)},get value(){return t(m).postLogoutRedirectUris},onsave:e=>Ee({postLogoutRedirectUris:e},X(`client.notices.post_logout`))})}var s=l(o,2);{let e=q(()=>X(`client.uris.resources`));Ja(s,{get label(){return t(e)},get value(){return t(m).resources},onsave:e=>Ee({resources:e},X(`client.notices.resources`))})}e(n,i)},$$slots:{default:!0}})}var c=l(a,2),f=n=>{{let i=q(()=>X(`client.keys.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=oo(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.keys.jwks_uri`));$(p,{get label(){return t(e)},placeholder:`https://app.example.com/.well-known/jwks.json`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Pe(t(O).trim()?{jwksUri:t(O).trim(),jwks:null}:{jwksUri:null}),get value(){return t(O)},set value(e){S(O,e,!0)}})}var h=l(p,2),g=o(h),_=W(g,!0),v=l(g,2);ae(v),P(v,`placeholder`,`{ "keys": [ ... ] }`);var y=l(v,2),b=W(y,!0);J(h);var x=l(h,2),C=e=>{{let n=q(()=>X(`client.keys.jar`));aa(e,{get checked(){return t(m).requireSignedRequestObject},get label(){return t(n)},onchange:e=>Ee({requireSignedRequestObject:e},X(e?`client.notices.jar_on`:`client.notices.jar_off`))})}};r(x,e=>{t(Se)&&e(C)}),s((e,t,n)=>{z(f,e),z(_,t),z(b,n)},[()=>X(`client.keys.hint`),()=>X(`client.keys.jwks`),()=>X(`client.save`)]),B(v,()=>t(k),e=>S(k,e)),d(`click`,y,Fe),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(me)||e(f)});var p=l(c,2),h=n=>{{let i=q(()=>X(`client.details.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=co(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.details.types`));Ja(p,{get label(){return t(e)},get value(){return t(m).authorizationDetailsTypes},onsave:e=>Ee({authorizationDetailsTypes:e},X(`client.notices.types`))})}var h=l(p,2),g=n=>{var r=so(),i=o(r),a=W(i,!0),c=l(i,2);ae(c),P(c,`placeholder`,`{ "payment_initiation": { "label": "Send a payment", "schema": { "type": "object" } } }`);var u=l(c,2),f=W(u,!0);J(r),s((e,t)=>{z(a,e),z(f,t)},[()=>X(`client.details.accepts`),()=>X(`client.save`)]),B(c,()=>t(A),e=>S(A,e)),d(`click`,u,Ie),e(n,r)};r(h,e=>{t(m).approvedAt&&e(g)}),s(e=>z(f,e),[()=>X(`client.details.hint`)]),e(n,a)},$$slots:{default:!0}})}};r(p,e=>{t(me)||e(h)}),e(n,i)},qe=n=>{var o=lo(),c=u(o);{let e=q(()=>X(`client.consents`));Q(c,{get title(){return t(e)},children:(e,n)=>{yr(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).consents},onchange:we,showActor:!0})},$$slots:{default:!0}})}var d=l(c,2);{let e=q(()=>X(`client.tokens`));Q(d,{get title(){return t(e)},children:(e,n)=>{$r(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).tokens},onchange:we,showActor:!0})},$$slots:{default:!0}})}var f=l(d,2);{let n=n=>{{let r=q(()=>`/activity?client=${t(m).clientId}`);Z(n,{get to(){return t(r)},class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.activity.all`)]),e(t,r)},$$slots:{default:!0}})}},r=q(()=>X(`client.activity.title`));Q(f,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`client.activity.empty`));Mr(e,{get events(){return t(m).events},get empty(){return t(n)}})}},$$slots:{actions:!0,default:!0}})}var h=l(f,2),g=e=>{Ga(e,{get api(){return i.api},get rows(){return t(m).namespaces},onreleased:we})};r(h,e=>{t(m).namespaces.length&&e(g)});var _=l(h,2),v=e=>{za(e,{get api(){return i.api},get rows(){return t(m).enrolled},onrevoked:we})};r(_,e=>{(t(m).namespaces.length||t(m).enrolled.length)&&e(v)}),e(n,o)},Je=n=>{var i=To(),c=u(i);{let n=q(()=>X(`client.registration.title`));Q(c,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=yo(),c=u(a);{let e=q(()=>X(`client.registration.name`));$(c,{get label(){return t(e)},onsave:()=>Ee({name:t(x)},X(`client.notices.renamed`)),get value(){return t(x)},set value(e){S(x,e,!0)}})}var f=l(c,2);Bi(f,{get rows(){return t(he)}});var p=l(f,2),h=t=>{var n=uo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.saml`)]),e(t,n)},g=t=>{var n=uo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.public`)]),e(t,n)},_=n=>{var r=po(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>Re,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fo(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(te))&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`client.registration.authenticates`)]),d(`change`,c,e=>ze(e.currentTarget.value)),e(n,r)};r(p,e=>{t(me)?e(h):t(m).tokenEndpointAuthMethod===`none`?e(g,1):e(_,-1)});var v=l(p,2),y=t=>{var n=mo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.needs_keys`)]),e(t,n)};r(v,e=>{t(te)===`private_key_jwt`&&!t(Se)&&e(y)});var b=l(v,2),C=n=>{var i=ho(),a=u(i),c=o(a),f=W(c,!0),p=l(c,2);Y(p,21,()=>ge,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fo(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p);var h;I(p),J(a);var g=l(a,2),_=e=>{{let n=q(()=>X(`client.registration.sector`)),r=q(()=>X(`client.registration.sector_placeholder`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({sectorIdentifierUri:t(ne).trim()||null},t(ne).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(ne)},set value(e){S(ne,e,!0)}})}};r(g,e=>{(t(m).subjectType===`pairwise`||t(m).sectorIdentifierUri)&&e(_)});var v=l(g,2);Y(v,17,()=>_e,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(m).grantTypes.includes(i()));aa(e,{get checked(){return t(n)},get label(){return a()},onchange:e=>Ee({grantTypes:je(i(),e)},X(`client.notices.grants`))})}}),s(e=>{z(f,e),h!==(h=t(m).subjectType)&&(p.value=(p.__value=h)??``,T(p,h))},[()=>X(`client.registration.knows_as`)]),d(`change`,p,e=>Ne(e.currentTarget.value)),e(n,i)};r(b,e=>{t(me)||e(C)});var w=l(b,2),E=e=>{{let n=q(()=>X(`client.registration.unattended`));aa(e,{get checked(){return t(Ae)},get label(){return t(n)},onchange:Me})}};r(w,e=>{t(m).approvedAt&&t(m).tokenEndpointAuthMethod!==`none`&&e(E)});var D=l(w,2),O=o(D),k=n=>{var i=_o(),a=u(i),o=W(a,!0),c=l(a,2),f=n=>{var r=go(),i=W(r,!0);s(e=>{le(r,1,`self-center text-sm ${t(fe)?`text-error`:`opacity-70`}`),z(i,e)},[()=>X(t(fe)?`client.registration.secret_expired`:`client.registration.secret_expires`,{day:Mt(t(m).secretExpiresAt)})]),e(n,r)};r(c,e=>{t(m).secretExpiresAt&&e(f)}),s(e=>z(o,e),[()=>X(`client.registration.rotate`)]),d(`click`,a,Ve),e(n,i)},A=q(()=>t(m).tokenEndpointAuthMethod.startsWith(`client_secret`));r(O,e=>{t(A)&&e(k)});var j=l(O,2),M=t=>{var n=vo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.archive`)]),d(`click`,n,He),e(t,n)};r(j,e=>{t(m).archivedAt||e(M)}),J(D),e(n,a)},$$slots:{default:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`client.saml.title`));Q(n,{row:!0,get title(){return t(r)},children:(n,r)=>{var i=bo(),a=u(i);{let e=q(()=>X(`client.saml.entity_id`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlEntityId:t(oe).trim()},X(`client.notices.entity_id`)),get value(){return t(oe)},set value(e){S(oe,e,!0)}})}var c=l(a,2),f=o(c);{let e=q(()=>X(`client.saml.slo_url`));$(f,{get label(){return t(e)},placeholder:`https://wiki.example.com/saml/slo`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlSloUrl:t(K).trim()||null},t(K).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(K)},set value(e){S(K,e,!0)}})}var p=l(f,2),h=W(p,!0);J(c);var g=l(c,2);{let e=q(()=>[{term:X(`client.saml.metadata`),value:t(re),mono:!0},{term:X(`client.saml.initiate`),value:t(m).samlIdpInitiated?`/saml/initiate/${t(m).clientId}`:null,mono:!0}]);Bi(g,{get rows(){return t(e)}})}var _=l(g,2),v=o(_),y=W(v,!0),b=l(v,2);Y(b,21,()=>pe,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fo(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(b);var x;I(b),J(_);var C=l(_,2),w=o(C),E=W(w,!0),D=l(w,2);ae(D);var O=l(D,2),k=W(O,!0);J(C);var A=l(C,2),j=o(A),M=W(j,!0),N=l(j,2);ae(N),P(N,`placeholder`,`email = email
294
+ }`,{clientId:i.clientId},X(`client.notices.restored`))}async function Ve(){if(!confirm(X(`client.confirm.rotate`)))return;let e=await Te(`mutation Rotate($clientId: ID!) { rotateClientSecret(clientId: $clientId) { secret } }`,{clientId:i.clientId},X(`client.notices.rotated`));e&&S(de,e.rotateClientSecret.secret,!0)}function He(){confirm(X(`client.confirm.archive`))&&Te(`mutation Archive($clientId: ID!) { archiveClient(clientId: $clientId) { client { archivedAt } } }`,{clientId:i.clientId},X(`client.notices.archived`))}var Ue=R(),We=u(Ue),Ge=e=>{mt(e,{})},Ke=t=>{var n=co(),r=W(n,!0);s(e=>z(r,e),[()=>p.state.failure??X(`client.missing`)]),e(t,n)},qe=n=>{{let f=q(()=>({to:`/clients`,label:X(`client.back`)}));zn(n,{get title(){return t(m).name},get id(){return t(m).clientId},get back(){return t(f)},children:(n,f)=>{var C=zo(),w=u(C);Nn(w,{get feedback(){return p.state}});var D=l(w,2),L=n=>{var r=lo(),i=o(r),c=l(i);{let n=q(()=>`/clients/${t(m).enrolledBy.clientId}`);Z(c,{get to(){return t(n)},class:`link link-hover`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(m).enrolledBy.name)),e(n,i)},$$slots:{default:!0}})}J(r),s(e=>z(i,`${e??``} `),[()=>X(`machines.enrolled_by`)]),e(n,r)};r(D,e=>{t(m).enrolledBy&&e(L)});var H=l(D,2),ue=n=>{var r=uo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,t)=>{z(a,e),z(u,t)},[()=>X(`client.archived_on`,{day:Mt(t(m).archivedAt)}),()=>X(`client.restore`)]),d(`click`,c,Be),e(n,r)};r(H,e=>{t(m).archivedAt&&e(ue)});var Ce=l(H,2),Te=n=>{var r=fo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(de))},[()=>X(`client.secret_once`)]),e(n,r)};r(Ce,e=>{t(de)&&e(Te)});var De=l(Ce,2);{let e=q(()=>`/clients/${i.clientId}`),n=q(()=>X(`client.parts.label`)),r=q(()=>[[null,``,X(`client.parts.general`)],[`access`,`/access`,X(`client.parts.access`)],[`endpoints`,`/endpoints`,X(`client.parts.endpoints`)],[`usage`,`/usage`,X(`client.parts.usage`)]]);ti(De,{get base(){return t(e)},get part(){return c()},get label(){return t(n)},get parts(){return t(r)}})}var Ue=l(De,2),We=o(Ue),Ge=n=>{var c=vo(),f=u(c);{let n=q(()=>X(`client.groups.title`)),i=q(()=>X(`client.groups.lede`));Q(f,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var c=go(),f=u(c),p=n=>{var r=mo();Y(r,21,()=>t(g),e=>e.key,(n,r)=>{var i=po(),a=o(i);j(a);var c=l(a),u=l(c),f=W(u,!0);J(i),s(e=>{U(a,e),z(c,` ${t(r).name??``} `),z(f,t(r).key)},[()=>t(m).allowedGroups.includes(t(r).key)]),d(`change`,a,e=>Oe(t(r).key,e.currentTarget.checked)),e(n,i)}),J(r),e(n,r)},h=t=>{var n=ho(),r=o(n),i=l(r);Z(i,{to:`/settings`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.groups.add`)]),e(t,r)},$$slots:{default:!0}});var c=l(i);J(n),s((e,t)=>{z(r,`${e??``} `),z(c,` ${t??``}`)},[()=>X(`client.groups.none`),()=>X(`client.groups.limit`)]),e(t,n)};r(f,e=>{t(g).length?e(p):e(h,-1)});var _=l(f,2);{let e=q(()=>X(`client.groups.roles`));$(_,{get label(){return t(e)},placeholder:`acme:owner, acme:billing`,onsave:ke,get value(){return t(v)},set value(e){S(v,e,!0)}})}var y=l(_,2),b=W(y,!0);s(e=>z(b,e),[()=>t(m).allowedGroups.length?X(`client.groups.only`,{groups:t(m).allowedGroups.join(`, `)}):X(`client.groups.everyone`)]),e(n,c)},$$slots:{default:!0}})}var p=l(f,2),_=e=>{Qa(e,{get api(){return i.api},get rows(){return t(m).accessRequests},get labels(){return t(m).allowedGroups},ondecided:we})};r(p,e=>{t(m).allowedGroups.length&&e(_)});var y=l(p,2),b=e=>{Ba(e,{get rules(){return t(m).forwardAuthRules},onsave:e=>Ee({forwardAuthRules:e},X(`forward_auth_rules.saved`))})};r(y,e=>{t(m).protocol===`forward`&&e(b)});var x=l(y,2);{let n=q(()=>X(`client.scopes.title`));Q(x,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=_o(),a=u(i),c=o(a),d=W(c,!0);Tn(l(c,2),{get value(){return t(m).requiredScopes},get available(){return t(h)},onchange:e=>Ee({requiredScopes:e},X(`client.notices.scopes`))}),J(a);var f=l(a,2),p=o(f),g=W(p,!0);Tn(l(p,2),{get value(){return t(m).allowedScopes},get available(){return t(h)},onchange:e=>Ee({allowedScopes:e},X(`client.notices.scopes`))}),J(f),s((e,t)=>{z(d,e),z(g,t)},[()=>X(`client.scopes.always`),()=>X(`client.scopes.on_request`)]),e(n,i)},$$slots:{default:!0}})}e(n,c)},Ke=n=>{var i=yo(),a=u(i);{let n=q(()=>X(`client.uris.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=yo(),a=u(i);{let e=q(()=>t(me)?X(`client.uris.acs`):X(`client.uris.redirect`));so(a,{get label(){return t(e)},get value(){return t(m).redirectUris},onsave:e=>Ee({redirectUris:e},X(`client.notices.redirects`))})}var o=l(a,2);{let e=q(()=>X(`client.uris.post_logout`));so(o,{get label(){return t(e)},get value(){return t(m).postLogoutRedirectUris},onsave:e=>Ee({postLogoutRedirectUris:e},X(`client.notices.post_logout`))})}var s=l(o,2);{let e=q(()=>X(`client.uris.resources`));so(s,{get label(){return t(e)},get value(){return t(m).resources},onsave:e=>Ee({resources:e},X(`client.notices.resources`))})}e(n,i)},$$slots:{default:!0}})}var c=l(a,2),f=n=>{{let i=q(()=>X(`client.keys.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=bo(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.keys.jwks_uri`));$(p,{get label(){return t(e)},placeholder:`https://app.example.com/.well-known/jwks.json`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Pe(t(O).trim()?{jwksUri:t(O).trim(),jwks:null}:{jwksUri:null}),get value(){return t(O)},set value(e){S(O,e,!0)}})}var h=l(p,2),g=o(h),_=W(g,!0),v=l(g,2);ae(v),P(v,`placeholder`,`{ "keys": [ ... ] }`);var y=l(v,2),b=W(y,!0);J(h);var x=l(h,2),C=e=>{{let n=q(()=>X(`client.keys.jar`));aa(e,{get checked(){return t(m).requireSignedRequestObject},get label(){return t(n)},onchange:e=>Ee({requireSignedRequestObject:e},X(e?`client.notices.jar_on`:`client.notices.jar_off`))})}};r(x,e=>{t(Se)&&e(C)}),s((e,t,n)=>{z(f,e),z(_,t),z(b,n)},[()=>X(`client.keys.hint`),()=>X(`client.keys.jwks`),()=>X(`client.save`)]),B(v,()=>t(k),e=>S(k,e)),d(`click`,y,Fe),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(me)||e(f)});var p=l(c,2),h=n=>{{let i=q(()=>X(`client.details.title`));Q(n,{row:!0,get title(){return t(i)},children:(n,i)=>{var a=So(),c=u(a),f=W(c,!0),p=l(c,2);{let e=q(()=>X(`client.details.types`));so(p,{get label(){return t(e)},get value(){return t(m).authorizationDetailsTypes},onsave:e=>Ee({authorizationDetailsTypes:e},X(`client.notices.types`))})}var h=l(p,2),g=n=>{var r=xo(),i=o(r),a=W(i,!0),c=l(i,2);ae(c),P(c,`placeholder`,`{ "payment_initiation": { "label": "Send a payment", "schema": { "type": "object" } } }`);var u=l(c,2),f=W(u,!0);J(r),s((e,t)=>{z(a,e),z(f,t)},[()=>X(`client.details.accepts`),()=>X(`client.save`)]),B(c,()=>t(A),e=>S(A,e)),d(`click`,u,Ie),e(n,r)};r(h,e=>{t(m).approvedAt&&e(g)}),s(e=>z(f,e),[()=>X(`client.details.hint`)]),e(n,a)},$$slots:{default:!0}})}};r(p,e=>{t(me)||e(h)}),e(n,i)},qe=n=>{var o=Co(),c=u(o);{let e=q(()=>X(`client.consents`));Q(c,{get title(){return t(e)},children:(e,n)=>{yr(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).consents},onchange:we,showActor:!0})},$$slots:{default:!0}})}var d=l(c,2);{let e=q(()=>X(`client.tokens`));Q(d,{get title(){return t(e)},children:(e,n)=>{$r(e,{get api(){return i.api},get feedback(){return p},get rows(){return t(m).tokens},onchange:we,showActor:!0})},$$slots:{default:!0}})}var f=l(d,2);{let n=n=>{{let r=q(()=>`/activity?client=${t(m).clientId}`);Z(n,{get to(){return t(r)},class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`client.activity.all`)]),e(t,r)},$$slots:{default:!0}})}},r=q(()=>X(`client.activity.title`));Q(f,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`client.activity.empty`));Mr(e,{get events(){return t(m).events},get empty(){return t(n)}})}},$$slots:{actions:!0,default:!0}})}var h=l(f,2),g=e=>{io(e,{get api(){return i.api},get rows(){return t(m).namespaces},onreleased:we})};r(h,e=>{t(m).namespaces.length&&e(g)});var _=l(h,2),v=e=>{Ga(e,{get api(){return i.api},get rows(){return t(m).enrolled},onrevoked:we})};r(_,e=>{(t(m).namespaces.length||t(m).enrolled.length)&&e(v)}),e(n,o)},Je=n=>{var i=vo(),c=u(i);{let n=q(()=>X(`client.registration.title`));Q(c,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Mo(),c=u(a);{let e=q(()=>X(`client.registration.name`));$(c,{get label(){return t(e)},onsave:()=>Ee({name:t(x)},X(`client.notices.renamed`)),get value(){return t(x)},set value(e){S(x,e,!0)}})}var f=l(c,2);Bi(f,{get rows(){return t(he)}});var p=l(f,2),h=t=>{var n=wo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.saml`)]),e(t,n)},g=t=>{var n=wo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.public`)]),e(t,n)},_=n=>{var r=Eo(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>Re,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=To(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(te))&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`client.registration.authenticates`)]),d(`change`,c,e=>ze(e.currentTarget.value)),e(n,r)};r(p,e=>{t(me)?e(h):t(m).tokenEndpointAuthMethod===`none`?e(g,1):e(_,-1)});var v=l(p,2),y=t=>{var n=Do(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.needs_keys`)]),e(t,n)};r(v,e=>{t(te)===`private_key_jwt`&&!t(Se)&&e(y)});var b=l(v,2),C=n=>{var i=Oo(),a=u(i),c=o(a),f=W(c,!0),p=l(c,2);Y(p,21,()=>ge,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=To(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p);var h;I(p),J(a);var g=l(a,2),_=e=>{{let n=q(()=>X(`client.registration.sector`)),r=q(()=>X(`client.registration.sector_placeholder`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({sectorIdentifierUri:t(ne).trim()||null},t(ne).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(ne)},set value(e){S(ne,e,!0)}})}};r(g,e=>{(t(m).subjectType===`pairwise`||t(m).sectorIdentifierUri)&&e(_)});var v=l(g,2);Y(v,17,()=>_e,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(m).grantTypes.includes(i()));aa(e,{get checked(){return t(n)},get label(){return a()},onchange:e=>Ee({grantTypes:je(i(),e)},X(`client.notices.grants`))})}}),s(e=>{z(f,e),h!==(h=t(m).subjectType)&&(p.value=(p.__value=h)??``,T(p,h))},[()=>X(`client.registration.knows_as`)]),d(`change`,p,e=>Ne(e.currentTarget.value)),e(n,i)};r(b,e=>{t(me)||e(C)});var w=l(b,2),E=e=>{{let n=q(()=>X(`client.registration.unattended`));aa(e,{get checked(){return t(Ae)},get label(){return t(n)},onchange:Me})}};r(w,e=>{t(m).approvedAt&&t(m).tokenEndpointAuthMethod!==`none`&&e(E)});var D=l(w,2),O=o(D),k=n=>{var i=Ao(),a=u(i),o=W(a,!0),c=l(a,2),f=n=>{var r=ko(),i=W(r,!0);s(e=>{le(r,1,`self-center text-sm ${t(fe)?`text-error`:`opacity-70`}`),z(i,e)},[()=>X(t(fe)?`client.registration.secret_expired`:`client.registration.secret_expires`,{day:Mt(t(m).secretExpiresAt)})]),e(n,r)};r(c,e=>{t(m).secretExpiresAt&&e(f)}),s(e=>z(o,e),[()=>X(`client.registration.rotate`)]),d(`click`,a,Ve),e(n,i)},A=q(()=>t(m).tokenEndpointAuthMethod.startsWith(`client_secret`));r(O,e=>{t(A)&&e(k)});var j=l(O,2),M=t=>{var n=jo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`client.registration.archive`)]),d(`click`,n,He),e(t,n)};r(j,e=>{t(m).archivedAt||e(M)}),J(D),e(n,a)},$$slots:{default:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`client.saml.title`));Q(n,{row:!0,get title(){return t(r)},children:(n,r)=>{var i=No(),a=u(i);{let e=q(()=>X(`client.saml.entity_id`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlEntityId:t(oe).trim()},X(`client.notices.entity_id`)),get value(){return t(oe)},set value(e){S(oe,e,!0)}})}var c=l(a,2),f=o(c);{let e=q(()=>X(`client.saml.slo_url`));$(f,{get label(){return t(e)},placeholder:`https://wiki.example.com/saml/slo`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({samlSloUrl:t(K).trim()||null},t(K).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(K)},set value(e){S(K,e,!0)}})}var p=l(f,2),h=W(p,!0);J(c);var g=l(c,2);{let e=q(()=>[{term:X(`client.saml.metadata`),value:t(re),mono:!0},{term:X(`client.saml.initiate`),value:t(m).samlIdpInitiated?`/saml/initiate/${t(m).clientId}`:null,mono:!0}]);Bi(g,{get rows(){return t(e)}})}var _=l(g,2),v=o(_),y=W(v,!0),b=l(v,2);Y(b,21,()=>pe,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=To(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(b);var x;I(b),J(_);var C=l(_,2),w=o(C),E=W(w,!0),D=l(w,2);ae(D);var O=l(D,2),k=W(O,!0);J(C);var A=l(C,2),j=o(A),M=W(j,!0),N=l(j,2);ae(N),P(N,`placeholder`,`email = email
283
295
  name = name
284
296
  given_name = given_name
285
297
  family_name = family_name
286
- preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(L,!0);J(A);var R=l(A,2);{let e=q(()=>X(`client.saml.requests_signed`));aa(R,{get checked(){return t(m).samlRequestsSigned},get label(){return t(e)},onchange:e=>Ee({samlRequestsSigned:e},X(e?`client.notices.signed_refused`:`client.notices.signed_read`))})}var V=l(R,2);{let e=q(()=>X(`client.saml.idp_initiated`));aa(V,{get checked(){return t(m).samlIdpInitiated},get label(){return t(e)},onchange:e=>Ee({samlIdpInitiated:e},X(e?`client.notices.idp_initiated_on`:`client.notices.idp_initiated_off`))})}s((e,n,r,i,a,o,s)=>{z(h,e),z(y,n),x!==(x=t(m).samlNameIdFormat??pe[0][0])&&(b.value=(b.__value=x)??``,T(b,x)),z(E,r),z(k,i),z(M,a),z(ee,o),z(te,s)},[()=>X(`client.saml.slo_url_hint`),()=>X(`client.saml.names_by`),()=>X(`client.saml.certificate`),()=>X(`client.save`),()=>X(`client.saml.attributes`),()=>X(`client.saml.attributes_hint`),()=>X(`client.save`)]),d(`change`,b,e=>Ee({samlNameIdFormat:e.currentTarget.value},X(`client.notices.saved`))),B(D,()=>t(G),e=>S(G,e)),d(`click`,O,()=>Ee({samlCertificate:t(G).trim()},t(G).trim()?X(`client.notices.certificate_saved`):X(`client.notices.certificate_removed`))),B(N,()=>t(ce),e=>S(ce,e)),d(`click`,L,Le),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(me)&&e(p)});var h=l(f,2);{let n=q(()=>X(`client.shown.title`));Q(h,{row:!0,get title(){return t(n)},children:(n,i)=>{var c=xo(),d=u(c),f=o(d);$i(f,{get client(){return t(m)},class:`size-14 rounded-lg border border-base-300 text-xl`});var p=l(f,2),h=o(p),g=t=>{var n=a();s(e=>z(n,e),[()=>X(`client.shown.unapproved`)]),e(t,n)},v=t=>{var n=a();s(e=>z(n,e),[()=>X(`client.shown.approved`)]),e(t,n)};r(h,e=>{t(m).approvedAt?e(v,-1):e(g)}),J(p),J(d);var y=l(d,2),b=o(y);Y(b,17,()=>ve,([e,t,n])=>e,(e,n)=>{var r=q(()=>ie(t(n),3));let i=()=>t(r)[0],a=()=>t(r)[1],o=()=>t(r)[2];$(e,{get label(){return a()},get placeholder(){return o()},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(se)[i()]},set value(e){t(se)[i()]=e}})});var x=l(b,2),S=W(x,!0);J(y),s(e=>z(S,e),[()=>X(`client.save`)]),_(`submit`,y,e=>{e.preventDefault(),ye()}),e(n,c)},$$slots:{default:!0}})}var g=l(h,2);{let n=q(()=>X(`client.sign_in.title`));Q(g,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=wo(),c=u(a),f=o(c),p=W(f,!0),h=l(f,2),g=o(h),v=W(g,!0);g.value=g.__value=``;var x=l(g);Y(x,17,()=>t(y),e=>e.key,(n,r)=>{var i=fo(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).key)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(h);var C;I(h),J(c);var w=l(c,2),D=n=>{var r=mo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`client.sign_in.archived`,{name:t(m).signInPolicy.name,fallback:t(b)?.name})]),e(n,r)},O=n=>{var i=R(),a=u(i),c=n=>{var r=Co(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>t(xe),({term:e,value:t,instead:n})=>e,(n,r)=>{let i=()=>t(r).term,a=()=>t(r).value,c=()=>t(r).instead;var d=So(),f=u(d),p=W(f,!0),m=l(f,2),h=o(m),g=l(h),_=W(g,!0);J(m),s(()=>{z(p,i()),z(h,`${a()??``} `),z(_,c())}),e(n,d)}),J(c),J(r),s(e=>z(a,e),[()=>X(`client.sign_in.differs`,{name:t(b)?.name})]),e(n,r)},d=n=>{var r=uo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`client.sign_in.same`,{name:t(b)?.name})]),e(n,r)};r(a,e=>{t(xe).length?e(c):e(d,-1)}),e(n,i)};r(w,e=>{t(m).signInPolicy?.archivedAt?e(D):t(m).signInPolicy&&e(O,1)});var k=l(w,2),A=n=>{var r=io(),i=u(r);{let e=q(()=>X(`client.sign_in.par`));aa(i,{get checked(){return t(m).requirePushedAuthorizationRequests},get label(){return t(e)},onchange:e=>Ee({requirePushedAuthorizationRequests:e},X(e?`client.notices.par_on`:`client.notices.par_off`))})}var a=l(i,2);{let e=q(()=>X(`client.sign_in.dpop`));aa(a,{get checked(){return t(m).dpopBoundAccessTokens},get label(){return t(e)},onchange:e=>Ee({dpopBoundAccessTokens:e},X(e?`client.notices.dpop_on`:`client.notices.dpop_off`))})}e(n,r)};r(k,e=>{t(me)||e(A)});var j=l(k,2),P=e=>{{let n=q(()=>X(`client.sign_in.consent`));aa(e,{get checked(){return t(m).consentRequired},get label(){return t(n)},onchange:e=>Ee({consentRequired:e},X(e?`client.notices.consent_on`:`client.notices.consent_off`))})}};r(j,e=>{t(m).approvedAt&&e(P)});var L=l(j,2),te=o(L),B=o(te);{let e=q(()=>X(`client.sign_in.access`));$(B,{get label(){return t(e)},type:`number`,min:`1`,max:`1440`,get value(){return t(N)},set value(e){S(N,e,!0)}})}var V=l(B,2);{let e=q(()=>X(`client.sign_in.refresh`));$(V,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(F)},set value(e){S(F,e,!0)}})}var ne=l(V,2);{let e=q(()=>X(`client.sign_in.refresh_absolute`));$(ne,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(ee)},set value(e){S(ee,e,!0)}})}var re=l(ne,2);{let e=q(()=>X(`client.sign_in.consent_lifetime`));$(re,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(M)},set value(e){S(M,e,!0)}})}J(te);var H=l(te,2),U=W(H,!0);J(L);var ie=l(L,2);{let e=q(()=>X(`client.sign_in.logout`));$(ie,{get label(){return t(e)},placeholder:`https://app.example.com/logout`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({backchannelLogoutUri:t(E).trim()||null},t(E).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(E)},set value(e){S(E,e,!0)}})}var ae=l(ie,2),G=e=>{{let n=q(()=>X(`client.sign_in.logout_session`));aa(e,{get checked(){return t(m).backchannelLogoutSessionRequired},get label(){return t(n)},onchange:e=>Ee({backchannelLogoutSessionRequired:e},X(`client.notices.saved`))})}};r(ae,e=>{t(m).backchannelLogoutUri&&e(G)}),s((e,n,r)=>{z(p,e),z(v,n),C!==(C=t(m).signInPolicy?.key??``)&&(h.value=(h.__value=C)??``,T(h,C)),z(U,r)},[()=>X(`client.sign_in.policy`),()=>X(`client.sign_in.default`,{name:t(b)?.name??X(`client.sign_in.built_in`)}),()=>X(`client.save`)]),d(`change`,h,e=>Ee({signInPolicy:e.currentTarget.value},X(`client.notices.policy`))),_(`submit`,L,e=>{e.preventDefault(),be()}),e(n,a)},$$slots:{default:!0}})}e(n,i)};r(We,e=>{c()===`access`?e(Ge):c()===`endpoints`?e(Ke,1):c()===`usage`?e(qe,2):e(Je,-1)}),J(Ue),e(n,C)},$$slots:{default:!0}})}};r(We,e=>{t(ue)&&!t(m)?e(Ge):t(m)?e(qe,-1):e(Ke,1)}),e(n,Ue),D()}c([`click`,`change`]);var Oo=f(`<span class="badge badge-warning badge-xs"> </span>`),ko=f(`<span class="flex flex-wrap items-center gap-2"><!> <!></span> <span class="font-mono text-xs opacity-75"> </span> <!>`,1);function Ao(n,i){H(i,!0);var c=ko(),d=u(c),f=o(d);{let n=q(()=>`/organizations/${i.organization.key}`);Z(f,{get to(){return t(n)},class:`link link-hover font-medium`,children:(t,n)=>{V();var r=a();s(()=>z(r,i.organization.name)),e(t,r)},$$slots:{default:!0}})}var p=l(f,2),m=t=>{var n=Oo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization_cell.no_owner`)]),e(t,n)};r(p,e=>{i.organization.ownerCount===0&&e(m)}),J(d);var h=l(d,2),g=W(h,!0),_=l(h,2);v(_,()=>i.children??F),s(()=>z(g,i.organization.key)),e(n,c),D()}var jo=f(`<span class="text-xs opacity-75"> </span>`),Mo=f(`<span><span> </span> <!></span>`);function No(t,n){H(n,!0);let i=L(n,`class`,3,`flex flex-col`);var a=Mo(),c=o(a),u=W(c,!0),d=l(c,2),f=t=>{var r=jo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization_headcount.invited`,{count:n.organization.pendingCount})]),e(t,r)};r(d,e=>{n.organization.pendingCount&&e(f)}),J(a),s(e=>{le(a,1,O(i())),z(u,e)},[()=>X(`organization_headcount.members`,{count:n.organization.memberCount})]),e(t,a),D()}var Po=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Fo=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <p class="hint"> <span class="font-mono"> </span> </p> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Io=f(`<span class="text-xs opacity-85 md:hidden"> </span>`),Lo=f(`<span class="badge badge-ghost badge-sm"> </span>`),Ro=f(`<td><div class="flex min-w-0 flex-col gap-0.5"><!></div></td> <td class="hidden text-sm md:table-cell"><!></td> <td class="hidden md:table-cell"><div class="flex max-w-64 flex-wrap gap-1"></div></td> <td class="hidden text-sm md:table-cell"><span> </span></td>`,1),zo=f(`<div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><!> <span class="hint"><span class="font-mono"> </span> </span></div> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Bo=f(`<!> <!>`,1),Vo=f(`<!> <!> <!>`,1);function Ho(n,i){H(i,!0);let c=ct(),f=Ct(),p=[X(`organizations.columns.organization`),{label:X(`organizations.columns.members`),hide:!0},{label:X(`organizations.columns.roles`),hide:!0},{label:X(`organizations.columns.signs_in`),hide:!0}],m=w(null),h=w(!0),g=w(!1),_=w(null),v=w(!1);async function y(){S(h,!0);let e=await f.attempt(()=>i.api.query(`
298
+ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(L,!0);J(A);var R=l(A,2);{let e=q(()=>X(`client.saml.requests_signed`));aa(R,{get checked(){return t(m).samlRequestsSigned},get label(){return t(e)},onchange:e=>Ee({samlRequestsSigned:e},X(e?`client.notices.signed_refused`:`client.notices.signed_read`))})}var V=l(R,2);{let e=q(()=>X(`client.saml.idp_initiated`));aa(V,{get checked(){return t(m).samlIdpInitiated},get label(){return t(e)},onchange:e=>Ee({samlIdpInitiated:e},X(e?`client.notices.idp_initiated_on`:`client.notices.idp_initiated_off`))})}s((e,n,r,i,a,o,s)=>{z(h,e),z(y,n),x!==(x=t(m).samlNameIdFormat??pe[0][0])&&(b.value=(b.__value=x)??``,T(b,x)),z(E,r),z(k,i),z(M,a),z(ee,o),z(te,s)},[()=>X(`client.saml.slo_url_hint`),()=>X(`client.saml.names_by`),()=>X(`client.saml.certificate`),()=>X(`client.save`),()=>X(`client.saml.attributes`),()=>X(`client.saml.attributes_hint`),()=>X(`client.save`)]),d(`change`,b,e=>Ee({samlNameIdFormat:e.currentTarget.value},X(`client.notices.saved`))),B(D,()=>t(G),e=>S(G,e)),d(`click`,O,()=>Ee({samlCertificate:t(G).trim()},t(G).trim()?X(`client.notices.certificate_saved`):X(`client.notices.certificate_removed`))),B(N,()=>t(ce),e=>S(ce,e)),d(`click`,L,Le),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(me)&&e(p)});var h=l(f,2);{let n=q(()=>X(`client.shown.title`));Q(h,{row:!0,get title(){return t(n)},children:(n,i)=>{var c=Po(),d=u(c),f=o(d);$i(f,{get client(){return t(m)},class:`size-14 rounded-lg border border-base-300 text-xl`});var p=l(f,2),h=o(p),g=t=>{var n=a();s(e=>z(n,e),[()=>X(`client.shown.unapproved`)]),e(t,n)},v=t=>{var n=a();s(e=>z(n,e),[()=>X(`client.shown.approved`)]),e(t,n)};r(h,e=>{t(m).approvedAt?e(v,-1):e(g)}),J(p),J(d);var y=l(d,2),b=o(y);Y(b,17,()=>ve,([e,t,n])=>e,(e,n)=>{var r=q(()=>ie(t(n),3));let i=()=>t(r)[0],a=()=>t(r)[1],o=()=>t(r)[2];$(e,{get label(){return a()},get placeholder(){return o()},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(se)[i()]},set value(e){t(se)[i()]=e}})});var x=l(b,2),S=W(x,!0);J(y),s(e=>z(S,e),[()=>X(`client.save`)]),_(`submit`,y,e=>{e.preventDefault(),ye()}),e(n,c)},$$slots:{default:!0}})}var g=l(h,2);{let n=q(()=>X(`client.sign_in.title`));Q(g,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Ro(),c=u(a),f=o(c),p=W(f,!0),h=l(f,2),g=o(h),v=W(g,!0);g.value=g.__value=``;var x=l(g);Y(x,17,()=>t(y),e=>e.key,(n,r)=>{var i=To(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).key)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(h);var C;I(h),J(c);var w=l(c,2),D=n=>{var r=Do(),i=W(r,!0);s(e=>z(i,e),[()=>X(`client.sign_in.archived`,{name:t(m).signInPolicy.name,fallback:t(b)?.name})]),e(n,r)},O=n=>{var i=R(),a=u(i),c=n=>{var r=Io(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>t(xe),({term:e,value:t,instead:n})=>e,(n,r)=>{let i=()=>t(r).term,a=()=>t(r).value,c=()=>t(r).instead;var d=Fo(),f=u(d),p=W(f,!0),m=l(f,2),h=o(m),g=l(h),_=W(g,!0);J(m),s(()=>{z(p,i()),z(h,`${a()??``} `),z(_,c())}),e(n,d)}),J(c),J(r),s(e=>z(a,e),[()=>X(`client.sign_in.differs`,{name:t(b)?.name})]),e(n,r)},d=n=>{var r=wo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`client.sign_in.same`,{name:t(b)?.name})]),e(n,r)};r(a,e=>{t(xe).length?e(c):e(d,-1)}),e(n,i)};r(w,e=>{t(m).signInPolicy?.archivedAt?e(D):t(m).signInPolicy&&e(O,1)});var k=l(w,2),A=n=>{var r=Lo(),i=u(r);{let e=q(()=>X(`client.sign_in.par`));aa(i,{get checked(){return t(m).requirePushedAuthorizationRequests},get label(){return t(e)},onchange:e=>Ee({requirePushedAuthorizationRequests:e},X(e?`client.notices.par_on`:`client.notices.par_off`))})}var a=l(i,2);{let e=q(()=>X(`client.sign_in.dpop`));aa(a,{get checked(){return t(m).dpopBoundAccessTokens},get label(){return t(e)},onchange:e=>Ee({dpopBoundAccessTokens:e},X(e?`client.notices.dpop_on`:`client.notices.dpop_off`))})}e(n,r)};r(k,e=>{t(me)||e(A)});var j=l(k,2);{let e=q(()=>X(`client.sign_in.app_passwords`));aa(j,{get checked(){return t(m).appPasswords},get label(){return t(e)},onchange:e=>Ee({appPasswords:e},X(e?`client.notices.app_passwords_on`:`client.notices.app_passwords_off`))})}var P=l(j,2),L=W(P,!0),te=l(P,2),B=e=>{{let n=q(()=>X(`client.sign_in.consent`));aa(e,{get checked(){return t(m).consentRequired},get label(){return t(n)},onchange:e=>Ee({consentRequired:e},X(e?`client.notices.consent_on`:`client.notices.consent_off`))})}};r(te,e=>{t(m).approvedAt&&e(B)});var V=l(te,2),ne=o(V),re=o(ne);{let e=q(()=>X(`client.sign_in.access`));$(re,{get label(){return t(e)},type:`number`,min:`1`,max:`1440`,get value(){return t(N)},set value(e){S(N,e,!0)}})}var H=l(re,2);{let e=q(()=>X(`client.sign_in.refresh`));$(H,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(F)},set value(e){S(F,e,!0)}})}var U=l(H,2);{let e=q(()=>X(`client.sign_in.refresh_absolute`));$(U,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(ee)},set value(e){S(ee,e,!0)}})}var ie=l(U,2);{let e=q(()=>X(`client.sign_in.consent_lifetime`));$(ie,{get label(){return t(e)},type:`number`,min:`1`,max:`400`,get value(){return t(M)},set value(e){S(M,e,!0)}})}J(ne);var ae=l(ne,2),G=W(ae,!0);J(V);var oe=l(V,2);{let e=q(()=>X(`client.sign_in.logout`));$(oe,{get label(){return t(e)},placeholder:`https://app.example.com/logout`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:()=>Ee({backchannelLogoutUri:t(E).trim()||null},t(E).trim()?X(`client.notices.saved`):X(`client.notices.cleared`)),get value(){return t(E)},set value(e){S(E,e,!0)}})}var K=l(oe,2),se=e=>{{let n=q(()=>X(`client.sign_in.logout_session`));aa(e,{get checked(){return t(m).backchannelLogoutSessionRequired},get label(){return t(n)},onchange:e=>Ee({backchannelLogoutSessionRequired:e},X(`client.notices.saved`))})}};r(K,e=>{t(m).backchannelLogoutUri&&e(se)}),s((e,n,r,i)=>{z(p,e),z(v,n),C!==(C=t(m).signInPolicy?.key??``)&&(h.value=(h.__value=C)??``,T(h,C)),z(L,r),z(G,i)},[()=>X(`client.sign_in.policy`),()=>X(`client.sign_in.default`,{name:t(b)?.name??X(`client.sign_in.built_in`)}),()=>X(`client.sign_in.app_passwords_help`),()=>X(`client.save`)]),d(`change`,h,e=>Ee({signInPolicy:e.currentTarget.value},X(`client.notices.policy`))),_(`submit`,V,e=>{e.preventDefault(),be()}),e(n,a)},$$slots:{default:!0}})}e(n,i)};r(We,e=>{c()===`access`?e(Ge):c()===`endpoints`?e(Ke,1):c()===`usage`?e(qe,2):e(Je,-1)}),J(Ue),e(n,C)},$$slots:{default:!0}})}};r(We,e=>{t(ue)&&!t(m)?e(Ge):t(m)?e(qe,-1):e(Ke,1)}),e(n,Ue),D()}c([`click`,`change`]);var Vo=f(`<span class="badge badge-warning badge-xs"> </span>`),Ho=f(`<span class="flex flex-wrap items-center gap-2"><!> <!></span> <span class="font-mono text-xs opacity-75"> </span> <!>`,1);function Uo(n,i){H(i,!0);var c=Ho(),d=u(c),f=o(d);{let n=q(()=>`/organizations/${i.organization.key}`);Z(f,{get to(){return t(n)},class:`link link-hover font-medium`,children:(t,n)=>{V();var r=a();s(()=>z(r,i.organization.name)),e(t,r)},$$slots:{default:!0}})}var p=l(f,2),m=t=>{var n=Vo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization_cell.no_owner`)]),e(t,n)};r(p,e=>{i.organization.ownerCount===0&&e(m)}),J(d);var h=l(d,2),g=W(h,!0),_=l(h,2);v(_,()=>i.children??F),s(()=>z(g,i.organization.key)),e(n,c),D()}var Wo=f(`<span class="text-xs opacity-75"> </span>`),Go=f(`<span><span> </span> <!></span>`);function Ko(t,n){H(n,!0);let i=L(n,`class`,3,`flex flex-col`);var a=Go(),c=o(a),u=W(c,!0),d=l(c,2),f=t=>{var r=Wo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization_headcount.invited`,{count:n.organization.pendingCount})]),e(t,r)};r(d,e=>{n.organization.pendingCount&&e(f)}),J(a),s(e=>{le(a,1,O(i())),z(u,e)},[()=>X(`organization_headcount.members`,{count:n.organization.memberCount})]),e(t,a),D()}var qo=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Jo=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <p class="hint"> <span class="font-mono"> </span> </p> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Yo=f(`<span class="text-xs opacity-85 md:hidden"> </span>`),Xo=f(`<span class="badge badge-ghost badge-sm"> </span>`),Zo=f(`<td><div class="flex min-w-0 flex-col gap-0.5"><!></div></td> <td class="hidden text-sm md:table-cell"><!></td> <td class="hidden md:table-cell"><div class="flex max-w-64 flex-wrap gap-1"></div></td> <td class="hidden text-sm md:table-cell"><span> </span></td>`,1),Qo=f(`<div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><!> <span class="hint"><span class="font-mono"> </span> </span></div> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),$o=f(`<!> <!>`,1),es=f(`<!> <!> <!>`,1);function ts(n,i){H(i,!0);let c=ct(),f=Ct(),p=[X(`organizations.columns.organization`),{label:X(`organizations.columns.members`),hide:!0},{label:X(`organizations.columns.roles`),hide:!0},{label:X(`organizations.columns.signs_in`),hide:!0}],m=w(null),h=w(!0),g=w(!1),_=w(null),v=w(!1);async function y(){S(h,!0);let e=await f.attempt(()=>i.api.query(`
287
299
  query Organizations {
288
300
  active: organizations {
289
301
  key name roles memberCount ownerCount pendingCount
@@ -294,7 +306,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
294
306
  }
295
307
  `));S(h,!1),e&&S(m,e,!0)}y();let b=e=>e.toLowerCase().normalize(`NFKD`).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);function x(){S(_,{key:``,name:``},!0),S(v,!1),f.clear()}function C(e){t(_).name=e,t(v)||(t(_).key=b(e))}async function T(){S(g,!0);let e=await f.attempt(()=>i.api.query(`mutation Create($key: ID!, $name: String!) {
296
308
  createOrganization(key: $key, name: $name) { organization { key } }
297
- }`,{key:t(_).key.trim(),name:t(_).name.trim()}));S(g,!1),e&&c.go(`/organizations/${e.createOrganization.organization.key}`)}async function E(e){await f.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:e.key}),X(`organizations.restored`,{name:e.name}))&&await y()}function O(e){let t=X(`organizations.members`,{count:e.memberCount});return e.pendingCount?X(`organizations.members_invited`,{members:t,count:e.pendingCount}):t}function k(e){return[e.signInPolicy?.name,...e.providers.map(e=>e.name)].filter(Boolean).join(`, `)}{let i=t=>{var n=Po(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organizations.add`)]),d(`click`,n,x),e(t,n)},c=q(()=>X(`organizations.title`)),y=q(()=>X(`organizations.lede`));zn(n,{get title(){return t(c)},get lede(){return t(y)},actions:i,children:(n,i)=>{var c=Vo(),y=u(c);Nn(y,{get feedback(){return f.state}});var b=l(y,2),x=n=>{{let r=q(()=>X(`organizations.add`)),i=q(()=>X(`organizations.add_lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Fo(),a=u(i),c=o(a);{let e=q(()=>X(`organizations.name`));$(c,{get label(){return t(e)},get value(){return t(_).name},oninput:e=>C(e.currentTarget.value),placeholder:`Acme`})}var f=l(c,2);{let e=q(()=>X(`organizations.key`));$(f,{get label(){return t(e)},oninput:()=>S(v,!0),placeholder:`acme`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(_).key},set value(e){t(_).key=e}})}J(a);var p=l(a,2),m=o(p),h=l(m),y=W(h),b=l(h,1,!0);J(p);var x=l(p,2),w=o(x),E=W(w,!0),D=l(w,2),O=W(D,!0);J(x),s((e,t,n,r,i,a)=>{z(m,`${e??``} `),z(y,`organization=${t??``}`),z(b,n),w.disabled=r,z(E,i),z(O,a)},[()=>X(`organizations.key_hint`),()=>t(_).key||X(`organizations.key_word`),()=>X(`organizations.key_hint_end`),()=>t(g)||!t(_).key.trim()||!t(_).name.trim(),()=>t(g)?X(`organizations.adding`):X(`organizations.add`),()=>X(`organizations.cancel`)]),d(`click`,w,T),d(`click`,D,()=>S(_,null)),e(n,i)},$$slots:{default:!0}})}};r(b,e=>{t(_)&&e(x)});var w=l(b,2),D=e=>{mt(e,{})},A=n=>{var i=Bo(),c=u(i);{let n=n=>{var r=R(),i=u(r);Y(i,17,()=>t(m).active,e=>e.key,(n,r)=>{{let i=q(()=>`/organizations/${t(r).key}`);Wt(n,{get to(){return t(i)},children:(n,i)=>{var a=Ro(),c=u(a),d=o(c);Ao(o(d),{get organization(){return t(r)},children:(n,i)=>{var a=Io(),o=W(a,!0);s(e=>z(o,e),[()=>O(t(r))]),e(n,a)},$$slots:{default:!0}}),J(d),J(c);var f=l(c,2);No(o(f),{get organization(){return t(r)}}),J(f);var p=l(f,2),m=o(p);Y(m,20,()=>t(r).roles,e=>e,(t,n)=>{var r=Lo(),i=W(r,!0);s(()=>z(i,n)),e(t,r)}),J(m),J(p);var h=l(p,2),g=o(h);let _;var v=W(g,!0);J(h),s((e,t)=>{_=le(g,1,``,null,_,{"opacity-60":e}),z(v,t)},[()=>!k(t(r)),()=>k(t(r))||X(`organizations.tenant_policy`)]),e(n,a)},$$slots:{default:!0}})}}),e(n,r)},r=q(()=>X(`organizations.empty`));Yt(c,{get columns(){return p},get count(){return t(m).active.length},get empty(){return t(r)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),h=n=>{{let r=q(()=>X(`organizations.archived.title`)),i=q(()=>X(`organizations.archived.lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=R(),c=u(i);Y(c,17,()=>t(m).archived,e=>e.key,(n,r)=>{var i=zo(),c=o(i),u=o(c);{let n=q(()=>`/organizations/${t(r).key}`);Z(u,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var f=l(u,2),p=o(f),m=W(p,!0),h=l(p);J(f),J(c);var g=l(c,2),_=W(g,!0);J(i),s((e,n)=>{z(m,t(r).key),z(h,` ${e??``}`),z(_,n)},[()=>X(`organizations.archived.detail`,{day:Mt(t(r).archivedAt),members:X(`organizations.members`,{count:t(r).memberCount})}),()=>X(`organizations.restore`)]),d(`click`,g,()=>E(t(r))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(m).archived.length&&e(h)}),e(n,i)};r(w,e=>{t(h)&&!t(m)?e(D):t(m)&&e(A,1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var Uo=f(`<span class="tally-figure"> </span> <span class="tally-label"> </span>`,1),Wo=f(`<div class="tally-cell"><span class="tally-figure"> </span> <span class="tally-label"> </span></div>`),Go=f(`<div class="tally"></div>`);function Ko(n,i){var a=Go();Y(a,21,()=>i.counts,e=>e.label,(n,i)=>{var a=R(),c=u(a),d=n=>{Z(n,{get to(){return t(i).to},class:`tally-cell`,children:(n,r)=>{var a=Uo(),o=u(a),c=W(o,!0),d=l(o,2),f=W(d,!0);s(()=>{z(c,t(i).value),z(f,t(i).label)}),e(n,a)},$$slots:{default:!0}})},f=n=>{var r=Wo(),a=o(r),c=W(a,!0),u=l(a,2),d=W(u,!0);J(r),s(()=>{z(c,t(i).value),z(d,t(i).label)}),e(n,r)};r(c,e=>{t(i).to?e(d):e(f,-1)}),e(n,a)}),J(a),e(n,a)}var qo=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Jo=f(`<!> <button type="button" class="btn btn-ghost btn-sm btn-error"> </button>`,1),Yo=f(`<p class="hint"> <!></p>`),Xo=f(`<div class="alert alert-warning alert-soft flex flex-wrap items-center justify-between gap-3" role="status"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`),Zo=f(`<div class="alert alert-warning alert-soft" role="status"> </div>`),Qo=f(`<div class="alert alert-info alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),$o=f(`<div class="flex flex-wrap items-center justify-between gap-2 sheet p-3"><div class="flex min-w-0 flex-col"><span class="font-medium"> </span> <span class="hint"> </span></div> <div class="flex gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),es=f(`<p class="hint"> </p>`),ts=f(`<div class="flex flex-col gap-3 sheet p-3"><span class="font-medium"> </span> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="3" placeholder="Acme Admins = owner"></textarea> <p class="hint"> </p></label> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),ns=f(`<div class="flex flex-col gap-2"><!> <!></div> <!>`,1),rs=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="font-mono text-sm break-all"> </span> <span class="hint"> </span></div>`),is=f(`<div class="flex flex-col gap-2"></div>`),as=f(`<div class="flex flex-col gap-2"><p class="hint"> <!></p></div>`),os=f(`<!> <!> <!> <!>`,1),ss=f(`<button type="button" class="-mr-1 cursor-pointer px-1 opacity-70 hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-30">×</button>`),cs=f(`<span><span class="font-medium"> </span> <span class="opacity-70"> </span> <!></span>`),ls=f(`<div class="flex flex-wrap gap-2"></div> <!> <p class="hint"> </p>`,1),us=f(`<!> <!>`,1),ds=f(`<button type="button" class="btn btn-sm btn-error btn-outline self-start"> </button>`),fs=f(`<button type="button"> </button>`),ps=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),ms=f(`<div class="range" role="group"></div> <!>`,1),hs=f(`<div class="grid gap-3 sm:grid-cols-[minmax(0,1fr)_10rem_auto] sm:items-end"><!> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div> <p class="hint"> </p>`,1),gs=f(`<span class="badge badge-sm badge-error badge-soft"> </span>`),_s=f(`<span class="badge badge-sm badge-warning badge-soft"> </span>`),vs=f(`<span class="badge badge-sm badge-ghost"> </span>`),ys=f(`<tr><td class="w-full min-w-0"><div class="flex min-w-0 flex-col gap-0.5"><span class="flex flex-wrap items-center gap-2"><!> <!> <!></span> <span class="hint"> </span> <div class="mt-2 flex flex-wrap items-center gap-2 md:hidden"><div class="min-w-28 flex-1 basis-28"><!></div> <div class="-me-3 flex shrink-0"><!></div></div></div></td><td class="hidden w-44 min-w-44 md:table-cell"><!></td><td class="hidden text-right whitespace-nowrap md:table-cell"><!></td></tr>`),bs=f(`<!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function xs(n,i){H(i,!0);let c=(e,n=F)=>{{let r=q(()=>X(`organization.members.role_of`,{name:G(n())})),i=q(()=>t(E)||oe(n())||!!t(_).archivedAt);ra(e,{get value(){return n().role},get options(){return t(I)},get name(){return t(r)},get disabled(){return t(i)},onchange:e=>de(n(),e)})}},f=(n,i=F)=>{var a=Jo(),o=u(a),c=n=>{var r=qo(),a=W(r,!0);s((e,t)=>{r.disabled=e,z(a,t)},[()=>t(E)||!!t(_).archivedAt,()=>X(`organization.members.send_again`)]),d(`click`,r,()=>pe(i())),e(n,r)};r(o,e=>{i().pending&&e(c)});var f=l(o,2),p=W(f,!0);s((e,t,n)=>{f.disabled=e,P(f,`title`,t),z(p,n)},[()=>t(E)||oe(i()),()=>oe(i())?X(`organization.members.owner_first`):null,()=>i().pending?X(`organization.members.withdraw`):X(`organization.members.remove`)]),d(`click`,f,()=>fe(i())),e(n,a)},p=L(i,`part`,3,null);ct();let m=Ct(),h=[`owner`,`member`],g=[[`all`,X(`organization.lenses.all`)],[`owners`,X(`organization.lenses.owners`)],[`invited`,X(`organization.lenses.invited`)]],_=w(null),v=w(C([])),y=w(C([])),b=()=>({provider:``,roleClaim:``,roleMap:``,unmappedRole:``}),x=w(C(b())),T=w(!0),E=w(!1),O=w(null),k=w(`all`),A=w(``),j=w(``),M=w(null);async function N(){S(T,!0);let e=await m.attempt(()=>i.api.query(`
309
+ }`,{key:t(_).key.trim(),name:t(_).name.trim()}));S(g,!1),e&&c.go(`/organizations/${e.createOrganization.organization.key}`)}async function E(e){await f.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:e.key}),X(`organizations.restored`,{name:e.name}))&&await y()}function O(e){let t=X(`organizations.members`,{count:e.memberCount});return e.pendingCount?X(`organizations.members_invited`,{members:t,count:e.pendingCount}):t}function k(e){return[e.signInPolicy?.name,...e.providers.map(e=>e.name)].filter(Boolean).join(`, `)}{let i=t=>{var n=qo(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organizations.add`)]),d(`click`,n,x),e(t,n)},c=q(()=>X(`organizations.title`)),y=q(()=>X(`organizations.lede`));zn(n,{get title(){return t(c)},get lede(){return t(y)},actions:i,children:(n,i)=>{var c=es(),y=u(c);Nn(y,{get feedback(){return f.state}});var b=l(y,2),x=n=>{{let r=q(()=>X(`organizations.add`)),i=q(()=>X(`organizations.add_lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Jo(),a=u(i),c=o(a);{let e=q(()=>X(`organizations.name`));$(c,{get label(){return t(e)},get value(){return t(_).name},oninput:e=>C(e.currentTarget.value),placeholder:`Acme`})}var f=l(c,2);{let e=q(()=>X(`organizations.key`));$(f,{get label(){return t(e)},oninput:()=>S(v,!0),placeholder:`acme`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(_).key},set value(e){t(_).key=e}})}J(a);var p=l(a,2),m=o(p),h=l(m),y=W(h),b=l(h,1,!0);J(p);var x=l(p,2),w=o(x),E=W(w,!0),D=l(w,2),O=W(D,!0);J(x),s((e,t,n,r,i,a)=>{z(m,`${e??``} `),z(y,`organization=${t??``}`),z(b,n),w.disabled=r,z(E,i),z(O,a)},[()=>X(`organizations.key_hint`),()=>t(_).key||X(`organizations.key_word`),()=>X(`organizations.key_hint_end`),()=>t(g)||!t(_).key.trim()||!t(_).name.trim(),()=>t(g)?X(`organizations.adding`):X(`organizations.add`),()=>X(`organizations.cancel`)]),d(`click`,w,T),d(`click`,D,()=>S(_,null)),e(n,i)},$$slots:{default:!0}})}};r(b,e=>{t(_)&&e(x)});var w=l(b,2),D=e=>{mt(e,{})},A=n=>{var i=$o(),c=u(i);{let n=n=>{var r=R(),i=u(r);Y(i,17,()=>t(m).active,e=>e.key,(n,r)=>{{let i=q(()=>`/organizations/${t(r).key}`);Wt(n,{get to(){return t(i)},children:(n,i)=>{var a=Zo(),c=u(a),d=o(c);Uo(o(d),{get organization(){return t(r)},children:(n,i)=>{var a=Yo(),o=W(a,!0);s(e=>z(o,e),[()=>O(t(r))]),e(n,a)},$$slots:{default:!0}}),J(d),J(c);var f=l(c,2);Ko(o(f),{get organization(){return t(r)}}),J(f);var p=l(f,2),m=o(p);Y(m,20,()=>t(r).roles,e=>e,(t,n)=>{var r=Xo(),i=W(r,!0);s(()=>z(i,n)),e(t,r)}),J(m),J(p);var h=l(p,2),g=o(h);let _;var v=W(g,!0);J(h),s((e,t)=>{_=le(g,1,``,null,_,{"opacity-60":e}),z(v,t)},[()=>!k(t(r)),()=>k(t(r))||X(`organizations.tenant_policy`)]),e(n,a)},$$slots:{default:!0}})}}),e(n,r)},r=q(()=>X(`organizations.empty`));Yt(c,{get columns(){return p},get count(){return t(m).active.length},get empty(){return t(r)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),h=n=>{{let r=q(()=>X(`organizations.archived.title`)),i=q(()=>X(`organizations.archived.lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=R(),c=u(i);Y(c,17,()=>t(m).archived,e=>e.key,(n,r)=>{var i=Qo(),c=o(i),u=o(c);{let n=q(()=>`/organizations/${t(r).key}`);Z(u,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var f=l(u,2),p=o(f),m=W(p,!0),h=l(p);J(f),J(c);var g=l(c,2),_=W(g,!0);J(i),s((e,n)=>{z(m,t(r).key),z(h,` ${e??``}`),z(_,n)},[()=>X(`organizations.archived.detail`,{day:Mt(t(r).archivedAt),members:X(`organizations.members`,{count:t(r).memberCount})}),()=>X(`organizations.restore`)]),d(`click`,g,()=>E(t(r))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(m).archived.length&&e(h)}),e(n,i)};r(w,e=>{t(h)&&!t(m)?e(D):t(m)&&e(A,1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var ns=f(`<span class="tally-figure"> </span> <span class="tally-label"> </span>`,1),rs=f(`<div class="tally-cell"><span class="tally-figure"> </span> <span class="tally-label"> </span></div>`),is=f(`<div class="tally"></div>`);function as(n,i){var a=is();Y(a,21,()=>i.counts,e=>e.label,(n,i)=>{var a=R(),c=u(a),d=n=>{Z(n,{get to(){return t(i).to},class:`tally-cell`,children:(n,r)=>{var a=ns(),o=u(a),c=W(o,!0),d=l(o,2),f=W(d,!0);s(()=>{z(c,t(i).value),z(f,t(i).label)}),e(n,a)},$$slots:{default:!0}})},f=n=>{var r=rs(),a=o(r),c=W(a,!0),u=l(a,2),d=W(u,!0);J(r),s(()=>{z(c,t(i).value),z(d,t(i).label)}),e(n,r)};r(c,e=>{t(i).to?e(d):e(f,-1)}),e(n,a)}),J(a),e(n,a)}var os=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),ss=f(`<!> <button type="button" class="btn btn-ghost btn-sm btn-error"> </button>`,1),cs=f(`<p class="hint"> <!></p>`),ls=f(`<div class="alert alert-warning alert-soft flex flex-wrap items-center justify-between gap-3" role="status"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`),us=f(`<div class="alert alert-warning alert-soft" role="status"> </div>`),ds=f(`<div class="alert alert-info alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),fs=f(`<div class="flex flex-wrap items-center justify-between gap-2 sheet p-3"><div class="flex min-w-0 flex-col"><span class="font-medium"> </span> <span class="hint"> </span></div> <div class="flex gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),ps=f(`<p class="hint"> </p>`),ms=f(`<div class="flex flex-col gap-3 sheet p-3"><span class="font-medium"> </span> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="3" placeholder="Acme Admins = owner"></textarea> <p class="hint"> </p></label> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),hs=f(`<div class="flex flex-col gap-2"><!> <!></div> <!>`,1),gs=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="font-mono text-sm break-all"> </span> <span class="hint"> </span></div>`),_s=f(`<div class="flex flex-col gap-2"></div>`),vs=f(`<div class="flex flex-col gap-2"><p class="hint"> <!></p></div>`),ys=f(`<!> <!> <!> <!>`,1),bs=f(`<button type="button" class="-mr-1 cursor-pointer px-1 opacity-70 hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-30">×</button>`),xs=f(`<span><span class="font-medium"> </span> <span class="opacity-70"> </span> <!></span>`),Ss=f(`<div class="flex flex-wrap gap-2"></div> <!> <p class="hint"> </p>`,1),Cs=f(`<!> <!>`,1),ws=f(`<button type="button" class="btn btn-sm btn-error btn-outline self-start"> </button>`),Ts=f(`<button type="button"> </button>`),Es=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Ds=f(`<div class="range" role="group"></div> <!>`,1),Os=f(`<div class="grid gap-3 sm:grid-cols-[minmax(0,1fr)_10rem_auto] sm:items-end"><!> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div> <p class="hint"> </p>`,1),ks=f(`<span class="badge badge-sm badge-error badge-soft"> </span>`),As=f(`<span class="badge badge-sm badge-warning badge-soft"> </span>`),js=f(`<span class="badge badge-sm badge-ghost"> </span>`),Ms=f(`<tr><td class="w-full min-w-0"><div class="flex min-w-0 flex-col gap-0.5"><span class="flex flex-wrap items-center gap-2"><!> <!> <!></span> <span class="hint"> </span> <div class="mt-2 flex flex-wrap items-center gap-2 md:hidden"><div class="min-w-28 flex-1 basis-28"><!></div> <div class="-me-3 flex shrink-0"><!></div></div></div></td><td class="hidden w-44 min-w-44 md:table-cell"><!></td><td class="hidden text-right whitespace-nowrap md:table-cell"><!></td></tr>`),Ns=f(`<!> <!> <!> <!> <!> <div class="grid gap-4"><!></div>`,1);function Ps(n,i){H(i,!0);let c=(e,n=F)=>{{let r=q(()=>X(`organization.members.role_of`,{name:G(n())})),i=q(()=>t(E)||oe(n())||!!t(_).archivedAt);ra(e,{get value(){return n().role},get options(){return t(I)},get name(){return t(r)},get disabled(){return t(i)},onchange:e=>de(n(),e)})}},f=(n,i=F)=>{var a=ss(),o=u(a),c=n=>{var r=os(),a=W(r,!0);s((e,t)=>{r.disabled=e,z(a,t)},[()=>t(E)||!!t(_).archivedAt,()=>X(`organization.members.send_again`)]),d(`click`,r,()=>pe(i())),e(n,r)};r(o,e=>{i().pending&&e(c)});var f=l(o,2),p=W(f,!0);s((e,t,n)=>{f.disabled=e,P(f,`title`,t),z(p,n)},[()=>t(E)||oe(i()),()=>oe(i())?X(`organization.members.owner_first`):null,()=>i().pending?X(`organization.members.withdraw`):X(`organization.members.remove`)]),d(`click`,f,()=>fe(i())),e(n,a)},p=L(i,`part`,3,null);ct();let m=Ct(),h=[`owner`,`member`],g=[[`all`,X(`organization.lenses.all`)],[`owners`,X(`organization.lenses.owners`)],[`invited`,X(`organization.lenses.invited`)]],_=w(null),v=w(C([])),y=w(C([])),b=()=>({provider:``,roleClaim:``,roleMap:``,unmappedRole:``}),x=w(C(b())),T=w(!0),E=w(!1),O=w(null),k=w(`all`),A=w(``),j=w(``),M=w(null);async function N(){S(T,!0);let e=await m.attempt(()=>i.api.query(`
298
310
  query Organization($key: ID!) {
299
311
  organization(key: $key) {
300
312
  uuid key name roles archivedAt createdAt
@@ -336,7 +348,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
336
348
  }
337
349
  }`,{key:t(x).provider,organization:t(_).key,roleClaim:t(x).roleClaim.trim()||null,roleMap:be(t(x).roleMap),unmappedRole:t(x).unmappedRole||null},X(`organization.notices.provider_saved`)).then(e=>{e&&S(x,b(),!0)})}function we(e){confirm(X(`organization.questions.hand_back`,{provider:e.name,organization:t(_).name}))&&se(`mutation Back($key: ID!) { setProviderOrganization(key: $key, organization: null) { provider { key } } }`,{key:e.key},X(`organization.notices.provider_back`,{provider:e.name}))}function Te(e){se(`mutation Policy($key: ID!, $policy: ID!) {
338
350
  updateOrganization(key: $key, signInPolicy: $policy) { organization { key } }
339
- }`,{key:t(_).key,policy:e},X(`organization.notices.saved`))}async function Ee(){confirm(ne(`organization.questions.archive`,`organization.questions.archive_tokens`))&&await se(`mutation Archive($key: ID!) { archiveOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.archived`,{organization:t(_).name}))}function De(){se(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.restored`,{organization:t(_).name}))}{let C=q(()=>t(_)?.name??X(`organization.title`)),w=q(()=>t(_)?.key),D=q(()=>({to:`/organizations`,label:X(`organization.back`)})),N=q(()=>t(_)?t(_).archivedAt?X(`organization.archived_lede`,{when:Pt(t(_).archivedAt)}):X(`organization.lede`,{key:t(_).key}):null);zn(n,{get title(){return t(C)},get id(){return t(w)},get back(){return t(D)},get lede(){return t(N)},children:(n,C)=>{var w=us(),D=u(w);Nn(D,{get feedback(){return m.state}});var N=l(D,2),F=e=>{mt(e,{})},L=t=>{var n=Yo(),r=o(n);Z(l(r),{to:`/organizations`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.all`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.missing`,{key:i.organizationKey})]),e(t,n)},H=n=>{var i=bs(),m=u(i),C=n=>{var r=Xo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,n)=>{z(a,e),c.disabled=t(E),z(u,n)},[()=>X(`organization.archived_alert`,{day:Mt(t(_).archivedAt)}),()=>X(`organization.restore`)]),d(`click`,c,De),e(n,r)};r(m,e=>{t(_).archivedAt&&e(C)});var w=l(m,2),T=n=>{var r=Zo(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization.ownerless`,{organization:t(_).name})]),e(n,r)};r(w,e=>{!t(_).archivedAt&&t(_).ownerCount===0&&e(T)});var D=l(w,2);Ko(D,{get counts(){return t(re)}});var N=l(D,2),F=n=>{var r=Qo(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(M))},[()=>X(`organization.invitation_link`)]),e(n,r)};r(N,e=>{t(M)&&e(F)});var L=l(N,2);{let e=q(()=>`/organizations/${t(_).key}`),n=q(()=>X(`organization.parts.label`)),r=q(()=>[[null,``,X(`organization.parts.members`)],[`sign-in`,`/sign-in`,X(`organization.parts.sign_in`)],[`roles`,`/roles`,X(`organization.parts.roles`)],[`activity`,`/activity`,X(`organization.parts.activity`)],[`general`,`/general`,X(`organization.parts.general`)]]);ti(L,{get base(){return t(e)},get part(){return p()},get label(){return t(n)},get parts(){return t(r)}})}var H=l(L,2),se=o(H),de=n=>{var i=os(),c=u(i);{let e=q(()=>X(`organization.signing_in.policy`)),n=q(()=>X(`organization.signing_in.lede`));Q(c,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.signing_in.policy`)),r=q(()=>t(_).signInPolicy?.key??``),i=q(()=>[[``,X(`organization.signing_in.inherited`)],...t(v).map(e=>[e.key,e.name])]);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(i)},get disabled(){return t(E)},onchange:Te})}},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`organization.signing_in.providers`));Q(f,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=ns(),c=u(a),f=o(c);Y(f,17,()=>t(_).providers,e=>e.key,(n,r)=>{var i=$o(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0);J(a);var m=l(a,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(i),s((e,n,i)=>{z(u,t(r).name),z(p,e),h.disabled=t(E),z(g,n),_.disabled=t(E),z(v,i)},[()=>X(`organization.signing_in.joins_as`,{mapping:Object.keys(t(r).roleMap).length?Object.entries(t(r).roleMap).map(([e,t])=>`${e} → ${t}`).join(`, `):X(`organization.signing_in.no_groups_mapped`),role:t(r).unmappedRole??`member`}),()=>X(`organization.signing_in.edit`),()=>X(`organization.signing_in.hand_back`)]),d(`click`,h,()=>Se(t(r).key)),d(`click`,_,()=>we(t(r))),e(n,i)},t=>{var n=es(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.signing_in.no_providers`)]),e(t,n)});var p=l(f,2),m=e=>{{let n=q(()=>X(`organization.signing_in.give_provider`)),r=q(()=>[[``,X(`organization.signing_in.give_provider`)],...t(xe).map(e=>[e.key,e.name])]);ra(e,{value:``,get name(){return t(n)},get options(){return t(r)},onchange:Se})}};r(p,e=>{t(xe).length&&!t(x).provider&&e(m)}),J(c);var h=l(c,2),g=n=>{var r=ts(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c);{let e=q(()=>X(`organization.signing_in.groups_claim`));$(u,{get label(){return t(e)},placeholder:`groups`,get value(){return t(x).roleClaim},set value(e){t(x).roleClaim=e}})}var f=l(u,2);{let e=q(()=>X(`organization.signing_in.unmapped_role`)),n=q(()=>[[``,`member`],...t(I).filter(([e])=>e!==`member`)]);ra(f,{get label(){return t(e)},get value(){return t(x).unmappedRole},get options(){return t(n)},onchange:e=>t(x).unmappedRole=e})}J(c);var p=l(c,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g);var _=l(g,2),v=W(_,!0);J(p);var C=l(p,2),w=o(C),T=W(w,!0),D=l(w,2),O=W(D,!0);J(C),J(r),s((e,n,r,i,o)=>{z(a,e),z(h,n),z(v,r),w.disabled=t(E),z(T,i),z(O,o)},[()=>t(y).find(e=>e.key===t(x).provider)?.name??t(x).provider,()=>X(`organization.signing_in.role_map`),()=>X(`organization.signing_in.role_map_hint`),()=>X(`organization.signing_in.save`),()=>X(`organization.signing_in.cancel`)]),B(g,()=>t(x).roleMap,e=>t(x).roleMap=e),d(`click`,w,Ce),d(`click`,D,()=>S(x,b(),!0)),e(n,r)};r(h,e=>{t(x).provider&&e(g)}),e(n,a)},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`organization.signing_in.domains`));Q(p,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=is();Y(i,21,()=>t(_).domains,e=>e.domain,(n,r)=>{var i=rs(),a=o(i),c=W(a,!0),u=l(a,2),d=W(u);J(i),s(e=>{z(c,t(r).domain),z(d,`${e??``} · ${t(r).provider?.name??``}`)},[()=>t(r).verifiedAt?X(`organization.signing_in.proven`,{day:Mt(t(r).verifiedAt)}):X(`organization.signing_in.waiting`)]),e(n,i)},t=>{var n=Yo(),r=o(n);Z(l(r),{to:`/settings`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.domains_link`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.signing_in.no_domains`)]),e(t,n)}),J(i),e(n,i)},$$slots:{default:!0}})}var m=l(p,2);{let n=q(()=>X(`organization.signing_in.provisioning`));Q(m,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=as(),c=o(i),u=o(c);Z(l(u),{to:`/directory`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.provisioning_link`)]),e(t,r)},$$slots:{default:!0}}),J(c),J(i),s(e=>z(u,`${e??``} `),[()=>t(_).provisioningTokens.length?X(`organization.signing_in.tokens_reach`,{count:t(_).provisioningTokens.length}):X(`organization.signing_in.no_tokens`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},fe=n=>{{let i=q(()=>X(`organization.roles.title`)),a=q(()=>X(`organization.roles.lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=ls(),c=u(a);Y(c,20,()=>t(_).roles,e=>e,(n,i)=>{var a=cs(),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0),m=l(f,2),g=n=>{var r=ss();s((e,n)=>{P(r,`aria-label`,e),P(r,`title`,n),r.disabled=t(E)||t(ee)[i]>0},[()=>X(`organization.roles.stop_offering`,{role:i}),()=>t(ee)[i]?X(`organization.roles.held`,{count:t(ee)[i]}):X(`organization.roles.stop_offering`,{role:i})]),d(`click`,r,()=>_e(i)),e(n,r)},_=q(()=>!h.includes(i));r(m,e=>{t(_)&&e(g)}),J(a),s(e=>{le(a,1,`badge badge-lg gap-1.5 ${e??``}`),z(u,i),z(p,t(ee)[i]??0)},[()=>h.includes(i)?`badge-ghost`:`badge-outline`]),e(n,a)}),J(c);var f=l(c,2);{let e=q(()=>X(`organization.roles.offer`)),n=q(()=>X(`organization.roles.add`));$(f,{get label(){return t(e)},placeholder:`support`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:ge,get save(){return t(n)},get value(){return t(j)},set value(e){S(j,e,!0)}})}var p=l(f,2),m=W(p,!0);s(e=>z(m,e),[()=>X(`organization.roles.hint`)]),e(n,a)},$$slots:{default:!0}})}},pe=e=>{{let n=q(()=>X(`organization.activity.lede`));Q(e,{get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.activity.empty`));Mr(e,{get events(){return t(_).events},get empty(){return t(n)},limit:25,collapse:!0})}},$$slots:{default:!0}})}},me=n=>{var i=us(),a=u(i);{let n=q(()=>X(`organization.details.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=us(),a=u(i);{let e=q(()=>X(`organization.details.name`));$(a,{get label(){return t(e)},onsave:ve,get value(){return t(A)},set value(e){S(A,e,!0)}})}Bi(l(a,2),{get rows(){return t(U)}}),e(n,i)},$$slots:{default:!0}})}var o=l(a,2),c=n=>{{let r=q(()=>X(`organization.archive.title`)),i=q(()=>ne(`organization.archive.lede`,`organization.archive.lede_tokens`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=ds(),a=W(i,!0);s(e=>{i.disabled=t(E),z(a,e)},[()=>X(`organization.archive.button`,{organization:t(_).name})]),d(`click`,i,Ee),e(n,i)},$$slots:{default:!0}})}};r(o,e=>{t(_).archivedAt||e(c)}),e(n,i)},he=n=>{{let i=n=>{var i=ms(),a=u(i);Y(a,21,()=>g,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=fs(),l=W(c,!0);s(()=>{P(c,`aria-pressed`,t(k)===a()),z(l,o())}),d(`click`,c,()=>S(k,a(),!0)),e(n,c)}),J(a);var o=l(a,2),c=t=>{var n=ps(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.add`)]),d(`click`,n,ce),e(t,n)};r(o,e=>{t(_).archivedAt||e(c)}),s(e=>P(a,`aria-label`,e),[()=>X(`organization.members.who`)]),e(n,i)},p=q(()=>X(`organization.members.title`)),m=q(()=>X(`organization.members.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},actions:i,children:(n,i)=>{var p=us(),m=u(p),h=n=>{var r=hs(),i=u(r),a=o(i);{let e=q(()=>X(`organization.members.email`));$(a,{get label(){return t(e)},type:`email`,placeholder:`person@example.com`,get value(){return t(O).email},set value(e){t(O).email=e}})}var c=l(a,2);{let e=q(()=>X(`organization.members.role`));ra(c,{get label(){return t(e)},get value(){return t(O).role},get options(){return t(I)},onchange:e=>t(O).role=e})}var f=l(c,2),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),J(i);var _=l(i,2),v=W(_,!0);s((e,t,n,r)=>{p.disabled=e,z(m,t),z(g,n),z(v,r)},[()=>t(E)||!t(O).email.trim(),()=>X(`organization.members.invite`),()=>X(`organization.members.cancel`),()=>X(`organization.members.hint`)]),d(`click`,p,ue),d(`click`,h,()=>S(O,null)),e(n,r)};r(m,e=>{t(O)&&e(h)});var g=l(m,2);{let n=n=>{var i=R(),d=u(i);Y(d,17,()=>t(te),e=>e.actor.uuid,(n,i)=>{var u=ys(),d=o(u),p=o(d),m=o(p),h=o(m);{let n=q(()=>`/actors/${t(i).actor.uuid}`);Z(h,{get to(){return t(n)},class:`link link-hover font-medium break-all`,children:(n,r)=>{V();var o=a();s(e=>z(o,e),[()=>G(t(i))]),e(n,o)},$$slots:{default:!0}})}var g=l(h,2),_=t=>{var n=gs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.expired`)]),e(t,n)},v=t=>{var n=_s(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.invited`)]),e(t,n)};r(g,e=>{t(i).expired?e(_):t(i).pending&&e(v,1)});var y=l(g,2),b=t=>{var n=vs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.last_owner`)]),e(t,n)},x=q(()=>oe(t(i)));r(y,e=>{t(x)&&e(b)}),J(m);var S=l(m,2),C=W(S,!0),w=l(S,2),T=o(w),E=o(T);c(E,()=>t(i)),J(T);var D=l(T,2),O=o(D);f(O,()=>t(i)),J(D),J(w),J(p),J(d);var k=l(d),A=o(k);c(A,()=>t(i)),J(k);var j=l(k),M=o(j);f(M,()=>t(i)),J(j),J(u),s(e=>z(C,e),[()=>K(t(i))]),e(n,u)}),e(n,i)},i=q(()=>[X(`organization.members.actor`),{label:X(`organization.members.role`),hide:!0},{label:``,right:!0,hide:!0}]),d=q(()=>X(`organization.members.empty.${t(k)}`));Yt(g,{get columns(){return t(i)},get count(){return t(te).length},get empty(){return t(d)},rows:n,$$slots:{rows:!0}})}e(n,p)},$$slots:{actions:!0,default:!0}})}};r(se,e=>{p()===`sign-in`?e(de):p()===`roles`?e(fe,1):p()===`activity`?e(pe,2):p()===`general`?e(me,3):e(he,-1)}),J(H),e(n,i)};r(N,e=>{t(T)&&!t(_)?e(F):t(_)?e(H,-1):e(L,1)}),e(n,w)},$$slots:{default:!0}})}D()}c([`click`]);var Ss=f(`<span class="badge badge-warning badge-soft badge-sm"> </span>`),Cs=f(`<span class="badge badge-ghost badge-sm"> </span>`),ws=f(`<button type="button" class="btn btn-sm"> </button>`),Ts=f(`<p class="hint w-full"> <code class="font-mono text-xs break-all"> </code> <code class="font-mono text-xs break-all"> </code></p>`),Es=f(`<li class="flex-wrap"><code class="min-w-0 truncate font-mono text-sm"> </code> <!> <div class="ml-auto flex items-center gap-1"><!> <button type="button" class="btn btn-ghost btn-xs">×</button></div> <!></li>`),Ds=f(`<ul class="compact-list"></ul>`),Os=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),ks=f(`<form class="flex flex-wrap items-center gap-2"><span class="text-sm"> </span> <input class="input input-sm w-full max-w-60 font-mono" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm"> </button> <!></form>`),As=f(`<!> <form class="join"><input class="input input-sm join-item w-full max-w-60 font-mono" placeholder="acme.example" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1),js=f(`<!> <!>`,1);function Ms(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(!1),p=w(``),m=w(``);async function h(){let e=await a.attempt(()=>i.api.query(`
351
+ }`,{key:t(_).key,policy:e},X(`organization.notices.saved`))}async function Ee(){confirm(ne(`organization.questions.archive`,`organization.questions.archive_tokens`))&&await se(`mutation Archive($key: ID!) { archiveOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.archived`,{organization:t(_).name}))}function De(){se(`mutation Restore($key: ID!) { restoreOrganization(key: $key) { organization { key } } }`,{key:t(_).key},X(`organization.notices.restored`,{organization:t(_).name}))}{let C=q(()=>t(_)?.name??X(`organization.title`)),w=q(()=>t(_)?.key),D=q(()=>({to:`/organizations`,label:X(`organization.back`)})),N=q(()=>t(_)?t(_).archivedAt?X(`organization.archived_lede`,{when:Pt(t(_).archivedAt)}):X(`organization.lede`,{key:t(_).key}):null);zn(n,{get title(){return t(C)},get id(){return t(w)},get back(){return t(D)},get lede(){return t(N)},children:(n,C)=>{var w=Cs(),D=u(w);Nn(D,{get feedback(){return m.state}});var N=l(D,2),F=e=>{mt(e,{})},L=t=>{var n=cs(),r=o(n);Z(l(r),{to:`/organizations`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.all`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.missing`,{key:i.organizationKey})]),e(t,n)},H=n=>{var i=Ns(),m=u(i),C=n=>{var r=ls(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s((e,n)=>{z(a,e),c.disabled=t(E),z(u,n)},[()=>X(`organization.archived_alert`,{day:Mt(t(_).archivedAt)}),()=>X(`organization.restore`)]),d(`click`,c,De),e(n,r)};r(m,e=>{t(_).archivedAt&&e(C)});var w=l(m,2),T=n=>{var r=us(),i=W(r,!0);s(e=>z(i,e),[()=>X(`organization.ownerless`,{organization:t(_).name})]),e(n,r)};r(w,e=>{!t(_).archivedAt&&t(_).ownerCount===0&&e(T)});var D=l(w,2);as(D,{get counts(){return t(re)}});var N=l(D,2),F=n=>{var r=ds(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(M))},[()=>X(`organization.invitation_link`)]),e(n,r)};r(N,e=>{t(M)&&e(F)});var L=l(N,2);{let e=q(()=>`/organizations/${t(_).key}`),n=q(()=>X(`organization.parts.label`)),r=q(()=>[[null,``,X(`organization.parts.members`)],[`sign-in`,`/sign-in`,X(`organization.parts.sign_in`)],[`roles`,`/roles`,X(`organization.parts.roles`)],[`activity`,`/activity`,X(`organization.parts.activity`)],[`general`,`/general`,X(`organization.parts.general`)]]);ti(L,{get base(){return t(e)},get part(){return p()},get label(){return t(n)},get parts(){return t(r)}})}var H=l(L,2),se=o(H),de=n=>{var i=ys(),c=u(i);{let e=q(()=>X(`organization.signing_in.policy`)),n=q(()=>X(`organization.signing_in.lede`));Q(c,{row:!0,get title(){return t(e)},get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.signing_in.policy`)),r=q(()=>t(_).signInPolicy?.key??``),i=q(()=>[[``,X(`organization.signing_in.inherited`)],...t(v).map(e=>[e.key,e.name])]);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(i)},get disabled(){return t(E)},onchange:Te})}},$$slots:{default:!0}})}var f=l(c,2);{let n=q(()=>X(`organization.signing_in.providers`));Q(f,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=hs(),c=u(a),f=o(c);Y(f,17,()=>t(_).providers,e=>e.key,(n,r)=>{var i=fs(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0);J(a);var m=l(a,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(i),s((e,n,i)=>{z(u,t(r).name),z(p,e),h.disabled=t(E),z(g,n),_.disabled=t(E),z(v,i)},[()=>X(`organization.signing_in.joins_as`,{mapping:Object.keys(t(r).roleMap).length?Object.entries(t(r).roleMap).map(([e,t])=>`${e} → ${t}`).join(`, `):X(`organization.signing_in.no_groups_mapped`),role:t(r).unmappedRole??`member`}),()=>X(`organization.signing_in.edit`),()=>X(`organization.signing_in.hand_back`)]),d(`click`,h,()=>Se(t(r).key)),d(`click`,_,()=>we(t(r))),e(n,i)},t=>{var n=ps(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.signing_in.no_providers`)]),e(t,n)});var p=l(f,2),m=e=>{{let n=q(()=>X(`organization.signing_in.give_provider`)),r=q(()=>[[``,X(`organization.signing_in.give_provider`)],...t(xe).map(e=>[e.key,e.name])]);ra(e,{value:``,get name(){return t(n)},get options(){return t(r)},onchange:Se})}};r(p,e=>{t(xe).length&&!t(x).provider&&e(m)}),J(c);var h=l(c,2),g=n=>{var r=ms(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c);{let e=q(()=>X(`organization.signing_in.groups_claim`));$(u,{get label(){return t(e)},placeholder:`groups`,get value(){return t(x).roleClaim},set value(e){t(x).roleClaim=e}})}var f=l(u,2);{let e=q(()=>X(`organization.signing_in.unmapped_role`)),n=q(()=>[[``,`member`],...t(I).filter(([e])=>e!==`member`)]);ra(f,{get label(){return t(e)},get value(){return t(x).unmappedRole},get options(){return t(n)},onchange:e=>t(x).unmappedRole=e})}J(c);var p=l(c,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g);var _=l(g,2),v=W(_,!0);J(p);var C=l(p,2),w=o(C),T=W(w,!0),D=l(w,2),O=W(D,!0);J(C),J(r),s((e,n,r,i,o)=>{z(a,e),z(h,n),z(v,r),w.disabled=t(E),z(T,i),z(O,o)},[()=>t(y).find(e=>e.key===t(x).provider)?.name??t(x).provider,()=>X(`organization.signing_in.role_map`),()=>X(`organization.signing_in.role_map_hint`),()=>X(`organization.signing_in.save`),()=>X(`organization.signing_in.cancel`)]),B(g,()=>t(x).roleMap,e=>t(x).roleMap=e),d(`click`,w,Ce),d(`click`,D,()=>S(x,b(),!0)),e(n,r)};r(h,e=>{t(x).provider&&e(g)}),e(n,a)},$$slots:{default:!0}})}var p=l(f,2);{let n=q(()=>X(`organization.signing_in.domains`));Q(p,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=_s();Y(i,21,()=>t(_).domains,e=>e.domain,(n,r)=>{var i=gs(),a=o(i),c=W(a,!0),u=l(a,2),d=W(u);J(i),s(e=>{z(c,t(r).domain),z(d,`${e??``} · ${t(r).provider?.name??``}`)},[()=>t(r).verifiedAt?X(`organization.signing_in.proven`,{day:Mt(t(r).verifiedAt)}):X(`organization.signing_in.waiting`)]),e(n,i)},t=>{var n=cs(),r=o(n);Z(l(r),{to:`/settings`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.domains_link`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`organization.signing_in.no_domains`)]),e(t,n)}),J(i),e(n,i)},$$slots:{default:!0}})}var m=l(p,2);{let n=q(()=>X(`organization.signing_in.provisioning`));Q(m,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=vs(),c=o(i),u=o(c);Z(l(u),{to:`/directory`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`organization.signing_in.provisioning_link`)]),e(t,r)},$$slots:{default:!0}}),J(c),J(i),s(e=>z(u,`${e??``} `),[()=>t(_).provisioningTokens.length?X(`organization.signing_in.tokens_reach`,{count:t(_).provisioningTokens.length}):X(`organization.signing_in.no_tokens`)]),e(n,i)},$$slots:{default:!0}})}e(n,i)},fe=n=>{{let i=q(()=>X(`organization.roles.title`)),a=q(()=>X(`organization.roles.lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Ss(),c=u(a);Y(c,20,()=>t(_).roles,e=>e,(n,i)=>{var a=xs(),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0),m=l(f,2),g=n=>{var r=bs();s((e,n)=>{P(r,`aria-label`,e),P(r,`title`,n),r.disabled=t(E)||t(ee)[i]>0},[()=>X(`organization.roles.stop_offering`,{role:i}),()=>t(ee)[i]?X(`organization.roles.held`,{count:t(ee)[i]}):X(`organization.roles.stop_offering`,{role:i})]),d(`click`,r,()=>_e(i)),e(n,r)},_=q(()=>!h.includes(i));r(m,e=>{t(_)&&e(g)}),J(a),s(e=>{le(a,1,`badge badge-lg gap-1.5 ${e??``}`),z(u,i),z(p,t(ee)[i]??0)},[()=>h.includes(i)?`badge-ghost`:`badge-outline`]),e(n,a)}),J(c);var f=l(c,2);{let e=q(()=>X(`organization.roles.offer`)),n=q(()=>X(`organization.roles.add`));$(f,{get label(){return t(e)},placeholder:`support`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,onsave:ge,get save(){return t(n)},get value(){return t(j)},set value(e){S(j,e,!0)}})}var p=l(f,2),m=W(p,!0);s(e=>z(m,e),[()=>X(`organization.roles.hint`)]),e(n,a)},$$slots:{default:!0}})}},pe=e=>{{let n=q(()=>X(`organization.activity.lede`));Q(e,{get lede(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`organization.activity.empty`));Mr(e,{get events(){return t(_).events},get empty(){return t(n)},limit:25,collapse:!0})}},$$slots:{default:!0}})}},me=n=>{var i=Cs(),a=u(i);{let n=q(()=>X(`organization.details.title`));Q(a,{row:!0,get title(){return t(n)},children:(n,r)=>{var i=Cs(),a=u(i);{let e=q(()=>X(`organization.details.name`));$(a,{get label(){return t(e)},onsave:ve,get value(){return t(A)},set value(e){S(A,e,!0)}})}Bi(l(a,2),{get rows(){return t(U)}}),e(n,i)},$$slots:{default:!0}})}var o=l(a,2),c=n=>{{let r=q(()=>X(`organization.archive.title`)),i=q(()=>ne(`organization.archive.lede`,`organization.archive.lede_tokens`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=ws(),a=W(i,!0);s(e=>{i.disabled=t(E),z(a,e)},[()=>X(`organization.archive.button`,{organization:t(_).name})]),d(`click`,i,Ee),e(n,i)},$$slots:{default:!0}})}};r(o,e=>{t(_).archivedAt||e(c)}),e(n,i)},he=n=>{{let i=n=>{var i=Ds(),a=u(i);Y(a,21,()=>g,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Ts(),l=W(c,!0);s(()=>{P(c,`aria-pressed`,t(k)===a()),z(l,o())}),d(`click`,c,()=>S(k,a(),!0)),e(n,c)}),J(a);var o=l(a,2),c=t=>{var n=Es(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.add`)]),d(`click`,n,ce),e(t,n)};r(o,e=>{t(_).archivedAt||e(c)}),s(e=>P(a,`aria-label`,e),[()=>X(`organization.members.who`)]),e(n,i)},p=q(()=>X(`organization.members.title`)),m=q(()=>X(`organization.members.lede`));Q(n,{get title(){return t(p)},get lede(){return t(m)},actions:i,children:(n,i)=>{var p=Cs(),m=u(p),h=n=>{var r=Os(),i=u(r),a=o(i);{let e=q(()=>X(`organization.members.email`));$(a,{get label(){return t(e)},type:`email`,placeholder:`person@example.com`,get value(){return t(O).email},set value(e){t(O).email=e}})}var c=l(a,2);{let e=q(()=>X(`organization.members.role`));ra(c,{get label(){return t(e)},get value(){return t(O).role},get options(){return t(I)},onchange:e=>t(O).role=e})}var f=l(c,2),p=o(f),m=W(p,!0),h=l(p,2),g=W(h,!0);J(f),J(i);var _=l(i,2),v=W(_,!0);s((e,t,n,r)=>{p.disabled=e,z(m,t),z(g,n),z(v,r)},[()=>t(E)||!t(O).email.trim(),()=>X(`organization.members.invite`),()=>X(`organization.members.cancel`),()=>X(`organization.members.hint`)]),d(`click`,p,ue),d(`click`,h,()=>S(O,null)),e(n,r)};r(m,e=>{t(O)&&e(h)});var g=l(m,2);{let n=n=>{var i=R(),d=u(i);Y(d,17,()=>t(te),e=>e.actor.uuid,(n,i)=>{var u=Ms(),d=o(u),p=o(d),m=o(p),h=o(m);{let n=q(()=>`/actors/${t(i).actor.uuid}`);Z(h,{get to(){return t(n)},class:`link link-hover font-medium break-all`,children:(n,r)=>{V();var o=a();s(e=>z(o,e),[()=>G(t(i))]),e(n,o)},$$slots:{default:!0}})}var g=l(h,2),_=t=>{var n=ks(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.expired`)]),e(t,n)},v=t=>{var n=As(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.invited`)]),e(t,n)};r(g,e=>{t(i).expired?e(_):t(i).pending&&e(v,1)});var y=l(g,2),b=t=>{var n=js(),r=W(n,!0);s(e=>z(r,e),[()=>X(`organization.members.last_owner`)]),e(t,n)},x=q(()=>oe(t(i)));r(y,e=>{t(x)&&e(b)}),J(m);var S=l(m,2),C=W(S,!0),w=l(S,2),T=o(w),E=o(T);c(E,()=>t(i)),J(T);var D=l(T,2),O=o(D);f(O,()=>t(i)),J(D),J(w),J(p),J(d);var k=l(d),A=o(k);c(A,()=>t(i)),J(k);var j=l(k),M=o(j);f(M,()=>t(i)),J(j),J(u),s(e=>z(C,e),[()=>K(t(i))]),e(n,u)}),e(n,i)},i=q(()=>[X(`organization.members.actor`),{label:X(`organization.members.role`),hide:!0},{label:``,right:!0,hide:!0}]),d=q(()=>X(`organization.members.empty.${t(k)}`));Yt(g,{get columns(){return t(i)},get count(){return t(te).length},get empty(){return t(d)},rows:n,$$slots:{rows:!0}})}e(n,p)},$$slots:{actions:!0,default:!0}})}};r(se,e=>{p()===`sign-in`?e(de):p()===`roles`?e(fe,1):p()===`activity`?e(pe,2):p()===`general`?e(me,3):e(he,-1)}),J(H),e(n,i)};r(N,e=>{t(T)&&!t(_)?e(F):t(_)?e(H,-1):e(L,1)}),e(n,w)},$$slots:{default:!0}})}D()}c([`click`]);var Fs=f(`<span class="badge badge-warning badge-soft badge-sm"> </span>`),Is=f(`<span class="badge badge-ghost badge-sm"> </span>`),Ls=f(`<button type="button" class="btn btn-sm"> </button>`),Rs=f(`<p class="hint w-full"> <code class="font-mono text-xs break-all"> </code> <code class="font-mono text-xs break-all"> </code></p>`),zs=f(`<li class="flex-wrap"><code class="min-w-0 truncate font-mono text-sm"> </code> <!> <div class="ml-auto flex items-center gap-1"><!> <button type="button" class="btn btn-ghost btn-xs">×</button></div> <!></li>`),Bs=f(`<ul class="compact-list"></ul>`),Vs=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Hs=f(`<form class="flex flex-wrap items-center gap-2"><span class="text-sm"> </span> <input class="input input-sm w-full max-w-60 font-mono" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm"> </button> <!></form>`),Us=f(`<!> <form class="join"><input class="input input-sm join-item w-full max-w-60 font-mono" placeholder="acme.example" autocapitalize="none" spellcheck="false"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1),Ws=f(`<!> <!>`,1);function Gs(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(!1),p=w(``),m=w(``);async function h(){let e=await a.attempt(()=>i.api.query(`
340
352
  query Domains {
341
353
  domainClaims { domain recordName recordValue verifiedAt missingSince provider { key name } }
342
354
  providers { key name }
@@ -344,11 +356,16 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
344
356
  }
345
357
  `));e&&(S(c,e,!0),S(m,e.tenant.customHost??``,!0))}h();let g=q(()=>[[``,X(`domains.here`)],...(t(c)?.providers??[]).map(e=>[e.key,X(`domains.to`,{name:e.name})])]),v=q(()=>(t(c)?.domainClaims??[]).filter(e=>e.verifiedAt));async function y(e,t,n){S(f,!0);let r=await a.attempt(()=>i.api.query(e,t),n);return S(f,!1),r&&await h(),r}async function b(){let e=t(p).trim();e&&await y(`mutation Claim($domain: String!) { claimDomain(domain: $domain) { domainClaim { domain } } }`,{domain:e},X(`domains.claimed`,{domain:e}))&&S(p,``)}async function x(e){S(f,!0);let t=await a.attempt(()=>i.api.query(`mutation Check($domain: String!) { checkDomain(domain: $domain) { found } }`,{domain:e.domain}));S(f,!1),t&&(t.checkDomain.found?a.say(X(`domains.proven`,{domain:e.domain})):a.blame(X(`domains.unanswered`,{name:e.recordName})),await h())}function C(e,t){y(`mutation Route($domain: String!, $provider: ID) {
346
358
  updateDomainClaim(domain: $domain, provider: $provider) { domainClaim { domain } }
347
- }`,{domain:e.domain,provider:t||null},X(t?`domains.routed_away`:`domains.routed_here`,{domain:e.domain}))}function T(e){confirm(X(`domains.release_confirm`,{domain:e.domain}))&&y(`mutation Release($domain: String!) { releaseDomain(domain: $domain) { domain } }`,{domain:e.domain},X(`domains.released`,{domain:e.domain}))}function E(e){(e||confirm(X(`domains.stop_confirm`,{host:t(c).tenant.customHost})))&&y(`mutation Serve($host: String) { serveDomain(host: $host) { tenant { customHost } } }`,{host:e},e?X(`domains.served`,{host:e}):X(`domains.unserved`))}{let i=q(()=>X(`domains.title`)),h=q(()=>X(`domains.help`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(h)},children:(n,i)=>{var h=js(),y=u(h);Nn(y,{get feedback(){return a.state}});var w=l(y,2),D=n=>{var i=As(),a=u(i),h=n=>{var i=Ds();Y(i,21,()=>t(c).domainClaims,e=>e.domain,(n,i)=>{var a=Es(),c=o(a),u=W(c,!0),p=l(c,2),m=n=>{var r=Ss(),a=W(r,!0);s(e=>z(a,e),[()=>X(`domains.missing`,{since:Pt(t(i).missingSince)})]),e(n,r)},h=t=>{var n=Cs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`domains.unproven`)]),e(t,n)};r(p,e=>{t(i).missingSince?e(m):t(i).verifiedAt||e(h,1)});var _=l(p,2),v=o(_),y=e=>{{let n=q(()=>X(`domains.send`,{domain:t(i).domain})),r=q(()=>t(i).provider?.key??``);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(g)},get disabled(){return t(f)},onchange:e=>C(t(i),e)})}},b=n=>{var r=ws(),a=W(r,!0);s(e=>{r.disabled=t(f),z(a,e)},[()=>X(`domains.check`)]),d(`click`,r,()=>x(t(i))),e(n,r)};r(v,e=>{t(i).verifiedAt&&!t(i).missingSince?e(y):e(b,-1)});var S=l(v,2);J(_);var w=l(_,2),E=n=>{var r=Ts(),a=o(r),c=l(a),u=W(c,!0),d=l(c,2),f=W(d,!0);J(r),s(e=>{z(a,`${e??``} `),z(u,t(i).recordName),z(f,t(i).recordValue)},[()=>X(`domains.record`)]),e(n,r)};r(w,e=>{(!t(i).verifiedAt||t(i).missingSince)&&e(E)}),J(a),s(e=>{z(u,t(i).domain),P(S,`aria-label`,e),S.disabled=t(f)},[()=>X(`domains.release`,{domain:t(i).domain})]),d(`click`,S,()=>T(t(i))),e(n,a)}),J(i),e(n,i)};r(a,e=>{t(c).domainClaims.length&&e(h)});var y=l(a,2),w=o(y);j(w);var D=l(w,2),O=W(D,!0);J(y);var k=l(y,2),A=n=>{var i=ks(),a=o(i),u=W(a,!0),p=l(a,2);j(p);var h=l(p,2),g=W(h,!0),y=l(h,2),b=n=>{var r=Os(),i=W(r,!0);s(e=>{r.disabled=t(f),z(i,e)},[()=>X(`domains.stop`)]),d(`click`,r,()=>E(null)),e(n,r)};r(y,e=>{t(c).tenant.customHost&&e(b)}),J(i),s((e,n,r,i)=>{z(u,e),P(p,`aria-label`,n),P(p,`placeholder`,`login.${t(v)[0]?.domain??`acme.example`??``}`),h.disabled=r,z(g,i)},[()=>X(`domains.serve`),()=>X(`domains.serve`),()=>t(f)||!t(m).trim()||t(m).trim()===t(c).tenant.customHost,()=>X(`domains.save`)]),_(`submit`,i,e=>{e.preventDefault(),E(t(m).trim())}),B(p,()=>t(m),e=>S(m,e)),e(n,i)};r(k,e=>{(t(v).length||t(c).tenant.customHost)&&e(A)}),s((e,t,n)=>{P(w,`aria-label`,e),D.disabled=t,z(O,n)},[()=>X(`domains.new`),()=>t(f)||!t(p).trim(),()=>X(`domains.add`)]),_(`submit`,y,e=>{e.preventDefault(),b()}),B(w,()=>t(p),e=>S(p,e)),e(n,i)};r(w,e=>{t(c)&&e(D)}),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var Ns=f(`<li><span class="min-w-0 truncate text-sm font-medium"> </span> <code class="hint font-mono"> </code> <span class="hint"> </span> <button type="button" class="btn btn-ghost btn-xs ml-auto">×</button></li>`),Ps=f(`<ul class="compact-list"></ul>`),Fs=f(`<p class="hint"> </p>`),Is=f(`<!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-60"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1);function Ls(n,i){H(i,!0);let a=Ct(),c=w(C([])),f=w(``),p=q(()=>t(f).trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``));async function m(){let e=await a.attempt(()=>i.api.query(`query Groups { groups { key name memberCount } }`));e&&S(c,e.groups,!0)}m();async function h(){if(!t(p))return;let e=t(f).trim();await a.attempt(()=>i.api.query(`mutation Create($key: String!, $name: String!) { createGroup(key: $key, name: $name) { group { key } } }`,{key:t(p),name:e}),X(`groups.added`,{name:e}))&&(S(f,``),await m())}async function g(e){confirm(X(`groups.delete_confirm`,{name:e.name}))&&await a.attempt(()=>i.api.query(`mutation Delete($key: String!) { deleteGroup(key: $key) { key } }`,{key:e.key}),X(`groups.deleted`,{name:e.name}))&&await m()}{let i=q(()=>X(`groups.title`)),m=q(()=>X(`groups.lede`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(m)},children:(n,i)=>{var m=Is(),v=u(m);Nn(v,{get feedback(){return a.state}});var y=l(v,2),b=n=>{var r=Ps();Y(r,21,()=>t(c),e=>e.key,(n,r)=>{var i=Ns(),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0),p=l(u,2),m=W(p,!0),h=l(p,2);J(i),s((e,n)=>{z(c,t(r).name),z(f,t(r).key),z(m,e),P(h,`aria-label`,n)},[()=>X(`groups.actors`,{count:t(r).memberCount}),()=>X(`groups.delete`,{name:t(r).name})]),d(`click`,h,()=>g(t(r))),e(n,i)}),J(r),e(n,r)};r(y,e=>{t(c).length&&e(b)});var x=l(y,2),C=o(x);j(C);var w=l(C,2),T=W(w,!0);J(x);var E=l(x,2),D=n=>{var r=Fs(),i=W(r,!0);s(e=>z(i,e),[()=>X(`groups.key`,{key:t(p)})]),e(n,r)};r(E,e=>{t(p)&&e(D)}),s((e,n,r)=>{P(C,`aria-label`,e),P(C,`placeholder`,n),w.disabled=!t(p),z(T,r)},[()=>X(`groups.new`),()=>X(`groups.new`),()=>X(`groups.add`)]),_(`submit`,x,e=>{e.preventDefault(),h()}),B(C,()=>t(f),e=>S(f,e)),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Rs=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),zs=f(`<!> <!>`,1),Bs=f(`<img alt="" width="48" height="48" class="rounded-lg"/>`),Vs=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Hs=f(`<div class="flex flex-wrap items-center gap-3"><!> <label class="btn btn-sm"> <input type="file" class="hidden" accept="image/png,image/jpeg,image/webp,image/gif"/></label> <!></div> <div class="flex flex-wrap items-center gap-3"><label class="flex items-center gap-2 text-sm"><input type="color"/> </label> <!></div>`,1),Us=f(`<div class="ml-auto flex gap-1"><button type="button" class="btn btn-xs"> </button> <button type="button" class="btn btn-xs btn-ghost"> </button></div>`),Ws=f(`<li class="flex-wrap"><code class="font-mono text-sm"> </code> <span> </span> <span class="hint text-xs"> <!></span> <!></li>`),Gs=f(`<ul class="compact-list"></ul> <div class="flex flex-wrap items-center gap-2"><!> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm btn-ghost"> </button></div>`,1),Ks=f(`<!> <div class="grid gap-4"><!> <!> <!> <!> <!> <!> <!> <!></div>`,1);function qs(n,i){H(i,!0);let c=[[30,X(`settings.retention.days_30`)],[90,X(`settings.retention.days_90`)],[180,X(`settings.retention.days_180`)],[365,X(`settings.retention.a_year`)],[1095,X(`settings.retention.three_years`)],[2555,X(`settings.retention.seven_years`)]],f=(e,t)=>!t||e.some(([e])=>e===t)?e:[...e,[t,X(`settings.after_days`,{days:t})]],p={staged:`badge-warning`,active:`badge-success`,retiring:`badge-info`,retired:`badge-ghost`},m=Ct(),h=w(null),g=w(``),_=w(!0);async function v(){S(_,!0);try{S(h,await i.api.query(`
359
+ }`,{domain:e.domain,provider:t||null},X(t?`domains.routed_away`:`domains.routed_here`,{domain:e.domain}))}function T(e){confirm(X(`domains.release_confirm`,{domain:e.domain}))&&y(`mutation Release($domain: String!) { releaseDomain(domain: $domain) { domain } }`,{domain:e.domain},X(`domains.released`,{domain:e.domain}))}function E(e){(e||confirm(X(`domains.stop_confirm`,{host:t(c).tenant.customHost})))&&y(`mutation Serve($host: String) { serveDomain(host: $host) { tenant { customHost } } }`,{host:e},e?X(`domains.served`,{host:e}):X(`domains.unserved`))}{let i=q(()=>X(`domains.title`)),h=q(()=>X(`domains.help`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(h)},children:(n,i)=>{var h=Ws(),y=u(h);Nn(y,{get feedback(){return a.state}});var w=l(y,2),D=n=>{var i=Us(),a=u(i),h=n=>{var i=Bs();Y(i,21,()=>t(c).domainClaims,e=>e.domain,(n,i)=>{var a=zs(),c=o(a),u=W(c,!0),p=l(c,2),m=n=>{var r=Fs(),a=W(r,!0);s(e=>z(a,e),[()=>X(`domains.missing`,{since:Pt(t(i).missingSince)})]),e(n,r)},h=t=>{var n=Is(),r=W(n,!0);s(e=>z(r,e),[()=>X(`domains.unproven`)]),e(t,n)};r(p,e=>{t(i).missingSince?e(m):t(i).verifiedAt||e(h,1)});var _=l(p,2),v=o(_),y=e=>{{let n=q(()=>X(`domains.send`,{domain:t(i).domain})),r=q(()=>t(i).provider?.key??``);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return t(g)},get disabled(){return t(f)},onchange:e=>C(t(i),e)})}},b=n=>{var r=Ls(),a=W(r,!0);s(e=>{r.disabled=t(f),z(a,e)},[()=>X(`domains.check`)]),d(`click`,r,()=>x(t(i))),e(n,r)};r(v,e=>{t(i).verifiedAt&&!t(i).missingSince?e(y):e(b,-1)});var S=l(v,2);J(_);var w=l(_,2),E=n=>{var r=Rs(),a=o(r),c=l(a),u=W(c,!0),d=l(c,2),f=W(d,!0);J(r),s(e=>{z(a,`${e??``} `),z(u,t(i).recordName),z(f,t(i).recordValue)},[()=>X(`domains.record`)]),e(n,r)};r(w,e=>{(!t(i).verifiedAt||t(i).missingSince)&&e(E)}),J(a),s(e=>{z(u,t(i).domain),P(S,`aria-label`,e),S.disabled=t(f)},[()=>X(`domains.release`,{domain:t(i).domain})]),d(`click`,S,()=>T(t(i))),e(n,a)}),J(i),e(n,i)};r(a,e=>{t(c).domainClaims.length&&e(h)});var y=l(a,2),w=o(y);j(w);var D=l(w,2),O=W(D,!0);J(y);var k=l(y,2),A=n=>{var i=Hs(),a=o(i),u=W(a,!0),p=l(a,2);j(p);var h=l(p,2),g=W(h,!0),y=l(h,2),b=n=>{var r=Vs(),i=W(r,!0);s(e=>{r.disabled=t(f),z(i,e)},[()=>X(`domains.stop`)]),d(`click`,r,()=>E(null)),e(n,r)};r(y,e=>{t(c).tenant.customHost&&e(b)}),J(i),s((e,n,r,i)=>{z(u,e),P(p,`aria-label`,n),P(p,`placeholder`,`login.${t(v)[0]?.domain??`acme.example`??``}`),h.disabled=r,z(g,i)},[()=>X(`domains.serve`),()=>X(`domains.serve`),()=>t(f)||!t(m).trim()||t(m).trim()===t(c).tenant.customHost,()=>X(`domains.save`)]),_(`submit`,i,e=>{e.preventDefault(),E(t(m).trim())}),B(p,()=>t(m),e=>S(m,e)),e(n,i)};r(k,e=>{(t(v).length||t(c).tenant.customHost)&&e(A)}),s((e,t,n)=>{P(w,`aria-label`,e),D.disabled=t,z(O,n)},[()=>X(`domains.new`),()=>t(f)||!t(p).trim(),()=>X(`domains.add`)]),_(`submit`,y,e=>{e.preventDefault(),b()}),B(w,()=>t(p),e=>S(p,e)),e(n,i)};r(w,e=>{t(c)&&e(D)}),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var Ks=f(`<span class="badge badge-ghost badge-sm"> </span>`),qs=f(`<button type="button" class="btn btn-ghost btn-xs"> </button>`),Js=f(`<button type="button" class="btn btn-ghost btn-xs">×</button>`),Ys=f(`<div class="flex flex-wrap items-end gap-2"><!> <!> <input class="input input-sm w-full max-w-60"/> <!></div>`),Xs=f(`<button type="button" class="btn btn-ghost btn-xs w-fit"> </button>`),Zs=f(`<!> <!>`,1),Qs=f(`<!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <input class="input input-sm w-full max-w-60"/></label>`,1),$s=f(`<p class="hint"> </p>`),ec=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <input class="input input-sm w-full max-w-100"/> <span class="hint"> </span></label>`),tc=f(`<span class="hint"> </span>`),nc=f(`<form class="flex w-full flex-col gap-3 py-2"><!> <p class="hint"> </p> <!> <div class="flex items-center gap-2"><button type="submit" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button> <!></div></form>`),rc=f(`<li class="flex-wrap"><span class="min-w-0 truncate text-sm font-medium"> </span> <code class="hint font-mono"> </code> <span class="hint"> </span> <!> <span class="ml-auto flex items-center gap-1"><!> <button type="button" class="btn btn-ghost btn-xs"> </button> <button type="button" class="btn btn-ghost btn-xs">×</button></span> <!></li>`),ic=f(`<ul class="compact-list"></ul>`),ac=f(`<!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-60"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <!>`,1);function oc(n,i){H(i,!0);let a=Ct(),c=[`manual`,`rule`,`provider`,`group`],f=[`email_domain`,`profile`],p=[`name`,`given_name`,`family_name`,`middle_name`,`nickname`,`gender`,`zoneinfo`,`locale`],m=w(C([])),h=w(C([])),g=w(``),v=w(null),b=w(null),x=w(!1),T=q(()=>t(g).trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)),E=c.map(e=>[e,X(`group_sources.sources.${e}`)]),O=f.map(e=>[e,X(`group_sources.kinds.${e}`)]),k=p.map(e=>[e,X(`actor.fields.${e}`)]),A=q(()=>[[``,X(`group_sources.choose_provider`)],...t(h).map(e=>[e.key,e.name])]);async function M(){let e=await a.attempt(()=>i.api.query(`query Groups {
360
+ groups { key name memberCount source rule { kind field value } providerKey upstreamGroup parentLabels refreshedAt }
361
+ providers { key name }
362
+ }`));e&&(S(m,e.groups,!0),S(h,e.providers,!0))}M();async function N(){if(!t(T))return;let e=t(g).trim();await a.attempt(()=>i.api.query(`mutation Create($key: String!, $name: String!) { createGroup(key: $key, name: $name) { group { key } } }`,{key:t(T),name:e}),X(`groups.added`,{name:e}))&&(S(g,``),await M())}async function F(e){confirm(X(`groups.delete_confirm`,{name:e.name}))&&await a.attempt(()=>i.api.query(`mutation Delete($key: String!) { deleteGroup(key: $key) { key } }`,{key:e.key}),X(`groups.deleted`,{name:e.name}))&&await M()}function I(e){S(v,e.key,!0),S(b,{source:e.source,rule:e.rule.length?e.rule.map(e=>({...e})):[ee()],providerKey:e.providerKey??``,upstreamGroup:e.upstreamGroup??``,parents:e.parentLabels.join(`, `)},!0)}function ee(){return{kind:`email_domain`,field:`name`,value:``}}function L(){S(v,null),S(b,null)}async function te(e){S(x,!0);let n={key:e.key,source:t(b).source,rule:t(b).source===`rule`?t(b).rule.map(({kind:e,field:t,value:n})=>({kind:e,field:e===`profile`?t:null,value:n})):[],providerKey:t(b).source===`provider`?t(b).providerKey:``,upstreamGroup:t(b).source===`provider`?t(b).upstreamGroup:``,parentLabels:t(b).source===`group`?t(b).parents.split(/[\s,]+/).filter(Boolean):[]},r=await a.attempt(()=>i.api.query(`mutation Fill($key: String!, $source: String!, $rule: [GroupConditionInput!]!, $providerKey: String!, $upstreamGroup: String!, $parentLabels: [String!]!) {
363
+ updateGroup(key: $key, source: $source, rule: $rule, providerKey: $providerKey, upstreamGroup: $upstreamGroup, parentLabels: $parentLabels) { group { key } }
364
+ }`,n),X(`group_sources.saved`,{name:e.name,source:X(`group_sources.sources.${t(b).source}`).toLowerCase()}));S(x,!1),r&&(L(),await M())}async function V(e){S(x,!0);let t=await a.attempt(()=>i.api.query(`mutation Refresh($key: String!) { refreshGroup(key: $key) { group { key } } }`,{key:e.key}),X(`group_sources.refreshed`,{name:e.name}));S(x,!1),t&&await M()}function ne(e){return e.source===`provider`?X(`group_sources.summary.provider`,{provider:t(h).find(t=>t.key===e.providerKey)?.name??e.providerKey??``}):e.source===`group`?X(`group_sources.summary.group`,{parents:e.parentLabels.join(`, `)}):X(`group_sources.summary.rule`)}{let i=q(()=>X(`groups.title`)),c=q(()=>X(`groups.lede`));Q(n,{row:!0,get title(){return t(i)},get help(){return t(c)},children:(n,i)=>{var c=ac(),f=u(c);Nn(f,{get feedback(){return a.state}});var p=l(f,2),C=n=>{var i=ic();Y(i,21,()=>t(m),e=>e.key,(n,i)=>{var a=rc(),c=o(a),f=W(c,!0),p=l(c,2),m=W(p,!0),g=l(p,2),S=W(g,!0),C=l(g,2),w=n=>{var r=Ks(),a=W(r,!0);s(e=>z(a,e),[()=>ne(t(i))]),e(n,r)};r(C,e=>{t(i).source!==`manual`&&e(w)});var T=l(C,2),D=o(T),M=n=>{var r=qs(),a=W(r,!0);s(e=>{r.disabled=t(x),z(a,e)},[()=>X(`group_sources.refresh`)]),d(`click`,r,()=>V(t(i))),e(n,r)};r(D,e=>{t(i).source!==`manual`&&e(M)});var N=l(D,2),re=W(N,!0),H=l(N,2);J(T);var U=l(T,2),ie=n=>{var a=nc(),c=o(a);{let e=q(()=>X(`group_sources.source`));ra(c,{get label(){return t(e)},get value(){return t(b).source},get options(){return E},get disabled(){return t(x)},onchange:e=>t(b).source=e})}var f=l(c,2),p=W(f,!0),m=l(f,2),g=n=>{var i=Zs(),a=u(i);Y(a,17,()=>t(b).rule,y,(n,i,a)=>{var c=Ys(),u=o(c);{let e=q(()=>X(`group_sources.kinds.email_domain`));ra(u,{get name(){return t(e)},get value(){return t(i).kind},get options(){return O},get disabled(){return t(x)},onchange:e=>t(i).kind=e})}var f=l(u,2),p=e=>{{let n=q(()=>X(`group_sources.field`)),r=q(()=>t(i).field??`name`);ra(e,{get name(){return t(n)},get value(){return t(r)},get options(){return k},get disabled(){return t(x)},onchange:e=>t(i).field=e})}};r(f,e=>{t(i).kind===`profile`&&e(p)});var m=l(f,2);j(m);var h=l(m,2),g=n=>{var r=Js();s(e=>{P(r,`aria-label`,e),r.disabled=t(x)},[()=>X(`group_sources.remove_condition`)]),d(`click`,r,()=>t(b).rule.splice(a,1)),e(n,r)};r(h,e=>{t(b).rule.length>1&&e(g)}),J(c),s((e,n)=>{P(m,`aria-label`,e),P(m,`placeholder`,n),m.disabled=t(x)},[()=>X(`group_sources.value`),()=>t(i).kind===`email_domain`?`example.com`:X(`group_sources.value`)]),B(m,()=>t(i).value,e=>t(i).value=e),e(n,c)});var c=l(a,2),f=n=>{var r=Xs(),i=W(r,!0);s(e=>{r.disabled=t(x),z(i,e)},[()=>X(`group_sources.add_condition`)]),d(`click`,r,()=>t(b).rule.push(ee())),e(n,r)};r(c,e=>{t(b).rule.length<5&&e(f)}),e(n,i)},v=n=>{var i=R(),a=u(i),c=n=>{var r=Qs(),i=u(r);{let e=q(()=>X(`group_sources.provider`));ra(i,{get label(){return t(e)},get value(){return t(b).providerKey},get options(){return t(A)},get disabled(){return t(x)},onchange:e=>t(b).providerKey=e})}var a=l(i,2),c=o(a),d=W(c,!0),f=l(c,2);j(f),J(a),s(e=>{z(d,e),f.disabled=t(x)},[()=>X(`group_sources.upstream_group`)]),B(f,()=>t(b).upstreamGroup,e=>t(b).upstreamGroup=e),e(n,r)},d=t=>{var n=$s(),r=W(n,!0);s(e=>z(r,e),[()=>X(`group_sources.no_providers`)]),e(t,n)};r(a,e=>{t(h).length?e(c):e(d,-1)}),e(n,i)},S=n=>{var r=ec(),i=o(r),a=W(i,!0),c=l(i,2);j(c);var u=l(c,2),d=W(u,!0);J(r),s((e,n)=>{z(a,e),c.disabled=t(x),z(d,n)},[()=>X(`group_sources.parent_labels`),()=>X(`group_sources.parent_labels_hint`)]),B(c,()=>t(b).parents,e=>t(b).parents=e),e(n,r)};r(m,e=>{t(b).source===`rule`?e(g):t(b).source===`provider`?e(v,1):t(b).source===`group`&&e(S,2)});var C=l(m,2),w=o(C),T=W(w,!0),D=l(w,2),M=W(D,!0),N=l(D,2),F=n=>{var r=tc(),a=W(r,!0);s(e=>z(a,e),[()=>t(i).refreshedAt?X(`group_sources.refreshed_at`,{when:Pt(t(i).refreshedAt)}):X(`group_sources.never_refreshed`)]),e(n,r)};r(N,e=>{t(i).source!==`manual`&&e(F)}),J(C),J(a),s((e,n,r)=>{z(p,e),w.disabled=t(x),z(T,n),D.disabled=t(x),z(M,r)},[()=>X(`group_sources.ledes.${t(b).source}`),()=>X(`group_sources.save`),()=>X(`group_sources.cancel`)]),_(`submit`,a,e=>{e.preventDefault(),te(t(i))}),d(`click`,D,L),e(n,a)};r(U,e=>{t(v)===t(i).key&&t(b)&&e(ie)}),J(a),s((e,n,r,a)=>{z(f,t(i).name),z(m,t(i).key),z(S,e),P(N,`aria-label`,n),z(re,r),P(H,`aria-label`,a)},[()=>X(`groups.actors`,{count:t(i).memberCount}),()=>X(`group_sources.change`,{name:t(i).name}),()=>X(`group_sources.source`),()=>X(`groups.delete`,{name:t(i).name})]),d(`click`,N,()=>t(v)===t(i).key?L():I(t(i))),d(`click`,H,()=>F(t(i))),e(n,a)}),J(i),e(n,i)};r(p,e=>{t(m).length&&e(C)});var w=l(p,2),D=o(w);j(D);var M=l(D,2),re=W(M,!0);J(w);var H=l(w,2),U=n=>{var r=$s(),i=W(r,!0);s(e=>z(i,e),[()=>X(`groups.key`,{key:t(T)})]),e(n,r)};r(H,e=>{t(T)&&e(U)}),s((e,n,r)=>{P(D,`aria-label`,e),P(D,`placeholder`,n),M.disabled=!t(T),z(re,r)},[()=>X(`groups.new`),()=>X(`groups.new`),()=>X(`groups.add`)]),_(`submit`,w,e=>{e.preventDefault(),N()}),B(D,()=>t(g),e=>S(g,e)),e(n,c)},$$slots:{default:!0}})}D()}c([`click`]);var sc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),cc=f(`<!> <!>`,1),lc=f(`<img alt="" width="48" height="48" class="rounded-lg"/>`),uc=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),dc=f(`<div class="flex flex-wrap items-center gap-3"><!> <label class="btn btn-sm"> <input type="file" class="hidden" accept="image/png,image/jpeg,image/webp,image/gif"/></label> <!></div> <div class="flex flex-wrap items-center gap-3"><label class="flex items-center gap-2 text-sm"><input type="color"/> </label> <!></div>`,1),fc=f(`<div class="grid gap-3 sm:grid-cols-2"></div>`),pc=f(`<div class="ml-auto flex gap-1"><button type="button" class="btn btn-xs"> </button> <button type="button" class="btn btn-xs btn-ghost"> </button></div>`),mc=f(`<li class="flex-wrap"><code class="font-mono text-sm"> </code> <span> </span> <span class="hint text-xs"> <!></span> <!></li>`),hc=f(`<ul class="compact-list"></ul> <div class="flex flex-wrap items-center gap-2"><!> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm btn-ghost"> </button></div>`,1),gc=f(`<!> <div class="grid gap-4"><!> <!> <!> <!> <!> <!> <!> <!> <!></div>`,1);function _c(n,i){H(i,!0);let c=[[30,X(`settings.retention.days_30`)],[90,X(`settings.retention.days_90`)],[180,X(`settings.retention.days_180`)],[365,X(`settings.retention.a_year`)],[1095,X(`settings.retention.three_years`)],[2555,X(`settings.retention.seven_years`)]],f=3600,p=24*f,m=[[`invitationLifetime`,`invitation`,7*p,[p,3*p,7*p,14*p,30*p]],[`organizationInvitationLifetime`,`organization_invitation`,14*p,[p,3*p,7*p,14*p,30*p]],[`passwordResetLifetime`,`password_reset`,1800,[900,1800,f,4*f,p]],[`emailVerificationLifetime`,`email_verification`,2*p,[f,p,2*p,7*p,14*p]]];function h(e){return e%p==0?X(`links.days`,{count:e/p}):e%f==0?X(`links.hours`,{count:e/f}):X(`links.minutes`,{count:Math.round(e/60)})}let g=(e,t,n)=>(e.includes(n)?e:[...e,n].sort((e,t)=>e-t)).map(e=>[String(e),e===t?X(`links.default`,{length:h(e)}):h(e)]),_=(e,t)=>!t||e.some(([e])=>e===t)?e:[...e,[t,X(`settings.after_days`,{days:t})]],v={staged:`badge-warning`,active:`badge-success`,retiring:`badge-info`,retired:`badge-ghost`},y=Ct(),b=w(null),x=w(``),C=w(!0);async function T(){S(C,!0);try{S(b,await i.api.query(`
348
365
  query Tenant {
349
366
  tenant {
350
367
  uuid subdomain name dynamicRegistration dynamicClientScopes createdAt mails accentColor logoUrl keyRotationDays
351
- eventRetentionDays
368
+ eventRetentionDays invitationLifetime organizationInvitationLifetime passwordResetLifetime emailVerificationLifetime
352
369
  signingKeys { kid algorithm activatedAt retiredAt state }
353
370
  }
354
371
  viewer { identifier scopes }
@@ -358,9 +375,10 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
358
375
  }
359
376
  scopesSupported
360
377
  }
361
- `),!0),S(g,t(h).tenant.name,!0)}catch(e){m.blame(e)}finally{S(_,!1)}}v();async function y(e,t){await m.attempt(()=>i.api.query(`mutation Update(
378
+ `),!0),S(x,t(b).tenant.name,!0)}catch(e){y.blame(e)}finally{S(C,!1)}}T();async function E(e,t){await y.attempt(()=>i.api.query(`mutation Update(
362
379
  $name: String, $dynamicClientScopes: [String!], $dynamicRegistration: String,
363
- $eventRetentionDays: Int, $accentColor: String, $keyRotationDays: Int
380
+ $eventRetentionDays: Int, $accentColor: String, $keyRotationDays: Int,
381
+ $invitationLifetime: Int, $organizationInvitationLifetime: Int, $passwordResetLifetime: Int, $emailVerificationLifetime: Int
364
382
  ) {
365
383
  updateTenant(
366
384
  name: $name
@@ -369,8 +387,16 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
369
387
  eventRetentionDays: $eventRetentionDays
370
388
  accentColor: $accentColor
371
389
  keyRotationDays: $keyRotationDays
390
+ invitationLifetime: $invitationLifetime
391
+ organizationInvitationLifetime: $organizationInvitationLifetime
392
+ passwordResetLifetime: $passwordResetLifetime
393
+ emailVerificationLifetime: $emailVerificationLifetime
372
394
  ) { tenant { name } }
373
- }`,e),t)&&await v()}async function b(e){let t=e.currentTarget,n=t.files?.[0];n&&(await x(`mutation Logo($logo: Upload!) { uploadTenantLogo(logo: $logo) { tenant { logoUrl } } }`,{logo:n},X(`settings.branding.logo_updated`)),t.value=``)}async function x(e,t,n){await m.attempt(()=>i.api.query(e,t),n)&&await v()}let C=()=>x(`mutation Stage { stageSigningKey { signingKey { kid } } }`,{},X(`settings.keys.staged_notice`));function T(e){if(confirm(X(`settings.keys.activate_confirm`)))return x(`mutation Activate($kid: ID!) { activateSigningKey(kid: $kid) { signingKey { kid } } }`,{kid:e},X(`settings.keys.activated_notice`))}function E(e){if(confirm(X(`settings.keys.discard_confirm`)))return x(`mutation Discard($kid: ID!) { discardSigningKey(kid: $kid) { kid } }`,{kid:e},X(`settings.keys.discarded`))}function O(){if(confirm(X(`settings.keys.rotate_confirm`)))return x(`mutation Rotate { rotateSigningKey { signingKey { kid } } }`,{},X(`settings.keys.rotated`))}var k=R(),A=u(k),M=e=>{mt(e,{})},N=t=>{var n=Rs(),r=W(n,!0);s(()=>z(r,m.state.failure)),e(t,n)},F=n=>{{let _=q(()=>X(`settings.title`));zn(n,{get title(){return t(_)},children:(n,_)=>{var w=Ks(),D=u(w);Nn(D,{get feedback(){return m.state}});var k=l(D,2),A=o(k);{let n=q(()=>X(`settings.tenant.title`)),r=q(()=>X(`settings.tenant.help`));Q(A,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var a=zs(),o=u(a);{let e=q(()=>X(`settings.tenant.name`));$(o,{get label(){return t(e)},onsave:()=>y({name:t(g)},X(`settings.tenant.renamed`)),get value(){return t(g)},set value(e){S(g,e,!0)}})}var s=l(o,2);{let e=q(()=>[{term:X(`settings.tenant.subdomain`),value:t(h).tenant.subdomain,mono:!0},{term:X(`settings.tenant.issuer`),value:i.boot.issuer,mono:!0},{term:X(`settings.tenant.resource`),value:i.boot.resource,mono:!0},{term:X(`settings.tenant.since`),value:Mt(t(h).tenant.createdAt)}]);Bi(s,{get rows(){return t(e)}})}e(n,a)},$$slots:{default:!0}})}var M=l(A,2);{let n=q(()=>X(`settings.branding.title`)),i=q(()=>X(`settings.branding.help`));Q(M,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=Hs(),c=u(a),f=o(c),p=n=>{var r=Bs();s(()=>P(r,`src`,t(h).tenant.logoUrl)),e(n,r)};r(f,e=>{t(h).tenant.logoUrl&&e(p)});var m=l(f,2),g=o(m),_=l(g);J(m);var v=l(m,2),S=t=>{var n=Vs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.remove`)]),d(`click`,n,()=>x(`mutation { removeTenantLogo { tenant { logoUrl } } }`,{},X(`settings.branding.logo_removed`))),e(t,n)};r(v,e=>{t(h).tenant.logoUrl&&e(S)}),J(c);var C=l(c,2),w=o(C),T=o(w);j(T);var E=l(T);J(w);var D=l(w,2),O=t=>{var n=Vs(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.own`)]),d(`click`,n,()=>y({accentColor:``},X(`settings.branding.color_reset`))),e(t,n)};r(D,e=>{t(h).tenant.accentColor&&e(O)}),J(C),s((e,n)=>{z(g,`${e??``} `),ne(T,t(h).tenant.accentColor??`#b3380f`),z(E,` ${n??``}`)},[()=>t(h).tenant.logoUrl?X(`settings.branding.change_logo`):X(`settings.branding.upload_logo`),()=>X(`settings.branding.accent`)]),d(`change`,_,b),d(`change`,T,e=>y({accentColor:e.currentTarget.value},X(`settings.branding.color_updated`))),e(n,a)},$$slots:{default:!0}})}var N=l(M,2);{let e=q(()=>X(`settings.retention.title`)),n=q(()=>X(`settings.retention.help`));Q(N,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>f(c,t(h).tenant.eventRetentionDays));ra(e,{get value(){return t(h).tenant.eventRetentionDays},get options(){return t(n)},onchange:e=>y({eventRetentionDays:Number(e)},X(`settings.retention.updated`))})}},$$slots:{default:!0}})}var F=l(N,2);{let n=q(()=>X(`settings.registration.title`)),i=q(()=>X(`settings.registration.help`));Q(F,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=zs(),o=u(a);{let e=q(()=>[[`off`,X(`settings.registration.off`)],[`anything`,X(`settings.registration.on`)],[`bounded`,X(`settings.registration.bounded`)]]);ra(o,{get value(){return t(h).tenant.dynamicRegistration},get options(){return t(e)},onchange:e=>y({dynamicRegistration:e},X(`settings.registration.updated`))})}var s=l(o,2),c=e=>{{let n=q(()=>t(h).tenant.dynamicClientScopes??[]);Tn(e,{get value(){return t(n)},get available(){return t(h).scopesSupported},onchange:e=>y({dynamicClientScopes:e},X(`settings.registration.ceiling_updated`))})}};r(s,e=>{t(h).tenant.dynamicRegistration===`bounded`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var I=l(F,2),ee=e=>{Ga(e,{get api(){return i.api},get rows(){return t(h).namespaces},onreleased:v,showClient:!0,row:!0})};r(I,e=>{t(h).namespaces.length&&e(ee)});var L=l(I,2);{let n=q(()=>X(`settings.keys.title`)),i=q(()=>X(`settings.keys.help`));Q(L,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var c=Gs(),f=u(c);Y(f,21,()=>t(h).tenant.signingKeys,e=>e.kid,(n,i)=>{var c=Ws(),u=o(c),f=W(u,!0),m=l(u,2),h=W(m,!0),g=l(m,2),_=o(g),v=l(_),y=n=>{var r=a();s(e=>z(r,e),[()=>X(`settings.keys.until`,{day:Mt(t(i).retiredAt)})]),e(n,r)},b=n=>{var r=a();s(e=>z(r,e),[()=>Mt(t(i).activatedAt,X(`settings.keys.not_yet`))]),e(n,r)};r(v,e=>{t(i).state===`retiring`?e(y):e(b,-1)}),J(g);var x=l(g,2),S=n=>{var r=Us(),a=o(r),c=W(a,!0),u=l(a,2),f=W(u,!0);J(r),s((e,t)=>{z(c,e),z(f,t)},[()=>X(`settings.keys.activate`),()=>X(`settings.keys.discard`)]),d(`click`,a,()=>T(t(i).kid)),d(`click`,u,()=>E(t(i).kid)),e(n,r)};r(x,e=>{t(i).state===`staged`&&e(S)}),J(c),s((e,n)=>{z(f,e),le(m,1,`badge badge-sm ${p[t(i).state]??``}`),z(h,n),z(_,`${t(i).algorithm??``} · `)},[()=>t(i).kid.slice(0,8),()=>p[t(i).state]?X(`settings.keys.states.${t(i).state}`):t(i).state]),e(n,c)}),J(f);var m=l(f,2),g=o(m);{let e=q(()=>X(`settings.keys.schedule`)),n=q(()=>String(t(h).tenant.keyRotationDays??0)),r=q(()=>[0,30,90,180,365].map(e=>[String(e),e?X(`settings.keys.every`,{count:e}):X(`settings.keys.by_hand`)]));ra(g,{get name(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>y({keyRotationDays:Number(e)},X(`settings.keys.scheduled`))})}var _=l(g,2),v=W(_,!0),b=l(_,2),x=W(b,!0);J(m),s((e,t)=>{z(v,e),z(x,t)},[()=>X(`settings.keys.stage`),()=>X(`settings.keys.rotate`)]),d(`click`,_,C),d(`click`,b,O),e(n,c)},$$slots:{default:!0}})}var te=l(L,2);Ls(te,{get api(){return i.api}}),Ms(l(te,2),{get api(){return i.api}}),J(k),e(n,w)},$$slots:{default:!0}})}};r(A,e=>{t(_)&&!t(h)?e(M):t(h)?e(F,-1):e(N,1)}),e(n,k),D()}c([`change`,`click`]);var Js=p(`<path></path>`),Ys=p(`<rect class="chart-hit" y="0" tabindex="-1" role="presentation"></rect>`),Xs=f(`<div class="chart-tip" aria-hidden="true"><strong> </strong> <span> </span></div>`),Zs=f(`<span> </span>`),Qs=f(`<tr><td> </td><td> </td></tr>`),$s=f(`<figure class="chart"><figcaption class="chart-head"><span class="sr-only"> </span> <span class="chart-peak"> </span></figcaption> <div class="chart-plot tray"><svg class="chart-svg" role="img"><line class="chart-base" x1="0"></line><!><!></svg> <!></div> <div class="chart-axis"></div> <table class="sr-only"><caption> </caption><thead><tr><th> </th><th> </th></tr></thead><tbody></tbody></table></figure>`);function ec(n,i){H(i,!0);let a=q(()=>Math.max(1,...i.points.map(e=>e.value))),c=q(()=>720/Math.max(i.points.length,1)),u=q(()=>Math.max(t(c)-2,1)),d=q(()=>i.points.reduce((e,t)=>e+t.value,0)),f=w(null);function p(e){return(e+.5)/Math.max(i.points.length,1)*100}function m(e,n){let r=e===0?2:Math.max(e/t(a)*138,3),i=146-r,o=Math.min(2,t(u)/2,r);return[`M ${n} 146`,`L ${n} ${i+o}`,`Q ${n} ${i} ${n+o} ${i}`,`L ${n+t(u)-o} ${i}`,`Q ${n+t(u)} ${i} ${n+t(u)} ${i+o}`,`L ${n+t(u)} 146`,`Z`].join(` `)}let h=q(()=>i.points.length?[0,Math.floor((i.points.length-1)/2),i.points.length-1].filter((e,t,n)=>n.indexOf(e)===t).map(e=>({at:e,point:i.points[e]})):[]);var g=$s(),v=o(g),y=o(v),b=W(y,!0),x=l(y,2),C=W(x,!0);J(v);var T=l(v,2),E=o(T);P(E,`viewBox`,`0 0 720 168`);var O=o(E);P(O,`y1`,146),P(O,`x2`,720),P(O,`y2`,146);var k=l(O);Y(k,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=Js();let o;s(e=>{o=le(a,0,`chart-bar`,null,o,{"chart-bar-idle":t(r).value===0,"chart-bar-on":t(f)?.index===t(i)}),P(a,`d`,e)},[()=>m(t(r).value,t(i)*t(c))]),e(n,a)});var A=l(k);Y(A,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=Ys();P(a,`height`,146),s(()=>{P(a,`x`,t(i)*t(c)),P(a,`width`,t(c))}),_(`mouseenter`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`mouseleave`,a,()=>S(f,null)),_(`focus`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`blur`,a,()=>S(f,null)),e(n,a)}),J(E);var j=l(E,2),M=n=>{var r=Xs(),i=o(r),a=W(i,!0),c=l(i),u=l(c),d=W(u,!0);J(r),s((e,n)=>{ce(r,`--at: ${e??``}%`),z(a,t(f).value),z(c,` ${n??``} `),z(d,t(f).label)},[()=>p(t(f).index),()=>X(`ui.bar_chart.unit`,{count:t(f).value})]),e(n,r)};r(j,e=>{t(f)&&e(M)}),J(T);var N=l(T,2);Y(N,21,()=>t(h),e=>e.at,(n,r)=>{var i=Zs(),a=W(i,!0);s(e=>{ce(i,`--at: ${e??``}%`),z(a,t(r).point.label)},[()=>p(t(r).at)]),e(n,i)}),J(N);var F=l(N,2),I=o(F),ee=W(I,!0),L=l(I),te=o(L),R=o(te),B=W(R,!0),V=l(R),ne=W(V,!0);J(te),J(L);var re=l(L);Y(re,21,()=>i.points,e=>e.key,(n,r)=>{var i=Qs(),a=o(i),c=W(a,!0),u=l(a),d=W(u,!0);J(i),s(()=>{z(c,t(r).label),z(d,t(r).value)}),e(n,i)}),J(re),J(F),J(g),s((e,t,n,r)=>{z(b,i.label),z(C,e),P(E,`aria-label`,t),z(ee,i.label),z(B,n),z(ne,r)},[()=>X(`ui.bar_chart.peak`,{peak:t(a)}),()=>X(`ui.bar_chart.summary`,{label:i.label,total:t(d),days:i.points.length,peak:t(a)}),()=>X(`ui.bar_chart.day`),()=>X(`ui.bar_chart.units`)]),e(n,g),D()}var tc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`);function nc(t,n){H(n,!0);let i=C({loading:!0,failure:null,data:null});async function a(){i.loading=!0,i.failure=null;try{i.data=await n.load()}catch(e){i.failure=e.message}finally{i.loading=!1}}a();var c=R(),f=u(c),p=e=>{mt(e,{})},m=t=>{var n=tc(),r=o(n),c=W(r,!0),u=l(r,2),f=W(u,!0);J(n),s(e=>{z(c,i.failure),z(f,e)},[()=>X(`ui.retry`)]),d(`click`,u,a),e(t,n)},h=t=>{var r=R(),o=u(r);v(o,()=>n.children,()=>i.data,()=>a),e(t,r)};r(f,e=>{i.loading?e(p):i.failure?e(m,1):e(h,-1)}),e(t,c),D()}c([`click`]);var rc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),ic=f(`<span class="hint"> </span>`),ac=f(`<div role="status"><div class="callout-words"><strong> </strong> <!></div> <div class="callout-actions"><!></div></div>`),oc=f(`<div class="callout callout-quiet"><div class="callout-words"><strong> </strong> <span class="hint"> </span></div> <div class="callout-actions"><!> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),sc=f(`<div class="flex flex-col gap-2"><!> <!></div>`),cc=f(`<button type="button"> </button>`),lc=f(`<div class="range" role="group"></div>`),uc=f(`<td><!></td> <td class="text-right text-sm whitespace-nowrap"><!></td>`,1),dc=f(`<p class="hint"> </p>`),fc=f(`<!> <!> <div class="dash"><div class="dash-main"><!></div> <div class="dash-side"><!></div></div> <!>`,1);function pc(n,c){H(c,!0);let f=[7,30,90],p=new Intl.DateTimeFormat(void 0,{day:`numeric`,month:`short`}),m=`masks:manage:skipped`,h=w(null),g=w(null),_=w(30),v=w(C([]));try{S(v,JSON.parse(localStorage.getItem(m)??`[]`),!0)}catch{}function y(e){S(v,[...t(v),e],!0);try{localStorage.setItem(m,JSON.stringify(t(v)))}catch{}}let b=q(()=>t(h)?[{to:`/actors`,label:X(`settings.counts.actors`),value:t(h).tally.actors},{to:`/clients`,label:X(`settings.counts.clients`),value:t(h).tally.clients},{to:`/organizations`,label:X(`settings.counts.organizations`),value:t(h).tally.organizations},{to:`/actors#devices`,label:X(`settings.counts.devices`),value:t(h).tally.devices}]:[]),x=q(()=>t(h)?[t(h).waiting&&{key:`waiting`,tone:`warn`,title:X(`settings.needs.waiting`,{count:t(h).waiting}),to:`/actors?lens=waiting`},t(h).help&&{key:`help`,tone:`warn`,title:X(`settings.needs.help`,{count:t(h).help}),to:`/actors?lens=help`},t(h).worrying&&{key:`worrying`,tone:`bad`,title:X(`settings.needs.worrying`,{count:t(h).worrying}),detail:X(`settings.needs.latest`,{label:t(h).gravest[0].label,when:Pt(t(h).gravest[0].createdAt)}),to:`/activity?grave=1`}].filter(Boolean):[]),T=q(()=>t(h)?[!t(h).tenant.mails&&{key:`mail`,title:X(`settings.starting.mail.title`),detail:X(`settings.starting.mail.detail`),to:`/messages`,action:X(`settings.starting.mail.action`)},t(h).tally.clients===0&&{key:`client`,title:X(`settings.starting.client.title`),detail:X(`settings.starting.client.detail`),to:`/clients`,action:X(`settings.starting.client.action`)},t(h).tally.actors<=1&&{key:`invite`,title:X(`settings.starting.invite.title`),detail:X(`settings.starting.invite.detail`),to:`/actors`,action:X(`settings.starting.invite.action`)}].filter(e=>e&&!t(v).includes(e.key)):[]),E=e=>e.map(e=>({key:e.date,value:e.signIns,label:p.format(new Date(`${e.date}T00:00:00`))}));async function O(){try{S(h,await c.api.query(`
395
+ }`,e),t)&&await T()}async function O(e){let t=e.currentTarget,n=t.files?.[0];n&&(await k(`mutation Logo($logo: Upload!) { uploadTenantLogo(logo: $logo) { tenant { logoUrl } } }`,{logo:n},X(`settings.branding.logo_updated`)),t.value=``)}async function k(e,t,n){await y.attempt(()=>i.api.query(e,t),n)&&await T()}let A=()=>k(`mutation Stage { stageSigningKey { signingKey { kid } } }`,{},X(`settings.keys.staged_notice`));function M(e){if(confirm(X(`settings.keys.activate_confirm`)))return k(`mutation Activate($kid: ID!) { activateSigningKey(kid: $kid) { signingKey { kid } } }`,{kid:e},X(`settings.keys.activated_notice`))}function N(e){if(confirm(X(`settings.keys.discard_confirm`)))return k(`mutation Discard($kid: ID!) { discardSigningKey(kid: $kid) { kid } }`,{kid:e},X(`settings.keys.discarded`))}function F(){if(confirm(X(`settings.keys.rotate_confirm`)))return k(`mutation Rotate { rotateSigningKey { signingKey { kid } } }`,{},X(`settings.keys.rotated`))}var I=R(),ee=u(I),L=e=>{mt(e,{})},te=t=>{var n=sc(),r=W(n,!0);s(()=>z(r,y.state.failure)),e(t,n)},B=n=>{{let f=q(()=>X(`settings.title`));zn(n,{get title(){return t(f)},children:(n,f)=>{var p=gc(),h=u(p);Nn(h,{get feedback(){return y.state}});var C=l(h,2),w=o(C);{let n=q(()=>X(`settings.tenant.title`)),r=q(()=>X(`settings.tenant.help`));Q(w,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var a=cc(),o=u(a);{let e=q(()=>X(`settings.tenant.name`));$(o,{get label(){return t(e)},onsave:()=>E({name:t(x)},X(`settings.tenant.renamed`)),get value(){return t(x)},set value(e){S(x,e,!0)}})}var s=l(o,2);{let e=q(()=>[{term:X(`settings.tenant.subdomain`),value:t(b).tenant.subdomain,mono:!0},{term:X(`settings.tenant.issuer`),value:i.boot.issuer,mono:!0},{term:X(`settings.tenant.resource`),value:i.boot.resource,mono:!0},{term:X(`settings.tenant.since`),value:Mt(t(b).tenant.createdAt)}]);Bi(s,{get rows(){return t(e)}})}e(n,a)},$$slots:{default:!0}})}var D=l(w,2);{let n=q(()=>X(`settings.branding.title`)),i=q(()=>X(`settings.branding.help`));Q(D,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=dc(),c=u(a),f=o(c),p=n=>{var r=lc();s(()=>P(r,`src`,t(b).tenant.logoUrl)),e(n,r)};r(f,e=>{t(b).tenant.logoUrl&&e(p)});var m=l(f,2),h=o(m),g=l(h);J(m);var _=l(m,2),v=t=>{var n=uc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.remove`)]),d(`click`,n,()=>k(`mutation { removeTenantLogo { tenant { logoUrl } } }`,{},X(`settings.branding.logo_removed`))),e(t,n)};r(_,e=>{t(b).tenant.logoUrl&&e(v)}),J(c);var y=l(c,2),x=o(y),S=o(x);j(S);var C=l(S);J(x);var w=l(x,2),T=t=>{var n=uc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.branding.own`)]),d(`click`,n,()=>E({accentColor:``},X(`settings.branding.color_reset`))),e(t,n)};r(w,e=>{t(b).tenant.accentColor&&e(T)}),J(y),s((e,n)=>{z(h,`${e??``} `),ne(S,t(b).tenant.accentColor??`#b3380f`),z(C,` ${n??``}`)},[()=>t(b).tenant.logoUrl?X(`settings.branding.change_logo`):X(`settings.branding.upload_logo`),()=>X(`settings.branding.accent`)]),d(`change`,g,O),d(`change`,S,e=>E({accentColor:e.currentTarget.value},X(`settings.branding.color_updated`))),e(n,a)},$$slots:{default:!0}})}var I=l(D,2);{let e=q(()=>X(`settings.retention.title`)),n=q(()=>X(`settings.retention.help`));Q(I,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>_(c,t(b).tenant.eventRetentionDays));ra(e,{get value(){return t(b).tenant.eventRetentionDays},get options(){return t(n)},onchange:e=>E({eventRetentionDays:Number(e)},X(`settings.retention.updated`))})}},$$slots:{default:!0}})}var ee=l(I,2);{let n=q(()=>X(`links.title`)),r=q(()=>X(`links.help`));Q(ee,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=fc();Y(i,21,()=>m,([e,t,n,r])=>e,(e,n)=>{var r=q(()=>ie(t(n),4));let i=()=>t(r)[0],a=()=>t(r)[1],o=()=>t(r)[2],s=()=>t(r)[3];{let n=q(()=>X(`links.${a()}`)),r=q(()=>String(t(b).tenant[i()])),c=q(()=>g(s(),o(),t(b).tenant[i()]));ra(e,{get label(){return t(n)},get value(){return t(r)},get options(){return t(c)},onchange:e=>E({[i()]:Number(e)},X(`links.updated`))})}}),J(i),e(n,i)},$$slots:{default:!0}})}var L=l(ee,2);{let n=q(()=>X(`settings.registration.title`)),i=q(()=>X(`settings.registration.help`));Q(L,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var a=cc(),o=u(a);{let e=q(()=>[[`off`,X(`settings.registration.off`)],[`anything`,X(`settings.registration.on`)],[`bounded`,X(`settings.registration.bounded`)]]);ra(o,{get value(){return t(b).tenant.dynamicRegistration},get options(){return t(e)},onchange:e=>E({dynamicRegistration:e},X(`settings.registration.updated`))})}var s=l(o,2),c=e=>{{let n=q(()=>t(b).tenant.dynamicClientScopes??[]);Tn(e,{get value(){return t(n)},get available(){return t(b).scopesSupported},onchange:e=>E({dynamicClientScopes:e},X(`settings.registration.ceiling_updated`))})}};r(s,e=>{t(b).tenant.dynamicRegistration===`bounded`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var te=l(L,2),R=e=>{io(e,{get api(){return i.api},get rows(){return t(b).namespaces},onreleased:T,showClient:!0,row:!0})};r(te,e=>{t(b).namespaces.length&&e(R)});var B=l(te,2);{let n=q(()=>X(`settings.keys.title`)),i=q(()=>X(`settings.keys.help`));Q(B,{row:!0,get title(){return t(n)},get help(){return t(i)},children:(n,i)=>{var c=hc(),f=u(c);Y(f,21,()=>t(b).tenant.signingKeys,e=>e.kid,(n,i)=>{var c=mc(),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0),h=l(p,2),g=o(h),_=l(g),y=n=>{var r=a();s(e=>z(r,e),[()=>X(`settings.keys.until`,{day:Mt(t(i).retiredAt)})]),e(n,r)},b=n=>{var r=a();s(e=>z(r,e),[()=>Mt(t(i).activatedAt,X(`settings.keys.not_yet`))]),e(n,r)};r(_,e=>{t(i).state===`retiring`?e(y):e(b,-1)}),J(h);var x=l(h,2),S=n=>{var r=pc(),a=o(r),c=W(a,!0),u=l(a,2),f=W(u,!0);J(r),s((e,t)=>{z(c,e),z(f,t)},[()=>X(`settings.keys.activate`),()=>X(`settings.keys.discard`)]),d(`click`,a,()=>M(t(i).kid)),d(`click`,u,()=>N(t(i).kid)),e(n,r)};r(x,e=>{t(i).state===`staged`&&e(S)}),J(c),s((e,n)=>{z(f,e),le(p,1,`badge badge-sm ${v[t(i).state]??``}`),z(m,n),z(g,`${t(i).algorithm??``} · `)},[()=>t(i).kid.slice(0,8),()=>v[t(i).state]?X(`settings.keys.states.${t(i).state}`):t(i).state]),e(n,c)}),J(f);var p=l(f,2),m=o(p);{let e=q(()=>X(`settings.keys.schedule`)),n=q(()=>String(t(b).tenant.keyRotationDays??0)),r=q(()=>[0,30,90,180,365].map(e=>[String(e),e?X(`settings.keys.every`,{count:e}):X(`settings.keys.by_hand`)]));ra(m,{get name(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>E({keyRotationDays:Number(e)},X(`settings.keys.scheduled`))})}var h=l(m,2),g=W(h,!0),_=l(h,2),y=W(_,!0);J(p),s((e,t)=>{z(g,e),z(y,t)},[()=>X(`settings.keys.stage`),()=>X(`settings.keys.rotate`)]),d(`click`,h,A),d(`click`,_,F),e(n,c)},$$slots:{default:!0}})}var V=l(B,2);oc(V,{get api(){return i.api}}),Gs(l(V,2),{get api(){return i.api}}),J(C),e(n,p)},$$slots:{default:!0}})}};r(ee,e=>{t(C)&&!t(b)?e(L):t(b)?e(B,-1):e(te,1)}),e(n,I),D()}c([`change`,`click`]);var vc=p(`<path></path>`),yc=p(`<rect class="chart-hit" y="0" tabindex="-1" role="presentation"></rect>`),bc=f(`<div class="chart-tip" aria-hidden="true"><strong> </strong> <span> </span></div>`),xc=f(`<span> </span>`),Sc=f(`<tr><td> </td><td> </td></tr>`),Cc=f(`<figure class="chart"><figcaption class="chart-head"><span class="sr-only"> </span> <span class="chart-peak"> </span></figcaption> <div class="chart-plot tray"><svg class="chart-svg" role="img"><line class="chart-base" x1="0"></line><!><!></svg> <!></div> <div class="chart-axis"></div> <table class="sr-only"><caption> </caption><thead><tr><th> </th><th> </th></tr></thead><tbody></tbody></table></figure>`);function wc(n,i){H(i,!0);let a=q(()=>Math.max(1,...i.points.map(e=>e.value))),c=q(()=>720/Math.max(i.points.length,1)),u=q(()=>Math.max(t(c)-2,1)),d=q(()=>i.points.reduce((e,t)=>e+t.value,0)),f=w(null);function p(e){return(e+.5)/Math.max(i.points.length,1)*100}function m(e,n){let r=e===0?2:Math.max(e/t(a)*138,3),i=146-r,o=Math.min(2,t(u)/2,r);return[`M ${n} 146`,`L ${n} ${i+o}`,`Q ${n} ${i} ${n+o} ${i}`,`L ${n+t(u)-o} ${i}`,`Q ${n+t(u)} ${i} ${n+t(u)} ${i+o}`,`L ${n+t(u)} 146`,`Z`].join(` `)}let h=q(()=>i.points.length?[0,Math.floor((i.points.length-1)/2),i.points.length-1].filter((e,t,n)=>n.indexOf(e)===t).map(e=>({at:e,point:i.points[e]})):[]);var g=Cc(),v=o(g),y=o(v),b=W(y,!0),x=l(y,2),C=W(x,!0);J(v);var T=l(v,2),E=o(T);P(E,`viewBox`,`0 0 720 168`);var O=o(E);P(O,`y1`,146),P(O,`x2`,720),P(O,`y2`,146);var k=l(O);Y(k,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=vc();let o;s(e=>{o=le(a,0,`chart-bar`,null,o,{"chart-bar-idle":t(r).value===0,"chart-bar-on":t(f)?.index===t(i)}),P(a,`d`,e)},[()=>m(t(r).value,t(i)*t(c))]),e(n,a)});var A=l(k);Y(A,19,()=>i.points,e=>e.key,(n,r,i)=>{var a=yc();P(a,`height`,146),s(()=>{P(a,`x`,t(i)*t(c)),P(a,`width`,t(c))}),_(`mouseenter`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`mouseleave`,a,()=>S(f,null)),_(`focus`,a,()=>S(f,{...t(r),index:t(i)},!0)),_(`blur`,a,()=>S(f,null)),e(n,a)}),J(E);var j=l(E,2),M=n=>{var r=bc(),i=o(r),a=W(i,!0),c=l(i),u=l(c),d=W(u,!0);J(r),s((e,n)=>{ce(r,`--at: ${e??``}%`),z(a,t(f).value),z(c,` ${n??``} `),z(d,t(f).label)},[()=>p(t(f).index),()=>X(`ui.bar_chart.unit`,{count:t(f).value})]),e(n,r)};r(j,e=>{t(f)&&e(M)}),J(T);var N=l(T,2);Y(N,21,()=>t(h),e=>e.at,(n,r)=>{var i=xc(),a=W(i,!0);s(e=>{ce(i,`--at: ${e??``}%`),z(a,t(r).point.label)},[()=>p(t(r).at)]),e(n,i)}),J(N);var F=l(N,2),I=o(F),ee=W(I,!0),L=l(I),te=o(L),R=o(te),B=W(R,!0),V=l(R),ne=W(V,!0);J(te),J(L);var re=l(L);Y(re,21,()=>i.points,e=>e.key,(n,r)=>{var i=Sc(),a=o(i),c=W(a,!0),u=l(a),d=W(u,!0);J(i),s(()=>{z(c,t(r).label),z(d,t(r).value)}),e(n,i)}),J(re),J(F),J(g),s((e,t,n,r)=>{z(b,i.label),z(C,e),P(E,`aria-label`,t),z(ee,i.label),z(B,n),z(ne,r)},[()=>X(`ui.bar_chart.peak`,{peak:t(a)}),()=>X(`ui.bar_chart.summary`,{label:i.label,total:t(d),days:i.points.length,peak:t(a)}),()=>X(`ui.bar_chart.day`),()=>X(`ui.bar_chart.units`)]),e(n,g),D()}var Tc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"><span> </span> <button type="button" class="btn btn-sm"> </button></div>`);function Ec(t,n){H(n,!0);let i=C({loading:!0,failure:null,data:null});async function a(){i.loading=!0,i.failure=null;try{i.data=await n.load()}catch(e){i.failure=e.message}finally{i.loading=!1}}a();var c=R(),f=u(c),p=e=>{mt(e,{})},m=t=>{var n=Tc(),r=o(n),c=W(r,!0),u=l(r,2),f=W(u,!0);J(n),s(e=>{z(c,i.failure),z(f,e)},[()=>X(`ui.retry`)]),d(`click`,u,a),e(t,n)},h=t=>{var r=R(),o=u(r);v(o,()=>n.children,()=>i.data,()=>a),e(t,r)};r(f,e=>{i.loading?e(p):i.failure?e(m,1):e(h,-1)}),e(t,c),D()}c([`click`]);var Dc=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Oc=f(`<span class="hint"> </span>`),kc=f(`<div class="callout callout-info" role="status"><div class="callout-words"><strong> </strong> <!></div> <div class="callout-actions"><a class="btn btn-sm" target="_blank" rel="noreferrer noopener"> </a></div></div>`),Ac=f(`<div role="status"><div class="callout-words"><strong> </strong> <!></div> <div class="callout-actions"><!></div></div>`),jc=f(`<div class="callout callout-quiet"><div class="callout-words"><strong> </strong> <span class="hint"> </span></div> <div class="callout-actions"><!> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div>`),Mc=f(`<div class="flex flex-col gap-2"><!> <!> <!></div>`),Nc=f(`<button type="button"> </button>`),Pc=f(`<div class="range" role="group"></div>`),Fc=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Ic=f(`<span class="hint text-xs"> </span>`),Lc=f(`<li class="items-start"><span role="img"><svg viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><circle cx="10" cy="10" r="5"></circle></svg></span> <div class="flex min-w-0 flex-col"><span class="text-sm font-medium"> </span> <span class="text-sm"> </span> <!></div></li>`),Rc=f(`<ul class="compact-list"></ul> <p class="hint text-xs"> </p>`,1),zc=f(`<p class="hint"> </p>`),Bc=f(`<!> <!>`,1),Vc=f(`<td><!></td> <td class="text-right text-sm whitespace-nowrap"><!></td>`,1),Hc=f(`<!> <!> <div class="dash"><div class="dash-main"><!></div> <div class="dash-side"><!> <!></div></div> <!>`,1);function Uc(n,c){H(c,!0);let f={ok:`good`,warning:`warn`,failing:`bad`},p=[7,30,90],m=new Intl.DateTimeFormat(void 0,{day:`numeric`,month:`short`}),h=`masks:manage:skipped`,g=w(null),_=w(null),v=w(30),y=w(C([])),b=w(!1),x=w(null);try{S(y,JSON.parse(localStorage.getItem(h)??`[]`),!0)}catch{}function T(e){S(y,[...t(y),e],!0);try{localStorage.setItem(h,JSON.stringify(t(y)))}catch{}}let E=q(()=>t(g)?[{to:`/actors`,label:X(`settings.counts.actors`),value:t(g).tally.actors},{to:`/clients`,label:X(`settings.counts.clients`),value:t(g).tally.clients},{to:`/organizations`,label:X(`settings.counts.organizations`),value:t(g).tally.organizations},{to:`/actors#devices`,label:X(`settings.counts.devices`),value:t(g).tally.devices}]:[]),O=q(()=>t(g)?[t(g).waiting&&{key:`waiting`,tone:`warn`,title:X(`settings.needs.waiting`,{count:t(g).waiting}),to:`/actors?lens=waiting`},t(g).help&&{key:`help`,tone:`warn`,title:X(`settings.needs.help`,{count:t(g).help}),to:`/actors?lens=help`},t(g).worrying&&{key:`worrying`,tone:`bad`,title:X(`settings.needs.worrying`,{count:t(g).worrying}),detail:X(`settings.needs.latest`,{label:t(g).gravest[0].label,when:Pt(t(g).gravest[0].createdAt)}),to:`/activity?grave=1`}].filter(Boolean):[]),k=q(()=>t(g)?[!t(g).tenant.mails&&{key:`mail`,title:X(`settings.starting.mail.title`),detail:X(`settings.starting.mail.detail`),to:`/messages`,action:X(`settings.starting.mail.action`)},t(g).tally.clients===0&&{key:`client`,title:X(`settings.starting.client.title`),detail:X(`settings.starting.client.detail`),to:`/clients`,action:X(`settings.starting.client.action`)},t(g).tally.actors<=1&&{key:`invite`,title:X(`settings.starting.invite.title`),detail:X(`settings.starting.invite.detail`),to:`/actors`,action:X(`settings.starting.invite.action`)}].filter(e=>e&&!t(y).includes(e.key)):[]),A=e=>e.map(e=>({key:e.date,value:e.signIns,label:m.format(new Date(`${e.date}T00:00:00`))})),j=q(()=>t(g)?.health.length?t(g).health.map(e=>e.checkedAt).sort().at(-1):null);function M(e){let t=e.details??{},n={...t,jobs:Array.isArray(t.jobs)?t.jobs.join(`, `):t.jobs,domains:Array.isArray(t.domains)?t.domains.join(`, `):t.domains,since:t.since?Nt(t.since):t.since};return X(`health.checks.${e.name}.${e.summary}`,n)}async function N(){S(b,!0),S(x,null);try{let e=await c.api.query(`
396
+ mutation RunHealthChecks {
397
+ runHealthChecks { health { name status summary details checkedAt changedAt } }
398
+ }
399
+ `);S(g,{...t(g),health:e.runHealthChecks.health},!0)}catch(e){S(x,e.message,!0)}finally{S(b,!1)}}async function I(){try{S(g,await c.api.query(`
374
400
  query Overview($since: ISO8601DateTime!) {
375
401
  tenant { name mails }
376
402
  tally { actors clients devices organizations }
@@ -386,12 +412,14 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
386
412
  device { id label }
387
413
  }
388
414
  organizations(limit: 5) { key name memberCount ownerCount pendingCount }
415
+ health { name status summary details checkedAt changedAt }
416
+ release { version url operatorStep }
389
417
  }
390
- `,{since:new Date(Date.now()-864e5).toISOString()}),!0)}catch(e){S(g,e.message,!0)}}O();var k=R(),A=u(k),j=e=>{mt(e,{})},M=n=>{var r=rc(),i=W(r,!0);s(()=>z(i,t(g))),e(n,r)},N=n=>{zn(n,{get title(){return t(h).tenant.name},get id(){return c.boot.issuer},hero:!0,children:(n,p)=>{var m=fc(),g=u(m),v=n=>{var i=sc(),c=o(i);Y(c,17,()=>t(x),e=>e.key,(n,i)=>{var c=ac(),u=o(c),d=o(u),f=W(d,!0),p=l(d,2),m=n=>{var r=ic(),a=W(r,!0);s(()=>z(a,t(i).detail)),e(n,r)};r(p,e=>{t(i).detail&&e(m)}),J(u);var h=l(u,2);Z(o(h),{get to(){return t(i).to},class:`btn btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`settings.needs.review`)]),e(t,r)},$$slots:{default:!0}}),J(h),J(c),s(()=>{le(c,1,`callout callout-${t(i).tone??``}`),z(f,t(i).title)}),e(n,c)});var u=l(c,2);Y(u,17,()=>t(T),e=>e.key,(n,r)=>{var i=oc(),c=o(i),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0);J(c);var h=l(c,2),g=o(h);Z(g,{get to(){return t(r).to},class:`btn btn-sm`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).action)),e(n,o)},$$slots:{default:!0}});var _=l(g,2),v=W(_,!0);J(h),J(i),s(e=>{z(f,t(r).title),z(m,t(r).detail),z(v,e)},[()=>X(`settings.starting.hide`)]),d(`click`,_,()=>y(t(r).key)),e(n,i)}),J(i),e(n,i)};r(g,e=>{(t(x).length||t(T).length)&&e(v)});var C=l(g,2);Ko(C,{get counts(){return t(b)}});var w=l(C,2),D=o(w),O=o(D);{let n=n=>{var r=lc();Y(r,20,()=>f,e=>e,(n,r)=>{var i=cc(),a=W(i,!0);s(e=>{P(i,`aria-pressed`,t(_)===r),z(a,e)},[()=>X(`settings.sign_ins.span`,{days:r})]),d(`click`,i,()=>S(_,r,!0)),e(n,i)}),J(r),s(e=>P(r,`aria-label`,e),[()=>X(`settings.sign_ins.range`)]),e(n,r)},r=q(()=>X(`settings.sign_ins.title`));Q(O,{get title(){return t(r)},actions:n,children:(n,r)=>{var a=R(),o=u(a);i(o,()=>t(_),e=>{nc(e,{load:()=>c.api.query(`
418
+ `,{since:new Date(Date.now()-864e5).toISOString()}),!0)}catch(e){S(_,e.message,!0)}}I();var ee=R(),L=u(ee),te=e=>{mt(e,{})},B=n=>{var r=Dc(),i=W(r,!0);s(()=>z(i,t(_))),e(n,r)},ne=n=>{zn(n,{get title(){return t(g).tenant.name},get id(){return c.boot.issuer},hero:!0,children:(n,m)=>{var h=Hc(),_=u(h),y=n=>{var i=Mc(),c=o(i),u=n=>{var i=kc(),a=o(i),c=o(a),u=W(c,!0),d=l(c,2),f=t=>{var n=Oc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`health.release.operator`)]),e(t,n)};r(d,e=>{t(g).release.operatorStep&&e(f)}),J(a);var p=l(a,2),m=o(p),h=W(m,!0);J(p),J(i),s((e,n)=>{z(u,e),P(m,`href`,t(g).release.url),z(h,n)},[()=>X(`health.release.available`,{version:t(g).release.version}),()=>X(`health.release.notes`)]),e(n,i)};r(c,e=>{t(g).release&&e(u)});var f=l(c,2);Y(f,17,()=>t(O),e=>e.key,(n,i)=>{var c=Ac(),u=o(c),d=o(u),f=W(d,!0),p=l(d,2),m=n=>{var r=Oc(),a=W(r,!0);s(()=>z(a,t(i).detail)),e(n,r)};r(p,e=>{t(i).detail&&e(m)}),J(u);var h=l(u,2);Z(o(h),{get to(){return t(i).to},class:`btn btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`settings.needs.review`)]),e(t,r)},$$slots:{default:!0}}),J(h),J(c),s(()=>{le(c,1,`callout callout-${t(i).tone??``}`),z(f,t(i).title)}),e(n,c)});var p=l(f,2);Y(p,17,()=>t(k),e=>e.key,(n,r)=>{var i=jc(),c=o(i),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0);J(c);var h=l(c,2),g=o(h);Z(g,{get to(){return t(r).to},class:`btn btn-sm`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).action)),e(n,o)},$$slots:{default:!0}});var _=l(g,2),v=W(_,!0);J(h),J(i),s(e=>{z(f,t(r).title),z(m,t(r).detail),z(v,e)},[()=>X(`settings.starting.hide`)]),d(`click`,_,()=>T(t(r).key)),e(n,i)}),J(i),e(n,i)};r(_,e=>{(t(O).length||t(k).length||t(g).release)&&e(y)});var C=l(_,2);as(C,{get counts(){return t(E)}});var w=l(C,2),D=o(w),I=o(D);{let n=n=>{var r=Pc();Y(r,20,()=>p,e=>e,(n,r)=>{var i=Nc(),a=W(i,!0);s(e=>{P(i,`aria-pressed`,t(v)===r),z(a,e)},[()=>X(`settings.sign_ins.span`,{days:r})]),d(`click`,i,()=>S(v,r,!0)),e(n,i)}),J(r),s(e=>P(r,`aria-label`,e),[()=>X(`settings.sign_ins.range`)]),e(n,r)},r=q(()=>X(`settings.sign_ins.title`));Q(I,{get title(){return t(r)},actions:n,children:(n,r)=>{var a=R(),o=u(a);i(o,()=>t(v),e=>{Ec(e,{load:()=>c.api.query(`
391
419
  query Activity($days: Int) {
392
420
  activity(days: $days) { date signIns }
393
421
  }
394
- `,{days:t(_)}),children:(e,n=F)=>{{let r=q(()=>E(n().activity)),i=q(()=>X(`settings.sign_ins.chart`));ec(e,{get points(){return t(r)},get label(){return t(i)}})}},$$slots:{default:!0}})}),e(n,a)},$$slots:{actions:!0,default:!0}})}J(D);var k=l(D,2),A=o(k);{let n=n=>{Z(n,{to:`/organizations`,class:`btn btn-ghost btn-sm`,children:(n,r)=>{V();var i=a();s(e=>z(i,e),[()=>t(h).tally.organizations>5?X(`settings.organizations.all_count`,{count:t(h).tally.organizations}):X(`settings.organizations.all`)]),e(n,i)},$$slots:{default:!0}})},i=q(()=>X(`settings.organizations.title`));Q(A,{get title(){return t(i)},actions:n,children:(n,i)=>{var a=R(),c=u(a),d=n=>{{let r=n=>{var r=R(),i=u(r);Y(i,17,()=>t(h).organizations,e=>e.key,(n,r)=>{{let i=q(()=>`/organizations/${t(r).key}`);Wt(n,{get to(){return t(i)},children:(n,i)=>{var a=uc(),s=u(a);Ao(o(s),{get organization(){return t(r)}}),J(s);var c=l(s,2);No(o(c),{get organization(){return t(r)},class:`flex flex-col items-end`}),J(c),e(n,a)},$$slots:{default:!0}})}}),e(n,r)},i=q(()=>[X(`settings.organizations.organization`),{label:X(`settings.organizations.members`),right:!0}]);Yt(n,{get columns(){return t(i)},get count(){return t(h).organizations.length},rows:r,$$slots:{rows:!0}})}},f=t=>{var n=dc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.organizations.empty`)]),e(t,n)};r(c,e=>{t(h).organizations.length?e(d):e(f,-1)}),e(n,a)},$$slots:{actions:!0,default:!0}})}J(k),J(w);var j=l(w,2);{let n=t=>{Z(t,{to:`/activity`,class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`settings.recent.all`)]),e(t,r)},$$slots:{default:!0}})},r=q(()=>X(`settings.recent.title`));Q(j,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`settings.recent.empty`));Mr(e,{get events(){return t(h).latest},get empty(){return t(n)},limit:8,collapse:!0})}},$$slots:{actions:!0,default:!0}})}e(n,m)},$$slots:{default:!0}})};r(A,e=>{!t(h)&&!t(g)?e(j):t(h)?e(N,-1):e(M,1)}),e(n,k),D()}c([`click`]);var mc=f(`<nav class="settings-tabs"><!> <!></nav>`);function hc(n,r){H(r,!0);var i=mc(),c=o(i);{let n=q(()=>r.part===`log`?`settings-tab-on`:``);Z(c,{to:`/activity`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.parts.log`)]),e(t,r)},$$slots:{default:!0}})}var u=l(c,2);{let n=q(()=>r.part===`streams`?`settings-tab-on`:``);Z(u,{to:`/activity/streams`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.parts.streams`)]),e(t,r)},$$slots:{default:!0}})}J(i),s(e=>P(i,`aria-label`,e),[()=>X(`activity.title`)]),e(n,i),D()}var gc=f(`<span> <!> </span>`),_c=f(`<span> </span>`),vc=f(`<div class="alert alert-info alert-soft flex-wrap items-center gap-3 text-sm" role="status"><!> <!></div>`),yc=f(`<option> </option>`),bc=f(`<div class="flex flex-wrap items-end gap-4"><label class="flex flex-col gap-1.5"><span class="legend"> </span> <select class="select select-sm w-full max-w-xs"><option> </option><!></select></label> <label class="flex items-center gap-2 pb-1 text-sm"><input type="checkbox" class="toggle toggle-sm"/> </label> <div class="flex flex-col gap-1.5 md:ml-auto"><span class="legend flex items-center gap-2"> <!></span> <div class="flex flex-wrap items-center gap-2"><input class="input input-sm w-auto" type="date"/> <span class="hint">–</span> <input class="input input-sm w-auto" type="date"/> <button type="button" class="btn btn-sm"> </button></div></div></div>`),xc=f(`<!> <!>`,1),Sc=f(`<!> <!> <!> <!> <!>`,1);function Cc(n,i){H(i,!0);let c=bt(),f=Ct(),p=ct(),m=w(C([])),h=w(C([])),g=w(!1),_=()=>new Date().toISOString().slice(0,10),v=C({from:(e=>new Date(Date.now()-e*864e5).toISOString().slice(0,10))(30),to:_()}),y=w(``),E=w(p.query.get(`grave`)===`1`),O=w(!0),k=w(null),A=q(()=>p.query.get(`actor`)),M=q(()=>p.query.get(`client`)),N=q(()=>!!(t(A)||t(M)));async function F(){S(O,!0);let e=await f.attempt(()=>i.api.query(`
422
+ `,{days:t(v)}),children:(e,n=F)=>{{let r=q(()=>A(n().activity)),i=q(()=>X(`settings.sign_ins.chart`));wc(e,{get points(){return t(r)},get label(){return t(i)}})}},$$slots:{default:!0}})}),e(n,a)},$$slots:{actions:!0,default:!0}})}J(D);var ee=l(D,2),L=o(ee);{let n=n=>{var r=Fc(),i=W(r,!0);s(e=>{r.disabled=t(b),z(i,e)},[()=>t(b)?X(`health.checking`):X(`health.check_now`)]),d(`click`,r,N),e(n,r)},i=q(()=>X(`health.title`)),a=q(()=>X(`health.lede`));Q(L,{get title(){return t(i)},get lede(){return t(a)},actions:n,children:(n,i)=>{var a=Bc(),c=u(a),d=n=>{var r=Dc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`health.failed`,{failure:t(x)})]),e(n,r)};r(c,e=>{t(x)&&e(d)});var p=l(c,2),m=n=>{var i=Rc(),a=u(i);Y(a,21,()=>t(g).health,e=>e.name,(n,i)=>{var a=Lc(),c=o(a),u=l(c,2),d=o(u),p=W(d,!0),m=l(d,2),h=W(m,!0),g=l(m,2),_=n=>{var r=Ic(),a=W(r,!0);s(e=>z(a,e),[()=>X(`health.checks.${t(i).name}.advice`,t(i).details??{})]),e(n,r)};r(g,e=>{t(i).status!==`ok`&&e(_)}),J(u),J(a),s((e,n,r,a)=>{le(c,1,`mark mark-${f[t(i).status]??``} mt-1`),P(c,`aria-label`,e),P(c,`title`,n),z(p,r),z(h,a)},[()=>X(`health.statuses.${t(i).status}`),()=>X(`health.statuses.${t(i).status}`),()=>X(`health.checks.${t(i).name}.title`),()=>M(t(i))]),e(n,a)}),J(a);var c=l(a,2),d=W(c,!0);s((e,t)=>{P(a,`aria-label`,e),z(d,t)},[()=>X(`health.title`),()=>X(`health.checked`,{when:Pt(t(j))})]),e(n,i)},h=t=>{var n=zc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`health.never`)]),e(t,n)};r(p,e=>{t(g).health.length?e(m):e(h,-1)}),e(n,a)},$$slots:{actions:!0,default:!0}})}var te=l(L,2);{let n=n=>{Z(n,{to:`/organizations`,class:`btn btn-ghost btn-sm`,children:(n,r)=>{V();var i=a();s(e=>z(i,e),[()=>t(g).tally.organizations>5?X(`settings.organizations.all_count`,{count:t(g).tally.organizations}):X(`settings.organizations.all`)]),e(n,i)},$$slots:{default:!0}})},i=q(()=>X(`settings.organizations.title`));Q(te,{get title(){return t(i)},actions:n,children:(n,i)=>{var a=R(),c=u(a),d=n=>{{let r=n=>{var r=R(),i=u(r);Y(i,17,()=>t(g).organizations,e=>e.key,(n,r)=>{{let i=q(()=>`/organizations/${t(r).key}`);Wt(n,{get to(){return t(i)},children:(n,i)=>{var a=Vc(),s=u(a);Uo(o(s),{get organization(){return t(r)}}),J(s);var c=l(s,2);Ko(o(c),{get organization(){return t(r)},class:`flex flex-col items-end`}),J(c),e(n,a)},$$slots:{default:!0}})}}),e(n,r)},i=q(()=>[X(`settings.organizations.organization`),{label:X(`settings.organizations.members`),right:!0}]);Yt(n,{get columns(){return t(i)},get count(){return t(g).organizations.length},rows:r,$$slots:{rows:!0}})}},f=t=>{var n=zc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`settings.organizations.empty`)]),e(t,n)};r(c,e=>{t(g).organizations.length?e(d):e(f,-1)}),e(n,a)},$$slots:{actions:!0,default:!0}})}J(ee),J(w);var B=l(w,2);{let n=t=>{Z(t,{to:`/activity`,class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`settings.recent.all`)]),e(t,r)},$$slots:{default:!0}})},r=q(()=>X(`settings.recent.title`));Q(B,{get title(){return t(r)},actions:n,children:(e,n)=>{{let n=q(()=>X(`settings.recent.empty`));Mr(e,{get events(){return t(g).latest},get empty(){return t(n)},limit:8,collapse:!0})}},$$slots:{actions:!0,default:!0}})}e(n,h)},$$slots:{default:!0}})};r(L,e=>{!t(g)&&!t(_)?e(te):t(g)?e(ne,-1):e(B,1)}),e(n,ee),D()}c([`click`]);var Wc=f(`<nav class="settings-tabs"><!> <!></nav>`);function Gc(n,r){H(r,!0);var i=Wc(),c=o(i);{let n=q(()=>r.part===`log`?`settings-tab-on`:``);Z(c,{to:`/activity`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.parts.log`)]),e(t,r)},$$slots:{default:!0}})}var u=l(c,2);{let n=q(()=>r.part===`streams`?`settings-tab-on`:``);Z(u,{to:`/activity/streams`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.parts.streams`)]),e(t,r)},$$slots:{default:!0}})}J(i),s(e=>P(i,`aria-label`,e),[()=>X(`activity.title`)]),e(n,i),D()}var Kc=f(`<span> <!> </span>`),qc=f(`<span> </span>`),Jc=f(`<div class="alert alert-info alert-soft flex-wrap items-center gap-3 text-sm" role="status"><!> <!></div>`),Yc=f(`<option> </option>`),Xc=f(`<div class="flex flex-wrap items-end gap-4"><label class="flex flex-col gap-1.5"><span class="legend"> </span> <select class="select select-sm w-full max-w-xs"><option> </option><!></select></label> <label class="flex items-center gap-2 pb-1 text-sm"><input type="checkbox" class="toggle toggle-sm"/> </label> <div class="flex flex-col gap-1.5 md:ml-auto"><span class="legend flex items-center gap-2"> <!></span> <div class="flex flex-wrap items-center gap-2"><input class="input input-sm w-auto" type="date"/> <span class="hint">–</span> <input class="input input-sm w-auto" type="date"/> <button type="button" class="btn btn-sm"> </button></div></div></div>`),Zc=f(`<!> <!>`,1),Qc=f(`<!> <!> <!> <!> <!>`,1);function $c(n,i){H(i,!0);let c=bt(),f=Ct(),p=ct(),m=w(C([])),h=w(C([])),g=w(!1),_=()=>new Date().toISOString().slice(0,10),v=C({from:(e=>new Date(Date.now()-e*864e5).toISOString().slice(0,10))(30),to:_()}),y=w(``),E=w(p.query.get(`grave`)===`1`),O=w(!0),k=w(null),A=q(()=>p.query.get(`actor`)),M=q(()=>p.query.get(`client`)),N=q(()=>!!(t(A)||t(M)));async function F(){S(O,!0);let e=await f.attempt(()=>i.api.query(`
395
423
  query Activity(
396
424
  $action: String, $grave: Boolean, $afterId: ID, $limit: Int,
397
425
  $actor: ID, $client: ID
@@ -411,7 +439,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
411
439
  }
412
440
  `,{action:t(y)||null,grave:t(E),afterId:c.cursor,limit:c.size,actor:t(A),client:t(M)}));S(O,!1),e&&(S(h,e.eventActions,!0),S(m,e.events,!0),c.counted(e.eventCount))}function ee(e){e===`forward`?c.forward(t(m).at(-1)?.id):c.back(),F()}async function L(){if(S(k,null),t(A)){let e=await i.api.query(`query About($uuid: ID!) { actor(uuid: $uuid) { uuid identifier } }`,{uuid:t(A)}).catch(()=>null);e?.actor&&S(k,{label:e.actor.identifier,to:`/actors/${e.actor.uuid}`,noun:X(`activity.nouns.actor`)},!0);return}if(!t(M))return;let e=await i.api.query(`query About($clientId: ID!) { client(clientId: $clientId) { clientId name } }`,{clientId:t(M)}).catch(()=>null);e?.client&&S(k,{label:e.client.name,to:`/clients/${e.client.clientId}`,noun:X(`activity.nouns.client`)},!0)}b(()=>{t(A),t(M),x(()=>{c.reset(),F(),L()})});function te(e){S(y,e,!0),c.reset(),F()}function R(e){S(E,e,!0),e&&S(y,``),c.reset(),F()}async function ne(){S(g,!0);let e=await f.attempt(()=>i.api.query(`mutation Export($from: ISO8601DateTime!, $to: ISO8601DateTime!, $action: String, $actor: ID) {
413
441
  exportEvents(from: $from, to: $to, action: $action, actor: $actor) { url count }
414
- }`,{from:new Date(`${v.from}T00:00:00`).toISOString(),to:new Date(new Date(`${v.to}T00:00:00`).getTime()+864e5).toISOString(),action:t(y)||null,actor:t(A)||null}));S(g,!1),e&&(f.say(X(`activity.downloading`,{count:e.exportEvents.count})),location.assign(e.exportEvents.url))}{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var p=Sc(),b=u(p);hc(b,{part:`log`});var x=l(b,2);Nn(x,{get feedback(){return f.state}});var S=l(x,2),C=n=>{var i=vc(),c=o(i),u=n=>{var r=gc(),i=o(r),c=l(i);Z(c,{get to(){return t(k).to},class:`link font-medium`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(k).label)),e(n,i)},$$slots:{default:!0}});var u=l(c,1,!0);J(r),s((e,t)=>{z(i,`${e??``} `),z(u,t)},[()=>X(`activity.involves`,{noun:t(k).noun}),()=>X(`activity.involves_end`)]),e(n,r)},d=n=>{var r=_c(),i=W(r,!0);s(e=>z(i,e),[()=>X(t(A)?`activity.gone.actor`:`activity.gone.client`)]),e(n,r)};r(c,e=>{t(k)?e(u):e(d,-1)}),Z(l(c,2),{to:`/activity`,class:`btn btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.everything`)]),e(t,r)},$$slots:{default:!0}}),J(i),e(n,i)};r(S,e=>{t(N)&&e(C)});var w=l(S,2);Q(w,{children:(n,r)=>{var i=bc(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=o(f),m=W(p,!0);p.value=p.__value=``;var b=l(p);Y(b,17,()=>t(h),e=>e.action,(n,r)=>{var i=yc(),a=W(i,!0),o={};s(()=>{z(a,t(r).label),o!==(o=t(r).action)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(f);var x;I(f),J(a);var S=l(a,2),C=o(S);j(C);var w=l(C);J(S);var D=l(S,2),O=o(D),k=o(O),A=l(k);{let e=q(()=>X(`activity.export.lede`)),n=q(()=>X(`activity.export.title`));Lt(A,{get text(){return t(e)},get label(){return t(n)}})}J(O);var M=l(O,2),N=o(M);j(N);var F=l(N,4);j(F);var ee=l(F,2),L=W(ee,!0);J(M),J(D),J(i),s((e,n,r,i,a,o,s,c)=>{z(u,e),f.disabled=t(E),z(m,n),x!==(x=t(y))&&(f.value=(f.__value=x)??``,T(f,x)),U(C,t(E)),z(w,` ${r??``}`),z(k,`${i??``} `),P(N,`aria-label`,a),P(N,`max`,v.to),P(F,`aria-label`,o),P(F,`min`,v.from),P(F,`max`,s),ee.disabled=t(g)||!v.from||!v.to,z(L,c)},[()=>X(`activity.show`),()=>X(`activity.all`),()=>X(`activity.grave`),()=>X(`activity.export.title`),()=>X(`activity.export.from`),()=>X(`activity.export.through`),()=>_(),()=>X(`activity.export.download`)]),d(`change`,f,e=>te(e.currentTarget.value)),d(`change`,C,e=>R(e.currentTarget.checked)),B(N,()=>v.from,e=>v.from=e),B(F,()=>v.to,e=>v.to=e),d(`click`,ee,ne),e(n,i)},$$slots:{default:!0}});var D=l(w,2),M=e=>{mt(e,{})},F=n=>{Q(n,{children:(n,r)=>{var i=xc(),a=u(i);{let e=q(()=>t(E)?X(`activity.empty.grave`):X(`activity.empty.plain`));Mr(a,{get events(){return t(m)},limit:1/0,get empty(){return t(e)}})}St(l(a,2),{get pages(){return c},get shown(){return t(m).length},get busy(){return t(O)},onpage:ee}),e(n,i)},$$slots:{default:!0}})};r(D,e=>{t(O)&&t(m).length===0?e(M):e(F,-1)}),e(n,p)},$$slots:{default:!0}})}D()}c([`change`,`click`]);var wc=e=>X(`providers.protocols.${e}`),Tc=e=>![`saml`,`mcp`].includes(e.protocol)&&!(e.tokenAuthMethod===`signed_secret`?e.privateKeyHeld:e.secretHeld),Ec=e=>[e.role===`delegate`&&e.protocol!==`mcp`&&[`owns`,X(`providers.marks.owns`),`primary`],e.trustsEmail&&[`mail`,X(`providers.marks.trusts_email`),`good`],e.receivesSignals&&[`signals`,X(`providers.marks.signals`),`info`],e.delegates&&[`delegates`,X(`providers.marks.delegates`),`info`],Tc(e)&&[`unconfirmed`,X(`providers.marks.no_secret`),`warn`]].filter(Boolean),Dc=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Oc=f(`<div class="hint text-xs"> </div>`),kc=f(`<td class="w-full max-w-0 md:w-auto md:max-w-none"><div class="flex min-w-0 items-center gap-2"><!> <!></div> <div class="hint truncate text-xs"><span class="font-mono"> </span> <!> <span class="md:hidden"> </span></div></td> <td class="hidden text-sm whitespace-nowrap md:table-cell"> <div class="hint text-xs"> </div></td> <td class="hidden text-right text-sm whitespace-nowrap md:table-cell"> <!></td>`,1),Ac=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><!> <span class="hint font-mono text-xs"> </span></span> <span class="flex items-baseline gap-3 text-xs"><span class="hint"> </span> <button type="button" class="link"> </button></span></div></li>`),jc=f(`<ul class="slats"></ul>`),Mc=f(`<!> <!>`,1);function Nc(n,i){H(i,!0);let c=ct(),f=`
442
+ }`,{from:new Date(`${v.from}T00:00:00`).toISOString(),to:new Date(new Date(`${v.to}T00:00:00`).getTime()+864e5).toISOString(),action:t(y)||null,actor:t(A)||null}));S(g,!1),e&&(f.say(X(`activity.downloading`,{count:e.exportEvents.count})),location.assign(e.exportEvents.url))}{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var p=Qc(),b=u(p);Gc(b,{part:`log`});var x=l(b,2);Nn(x,{get feedback(){return f.state}});var S=l(x,2),C=n=>{var i=Jc(),c=o(i),u=n=>{var r=Kc(),i=o(r),c=l(i);Z(c,{get to(){return t(k).to},class:`link font-medium`,children:(n,r)=>{V();var i=a();s(()=>z(i,t(k).label)),e(n,i)},$$slots:{default:!0}});var u=l(c,1,!0);J(r),s((e,t)=>{z(i,`${e??``} `),z(u,t)},[()=>X(`activity.involves`,{noun:t(k).noun}),()=>X(`activity.involves_end`)]),e(n,r)},d=n=>{var r=qc(),i=W(r,!0);s(e=>z(i,e),[()=>X(t(A)?`activity.gone.actor`:`activity.gone.client`)]),e(n,r)};r(c,e=>{t(k)?e(u):e(d,-1)}),Z(l(c,2),{to:`/activity`,class:`btn btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`activity.everything`)]),e(t,r)},$$slots:{default:!0}}),J(i),e(n,i)};r(S,e=>{t(N)&&e(C)});var w=l(S,2);Q(w,{children:(n,r)=>{var i=Xc(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=o(f),m=W(p,!0);p.value=p.__value=``;var b=l(p);Y(b,17,()=>t(h),e=>e.action,(n,r)=>{var i=Yc(),a=W(i,!0),o={};s(()=>{z(a,t(r).label),o!==(o=t(r).action)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(f);var x;I(f),J(a);var S=l(a,2),C=o(S);j(C);var w=l(C);J(S);var D=l(S,2),O=o(D),k=o(O),A=l(k);{let e=q(()=>X(`activity.export.lede`)),n=q(()=>X(`activity.export.title`));Lt(A,{get text(){return t(e)},get label(){return t(n)}})}J(O);var M=l(O,2),N=o(M);j(N);var F=l(N,4);j(F);var ee=l(F,2),L=W(ee,!0);J(M),J(D),J(i),s((e,n,r,i,a,o,s,c)=>{z(u,e),f.disabled=t(E),z(m,n),x!==(x=t(y))&&(f.value=(f.__value=x)??``,T(f,x)),U(C,t(E)),z(w,` ${r??``}`),z(k,`${i??``} `),P(N,`aria-label`,a),P(N,`max`,v.to),P(F,`aria-label`,o),P(F,`min`,v.from),P(F,`max`,s),ee.disabled=t(g)||!v.from||!v.to,z(L,c)},[()=>X(`activity.show`),()=>X(`activity.all`),()=>X(`activity.grave`),()=>X(`activity.export.title`),()=>X(`activity.export.from`),()=>X(`activity.export.through`),()=>_(),()=>X(`activity.export.download`)]),d(`change`,f,e=>te(e.currentTarget.value)),d(`change`,C,e=>R(e.currentTarget.checked)),B(N,()=>v.from,e=>v.from=e),B(F,()=>v.to,e=>v.to=e),d(`click`,ee,ne),e(n,i)},$$slots:{default:!0}});var D=l(w,2),M=e=>{mt(e,{})},F=n=>{Q(n,{children:(n,r)=>{var i=Zc(),a=u(i);{let e=q(()=>t(E)?X(`activity.empty.grave`):X(`activity.empty.plain`));Mr(a,{get events(){return t(m)},limit:1/0,get empty(){return t(e)}})}St(l(a,2),{get pages(){return c},get shown(){return t(m).length},get busy(){return t(O)},onpage:ee}),e(n,i)},$$slots:{default:!0}})};r(D,e=>{t(O)&&t(m).length===0?e(M):e(F,-1)}),e(n,p)},$$slots:{default:!0}})}D()}c([`change`,`click`]);var el=e=>X(`providers.protocols.${e}`),tl=e=>![`saml`,`mcp`].includes(e.protocol)&&!(e.tokenAuthMethod===`signed_secret`?e.privateKeyHeld:e.secretHeld),nl=e=>[e.role===`delegate`&&e.protocol!==`mcp`&&[`owns`,X(`providers.marks.owns`),`primary`],e.trustsEmail&&[`mail`,X(`providers.marks.trusts_email`),`good`],e.receivesSignals&&[`signals`,X(`providers.marks.signals`),`info`],e.delegates&&[`delegates`,X(`providers.marks.delegates`),`info`],tl(e)&&[`unconfirmed`,X(`providers.marks.no_secret`),`warn`]].filter(Boolean),rl=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),il=f(`<div class="hint text-xs"> </div>`),al=f(`<td class="w-full max-w-0 md:w-auto md:max-w-none"><div class="flex min-w-0 items-center gap-2"><!> <!></div> <div class="hint truncate text-xs"><span class="font-mono"> </span> <!> <span class="md:hidden"> </span></div></td> <td class="hidden text-sm whitespace-nowrap md:table-cell"> <div class="hint text-xs"> </div></td> <td class="hidden text-right text-sm whitespace-nowrap md:table-cell"> <!></td>`,1),ol=f(`<li class="slat"><div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1"><span class="flex flex-wrap items-baseline gap-2"><!> <span class="hint font-mono text-xs"> </span></span> <span class="flex items-baseline gap-3 text-xs"><span class="hint"> </span> <button type="button" class="link"> </button></span></div></li>`),sl=f(`<ul class="slats"></ul>`),cl=f(`<!> <!>`,1);function ll(n,i){H(i,!0);let c=ct(),f=`
415
443
  key name protocol role trustsEmail receivesSignals delegates tokenAuthMethod secretHeld privateKeyHeld
416
444
  connections signedIn emailDomains archivedAt createdAt
417
445
  organization { key name }
@@ -420,7 +448,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
420
448
  active: providers { ${f} }
421
449
  archived: providers(archived: true) { ${f} }
422
450
  }
423
- `,m=[X(`providers.columns.provider`),{label:X(`providers.columns.kind`),hide:!0},{label:X(`providers.columns.connections`),hide:!0,right:!0}],h=Ct(),g=w(C([])),_=w(C([])),v=w(!0);async function y(){let e=await h.attempt(()=>i.api.query(p));S(v,!1),e&&(S(g,e.active,!0),S(_,e.archived,!0))}y();async function b(e){await h.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreProvider(key: $key) { provider { key } } }`,{key:e.key}),X(`providers.notices.restored`,{name:e.name}))&&await y()}{let i=t=>{var n=Dc(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.add`)]),d(`click`,n,()=>c.go(`/providers/new`)),e(t,n)},f=q(()=>X(`providers.title`)),p=q(()=>X(`providers.lede`));zn(n,{get title(){return t(f)},get lede(){return t(p)},actions:i,children:(n,i)=>{var c=Mc(),f=u(c);Nn(f,{get feedback(){return h.state}});var p=l(f,2),y=e=>{mt(e,{})},x=n=>{var i=Mc(),c=u(i);{let n=n=>{var i=R(),c=u(i);Y(c,17,()=>t(g),e=>e.key,(n,i)=>{{let c=q(()=>`/providers/${t(i).key}`);Wt(n,{get to(){return t(c)},children:(n,c)=>{var d=kc(),f=u(d),p=o(f),m=o(p);{let n=q(()=>`/providers/${t(i).key}`);Z(m,{get to(){return t(n)},class:`link link-hover truncate font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).name)),e(n,o)},$$slots:{default:!0}})}var h=l(m,2);{let e=q(()=>Ec(t(i)));_t(h,{get marks(){return t(e)}})}J(p);var g=l(p,2),_=o(g),v=W(_,!0),y=l(_,2),b=n=>{var r=a();s(()=>z(r,`· ${t(i).organization.name??``}`)),e(n,r)};r(y,e=>{t(i).organization&&e(b)});var x=l(y,2),S=W(x);J(g),J(f);var C=l(f,2),w=o(C),T=l(w),E=W(T,!0);J(C);var D=l(C,2),O=o(D),k=l(O),A=n=>{var r=Oc(),a=W(r,!0);s(e=>z(a,e),[()=>X(`providers.facts.signed_in`,{count:t(i).signedIn})]),e(n,r)};r(k,e=>{t(i).signedIn&&e(A)}),J(D),s((e,n,r)=>{z(v,t(i).key),z(S,`· ${e??``}`),z(w,`${n??``} `),z(E,r),z(O,`${t(i).connections??``} `)},[()=>wc(t(i).protocol),()=>wc(t(i).protocol),()=>t(i).protocol===`mcp`?X(`providers.roles.never`):t(i).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)]),e(n,d)},$$slots:{default:!0}})}}),e(n,i)},i=q(()=>X(`providers.empty`));Yt(c,{get columns(){return m},get count(){return t(g).length},get empty(){return t(i)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`providers.archived`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=jc();Y(i,21,()=>t(_),e=>e.key,(n,r)=>{var i=Ac(),c=o(i),u=o(c),f=o(u);{let n=q(()=>`/providers/${t(r).key}`);Z(f,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var p=l(f,2),m=W(p,!0);J(u);var h=l(u,2),g=o(h),_=W(g,!0),v=l(g,2),y=W(v,!0);J(h),J(c),J(i),s((e,n)=>{z(m,t(r).key),z(_,e),z(y,n)},[()=>X(`providers.archived_on`,{day:Mt(t(r).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,v,()=>b(t(r))),e(n,i)}),J(i),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(_).length&&e(p)}),e(n,i)};r(p,e=>{t(v)?e(y):e(x,-1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var Pc=(t,n=F,i=F,a=F,c=F)=>{var u=Ic(),f=o(u);j(f);var p=l(f,2),m=o(p),h=W(m,!0),g=l(m,2),_=t=>{var n=Fc(),r=W(n,!0);s(()=>z(r,c())),e(t,n)};r(g,e=>{c()&&e(_)}),J(p),J(u),s(()=>{U(f,n()),z(h,a())}),d(`change`,f,e=>i()(e.currentTarget.checked)),e(t,u)},Fc=f(`<span class="hint"> </span>`),Ic=f(`<label class="flex items-start gap-3 text-sm"><input type="checkbox" class="toggle toggle-sm mt-0.5"/> <span class="flex flex-col gap-0.5"><span> </span> <!></span></label>`),Lc=f(`<p class="text-sm"> <a class="link" target="_blank" rel="noreferrer noopener"> </a>.</p>`),Rc=f(`<li class="slat"><span class="hint text-xs"> </span> <span class="flex items-center justify-between gap-3"><code class="min-w-0 font-mono text-xs break-all"> </code> <button type="button" class="btn btn-ghost btn-xs shrink-0"> </button></span></li>`),zc=f(`<!> <ul class="slats"></ul>`,1),Bc=f(`<!> <!> <!>`,1),Vc=f(`<p class="hint"> </p>`),Hc=f(`<option> </option>`),Uc=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="3"></textarea></label> <!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`,1),Wc=f(`<code class="font-mono text-xs break-all"> </code> <!>`,1),Gc=f(`<!> <!> <!> <!> <!>`,1),Kc=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label>`,1),qc=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><option> </option><option> </option></select></label> <!>`,1),Jc=f(`<!> <!> <!> <!>`,1),Yc=f(`<!> <!> <!> <!> <!> <!>`,1),Xc=f(`<!> <!>`,1),Zc=f(`<p class="text-sm"> </p>`),Qc=f(`<!> <!> <p class="hint"> <code class="font-mono"> </code> </p> <!>`,1),$c=f(`<span class="text-sm font-medium"> </span> <span class="hint text-xs"> </span>`,1),el=f(`<div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-3"></div>`),tl=f(`<div class="grid gap-4"><!> <!> <!> <div class="flex gap-2 border-t border-[var(--line)] pt-5"><button type="button" class="btn btn-primary btn-sm"> </button> <!></div></div>`),nl=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),rl=f(`<div class="callout callout-quiet" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),il=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span></div></div>`),al=f(`<div class="callout callout-info"><div class="callout-words"><span> <!> </span></div></div>`),ol=f(`<button type="button" class="btn btn-sm"> </button>`),sl=f(`<div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),cl=f(`<div class="savebar" role="region"><span class="text-sm font-medium"> </span> <div class="flex gap-2"><button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-primary btn-sm"> </button></div></div>`),ll=f(`<!> <!> <!> <!> <div class="grid gap-4"><!></div> <!>`,1);function ul(n,i){H(i,!0);let c=n=>{{let i=q(()=>X(`providers.form.give`,{name:t(xe)})),a=q(()=>t(de)?.guide&&t(ue)?null:X(`providers.sections.give_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=zc(),c=u(a),f=n=>{var r=Lc(),i=o(r),a=l(i),c=W(a,!0);V(),J(r),s((e,n)=>{z(i,`${e??``} `),P(a,`href`,t(de).guide),z(c,n)},[()=>X(`providers.form.guide_lead`,{name:t(de).name}),()=>X(`providers.form.guide_link`,{name:t(de).name})]),e(n,r)};r(c,e=>{t(de)?.guide&&t(ue)&&e(f)});var p=l(c,2);Y(p,21,()=>t(pe)?[[X(`providers.form.acs_url`),t(ye)],[X(`providers.form.sp_entity_id`),t(be)]]:[[X(`providers.form.redirect_uri`),t(ye)]],([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=Rc(),f=o(u),p=W(f,!0),m=l(f,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(u),s(e=>{z(p,a()),z(g,c()),z(v,e)},[()=>X(`providers.copy`)]),d(`click`,_,()=>Ve(c())),e(n,u)}),J(p),e(n,a)},$$slots:{default:!0}})}},f=n=>{var i=Yc(),a=u(i);c(a);var d=l(a,2);{let n=q(()=>X(`providers.sections.identity`)),i=q(()=>X(`providers.sections.identity_lede`));Q(d,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Bc(),o=u(a);{let e=q(()=>X(`providers.form.name`));$(o,{get label(){return t(e)},placeholder:`Acme`,get value(){return t(K).name},set value(e){t(K).name=e}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.key`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`acme`,get value(){return t(K).key},set value(e){t(K).key=e}})}};r(s,e=>{t(ue)&&e(c)});var d=l(s,2),f=n=>{var r=R(),i=u(r);Y(i,16,()=>t(de).asks,e=>e,(e,n)=>{{let r=q(()=>y[n]?.[0]??n),i=q(()=>y[n]?.[1]??``);$(e,{get label(){return t(r)},get placeholder(){return t(i)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).asked[n]},set value(e){t(K).asked[n]=e}})}}),e(n,r)};r(d,e=>{t(ue)&&!t(fe)&&e(f)}),e(n,a)},$$slots:{default:!0}})}var f=l(d,2),p=n=>{{let i=q(()=>X(`providers.form.identity_provider`)),a=q(()=>X(`providers.form.metadata_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Uc(),c=u(a);{let e=q(()=>X(`providers.form.metadata_url`)),n=q(()=>X(`providers.form.read`));$(c,{get label(){return t(e)},onsave:()=>(t(K).metadataUrl.trim()||t(K).metadataXml.trim())&&!t(le)&&Pe(),get save(){return t(n)},placeholder:`https://idp.acme.test/metadata`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).metadataUrl},set value(e){t(K).metadataUrl=e}})}var d=l(c,2),f=n=>{var r=Vc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.metadata_read`,{day:t(U).metadataFetchedAt?Mt(t(U).metadataFetchedAt):X(`providers.facts.never`)})]),e(n,r)};r(d,e=>{t(U)?.metadataUrl&&e(f)});var p=l(d,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g),J(p);var _=l(p,2);{let e=q(()=>X(`providers.form.entity_id`));$(_,{get label(){return t(e)},get value(){return t(K).idpEntityId},set value(e){t(K).idpEntityId=e}})}var y=l(_,2);{let e=q(()=>X(`providers.form.sign_in_url`));$(y,{get label(){return t(e)},get value(){return t(K).idpSsoUrl},set value(e){t(K).idpSsoUrl=e}})}var b=l(y,2),x=o(b),S=W(x,!0),C=l(x,2);ae(C),J(b);var w=l(b,2),T=o(w),E=W(T,!0),D=l(T,2);Y(D,21,()=>v,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Hc(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(D),I(D),J(w),s((e,t,n)=>{z(h,e),z(S,t),z(E,n)},[()=>X(`providers.form.paste_metadata`),()=>X(`providers.form.certificates`),()=>X(`providers.form.name_id_format`)]),B(g,()=>t(K).metadataXml,e=>t(K).metadataXml=e),B(C,()=>t(K).idpCertificates,e=>t(K).idpCertificates=e),ee(D,()=>t(K).nameIdFormat,e=>t(K).nameIdFormat=e),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(pe)&&e(p)});var m=l(f,2),h=n=>{{let i=q(()=>X(`providers.sections.mcp`)),a=q(()=>X(`providers.form.mcp_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=R(),o=u(a),c=e=>{{let n=q(()=>X(`providers.form.mcp_url`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://mcp.acme.test/mcp`,get value(){return t(K).resourceUrl},set value(e){t(K).resourceUrl=e}})}},d=n=>{var i=Wc(),a=u(i),o=W(a,!0),c=l(a,2),d=n=>{var r=Vc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.registered`,{day:t(U).registeredAt?Mt(t(U).registeredAt):X(`providers.facts.never`)})]),e(n,r)};r(c,e=>{t(U)&&e(d)}),s(()=>z(o,t(K).resourceUrl)),e(n,i)};r(o,e=>{t(ue)&&t(fe)?e(c):e(d,-1)}),e(n,a)},$$slots:{default:!0}})}};r(m,e=>{t(ge)&&e(h)});var g=l(m,2),_=n=>{{let i=q(()=>X(`providers.sections.endpoints`)),a=q(()=>t(he)?X(`providers.sections.endpoints_oidc`):null);Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Gc(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.issuer`)),r=q(()=>X(`providers.form.discover`));$(e,{get label(){return t(n)},onsave:()=>t(K).issuer.trim()&&!t(le)&&Ne(),get save(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://id.acme.test`,get value(){return t(K).issuer},set value(e){t(K).issuer=e}})}};r(o,e=>{t(he)&&e(s)});var c=l(o,2);{let e=q(()=>X(`providers.form.authorization_url`));$(c,{get label(){return t(e)},get value(){return t(K).authorizationUrl},set value(e){t(K).authorizationUrl=e}})}var d=l(c,2);{let e=q(()=>X(`providers.form.token_url`));$(d,{get label(){return t(e)},get value(){return t(K).tokenUrl},set value(e){t(K).tokenUrl=e}})}var f=l(d,2);{let e=q(()=>X(`providers.form.userinfo_url`)),n=q(()=>t(me)?``:X(`providers.form.optional`));$(f,{get label(){return t(e)},get placeholder(){return t(n)},get value(){return t(K).userinfoUrl},set value(e){t(K).userinfoUrl=e}})}var p=l(f,2),m=e=>{{let n=q(()=>X(`providers.form.emails_url`)),r=q(()=>X(`providers.form.optional`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).emailsUrl},set value(e){t(K).emailsUrl=e}})}},h=e=>{{let n=q(()=>X(`providers.form.jwks_uri`)),r=q(()=>X(`providers.form.discovered_if_empty`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).jwksUri},set value(e){t(K).jwksUri=e}})}};r(p,e=>{t(me)?e(m):e(h,-1)}),e(n,a)},$$slots:{default:!0}})}};r(g,e=>{t(fe)&&!t(pe)&&!t(ge)&&e(_)});var b=l(g,2),x=n=>{{let i=q(()=>X(`providers.form.credentials`)),a=q(()=>X(`providers.sections.credentials_lede`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Jc(),c=u(a);{let e=q(()=>t(_e)?X(`providers.form.services_id`):X(`providers.form.client_id`));$(c,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).clientId},set value(e){t(K).clientId=e}})}var d=l(c,2),f=e=>{{let n=q(()=>X(`providers.form.client_secret`)),r=q(()=>t(ue)?``:t(U)?.secretHeld?X(`providers.form.unchanged`):``);$(e,{get label(){return t(n)},type:`password`,autocomplete:`off`,get placeholder(){return t(r)},get value(){return t(K).clientSecret},set value(e){t(K).clientSecret=e}})}};r(d,e=>{t(He)&&e(f)});var p=l(d,2),m=n=>{var r=Kc(),i=u(r);{let e=q(()=>X(`providers.form.team_id`));$(i,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).teamId},set value(e){t(K).teamId=e}})}var a=l(i,2);{let e=q(()=>X(`providers.form.key_id`));$(a,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).keyId},set value(e){t(K).keyId=e}})}var c=l(a,2),d=o(c),f=W(d,!0),p=l(d,2);ae(p),J(c),s((e,t)=>{z(f,e),P(p,`placeholder`,t)},[()=>X(`providers.form.private_key`),()=>t(ue)?`-----BEGIN PRIVATE KEY-----`:X(`providers.form.unchanged`)]),B(p,()=>t(K).privateKey,e=>t(K).privateKey=e),e(n,r)};r(p,e=>{t(_e)&&e(m)});var h=l(p,2),g=n=>{var r=qc(),i=u(r),a=o(i),c=W(a,!0),d=l(a,2),f=o(d),p=W(f,!0);f.value=f.__value=`client_secret_post`;var m=l(f),h=W(m,!0);m.value=m.__value=`client_secret_basic`;var g=l(m),_=W(g,!0);g.value=g.__value=`signed_secret`,J(d),I(d),J(i);var v=l(i,2);{let e=q(()=>X(`providers.form.extra_scopes`)),n=q(()=>t(he)?X(`providers.form.oidc_scopes`):`read:user`);$(v,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).scopes},set value(e){t(K).scopes=e}})}s((e,t,n,r)=>{z(c,e),z(p,t),z(h,n),z(_,r)},[()=>X(`providers.form.sends_secret`),()=>X(`providers.form.secret_post`),()=>X(`providers.form.secret_basic`),()=>X(`providers.form.secret_signed`)]),ee(d,()=>t(K).tokenAuthMethod,e=>t(K).tokenAuthMethod=e),e(n,r)};r(h,e=>{t(fe)&&e(g)}),e(n,a)},$$slots:{default:!0}})}};r(b,e=>{!t(pe)&&!t(ge)&&e(x)}),e(n,i)},p=n=>{var i=Jc(),a=u(i);{let n=q(()=>X(`providers.sections.accounts`)),i=q(()=>X(`providers.form.owns_hint`,{name:t(xe)}));Q(a,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=Xc(),o=u(a);{let e=q(()=>X(`providers.form.owns`,{name:t(xe)}));Pc(o,()=>t(K).role===`delegate`,()=>e=>t(K).role=e?`delegate`:`credential`,()=>t(e),()=>null)}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.signup_scopes`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`openid profile email offline_access identities`,get value(){return t(K).signupScopes},set value(e){t(K).signupScopes=e}})}};r(s,e=>{t(K).role===`delegate`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var o=l(a,2);{let n=q(()=>X(`providers.sections.addresses`));Q(o,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=Xc(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.trusts_email`)),r=q(()=>X(`providers.form.trusts_email_hint`));Pc(e,()=>t(K).trustsEmail,()=>e=>t(K).trustsEmail=e,()=>t(n),()=>t(r))}};r(o,e=>{t(pe)||e(s)});var c=l(o,2);{let e=q(()=>t(pe)?X(`providers.form.saml_domains`):X(`providers.form.domains`)),n=q(()=>X(`providers.form.any_domain`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).emailDomains},set value(e){t(K).emailDomains=e}})}e(n,a)},$$slots:{default:!0}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.sections.signals`));Q(e,{row:!0,get title(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`providers.form.signals`)),r=q(()=>`${X(`providers.form.signals_lead`)} ${ve}/ssf/events. ${X(`providers.form.signals_rest`)}`);Pc(e,()=>t(K).receivesSignals,()=>e=>t(K).receivesSignals=e,()=>t(n),()=>t(r))}},$$slots:{default:!0}})}};r(s,e=>{t(he)&&e(c)});var d=l(s,2),f=n=>{{let r=q(()=>X(`providers.form.claims`)),i=q(()=>X(`providers.sections.claims_lede`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Xc(),a=u(i);{let e=q(()=>t(pe)?X(`providers.form.subject_saml`):t(he)?X(`providers.form.subject_oidc`):X(`providers.form.subject_path`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).subjectClaim},set value(e){t(K).subjectClaim=e}})}var o=l(a,2);Y(o,17,()=>_.filter(([e])=>!(t(pe)&&e===`email_verified`)),([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(pe)?X(`providers.form.attribute_name`):i());$(e,{get label(){return a()},get placeholder(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).claims[i()]},set value(e){t(K).claims[i()]=e}})}}),e(n,i)},$$slots:{default:!0}})}};r(d,e=>{t(fe)&&e(f)}),e(n,i)},m=n=>{{let i=q(()=>X(`providers.sections.delegation`)),a=q(()=>X(`providers.form.delegates_hint`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Xc(),c=u(a),d=e=>{{let n=q(()=>X(`providers.form.delegates`,{name:t(xe)}));Pc(e,()=>t(K).delegates,()=>e=>t(K).delegates=e,()=>t(n),()=>null)}};r(c,e=>{t(ge)||e(d)});var f=l(c,2),p=n=>{var i=Qc(),a=u(i);{let e=q(()=>X(`providers.form.delegated_scopes`)),n=q(()=>t(ge)?X(`providers.form.server_grants`):`https://www.googleapis.com/auth/drive.readonly`);$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).delegatedScopes},set value(e){t(K).delegatedScopes=e}})}var c=l(a,2);{let e=q(()=>X(`providers.form.delegation_params`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`access_type=offline prompt=consent`,get value(){return t(K).delegationParams},set value(e){t(K).delegationParams=e}})}var d=l(c,2),f=o(d),p=l(f),m=W(p),h=l(p);J(d);var g=l(d,2),_=n=>{var r=Zc(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.delegations_count`,{count:t(U).delegations})]),e(n,r)};r(g,e=>{t(U)&&e(_)}),s((e,t,n)=>{z(f,`${e??``} `),z(m,`masks:delegate:${t??``}`),z(h,`.
451
+ `,m=[X(`providers.columns.provider`),{label:X(`providers.columns.kind`),hide:!0},{label:X(`providers.columns.connections`),hide:!0,right:!0}],h=Ct(),g=w(C([])),_=w(C([])),v=w(!0);async function y(){let e=await h.attempt(()=>i.api.query(p));S(v,!1),e&&(S(g,e.active,!0),S(_,e.archived,!0))}y();async function b(e){await h.attempt(()=>i.api.query(`mutation Restore($key: ID!) { restoreProvider(key: $key) { provider { key } } }`,{key:e.key}),X(`providers.notices.restored`,{name:e.name}))&&await y()}{let i=t=>{var n=rl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.add`)]),d(`click`,n,()=>c.go(`/providers/new`)),e(t,n)},f=q(()=>X(`providers.title`)),p=q(()=>X(`providers.lede`));zn(n,{get title(){return t(f)},get lede(){return t(p)},actions:i,children:(n,i)=>{var c=cl(),f=u(c);Nn(f,{get feedback(){return h.state}});var p=l(f,2),y=e=>{mt(e,{})},x=n=>{var i=cl(),c=u(i);{let n=n=>{var i=R(),c=u(i);Y(c,17,()=>t(g),e=>e.key,(n,i)=>{{let c=q(()=>`/providers/${t(i).key}`);Wt(n,{get to(){return t(c)},children:(n,c)=>{var d=al(),f=u(d),p=o(f),m=o(p);{let n=q(()=>`/providers/${t(i).key}`);Z(m,{get to(){return t(n)},class:`link link-hover truncate font-medium`,children:(n,r)=>{V();var o=a();s(()=>z(o,t(i).name)),e(n,o)},$$slots:{default:!0}})}var h=l(m,2);{let e=q(()=>nl(t(i)));_t(h,{get marks(){return t(e)}})}J(p);var g=l(p,2),_=o(g),v=W(_,!0),y=l(_,2),b=n=>{var r=a();s(()=>z(r,`· ${t(i).organization.name??``}`)),e(n,r)};r(y,e=>{t(i).organization&&e(b)});var x=l(y,2),S=W(x);J(g),J(f);var C=l(f,2),w=o(C),T=l(w),E=W(T,!0);J(C);var D=l(C,2),O=o(D),k=l(O),A=n=>{var r=il(),a=W(r,!0);s(e=>z(a,e),[()=>X(`providers.facts.signed_in`,{count:t(i).signedIn})]),e(n,r)};r(k,e=>{t(i).signedIn&&e(A)}),J(D),s((e,n,r)=>{z(v,t(i).key),z(S,`· ${e??``}`),z(w,`${n??``} `),z(E,r),z(O,`${t(i).connections??``} `)},[()=>el(t(i).protocol),()=>el(t(i).protocol),()=>t(i).protocol===`mcp`?X(`providers.roles.never`):t(i).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)]),e(n,d)},$$slots:{default:!0}})}}),e(n,i)},i=q(()=>X(`providers.empty`));Yt(c,{get columns(){return m},get count(){return t(g).length},get empty(){return t(i)},rows:n,$$slots:{rows:!0}})}var f=l(c,2),p=n=>{{let r=q(()=>X(`providers.archived`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=sl();Y(i,21,()=>t(_),e=>e.key,(n,r)=>{var i=ol(),c=o(i),u=o(c),f=o(u);{let n=q(()=>`/providers/${t(r).key}`);Z(f,{get to(){return t(n)},class:`link link-hover text-sm font-medium`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}var p=l(f,2),m=W(p,!0);J(u);var h=l(u,2),g=o(h),_=W(g,!0),v=l(g,2),y=W(v,!0);J(h),J(c),J(i),s((e,n)=>{z(m,t(r).key),z(_,e),z(y,n)},[()=>X(`providers.archived_on`,{day:Mt(t(r).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,v,()=>b(t(r))),e(n,i)}),J(i),e(n,i)},$$slots:{default:!0}})}};r(f,e=>{t(_).length&&e(p)}),e(n,i)};r(p,e=>{t(v)?e(y):e(x,-1)}),e(n,c)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var ul=(t,n=F,i=F,a=F,c=F)=>{var u=fl(),f=o(u);j(f);var p=l(f,2),m=o(p),h=W(m,!0),g=l(m,2),_=t=>{var n=dl(),r=W(n,!0);s(()=>z(r,c())),e(t,n)};r(g,e=>{c()&&e(_)}),J(p),J(u),s(()=>{U(f,n()),z(h,a())}),d(`change`,f,e=>i()(e.currentTarget.checked)),e(t,u)},dl=f(`<span class="hint"> </span>`),fl=f(`<label class="flex items-start gap-3 text-sm"><input type="checkbox" class="toggle toggle-sm mt-0.5"/> <span class="flex flex-col gap-0.5"><span> </span> <!></span></label>`),pl=f(`<p class="text-sm"> <a class="link" target="_blank" rel="noreferrer noopener"> </a>.</p>`),ml=f(`<li class="slat"><span class="hint text-xs"> </span> <span class="flex items-center justify-between gap-3"><code class="min-w-0 font-mono text-xs break-all"> </code> <button type="button" class="btn btn-ghost btn-xs shrink-0"> </button></span></li>`),hl=f(`<!> <ul class="slats"></ul>`,1),gl=f(`<!> <!> <!>`,1),_l=f(`<p class="hint"> </p>`),vl=f(`<option> </option>`),yl=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="3"></textarea></label> <!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`,1),bl=f(`<code class="font-mono text-xs break-all"> </code> <!>`,1),xl=f(`<!> <!> <!> <!> <!>`,1),Sl=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full max-w-sm font-mono text-xs" rows="4"></textarea></label>`,1),Cl=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"><option> </option><option> </option><option> </option></select></label> <!>`,1),wl=f(`<!> <!> <!> <!>`,1),Tl=f(`<!> <!> <!> <!> <!> <!>`,1),El=f(`<!> <!>`,1),Dl=f(`<p class="text-sm"> </p>`),Ol=f(`<!> <!> <p class="hint"> <code class="font-mono"> </code> </p> <!>`,1),kl=f(`<span class="text-sm font-medium"> </span> <span class="hint text-xs"> </span>`,1),Al=f(`<div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-3"></div>`),jl=f(`<div class="grid gap-4"><!> <!> <!> <div class="flex gap-2 border-t border-[var(--line)] pt-5"><button type="button" class="btn btn-primary btn-sm"> </button> <!></div></div>`),Ml=f(`<div class="alert alert-error alert-soft text-sm" role="alert"> </div>`),Nl=f(`<div class="callout callout-quiet" role="status"><div class="callout-words"><strong> </strong></div> <div class="callout-actions"><button type="button" class="btn btn-sm"> </button></div></div>`),Pl=f(`<div class="callout callout-warn" role="status"><div class="callout-words"><strong> </strong> <span> </span></div></div>`),Fl=f(`<div class="callout callout-info"><div class="callout-words"><span> <!> </span></div></div>`),Il=f(`<button type="button" class="btn btn-sm"> </button>`),Ll=f(`<div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm btn-error btn-outline"> </button></div>`),Rl=f(`<div class="savebar" role="region"><span class="text-sm font-medium"> </span> <div class="flex gap-2"><button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-primary btn-sm"> </button></div></div>`),zl=f(`<!> <!> <!> <!> <div class="grid gap-4"><!></div> <!>`,1);function Bl(n,i){H(i,!0);let c=n=>{{let i=q(()=>X(`providers.form.give`,{name:t(xe)})),a=q(()=>t(de)?.guide&&t(ue)?null:X(`providers.sections.give_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=hl(),c=u(a),f=n=>{var r=pl(),i=o(r),a=l(i),c=W(a,!0);V(),J(r),s((e,n)=>{z(i,`${e??``} `),P(a,`href`,t(de).guide),z(c,n)},[()=>X(`providers.form.guide_lead`,{name:t(de).name}),()=>X(`providers.form.guide_link`,{name:t(de).name})]),e(n,r)};r(c,e=>{t(de)?.guide&&t(ue)&&e(f)});var p=l(c,2);Y(p,21,()=>t(pe)?[[X(`providers.form.acs_url`),t(ye)],[X(`providers.form.sp_entity_id`),t(be)]]:[[X(`providers.form.redirect_uri`),t(ye)]],([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=ml(),f=o(u),p=W(f,!0),m=l(f,2),h=o(m),g=W(h,!0),_=l(h,2),v=W(_,!0);J(m),J(u),s(e=>{z(p,a()),z(g,c()),z(v,e)},[()=>X(`providers.copy`)]),d(`click`,_,()=>Ve(c())),e(n,u)}),J(p),e(n,a)},$$slots:{default:!0}})}},f=n=>{var i=Tl(),a=u(i);c(a);var d=l(a,2);{let n=q(()=>X(`providers.sections.identity`)),i=q(()=>X(`providers.sections.identity_lede`));Q(d,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=gl(),o=u(a);{let e=q(()=>X(`providers.form.name`));$(o,{get label(){return t(e)},placeholder:`Acme`,get value(){return t(K).name},set value(e){t(K).name=e}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.key`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`acme`,get value(){return t(K).key},set value(e){t(K).key=e}})}};r(s,e=>{t(ue)&&e(c)});var d=l(s,2),f=n=>{var r=R(),i=u(r);Y(i,16,()=>t(de).asks,e=>e,(e,n)=>{{let r=q(()=>y[n]?.[0]??n),i=q(()=>y[n]?.[1]??``);$(e,{get label(){return t(r)},get placeholder(){return t(i)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).asked[n]},set value(e){t(K).asked[n]=e}})}}),e(n,r)};r(d,e=>{t(ue)&&!t(fe)&&e(f)}),e(n,a)},$$slots:{default:!0}})}var f=l(d,2),p=n=>{{let i=q(()=>X(`providers.form.identity_provider`)),a=q(()=>X(`providers.form.metadata_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=yl(),c=u(a);{let e=q(()=>X(`providers.form.metadata_url`)),n=q(()=>X(`providers.form.read`));$(c,{get label(){return t(e)},onsave:()=>(t(K).metadataUrl.trim()||t(K).metadataXml.trim())&&!t(le)&&Pe(),get save(){return t(n)},placeholder:`https://idp.acme.test/metadata`,autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).metadataUrl},set value(e){t(K).metadataUrl=e}})}var d=l(c,2),f=n=>{var r=_l(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.metadata_read`,{day:t(U).metadataFetchedAt?Mt(t(U).metadataFetchedAt):X(`providers.facts.never`)})]),e(n,r)};r(d,e=>{t(U)?.metadataUrl&&e(f)});var p=l(d,2),m=o(p),h=W(m,!0),g=l(m,2);ae(g),J(p);var _=l(p,2);{let e=q(()=>X(`providers.form.entity_id`));$(_,{get label(){return t(e)},get value(){return t(K).idpEntityId},set value(e){t(K).idpEntityId=e}})}var y=l(_,2);{let e=q(()=>X(`providers.form.sign_in_url`));$(y,{get label(){return t(e)},get value(){return t(K).idpSsoUrl},set value(e){t(K).idpSsoUrl=e}})}var b=l(y,2),x=o(b),S=W(x,!0),C=l(x,2);ae(C),J(b);var w=l(b,2),T=o(w),E=W(T,!0),D=l(T,2);Y(D,21,()=>v,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=vl(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(D),I(D),J(w),s((e,t,n)=>{z(h,e),z(S,t),z(E,n)},[()=>X(`providers.form.paste_metadata`),()=>X(`providers.form.certificates`),()=>X(`providers.form.name_id_format`)]),B(g,()=>t(K).metadataXml,e=>t(K).metadataXml=e),B(C,()=>t(K).idpCertificates,e=>t(K).idpCertificates=e),ee(D,()=>t(K).nameIdFormat,e=>t(K).nameIdFormat=e),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(pe)&&e(p)});var m=l(f,2),h=n=>{{let i=q(()=>X(`providers.sections.mcp`)),a=q(()=>X(`providers.form.mcp_hint`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=R(),o=u(a),c=e=>{{let n=q(()=>X(`providers.form.mcp_url`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://mcp.acme.test/mcp`,get value(){return t(K).resourceUrl},set value(e){t(K).resourceUrl=e}})}},d=n=>{var i=bl(),a=u(i),o=W(a,!0),c=l(a,2),d=n=>{var r=_l(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.registered`,{day:t(U).registeredAt?Mt(t(U).registeredAt):X(`providers.facts.never`)})]),e(n,r)};r(c,e=>{t(U)&&e(d)}),s(()=>z(o,t(K).resourceUrl)),e(n,i)};r(o,e=>{t(ue)&&t(fe)?e(c):e(d,-1)}),e(n,a)},$$slots:{default:!0}})}};r(m,e=>{t(ge)&&e(h)});var g=l(m,2),_=n=>{{let i=q(()=>X(`providers.sections.endpoints`)),a=q(()=>t(he)?X(`providers.sections.endpoints_oidc`):null);Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=xl(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.issuer`)),r=q(()=>X(`providers.form.discover`));$(e,{get label(){return t(n)},onsave:()=>t(K).issuer.trim()&&!t(le)&&Ne(),get save(){return t(r)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`https://id.acme.test`,get value(){return t(K).issuer},set value(e){t(K).issuer=e}})}};r(o,e=>{t(he)&&e(s)});var c=l(o,2);{let e=q(()=>X(`providers.form.authorization_url`));$(c,{get label(){return t(e)},get value(){return t(K).authorizationUrl},set value(e){t(K).authorizationUrl=e}})}var d=l(c,2);{let e=q(()=>X(`providers.form.token_url`));$(d,{get label(){return t(e)},get value(){return t(K).tokenUrl},set value(e){t(K).tokenUrl=e}})}var f=l(d,2);{let e=q(()=>X(`providers.form.userinfo_url`)),n=q(()=>t(me)?``:X(`providers.form.optional`));$(f,{get label(){return t(e)},get placeholder(){return t(n)},get value(){return t(K).userinfoUrl},set value(e){t(K).userinfoUrl=e}})}var p=l(f,2),m=e=>{{let n=q(()=>X(`providers.form.emails_url`)),r=q(()=>X(`providers.form.optional`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).emailsUrl},set value(e){t(K).emailsUrl=e}})}},h=e=>{{let n=q(()=>X(`providers.form.jwks_uri`)),r=q(()=>X(`providers.form.discovered_if_empty`));$(e,{get label(){return t(n)},get placeholder(){return t(r)},get value(){return t(K).jwksUri},set value(e){t(K).jwksUri=e}})}};r(p,e=>{t(me)?e(m):e(h,-1)}),e(n,a)},$$slots:{default:!0}})}};r(g,e=>{t(fe)&&!t(pe)&&!t(ge)&&e(_)});var b=l(g,2),x=n=>{{let i=q(()=>X(`providers.form.credentials`)),a=q(()=>X(`providers.sections.credentials_lede`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=wl(),c=u(a);{let e=q(()=>t(_e)?X(`providers.form.services_id`):X(`providers.form.client_id`));$(c,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).clientId},set value(e){t(K).clientId=e}})}var d=l(c,2),f=e=>{{let n=q(()=>X(`providers.form.client_secret`)),r=q(()=>t(ue)?``:t(U)?.secretHeld?X(`providers.form.unchanged`):``);$(e,{get label(){return t(n)},type:`password`,autocomplete:`off`,get placeholder(){return t(r)},get value(){return t(K).clientSecret},set value(e){t(K).clientSecret=e}})}};r(d,e=>{t(He)&&e(f)});var p=l(d,2),m=n=>{var r=Sl(),i=u(r);{let e=q(()=>X(`providers.form.team_id`));$(i,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).teamId},set value(e){t(K).teamId=e}})}var a=l(i,2);{let e=q(()=>X(`providers.form.key_id`));$(a,{get label(){return t(e)},autocomplete:`off`,get value(){return t(K).keyId},set value(e){t(K).keyId=e}})}var c=l(a,2),d=o(c),f=W(d,!0),p=l(d,2);ae(p),J(c),s((e,t)=>{z(f,e),P(p,`placeholder`,t)},[()=>X(`providers.form.private_key`),()=>t(ue)?`-----BEGIN PRIVATE KEY-----`:X(`providers.form.unchanged`)]),B(p,()=>t(K).privateKey,e=>t(K).privateKey=e),e(n,r)};r(p,e=>{t(_e)&&e(m)});var h=l(p,2),g=n=>{var r=Cl(),i=u(r),a=o(i),c=W(a,!0),d=l(a,2),f=o(d),p=W(f,!0);f.value=f.__value=`client_secret_post`;var m=l(f),h=W(m,!0);m.value=m.__value=`client_secret_basic`;var g=l(m),_=W(g,!0);g.value=g.__value=`signed_secret`,J(d),I(d),J(i);var v=l(i,2);{let e=q(()=>X(`providers.form.extra_scopes`)),n=q(()=>t(he)?X(`providers.form.oidc_scopes`):`read:user`);$(v,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).scopes},set value(e){t(K).scopes=e}})}s((e,t,n,r)=>{z(c,e),z(p,t),z(h,n),z(_,r)},[()=>X(`providers.form.sends_secret`),()=>X(`providers.form.secret_post`),()=>X(`providers.form.secret_basic`),()=>X(`providers.form.secret_signed`)]),ee(d,()=>t(K).tokenAuthMethod,e=>t(K).tokenAuthMethod=e),e(n,r)};r(h,e=>{t(fe)&&e(g)}),e(n,a)},$$slots:{default:!0}})}};r(b,e=>{!t(pe)&&!t(ge)&&e(x)}),e(n,i)},p=n=>{var i=wl(),a=u(i);{let n=q(()=>X(`providers.sections.accounts`)),i=q(()=>X(`providers.form.owns_hint`,{name:t(xe)}));Q(a,{row:!0,get title(){return t(n)},get lede(){return t(i)},children:(n,i)=>{var a=El(),o=u(a);{let e=q(()=>X(`providers.form.owns`,{name:t(xe)}));ul(o,()=>t(K).role===`delegate`,()=>e=>t(K).role=e?`delegate`:`credential`,()=>t(e),()=>null)}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.form.signup_scopes`));$(e,{get label(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`openid profile email offline_access identities`,get value(){return t(K).signupScopes},set value(e){t(K).signupScopes=e}})}};r(s,e=>{t(K).role===`delegate`&&e(c)}),e(n,a)},$$slots:{default:!0}})}var o=l(a,2);{let n=q(()=>X(`providers.sections.addresses`));Q(o,{row:!0,get title(){return t(n)},children:(n,i)=>{var a=El(),o=u(a),s=e=>{{let n=q(()=>X(`providers.form.trusts_email`)),r=q(()=>X(`providers.form.trusts_email_hint`));ul(e,()=>t(K).trustsEmail,()=>e=>t(K).trustsEmail=e,()=>t(n),()=>t(r))}};r(o,e=>{t(pe)||e(s)});var c=l(o,2);{let e=q(()=>t(pe)?X(`providers.form.saml_domains`):X(`providers.form.domains`)),n=q(()=>X(`providers.form.any_domain`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).emailDomains},set value(e){t(K).emailDomains=e}})}e(n,a)},$$slots:{default:!0}})}var s=l(o,2),c=e=>{{let n=q(()=>X(`providers.sections.signals`));Q(e,{row:!0,get title(){return t(n)},children:(e,n)=>{{let n=q(()=>X(`providers.form.signals`)),r=q(()=>`${X(`providers.form.signals_lead`)} ${ve}/ssf/events. ${X(`providers.form.signals_rest`)}`);ul(e,()=>t(K).receivesSignals,()=>e=>t(K).receivesSignals=e,()=>t(n),()=>t(r))}},$$slots:{default:!0}})}};r(s,e=>{t(he)&&e(c)});var d=l(s,2),f=n=>{{let r=q(()=>X(`providers.form.claims`)),i=q(()=>X(`providers.sections.claims_lede`));Q(n,{row:!0,get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=El(),a=u(i);{let e=q(()=>t(pe)?X(`providers.form.subject_saml`):t(he)?X(`providers.form.subject_oidc`):X(`providers.form.subject_path`));$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).subjectClaim},set value(e){t(K).subjectClaim=e}})}var o=l(a,2);Y(o,17,()=>_.filter(([e])=>!(t(pe)&&e===`email_verified`)),([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(pe)?X(`providers.form.attribute_name`):i());$(e,{get label(){return a()},get placeholder(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(K).claims[i()]},set value(e){t(K).claims[i()]=e}})}}),e(n,i)},$$slots:{default:!0}})}};r(d,e=>{t(fe)&&e(f)}),e(n,i)},m=n=>{{let i=q(()=>X(`providers.sections.delegation`)),a=q(()=>X(`providers.form.delegates_hint`,{name:t(xe)}));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=El(),c=u(a),d=e=>{{let n=q(()=>X(`providers.form.delegates`,{name:t(xe)}));ul(e,()=>t(K).delegates,()=>e=>t(K).delegates=e,()=>t(n),()=>null)}};r(c,e=>{t(ge)||e(d)});var f=l(c,2),p=n=>{var i=Ol(),a=u(i);{let e=q(()=>X(`providers.form.delegated_scopes`)),n=q(()=>t(ge)?X(`providers.form.server_grants`):`https://www.googleapis.com/auth/drive.readonly`);$(a,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(K).delegatedScopes},set value(e){t(K).delegatedScopes=e}})}var c=l(a,2);{let e=q(()=>X(`providers.form.delegation_params`));$(c,{get label(){return t(e)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,placeholder:`access_type=offline prompt=consent`,get value(){return t(K).delegationParams},set value(e){t(K).delegationParams=e}})}var d=l(c,2),f=o(d),p=l(f),m=W(p),h=l(p);J(d);var g=l(d,2),_=n=>{var r=Dl(),i=W(r,!0);s(e=>z(i,e),[()=>X(`providers.facts.delegations_count`,{count:t(U).delegations})]),e(n,r)};r(g,e=>{t(U)&&e(_)}),s((e,t,n)=>{z(f,`${e??``} `),z(m,`masks:delegate:${t??``}`),z(h,`.
424
452
  ${n??``}`)},[()=>X(`providers.form.delegation_asks`),()=>t(K).key.trim()||`key`,()=>X(`providers.form.delegation_reconnect`)]),e(n,i)};r(f,e=>{(t(K).delegates||t(ge))&&e(p)}),e(n,a)},$$slots:{default:!0}})}},h=L(i,`part`,3,null),g=ct(),_=[`email`,`email_verified`,`name`,`given_name`,`family_name`,`preferred_username`,`picture`].map(e=>[e,X(`providers.claims.${e}`)]),v=[[``,X(`providers.name_id_formats.any`)],[`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`,X(`providers.name_id_formats.persistent`)],[`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`,X(`providers.name_id_formats.email`)],[`urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`,X(`providers.name_id_formats.unspecified`)]],y={domain:[X(`providers.asked.domain`),`acme.okta.com`],tenant:[X(`providers.asked.tenant`),`00000000-0000-0000-0000-000000000000`],realm:[X(`providers.asked.realm`),`staff`]},T=`providerPresets { key name protocol asks needs defaults guide custom trustsEmail delegates delegatedScopes }`,E=`
425
453
  query Provider($key: ID!) {
426
454
  provider(key: $key) {
@@ -448,7 +476,7 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
448
476
  mutation Update(${k([[`key`,`ID!`]])}) {
449
477
  updateProvider(${A([[`key`,`ID!`]])}) { provider { key } }
450
478
  }
451
- `,F=e=>Object.entries(e??{}).map(([e,t])=>`${e}=${t}`).join(` `),te=e=>({key:e.custom?``:e.key,name:e.custom?``:e.name,preset:e.custom?null:e.key,protocol:e.protocol,asked:{...e.defaults},authorizationUrl:``,tokenUrl:``,userinfoUrl:``,emailsUrl:``,clientId:``,clientSecret:``,scopes:``,subjectClaim:e.protocol===`oidc`?`sub`:e.protocol===`saml`?`name_id`:`id`,claims:Object.fromEntries(_.map(([e])=>[e,``])),issuer:``,jwksUri:``,tokenAuthMethod:e.needs.includes(`private_key`)?`signed_secret`:`client_secret_post`,responseMode:``,teamId:``,keyId:``,privateKey:``,idpEntityId:``,idpSsoUrl:``,idpCertificates:``,metadataUrl:``,metadataXml:``,nameIdFormat:``,role:`credential`,trustsEmail:!!e.trustsEmail,receivesSignals:!1,emailDomains:``,signupScopes:``,delegates:!!e.delegates,delegatedScopes:(e.delegatedScopes??[]).join(` `),delegationParams:``,resourceUrl:``}),ne=e=>({...te({key:e.key,name:e.name,protocol:e.protocol,needs:[],defaults:{},custom:!0}),key:e.key,name:e.name,preset:e.preset,authorizationUrl:e.authorizationUrl??``,tokenUrl:e.tokenUrl??``,userinfoUrl:e.userinfoUrl??``,emailsUrl:e.emailsUrl??``,clientId:e.clientId??``,scopes:e.scopes.join(` `),subjectClaim:e.subjectClaim,claims:{...Object.fromEntries(_.map(([e])=>[e,``])),...e.claims},issuer:e.issuer??``,jwksUri:e.jwksUri??``,tokenAuthMethod:e.tokenAuthMethod,responseMode:e.responseMode??``,teamId:e.teamId??``,keyId:e.keyId??``,idpEntityId:e.idpEntityId??``,idpSsoUrl:e.idpSsoUrl??``,idpCertificates:e.idpCertificates??``,metadataUrl:e.metadataUrl??``,nameIdFormat:e.nameIdFormat??``,role:e.role,trustsEmail:e.trustsEmail,receivesSignals:e.receivesSignals,emailDomains:e.emailDomains.join(` `),signupScopes:e.signupScopes.join(` `),delegates:e.delegates,delegatedScopes:e.delegatedScopes.join(` `),delegationParams:F(e.delegationParams),resourceUrl:e.resourceUrl??``}),re=Ct(),U=w(null),G=w(C([])),oe=w(C([])),K=w(null),se=w(``),ce=w(!0),le=w(!1),ue=q(()=>i.providerKey===`new`),de=q(()=>t(ue)?t(oe).find(e=>e.key===h())??null:t(oe).find(e=>e.key===t(U)?.preset)??null),fe=q(()=>!t(ue)||!!t(de)?.custom),pe=q(()=>t(K)?.protocol===`saml`),me=q(()=>t(K)?.protocol===`oauth2`),he=q(()=>t(K)?.protocol===`oidc`),ge=q(()=>t(K)?.protocol===`mcp`),_e=q(()=>t(K)?.tokenAuthMethod===`signed_secret`),ve=typeof window>`u`?``:window.location.origin,ye=q(()=>`${ve}/login/provider/${t(K)?.key?.trim()||`…`}/callback`),be=q(()=>`${ve}/login/provider/${t(K)?.key?.trim()||`…`}/metadata`),xe=q(()=>t(K)?.name.trim()||X(`providers.form.the_provider`)),Se=q(()=>!(!t(K)||t(ue)||JSON.stringify(t(K))===t(se))),Ce=q(()=>[[null,``,X(`providers.parts.setup`)],!t(ge)&&[`sign-in`,`/sign-in`,X(`providers.parts.sign_in`)],!t(pe)&&[`clients`,`/clients`,X(`providers.parts.clients`)],[`accounts`,`/accounts`,X(`providers.parts.accounts`,{count:t(G).length})]].filter(Boolean)),we=q(()=>t(oe).filter(e=>!e.custom)),Te=q(()=>t(oe).filter(e=>e.custom));async function Ee(){S(ce,!0);let e=await re.attempt(()=>t(ue)?i.api.query(`query Presets { ${T} }`):i.api.query(E,{key:i.providerKey}));if(S(ce,!1),e){if(S(oe,e.providerPresets,!0),t(ue)){S(U,null),S(G,[],!0);return}S(U,e.provider,!0),S(G,e.connections,!0),S(K,t(U)?ne(t(U)):null,!0),S(se,JSON.stringify(t(K)),!0)}}b(()=>{i.providerKey,x(Ee)}),b(()=>{if(!t(ue))return;let e=t(de);x(()=>{S(K,e?te(e):null,!0)})});let De=e=>e?.trim()||null,Oe=e=>e.split(/[\s,]+/).filter(Boolean),ke=e=>Object.fromEntries(Oe(e).map(e=>e.split(`=`)).filter(([e,t])=>e&&t!==void 0).map(([e,...t])=>[e,t.join(`=`)])),Ae=()=>Object.fromEntries(Object.entries(t(K).claims).map(([e,t])=>[e,t?.trim()]).filter(([,e])=>e)),je=()=>({idpEntityId:De(t(K).idpEntityId),idpSsoUrl:De(t(K).idpSsoUrl),idpCertificates:De(t(K).idpCertificates),nameIdFormat:De(t(K).nameIdFormat)});function Me(){let e={key:t(K).key.trim(),name:t(K).name.trim(),role:t(K).role,trustsEmail:!t(pe)&&t(K).trustsEmail,receivesSignals:t(he)?t(K).receivesSignals:!1,emailDomains:Oe(t(K).emailDomains),signupScopes:Oe(t(K).signupScopes),clientSecret:De(t(K).clientSecret),privateKey:De(t(K).privateKey),delegates:t(pe)?!1:t(ge)||t(K).delegates,delegatedScopes:t(pe)?[]:Oe(t(K).delegatedScopes),delegationParams:t(pe)?{}:ke(t(K).delegationParams)};return t(ue)&&!t(fe)?{...e,preset:t(K).preset,presetValues:t(K).asked,clientId:De(t(K).clientId),teamId:De(t(K).teamId),keyId:De(t(K).keyId),metadataUrl:De(t(K).metadataUrl),...t(pe)?je():{},...t(ge)?{resourceUrl:De(t(K).resourceUrl)}:{}}:{...e,protocol:t(K).protocol,authorizationUrl:t(pe)?null:De(t(K).authorizationUrl),tokenUrl:t(pe)?null:De(t(K).tokenUrl),userinfoUrl:t(pe)?null:De(t(K).userinfoUrl),emailsUrl:t(me)?De(t(K).emailsUrl):null,clientId:t(pe)?null:De(t(K).clientId),scopes:t(pe)?[]:Oe(t(K).scopes),subjectClaim:t(K).subjectClaim.trim(),claims:Ae(),issuer:t(he)?De(t(K).issuer):null,jwksUri:t(he)?De(t(K).jwksUri):null,tokenAuthMethod:t(K).tokenAuthMethod,responseMode:De(t(K).responseMode),teamId:t(_e)?De(t(K).teamId):null,keyId:t(_e)?De(t(K).keyId):null,metadataUrl:t(pe)?De(t(K).metadataUrl):null,nameIdFormat:t(pe)?De(t(K).nameIdFormat):null,resourceUrl:t(ge)?De(t(K).resourceUrl):null,...t(pe)?je():{idpEntityId:null,idpSsoUrl:null,idpCertificates:null}}}async function Ne(){S(le,!0);let e=await re.attempt(()=>i.api.query(`
479
+ `,F=e=>Object.entries(e??{}).map(([e,t])=>`${e}=${t}`).join(` `),te=e=>({key:e.custom?``:e.key,name:e.custom?``:e.name,preset:e.custom?null:e.key,protocol:e.protocol,asked:{...e.defaults},authorizationUrl:``,tokenUrl:``,userinfoUrl:``,emailsUrl:``,clientId:``,clientSecret:``,scopes:``,subjectClaim:e.protocol===`oidc`?`sub`:e.protocol===`saml`?`name_id`:`id`,claims:Object.fromEntries(_.map(([e])=>[e,``])),issuer:``,jwksUri:``,tokenAuthMethod:e.needs.includes(`private_key`)?`signed_secret`:`client_secret_post`,responseMode:``,teamId:``,keyId:``,privateKey:``,idpEntityId:``,idpSsoUrl:``,idpCertificates:``,metadataUrl:``,metadataXml:``,nameIdFormat:``,role:`credential`,trustsEmail:!!e.trustsEmail,receivesSignals:!1,emailDomains:``,signupScopes:``,delegates:!!e.delegates,delegatedScopes:(e.delegatedScopes??[]).join(` `),delegationParams:``,resourceUrl:``}),ne=e=>({...te({key:e.key,name:e.name,protocol:e.protocol,needs:[],defaults:{},custom:!0}),key:e.key,name:e.name,preset:e.preset,authorizationUrl:e.authorizationUrl??``,tokenUrl:e.tokenUrl??``,userinfoUrl:e.userinfoUrl??``,emailsUrl:e.emailsUrl??``,clientId:e.clientId??``,scopes:e.scopes.join(` `),subjectClaim:e.subjectClaim,claims:{...Object.fromEntries(_.map(([e])=>[e,``])),...e.claims},issuer:e.issuer??``,jwksUri:e.jwksUri??``,tokenAuthMethod:e.tokenAuthMethod,responseMode:e.responseMode??``,teamId:e.teamId??``,keyId:e.keyId??``,idpEntityId:e.idpEntityId??``,idpSsoUrl:e.idpSsoUrl??``,idpCertificates:e.idpCertificates??``,metadataUrl:e.metadataUrl??``,nameIdFormat:e.nameIdFormat??``,role:e.role,trustsEmail:e.trustsEmail,receivesSignals:e.receivesSignals,emailDomains:e.emailDomains.join(` `),signupScopes:e.signupScopes.join(` `),delegates:e.delegates,delegatedScopes:e.delegatedScopes.join(` `),delegationParams:F(e.delegationParams),resourceUrl:e.resourceUrl??``}),re=Ct(),U=w(null),G=w(C([])),oe=w(C([])),K=w(null),se=w(``),ce=w(!0),le=w(!1),ue=q(()=>i.providerKey===`new`),de=q(()=>t(ue)?t(oe).find(e=>e.key===h())??null:t(oe).find(e=>e.key===t(U)?.preset)??null),fe=q(()=>!t(ue)||!!t(de)?.custom),pe=q(()=>t(K)?.protocol===`saml`),me=q(()=>t(K)?.protocol===`oauth2`),he=q(()=>t(K)?.protocol===`oidc`),ge=q(()=>t(K)?.protocol===`mcp`),_e=q(()=>t(K)?.tokenAuthMethod===`signed_secret`),ve=typeof window>`u`?``:window.location.origin,ye=q(()=>`${ve}/login/provider/${t(K)?.key?.trim()||`…`}/callback`),be=q(()=>`${ve}/login/provider/${t(K)?.key?.trim()||`…`}/metadata`),xe=q(()=>t(K)?.name.trim()||X(`providers.form.the_provider`)),Se=q(()=>!(!t(K)||t(ue)||JSON.stringify(t(K))===t(se))),Ce=q(()=>[[null,``,X(`providers.parts.setup`)],!t(ge)&&[`sign-in`,`/sign-in`,X(`providers.parts.sign_in`)],!t(pe)&&[`clients`,`/clients`,X(`providers.parts.clients`)],[`accounts`,`/accounts`,X(`providers.parts.accounts`,{count:t(G).length})]].filter(Boolean)),we=q(()=>t(oe).filter(e=>!e.custom)),Te=q(()=>t(oe).filter(e=>e.custom));async function Ee(){S(ce,!0);let e=await re.attempt(()=>t(ue)?i.api.query(`query Presets { ${T} }`):i.api.query(E,{key:i.providerKey}));S(ce,!1),e&&(S(oe,e.providerPresets,!0),t(ue)?(S(U,null),S(G,[],!0)):(S(U,e.provider,!0),S(G,e.connections,!0),S(K,t(U)?ne(t(U)):null,!0),S(se,JSON.stringify(t(K)),!0)))}b(()=>{i.providerKey,x(Ee)}),b(()=>{if(!t(ue))return;let e=t(de);x(()=>{S(K,e?te(e):null,!0)})});let De=e=>e?.trim()||null,Oe=e=>e.split(/[\s,]+/).filter(Boolean),ke=e=>Object.fromEntries(Oe(e).map(e=>e.split(`=`)).filter(([e,t])=>e&&t!==void 0).map(([e,...t])=>[e,t.join(`=`)])),Ae=()=>Object.fromEntries(Object.entries(t(K).claims).map(([e,t])=>[e,t?.trim()]).filter(([,e])=>e)),je=()=>({idpEntityId:De(t(K).idpEntityId),idpSsoUrl:De(t(K).idpSsoUrl),idpCertificates:De(t(K).idpCertificates),nameIdFormat:De(t(K).nameIdFormat)});function Me(){let e={key:t(K).key.trim(),name:t(K).name.trim(),role:t(K).role,trustsEmail:!t(pe)&&t(K).trustsEmail,receivesSignals:t(he)?t(K).receivesSignals:!1,emailDomains:Oe(t(K).emailDomains),signupScopes:Oe(t(K).signupScopes),clientSecret:De(t(K).clientSecret),privateKey:De(t(K).privateKey),delegates:t(pe)?!1:t(ge)||t(K).delegates,delegatedScopes:t(pe)?[]:Oe(t(K).delegatedScopes),delegationParams:t(pe)?{}:ke(t(K).delegationParams)};return t(ue)&&!t(fe)?{...e,preset:t(K).preset,presetValues:t(K).asked,clientId:De(t(K).clientId),teamId:De(t(K).teamId),keyId:De(t(K).keyId),metadataUrl:De(t(K).metadataUrl),...t(pe)?je():{},...t(ge)?{resourceUrl:De(t(K).resourceUrl)}:{}}:{...e,protocol:t(K).protocol,authorizationUrl:t(pe)?null:De(t(K).authorizationUrl),tokenUrl:t(pe)?null:De(t(K).tokenUrl),userinfoUrl:t(pe)?null:De(t(K).userinfoUrl),emailsUrl:t(me)?De(t(K).emailsUrl):null,clientId:t(pe)?null:De(t(K).clientId),scopes:t(pe)?[]:Oe(t(K).scopes),subjectClaim:t(K).subjectClaim.trim(),claims:Ae(),issuer:t(he)?De(t(K).issuer):null,jwksUri:t(he)?De(t(K).jwksUri):null,tokenAuthMethod:t(K).tokenAuthMethod,responseMode:De(t(K).responseMode),teamId:t(_e)?De(t(K).teamId):null,keyId:t(_e)?De(t(K).keyId):null,metadataUrl:t(pe)?De(t(K).metadataUrl):null,nameIdFormat:t(pe)?De(t(K).nameIdFormat):null,resourceUrl:t(ge)?De(t(K).resourceUrl):null,...t(pe)?je():{idpEntityId:null,idpSsoUrl:null,idpCertificates:null}}}async function Ne(){S(le,!0);let e=await re.attempt(()=>i.api.query(`
452
480
  mutation Discover($issuer: String!) {
453
481
  discoverProvider(issuer: $issuer) { issuer authorizationUrl tokenUrl userinfoUrl jwksUri }
454
482
  }
@@ -456,8 +484,8 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
456
484
  mutation Metadata($metadataUrl: String, $metadataXml: String) {
457
485
  readSamlMetadata(metadataUrl: $metadataUrl, metadataXml: $metadataXml) { idpEntityId idpSsoUrl idpCertificates }
458
486
  }
459
- `,{metadataUrl:De(t(K).metadataUrl),metadataXml:De(t(K).metadataXml)}),X(`providers.notices.metadata_read`));S(le,!1),e&&(Object.assign(t(K),e.readSamlMetadata),t(K).metadataXml=``)}async function Fe(){S(le,!0);let e=t(ue),n=t(K).key.trim(),r=await re.attempt(()=>i.api.query(e?M:N,Me()),e?t(ge)?X(`providers.notices.registered`,{name:t(K).name}):X(`providers.notices.added`,{name:t(K).name}):X(`providers.notices.saved`,{name:t(K).name}));S(le,!1),r&&(e?g.go(`/providers/${n}`):await Ee())}let Ie=()=>{S(K,JSON.parse(t(se)),!0)};async function Le(e,n,r=null){(!r||confirm(r))&&await re.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { provider { key } } }`,{key:t(U).key}),n)&&await Ee()}let Re=()=>Le(`archiveProvider`,X(`providers.notices.archived`,{name:t(U).name}),X(`providers.confirm.archive`,{name:t(U).name})),ze=()=>Le(`restoreProvider`,X(`providers.notices.restored`,{name:t(U).name})),Be=()=>Le(`registerProvider`,X(`providers.notices.reregistered`,{name:t(U).name}),X(`providers.confirm.register`,{name:t(U).name})),Ve=e=>navigator.clipboard?.writeText(e),He=q(()=>!t(pe)&&!t(ge)&&!t(_e)&&(!t(ue)||(t(de)?.needs??[`client_secret`]).includes(`client_secret`))),Ue=q(()=>!t(K)?.key.trim()||!t(K).name.trim()?!1:t(ue)&&!t(fe)?(t(de)?.asks??[]).every(e=>t(K).asked[e]?.trim()):t(pe)?t(K).idpEntityId.trim()&&t(K).idpSsoUrl.trim()&&t(K).idpCertificates.trim():t(ge)?!t(ue)||t(K).resourceUrl.trim():t(K).clientId.trim()&&t(K).authorizationUrl.trim()&&t(K).tokenUrl.trim()),We=q(()=>t(U)?[wc(t(U).protocol),t(U).protocol===`mcp`?X(`providers.roles.never`):t(U).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)].join(` · `):null);var Ge=R(),Ke=u(Ge),qe=n=>{{let i=q(()=>t(de)?X(`providers.form.add_title`,{name:t(de).custom?wc(t(de).protocol):t(de).name}):X(`providers.add`)),c=q(()=>({to:t(de)?`/providers/new`:`/providers`,label:t(de)?X(`providers.picker.back`):X(`providers.back`)})),h=q(()=>t(de)?null:X(`providers.picker.help`));zn(n,{get title(){return t(i)},get back(){return t(c)},get lede(){return t(h)},children:(n,i)=>{var c=Xc(),h=u(c);Nn(h,{get feedback(){return re.state}});var g=l(h,2),_=e=>{mt(e,{})},v=n=>{var i=R(),a=u(i);Y(a,17,()=>[[X(`providers.picker.known`),t(we)],[X(`providers.picker.generic`),t(Te)]],([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];var d=R(),f=u(d),p=n=>{Q(n,{get title(){return o()},children:(n,r)=>{var i=el();Y(i,21,c,e=>e.key,(n,r)=>{{let i=q(()=>`/providers/new/${t(r).key}`);Z(n,{get to(){return t(i)},class:`sheet sheet-press flex items-baseline justify-between gap-3 px-4 py-3 no-underline`,children:(n,i)=>{var a=$c(),o=u(a),c=W(o,!0),d=l(o,2),f=W(d,!0);s((e,t)=>{z(c,e),z(f,t)},[()=>t(r).custom?wc(t(r).protocol):t(r).name,()=>t(r).custom?``:wc(t(r).protocol)]),e(n,a)},$$slots:{default:!0}})}}),J(i),e(n,i)},$$slots:{default:!0}})};r(f,e=>{c().length&&e(p)}),e(n,d)}),e(n,i)},y=n=>{var i=tl(),c=o(i);f(c);var u=l(c,2),h=e=>{p(e)};r(u,e=>{t(ge)||e(h)});var g=l(u,2),_=e=>{m(e)};r(g,e=>{t(pe)||e(_)});var v=l(g,2),y=o(v),b=W(y,!0);Z(l(y,2),{to:`/providers`,class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`providers.cancel`)]),e(t,r)},$$slots:{default:!0}}),J(v),J(i),s(e=>{y.disabled=t(le)||!t(Ue),z(b,e)},[()=>t(le)?X(`providers.form.saving`):X(`providers.form.add`)]),d(`click`,y,Fe),e(n,i)};r(g,e=>{t(ce)?e(_):t(de)?t(K)&&e(y,2):e(v,1)}),e(n,c)},$$slots:{default:!0}})}},Je=e=>{mt(e,{})},Ye=t=>{var n=nl(),r=W(n,!0);s(e=>z(r,e),[()=>re.state.failure??X(`providers.missing`)]),e(t,n)},Xe=n=>{{let c=e=>{{let n=q(()=>Ec(t(U)));_t(e,{get marks(){return t(n)}})}},g=q(()=>({to:`/providers`,label:X(`providers.back`)}));zn(n,{get title(){return t(U).name},get id(){return t(U).key},get back(){return t(g)},get lede(){return t(We)},after:c,children:(n,c)=>{var g=ll(),_=u(g);Nn(_,{get feedback(){return re.state}});var v=l(_,2),y=n=>{var r=rl(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`providers.callouts.archived`,{day:Mt(t(U).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,f,ze),e(n,r)},b=n=>{var r=il(),i=o(r),a=o(i),c=W(a,!0),u=l(a,2),d=W(u,!0);J(i),J(r),s((e,t)=>{z(c,e),z(d,t)},[()=>X(`providers.callouts.no_secret`),()=>X(`providers.callouts.no_secret_detail`,{name:t(U).name})]),e(n,r)},x=q(()=>Tc(t(U)));r(v,e=>{t(U).archivedAt?e(y):t(x)&&e(b,1)});var S=l(v,2),C=n=>{var r=al(),i=o(r),c=o(i),u=o(c),d=l(u);{let n=q(()=>`/organizations/${t(U).organization.key}`);Z(d,{get to(){return t(n)},children:(n,r)=>{V();var i=a();s(()=>z(i,t(U).organization.name)),e(n,i)},$$slots:{default:!0}})}var f=l(d);J(c),J(i),J(r),s((e,t)=>{z(u,`${e??``} `),z(f,`.
460
- ${t??``}`)},[()=>X(`providers.callouts.organization_lead`),()=>X(`providers.callouts.organization_rest`)]),e(n,r)};r(S,e=>{t(U).organization&&e(C)});var w=l(S,2);{let e=q(()=>`/providers/${t(U).key}`),n=q(()=>X(`providers.parts.label`));ti(w,{get base(){return t(e)},get part(){return h()},get parts(){return t(Ce)},get label(){return t(n)}})}var T=l(w,2),E=o(T),D=e=>{p(e)},O=e=>{m(e)},k=e=>{Q(e,{children:(e,n)=>{dr(e,{get api(){return i.api},get feedback(){return re},get rows(){return t(G)},onchange:Ee,showActor:!0})},$$slots:{default:!0}})},A=n=>{var i=Xc(),a=u(i);f(a);var c=l(a,2),p=n=>{{let i=q(()=>X(`providers.danger`)),a=q(()=>t(ge)?X(`providers.danger_lede_mcp`):X(`providers.danger_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=sl(),c=o(a),u=t=>{var n=ol(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.register`)]),d(`click`,n,Be),e(t,n)};r(c,e=>{t(ge)&&e(u)});var f=l(c,2),p=W(f,!0);J(a),s(e=>z(p,e),[()=>X(`providers.archive`)]),d(`click`,f,Re),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(U).archivedAt||e(p)}),e(n,i)};r(E,e=>{h()===`sign-in`&&!t(ge)?e(D):h()===`clients`&&!t(pe)?e(O,1):h()===`accounts`?e(k,2):e(A,-1)}),J(T);var j=l(T,2),M=n=>{var r=cl(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0);J(c),J(r),s((e,n,i,o)=>{P(r,`aria-label`,e),z(a,n),z(f,i),p.disabled=t(le)||!t(Ue),z(m,o)},[()=>X(`providers.unsaved`),()=>X(`providers.unsaved`),()=>X(`providers.discard`),()=>t(le)?X(`providers.form.saving`):X(`providers.form.save`)]),d(`click`,u,Ie),d(`click`,p,Fe),e(n,r)};r(j,e=>{t(Se)&&e(M)}),e(n,g)},$$slots:{after:!0,default:!0}})}};r(Ke,e=>{t(ue)?e(qe):t(ce)&&!t(U)?e(Je,1):t(U)?e(Xe,-1):e(Ye,2)}),e(n,Ge),D()}c([`change`,`click`]);var dl=f(`<option> </option>`),fl=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),pl=f(`<p class="hint"> </p>`),ml=f(`<div class="flex flex-col gap-1 sm:col-span-2"><!> <!></div>`),hl=f(`<div class="flex flex-col gap-1"><!> <!></div>`),gl=f(`<!> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <div class="grid gap-3 sm:grid-cols-2"></div> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),_l=f(`<button type="button" class="btn btn-sm"> </button>`),vl=f(`<span class="badge badge-success badge-sm"> </span>`),yl=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),bl=f(`<div class="flex flex-col gap-3 sheet p-3"><div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><span class="font-medium"> <!></span> <span class="hint"> <span class="font-mono"> </span> </span></div> <div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div> <!></div>`),xl=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="text-sm"> <span class="hint"> </span></span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Sl=f(`<!> <!> <!>`,1),Cl=f(`<div class="console-page"><!> <!></div>`);function wl(n,i){H(i,!0);let a=`key name kind service label primary settings secretsHeld archivedAt createdAt`,c=`
487
+ `,{metadataUrl:De(t(K).metadataUrl),metadataXml:De(t(K).metadataXml)}),X(`providers.notices.metadata_read`));S(le,!1),e&&(Object.assign(t(K),e.readSamlMetadata),t(K).metadataXml=``)}async function Fe(){S(le,!0);let e=t(ue),n=t(K).key.trim(),r=await re.attempt(()=>i.api.query(e?M:N,Me()),e?t(ge)?X(`providers.notices.registered`,{name:t(K).name}):X(`providers.notices.added`,{name:t(K).name}):X(`providers.notices.saved`,{name:t(K).name}));S(le,!1),r&&(e?g.go(`/providers/${n}`):await Ee())}let Ie=()=>{S(K,JSON.parse(t(se)),!0)};async function Le(e,n,r=null){(!r||confirm(r))&&await re.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { provider { key } } }`,{key:t(U).key}),n)&&await Ee()}let Re=()=>Le(`archiveProvider`,X(`providers.notices.archived`,{name:t(U).name}),X(`providers.confirm.archive`,{name:t(U).name})),ze=()=>Le(`restoreProvider`,X(`providers.notices.restored`,{name:t(U).name})),Be=()=>Le(`registerProvider`,X(`providers.notices.reregistered`,{name:t(U).name}),X(`providers.confirm.register`,{name:t(U).name})),Ve=e=>navigator.clipboard?.writeText(e),He=q(()=>!t(pe)&&!t(ge)&&!t(_e)&&(!t(ue)||(t(de)?.needs??[`client_secret`]).includes(`client_secret`))),Ue=q(()=>!t(K)?.key.trim()||!t(K).name.trim()?!1:t(ue)&&!t(fe)?(t(de)?.asks??[]).every(e=>t(K).asked[e]?.trim()):t(pe)?t(K).idpEntityId.trim()&&t(K).idpSsoUrl.trim()&&t(K).idpCertificates.trim():t(ge)?!t(ue)||t(K).resourceUrl.trim():t(K).clientId.trim()&&t(K).authorizationUrl.trim()&&t(K).tokenUrl.trim()),We=q(()=>t(U)?[el(t(U).protocol),t(U).protocol===`mcp`?X(`providers.roles.never`):t(U).role===`delegate`?X(`providers.roles.owns`):X(`providers.roles.existing`)].join(` · `):null);var Ge=R(),Ke=u(Ge),qe=n=>{{let i=q(()=>t(de)?X(`providers.form.add_title`,{name:t(de).custom?el(t(de).protocol):t(de).name}):X(`providers.add`)),c=q(()=>({to:t(de)?`/providers/new`:`/providers`,label:t(de)?X(`providers.picker.back`):X(`providers.back`)})),h=q(()=>t(de)?null:X(`providers.picker.help`));zn(n,{get title(){return t(i)},get back(){return t(c)},get lede(){return t(h)},children:(n,i)=>{var c=El(),h=u(c);Nn(h,{get feedback(){return re.state}});var g=l(h,2),_=e=>{mt(e,{})},v=n=>{var i=R(),a=u(i);Y(a,17,()=>[[X(`providers.picker.known`),t(we)],[X(`providers.picker.generic`),t(Te)]],([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];var d=R(),f=u(d),p=n=>{Q(n,{get title(){return o()},children:(n,r)=>{var i=Al();Y(i,21,c,e=>e.key,(n,r)=>{{let i=q(()=>`/providers/new/${t(r).key}`);Z(n,{get to(){return t(i)},class:`sheet sheet-press flex items-baseline justify-between gap-3 px-4 py-3 no-underline`,children:(n,i)=>{var a=kl(),o=u(a),c=W(o,!0),d=l(o,2),f=W(d,!0);s((e,t)=>{z(c,e),z(f,t)},[()=>t(r).custom?el(t(r).protocol):t(r).name,()=>t(r).custom?``:el(t(r).protocol)]),e(n,a)},$$slots:{default:!0}})}}),J(i),e(n,i)},$$slots:{default:!0}})};r(f,e=>{c().length&&e(p)}),e(n,d)}),e(n,i)},y=n=>{var i=jl(),c=o(i);f(c);var u=l(c,2),h=e=>{p(e)};r(u,e=>{t(ge)||e(h)});var g=l(u,2),_=e=>{m(e)};r(g,e=>{t(pe)||e(_)});var v=l(g,2),y=o(v),b=W(y,!0);Z(l(y,2),{to:`/providers`,class:`btn btn-ghost btn-sm`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`providers.cancel`)]),e(t,r)},$$slots:{default:!0}}),J(v),J(i),s(e=>{y.disabled=t(le)||!t(Ue),z(b,e)},[()=>t(le)?X(`providers.form.saving`):X(`providers.form.add`)]),d(`click`,y,Fe),e(n,i)};r(g,e=>{t(ce)?e(_):t(de)?t(K)&&e(y,2):e(v,1)}),e(n,c)},$$slots:{default:!0}})}},Je=e=>{mt(e,{})},Ye=t=>{var n=Ml(),r=W(n,!0);s(e=>z(r,e),[()=>re.state.failure??X(`providers.missing`)]),e(t,n)},Xe=n=>{{let c=e=>{{let n=q(()=>nl(t(U)));_t(e,{get marks(){return t(n)}})}},g=q(()=>({to:`/providers`,label:X(`providers.back`)}));zn(n,{get title(){return t(U).name},get id(){return t(U).key},get back(){return t(g)},get lede(){return t(We)},after:c,children:(n,c)=>{var g=zl(),_=u(g);Nn(_,{get feedback(){return re.state}});var v=l(_,2),y=n=>{var r=Nl(),i=o(r),a=o(i),c=W(a,!0);J(i);var u=l(i,2),f=o(u),p=W(f,!0);J(u),J(r),s((e,t)=>{z(c,e),z(p,t)},[()=>X(`providers.callouts.archived`,{day:Mt(t(U).archivedAt)}),()=>X(`providers.restore`)]),d(`click`,f,ze),e(n,r)},b=n=>{var r=Pl(),i=o(r),a=o(i),c=W(a,!0),u=l(a,2),d=W(u,!0);J(i),J(r),s((e,t)=>{z(c,e),z(d,t)},[()=>X(`providers.callouts.no_secret`),()=>X(`providers.callouts.no_secret_detail`,{name:t(U).name})]),e(n,r)},x=q(()=>tl(t(U)));r(v,e=>{t(U).archivedAt?e(y):t(x)&&e(b,1)});var S=l(v,2),C=n=>{var r=Fl(),i=o(r),c=o(i),u=o(c),d=l(u);{let n=q(()=>`/organizations/${t(U).organization.key}`);Z(d,{get to(){return t(n)},children:(n,r)=>{V();var i=a();s(()=>z(i,t(U).organization.name)),e(n,i)},$$slots:{default:!0}})}var f=l(d);J(c),J(i),J(r),s((e,t)=>{z(u,`${e??``} `),z(f,`.
488
+ ${t??``}`)},[()=>X(`providers.callouts.organization_lead`),()=>X(`providers.callouts.organization_rest`)]),e(n,r)};r(S,e=>{t(U).organization&&e(C)});var w=l(S,2);{let e=q(()=>`/providers/${t(U).key}`),n=q(()=>X(`providers.parts.label`));ti(w,{get base(){return t(e)},get part(){return h()},get parts(){return t(Ce)},get label(){return t(n)}})}var T=l(w,2),E=o(T),D=e=>{p(e)},O=e=>{m(e)},k=e=>{Q(e,{children:(e,n)=>{dr(e,{get api(){return i.api},get feedback(){return re},get rows(){return t(G)},onchange:Ee,showActor:!0})},$$slots:{default:!0}})},A=n=>{var i=El(),a=u(i);f(a);var c=l(a,2),p=n=>{{let i=q(()=>X(`providers.danger`)),a=q(()=>t(ge)?X(`providers.danger_lede_mcp`):X(`providers.danger_lede`));Q(n,{row:!0,get title(){return t(i)},get lede(){return t(a)},children:(n,i)=>{var a=Ll(),c=o(a),u=t=>{var n=Il(),r=W(n,!0);s(e=>z(r,e),[()=>X(`providers.register`)]),d(`click`,n,Be),e(t,n)};r(c,e=>{t(ge)&&e(u)});var f=l(c,2),p=W(f,!0);J(a),s(e=>z(p,e),[()=>X(`providers.archive`)]),d(`click`,f,Re),e(n,a)},$$slots:{default:!0}})}};r(c,e=>{t(U).archivedAt||e(p)}),e(n,i)};r(E,e=>{h()===`sign-in`&&!t(ge)?e(D):h()===`clients`&&!t(pe)?e(O,1):h()===`accounts`?e(k,2):e(A,-1)}),J(T);var j=l(T,2),M=n=>{var r=Rl(),i=o(r),a=W(i,!0),c=l(i,2),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0);J(c),J(r),s((e,n,i,o)=>{P(r,`aria-label`,e),z(a,n),z(f,i),p.disabled=t(le)||!t(Ue),z(m,o)},[()=>X(`providers.unsaved`),()=>X(`providers.unsaved`),()=>X(`providers.discard`),()=>t(le)?X(`providers.form.saving`):X(`providers.form.save`)]),d(`click`,u,Ie),d(`click`,p,Fe),e(n,r)};r(j,e=>{t(Se)&&e(M)}),e(n,g)},$$slots:{after:!0,default:!0}})}};r(Ke,e=>{t(ue)?e(qe):t(ce)&&!t(U)?e(Je,1):t(U)?e(Xe,-1):e(Ye,2)}),e(n,Ge),D()}c([`change`,`click`]);var Vl=f(`<option> </option>`),Hl=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),Ul=f(`<p class="hint"> </p>`),Wl=f(`<div class="flex flex-col gap-1 sm:col-span-2"><!> <!></div>`),Gl=f(`<div class="flex flex-col gap-1"><!> <!></div>`),Kl=f(`<!> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <div class="grid gap-3 sm:grid-cols-2"></div> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),ql=f(`<button type="button" class="btn btn-sm"> </button>`),Jl=f(`<span class="badge badge-success badge-sm"> </span>`),Yl=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Xl=f(`<div class="flex flex-col gap-3 sheet p-3"><div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><span class="font-medium"> <!></span> <span class="hint"> <span class="font-mono"> </span> </span></div> <div class="flex flex-wrap gap-2"><!> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div> <!></div>`),Zl=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="text-sm"> <span class="hint"> </span></span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Ql=f(`<!> <!> <!>`,1),$l=f(`<div class="console-page"><!> <!></div>`);function eu(n,i){H(i,!0);let a=`key name kind service label primary settings secretsHeld archivedAt createdAt`,c=`
461
489
  query Senders {
462
490
  active: senders { ${a} }
463
491
  archived: senders(archived: true) { ${a} }
@@ -475,18 +503,18 @@ preferred_username = preferred_username`);var F=l(N,2),ee=W(F,!0),L=l(F,2),te=W(
475
503
  updateSender(key: $key, name: $name, config: $config, primary: $primary) {
476
504
  sender { key }
477
505
  }
478
- }`,{key:t(v).key,name:t(v).name.trim(),config:P(),primary:t(v).primary}),X(e?`senders.added`:`senders.saved`,{name:t(v).name}));S(g,!1),n&&(N(),await O())}async function L(e,t,n,r=null){(!r||confirm(r))&&await p.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { sender { key } } }`,{key:t.key}),n)&&await O()}async function te(e){await p.attempt(()=>i.api.query(`mutation Primary($key: ID!) { updateSender(key: $key, primary: true) { sender { key } } }`,{key:e.key}),X(`senders.primary_notice`,{name:e.name}))&&await O()}async function B(e){let t=(y[e.key]??``).trim();if(!t)return;S(g,!0);let n=await p.attempt(()=>i.api.query(`mutation Test($key: ID!, $to: String!) { testSender(key: $key, to: $to) { delivered failure } }`,{key:e.key,to:t}));S(g,!1),n&&(n.testSender.delivered?p.say(X(`senders.tested`,{name:e.name,to:t})):p.blame(n.testSender.failure))}let V=q(()=>{if(!t(v))return!1;let e=x(t(v).service);return t(v).key.trim()&&t(v).name.trim()&&e.fields.every(e=>!e.required||e.type===`boolean`||e.secret&&t(v).secretsHeld?.includes(e.key)||String(t(v).config[e.key]??``).trim())});var ne=Cl(),re=o(ne);Nn(re,{get feedback(){return p.state}});var U=l(re,2),ie=e=>{mt(e,{})},ae=n=>{var i=Sl(),a=u(i),c=n=>{{let i=q(()=>t(_)===``?X(`senders.form.add`):X(`senders.form.edit`,{name:t(v).name}));Q(n,{get title(){return t(i)},children:(n,i)=>{var a=gl(),c=u(a),f=n=>{var r=fl(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>t(b).filter(e=>e.kind===t(v).kind),e=>e.service,(n,r)=>{var i=dl(),a=W(i,!0),o={};s(()=>{z(a,t(r).label),o!==(o=t(r).service)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(v).service)&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`senders.form.service`)]),d(`change`,c,e=>j(e.currentTarget.value)),e(n,r)};r(c,e=>{t(_)===``&&e(f)});var p=l(c,2),m=o(p);{let e=q(()=>X(`senders.form.key`)),n=q(()=>t(_)!==``);$(m,{get label(){return t(e)},get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(v).key},set value(e){t(v).key=e}})}var h=l(m,2);{let e=q(()=>X(`senders.form.name`));$(h,{get label(){return t(e)},get value(){return t(v).name},set value(e){t(v).name=e}})}J(p);var y=l(p,2);Y(y,21,()=>x(t(v).service).fields,e=>e.key,(n,i)=>{var a=R(),c=u(a),d=n=>{var a=ml(),c=o(a);aa(c,{get label(){return t(i).label},get checked(){return t(v).config[t(i).key]},set checked(e){t(v).config[t(i).key]=e}});var u=l(c,2),d=n=>{var r=pl(),a=W(r,!0);s(()=>z(a,t(i).hint)),e(n,r)};r(u,e=>{t(i).hint&&e(d)}),J(a),e(n,a)},f=n=>{var r=fl(),a=o(r),c=W(a,!0),u=l(a,2);Y(u,20,()=>t(i).options,e=>e,(t,n)=>{var r=dl(),i=W(r,!0),a={};s(()=>{z(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),e(t,r)}),J(u),I(u),J(r),s(()=>z(c,t(i).label)),ee(u,()=>t(v).config[t(i).key],e=>t(v).config[t(i).key]=e),e(n,r)},p=n=>{var a=hl(),c=o(a);{let e=q(()=>t(i).required?t(i).label:X(`senders.form.optional`,{label:t(i).label})),n=q(()=>t(i).secret?`password`:t(i).type===`integer`?`number`:`text`),r=q(()=>t(i).secret&&t(v).secretsHeld?.includes(t(i).key)?X(`senders.form.unchanged`):``);$(c,{get label(){return t(e)},get type(){return t(n)},autocomplete:`off`,autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(r)},get value(){return t(v).config[t(i).key]},set value(e){t(v).config[t(i).key]=e}})}var u=l(c,2),d=n=>{var r=pl(),a=W(r,!0);s(()=>z(a,t(i).hint)),e(n,r)};r(u,e=>{t(i).hint&&e(d)}),J(a),e(n,a)};r(c,e=>{t(i).type===`boolean`?e(d):t(i).options?e(f,1):e(p,-1)}),e(n,a)}),J(y);var S=l(y,2);{let e=q(()=>X(`senders.form.primary`));aa(S,{get label(){return t(e)},get checked(){return t(v).primary},set checked(e){t(v).primary=e}})}var C=l(S,2),w=o(C),E=W(w,!0),D=l(w,2),O=W(D,!0);J(C),s((e,n)=>{w.disabled=t(g)||!t(V),z(E,e),z(O,n)},[()=>t(_)===``?X(`senders.form.create`):X(`senders.form.save`),()=>X(`senders.form.cancel`)]),d(`click`,w,F),d(`click`,D,N),e(n,a)},$$slots:{default:!0}})}};r(a,e=>{t(v)&&e(c)});var p=l(a,2);Y(p,17,()=>f,e=>e.kind,(n,i)=>{let a=q(()=>E(t(m).active,t(i).kind));{let c=n=>{var r=_l(),a=W(r,!0);s(e=>z(a,e),[()=>X(`senders.list.add`)]),d(`click`,r,()=>A(t(i).kind)),e(n,r)},f=q(()=>t(a).length?t(i).lede:t(i).idle);Q(n,{get title(){return t(i).title},get lede(){return t(f)},actions:c,children:(n,c)=>{var f=R(),p=u(f);Y(p,17,()=>t(a),e=>e.key,(n,a)=>{var c=bl(),u=o(c),f=o(u),p=o(f),m=o(p),h=l(m),g=t=>{var n=vl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`senders.list.primary`)]),e(t,n)};r(h,e=>{t(a).primary&&e(g)}),J(p);var _=l(p,2),v=o(_),b=l(v),x=W(b,!0),S=l(b);J(_),J(f);var C=l(f,2),w=o(C),T=n=>{var r=yl(),i=W(r,!0);s(e=>z(i,e),[()=>X(`senders.list.make_primary`)]),d(`click`,r,()=>te(t(a))),e(n,r)};r(w,e=>{t(a).primary||e(T)});var E=l(w,2),D=W(E,!0),O=l(E,2),k=W(O,!0);J(C),J(u);var A=l(u,2);{let e=q(()=>X(`senders.list.test_to`)),n=q(()=>X(`senders.list.test`));$(A,{get label(){return t(e)},get placeholder(){return t(i).to},get save(){return t(n)},onsave:()=>B(t(a)),get value(){return y[t(a).key]},set value(e){y[t(a).key]=e}})}J(c),s((e,n,r)=>{z(m,`${t(a).name??``} `),z(v,`${t(a).label??``} · `),z(x,t(a).key),z(S,` · ${e??``}`),z(D,n),z(k,r)},[()=>X(`senders.list.added`,{day:Mt(t(a).createdAt)}),()=>X(`senders.list.edit`),()=>X(`senders.list.archive`)]),d(`click`,E,()=>M(t(a))),d(`click`,O,()=>L(`archiveSender`,t(a),X(`senders.archived_notice`,{name:t(a).name}),X(`senders.archive_confirm`,{name:t(a).name}))),e(n,c)}),e(n,f)},$$slots:{actions:!0,default:!0}})}});var h=l(p,2),S=n=>{{let r=q(()=>X(`senders.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(m).archived,e=>e.key,(n,r)=>{var i=xl(),a=o(i),c=o(a),u=l(c),f=W(u);J(a);var p=l(a,2),m=W(p,!0);J(i),s(e=>{z(c,`${t(r).name??``} `),z(f,`${t(r).label??``} · ${t(r).kind??``}`),z(m,e)},[()=>X(`senders.archived.restore`)]),d(`click`,p,()=>L(`restoreSender`,t(r),X(`senders.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(h,e=>{t(m).archived.length&&e(S)}),e(n,i)};r(U,e=>{t(h)&&!t(m)?e(ie):t(m)&&e(ae,1)}),J(ne),e(n,ne),D()}c([`change`,`click`]);var Tl=f(`<button type="button" class="btn btn-sm btn-ghost"> </button>`),El=f(`<details class="mail-template"><summary class="term"> </summary> <form class="flex flex-col gap-3 pt-3"><!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full" rows="4" maxlength="2000"></textarea> <span class="hint"> <!></span></label> <div class="flex gap-2"><button type="submit" class="btn btn-sm btn-primary"> </button> <!></div></form></details>`);function Dl(n,i){H(i,!0);let c=Ct(),u=w(C(x(()=>i.template.subject)??``)),f=w(C(x(()=>i.template.message)??``)),p=w(!1),m=q(()=>i.template.kind===`signature`),h=q(()=>!!(i.template.subject||i.template.message)),g=q(()=>i.template.placeholders.map(e=>`{{${e}}}`).join(`, `));async function v(e=!1){S(p,!0);let n=await c.attempt(()=>i.api.query(`
506
+ }`,{key:t(v).key,name:t(v).name.trim(),config:P(),primary:t(v).primary}),X(e?`senders.added`:`senders.saved`,{name:t(v).name}));S(g,!1),n&&(N(),await O())}async function L(e,t,n,r=null){(!r||confirm(r))&&await p.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { sender { key } } }`,{key:t.key}),n)&&await O()}async function te(e){await p.attempt(()=>i.api.query(`mutation Primary($key: ID!) { updateSender(key: $key, primary: true) { sender { key } } }`,{key:e.key}),X(`senders.primary_notice`,{name:e.name}))&&await O()}async function B(e){let t=(y[e.key]??``).trim();if(!t)return;S(g,!0);let n=await p.attempt(()=>i.api.query(`mutation Test($key: ID!, $to: String!) { testSender(key: $key, to: $to) { delivered failure } }`,{key:e.key,to:t}));S(g,!1),n&&(n.testSender.delivered?p.say(X(`senders.tested`,{name:e.name,to:t})):p.blame(n.testSender.failure))}let V=q(()=>{if(!t(v))return!1;let e=x(t(v).service);return t(v).key.trim()&&t(v).name.trim()&&e.fields.every(e=>!e.required||e.type===`boolean`||e.secret&&t(v).secretsHeld?.includes(e.key)||String(t(v).config[e.key]??``).trim())});var ne=$l(),re=o(ne);Nn(re,{get feedback(){return p.state}});var U=l(re,2),ie=e=>{mt(e,{})},ae=n=>{var i=Ql(),a=u(i),c=n=>{{let i=q(()=>t(_)===``?X(`senders.form.add`):X(`senders.form.edit`,{name:t(v).name}));Q(n,{get title(){return t(i)},children:(n,i)=>{var a=Kl(),c=u(a),f=n=>{var r=Hl(),i=o(r),a=W(i,!0),c=l(i,2);Y(c,21,()=>t(b).filter(e=>e.kind===t(v).kind),e=>e.service,(n,r)=>{var i=Vl(),a=W(i,!0),o={};s(()=>{z(a,t(r).label),o!==(o=t(r).service)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(c);var u;I(c),J(r),s(e=>{z(a,e),u!==(u=t(v).service)&&(c.value=(c.__value=u)??``,T(c,u))},[()=>X(`senders.form.service`)]),d(`change`,c,e=>j(e.currentTarget.value)),e(n,r)};r(c,e=>{t(_)===``&&e(f)});var p=l(c,2),m=o(p);{let e=q(()=>X(`senders.form.key`)),n=q(()=>t(_)!==``);$(m,{get label(){return t(e)},get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(v).key},set value(e){t(v).key=e}})}var h=l(m,2);{let e=q(()=>X(`senders.form.name`));$(h,{get label(){return t(e)},get value(){return t(v).name},set value(e){t(v).name=e}})}J(p);var y=l(p,2);Y(y,21,()=>x(t(v).service).fields,e=>e.key,(n,i)=>{var a=R(),c=u(a),d=n=>{var a=Wl(),c=o(a);aa(c,{get label(){return t(i).label},get checked(){return t(v).config[t(i).key]},set checked(e){t(v).config[t(i).key]=e}});var u=l(c,2),d=n=>{var r=Ul(),a=W(r,!0);s(()=>z(a,t(i).hint)),e(n,r)};r(u,e=>{t(i).hint&&e(d)}),J(a),e(n,a)},f=n=>{var r=Hl(),a=o(r),c=W(a,!0),u=l(a,2);Y(u,20,()=>t(i).options,e=>e,(t,n)=>{var r=Vl(),i=W(r,!0),a={};s(()=>{z(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),e(t,r)}),J(u),I(u),J(r),s(()=>z(c,t(i).label)),ee(u,()=>t(v).config[t(i).key],e=>t(v).config[t(i).key]=e),e(n,r)},p=n=>{var a=Gl(),c=o(a);{let e=q(()=>t(i).required?t(i).label:X(`senders.form.optional`,{label:t(i).label})),n=q(()=>t(i).secret?`password`:t(i).type===`integer`?`number`:`text`),r=q(()=>t(i).secret&&t(v).secretsHeld?.includes(t(i).key)?X(`senders.form.unchanged`):``);$(c,{get label(){return t(e)},get type(){return t(n)},autocomplete:`off`,autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(r)},get value(){return t(v).config[t(i).key]},set value(e){t(v).config[t(i).key]=e}})}var u=l(c,2),d=n=>{var r=Ul(),a=W(r,!0);s(()=>z(a,t(i).hint)),e(n,r)};r(u,e=>{t(i).hint&&e(d)}),J(a),e(n,a)};r(c,e=>{t(i).type===`boolean`?e(d):t(i).options?e(f,1):e(p,-1)}),e(n,a)}),J(y);var S=l(y,2);{let e=q(()=>X(`senders.form.primary`));aa(S,{get label(){return t(e)},get checked(){return t(v).primary},set checked(e){t(v).primary=e}})}var C=l(S,2),w=o(C),E=W(w,!0),D=l(w,2),O=W(D,!0);J(C),s((e,n)=>{w.disabled=t(g)||!t(V),z(E,e),z(O,n)},[()=>t(_)===``?X(`senders.form.create`):X(`senders.form.save`),()=>X(`senders.form.cancel`)]),d(`click`,w,F),d(`click`,D,N),e(n,a)},$$slots:{default:!0}})}};r(a,e=>{t(v)&&e(c)});var p=l(a,2);Y(p,17,()=>f,e=>e.kind,(n,i)=>{let a=q(()=>E(t(m).active,t(i).kind));{let c=n=>{var r=ql(),a=W(r,!0);s(e=>z(a,e),[()=>X(`senders.list.add`)]),d(`click`,r,()=>A(t(i).kind)),e(n,r)},f=q(()=>t(a).length?t(i).lede:t(i).idle);Q(n,{get title(){return t(i).title},get lede(){return t(f)},actions:c,children:(n,c)=>{var f=R(),p=u(f);Y(p,17,()=>t(a),e=>e.key,(n,a)=>{var c=Xl(),u=o(c),f=o(u),p=o(f),m=o(p),h=l(m),g=t=>{var n=Jl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`senders.list.primary`)]),e(t,n)};r(h,e=>{t(a).primary&&e(g)}),J(p);var _=l(p,2),v=o(_),b=l(v),x=W(b,!0),S=l(b);J(_),J(f);var C=l(f,2),w=o(C),T=n=>{var r=Yl(),i=W(r,!0);s(e=>z(i,e),[()=>X(`senders.list.make_primary`)]),d(`click`,r,()=>te(t(a))),e(n,r)};r(w,e=>{t(a).primary||e(T)});var E=l(w,2),D=W(E,!0),O=l(E,2),k=W(O,!0);J(C),J(u);var A=l(u,2);{let e=q(()=>X(`senders.list.test_to`)),n=q(()=>X(`senders.list.test`));$(A,{get label(){return t(e)},get placeholder(){return t(i).to},get save(){return t(n)},onsave:()=>B(t(a)),get value(){return y[t(a).key]},set value(e){y[t(a).key]=e}})}J(c),s((e,n,r)=>{z(m,`${t(a).name??``} `),z(v,`${t(a).label??``} · `),z(x,t(a).key),z(S,` · ${e??``}`),z(D,n),z(k,r)},[()=>X(`senders.list.added`,{day:Mt(t(a).createdAt)}),()=>X(`senders.list.edit`),()=>X(`senders.list.archive`)]),d(`click`,E,()=>M(t(a))),d(`click`,O,()=>L(`archiveSender`,t(a),X(`senders.archived_notice`,{name:t(a).name}),X(`senders.archive_confirm`,{name:t(a).name}))),e(n,c)}),e(n,f)},$$slots:{actions:!0,default:!0}})}});var h=l(p,2),S=n=>{{let r=q(()=>X(`senders.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(m).archived,e=>e.key,(n,r)=>{var i=Zl(),a=o(i),c=o(a),u=l(c),f=W(u);J(a);var p=l(a,2),m=W(p,!0);J(i),s(e=>{z(c,`${t(r).name??``} `),z(f,`${t(r).label??``} · ${t(r).kind??``}`),z(m,e)},[()=>X(`senders.archived.restore`)]),d(`click`,p,()=>L(`restoreSender`,t(r),X(`senders.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(h,e=>{t(m).archived.length&&e(S)}),e(n,i)};r(U,e=>{t(h)&&!t(m)?e(ie):t(m)&&e(ae,1)}),J(ne),e(n,ne),D()}c([`change`,`click`]);var tu=f(`<button type="button" class="btn btn-sm btn-ghost"> </button>`),nu=f(`<details class="mail-template"><summary class="term"> </summary> <form class="flex flex-col gap-3 pt-3"><!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea textarea-sm w-full" rows="4" maxlength="2000"></textarea> <span class="hint"> <!></span></label> <div class="flex gap-2"><button type="submit" class="btn btn-sm btn-primary"> </button> <!></div></form></details>`);function ru(n,i){H(i,!0);let c=Ct(),u=w(C(x(()=>i.template.subject)??``)),f=w(C(x(()=>i.template.message)??``)),p=w(!1),m=q(()=>i.template.kind===`signature`),h=q(()=>!!(i.template.subject||i.template.message)),g=q(()=>i.template.placeholders.map(e=>`{{${e}}}`).join(`, `));async function v(e=!1){S(p,!0);let n=await c.attempt(()=>i.api.query(`
479
507
  mutation Word($kind: ID!, $subject: String, $message: String) {
480
508
  updateMailTemplate(kind: $kind, subject: $subject, message: $message) { mailTemplate { kind } }
481
509
  }
482
- `,{kind:i.template.kind,subject:e||t(m)?``:t(u),message:e?``:t(f)}),X(e?`mail_template.reset`:`mail_template.saved`,{title:i.title}));S(p,!1),n&&i.onsaved?.()}var y=El(),b=o(y),T=W(b),E=l(b,2),O=o(E);Nn(O,{get feedback(){return c.state}});var k=l(O,2),A=e=>{{let n=q(()=>X(`mail_template.subject`)),r=q(()=>X(`mail_template.subject_placeholder`));$(e,{get label(){return t(n)},maxlength:`150`,get placeholder(){return t(r)},get value(){return t(u)},set value(e){S(u,e,!0)}})}};r(k,e=>{t(m)||e(A)});var j=l(k,2),M=o(j),N=W(M,!0),F=l(M,2);ae(F);var I=l(F,2),ee=o(I),L=l(ee),te=t=>{var n=a();s(e=>z(n,e),[()=>X(`mail_template.hint_more`)]),e(t,n)};r(L,e=>{t(m)||e(te)}),J(I),J(j);var R=l(j,2),V=o(R),ne=W(V,!0),re=l(V,2),U=n=>{var r=Tl(),i=W(r,!0);s(e=>{r.disabled=t(p),z(i,e)},[()=>X(`mail_template.use_default`)]),d(`click`,r,()=>v(!0)),e(n,r)};r(re,e=>{t(h)&&e(U)}),J(R),J(E),J(y),s((e,n,r,i,a,o)=>{y.open=t(h)||void 0,z(T,`${e??``}${n??``}`),z(N,r),P(F,`placeholder`,i),z(ee,`${a??``} `),V.disabled=t(p),z(ne,o)},[()=>X(t(m)?`mail_template.signature`:`mail_template.template`),()=>t(h)?X(`mail_template.customized`):``,()=>X(t(m)?`mail_template.closing`:`mail_template.opening`),()=>X(t(m)?`mail_template.closing_placeholder`:`mail_template.opening_placeholder`),()=>X(`mail_template.hint`,{names:t(g)}),()=>X(`mail_template.save`)]),_(`submit`,E,e=>{e.preventDefault(),v()}),B(F,()=>t(f),e=>S(f,e)),e(n,y),D()}c([`click`]);var Ol=f(`<option> </option>`),kl=f(`<optgroup></optgroup>`),Al=f(`<select class="select select-sm w-full"><option> </option><!></select>`),jl=f(`<button type="button" class="mail-item"> </button>`),Ml=f(`<div class="mail-group"><div class="flex items-center gap-2"><span class="term"> </span> <!></div> <!> <!></div>`),Nl=f(`<iframe class="mail-frame" sandbox="allow-same-origin"></iframe>`),Pl=f(`<pre class="mail-text"> </pre>`),Fl=f(`<div class="mail"><div class="mail-pick"><select class="select select-sm w-full"></select> <!></div> <nav class="mail-list"></nav> <article class="mail-view"><header class="mail-head"><div class="flex min-w-0 flex-col gap-0.5"><h2 class="mail-subject"> </h2> <p class="hint"> </p></div> <div class="range" role="group"><button type="button"> </button> <button type="button"> </button></div></header> <div class="mail-words"><!> <!></div> <!></article></div>`),Il=f(`<div class="console-page"><!></div>`);function Ll(n,a){H(a,!0);let c=[`sign_in`,`manage`,`account`,`system`],f=e=>e===`invitation_organization`?`invitation`:e,p=w(``),m=w(0),h=w(null),v=w(`html`);function y(e){let t=e.currentTarget;t.style.height=`${t.contentDocument.documentElement.scrollHeight}px`}var b=Il(),x=o(b);i(x,()=>`${t(p)}:${t(m)}`,n=>{nc(n,{load:()=>a.api.query(`
510
+ `,{kind:i.template.kind,subject:e||t(m)?``:t(u),message:e?``:t(f)}),X(e?`mail_template.reset`:`mail_template.saved`,{title:i.title}));S(p,!1),n&&i.onsaved?.()}var y=nu(),b=o(y),T=W(b),E=l(b,2),O=o(E);Nn(O,{get feedback(){return c.state}});var k=l(O,2),A=e=>{{let n=q(()=>X(`mail_template.subject`)),r=q(()=>X(`mail_template.subject_placeholder`));$(e,{get label(){return t(n)},maxlength:`150`,get placeholder(){return t(r)},get value(){return t(u)},set value(e){S(u,e,!0)}})}};r(k,e=>{t(m)||e(A)});var j=l(k,2),M=o(j),N=W(M,!0),F=l(M,2);ae(F);var I=l(F,2),ee=o(I),L=l(ee),te=t=>{var n=a();s(e=>z(n,e),[()=>X(`mail_template.hint_more`)]),e(t,n)};r(L,e=>{t(m)||e(te)}),J(I),J(j);var R=l(j,2),V=o(R),ne=W(V,!0),re=l(V,2),U=n=>{var r=tu(),i=W(r,!0);s(e=>{r.disabled=t(p),z(i,e)},[()=>X(`mail_template.use_default`)]),d(`click`,r,()=>v(!0)),e(n,r)};r(re,e=>{t(h)&&e(U)}),J(R),J(E),J(y),s((e,n,r,i,a,o)=>{y.open=t(h)||void 0,z(T,`${e??``}${n??``}`),z(N,r),P(F,`placeholder`,i),z(ee,`${a??``} `),V.disabled=t(p),z(ne,o)},[()=>X(t(m)?`mail_template.signature`:`mail_template.template`),()=>t(h)?X(`mail_template.customized`):``,()=>X(t(m)?`mail_template.closing`:`mail_template.opening`),()=>X(t(m)?`mail_template.closing_placeholder`:`mail_template.opening_placeholder`),()=>X(`mail_template.hint`,{names:t(g)}),()=>X(`mail_template.save`)]),_(`submit`,E,e=>{e.preventDefault(),v()}),B(F,()=>t(f),e=>S(f,e)),e(n,y),D()}c([`click`]);var iu=f(`<option> </option>`),au=f(`<optgroup></optgroup>`),ou=f(`<select class="select select-sm w-full"><option> </option><!></select>`),su=f(`<button type="button" class="mail-item"> </button>`),cu=f(`<div class="mail-group"><div class="flex items-center gap-2"><span class="term"> </span> <!></div> <!> <!></div>`),lu=f(`<iframe class="mail-frame" sandbox="allow-same-origin"></iframe>`),uu=f(`<pre class="mail-text"> </pre>`),du=f(`<div class="mail"><div class="mail-pick"><select class="select select-sm w-full"></select> <!></div> <nav class="mail-list"></nav> <article class="mail-view"><header class="mail-head"><div class="flex min-w-0 flex-col gap-0.5"><h2 class="mail-subject"> </h2> <p class="hint"> </p></div> <div class="range" role="group"><button type="button"> </button> <button type="button"> </button></div></header> <div class="mail-words"><!> <!></div> <!></article></div>`),fu=f(`<div class="console-page"><!></div>`);function pu(n,a){H(a,!0);let c=[`sign_in`,`manage`,`account`,`system`],f=e=>e===`invitation_organization`?`invitation`:e,p=w(``),m=w(0),h=w(null),v=w(`html`);function y(e){let t=e.currentTarget;t.style.height=`${t.contentDocument.documentElement.scrollHeight}px`}var b=fu(),x=o(b);i(x,()=>`${t(p)}:${t(m)}`,n=>{Ec(n,{load:()=>a.api.query(`
483
511
  query MailPreviews($client: ID) {
484
512
  mailPreviews(client: $client) { key name journey heading subject from to html text }
485
513
  clients { clientId name approvedAt }
486
514
  mailTemplates { kind subject message placeholders }
487
515
  }
488
- `,{client:t(p)||null}),children:(n,b=F)=>{let x=q(()=>b().mailPreviews),C=q(()=>t(x).find(e=>e.key===t(h))??t(x)[0]),w=q(()=>Object.fromEntries(b().mailTemplates.map(e=>[e.kind,e]))),E=q(()=>t(w)[f(t(C).key)]);var D=Fl(),O=o(D),k=o(O);Y(k,20,()=>c,e=>e,(n,i)=>{let a=q(()=>t(x).filter(e=>e.journey===i));var o=R(),c=u(o),l=n=>{var r=kl();Y(r,21,()=>t(a),e=>e.key,(n,r)=>{var i=Ol(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).key)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(r),s(e=>P(r,`label`,e),[()=>X(`emails.groups.${i}.title`)]),e(n,r)};r(c,e=>{t(a).length&&e(l)}),e(n,o)}),J(k);var A;I(k);var j=l(k,2),M=n=>{var r=Al(),i=o(r),a=W(i,!0);i.value=i.__value=``;var c=l(i);Y(c,17,()=>b().clients,e=>e.clientId,(n,r)=>{var i=Ol(),a=W(i,!0),o={};s(e=>{z(a,e),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)},[()=>t(r).approvedAt?t(r).name:X(`emails.not_approved`,{name:t(r).name})]),e(n,i)}),J(r);var u;I(r),s((e,n)=>{P(r,`aria-label`,e),z(a,n),u!==(u=t(p))&&(r.value=(r.__value=u)??``,T(r,u))},[()=>X(`emails.app`),()=>X(`emails.no_app`)]),d(`change`,r,e=>S(p,e.currentTarget.value,!0)),e(n,r)};r(j,e=>{t(C).journey===`sign_in`&&e(M)}),J(O);var N=l(O,2);Y(N,20,()=>c,e=>e,(n,i)=>{let a=q(()=>t(x).filter(e=>e.journey===i));var c=R(),f=u(c),m=n=>{var c=Ml(),u=o(c),f=o(u),m=W(f,!0),g=l(f,2);{let e=q(()=>X(`emails.groups.${i}.help`)),n=q(()=>X(`emails.groups.${i}.about`));Lt(g,{get text(){return t(e)},get label(){return t(n)}})}J(u);var _=l(u,2),v=n=>{var r=Al(),i=o(r),a=W(i,!0);i.value=i.__value=``;var c=l(i);Y(c,17,()=>b().clients,e=>e.clientId,(n,r)=>{var i=Ol(),a=W(i,!0),o={};s(e=>{z(a,e),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)},[()=>t(r).approvedAt?t(r).name:X(`emails.not_approved`,{name:t(r).name})]),e(n,i)}),J(r);var u;I(r),s((e,n)=>{P(r,`aria-label`,e),z(a,n),u!==(u=t(p))&&(r.value=(r.__value=u)??``,T(r,u))},[()=>X(`emails.app`),()=>X(`emails.no_app`)]),d(`change`,r,e=>S(p,e.currentTarget.value,!0)),e(n,r)};r(_,e=>{i===`sign_in`&&e(v)});var y=l(_,2);Y(y,17,()=>t(a),e=>e.key,(n,r)=>{var i=jl(),a=W(i,!0);s(()=>{P(i,`aria-current`,t(r).key===t(C).key?`true`:void 0),z(a,t(r).name)}),d(`click`,i,()=>S(h,t(r).key,!0)),e(n,i)}),J(c),s(e=>z(m,e),[()=>X(`emails.groups.${i}.title`)]),e(n,c)};r(f,e=>{t(a).length&&e(m)}),e(n,c)}),J(N);var ee=l(N,2),L=o(ee),te=o(L),B=o(te),V=W(B,!0),ne=l(B,2),re=W(ne,!0);J(te);var H=l(te,2),U=o(H),ie=W(U,!0),ae=l(U,2),G=W(ae,!0);J(H),J(L);var oe=l(L,2),K=o(oe),se=n=>{var r=R(),o=u(r);i(o,()=>t(E).kind,e=>{Dl(e,{get api(){return a.api},get template(){return t(E)},get title(){return t(C).name},onsaved:()=>g(m)})}),e(n,r)};r(K,e=>{t(E)&&e(se)});var ce=l(K,2);{let e=q(()=>X(`emails.signature`));Dl(ce,{get api(){return a.api},get template(){return t(w).signature},get title(){return t(e)},onsaved:()=>g(m)})}J(oe);var le=l(oe,2),de=n=>{var r=Nl();s(()=>{P(r,`title`,t(C).subject),P(r,`srcdoc`,t(C).html)}),_(`load`,r,y),ue(r),e(n,r)},fe=n=>{var r=Pl(),i=W(r,!0);s(()=>z(i,t(C).text??``)),e(n,r)};r(le,e=>{t(v)===`html`&&t(C).html?e(de):e(fe,-1)}),J(ee),J(D),s((e,n,r,i,a,o)=>{P(k,`aria-label`,e),A!==(A=t(C).key)&&(k.value=(k.__value=A)??``,T(k,A)),P(N,`aria-label`,n),z(V,t(C).subject),z(re,r),P(H,`aria-label`,i),P(U,`aria-pressed`,t(v)===`html`),z(ie,a),P(ae,`aria-pressed`,t(v)===`text`),z(G,o)},[()=>X(`emails.list`),()=>X(`emails.list`),()=>X(`emails.headed`,{heading:t(C).heading,from:t(C).from||X(`emails.no_sender`),to:t(C).to}),()=>X(`emails.part`),()=>X(`emails.html`),()=>X(`emails.text`)]),d(`change`,k,e=>S(h,e.currentTarget.value,!0)),d(`click`,U,()=>S(v,`html`)),d(`click`,ae,()=>S(v,`text`)),e(n,D)},$$slots:{default:!0}})}),J(b),e(n,b),D()}c([`change`,`click`]);var Rl=f(`<nav class="settings-tabs"><!> <!></nav> <!>`,1);function zl(n,i){H(i,!0);let c=L(i,`part`,3,null),d=q(()=>c()===`templates`);{let c=q(()=>X(`messages.title`)),f=q(()=>X(t(d)?`messages.templates.lede`:`messages.sending.lede`));zn(n,{get title(){return t(c)},get lede(){return t(f)},children:(n,c)=>{var f=Rl(),p=u(f),m=o(p);{let n=q(()=>t(d)?``:`settings-tab-on`);Z(m,{to:`/messages`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`messages.sending.title`)]),e(t,r)},$$slots:{default:!0}})}var h=l(m,2);{let n=q(()=>t(d)?`settings-tab-on`:``);Z(h,{to:`/messages/templates`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`messages.templates.title`)]),e(t,r)},$$slots:{default:!0}})}J(p);var g=l(p,2),_=e=>{Ll(e,{get api(){return i.api}})},v=e=>{wl(e,{get api(){return i.api}})};r(g,e=>{t(d)?e(_):e(v,-1)}),s(e=>P(p,`aria-label`,e),[()=>X(`messages.parts`)]),e(n,f)},$$slots:{default:!0}})}D()}var Bl=f(`<input class="input input-sm w-full font-mono" readonly=""/> <div><button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Vl=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="4" placeholder="session.started
489
- actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Hl=f(`<button type="button" class="btn btn-sm"> </button>`),Ul=f(`<span class="text-sm text-error"> </span>`),Wl=f(`<span class="hint"> </span>`),Gl=f(`<div class="flex flex-col gap-3 sheet p-3"><div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><span class="font-medium"> </span> <span class="hint break-all"><span class="font-mono"> </span> </span> <span class="hint"> </span> <!></div> <div class="flex flex-wrap gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div></div>`),Kl=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="text-sm"> <span class="hint"> </span></span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),ql=f(`<!> <!> <!> <!>`,1),Jl=f(`<!> <!> <!>`,1);function Yl(n,i){H(i,!0);let a=`key name url actions lastDeliveredAt lastFailure archivedAt createdAt organization { key name }`,c=`
516
+ `,{client:t(p)||null}),children:(n,b=F)=>{let x=q(()=>b().mailPreviews),C=q(()=>t(x).find(e=>e.key===t(h))??t(x)[0]),w=q(()=>Object.fromEntries(b().mailTemplates.map(e=>[e.kind,e]))),E=q(()=>t(w)[f(t(C).key)]);var D=du(),O=o(D),k=o(O);Y(k,20,()=>c,e=>e,(n,i)=>{let a=q(()=>t(x).filter(e=>e.journey===i));var o=R(),c=u(o),l=n=>{var r=au();Y(r,21,()=>t(a),e=>e.key,(n,r)=>{var i=iu(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).key)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(r),s(e=>P(r,`label`,e),[()=>X(`emails.groups.${i}.title`)]),e(n,r)};r(c,e=>{t(a).length&&e(l)}),e(n,o)}),J(k);var A;I(k);var j=l(k,2),M=n=>{var r=ou(),i=o(r),a=W(i,!0);i.value=i.__value=``;var c=l(i);Y(c,17,()=>b().clients,e=>e.clientId,(n,r)=>{var i=iu(),a=W(i,!0),o={};s(e=>{z(a,e),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)},[()=>t(r).approvedAt?t(r).name:X(`emails.not_approved`,{name:t(r).name})]),e(n,i)}),J(r);var u;I(r),s((e,n)=>{P(r,`aria-label`,e),z(a,n),u!==(u=t(p))&&(r.value=(r.__value=u)??``,T(r,u))},[()=>X(`emails.app`),()=>X(`emails.no_app`)]),d(`change`,r,e=>S(p,e.currentTarget.value,!0)),e(n,r)};r(j,e=>{t(C).journey===`sign_in`&&e(M)}),J(O);var N=l(O,2);Y(N,20,()=>c,e=>e,(n,i)=>{let a=q(()=>t(x).filter(e=>e.journey===i));var c=R(),f=u(c),m=n=>{var c=cu(),u=o(c),f=o(u),m=W(f,!0),g=l(f,2);{let e=q(()=>X(`emails.groups.${i}.help`)),n=q(()=>X(`emails.groups.${i}.about`));Lt(g,{get text(){return t(e)},get label(){return t(n)}})}J(u);var _=l(u,2),v=n=>{var r=ou(),i=o(r),a=W(i,!0);i.value=i.__value=``;var c=l(i);Y(c,17,()=>b().clients,e=>e.clientId,(n,r)=>{var i=iu(),a=W(i,!0),o={};s(e=>{z(a,e),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)},[()=>t(r).approvedAt?t(r).name:X(`emails.not_approved`,{name:t(r).name})]),e(n,i)}),J(r);var u;I(r),s((e,n)=>{P(r,`aria-label`,e),z(a,n),u!==(u=t(p))&&(r.value=(r.__value=u)??``,T(r,u))},[()=>X(`emails.app`),()=>X(`emails.no_app`)]),d(`change`,r,e=>S(p,e.currentTarget.value,!0)),e(n,r)};r(_,e=>{i===`sign_in`&&e(v)});var y=l(_,2);Y(y,17,()=>t(a),e=>e.key,(n,r)=>{var i=su(),a=W(i,!0);s(()=>{P(i,`aria-current`,t(r).key===t(C).key?`true`:void 0),z(a,t(r).name)}),d(`click`,i,()=>S(h,t(r).key,!0)),e(n,i)}),J(c),s(e=>z(m,e),[()=>X(`emails.groups.${i}.title`)]),e(n,c)};r(f,e=>{t(a).length&&e(m)}),e(n,c)}),J(N);var ee=l(N,2),L=o(ee),te=o(L),B=o(te),V=W(B,!0),ne=l(B,2),re=W(ne,!0);J(te);var H=l(te,2),U=o(H),ie=W(U,!0),ae=l(U,2),G=W(ae,!0);J(H),J(L);var oe=l(L,2),K=o(oe),se=n=>{var r=R(),o=u(r);i(o,()=>t(E).kind,e=>{ru(e,{get api(){return a.api},get template(){return t(E)},get title(){return t(C).name},onsaved:()=>g(m)})}),e(n,r)};r(K,e=>{t(E)&&e(se)});var ce=l(K,2);{let e=q(()=>X(`emails.signature`));ru(ce,{get api(){return a.api},get template(){return t(w).signature},get title(){return t(e)},onsaved:()=>g(m)})}J(oe);var le=l(oe,2),de=n=>{var r=lu();s(()=>{P(r,`title`,t(C).subject),P(r,`srcdoc`,t(C).html)}),_(`load`,r,y),ue(r),e(n,r)},fe=n=>{var r=uu(),i=W(r,!0);s(()=>z(i,t(C).text??``)),e(n,r)};r(le,e=>{t(v)===`html`&&t(C).html?e(de):e(fe,-1)}),J(ee),J(D),s((e,n,r,i,a,o)=>{P(k,`aria-label`,e),A!==(A=t(C).key)&&(k.value=(k.__value=A)??``,T(k,A)),P(N,`aria-label`,n),z(V,t(C).subject),z(re,r),P(H,`aria-label`,i),P(U,`aria-pressed`,t(v)===`html`),z(ie,a),P(ae,`aria-pressed`,t(v)===`text`),z(G,o)},[()=>X(`emails.list`),()=>X(`emails.list`),()=>X(`emails.headed`,{heading:t(C).heading,from:t(C).from||X(`emails.no_sender`),to:t(C).to}),()=>X(`emails.part`),()=>X(`emails.html`),()=>X(`emails.text`)]),d(`change`,k,e=>S(h,e.currentTarget.value,!0)),d(`click`,U,()=>S(v,`html`)),d(`click`,ae,()=>S(v,`text`)),e(n,D)},$$slots:{default:!0}})}),J(b),e(n,b),D()}c([`change`,`click`]);var mu=f(`<nav class="settings-tabs"><!> <!></nav> <!>`,1);function hu(n,i){H(i,!0);let c=L(i,`part`,3,null),d=q(()=>c()===`templates`);{let c=q(()=>X(`messages.title`)),f=q(()=>X(t(d)?`messages.templates.lede`:`messages.sending.lede`));zn(n,{get title(){return t(c)},get lede(){return t(f)},children:(n,c)=>{var f=mu(),p=u(f),m=o(p);{let n=q(()=>t(d)?``:`settings-tab-on`);Z(m,{to:`/messages`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`messages.sending.title`)]),e(t,r)},$$slots:{default:!0}})}var h=l(m,2);{let n=q(()=>t(d)?`settings-tab-on`:``);Z(h,{to:`/messages/templates`,get class(){return`settings-tab ${t(n)??``}`},children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`messages.templates.title`)]),e(t,r)},$$slots:{default:!0}})}J(p);var g=l(p,2),_=e=>{pu(e,{get api(){return i.api}})},v=e=>{eu(e,{get api(){return i.api}})};r(g,e=>{t(d)?e(_):e(v,-1)}),s(e=>P(p,`aria-label`,e),[()=>X(`messages.parts`)]),e(n,f)},$$slots:{default:!0}})}D()}var gu=f(`<input class="input input-sm w-full font-mono" readonly=""/> <div><button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),_u=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="4" placeholder="session.started
517
+ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),vu=f(`<button type="button" class="btn btn-sm"> </button>`),yu=f(`<span class="text-sm text-error"> </span>`),bu=f(`<span class="hint"> </span>`),xu=f(`<div class="flex flex-col gap-3 sheet p-3"><div class="flex flex-wrap items-center justify-between gap-2"><div class="flex min-w-0 flex-col"><span class="font-medium"> </span> <span class="hint break-all"><span class="font-mono"> </span> </span> <span class="hint"> </span> <!></div> <div class="flex flex-wrap gap-2"><button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div></div></div>`),Su=f(`<div class="flex flex-wrap items-center justify-between gap-2"><span class="text-sm"> <span class="hint"> </span></span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Cu=f(`<!> <!> <!> <!>`,1),wu=f(`<!> <!> <!>`,1);function Tu(n,i){H(i,!0);let a=`key name url actions lastDeliveredAt lastFailure archivedAt createdAt organization { key name }`,c=`
490
518
  query Streams {
491
519
  active: eventStreams { ${a} }
492
520
  archived: eventStreams(archived: true) { ${a} }
@@ -499,7 +527,7 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
499
527
  updateEventStream(key: $key, name: $name, url: $url, actions: $actions, organization: $organization) {
500
528
  eventStream { key }
501
529
  }
502
- }`,n),X(e?`streams.added`:`streams.saved`,{name:t(v).name}));S(h,!1),r&&(S(y,e?r.createEventStream.secret:null,!0),E(),await b())}async function k(e,t,n,r=null){(!r||confirm(r))&&await f.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { eventStream { key } } }`,{key:t.key}),n)&&await b()}async function A(e){if(!confirm(X(`streams.rotate_confirm`,{name:e.name})))return;let t=await f.attempt(()=>i.api.query(`mutation Rotate($key: ID!) { rotateEventStreamSecret(key: $key) { secret } }`,{key:e.key}));t&&S(y,t.rotateEventStreamSecret.secret,!0)}async function M(e){S(h,!0);let t=await f.attempt(()=>i.api.query(`mutation Test($key: ID!) { testEventStream(key: $key) { delivered failure } }`,{key:e.key}));S(h,!1),t&&(t.testEventStream.delivered?f.say(X(`streams.tested`,{name:e.name})):f.blame(t.testEventStream.failure),await b())}let N=q(()=>t(v)?.key.trim()&&t(v).name.trim()&&t(v).url.trim());{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var a=Jl(),c=u(a);hc(c,{part:`streams`});var b=l(c,2);Nn(b,{get feedback(){return f.state}});var x=l(b,2),w=e=>{mt(e,{})},D=n=>{var i=ql(),a=u(i),c=n=>{{let r=q(()=>X(`streams.secret.title`)),i=q(()=>X(`streams.secret.lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=Bl(),a=u(i);j(a);var c=l(a,2),f=o(c),p=W(f,!0);J(c),s(e=>{ne(a,t(y)),z(p,e)},[()=>X(`streams.secret.saved`)]),_(`focus`,a,e=>e.currentTarget.select()),d(`click`,f,()=>S(y,null)),e(n,i)},$$slots:{default:!0}})}};r(a,e=>{t(y)&&e(c)});var f=l(a,2),m=n=>{{let i=q(()=>t(g)===``?X(`streams.form.add`):X(`streams.form.edit`,{name:t(v).name}));Q(n,{get title(){return t(i)},children:(n,i)=>{var a=Vl(),c=u(a),f=o(c);{let e=q(()=>X(`streams.form.key`)),n=q(()=>t(g)!==``);$(f,{get label(){return t(e)},get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(v).key},set value(e){t(v).key=e}})}var m=l(f,2);{let e=q(()=>X(`streams.form.name`));$(m,{get label(){return t(e)},get value(){return t(v).name},set value(e){t(v).name=e}})}J(c);var _=l(c,2);{let e=q(()=>X(`streams.form.address`));$(_,{get label(){return t(e)},type:`url`,placeholder:`https://siem.example.com/masks`,autocapitalize:`none`,spellcheck:`false`,get value(){return t(v).url},set value(e){t(v).url=e}})}var y=l(_,2),b=o(y),x=W(b,!0),S=l(b,2);ae(S);var C=l(S,2),w=W(C,!0);J(y);var T=l(y,2),D=e=>{{let n=q(()=>X(`streams.form.events_from`)),r=q(()=>[[``,X(`streams.form.every_organization`)],...t(p).organizations.map(e=>[e.key,X(`streams.form.only`,{name:e.name})])]);ra(e,{get label(){return t(n)},get value(){return t(v).organization},get options(){return t(r)},onchange:e=>t(v).organization=e})}};r(T,e=>{t(p).organizations.length&&e(D)});var k=l(T,2),A=o(k),j=W(A,!0),M=l(A,2),P=W(M,!0);J(k),s((e,n,r,i)=>{z(x,e),z(w,n),A.disabled=t(h)||!t(N),z(j,r),z(P,i)},[()=>X(`streams.form.actions`),()=>X(`streams.form.actions_hint`),()=>t(g)===``?X(`streams.form.create`):X(`streams.form.save`),()=>X(`streams.form.cancel`)]),B(S,()=>t(v).actions,e=>t(v).actions=e),d(`click`,A,O),d(`click`,M,E),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(v)&&e(m)});var b=l(f,2);{let n=t=>{var n=Hl(),r=W(n,!0);s(e=>z(r,e),[()=>X(`streams.list.add`)]),d(`click`,n,C),e(t,n)},i=q(()=>X(`streams.list.title`)),a=q(()=>t(p).active.length?X(`streams.list.lede`):X(`streams.list.empty`));Q(b,{get title(){return t(i)},get lede(){return t(a)},actions:n,children:(n,i)=>{var a=R(),c=u(a);Y(c,17,()=>t(p).active,e=>e.key,(n,i)=>{var a=Gl(),c=o(a),u=o(c),f=o(u),p=W(f,!0),m=l(f,2),g=o(m),_=W(g,!0),v=l(g);J(m);var y=l(m,2),b=W(y),x=l(y,2),S=n=>{var r=Ul(),a=W(r,!0);s(()=>z(a,t(i).lastFailure)),e(n,r)},C=n=>{var r=Wl(),a=W(r,!0);s(e=>z(a,e),[()=>X(`streams.list.last_delivered`,{day:Mt(t(i).lastDeliveredAt)})]),e(n,r)};r(x,e=>{t(i).lastFailure?e(S):t(i).lastDeliveredAt&&e(C,1)}),J(u);var w=l(u,2),E=o(w),D=W(E,!0),O=l(E,2),j=W(O,!0),N=l(O,2),P=W(N,!0),F=l(N,2),I=W(F,!0);J(w),J(c),J(a),s((e,n,r,a,o,s,c)=>{z(p,t(i).name),z(_,t(i).key),z(v,` · ${t(i).url??``} · ${e??``}`),z(b,`${n??``}${r??``}`),E.disabled=t(h),z(D,a),z(j,o),z(P,s),z(I,c)},[()=>X(`streams.list.added`,{day:Mt(t(i).createdAt)}),()=>t(i).actions.length?t(i).actions.join(`, `):X(`streams.list.every_action`),()=>t(i).organization?X(`streams.list.only`,{name:t(i).organization.name}):``,()=>X(`streams.list.test`),()=>X(`streams.list.edit`),()=>X(`streams.list.rotate`),()=>X(`streams.list.archive`)]),d(`click`,E,()=>M(t(i))),d(`click`,O,()=>T(t(i))),d(`click`,N,()=>A(t(i))),d(`click`,F,()=>k(`archiveEventStream`,t(i),X(`streams.archived_notice`,{name:t(i).name}),X(`streams.archive_confirm`,{name:t(i).name}))),e(n,a)}),e(n,a)},$$slots:{actions:!0,default:!0}})}var x=l(b,2),w=n=>{{let r=q(()=>X(`streams.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(p).archived,e=>e.key,(n,r)=>{var i=Kl(),a=o(i),c=o(a),u=l(c),f=W(u,!0);J(a);var p=l(a,2),m=W(p,!0);J(i),s(e=>{z(c,`${t(r).name??``} `),z(f,t(r).url),z(m,e)},[()=>X(`streams.archived.restore`)]),d(`click`,p,()=>k(`restoreEventStream`,t(r),X(`streams.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(p).archived.length&&e(w)}),e(n,i)};r(x,e=>{t(m)&&!t(p)?e(w):t(p)&&e(D,1)}),e(n,a)},$$slots:{default:!0}})}D()}c([`click`]);var Xl=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="3" placeholder="203.0.113.0/24"></textarea> <span class="hint"> </span></label> <div><button type="button" class="btn btn-sm"> </button></div>`,1),Zl=f(`<div class="grid max-w-xl gap-3 sm:grid-cols-2"><!> <!></div>`),Ql=f(`<!> <!> <!> <!>`,1),$l=f(`<!> <!>`,1);function eu(n,i){H(i,!0);let a=[[0,X(`settings.idle.never`)],[90,X(`settings.idle.after_90_days`)],[180,X(`settings.idle.after_180_days`)],[365,X(`settings.idle.after_a_year`)],[730,X(`settings.idle.after_two_years`)]],c=[[0,X(`settings.idle.never`)],[180,X(`settings.idle.after_180_days`)],[365,X(`settings.idle.after_a_year`)],[730,X(`settings.idle.after_two_years`)],[1095,X(`settings.idle.after_three_years`)]],f=(e,t)=>!t||e.some(([e])=>e===t)?e:[...e,[t,X(`settings.after_days`,{days:t})]],p=Ct(),m=w(null),h=w(``),g=w(``);async function _(){let e=await p.attempt(()=>i.api.query(`
530
+ }`,n),X(e?`streams.added`:`streams.saved`,{name:t(v).name}));S(h,!1),r&&(S(y,e?r.createEventStream.secret:null,!0),E(),await b())}async function k(e,t,n,r=null){(!r||confirm(r))&&await f.attempt(()=>i.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { eventStream { key } } }`,{key:t.key}),n)&&await b()}async function A(e){if(!confirm(X(`streams.rotate_confirm`,{name:e.name})))return;let t=await f.attempt(()=>i.api.query(`mutation Rotate($key: ID!) { rotateEventStreamSecret(key: $key) { secret } }`,{key:e.key}));t&&S(y,t.rotateEventStreamSecret.secret,!0)}async function M(e){S(h,!0);let t=await f.attempt(()=>i.api.query(`mutation Test($key: ID!) { testEventStream(key: $key) { delivered failure } }`,{key:e.key}));S(h,!1),t&&(t.testEventStream.delivered?f.say(X(`streams.tested`,{name:e.name})):f.blame(t.testEventStream.failure),await b())}let N=q(()=>t(v)?.key.trim()&&t(v).name.trim()&&t(v).url.trim());{let i=q(()=>X(`activity.title`));zn(n,{get title(){return t(i)},children:(n,i)=>{var a=wu(),c=u(a);Gc(c,{part:`streams`});var b=l(c,2);Nn(b,{get feedback(){return f.state}});var x=l(b,2),w=e=>{mt(e,{})},D=n=>{var i=Cu(),a=u(i),c=n=>{{let r=q(()=>X(`streams.secret.title`)),i=q(()=>X(`streams.secret.lede`));Q(n,{get title(){return t(r)},get lede(){return t(i)},children:(n,r)=>{var i=gu(),a=u(i);j(a);var c=l(a,2),f=o(c),p=W(f,!0);J(c),s(e=>{ne(a,t(y)),z(p,e)},[()=>X(`streams.secret.saved`)]),_(`focus`,a,e=>e.currentTarget.select()),d(`click`,f,()=>S(y,null)),e(n,i)},$$slots:{default:!0}})}};r(a,e=>{t(y)&&e(c)});var f=l(a,2),m=n=>{{let i=q(()=>t(g)===``?X(`streams.form.add`):X(`streams.form.edit`,{name:t(v).name}));Q(n,{get title(){return t(i)},children:(n,i)=>{var a=_u(),c=u(a),f=o(c);{let e=q(()=>X(`streams.form.key`)),n=q(()=>t(g)!==``);$(f,{get label(){return t(e)},get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,get value(){return t(v).key},set value(e){t(v).key=e}})}var m=l(f,2);{let e=q(()=>X(`streams.form.name`));$(m,{get label(){return t(e)},get value(){return t(v).name},set value(e){t(v).name=e}})}J(c);var _=l(c,2);{let e=q(()=>X(`streams.form.address`));$(_,{get label(){return t(e)},type:`url`,placeholder:`https://siem.example.com/masks`,autocapitalize:`none`,spellcheck:`false`,get value(){return t(v).url},set value(e){t(v).url=e}})}var y=l(_,2),b=o(y),x=W(b,!0),S=l(b,2);ae(S);var C=l(S,2),w=W(C,!0);J(y);var T=l(y,2),D=e=>{{let n=q(()=>X(`streams.form.events_from`)),r=q(()=>[[``,X(`streams.form.every_organization`)],...t(p).organizations.map(e=>[e.key,X(`streams.form.only`,{name:e.name})])]);ra(e,{get label(){return t(n)},get value(){return t(v).organization},get options(){return t(r)},onchange:e=>t(v).organization=e})}};r(T,e=>{t(p).organizations.length&&e(D)});var k=l(T,2),A=o(k),j=W(A,!0),M=l(A,2),P=W(M,!0);J(k),s((e,n,r,i)=>{z(x,e),z(w,n),A.disabled=t(h)||!t(N),z(j,r),z(P,i)},[()=>X(`streams.form.actions`),()=>X(`streams.form.actions_hint`),()=>t(g)===``?X(`streams.form.create`):X(`streams.form.save`),()=>X(`streams.form.cancel`)]),B(S,()=>t(v).actions,e=>t(v).actions=e),d(`click`,A,O),d(`click`,M,E),e(n,a)},$$slots:{default:!0}})}};r(f,e=>{t(v)&&e(m)});var b=l(f,2);{let n=t=>{var n=vu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`streams.list.add`)]),d(`click`,n,C),e(t,n)},i=q(()=>X(`streams.list.title`)),a=q(()=>t(p).active.length?X(`streams.list.lede`):X(`streams.list.empty`));Q(b,{get title(){return t(i)},get lede(){return t(a)},actions:n,children:(n,i)=>{var a=R(),c=u(a);Y(c,17,()=>t(p).active,e=>e.key,(n,i)=>{var a=xu(),c=o(a),u=o(c),f=o(u),p=W(f,!0),m=l(f,2),g=o(m),_=W(g,!0),v=l(g);J(m);var y=l(m,2),b=W(y),x=l(y,2),S=n=>{var r=yu(),a=W(r,!0);s(()=>z(a,t(i).lastFailure)),e(n,r)},C=n=>{var r=bu(),a=W(r,!0);s(e=>z(a,e),[()=>X(`streams.list.last_delivered`,{day:Mt(t(i).lastDeliveredAt)})]),e(n,r)};r(x,e=>{t(i).lastFailure?e(S):t(i).lastDeliveredAt&&e(C,1)}),J(u);var w=l(u,2),E=o(w),D=W(E,!0),O=l(E,2),j=W(O,!0),N=l(O,2),P=W(N,!0),F=l(N,2),I=W(F,!0);J(w),J(c),J(a),s((e,n,r,a,o,s,c)=>{z(p,t(i).name),z(_,t(i).key),z(v,` · ${t(i).url??``} · ${e??``}`),z(b,`${n??``}${r??``}`),E.disabled=t(h),z(D,a),z(j,o),z(P,s),z(I,c)},[()=>X(`streams.list.added`,{day:Mt(t(i).createdAt)}),()=>t(i).actions.length?t(i).actions.join(`, `):X(`streams.list.every_action`),()=>t(i).organization?X(`streams.list.only`,{name:t(i).organization.name}):``,()=>X(`streams.list.test`),()=>X(`streams.list.edit`),()=>X(`streams.list.rotate`),()=>X(`streams.list.archive`)]),d(`click`,E,()=>M(t(i))),d(`click`,O,()=>T(t(i))),d(`click`,N,()=>A(t(i))),d(`click`,F,()=>k(`archiveEventStream`,t(i),X(`streams.archived_notice`,{name:t(i).name}),X(`streams.archive_confirm`,{name:t(i).name}))),e(n,a)}),e(n,a)},$$slots:{actions:!0,default:!0}})}var x=l(b,2),w=n=>{{let r=q(()=>X(`streams.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(p).archived,e=>e.key,(n,r)=>{var i=Su(),a=o(i),c=o(a),u=l(c),f=W(u,!0);J(a);var p=l(a,2),m=W(p,!0);J(i),s(e=>{z(c,`${t(r).name??``} `),z(f,t(r).url),z(m,e)},[()=>X(`streams.archived.restore`)]),d(`click`,p,()=>k(`restoreEventStream`,t(r),X(`streams.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(p).archived.length&&e(w)}),e(n,i)};r(x,e=>{t(m)&&!t(p)?e(w):t(p)&&e(D,1)}),e(n,a)},$$slots:{default:!0}})}D()}c([`click`]);var Eu=f(`<!> <!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <textarea class="textarea w-full font-mono" rows="3" placeholder="203.0.113.0/24"></textarea> <span class="hint"> </span></label> <div><button type="button" class="btn btn-sm"> </button></div>`,1),Du=f(`<div class="grid max-w-xl gap-3 sm:grid-cols-2"><!> <!></div>`),Ou=f(`<!> <!> <!> <!>`,1),ku=f(`<!> <!>`,1);function Au(n,i){H(i,!0);let a=[[0,X(`settings.idle.never`)],[90,X(`settings.idle.after_90_days`)],[180,X(`settings.idle.after_180_days`)],[365,X(`settings.idle.after_a_year`)],[730,X(`settings.idle.after_two_years`)]],c=[[0,X(`settings.idle.never`)],[180,X(`settings.idle.after_180_days`)],[365,X(`settings.idle.after_a_year`)],[730,X(`settings.idle.after_two_years`)],[1095,X(`settings.idle.after_three_years`)]],f=(e,t)=>!t||e.some(([e])=>e===t)?e:[...e,[t,X(`settings.after_days`,{days:t})]],p=Ct(),m=w(null),h=w(``),g=w(``);async function _(){let e=await p.attempt(()=>i.api.query(`
503
531
  query SignInRules {
504
532
  tenant { namedBy browsersOnly blockedAgents riskyNetworks suspendAfter deleteAfter signInPolicy { key } }
505
533
  signInPolicies { key name }
@@ -517,7 +545,7 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
517
545
  suspendAfter: $suspendAfter
518
546
  deleteAfter: $deleteAfter
519
547
  ) { tenant { name } }
520
- }`,e),t)&&await _()}function y(e){return e&&!confirm(X(`settings.idle.delete_confirm`))?_():v({deleteAfter:e},X(`settings.idle.updated`))}var b=$l(),x=u(b);Nn(x,{get feedback(){return p.state}});var C=l(x,2),T=n=>{var r=Ql(),i=u(r);{let e=q(()=>X(`settings.naming.title`)),n=q(()=>X(`settings.naming.help`));Q(i,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>[[`nickname`,X(`settings.naming.nickname`)],[`email`,X(`settings.naming.email`)],[`either`,X(`settings.naming.either`)]]);ra(e,{get value(){return t(m).tenant.namedBy},get options(){return t(n)},onchange:e=>v({namedBy:e},X(`settings.naming.updated`))})}},$$slots:{default:!0}})}var p=l(i,2);{let e=q(()=>X(`settings.policy.title`)),n=q(()=>X(`settings.policy.help`));Q(p,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>t(m).tenant.signInPolicy?.key??``),r=q(()=>[[``,X(`settings.policy.built_in`)],...t(m).signInPolicies.map(e=>[e.key,e.name])]);ra(e,{get value(){return t(n)},get options(){return t(r)},onchange:e=>v({signInPolicy:e},X(`settings.policy.updated`))})}},$$slots:{default:!0}})}var _=l(p,2);{let n=q(()=>X(`settings.access.title`)),r=q(()=>X(`settings.access.help`));Q(_,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=Xl(),a=u(i);{let e=q(()=>X(`settings.access.browsers_only`));aa(a,{get label(){return t(e)},get checked(){return t(m).tenant.browsersOnly},onchange:e=>v({browsersOnly:e},X(`settings.access.updated`))})}var c=l(a,2);{let e=q(()=>X(`settings.access.refused_agents`));$(c,{get label(){return t(e)},placeholder:`curl, python-requests`,onsave:()=>v({blockedAgents:t(h)},X(`settings.access.updated`)),get value(){return t(h)},set value(e){S(h,e,!0)}})}var f=l(c,2),p=o(f),_=W(p,!0),y=l(p,2);ae(y);var b=l(y,2),x=W(b,!0);J(f);var C=l(f,2),w=o(C),T=W(w,!0);J(C),s((e,t,n)=>{z(_,e),z(x,t),z(T,n)},[()=>X(`settings.access.risky_networks`),()=>X(`settings.access.risky_hint`),()=>X(`settings.access.save_networks`)]),B(y,()=>t(g),e=>S(g,e)),d(`click`,w,()=>v({riskyNetworks:t(g)},X(`settings.access.networks_saved`))),e(n,i)},$$slots:{default:!0}})}var b=l(_,2);{let n=q(()=>X(`settings.idle.title`)),r=q(()=>X(`settings.idle.help`));Q(b,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=Zl(),s=o(i);{let e=q(()=>X(`settings.idle.suspend`)),n=q(()=>t(m).tenant.suspendAfter??0),r=q(()=>f(a,t(m).tenant.suspendAfter));ra(s,{get label(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>v({suspendAfter:Number(e)},X(`settings.idle.updated`))})}var u=l(s,2);{let e=q(()=>X(`settings.idle.delete`)),n=q(()=>t(m).tenant.deleteAfter??0),r=q(()=>f(c,t(m).tenant.deleteAfter).map(([e,n])=>[e,n,e>0&&e<=(t(m).tenant.suspendAfter??0)]));ra(u,{get label(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>y(Number(e))})}J(i),e(n,i)},$$slots:{default:!0}})}e(n,r)};r(C,e=>{t(m)&&e(T)}),e(n,b),D()}c([`click`]);var tu=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),nu=f(`<option> </option>`),ru=f(`<p class="text-xs text-warning"> <!></p>`),iu=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label></div> <p class="hint"> </p> <!> <div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div>`,1),au=f(`<p class="text-xs opacity-85"> </p> <!>`,1),ou=f(`<p class="text-xs text-warning"> </p>`),su=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),cu=f(`<div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"><input class="input input-sm w-16" type="number" min="8"/> </label> <!> <!></div>`),lu=f(`<div class="flex flex-wrap gap-x-5 gap-y-2"><!> <!></div>`),uu=f(`<div class="grid gap-3 sm:grid-cols-[2fr_1fr]"><!> <!></div> <div class="policy-rows"><div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><!> <!> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="grid gap-3 sm:grid-cols-3"></div> <div class="flex flex-wrap gap-x-5 gap-y-2"><!> <!></div> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap gap-x-5 gap-y-2"></div> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap gap-x-5 gap-y-2"></div> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select></label> <label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select></label></div> <!> <p class="hint"> </p></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select> </label> <label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select> </label></div> <p class="hint"> </p></div></div></div> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),du=f(`<p class="text-sm opacity-85"> </p>`),fu=f(`<span class="badge badge-success badge-sm"> </span>`),pu=f(` <!>`,1),mu=f(`<span class="hint"> <!></span>`),hu=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),gu=f(`<div class="flex flex-wrap items-start justify-between gap-2 border-b border-base-300 pb-3 last:border-0 last:pb-0"><div class="flex min-w-0 flex-col gap-1"><span class="font-medium"> <!></span> <span class="hint"> </span> <!></div> <div class="flex gap-2"><button type="button" class="btn btn-sm"> </button> <!></div></div>`),_u=f(`<!> <!>`,1),vu=f(`<div class="flex items-center justify-between gap-2"><span class="text-sm"> </span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),yu=f(`<!> <!> <!> <!>`,1);function bu(n,c){H(c,!0);let f=`
548
+ }`,e),t)&&await _()}function y(e){return e&&!confirm(X(`settings.idle.delete_confirm`))?_():v({deleteAfter:e},X(`settings.idle.updated`))}var b=ku(),x=u(b);Nn(x,{get feedback(){return p.state}});var C=l(x,2),T=n=>{var r=Ou(),i=u(r);{let e=q(()=>X(`settings.naming.title`)),n=q(()=>X(`settings.naming.help`));Q(i,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>[[`nickname`,X(`settings.naming.nickname`)],[`email`,X(`settings.naming.email`)],[`either`,X(`settings.naming.either`)]]);ra(e,{get value(){return t(m).tenant.namedBy},get options(){return t(n)},onchange:e=>v({namedBy:e},X(`settings.naming.updated`))})}},$$slots:{default:!0}})}var p=l(i,2);{let e=q(()=>X(`settings.policy.title`)),n=q(()=>X(`settings.policy.help`));Q(p,{row:!0,get title(){return t(e)},get help(){return t(n)},children:(e,n)=>{{let n=q(()=>t(m).tenant.signInPolicy?.key??``),r=q(()=>[[``,X(`settings.policy.built_in`)],...t(m).signInPolicies.map(e=>[e.key,e.name])]);ra(e,{get value(){return t(n)},get options(){return t(r)},onchange:e=>v({signInPolicy:e},X(`settings.policy.updated`))})}},$$slots:{default:!0}})}var _=l(p,2);{let n=q(()=>X(`settings.access.title`)),r=q(()=>X(`settings.access.help`));Q(_,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=Eu(),a=u(i);{let e=q(()=>X(`settings.access.browsers_only`));aa(a,{get label(){return t(e)},get checked(){return t(m).tenant.browsersOnly},onchange:e=>v({browsersOnly:e},X(`settings.access.updated`))})}var c=l(a,2);{let e=q(()=>X(`settings.access.refused_agents`));$(c,{get label(){return t(e)},placeholder:`curl, python-requests`,onsave:()=>v({blockedAgents:t(h)},X(`settings.access.updated`)),get value(){return t(h)},set value(e){S(h,e,!0)}})}var f=l(c,2),p=o(f),_=W(p,!0),y=l(p,2);ae(y);var b=l(y,2),x=W(b,!0);J(f);var C=l(f,2),w=o(C),T=W(w,!0);J(C),s((e,t,n)=>{z(_,e),z(x,t),z(T,n)},[()=>X(`settings.access.risky_networks`),()=>X(`settings.access.risky_hint`),()=>X(`settings.access.save_networks`)]),B(y,()=>t(g),e=>S(g,e)),d(`click`,w,()=>v({riskyNetworks:t(g)},X(`settings.access.networks_saved`))),e(n,i)},$$slots:{default:!0}})}var b=l(_,2);{let n=q(()=>X(`settings.idle.title`)),r=q(()=>X(`settings.idle.help`));Q(b,{row:!0,get title(){return t(n)},get help(){return t(r)},children:(n,r)=>{var i=Du(),s=o(i);{let e=q(()=>X(`settings.idle.suspend`)),n=q(()=>t(m).tenant.suspendAfter??0),r=q(()=>f(a,t(m).tenant.suspendAfter));ra(s,{get label(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>v({suspendAfter:Number(e)},X(`settings.idle.updated`))})}var u=l(s,2);{let e=q(()=>X(`settings.idle.delete`)),n=q(()=>t(m).tenant.deleteAfter??0),r=q(()=>f(c,t(m).tenant.deleteAfter).map(([e,n])=>[e,n,e>0&&e<=(t(m).tenant.suspendAfter??0)]));ra(u,{get label(){return t(e)},get value(){return t(n)},get options(){return t(r)},onchange:e=>y(Number(e))})}J(i),e(n,i)},$$slots:{default:!0}})}e(n,r)};r(C,e=>{t(m)&&e(T)}),e(n,b),D()}c([`click`]);var ju=f(`<button type="button" class="btn btn-primary btn-sm"> </button>`),Mu=f(`<option> </option>`),Nu=f(`<p class="text-xs text-warning"> <!></p>`),Pu=f(`<div class="grid gap-3 sm:grid-cols-2"><!> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label> <label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label></div> <p class="hint"> </p> <!> <div class="flex flex-col gap-1.5"><span class="field-label"> </span> <!></div>`,1),Fu=f(`<p class="text-xs opacity-85"> </p> <!>`,1),Iu=f(`<p class="text-xs text-warning"> </p>`),Lu=f(`<label class="flex flex-col gap-1.5"><span class="field-label"> </span> <select class="select select-sm w-full"></select></label>`),Ru=f(`<div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"><input class="input input-sm w-16" type="number" min="8"/> </label> <!> <!></div>`),zu=f(`<div class="flex flex-wrap gap-x-5 gap-y-2"><!> <!></div>`),Bu=f(`<div class="grid gap-3 sm:grid-cols-[2fr_1fr]"><!> <!></div> <div class="policy-rows"><div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><!> <!> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="grid gap-3 sm:grid-cols-3"></div> <div class="flex flex-wrap gap-x-5 gap-y-2"><!> <!></div> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap gap-x-5 gap-y-2"></div> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap gap-x-5 gap-y-2"></div> <!> <!></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select></label> <label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select></label></div> <!> <p class="hint"> </p></div></div> <div class="policy-row"><span class="legend"> </span> <div class="policy-controls"><div class="flex flex-wrap items-center gap-x-5 gap-y-2"><label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select> </label> <label class="flex items-center gap-2 text-sm"> <select class="select select-sm w-auto"></select> </label></div> <p class="hint"> </p></div></div></div> <div class="flex gap-2"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`,1),Vu=f(`<p class="text-sm opacity-85"> </p>`),Hu=f(`<span class="badge badge-success badge-sm"> </span>`),Uu=f(` <!>`,1),Wu=f(`<span class="hint"> <!></span>`),Gu=f(`<button type="button" class="btn btn-ghost btn-sm"> </button>`),Ku=f(`<div class="flex flex-wrap items-start justify-between gap-2 border-b border-base-300 pb-3 last:border-0 last:pb-0"><div class="flex min-w-0 flex-col gap-1"><span class="font-medium"> <!></span> <span class="hint"> </span> <!></div> <div class="flex gap-2"><button type="button" class="btn btn-sm"> </button> <!></div></div>`),qu=f(`<!> <!>`,1),Ju=f(`<div class="flex items-center justify-between gap-2"><span class="text-sm"> </span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>`),Yu=f(`<!> <!> <!> <!>`,1);function Xu(n,c){H(c,!0);let f=`
521
549
  key name signup nickname email emailVerified phone phoneVerified
522
550
  passwordMinimum refuseCommonPasswords passwordRequired firstFactors secondFactors secondFactorRequired appsRequireSecondFactor
523
551
  sessionLifetime sessionIdleTimeout refuseBreachedPasswords riskStepUpAt riskRefuseAt proofOfWork
@@ -549,22 +577,23 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
549
577
  refuseBreachedPasswords: $refuseBreachedPasswords, riskStepUpAt: $riskStepUpAt, riskRefuseAt: $riskRefuseAt, proofOfWork: $proofOfWork, emailDomains: $emailDomains,
550
578
  providers: $providers, everyProvider: $everyProvider, confirmation: $confirmation,
551
579
  hidden: $hidden, signupScopes: $signupScopes
552
- `,g=3600,_=24*g,v=[[null,X(`policy_rules.values.default_lifetime`)],...[g,8*g,12*g,_,7*_,30*_,90*_].map(e=>[e,ja(e)])],y=[[null,X(`policies.never`)],...[900,1800,g,4*g,_].map(e=>[e,ja(e)])],b=[[null,X(`policies.never`)],...[30,50,70,90].map(e=>[e,X(`policies.score`,{score:e})])],x=[[0,X(`policies.form.signup.work_off`)],[14,X(`policies.form.signup.work_light`)],[17,X(`policies.form.signup.work_standard`)],[20,X(`policies.form.signup.work_strong`)]],T=e=>x.some(([t])=>t===e)?x:[...x,[e,X(`policies.form.signup.work_bits`,{bits:e})]],E=(e,t)=>t===null||e.some(([e])=>e===t)?e:[...e,[t,X(`policy_rules.units.second`,{count:t})]],O=(e,t)=>t.map(t=>[t,X(`policies.${e}.${t}`)]),k=O(`presence`,[`off`,`optional`,`required`]),M=O(`first`,[`password`,`passkey`,`provider`,`email_code`]),N=O(`second`,[`otp`,`passkey`,`backup_codes`,`email`,`sms`,`trusted_device`]),P=O(`confirmations`,[`none`,`code`,`link`,`approval`]),F=[`nickname`,`email`,`phone`].map(e=>[e,X(`policies.form.account.${e}`)]),L={key:``,name:``,signup:!1,nickname:`optional`,email:`required`,emailVerified:!1,phone:`off`,phoneVerified:!1,passwordMinimum:8,refuseCommonPasswords:!0,passwordRequired:!1,firstFactors:[`password`,`passkey`,`provider`],secondFactors:[`otp`,`passkey`,`backup_codes`],secondFactorRequired:!1,appsRequireSecondFactor:!1,sessionLifetime:null,sessionIdleTimeout:null,refuseBreachedPasswords:!1,riskStepUpAt:null,riskRefuseAt:null,proofOfWork:17,emailDomains:``,providers:null,confirmation:`none`,hidden:!1,signupScopes:[]},te=Ct(),ne=w(null),re=w(!0),U=w(!1),ae=w(null),G=w(C({...L}));async function oe(){S(re,!0);let e=await te.attempt(()=>c.api.query(p));S(re,!1),e&&S(ne,e,!0)}oe();function K(){S(ae,``),S(le,!1),S(G,structuredClone(L),!0),te.clear()}function se(e){S(ae,e.key,!0),S(G,{...structuredClone(A(e)),emailDomains:e.emailDomains.join(` `)},!0),te.clear()}let ce=e=>e.toLowerCase().normalize(`NFKD`).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``),le=w(!1);function ue(e){t(G).name=e,t(ae)===``&&!t(le)&&(t(G).key=ce(e))}function de(){S(ae,null),te.clear()}let fe=(e,t,n)=>n?[...new Set([...e,t])]:e.filter(e=>e!==t);function pe(){return{key:t(G).key.trim(),name:t(G).name.trim(),signup:t(G).signup,nickname:t(G).nickname,email:t(G).email,emailVerified:t(G).emailVerified,phone:t(G).phone,phoneVerified:t(G).phoneVerified,passwordMinimum:Number(t(G).passwordMinimum)||8,refuseCommonPasswords:t(G).refuseCommonPasswords,passwordRequired:t(G).passwordRequired&&t(G).firstFactors.includes(`password`),firstFactors:t(G).firstFactors,secondFactors:t(G).secondFactors,secondFactorRequired:t(G).secondFactorRequired,appsRequireSecondFactor:t(G).appsRequireSecondFactor,sessionLifetime:t(G).sessionLifetime,sessionIdleTimeout:t(G).sessionIdleTimeout,refuseBreachedPasswords:t(G).refuseBreachedPasswords,riskStepUpAt:t(G).riskStepUpAt,riskRefuseAt:t(G).riskRefuseAt,proofOfWork:Number(t(G).proofOfWork)||0,emailDomains:t(G).emailDomains.split(/[\s,]+/).filter(Boolean),providers:t(G).providers??[],everyProvider:t(G).providers===null,confirmation:t(G).confirmation,hidden:t(G).hidden,signupScopes:t(G).signupScopes}}async function me(){S(U,!0);let e=t(ae)===``,n=await te.attempt(()=>c.api.query(e?`mutation Create(${m}) { createSignInPolicy(${h}) { signInPolicy { key } } }`:`mutation Update(${m}) { updateSignInPolicy(${h}) { signInPolicy { key } } }`,pe()),X(e?`policies.added`:`policies.saved`,{name:t(G).name}));S(U,!1),n&&(S(ae,null),await oe())}async function he(e,t,n,r=null){(!r||confirm(r))&&await te.attempt(()=>c.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { signInPolicy { key } } }`,{key:t.key}),n)&&await oe()}let ge=e=>[e.signup?X(`policies.summary.signup_open`):X(`policies.summary.invitation_only`),e.secondFactorRequired?X(`policies.summary.second_factor_required`):null,e.appsRequireSecondFactor?X(`policies.summary.apps_require_second_factor`):null,e.sessionLifetime?X(`policies.summary.lifetime`,{duration:ja(e.sessionLifetime)}):null,e.sessionIdleTimeout?X(`policies.summary.idle`,{duration:ja(e.sessionIdleTimeout)}):null,e.confirmation===`none`?null:X(`policies.summary.confirmed_by`,{confirmation:e.confirmation}),e.phone===`required`?X(`policies.summary.phone_required`):null,e.hidden?X(`policies.summary.hidden`):null].filter(Boolean).join(` · `),_e=q(()=>t(ne)?.providers??[]);{let f=n=>{var i=R(),a=u(i),o=t=>{var n=tu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.add`)]),d(`click`,n,K),e(t,n)};r(a,e=>{t(ae)===null&&e(o)}),e(n,i)},p=q(()=>X(`policies.title`));zn(n,{get title(){return t(p)},actions:f,children:(n,f)=>{var p=_u(),m=u(p);Nn(m,{get feedback(){return te.state}});var h=l(m,2),g=e=>{mt(e,{})},_=n=>{var f=yu(),p=u(f),m=n=>{{let i=q(()=>t(ae)===``?X(`policies.form.new`):t(G).name);Q(n,{get title(){return t(i)},children:(n,i)=>{var c=uu(),f=u(c),p=o(f);{let e=q(()=>X(`policies.form.name`)),n=q(()=>X(`policies.form.name_placeholder`));$(p,{get label(){return t(e)},get value(){return t(G).name},oninput:e=>ue(e.currentTarget.value),get placeholder(){return t(n)}})}var m=l(p,2);{let e=q(()=>X(`policies.form.key`)),n=q(()=>t(ae)!==``);$(m,{get label(){return t(e)},oninput:()=>S(le,!0),get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,class:`input input-sm w-full font-mono`,get value(){return t(G).key},set value(e){t(G).key=e}})}J(f);var h=l(f,2),g=o(h),_=o(g),x=W(_,!0),C=l(_,2),w=o(C);{let e=q(()=>X(`policies.form.signup.open`));aa(w,{get label(){return t(e)},get checked(){return t(G).signup},set checked(e){t(G).signup=e}})}var D=l(w,2),O=n=>{var i=iu(),c=u(i),d=o(c);{let e=q(()=>X(`policies.form.signup.email_domains`)),n=q(()=>X(`policies.form.signup.email_domains_placeholder`));$(d,{get label(){return t(e)},autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(G).emailDomains},set value(e){t(G).emailDomains=e}})}var f=l(d,2),p=o(f),m=W(p,!0),h=l(p,2);Y(h,21,()=>P,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(h),I(h),J(f);var g=l(f,2),_=o(g),v=W(_,!0),y=l(_,2);Y(y,21,()=>T(t(G).proofOfWork),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(y),I(y),J(g),J(c);var b=l(c,2),x=W(b,!0),S=l(b,2),C=t=>{var n=ru(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.no_mail`)]),e(t,n)};r(S,e=>{(t(G).confirmation===`code`||t(G).confirmation===`link`)&&!t(ne).tenant.mails&&e(C)});var w=l(S,2),E=o(w),D=W(E,!0),O=l(E,2);{let e=q(()=>t(ne).scopesSupported.filter(e=>!e.startsWith(`masks:`)));Tn(O,{get value(){return t(G).signupScopes},get available(){return t(e)},onchange:e=>t(G).signupScopes=e})}J(w),s((e,t,n,r)=>{z(m,e),z(v,t),z(x,n),z(D,r)},[()=>X(`policies.form.signup.confirmation`),()=>X(`policies.form.signup.work`),()=>X(`policies.form.signup.work_hint`),()=>X(`policies.form.signup.scopes`)]),ee(h,()=>t(G).confirmation,e=>t(G).confirmation=e),ee(y,()=>t(G).proofOfWork,e=>t(G).proofOfWork=e),e(n,i)};r(D,e=>{t(G).signup&&e(O)});var A=l(D,2);{let e=q(()=>X(`policies.form.signup.hidden`));aa(A,{get label(){return t(e)},get checked(){return t(G).hidden},set checked(e){t(G).hidden=e}})}var L=l(A,2),te=n=>{var i=au(),c=u(i),d=W(c,!0),f=l(c,2),p=t=>{var n=ru(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.hidden_no_mail`)]),e(t,n)};r(f,e=>{t(ne).tenant.mails||e(p)}),s(e=>z(d,e),[()=>X(`policies.form.signup.hidden_hint`)]),e(n,i)},re=t=>{var n=ou(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.form.signup.open_warning`)]),e(t,n)};r(L,e=>{t(G).hidden?e(te):t(G).signup&&e(re,1)}),J(C),J(g);var H=l(g,2),oe=o(H),K=W(oe,!0),se=l(oe,2),ce=o(se);Y(ce,21,()=>F,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=su(),d=o(u),f=W(d,!0),p=l(d,2);Y(p,21,()=>k,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p),I(p),J(u),s(()=>z(f,c())),ee(p,()=>t(G)[a()],e=>t(G)[a()]=e),e(n,u)}),J(ce);var pe=l(ce,2),he=o(pe);{let e=q(()=>X(`policies.form.account.email_verified`));aa(he,{get label(){return t(e)},get checked(){return t(G).emailVerified},set checked(e){t(G).emailVerified=e}})}var ge=l(he,2);{let e=q(()=>X(`policies.form.account.phone_verified`));aa(ge,{get label(){return t(e)},get checked(){return t(G).phoneVerified},set checked(e){t(G).phoneVerified=e}})}J(pe);var ve=l(pe,2),ye=t=>{var n=ru(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.account.no_sms`)]),e(t,n)};r(ve,e=>{t(G).phone!==`off`&&t(G).phoneVerified&&!t(ne).tenant.texts&&e(ye)}),J(se),J(H);var be=l(H,2),xe=o(be),Se=W(xe,!0),Ce=l(xe,2),we=o(Ce);Y(we,21,()=>M,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).firstFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).firstFactors=fe(t(G).firstFactors,i(),e)})}}),J(we);var Te=l(we,2),Ee=n=>{var i=cu(),a=o(i),c=o(a);j(c);var u=l(c);J(a);var d=l(a,2);{let e=q(()=>X(`policies.form.sign_in.refuse_common`));aa(d,{get label(){return t(e)},get checked(){return t(G).refuseCommonPasswords},set checked(e){t(G).refuseCommonPasswords=e}})}var f=l(d,2),p=e=>{{let n=q(()=>X(`policies.form.sign_in.password_required`));aa(e,{get label(){return t(n)},get checked(){return t(G).passwordRequired},set checked(e){t(G).passwordRequired=e}})}},m=q(()=>t(G).firstFactors.includes(`passkey`));r(f,e=>{t(m)&&e(p)}),J(i),s(e=>z(u,` ${e??``}`),[()=>X(`policies.form.sign_in.characters`)]),B(c,()=>t(G).passwordMinimum,e=>t(G).passwordMinimum=e),e(n,i)},De=q(()=>t(G).firstFactors.includes(`password`));r(Te,e=>{t(De)&&e(Ee)});var Oe=l(Te,2),ke=n=>{var i=lu(),a=o(i);{let e=q(()=>X(`policies.form.sign_in.all_providers`)),n=q(()=>t(G).providers===null);aa(a,{get label(){return t(e)},get checked(){return t(n)},onchange:e=>t(G).providers=e?null:t(_e).map(e=>e.key)})}var s=l(a,2),c=n=>{var r=R(),i=u(r);Y(i,17,()=>t(_e),e=>e.key,(e,n)=>{{let r=q(()=>t(G).providers.includes(t(n).key));aa(e,{get label(){return t(n).name},get checked(){return t(r)},onchange:e=>t(G).providers=fe(t(G).providers,t(n).key,e)})}}),e(n,r)};r(s,e=>{t(G).providers!==null&&e(c)}),J(i),e(n,i)},Ae=q(()=>t(G).firstFactors.includes(`provider`)&&t(_e).length);r(Oe,e=>{t(Ae)&&e(ke)}),J(Ce),J(be);var je=l(be,2),Me=o(je),Ne=W(Me,!0),Pe=l(Me,2),Fe=o(Pe);Y(Fe,21,()=>N,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).secondFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).secondFactors=fe(t(G).secondFactors,i(),e)})}}),J(Fe);var Ie=l(Fe,2);{let e=q(()=>X(`policies.form.second_factor.required`));aa(Ie,{get label(){return t(e)},get checked(){return t(G).secondFactorRequired},set checked(e){t(G).secondFactorRequired=e}})}var Le=l(Ie,2);{let e=q(()=>X(`policies.form.second_factor.apps`));aa(Le,{get label(){return t(e)},get checked(){return t(G).appsRequireSecondFactor},set checked(e){t(G).appsRequireSecondFactor=e}})}J(Pe),J(je);var Re=l(je,2),ze=o(Re),Be=W(ze,!0),Ve=l(ze,2),He=o(Ve),Ue=o(He),We=o(Ue),Ge=l(We);Y(Ge,21,()=>E(b,t(G).riskStepUpAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Ge),I(Ge),J(Ue);var Ke=l(Ue,2),qe=o(Ke),Je=l(qe);Y(Je,21,()=>E(b,t(G).riskRefuseAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Je),I(Je),J(Ke),J(He);var Ye=l(He,2);{let e=q(()=>X(`policies.form.risk.refuse_breached`));aa(Ye,{get label(){return t(e)},get checked(){return t(G).refuseBreachedPasswords},set checked(e){t(G).refuseBreachedPasswords=e}})}var Xe=l(Ye,2),Ze=W(Xe,!0);J(Ve),J(Re);var Qe=l(Re,2),$e=o(Qe),et=W($e,!0),tt=l($e,2),nt=o(tt),rt=o(nt),it=o(rt),at=l(it);Y(at,21,()=>E(v,t(G).sessionLifetime),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(at),I(at);var ot=l(at);J(rt);var st=l(rt,2),ct=o(st),lt=l(ct);Y(lt,21,()=>E(y,t(G).sessionIdleTimeout),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=nu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(lt),I(lt);var ut=l(lt);J(st),J(nt);var dt=l(nt,2),ft=W(dt,!0);J(tt),J(Qe),J(h);var pt=l(h,2),mt=o(pt),ht=W(mt,!0),gt=l(mt,2),_t=W(gt,!0);J(pt),s((e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)=>{z(x,e),z(K,t),z(Se,n),z(Ne,r),z(Be,i),z(We,`${a??``} `),z(qe,`${o??``} `),z(Ze,s),z(et,c),z(it,`${l??``} `),z(ot,` ${u??``}`),z(ct,`${d??``} `),z(ut,` ${f??``}`),z(ft,p),mt.disabled=m,z(ht,h),z(_t,g)},[()=>X(`policies.form.signup.legend`),()=>X(`policies.form.account.legend`),()=>X(`policies.form.sign_in.legend`),()=>X(`policies.form.second_factor.legend`),()=>X(`policies.form.risk.legend`),()=>X(`policies.form.risk.step_up`),()=>X(`policies.form.risk.refuse`),()=>X(`policies.form.risk.hint`),()=>X(`policies.form.sessions.legend`),()=>X(`policies.form.sessions.last`),()=>X(`policies.form.sessions.after_sign_in`),()=>X(`policies.form.sessions.end_after`),()=>X(`policies.form.sessions.idle`),()=>X(`policies.form.sessions.hint`),()=>t(U)||!t(G).key.trim()||!t(G).name.trim(),()=>t(ae)===``?X(`policies.form.create`):X(`policies.form.save`),()=>X(`policies.form.cancel`)]),ee(Ge,()=>t(G).riskStepUpAt,e=>t(G).riskStepUpAt=e),ee(Je,()=>t(G).riskRefuseAt,e=>t(G).riskRefuseAt=e),ee(at,()=>t(G).sessionLifetime,e=>t(G).sessionLifetime=e),ee(lt,()=>t(G).sessionIdleTimeout,e=>t(G).sessionIdleTimeout=e),d(`click`,mt,me),d(`click`,gt,de),e(n,c)},$$slots:{default:!0}})}};r(p,e=>{t(ae)!==null&&e(m)});var h=l(p,2);Q(h,{children:(n,i)=>{var c=_u(),f=u(c),p=t=>{var n=du(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.empty`)]),e(t,n)};r(f,e=>{t(ne).active.length===0&&e(p)});var m=l(f,2);Y(m,17,()=>t(ne).active,e=>e.key,(n,i)=>{var c=gu(),f=o(c),p=o(f),m=o(p),h=l(m),g=t=>{var n=fu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.default`)]),e(t,n)};r(h,e=>{t(i).default&&e(g)}),J(p);var _=l(p,2),v=W(_,!0),y=l(_,2),b=n=>{var r=mu(),c=o(r),d=l(c);Y(d,19,()=>t(i).clients,e=>e.clientId,(n,r,i)=>{V();var o=pu(),c=u(o,!0),d=l(c);{let n=q(()=>`/clients/${t(r).clientId}`);Z(d,{get to(){return t(n)},class:`link`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}s(()=>z(c,t(i)?`, `:``)),e(n,o)}),J(r),s(e=>z(c,`${e??``} `),[()=>X(`policies.list.used_by`)]),e(n,r)};r(y,e=>{t(i).clients.length&&e(b)}),J(f);var x=l(f,2),S=o(x),C=W(S,!0),w=l(S,2),T=n=>{var r=hu(),a=W(r,!0);s(e=>z(a,e),[()=>X(`policies.list.archive`)]),d(`click`,r,()=>he(`archiveSignInPolicy`,t(i),X(`policies.archived_notice`,{name:t(i).name}),X(`policies.archive_confirm`,{name:t(i).name}))),e(n,r)};r(w,e=>{t(i).default||e(T)}),J(x),J(c),s((e,n)=>{z(m,`${t(i).name??``} `),z(v,e),z(C,n)},[()=>ge(t(i)),()=>X(`policies.list.edit`)]),d(`click`,S,()=>se(t(i))),e(n,c)}),e(n,c)},$$slots:{default:!0}});var g=l(h,2),_=n=>{var r=R(),a=u(r);i(a,()=>t(ne),e=>{eu(e,{get api(){return c.api}})}),e(n,r)};r(g,e=>{t(ae)===null&&e(_)});var x=l(g,2),C=n=>{{let r=q(()=>X(`policies.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(ne).archived,e=>e.key,(n,r)=>{var i=vu(),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0);J(i),s(e=>{z(c,t(r).name),z(f,e)},[()=>X(`policies.archived.restore`)]),d(`click`,u,()=>he(`restoreSignInPolicy`,t(r),X(`policies.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(ne).archived.length&&e(C)}),e(n,f)};r(h,e=>{t(re)&&!t(ne)?e(g):t(ne)&&e(_,1)}),e(n,p)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var xu=f(`<p class="hint"> </p>`),Su=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> </div> <code class="hint font-mono text-xs break-all"> </code> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),Cu=f(`<ul class="compact-list"></ul>`),wu=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code></div>`),Tu=f(`<dl class="ldap-facts"><dt class="field-label"> </dt> <dd><code class="font-mono text-xs"> </code></dd> <dt class="field-label"> </dt> <dd><code class="font-mono text-xs break-all"> </code></dd></dl> <!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-48" placeholder="jellyfin"/> <button type="submit" class="btn btn-sm join-item"> </button></form> <p class="hint"> </p> <!> <!> <p class="hint"> </p>`,1),Eu=f(`<!> <!>`,1);function Du(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(``),p=w(null);async function m(){try{S(c,await i.api.query(`
580
+ `,g=3600,_=24*g,v=[[null,X(`policy_rules.values.default_lifetime`)],...[g,8*g,12*g,_,7*_,30*_,90*_].map(e=>[e,ja(e)])],y=[[null,X(`policies.never`)],...[900,1800,g,4*g,_].map(e=>[e,ja(e)])],b=[[null,X(`policies.never`)],...[30,50,70,90].map(e=>[e,X(`policies.score`,{score:e})])],x=[[0,X(`policies.form.signup.work_off`)],[14,X(`policies.form.signup.work_light`)],[17,X(`policies.form.signup.work_standard`)],[20,X(`policies.form.signup.work_strong`)]],T=e=>x.some(([t])=>t===e)?x:[...x,[e,X(`policies.form.signup.work_bits`,{bits:e})]],E=(e,t)=>t===null||e.some(([e])=>e===t)?e:[...e,[t,X(`policy_rules.units.second`,{count:t})]],O=(e,t)=>t.map(t=>[t,X(`policies.${e}.${t}`)]),k=O(`presence`,[`off`,`optional`,`required`]),M=O(`first`,[`password`,`passkey`,`provider`,`email_code`]),N=O(`second`,[`otp`,`passkey`,`backup_codes`,`email`,`sms`,`trusted_device`]),P=O(`confirmations`,[`none`,`code`,`link`,`approval`]),F=[`nickname`,`email`,`phone`].map(e=>[e,X(`policies.form.account.${e}`)]),L={key:``,name:``,signup:!1,nickname:`optional`,email:`required`,emailVerified:!1,phone:`off`,phoneVerified:!1,passwordMinimum:8,refuseCommonPasswords:!0,passwordRequired:!1,firstFactors:[`password`,`passkey`,`provider`],secondFactors:[`otp`,`passkey`,`backup_codes`],secondFactorRequired:!1,appsRequireSecondFactor:!1,sessionLifetime:null,sessionIdleTimeout:null,refuseBreachedPasswords:!1,riskStepUpAt:null,riskRefuseAt:null,proofOfWork:17,emailDomains:``,providers:null,confirmation:`none`,hidden:!1,signupScopes:[]},te=Ct(),ne=w(null),re=w(!0),U=w(!1),ae=w(null),G=w(C({...L}));async function oe(){S(re,!0);let e=await te.attempt(()=>c.api.query(p));S(re,!1),e&&S(ne,e,!0)}oe();function K(){S(ae,``),S(le,!1),S(G,structuredClone(L),!0),te.clear()}function se(e){S(ae,e.key,!0),S(G,{...structuredClone(A(e)),emailDomains:e.emailDomains.join(` `)},!0),te.clear()}let ce=e=>e.toLowerCase().normalize(`NFKD`).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``),le=w(!1);function ue(e){t(G).name=e,t(ae)===``&&!t(le)&&(t(G).key=ce(e))}function de(){S(ae,null),te.clear()}let fe=(e,t,n)=>n?[...new Set([...e,t])]:e.filter(e=>e!==t);function pe(){return{key:t(G).key.trim(),name:t(G).name.trim(),signup:t(G).signup,nickname:t(G).nickname,email:t(G).email,emailVerified:t(G).emailVerified,phone:t(G).phone,phoneVerified:t(G).phoneVerified,passwordMinimum:Number(t(G).passwordMinimum)||8,refuseCommonPasswords:t(G).refuseCommonPasswords,passwordRequired:t(G).passwordRequired&&t(G).firstFactors.includes(`password`),firstFactors:t(G).firstFactors,secondFactors:t(G).secondFactors,secondFactorRequired:t(G).secondFactorRequired,appsRequireSecondFactor:t(G).appsRequireSecondFactor,sessionLifetime:t(G).sessionLifetime,sessionIdleTimeout:t(G).sessionIdleTimeout,refuseBreachedPasswords:t(G).refuseBreachedPasswords,riskStepUpAt:t(G).riskStepUpAt,riskRefuseAt:t(G).riskRefuseAt,proofOfWork:Number(t(G).proofOfWork)||0,emailDomains:t(G).emailDomains.split(/[\s,]+/).filter(Boolean),providers:t(G).providers??[],everyProvider:t(G).providers===null,confirmation:t(G).confirmation,hidden:t(G).hidden,signupScopes:t(G).signupScopes}}async function me(){S(U,!0);let e=t(ae)===``,n=await te.attempt(()=>c.api.query(e?`mutation Create(${m}) { createSignInPolicy(${h}) { signInPolicy { key } } }`:`mutation Update(${m}) { updateSignInPolicy(${h}) { signInPolicy { key } } }`,pe()),X(e?`policies.added`:`policies.saved`,{name:t(G).name}));S(U,!1),n&&(S(ae,null),await oe())}async function he(e,t,n,r=null){(!r||confirm(r))&&await te.attempt(()=>c.api.query(`mutation Act($key: ID!) { ${e}(key: $key) { signInPolicy { key } } }`,{key:t.key}),n)&&await oe()}let ge=e=>[e.signup?X(`policies.summary.signup_open`):X(`policies.summary.invitation_only`),e.secondFactorRequired?X(`policies.summary.second_factor_required`):null,e.appsRequireSecondFactor?X(`policies.summary.apps_require_second_factor`):null,e.sessionLifetime?X(`policies.summary.lifetime`,{duration:ja(e.sessionLifetime)}):null,e.sessionIdleTimeout?X(`policies.summary.idle`,{duration:ja(e.sessionIdleTimeout)}):null,e.confirmation===`none`?null:X(`policies.summary.confirmed_by`,{confirmation:e.confirmation}),e.phone===`required`?X(`policies.summary.phone_required`):null,e.hidden?X(`policies.summary.hidden`):null].filter(Boolean).join(` · `),_e=q(()=>t(ne)?.providers??[]);{let f=n=>{var i=R(),a=u(i),o=t=>{var n=ju(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.add`)]),d(`click`,n,K),e(t,n)};r(a,e=>{t(ae)===null&&e(o)}),e(n,i)},p=q(()=>X(`policies.title`));zn(n,{get title(){return t(p)},actions:f,children:(n,f)=>{var p=qu(),m=u(p);Nn(m,{get feedback(){return te.state}});var h=l(m,2),g=e=>{mt(e,{})},_=n=>{var f=Yu(),p=u(f),m=n=>{{let i=q(()=>t(ae)===``?X(`policies.form.new`):t(G).name);Q(n,{get title(){return t(i)},children:(n,i)=>{var c=Bu(),f=u(c),p=o(f);{let e=q(()=>X(`policies.form.name`)),n=q(()=>X(`policies.form.name_placeholder`));$(p,{get label(){return t(e)},get value(){return t(G).name},oninput:e=>ue(e.currentTarget.value),get placeholder(){return t(n)}})}var m=l(p,2);{let e=q(()=>X(`policies.form.key`)),n=q(()=>t(ae)!==``);$(m,{get label(){return t(e)},oninput:()=>S(le,!0),get disabled(){return t(n)},autocapitalize:`none`,autocorrect:`off`,spellcheck:`false`,class:`input input-sm w-full font-mono`,get value(){return t(G).key},set value(e){t(G).key=e}})}J(f);var h=l(f,2),g=o(h),_=o(g),x=W(_,!0),C=l(_,2),w=o(C);{let e=q(()=>X(`policies.form.signup.open`));aa(w,{get label(){return t(e)},get checked(){return t(G).signup},set checked(e){t(G).signup=e}})}var D=l(w,2),O=n=>{var i=Pu(),c=u(i),d=o(c);{let e=q(()=>X(`policies.form.signup.email_domains`)),n=q(()=>X(`policies.form.signup.email_domains_placeholder`));$(d,{get label(){return t(e)},autocapitalize:`none`,spellcheck:`false`,get placeholder(){return t(n)},get value(){return t(G).emailDomains},set value(e){t(G).emailDomains=e}})}var f=l(d,2),p=o(f),m=W(p,!0),h=l(p,2);Y(h,21,()=>P,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(h),I(h),J(f);var g=l(f,2),_=o(g),v=W(_,!0),y=l(_,2);Y(y,21,()=>T(t(G).proofOfWork),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(y),I(y),J(g),J(c);var b=l(c,2),x=W(b,!0),S=l(b,2),C=t=>{var n=Nu(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.no_mail`)]),e(t,n)};r(S,e=>{(t(G).confirmation===`code`||t(G).confirmation===`link`)&&!t(ne).tenant.mails&&e(C)});var w=l(S,2),E=o(w),D=W(E,!0),O=l(E,2);{let e=q(()=>t(ne).scopesSupported.filter(e=>!e.startsWith(`masks:`)));Tn(O,{get value(){return t(G).signupScopes},get available(){return t(e)},onchange:e=>t(G).signupScopes=e})}J(w),s((e,t,n,r)=>{z(m,e),z(v,t),z(x,n),z(D,r)},[()=>X(`policies.form.signup.confirmation`),()=>X(`policies.form.signup.work`),()=>X(`policies.form.signup.work_hint`),()=>X(`policies.form.signup.scopes`)]),ee(h,()=>t(G).confirmation,e=>t(G).confirmation=e),ee(y,()=>t(G).proofOfWork,e=>t(G).proofOfWork=e),e(n,i)};r(D,e=>{t(G).signup&&e(O)});var A=l(D,2);{let e=q(()=>X(`policies.form.signup.hidden`));aa(A,{get label(){return t(e)},get checked(){return t(G).hidden},set checked(e){t(G).hidden=e}})}var L=l(A,2),te=n=>{var i=Fu(),c=u(i),d=W(c,!0),f=l(c,2),p=t=>{var n=Nu(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.signup.hidden_no_mail`)]),e(t,n)};r(f,e=>{t(ne).tenant.mails||e(p)}),s(e=>z(d,e),[()=>X(`policies.form.signup.hidden_hint`)]),e(n,i)},re=t=>{var n=Iu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.form.signup.open_warning`)]),e(t,n)};r(L,e=>{t(G).hidden?e(te):t(G).signup&&e(re,1)}),J(C),J(g);var H=l(g,2),oe=o(H),K=W(oe,!0),se=l(oe,2),ce=o(se);Y(ce,21,()=>F,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],c=()=>t(i)[1];var u=Lu(),d=o(u),f=W(d,!0),p=l(d,2);Y(p,21,()=>k,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(p),I(p),J(u),s(()=>z(f,c())),ee(p,()=>t(G)[a()],e=>t(G)[a()]=e),e(n,u)}),J(ce);var pe=l(ce,2),he=o(pe);{let e=q(()=>X(`policies.form.account.email_verified`));aa(he,{get label(){return t(e)},get checked(){return t(G).emailVerified},set checked(e){t(G).emailVerified=e}})}var ge=l(he,2);{let e=q(()=>X(`policies.form.account.phone_verified`));aa(ge,{get label(){return t(e)},get checked(){return t(G).phoneVerified},set checked(e){t(G).phoneVerified=e}})}J(pe);var ve=l(pe,2),ye=t=>{var n=Nu(),r=o(n);Z(l(r),{to:`/messages`,class:`link`,children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`policies.form.add_one`)]),e(t,r)},$$slots:{default:!0}}),J(n),s(e=>z(r,`${e??``} `),[()=>X(`policies.form.account.no_sms`)]),e(t,n)};r(ve,e=>{t(G).phone!==`off`&&t(G).phoneVerified&&!t(ne).tenant.texts&&e(ye)}),J(se),J(H);var be=l(H,2),xe=o(be),Se=W(xe,!0),Ce=l(xe,2),we=o(Ce);Y(we,21,()=>M,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).firstFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).firstFactors=fe(t(G).firstFactors,i(),e)})}}),J(we);var Te=l(we,2),Ee=n=>{var i=Ru(),a=o(i),c=o(a);j(c);var u=l(c);J(a);var d=l(a,2);{let e=q(()=>X(`policies.form.sign_in.refuse_common`));aa(d,{get label(){return t(e)},get checked(){return t(G).refuseCommonPasswords},set checked(e){t(G).refuseCommonPasswords=e}})}var f=l(d,2),p=e=>{{let n=q(()=>X(`policies.form.sign_in.password_required`));aa(e,{get label(){return t(n)},get checked(){return t(G).passwordRequired},set checked(e){t(G).passwordRequired=e}})}},m=q(()=>t(G).firstFactors.includes(`passkey`));r(f,e=>{t(m)&&e(p)}),J(i),s(e=>z(u,` ${e??``}`),[()=>X(`policies.form.sign_in.characters`)]),B(c,()=>t(G).passwordMinimum,e=>t(G).passwordMinimum=e),e(n,i)},De=q(()=>t(G).firstFactors.includes(`password`));r(Te,e=>{t(De)&&e(Ee)});var Oe=l(Te,2),ke=n=>{var i=zu(),a=o(i);{let e=q(()=>X(`policies.form.sign_in.all_providers`)),n=q(()=>t(G).providers===null);aa(a,{get label(){return t(e)},get checked(){return t(n)},onchange:e=>t(G).providers=e?null:t(_e).map(e=>e.key)})}var s=l(a,2),c=n=>{var r=R(),i=u(r);Y(i,17,()=>t(_e),e=>e.key,(e,n)=>{{let r=q(()=>t(G).providers.includes(t(n).key));aa(e,{get label(){return t(n).name},get checked(){return t(r)},onchange:e=>t(G).providers=fe(t(G).providers,t(n).key,e)})}}),e(n,r)};r(s,e=>{t(G).providers!==null&&e(c)}),J(i),e(n,i)},Ae=q(()=>t(G).firstFactors.includes(`provider`)&&t(_e).length);r(Oe,e=>{t(Ae)&&e(ke)}),J(Ce),J(be);var je=l(be,2),Me=o(je),Ne=W(Me,!0),Pe=l(Me,2),Fe=o(Pe);Y(Fe,21,()=>N,([e,t])=>e,(e,n)=>{var r=q(()=>ie(t(n),2));let i=()=>t(r)[0],a=()=>t(r)[1];{let n=q(()=>t(G).secondFactors.includes(i()));aa(e,{get label(){return a()},get checked(){return t(n)},onchange:e=>t(G).secondFactors=fe(t(G).secondFactors,i(),e)})}}),J(Fe);var Ie=l(Fe,2);{let e=q(()=>X(`policies.form.second_factor.required`));aa(Ie,{get label(){return t(e)},get checked(){return t(G).secondFactorRequired},set checked(e){t(G).secondFactorRequired=e}})}var Le=l(Ie,2);{let e=q(()=>X(`policies.form.second_factor.apps`));aa(Le,{get label(){return t(e)},get checked(){return t(G).appsRequireSecondFactor},set checked(e){t(G).appsRequireSecondFactor=e}})}J(Pe),J(je);var Re=l(je,2),ze=o(Re),Be=W(ze,!0),Ve=l(ze,2),He=o(Ve),Ue=o(He),We=o(Ue),Ge=l(We);Y(Ge,21,()=>E(b,t(G).riskStepUpAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Ge),I(Ge),J(Ue);var Ke=l(Ue,2),qe=o(Ke),Je=l(qe);Y(Je,21,()=>E(b,t(G).riskRefuseAt),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(Je),I(Je),J(Ke),J(He);var Ye=l(He,2);{let e=q(()=>X(`policies.form.risk.refuse_breached`));aa(Ye,{get label(){return t(e)},get checked(){return t(G).refuseBreachedPasswords},set checked(e){t(G).refuseBreachedPasswords=e}})}var Xe=l(Ye,2),Ze=W(Xe,!0);J(Ve),J(Re);var Qe=l(Re,2),$e=o(Qe),et=W($e,!0),tt=l($e,2),nt=o(tt),rt=o(nt),it=o(rt),at=l(it);Y(at,21,()=>E(v,t(G).sessionLifetime),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(at),I(at);var ot=l(at);J(rt);var st=l(rt,2),ct=o(st),lt=l(ct);Y(lt,21,()=>E(y,t(G).sessionIdleTimeout),([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=Mu(),l=W(c,!0),u={};s(()=>{z(l,o()),u!==(u=a())&&(c.value=(c.__value=u)??``)}),e(n,c)}),J(lt),I(lt);var ut=l(lt);J(st),J(nt);var dt=l(nt,2),ft=W(dt,!0);J(tt),J(Qe),J(h);var pt=l(h,2),mt=o(pt),ht=W(mt,!0),gt=l(mt,2),_t=W(gt,!0);J(pt),s((e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)=>{z(x,e),z(K,t),z(Se,n),z(Ne,r),z(Be,i),z(We,`${a??``} `),z(qe,`${o??``} `),z(Ze,s),z(et,c),z(it,`${l??``} `),z(ot,` ${u??``}`),z(ct,`${d??``} `),z(ut,` ${f??``}`),z(ft,p),mt.disabled=m,z(ht,h),z(_t,g)},[()=>X(`policies.form.signup.legend`),()=>X(`policies.form.account.legend`),()=>X(`policies.form.sign_in.legend`),()=>X(`policies.form.second_factor.legend`),()=>X(`policies.form.risk.legend`),()=>X(`policies.form.risk.step_up`),()=>X(`policies.form.risk.refuse`),()=>X(`policies.form.risk.hint`),()=>X(`policies.form.sessions.legend`),()=>X(`policies.form.sessions.last`),()=>X(`policies.form.sessions.after_sign_in`),()=>X(`policies.form.sessions.end_after`),()=>X(`policies.form.sessions.idle`),()=>X(`policies.form.sessions.hint`),()=>t(U)||!t(G).key.trim()||!t(G).name.trim(),()=>t(ae)===``?X(`policies.form.create`):X(`policies.form.save`),()=>X(`policies.form.cancel`)]),ee(Ge,()=>t(G).riskStepUpAt,e=>t(G).riskStepUpAt=e),ee(Je,()=>t(G).riskRefuseAt,e=>t(G).riskRefuseAt=e),ee(at,()=>t(G).sessionLifetime,e=>t(G).sessionLifetime=e),ee(lt,()=>t(G).sessionIdleTimeout,e=>t(G).sessionIdleTimeout=e),d(`click`,mt,me),d(`click`,gt,de),e(n,c)},$$slots:{default:!0}})}};r(p,e=>{t(ae)!==null&&e(m)});var h=l(p,2);Q(h,{children:(n,i)=>{var c=qu(),f=u(c),p=t=>{var n=Vu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.empty`)]),e(t,n)};r(f,e=>{t(ne).active.length===0&&e(p)});var m=l(f,2);Y(m,17,()=>t(ne).active,e=>e.key,(n,i)=>{var c=Ku(),f=o(c),p=o(f),m=o(p),h=l(m),g=t=>{var n=Hu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`policies.list.default`)]),e(t,n)};r(h,e=>{t(i).default&&e(g)}),J(p);var _=l(p,2),v=W(_,!0),y=l(_,2),b=n=>{var r=Wu(),c=o(r),d=l(c);Y(d,19,()=>t(i).clients,e=>e.clientId,(n,r,i)=>{V();var o=Uu(),c=u(o,!0),d=l(c);{let n=q(()=>`/clients/${t(r).clientId}`);Z(d,{get to(){return t(n)},class:`link`,children:(n,i)=>{V();var o=a();s(()=>z(o,t(r).name)),e(n,o)},$$slots:{default:!0}})}s(()=>z(c,t(i)?`, `:``)),e(n,o)}),J(r),s(e=>z(c,`${e??``} `),[()=>X(`policies.list.used_by`)]),e(n,r)};r(y,e=>{t(i).clients.length&&e(b)}),J(f);var x=l(f,2),S=o(x),C=W(S,!0),w=l(S,2),T=n=>{var r=Gu(),a=W(r,!0);s(e=>z(a,e),[()=>X(`policies.list.archive`)]),d(`click`,r,()=>he(`archiveSignInPolicy`,t(i),X(`policies.archived_notice`,{name:t(i).name}),X(`policies.archive_confirm`,{name:t(i).name}))),e(n,r)};r(w,e=>{t(i).default||e(T)}),J(x),J(c),s((e,n)=>{z(m,`${t(i).name??``} `),z(v,e),z(C,n)},[()=>ge(t(i)),()=>X(`policies.list.edit`)]),d(`click`,S,()=>se(t(i))),e(n,c)}),e(n,c)},$$slots:{default:!0}});var g=l(h,2),_=n=>{var r=R(),a=u(r);i(a,()=>t(ne),e=>{Au(e,{get api(){return c.api}})}),e(n,r)};r(g,e=>{t(ae)===null&&e(_)});var x=l(g,2),C=n=>{{let r=q(()=>X(`policies.archived.title`));Q(n,{get title(){return t(r)},children:(n,r)=>{var i=R(),a=u(i);Y(a,17,()=>t(ne).archived,e=>e.key,(n,r)=>{var i=Ju(),a=o(i),c=W(a,!0),u=l(a,2),f=W(u,!0);J(i),s(e=>{z(c,t(r).name),z(f,e)},[()=>X(`policies.archived.restore`)]),d(`click`,u,()=>he(`restoreSignInPolicy`,t(r),X(`policies.restored`,{name:t(r).name}))),e(n,i)}),e(n,i)},$$slots:{default:!0}})}};r(x,e=>{t(ne).archived.length&&e(C)}),e(n,f)};r(h,e=>{t(re)&&!t(ne)?e(g):t(ne)&&e(_,1)}),e(n,p)},$$slots:{actions:!0,default:!0}})}D()}c([`click`]);var Zu=f(`<p class="hint"> </p>`),Qu=f(`<div class="hint"> </div>`),$u=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> </div> <code class="hint font-mono text-xs break-all"> </code> <!> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),ed=f(`<ul class="compact-list"></ul>`),td=f(`<option> </option>`),nd=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code> <span class="text-xs"> </span> <code class="font-mono text-xs break-all"> </code></div>`),rd=f(`<dl class="ldap-facts"><dt class="field-label"> </dt> <dd><code class="font-mono text-xs"> </code></dd> <dt class="field-label"> </dt> <dd><code class="font-mono text-xs break-all"> </code></dd></dl> <!> <!> <form class="join"><input class="input input-sm join-item w-full max-w-48" placeholder="jellyfin"/> <select class="select select-sm join-item w-full max-w-48"><option> </option><!></select> <button type="submit" class="btn btn-sm join-item"> </button></form> <p class="hint"> </p> <p class="hint"> </p> <!> <!> <p class="hint"> </p>`,1),id=f(`<!> <!>`,1);function ad(n,i){H(i,!0);let a=Ct(),c=w(null),f=w(``),p=w(``),m=w(null);async function h(){try{S(c,await i.api.query(`
553
581
  query Ldap {
554
582
  ldapBaseDn
555
583
  ldapPort
556
584
  ldapTls
557
585
  ldapLocalOnly
558
- ldapCredentials { id label bindDn usedAt createdAt issuedBy { identifier } }
586
+ ldapCredentials { id label bindDn usedAt createdAt issuedBy { identifier } client { clientId name } }
587
+ clients(limit: 200) { clientId name appPasswords }
559
588
  tenant { ldapEnabled ldapPasswordOnly }
560
589
  }
561
- `),!0)}catch(e){a.blame(e)}}m();async function h(){let e=await a.attempt(()=>i.api.query(`mutation Issue($label: String!) {
562
- issueLdapCredential(label: $label) { secret ldapCredential { bindDn } }
563
- }`,{label:t(f).trim()}));e&&(S(p,e.issueLdapCredential,!0),S(f,``),await m())}async function g(e){confirm(X(`ldap.revoke_confirm`,{label:e.label}))&&await a.attempt(()=>i.api.query(`mutation Revoke($id: ID!) { revokeLdapCredential(id: $id) { ldapCredential { id } } }`,{id:e.id}),X(`ldap.revoked`,{label:e.label}))&&await m()}async function v(e){await a.attempt(()=>i.api.query(`mutation Serve($ldapEnabled: Boolean) {
590
+ `),!0)}catch(e){a.blame(e)}}h();async function g(){let e=await a.attempt(()=>i.api.query(`mutation Issue($label: String!, $clientId: ID) {
591
+ issueLdapCredential(label: $label, clientId: $clientId) { secret ldapCredential { bindDn } }
592
+ }`,{label:t(f).trim(),clientId:t(p)||null}));e&&(S(m,e.issueLdapCredential,!0),S(f,``),S(p,``),await h())}async function v(e){confirm(X(`ldap.revoke_confirm`,{label:e.label}))&&await a.attempt(()=>i.api.query(`mutation Revoke($id: ID!) { revokeLdapCredential(id: $id) { ldapCredential { id } } }`,{id:e.id}),X(`ldap.revoked`,{label:e.label}))&&await h()}async function y(e){await a.attempt(()=>i.api.query(`mutation Serve($ldapEnabled: Boolean) {
564
593
  updateTenant(ldapEnabled: $ldapEnabled) { tenant { ldapEnabled } }
565
- }`,{ldapEnabled:e}),X(`ldap.serve.updated`))&&await m()}async function y(e){await a.attempt(()=>i.api.query(`mutation PasswordOnly($ldapPasswordOnly: Boolean) {
594
+ }`,{ldapEnabled:e}),X(`ldap.serve.updated`))&&await h()}async function b(e){await a.attempt(()=>i.api.query(`mutation PasswordOnly($ldapPasswordOnly: Boolean) {
566
595
  updateTenant(ldapPasswordOnly: $ldapPasswordOnly) { tenant { ldapPasswordOnly } }
567
- }`,{ldapPasswordOnly:e}),X(`ldap.binds.updated`))&&await m()}{let i=q(()=>X(`ldap.title`)),m=q(()=>`${X(`ldap.lede`)} ${X(`ldap.serve.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(m)},children:(n,i)=>{var m=Eu(),b=u(m);Nn(b,{get feedback(){return a.state}});var x=l(b,2),C=n=>{var i=Eu(),a=u(i);{let e=q(()=>X(`ldap.serve.on`));aa(a,{get label(){return t(e)},get checked(){return t(c).tenant.ldapEnabled},onchange:v})}var m=l(a,2),b=n=>{var i=Tu(),a=u(i),m=o(a),v=W(m,!0),b=l(m,2),x=o(b),C=W(x,!0);J(b);var w=l(b,2),T=W(w,!0),E=l(w,2),D=o(E),O=W(D,!0);J(E),J(a);var k=l(a,2),A=t=>{var n=xu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`ldap.connect.local_only`)]),e(t,n)};r(k,e=>{t(c).ldapLocalOnly&&e(A)});var M=l(k,2),N=n=>{var r=Cu();Y(r,21,()=>t(c).ldapCredentials,e=>e.id,(n,r)=>{var i=Su(),a=o(i),c=o(a),u=W(c,!0),f=l(c,2),p=W(f,!0),m=l(f,2),h=W(m,!0);J(a);var _=l(a,2),v=W(_,!0);J(i),s((e,n)=>{z(u,t(r).label),z(p,t(r).bindDn),z(h,e),z(v,n)},[()=>X(`ldap.credentials.used`,{used:Pt(t(r).usedAt,X(`ldap.credentials.never`))}),()=>X(`ldap.credentials.revoke`)]),d(`click`,_,()=>g(t(r))),e(n,i)}),J(r),e(n,r)};r(M,e=>{t(c).ldapCredentials.length&&e(N)});var F=l(M,2),I=o(F);j(I);var ee=l(I,2),L=W(ee,!0);J(F);var te=l(F,2),R=W(te,!0),V=l(te,2),ne=n=>{var r=wu(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0),d=l(c,2),f=W(d,!0),m=l(d,2),h=W(m,!0),g=l(m,2),_=W(g,!0);J(r),s((e,n,r)=>{z(a,e),z(u,n),z(f,t(p).ldapCredential.bindDn),z(h,r),z(_,t(p).secret)},[()=>X(`ldap.connect.shown_once`),()=>X(`ldap.connect.bind_dn`),()=>X(`ldap.connect.secret`)]),e(n,r)};r(V,e=>{t(p)&&e(ne)});var re=l(V,2);{let e=q(()=>X(`ldap.binds.password_only`));aa(re,{get label(){return t(e)},get checked(){return t(c).tenant.ldapPasswordOnly},onchange:y})}var H=l(re,2),U=W(H,!0);s((e,n,r,i,a,o,s,l)=>{z(v,e),z(C,n),z(T,r),z(O,t(c).ldapBaseDn),P(I,`aria-label`,i),ee.disabled=a,z(L,o),z(R,s),z(U,l)},[()=>X(`ldap.connect.address`),()=>X(t(c).ldapTls?`ldap.connect.ldaps`:`ldap.connect.port`,{port:t(c).ldapPort}),()=>X(`ldap.connect.base_dn`),()=>X(`ldap.connect.label`),()=>!t(f).trim(),()=>X(`ldap.connect.issue`),()=>X(`ldap.connect.help`),()=>X(`ldap.binds.help`)]),_(`submit`,F,e=>{e.preventDefault(),h()}),B(I,()=>t(f),e=>S(f,e)),e(n,i)};r(m,e=>{t(c).tenant.ldapEnabled&&e(b)}),e(n,i)};r(x,e=>{t(c)&&e(C)}),e(n,m)},$$slots:{default:!0}})}D()}c([`click`]);var Ou=f(`<span class="hint"> </span>`),ku=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> <!></div> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),Au=f(`<ul class="compact-list"></ul>`),ju=f(`<button type="button"> </button>`),Mu=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),Nu=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <code class="tray px-2 py-1 font-mono text-xs break-all"> </code></div> <!> <form class="flex flex-wrap items-center gap-2"><input class="input input-sm w-full max-w-48" placeholder="Entra ID"/> <!> <div class="range" role="group"></div> <button type="submit" class="btn btn-sm"> </button></form> <!>`,1),Pu=f(`<!> <!>`,1);function Fu(n,i){H(i,!0);let a=[[30,`month`],[90,`quarter`],[365,`year`]],c=Ct(),f=w(null),p=w(``),m=w(``),h=w(90),g=w(null);async function v(){try{S(f,await i.api.query(`
596
+ }`,{ldapPasswordOnly:e}),X(`ldap.binds.updated`))&&await h()}{let i=q(()=>X(`ldap.title`)),h=q(()=>`${X(`ldap.lede`)} ${X(`ldap.serve.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(h)},children:(n,i)=>{var h=id(),x=u(h);Nn(x,{get feedback(){return a.state}});var C=l(x,2),w=n=>{var i=id(),a=u(i);{let e=q(()=>X(`ldap.serve.on`));aa(a,{get label(){return t(e)},get checked(){return t(c).tenant.ldapEnabled},onchange:y})}var h=l(a,2),x=n=>{var i=rd(),a=u(i),h=o(a),y=W(h,!0),x=l(h,2),C=o(x),w=W(C,!0);J(x);var T=l(x,2),E=W(T,!0),D=l(T,2),O=o(D),k=W(O,!0);J(D),J(a);var A=l(a,2),M=t=>{var n=Zu(),r=W(n,!0);s(e=>z(r,e),[()=>X(`ldap.connect.local_only`)]),e(t,n)};r(A,e=>{t(c).ldapLocalOnly&&e(M)});var N=l(A,2),F=n=>{var i=ed();Y(i,21,()=>t(c).ldapCredentials,e=>e.id,(n,i)=>{var a=$u(),c=o(a),u=o(c),f=W(u,!0),p=l(u,2),m=W(p,!0),h=l(p,2),g=n=>{var r=Qu(),a=W(r,!0);s(e=>z(a,e),[()=>X(`ldap.credentials.app`,{name:t(i).client.name})]),e(n,r)};r(h,e=>{t(i).client&&e(g)});var _=l(h,2),y=W(_,!0);J(c);var b=l(c,2),x=W(b,!0);J(a),s((e,n)=>{z(f,t(i).label),z(m,t(i).bindDn),z(y,e),z(x,n)},[()=>X(`ldap.credentials.used`,{used:Pt(t(i).usedAt,X(`ldap.credentials.never`))}),()=>X(`ldap.credentials.revoke`)]),d(`click`,b,()=>v(t(i))),e(n,a)}),J(i),e(n,i)};r(N,e=>{t(c).ldapCredentials.length&&e(F)});var L=l(N,2),te=o(L);j(te);var R=l(te,2),V=o(R),ne=W(V,!0);V.value=V.__value=``;var re=l(V);Y(re,17,()=>t(c).clients,e=>e.clientId,(n,r)=>{var i=td(),a=W(i,!0),o={};s(()=>{z(a,t(r).name),o!==(o=t(r).clientId)&&(i.value=(i.__value=o)??``)}),e(n,i)}),J(R),I(R);var H=l(R,2),U=W(H,!0);J(L);var ie=l(L,2),ae=W(ie,!0),G=l(ie,2),oe=W(G,!0),K=l(G,2),se=n=>{var r=nd(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0),d=l(c,2),f=W(d,!0),p=l(d,2),h=W(p,!0),g=l(p,2),_=W(g,!0);J(r),s((e,n,r)=>{z(a,e),z(u,n),z(f,t(m).ldapCredential.bindDn),z(h,r),z(_,t(m).secret)},[()=>X(`ldap.connect.shown_once`),()=>X(`ldap.connect.bind_dn`),()=>X(`ldap.connect.secret`)]),e(n,r)};r(K,e=>{t(m)&&e(se)});var ce=l(K,2);{let e=q(()=>X(`ldap.binds.password_only`));aa(ce,{get label(){return t(e)},get checked(){return t(c).tenant.ldapPasswordOnly},onchange:b})}var le=l(ce,2),ue=W(le,!0);s((e,n,r,i,a,o,s,l,u,d,f)=>{z(y,e),z(w,n),z(E,r),z(k,t(c).ldapBaseDn),P(te,`aria-label`,i),P(R,`aria-label`,a),z(ne,o),H.disabled=s,z(U,l),z(ae,u),z(oe,d),z(ue,f)},[()=>X(`ldap.connect.address`),()=>X(t(c).ldapTls?`ldap.connect.ldaps`:`ldap.connect.port`,{port:t(c).ldapPort}),()=>X(`ldap.connect.base_dn`),()=>X(`ldap.connect.label`),()=>X(`ldap.connect.app`),()=>X(`ldap.connect.no_app`),()=>!t(f).trim(),()=>X(`ldap.connect.issue`),()=>X(`ldap.connect.help`),()=>X(`ldap.connect.app_help`),()=>X(`ldap.binds.help`)]),_(`submit`,L,e=>{e.preventDefault(),g()}),B(te,()=>t(f),e=>S(f,e)),ee(R,()=>t(p),e=>S(p,e)),e(n,i)};r(h,e=>{t(c).tenant.ldapEnabled&&e(x)}),e(n,i)};r(C,e=>{t(c)&&e(w)}),e(n,h)},$$slots:{default:!0}})}D()}c([`click`]);var od=f(`<span class="hint"> </span>`),sd=f(`<li><div class="min-w-0"><div class="text-sm font-medium"> <!></div> <div class="hint text-xs"> </div></div> <button type="button" class="btn btn-ghost btn-xs ml-auto"> </button></li>`),cd=f(`<ul class="compact-list"></ul>`),ld=f(`<button type="button"> </button>`),ud=f(`<div class="alert alert-warning alert-soft flex-col items-start gap-2" role="status"><span class="font-medium"> </span> <code class="font-mono text-xs break-all"> </code></div>`),dd=f(`<div class="flex flex-col gap-1.5"><span class="field-label"> </span> <code class="tray px-2 py-1 font-mono text-xs break-all"> </code></div> <!> <form class="flex flex-wrap items-center gap-2"><input class="input input-sm w-full max-w-48" placeholder="Entra ID"/> <!> <div class="range" role="group"></div> <button type="submit" class="btn btn-sm"> </button></form> <!>`,1),fd=f(`<!> <!>`,1);function pd(n,i){H(i,!0);let a=[[30,`month`],[90,`quarter`],[365,`year`]],c=Ct(),f=w(null),p=w(``),m=w(``),h=w(90),g=w(null);async function v(){try{S(f,await i.api.query(`
568
597
  query Provisioning {
569
598
  scimBaseUrl
570
599
  provisioningTokens { id label usedAt expiresAt createdAt issuedBy { identifier } organization { name } }
@@ -572,5 +601,5 @@ actor.deleted"></textarea> <p class="hint"> </p></label> <!> <div class="flex ga
572
601
  }
573
602
  `),!0)}catch(e){c.blame(e)}}v();async function y(){let e=await c.attempt(()=>i.api.query(`mutation Issue($label: String!, $expiresIn: Int, $organization: ID) {
574
603
  issueProvisioningToken(label: $label, expiresIn: $expiresIn, organization: $organization) { secret }
575
- }`,{label:t(p).trim()||`Provisioning`,expiresIn:t(h)*86400,organization:t(m)||null}));e&&(S(g,e.issueProvisioningToken,!0),S(p,``),await v())}async function b(e){confirm(X(`provisioning.revoke_confirm`,{label:e.label}))&&await c.attempt(()=>i.api.query(`mutation Revoke($id: ID!) { revokeProvisioningToken(id: $id) { provisioningToken { id } } }`,{id:e.id}),X(`provisioning.revoked`,{label:e.label}))&&await v()}{let i=q(()=>X(`provisioning.title`)),v=q(()=>`${X(`provisioning.lede`)} ${X(`provisioning.connect.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(v)},children:(n,i)=>{var v=Pu(),x=u(v);Nn(x,{get feedback(){return c.state}});var C=l(x,2),w=n=>{var i=Nu(),c=u(i),v=o(c),x=W(v,!0),C=l(v,2),w=W(C,!0);J(c);var T=l(c,2),E=n=>{var i=Au();Y(i,21,()=>t(f).provisioningTokens,e=>e.id,(n,i)=>{var a=ku(),c=o(a),u=o(c),f=o(u,!0),p=l(f),m=n=>{var r=Ou(),a=W(r);s(()=>z(a,`· ${t(i).organization.name??``}`)),e(n,r)};r(p,e=>{t(i).organization&&e(m)}),J(u);var h=l(u,2),g=W(h,!0);J(c);var _=l(c,2),v=W(_,!0);J(a),s((e,n)=>{z(f,t(i).label),z(g,e),z(v,n)},[()=>t(i).issuedBy?X(`provisioning.tokens.issued_by`,{identifier:t(i).issuedBy.identifier,used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}):X(`provisioning.tokens.detail`,{used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}),()=>X(`provisioning.tokens.revoke`)]),d(`click`,_,()=>b(t(i))),e(n,a)}),J(i),e(n,i)};r(T,e=>{t(f).provisioningTokens.length&&e(E)});var D=l(T,2),O=o(D);j(O);var k=l(O,2),A=e=>{{let n=q(()=>X(`provisioning.connect.provisions`)),r=q(()=>[[``,X(`provisioning.connect.every_account`)],...t(f).organizations.map(e=>[e.key,X(`provisioning.connect.only_members`,{name:e.name})])]);ra(e,{get name(){return t(n)},get value(){return t(m)},get options(){return t(r)},onchange:e=>S(m,e,!0)})}};r(k,e=>{t(f).organizations.length&&e(A)});var M=l(k,2);Y(M,21,()=>a,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=ju(),l=W(c,!0);s(e=>{P(c,`aria-pressed`,t(h)===a()),z(l,e)},[()=>X(`provisioning.lifetimes.${o()}`)]),d(`click`,c,()=>S(h,a(),!0)),e(n,c)}),J(M);var N=l(M,2),F=W(N,!0);J(D);var I=l(D,2),ee=n=>{var r=Mu(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(g).secret)},[()=>X(`provisioning.connect.shown_once`)]),e(n,r)};r(I,e=>{t(g)&&e(ee)}),s((e,n,r,i)=>{z(x,e),z(w,t(f).scimBaseUrl),P(O,`aria-label`,n),P(M,`aria-label`,r),z(F,i)},[()=>X(`provisioning.connect.base_url`),()=>X(`provisioning.connect.label`),()=>X(`provisioning.connect.lifetime`),()=>X(`provisioning.connect.issue`)]),_(`submit`,D,e=>{e.preventDefault(),y()}),B(O,()=>t(p),e=>S(p,e)),e(n,i)};r(C,e=>{t(f)&&e(w)}),e(n,v)},$$slots:{default:!0}})}D()}c([`click`]);var Iu=f(`<div class="grid gap-4"><!> <!></div>`);function Lu(n,r){H(r,!0);{let i=q(()=>X(`directory.title`)),a=q(()=>X(`directory.lede`));zn(n,{get title(){return t(i)},get lede(){return t(a)},children:(t,n)=>{var i=Iu(),a=o(i);Fu(a,{get api(){return r.api}}),Du(l(a,2),{get api(){return r.api}}),J(i),e(t,i)},$$slots:{default:!0}})}D()}var Ru=f(`<img width="24" height="24" alt=""/>`),zu=f(`<div class="settings"><div class="settings-bar"><nav class="settings-tabs"></nav> <div class="settings-me"><a class="settings-who"><!> <span> </span></a> <button type="button" class="settings-tab"> </button> <button type="button" class="settings-tab settings-quiet"> </button></div></div> <div class="min-w-0"><!></div></div>`);function Bu(n,i){H(i,!0);let c=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`];function u(){confirm(X(`settings_shell.forget_confirm`))&&i.onunpair()}var f=zu(),p=o(f),m=o(p);Y(m,20,()=>c,e=>e,(n,r)=>{{let o=q(()=>`/${r}`),c=q(()=>i.current===r?`settings-tab-on`:``);Z(n,{get to(){return t(o)},get class(){return`settings-tab ${t(c)??``}`},children:(t,n)=>{V();var i=a();s(e=>z(i,e),[()=>X(`settings_shell.tabs.${r}`)]),e(t,i)},$$slots:{default:!0}})}}),J(m);var h=l(m,2),g=o(h),y=o(g),b=t=>{var n=Ru();let r;s(()=>{P(n,`src`,`${i.viewer.avatars.photo??i.viewer.avatars.identicon}?size=64`),r=le(n,1,``,null,r,{drawn:!i.viewer.avatars.photo})}),_(`error`,n,e=>e.currentTarget.src=`${i.viewer.avatars.identicon}?size=64`),ue(n),e(t,n)};r(y,e=>{i.viewer&&e(b)});var x=l(y,2),S=W(x,!0);J(g);var C=l(g,2),w=W(C,!0),T=l(C,2),E=W(T,!0);J(h),J(p);var O=l(p,2),k=o(O);v(k,()=>i.children),J(O),J(f),s((e,t,n,r)=>{P(m,`aria-label`,e),P(g,`href`,i.account),P(g,`title`,t),z(S,i.identifier),z(w,n),z(E,r)},[()=>X(`settings_shell.label`),()=>X(`settings_shell.account`),()=>X(`settings_shell.sign_out`),()=>X(`settings_shell.forget`)]),d(`click`,C,function(...e){i.onsignout?.apply(this,e)}),d(`click`,T,u),e(n,f),D()}c([`click`]);var Vu=f(`<div class="grid min-h-screen place-items-center"><!></div>`),Hu=f(`<div class="auth-page"><main class="auth-col surface-terminus"><div class="flow"><span class="state state-bad"> </span> <h1 class="prompt-title"> </h1> <p class="said"> </p> <button type="button" class="action"> </button></div></main></div>`),Uu=f(`<img src="/masks-public/icon.svg" alt="" class="brand-mark"/> `,1),Wu=f(`<span class="nav-count"> </span>`),Gu=f(` <!>`,1),Ku=p(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M17.03 8.46 L19.13 8.85 L19.13 11.15 L17.03 11.54 L16.06 13.88 L17.27 15.64 L15.64 17.27 L13.88 16.06 L11.54 17.03 L11.15 19.13 L8.85 19.13 L8.46 17.03 L6.12 16.06 L4.36 17.27 L2.73 15.64 L3.94 13.88 L2.97 11.54 L0.87 11.15 L0.87 8.85 L2.97 8.46 L3.94 6.12 L2.73 4.36 L4.36 2.73 L6.12 3.94 L8.46 2.97 L8.85 0.87 L11.15 0.87 L11.54 2.97 L13.88 3.94 L15.64 2.73 L17.27 4.36 L16.06 6.12 Z"></path><circle cx="10" cy="10" r="2.75"></circle></svg>`),qu=f(`<p class="alert alert-info mb-4 text-sm" role="status"> </p>`),Ju=f(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span> </span>`,1),Yu=f(`<div class="flex min-h-screen flex-col"><header class="console-top sticky top-0 z-20"><div class="console-bar mx-auto flex w-full max-w-6xl items-center gap-x-6 py-2"><!> <nav class="nav md:flex-1"></nav> <!></div></header> <main class="console-main mx-auto w-full max-w-6xl flex-1"><!> <!></main> <nav class="tabbar md:hidden"></nav></div>`);function Xu(i,c){H(c,!0);let f=x(()=>it(c.boot)),p=x(()=>ot(c.boot.root));st(p);let m=w(`starting`),h=w(null),g=w(null),_=w(null),v=q(()=>!t(_)||t(_).includes(`owner`)?null:t(_).includes(`security`)&&t(_).includes(`support`)?X(`app.limited.both`):t(_).includes(`security`)?X(`app.limited.security`):t(_).includes(`support`)?X(`app.limited.support`):X(`app.limited.read`)),y=[[``,`overview`,`<path d="M3.5 10.5 10 4l6.5 6.5"/><path d="M5.5 9v7h9V9"/>`],[`/actors`,`actors`,`<circle cx="10" cy="7" r="3"/><path d="M4 17c.8-3 3.2-4.5 6-4.5s5.2 1.5 6 4.5"/>`],[`/organizations`,`organizations`,`<rect x="3.5" y="7" width="13" height="9.5" rx="1.5"/><path d="M7.5 7V4.5h5V7"/><path d="M3.5 11h13"/>`],[`/clients`,`clients`,`<rect x="3" y="3" width="6" height="6" rx="1.5"/><rect x="11" y="3" width="6" height="6" rx="1.5"/><rect x="3" y="11" width="6" height="6" rx="1.5"/><rect x="11" y="11" width="6" height="6" rx="1.5"/>`]],C=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`],T=`masks:manage:repaired`;function E(e){if(e===`invalid_client`)return!0;if(e!==`invalid_scope`)return!1;try{return!sessionStorage.getItem(T)&&(sessionStorage.setItem(T,`1`),!0)}catch{return!1}}function O(){location.replace(tt(c.boot))}async function k(){let e=new URLSearchParams(location.search);try{if(E(e.get(`error`))){f.unpair(),O();return}if(e.get(`error`)){S(h,e.get(`error_description`)||e.get(`error`),!0),p.replace(``),S(m,`failed`);return}if(e.get(`initial_access_token`)){await nt(c.boot,e.get(`initial_access_token`)),p.replace(``),await f.authorize(``);return}if(!f.paired()){O();return}if(p.segments[0]===`callback`){let{returnTo:e}=await f.callback();p.replace(e||``),F();return}if(!f.signedIn()){await f.authorize(p.state.path.slice(c.boot.root.length)+p.state.search+location.hash);return}F()}catch(e){S(h,e.message,!0),S(m,`failed`)}}let A=w(0);async function j(){try{let e=await f.query(`query Waiting { approvals: actorCount(pendingApproval: true) help: actorCount(recoveryRequested: true) }`);S(A,e.approvals+e.help)}catch{S(A,0)}}let M=q(()=>p.segments[0]??``),N=q(()=>X(`app.waiting`,{count:t(A)}));b(()=>{t(m)===`ready`&&t(M)!==void 0&&j()});function F(){S(m,`ready`),f.query(`query Viewer { viewer { identifier avatars { photo identicon } } manageLevels }`).then(e=>{S(g,e.viewer,!0),S(_,e.manageLevels,!0)}).catch(()=>{})}k();let I=q(()=>p.segments[0]??``),ee=q(()=>C.includes(t(I))),L=q(()=>t(g)?.identifier??f.state.identity?.preferred_username??X(`app.account`));function te(){location.assign(c.boot.root)}function B(){f.unpair(),te()}async function ne(){location.assign(await f.signOut()??c.boot.root)}var re=R(),U=u(re),ae=n=>{var r=Vu(),i=o(r);{let e=q(()=>X(`app.starting`));mt(i,{get label(){return t(e)}})}J(r),e(n,r)},G=n=>{var r=Hu(),i=o(r),a=o(i),u=o(a),f=W(u,!0),p=l(u,2),m=W(p,!0),g=l(p,2),_=W(g,!0),v=l(g,2),y=W(v,!0);J(a),J(i),J(r),s((e,n,r)=>{z(f,e),z(m,n),z(_,t(h)),z(y,r)},[()=>X(`app.stopped`),()=>X(`app.failed`,{tenant:c.boot.tenant.name}),()=>X(`app.retry`)]),d(`click`,v,te),e(n,r)},oe=i=>{var d=Yu(),m=o(d),h=o(m),_=o(h);Z(_,{to:``,class:`brand`,children:(t,n)=>{var r=Uu(),i=l(u(r),1,!0);s(()=>z(i,c.boot.tenant.name)),e(t,r)},$$slots:{default:!0}});var b=l(_,2);Y(b,21,()=>y,([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];{let i=q(()=>t(I)===o().replace(`/`,``)?`nav-item-on`:``);Z(n,{get to(){return o()},get class(){return`nav-item ${t(i)??``}`},children:(n,i)=>{V();var a=Gu(),o=u(a,!0),d=l(o),f=n=>{var r=Wu(),i=W(r,!0);s(()=>{P(r,`title`,t(N)),z(i,t(A))}),e(n,r)};r(d,e=>{c()===`actors`&&t(A)>0&&e(f)}),s(e=>z(o,e),[()=>X(`app.nav.${c()}`)]),e(n,a)},$$slots:{default:!0}})}}),J(b);var x=l(b,2);{let n=q(()=>t(ee)?`console-cog-on`:``),r=q(()=>X(`app.settings`)),i=q(()=>X(`app.settings`));Z(x,{to:`/settings`,get class(){return`console-cog ms-auto ${t(n)??``}`},get"aria-label"(){return t(r)},get title(){return t(i)},children:(t,n)=>{var r=Ku();e(t,r)},$$slots:{default:!0}})}J(h),J(m);var S=l(m,2),C=o(S),w=n=>{var r=qu(),i=W(r,!0);s(()=>z(i,t(v))),e(n,r)};r(C,e=>{t(v)&&e(w)});var T=l(C,2),E=e=>{pc(e,{get api(){return f},get boot(){return c.boot}})},D=t=>{var n=R(),i=u(n),a=e=>{Xi(e,{get api(){return f},get id(){return p.segments[2]}})},o=e=>{Li(e,{get api(){return f},get uuid(){return p.segments[1]},get part(){return p.segments[2]}})},s=e=>{tr(e,{get api(){return f}})};r(i,e=>{p.segments[1]===`devices`&&p.segments[2]?e(a):p.segments[1]?e(o,1):e(s,-1)}),e(t,n)},O=t=>{var n=R(),i=u(n),a=e=>{xs(e,{get api(){return f},get organizationKey(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{Ho(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},k=t=>{var n=R(),i=u(n),a=e=>{Do(e,{get api(){return f},get clientId(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{xa(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},j=n=>{Bu(n,{get current(){return t(I)},get viewer(){return t(g)},get identifier(){return t(L)},get account(){return c.boot.account},onsignout:ne,onunpair:B,children:(n,i)=>{var a=R(),o=u(a),s=e=>{ul(e,{get api(){return f},get providerKey(){return p.segments[1]},get part(){return p.segments[2]}})},l=e=>{Nc(e,{get api(){return f}})},d=e=>{bu(e,{get api(){return f}})},m=e=>{Lu(e,{get api(){return f}})},h=e=>{zl(e,{get api(){return f},get part(){return p.segments[1]}})},g=e=>{Yl(e,{get api(){return f}})},_=e=>{Cc(e,{get api(){return f}})},v=e=>{qs(e,{get api(){return f},get boot(){return c.boot}})};r(o,e=>{t(I)===`providers`&&p.segments[1]?e(s):t(I)===`providers`?e(l,1):t(I)===`policies`?e(d,2):t(I)===`directory`?e(m,3):t(I)===`messages`?e(h,4):t(I)===`activity`&&p.segments[1]===`streams`?e(g,5):t(I)===`activity`?e(_,6):e(v,-1)}),e(n,a)},$$slots:{default:!0}})},M=t=>{ut(t,{children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`app.missing`)]),e(t,r)},$$slots:{default:!0}})};r(T,e=>{t(I)===``?e(E):t(I)===`actors`?e(D,1):t(I)===`organizations`?e(O,2):t(I)===`clients`?e(k,3):t(ee)?e(j,4):e(M,-1)}),J(S);var F=l(S,2);Y(F,21,()=>y,([e,t,n])=>e,(r,i)=>{var a=q(()=>ie(t(i),3));let o=()=>t(a)[0],c=()=>t(a)[1],d=()=>t(a)[2];{let i=q(()=>t(I)===o().replace(`/`,``)?`tabbar-item-on`:``);Z(r,{get to(){return o()},get class(){return`tabbar-item ${t(i)??``}`},children:(t,r)=>{var i=Ju(),a=u(i);n(a,d,!0),J(a);var o=l(a,2),f=W(o,!0);s(e=>z(f,e),[()=>X(`app.nav.${c()}`)]),e(t,i)},$$slots:{default:!0}})}}),J(F),J(d),s(e=>P(F,`aria-label`,e),[()=>X(`app.sections`)]),e(i,d)};r(U,e=>{t(m)===`starting`?e(ae):t(m)===`failed`?e(G,1):e(oe,-1)}),e(i,re),D()}c([`click`]);var Zu=document.getElementById(`manage`);if(Zu){let e=JSON.parse(Zu.dataset.boot);Ge(e.copy,document.documentElement.lang||`en`),Zu.replaceChildren(),m(Xu,{target:Zu,props:{boot:e}})}
576
- //# sourceMappingURL=manage-D4MzaDvM.js.map
604
+ }`,{label:t(p).trim()||`Provisioning`,expiresIn:t(h)*86400,organization:t(m)||null}));e&&(S(g,e.issueProvisioningToken,!0),S(p,``),await v())}async function b(e){confirm(X(`provisioning.revoke_confirm`,{label:e.label}))&&await c.attempt(()=>i.api.query(`mutation Revoke($id: ID!) { revokeProvisioningToken(id: $id) { provisioningToken { id } } }`,{id:e.id}),X(`provisioning.revoked`,{label:e.label}))&&await v()}{let i=q(()=>X(`provisioning.title`)),v=q(()=>`${X(`provisioning.lede`)} ${X(`provisioning.connect.help`)}`);Q(n,{row:!0,get title(){return t(i)},get help(){return t(v)},children:(n,i)=>{var v=fd(),x=u(v);Nn(x,{get feedback(){return c.state}});var C=l(x,2),w=n=>{var i=dd(),c=u(i),v=o(c),x=W(v,!0),C=l(v,2),w=W(C,!0);J(c);var T=l(c,2),E=n=>{var i=cd();Y(i,21,()=>t(f).provisioningTokens,e=>e.id,(n,i)=>{var a=sd(),c=o(a),u=o(c),f=o(u,!0),p=l(f),m=n=>{var r=od(),a=W(r);s(()=>z(a,`· ${t(i).organization.name??``}`)),e(n,r)};r(p,e=>{t(i).organization&&e(m)}),J(u);var h=l(u,2),g=W(h,!0);J(c);var _=l(c,2),v=W(_,!0);J(a),s((e,n)=>{z(f,t(i).label),z(g,e),z(v,n)},[()=>t(i).issuedBy?X(`provisioning.tokens.issued_by`,{identifier:t(i).issuedBy.identifier,used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}):X(`provisioning.tokens.detail`,{used:Pt(t(i).usedAt,X(`provisioning.tokens.never`)),expires:Mt(t(i).expiresAt)}),()=>X(`provisioning.tokens.revoke`)]),d(`click`,_,()=>b(t(i))),e(n,a)}),J(i),e(n,i)};r(T,e=>{t(f).provisioningTokens.length&&e(E)});var D=l(T,2),O=o(D);j(O);var k=l(O,2),A=e=>{{let n=q(()=>X(`provisioning.connect.provisions`)),r=q(()=>[[``,X(`provisioning.connect.every_account`)],...t(f).organizations.map(e=>[e.key,X(`provisioning.connect.only_members`,{name:e.name})])]);ra(e,{get name(){return t(n)},get value(){return t(m)},get options(){return t(r)},onchange:e=>S(m,e,!0)})}};r(k,e=>{t(f).organizations.length&&e(A)});var M=l(k,2);Y(M,21,()=>a,([e,t])=>e,(n,r)=>{var i=q(()=>ie(t(r),2));let a=()=>t(i)[0],o=()=>t(i)[1];var c=ld(),l=W(c,!0);s(e=>{P(c,`aria-pressed`,t(h)===a()),z(l,e)},[()=>X(`provisioning.lifetimes.${o()}`)]),d(`click`,c,()=>S(h,a(),!0)),e(n,c)}),J(M);var N=l(M,2),F=W(N,!0);J(D);var I=l(D,2),ee=n=>{var r=ud(),i=o(r),a=W(i,!0),c=l(i,2),u=W(c,!0);J(r),s(e=>{z(a,e),z(u,t(g).secret)},[()=>X(`provisioning.connect.shown_once`)]),e(n,r)};r(I,e=>{t(g)&&e(ee)}),s((e,n,r,i)=>{z(x,e),z(w,t(f).scimBaseUrl),P(O,`aria-label`,n),P(M,`aria-label`,r),z(F,i)},[()=>X(`provisioning.connect.base_url`),()=>X(`provisioning.connect.label`),()=>X(`provisioning.connect.lifetime`),()=>X(`provisioning.connect.issue`)]),_(`submit`,D,e=>{e.preventDefault(),y()}),B(O,()=>t(p),e=>S(p,e)),e(n,i)};r(C,e=>{t(f)&&e(w)}),e(n,v)},$$slots:{default:!0}})}D()}c([`click`]);var md=f(`<div class="grid gap-4"><!> <!></div>`);function hd(n,r){H(r,!0);{let i=q(()=>X(`directory.title`)),a=q(()=>X(`directory.lede`));zn(n,{get title(){return t(i)},get lede(){return t(a)},children:(t,n)=>{var i=md(),a=o(i);pd(a,{get api(){return r.api}}),ad(l(a,2),{get api(){return r.api}}),J(i),e(t,i)},$$slots:{default:!0}})}D()}var gd=f(`<img width="24" height="24" alt=""/>`),_d=f(`<div class="settings"><div class="settings-bar"><nav class="settings-tabs"></nav> <div class="settings-me"><a class="settings-who"><!> <span> </span></a> <button type="button" class="settings-tab"> </button> <button type="button" class="settings-tab settings-quiet"> </button></div></div> <div class="min-w-0"><!></div></div>`);function vd(n,i){H(i,!0);let c=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`];function u(){confirm(X(`settings_shell.forget_confirm`))&&i.onunpair()}var f=_d(),p=o(f),m=o(p);Y(m,20,()=>c,e=>e,(n,r)=>{{let o=q(()=>`/${r}`),c=q(()=>i.current===r?`settings-tab-on`:``);Z(n,{get to(){return t(o)},get class(){return`settings-tab ${t(c)??``}`},children:(t,n)=>{V();var i=a();s(e=>z(i,e),[()=>X(`settings_shell.tabs.${r}`)]),e(t,i)},$$slots:{default:!0}})}}),J(m);var h=l(m,2),g=o(h),y=o(g),b=t=>{var n=gd();let r;s(()=>{P(n,`src`,`${i.viewer.avatars.photo??i.viewer.avatars.identicon}?size=64`),r=le(n,1,``,null,r,{drawn:!i.viewer.avatars.photo})}),_(`error`,n,e=>e.currentTarget.src=`${i.viewer.avatars.identicon}?size=64`),ue(n),e(t,n)};r(y,e=>{i.viewer&&e(b)});var x=l(y,2),S=W(x,!0);J(g);var C=l(g,2),w=W(C,!0),T=l(C,2),E=W(T,!0);J(h),J(p);var O=l(p,2),k=o(O);v(k,()=>i.children),J(O),J(f),s((e,t,n,r)=>{P(m,`aria-label`,e),P(g,`href`,i.account),P(g,`title`,t),z(S,i.identifier),z(w,n),z(E,r)},[()=>X(`settings_shell.label`),()=>X(`settings_shell.account`),()=>X(`settings_shell.sign_out`),()=>X(`settings_shell.forget`)]),d(`click`,C,function(...e){i.onsignout?.apply(this,e)}),d(`click`,T,u),e(n,f),D()}c([`click`]);var yd=f(`<div class="grid min-h-screen place-items-center"><!></div>`),bd=f(`<div class="auth-page"><main class="auth-col surface-terminus"><div class="flow"><span class="state state-bad"> </span> <h1 class="prompt-title"> </h1> <p class="said"> </p> <button type="button" class="action"> </button></div></main></div>`),xd=f(`<img src="/masks-public/icon.svg" alt="" class="brand-mark"/> `,1),Sd=f(`<span class="nav-count"> </span>`),Cd=f(` <!>`,1),wd=p(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M17.03 8.46 L19.13 8.85 L19.13 11.15 L17.03 11.54 L16.06 13.88 L17.27 15.64 L15.64 17.27 L13.88 16.06 L11.54 17.03 L11.15 19.13 L8.85 19.13 L8.46 17.03 L6.12 16.06 L4.36 17.27 L2.73 15.64 L3.94 13.88 L2.97 11.54 L0.87 11.15 L0.87 8.85 L2.97 8.46 L3.94 6.12 L2.73 4.36 L4.36 2.73 L6.12 3.94 L8.46 2.97 L8.85 0.87 L11.15 0.87 L11.54 2.97 L13.88 3.94 L15.64 2.73 L17.27 4.36 L16.06 6.12 Z"></path><circle cx="10" cy="10" r="2.75"></circle></svg>`),Td=f(`<p class="alert alert-info mb-4 text-sm" role="status"> </p>`),Ed=f(`<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span> </span>`,1),Dd=f(`<div class="flex min-h-screen flex-col"><header class="console-top sticky top-0 z-20"><div class="console-bar mx-auto flex w-full max-w-6xl items-center gap-x-6 py-2"><!> <nav class="nav md:flex-1"></nav> <!></div></header> <main class="console-main mx-auto w-full max-w-6xl flex-1"><!> <!></main> <nav class="tabbar md:hidden"></nav></div>`);function Od(i,c){H(c,!0);let f=x(()=>it(c.boot)),p=x(()=>ot(c.boot.root));st(p);let m=w(`starting`),h=w(null),g=w(null),_=w(null),v=q(()=>!t(_)||t(_).includes(`owner`)?null:t(_).includes(`security`)&&t(_).includes(`support`)?X(`app.limited.both`):t(_).includes(`security`)?X(`app.limited.security`):t(_).includes(`support`)?X(`app.limited.support`):X(`app.limited.read`)),y=[[``,`overview`,`<path d="M3.5 10.5 10 4l6.5 6.5"/><path d="M5.5 9v7h9V9"/>`],[`/actors`,`actors`,`<circle cx="10" cy="7" r="3"/><path d="M4 17c.8-3 3.2-4.5 6-4.5s5.2 1.5 6 4.5"/>`],[`/organizations`,`organizations`,`<rect x="3.5" y="7" width="13" height="9.5" rx="1.5"/><path d="M7.5 7V4.5h5V7"/><path d="M3.5 11h13"/>`],[`/clients`,`clients`,`<rect x="3" y="3" width="6" height="6" rx="1.5"/><rect x="11" y="3" width="6" height="6" rx="1.5"/><rect x="3" y="11" width="6" height="6" rx="1.5"/><rect x="11" y="11" width="6" height="6" rx="1.5"/>`]],C=[`settings`,`policies`,`providers`,`directory`,`messages`,`activity`],T=`masks:manage:repaired`;function E(e){if(e===`invalid_client`)return!0;if(e!==`invalid_scope`)return!1;try{return!sessionStorage.getItem(T)&&(sessionStorage.setItem(T,`1`),!0)}catch{return!1}}function O(){location.replace(tt(c.boot))}async function k(){let e=new URLSearchParams(location.search);try{if(E(e.get(`error`))){f.unpair(),O();return}if(e.get(`error`)){S(h,e.get(`error_description`)||e.get(`error`),!0),p.replace(``),S(m,`failed`);return}if(e.get(`initial_access_token`)){await nt(c.boot,e.get(`initial_access_token`)),p.replace(``),await f.authorize(``);return}if(!f.paired()){O();return}if(p.segments[0]===`callback`){let{returnTo:e}=await f.callback();p.replace(e||``),F();return}if(!f.signedIn()){await f.authorize(p.state.path.slice(c.boot.root.length)+p.state.search+location.hash);return}F()}catch(e){S(h,e.message,!0),S(m,`failed`)}}let A=w(0);async function j(){try{let e=await f.query(`query Waiting { approvals: actorCount(pendingApproval: true) help: actorCount(recoveryRequested: true) }`);S(A,e.approvals+e.help)}catch{S(A,0)}}let M=q(()=>p.segments[0]??``),N=q(()=>X(`app.waiting`,{count:t(A)}));b(()=>{t(m)===`ready`&&t(M)!==void 0&&j()});function F(){S(m,`ready`),f.query(`query Viewer { viewer { identifier avatars { photo identicon } } manageLevels }`).then(e=>{S(g,e.viewer,!0),S(_,e.manageLevels,!0)}).catch(()=>{})}k();let I=q(()=>p.segments[0]??``),ee=q(()=>C.includes(t(I))),L=q(()=>t(g)?.identifier??f.state.identity?.preferred_username??X(`app.account`));function te(){location.assign(c.boot.root)}function B(){f.unpair(),te()}async function ne(){location.assign(await f.signOut()??c.boot.root)}var re=R(),U=u(re),ae=n=>{var r=yd(),i=o(r);{let e=q(()=>X(`app.starting`));mt(i,{get label(){return t(e)}})}J(r),e(n,r)},G=n=>{var r=bd(),i=o(r),a=o(i),u=o(a),f=W(u,!0),p=l(u,2),m=W(p,!0),g=l(p,2),_=W(g,!0),v=l(g,2),y=W(v,!0);J(a),J(i),J(r),s((e,n,r)=>{z(f,e),z(m,n),z(_,t(h)),z(y,r)},[()=>X(`app.stopped`),()=>X(`app.failed`,{tenant:c.boot.tenant.name}),()=>X(`app.retry`)]),d(`click`,v,te),e(n,r)},oe=i=>{var d=Dd(),m=o(d),h=o(m),_=o(h);Z(_,{to:``,class:`brand`,children:(t,n)=>{var r=xd(),i=l(u(r),1,!0);s(()=>z(i,c.boot.tenant.name)),e(t,r)},$$slots:{default:!0}});var b=l(_,2);Y(b,21,()=>y,([e,t])=>e,(n,i)=>{var a=q(()=>ie(t(i),2));let o=()=>t(a)[0],c=()=>t(a)[1];{let i=q(()=>t(I)===o().replace(`/`,``)?`nav-item-on`:``);Z(n,{get to(){return o()},get class(){return`nav-item ${t(i)??``}`},children:(n,i)=>{V();var a=Cd(),o=u(a,!0),d=l(o),f=n=>{var r=Sd(),i=W(r,!0);s(()=>{P(r,`title`,t(N)),z(i,t(A))}),e(n,r)};r(d,e=>{c()===`actors`&&t(A)>0&&e(f)}),s(e=>z(o,e),[()=>X(`app.nav.${c()}`)]),e(n,a)},$$slots:{default:!0}})}}),J(b);var x=l(b,2);{let n=q(()=>t(ee)?`console-cog-on`:``),r=q(()=>X(`app.settings`)),i=q(()=>X(`app.settings`));Z(x,{to:`/settings`,get class(){return`console-cog ms-auto ${t(n)??``}`},get"aria-label"(){return t(r)},get title(){return t(i)},children:(t,n)=>{var r=wd();e(t,r)},$$slots:{default:!0}})}J(h),J(m);var S=l(m,2),C=o(S),w=n=>{var r=Td(),i=W(r,!0);s(()=>z(i,t(v))),e(n,r)};r(C,e=>{t(v)&&e(w)});var T=l(C,2),E=e=>{Uc(e,{get api(){return f},get boot(){return c.boot}})},D=t=>{var n=R(),i=u(n),a=e=>{Xi(e,{get api(){return f},get id(){return p.segments[2]}})},o=e=>{Li(e,{get api(){return f},get uuid(){return p.segments[1]},get part(){return p.segments[2]}})},s=e=>{tr(e,{get api(){return f}})};r(i,e=>{p.segments[1]===`devices`&&p.segments[2]?e(a):p.segments[1]?e(o,1):e(s,-1)}),e(t,n)},O=t=>{var n=R(),i=u(n),a=e=>{Ps(e,{get api(){return f},get organizationKey(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{ts(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},k=t=>{var n=R(),i=u(n),a=e=>{Bo(e,{get api(){return f},get clientId(){return p.segments[1]},get part(){return p.segments[2]}})},o=e=>{xa(e,{get api(){return f}})};r(i,e=>{p.segments[1]?e(a):e(o,-1)}),e(t,n)},j=n=>{vd(n,{get current(){return t(I)},get viewer(){return t(g)},get identifier(){return t(L)},get account(){return c.boot.account},onsignout:ne,onunpair:B,children:(n,i)=>{var a=R(),o=u(a),s=e=>{Bl(e,{get api(){return f},get providerKey(){return p.segments[1]},get part(){return p.segments[2]}})},l=e=>{ll(e,{get api(){return f}})},d=e=>{Xu(e,{get api(){return f}})},m=e=>{hd(e,{get api(){return f}})},h=e=>{hu(e,{get api(){return f},get part(){return p.segments[1]}})},g=e=>{Tu(e,{get api(){return f}})},_=e=>{$c(e,{get api(){return f}})},v=e=>{_c(e,{get api(){return f},get boot(){return c.boot}})};r(o,e=>{t(I)===`providers`&&p.segments[1]?e(s):t(I)===`providers`?e(l,1):t(I)===`policies`?e(d,2):t(I)===`directory`?e(m,3):t(I)===`messages`?e(h,4):t(I)===`activity`&&p.segments[1]===`streams`?e(g,5):t(I)===`activity`?e(_,6):e(v,-1)}),e(n,a)},$$slots:{default:!0}})},M=t=>{ut(t,{children:(t,n)=>{V();var r=a();s(e=>z(r,e),[()=>X(`app.missing`)]),e(t,r)},$$slots:{default:!0}})};r(T,e=>{t(I)===``?e(E):t(I)===`actors`?e(D,1):t(I)===`organizations`?e(O,2):t(I)===`clients`?e(k,3):t(ee)?e(j,4):e(M,-1)}),J(S);var F=l(S,2);Y(F,21,()=>y,([e,t,n])=>e,(r,i)=>{var a=q(()=>ie(t(i),3));let o=()=>t(a)[0],c=()=>t(a)[1],d=()=>t(a)[2];{let i=q(()=>t(I)===o().replace(`/`,``)?`tabbar-item-on`:``);Z(r,{get to(){return o()},get class(){return`tabbar-item ${t(i)??``}`},children:(t,r)=>{var i=Ed(),a=u(i);n(a,d,!0),J(a);var o=l(a,2),f=W(o,!0);s(e=>z(f,e),[()=>X(`app.nav.${c()}`)]),e(t,i)},$$slots:{default:!0}})}}),J(F),J(d),s(e=>P(F,`aria-label`,e),[()=>X(`app.sections`)]),e(i,d)};r(U,e=>{t(m)===`starting`?e(ae):t(m)===`failed`?e(G,1):e(oe,-1)}),e(i,re),D()}c([`click`]);var kd=document.getElementById(`manage`);if(kd){let e=JSON.parse(kd.dataset.boot);Ge(e.copy,document.documentElement.lang||`en`),kd.replaceChildren(),m(Od,{target:kd,props:{boot:e}})}
605
+ //# sourceMappingURL=manage-DpVxe5sv.js.map