@astralbeam/sdk 0.15.2 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -8
- package/dist/api-BaIPbj-Q.js +709 -0
- package/dist/api.d.ts +2 -2
- package/dist/api.js +2 -2
- package/dist/client.d.ts +21 -7
- package/dist/client.js +1 -1
- package/dist/{core-BGDo_tQ4.js → core-DeMY6_wQ.js} +2276 -203
- package/dist/core.d.ts +2 -2
- package/dist/core.js +1 -1
- package/dist/index-CfGnT6Od.d.ts +938 -0
- package/dist/{index-DUznpmNz.d.ts → index-NT05_Yw_.d.ts} +245 -69
- package/dist/listings-BH_hPkxx.js +1 -0
- package/dist/react.d.ts +14 -6
- package/dist/react.js +22 -7
- package/dist/rolldown-runtime-QTnfLwEv.js +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +6 -2
- package/dist/styles.generated-D8sDOLu3.js +98 -0
- package/dist/widget-BdiuWvPf.js +24 -0
- package/package.json +6 -6
- package/dist/api-DUe8JSVU.d.ts +0 -372
- package/dist/api-r11gRy91.js +0 -323
- package/dist/index-BVVgDSdq.d.ts +0 -1
- package/dist/listings-6eaCXB6G.js +0 -21
- package/dist/styles.generated-Bub4csY_.js +0 -60
- package/dist/widget-Bjm0sUjE.js +0 -26
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{$ as t,A as n,Ci as r,D as i,G as a,Gr as o,H as s,I as c,J as l,K as u,Kr as d,M as f,N as p,O as m,Q as h,Qt as g,R as _,V as v,W as y,Wn as b,Wr as x,X as S,Y as C,Z as w,Zn as T,a as E,ai as D,at as O,bi as k,c as A,d as j,et as M,g as ee,i as N,it as P,j as te,l as F,n as I,nt as ne,o as re,ot as ie,p as ae,q as oe,qr as se,r as ce,rt as le,t as ue,tt as de,u as fe,vi as pe,xi as me,yi as he,yn as ge,z as _e}from"./styles.generated-D8sDOLu3.js";var L=e(r(),1);const ve=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M244,56v48a12,12,0,0,1-12,12H184a12,12,0,1,1,0-24H201.1l-19-17.38c-.13-.12-.26-.24-.38-.37A76,76,0,1,0,127,204h1a75.53,75.53,0,0,0,52.15-20.72,12,12,0,0,1,16.49,17.45A99.45,99.45,0,0,1,128,228h-1.37A100,100,0,1,1,198.51,57.06L220,76.72V56a12,12,0,0,1,24,0Z`}))],[`duotone`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z`,opacity:`0.2`}),L.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1-5.66-13.66l17-17-10.55-9.65-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,1,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60l10.93,10L226.34,50.3A8,8,0,0,1,240,56Z`}))],[`light`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M238,56v48a6,6,0,0,1-6,6H184a6,6,0,0,1,0-12h32.55l-30.38-27.8c-.06-.06-.12-.13-.19-.19a82,82,0,1,0-1.7,117.65,6,6,0,0,1,8.24,8.73A93.46,93.46,0,0,1,128,222h-1.28A94,94,0,1,1,194.37,61.4L226,90.35V56a6,6,0,1,1,12,0Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z`}))],[`thin`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M236,56v48a4,4,0,0,1-4,4H184a4,4,0,0,1,0-8h37.7L187.53,68.69l-.13-.12a84,84,0,1,0-1.75,120.51,4,4,0,0,1,5.5,5.82A91.43,91.43,0,0,1,128,220h-1.26A92,92,0,1,1,193,62.84l35,32.05V56a4,4,0,1,1,8,0Z`}))]]),ye=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),L.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),be=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,204H228V96a20,20,0,0,0-20-20H172V32a20,20,0,0,0-28.45-18.12l-104,48.54A20.06,20.06,0,0,0,28,80.55V204H16a12,12,0,0,0,0,24H240a12,12,0,0,0,0-24ZM204,100V204H172V100ZM52,83.09,148,38.3V204H52ZM132,112v12a12,12,0,0,1-24,0V112a12,12,0,0,1,24,0Zm-40,0v12a12,12,0,0,1-24,0V112a12,12,0,0,1,24,0Zm0,52v12a12,12,0,0,1-24,0V164a12,12,0,0,1,24,0Zm40,0v12a12,12,0,0,1-24,0V164a12,12,0,0,1,24,0Z`}))],[`duotone`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M136,32V216H40V85.35a8,8,0,0,1,3.56-6.66l80-53.33A8,8,0,0,1,136,32Z`,opacity:`0.2`}),L.createElement(`path`,{d:`M240,208H224V96a16,16,0,0,0-16-16H144V32a16,16,0,0,0-24.88-13.32L39.12,72A16,16,0,0,0,32,85.34V208H16a8,8,0,0,0,0,16H240a8,8,0,0,0,0-16ZM208,96V208H144V96ZM48,85.34,128,32V208H48ZM112,112v16a8,8,0,0,1-16,0V112a8,8,0,1,1,16,0Zm-32,0v16a8,8,0,0,1-16,0V112a8,8,0,1,1,16,0Zm0,56v16a8,8,0,0,1-16,0V168a8,8,0,0,1,16,0Zm32,0v16a8,8,0,0,1-16,0V168a8,8,0,0,1,16,0Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M239.73,208H224V96a16,16,0,0,0-16-16H164a4,4,0,0,0-4,4V208H144V32.41a16.43,16.43,0,0,0-6.16-13,16,16,0,0,0-18.72-.69L39.12,72A16,16,0,0,0,32,85.34V208H16.27A8.18,8.18,0,0,0,8,215.47,8,8,0,0,0,16,224H240a8,8,0,0,0,8-8.53A8.18,8.18,0,0,0,239.73,208ZM76,184a8,8,0,0,1-8.53,8A8.18,8.18,0,0,1,60,183.72V168.27A8.19,8.19,0,0,1,67.47,160,8,8,0,0,1,76,168Zm0-56a8,8,0,0,1-8.53,8A8.19,8.19,0,0,1,60,127.72V112.27A8.19,8.19,0,0,1,67.47,104,8,8,0,0,1,76,112Zm40,56a8,8,0,0,1-8.53,8,8.18,8.18,0,0,1-7.47-8.26V168.27a8.19,8.19,0,0,1,7.47-8.26,8,8,0,0,1,8.53,8Zm0-56a8,8,0,0,1-8.53,8,8.19,8.19,0,0,1-7.47-8.26V112.27a8.19,8.19,0,0,1,7.47-8.26,8,8,0,0,1,8.53,8Z`}))],[`light`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,210H222V96a14,14,0,0,0-14-14H142V32a14,14,0,0,0-21.77-11.64l-80,53.33A14,14,0,0,0,34,85.34V210H16a6,6,0,0,0,0,12H240a6,6,0,0,0,0-12ZM208,94a2,2,0,0,1,2,2V210H142V94ZM46,85.34a2,2,0,0,1,.89-1.66l80-53.34A2,2,0,0,1,130,32V210H46ZM110,112v16a6,6,0,0,1-12,0V112a6,6,0,0,1,12,0Zm-32,0v16a6,6,0,0,1-12,0V112a6,6,0,0,1,12,0Zm0,56v16a6,6,0,0,1-12,0V168a6,6,0,0,1,12,0Zm32,0v16a6,6,0,0,1-12,0V168a6,6,0,0,1,12,0Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,208H224V96a16,16,0,0,0-16-16H144V32a16,16,0,0,0-24.88-13.32L39.12,72A16,16,0,0,0,32,85.34V208H16a8,8,0,0,0,0,16H240a8,8,0,0,0,0-16ZM208,96V208H144V96ZM48,85.34,128,32V208H48ZM112,112v16a8,8,0,0,1-16,0V112a8,8,0,1,1,16,0Zm-32,0v16a8,8,0,0,1-16,0V112a8,8,0,1,1,16,0Zm0,56v16a8,8,0,0,1-16,0V168a8,8,0,0,1,16,0Zm32,0v16a8,8,0,0,1-16,0V168a8,8,0,0,1,16,0Z`}))],[`thin`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M240,212H220V96a12,12,0,0,0-12-12H140V32a12,12,0,0,0-18.66-10l-80,53.33a12,12,0,0,0-5.34,10V212H16a4,4,0,0,0,0,8H240a4,4,0,0,0,0-8ZM208,92a4,4,0,0,1,4,4V212H140V92ZM44,85.34A4,4,0,0,1,45.78,82l80-53.33A4,4,0,0,1,132,32V212H44ZM108,112v16a4,4,0,0,1-8,0V112a4,4,0,0,1,8,0Zm-32,0v16a4,4,0,0,1-8,0V112a4,4,0,0,1,8,0Zm0,56v16a4,4,0,0,1-8,0V168a4,4,0,0,1,8,0Zm32,0v16a4,4,0,0,1-8,0V168a4,4,0,0,1,8,0Z`}))]]),xe=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,76H188V48a20,20,0,0,0-20-20H40A20,20,0,0,0,20,48V176a12,12,0,0,0,19.54,9.33l28.46-23V184a20,20,0,0,0,20,20h92.17l36.29,29.33A12,12,0,0,0,236,224V96A20,20,0,0,0,216,76ZM44,150.87V52H164v80H71.58A12,12,0,0,0,64,134.67Zm168,48-20-16.2a12,12,0,0,0-7.54-2.67H92V156h76a20,20,0,0,0,20-20V100h24Z`}))],[`duotone`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M224,96V224l-39.58-32H88a8,8,0,0,1-8-8V144h88a8,8,0,0,0,8-8V88h40A8,8,0,0,1,224,96Z`,opacity:`0.2`}),L.createElement(`path`,{d:`M216,80H184V48a16,16,0,0,0-16-16H40A16,16,0,0,0,24,48V176a8,8,0,0,0,13,6.22L72,154V184a16,16,0,0,0,16,16h93.59L219,230.22a8,8,0,0,0,5,1.78,8,8,0,0,0,8-8V96A16,16,0,0,0,216,80ZM66.55,137.78,40,159.25V48H168v88H71.58A8,8,0,0,0,66.55,137.78ZM216,207.25l-26.55-21.47a8,8,0,0,0-5-1.78H88V152h80a16,16,0,0,0,16-16V96h32Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M232,96a16,16,0,0,0-16-16H184V48a16,16,0,0,0-16-16H40A16,16,0,0,0,24,48V176a8,8,0,0,0,13,6.22L72,154V184a16,16,0,0,0,16,16h93.59L219,230.22a8,8,0,0,0,5,1.78,8,8,0,0,0,8-8Zm-42.55,89.78a8,8,0,0,0-5-1.78H88V152h80a16,16,0,0,0,16-16V96h32V207.25Z`}))],[`light`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,82H182V48a14,14,0,0,0-14-14H40A14,14,0,0,0,26,48V176a6,6,0,0,0,3.42,5.41A5.86,5.86,0,0,0,32,182a6,6,0,0,0,3.77-1.33L73.71,150H74v34a14,14,0,0,0,14,14h94.29l37.94,30.67A6,6,0,0,0,224,230a5.86,5.86,0,0,0,2.58-.59A6,6,0,0,0,230,224V96A14,14,0,0,0,216,82ZM71.58,138a6,6,0,0,0-3.77,1.33L38,163.43V48a2,2,0,0,1,2-2H168a2,2,0,0,1,2,2v88a2,2,0,0,1-2,2ZM218,211.43l-29.81-24.1a6,6,0,0,0-3.77-1.33H88a2,2,0,0,1-2-2V150h82a14,14,0,0,0,14-14V94h34a2,2,0,0,1,2,2Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,80H184V48a16,16,0,0,0-16-16H40A16,16,0,0,0,24,48V176a8,8,0,0,0,13,6.22L72,154V184a16,16,0,0,0,16,16h93.59L219,230.22a8,8,0,0,0,5,1.78,8,8,0,0,0,8-8V96A16,16,0,0,0,216,80ZM66.55,137.78,40,159.25V48H168v88H71.58A8,8,0,0,0,66.55,137.78ZM216,207.25l-26.55-21.47a8,8,0,0,0-5-1.78H88V152h80a16,16,0,0,0,16-16V96h32Z`}))],[`thin`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M216,84H180V48a12,12,0,0,0-12-12H40A12,12,0,0,0,28,48V176a4,4,0,0,0,4,4,4,4,0,0,0,2.51-.89L73,148h3v36a12,12,0,0,0,12,12h95l38.49,31.11A4,4,0,0,0,224,228a4,4,0,0,0,4-4V96A12,12,0,0,0,216,84ZM71.58,140a4,4,0,0,0-2.51.89L36,167.62V48a4,4,0,0,1,4-4H168a4,4,0,0,1,4,4v88a4,4,0,0,1-4,4ZM220,215.62l-33.07-26.73a4,4,0,0,0-2.51-.89H88a4,4,0,0,1-4-4V148h84a12,12,0,0,0,12-12V92h36a4,4,0,0,1,4,4Z`}))]]),Se=new Map([[`bold`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M125.18,156.94a64,64,0,1,0-82.36,0,100.23,100.23,0,0,0-39.49,32,12,12,0,0,0,19.35,14.2,76,76,0,0,1,122.64,0,12,12,0,0,0,19.36-14.2A100.33,100.33,0,0,0,125.18,156.94ZM44,108a40,40,0,1,1,40,40A40,40,0,0,1,44,108Zm206.1,97.67a12,12,0,0,1-16.78-2.57A76.31,76.31,0,0,0,172,172a12,12,0,0,1,0-24,40,40,0,1,0-10.3-78.67,12,12,0,1,1-6.16-23.19,64,64,0,0,1,57.64,110.8,100.23,100.23,0,0,1,39.49,32A12,12,0,0,1,250.1,205.67Z`}))],[`duotone`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M136,108A52,52,0,1,1,84,56,52,52,0,0,1,136,108Z`,opacity:`0.2`}),L.createElement(`path`,{d:`M117.25,157.92a60,60,0,1,0-66.5,0A95.83,95.83,0,0,0,3.53,195.63a8,8,0,1,0,13.4,8.74,80,80,0,0,1,134.14,0,8,8,0,0,0,13.4-8.74A95.83,95.83,0,0,0,117.25,157.92ZM40,108a44,44,0,1,1,44,44A44.05,44.05,0,0,1,40,108Zm210.14,98.7a8,8,0,0,1-11.07-2.33A79.83,79.83,0,0,0,172,168a8,8,0,0,1,0-16,44,44,0,1,0-16.34-84.87,8,8,0,1,1-5.94-14.85,60,60,0,0,1,55.53,105.64,95.83,95.83,0,0,1,47.22,37.71A8,8,0,0,1,250.14,206.7Z`}))],[`fill`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M164.47,195.63a8,8,0,0,1-6.7,12.37H10.23a8,8,0,0,1-6.7-12.37,95.83,95.83,0,0,1,47.22-37.71,60,60,0,1,1,66.5,0A95.83,95.83,0,0,1,164.47,195.63Zm87.91-.15a95.87,95.87,0,0,0-47.13-37.56A60,60,0,0,0,144.7,54.59a4,4,0,0,0-1.33,6A75.83,75.83,0,0,1,147,150.53a4,4,0,0,0,1.07,5.53,112.32,112.32,0,0,1,29.85,30.83,23.92,23.92,0,0,1,3.65,16.47,4,4,0,0,0,3.95,4.64h60.3a8,8,0,0,0,7.73-5.93A8.22,8.22,0,0,0,252.38,195.48Z`}))],[`light`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M112.6,158.43a58,58,0,1,0-57.2,0A93.83,93.83,0,0,0,5.21,196.72a6,6,0,0,0,10.05,6.56,82,82,0,0,1,137.48,0,6,6,0,0,0,10-6.56A93.83,93.83,0,0,0,112.6,158.43ZM38,108a46,46,0,1,1,46,46A46.06,46.06,0,0,1,38,108Zm211,97a6,6,0,0,1-8.3-1.74A81.8,81.8,0,0,0,172,166a6,6,0,0,1,0-12,46,46,0,1,0-17.08-88.73,6,6,0,1,1-4.46-11.14,58,58,0,0,1,50.14,104.3,93.83,93.83,0,0,1,50.19,38.29A6,6,0,0,1,249,205Z`}))],[`regular`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M117.25,157.92a60,60,0,1,0-66.5,0A95.83,95.83,0,0,0,3.53,195.63a8,8,0,1,0,13.4,8.74,80,80,0,0,1,134.14,0,8,8,0,0,0,13.4-8.74A95.83,95.83,0,0,0,117.25,157.92ZM40,108a44,44,0,1,1,44,44A44.05,44.05,0,0,1,40,108Zm210.14,98.7a8,8,0,0,1-11.07-2.33A79.83,79.83,0,0,0,172,168a8,8,0,0,1,0-16,44,44,0,1,0-16.34-84.87,8,8,0,1,1-5.94-14.85,60,60,0,0,1,55.53,105.64,95.83,95.83,0,0,1,47.22,37.71A8,8,0,0,1,250.14,206.7Z`}))],[`thin`,L.createElement(L.Fragment,null,L.createElement(`path`,{d:`M107.19,159a56,56,0,1,0-46.38,0A91.83,91.83,0,0,0,6.88,197.81a4,4,0,1,0,6.7,4.37,84,84,0,0,1,140.84,0,4,4,0,1,0,6.7-4.37A91.83,91.83,0,0,0,107.19,159ZM36,108a48,48,0,1,1,48,48A48.05,48.05,0,0,1,36,108Zm212,95.35a4,4,0,0,1-5.53-1.17A83.81,83.81,0,0,0,172,164a4,4,0,0,1,0-8,48,48,0,1,0-17.82-92.58,4,4,0,1,1-3-7.43,56,56,0,0,1,44,103,91.83,91.83,0,0,1,53.93,38.86A4,4,0,0,1,248,203.35Z`}))]]),Ce=L.forwardRef((e,t)=>L.createElement(k,{ref:t,...e,weights:ve}));Ce.displayName=`ArrowClockwiseIcon`;const we=L.forwardRef((e,t)=>L.createElement(k,{ref:t,...e,weights:ye}));we.displayName=`ArrowLeftIcon`;const Te=L.forwardRef((e,t)=>L.createElement(k,{ref:t,...e,weights:be}));Te.displayName=`BuildingsIcon`;const Ee=L.forwardRef((e,t)=>L.createElement(k,{ref:t,...e,weights:xe}));Ee.displayName=`ChatsIcon`;const De=L.forwardRef((e,t)=>L.createElement(k,{ref:t,...e,weights:Se}));De.displayName=`UsersIcon`;function R(e,t){return C(e,w,t)}function Oe(e,t){let n=de(t),r=n.getQueryCache();return L.useSyncExternalStore(L.useCallback(e=>r.subscribe(h.batchCalls(e)),[r]),()=>n.isFetching(e),()=>n.isFetching(e))}var ke=me();function Ae(e,t){let n={options:e,onIdentityChange:t,abortController:new AbortController,auth:E({apiUrl:e.apiUrl,fetchAstralBeamToken:e.fetchAstralBeamToken})};return fe(n.auth,()=>{let e=N(n.auth);e.status===`error`&&je(n,e.error)}),n}function je(e,t){try{e.options.onError?.(t instanceof Error?t:Error(String(t)))}catch{}}function Me(e){e.abortController.abort(),re(e.auth)}function Ne(e,t){return z(e,t,async t=>{let{tenantId:r,tenantExternalId:a}=e.options;return r===void 0?(await n({page_size:1,...a===void 0?{}:{"filter[external_id]":a}},t)).items[0]??null:i(r,t)})}function Pe(e,t,r){return z(e,r,e=>n(t,e))}function Fe(e,t,r){return z(e,r,async e=>{let{kind:r,tenantId:a,q:o,admin:s,size:c,cursor:l}=t,u={q:o,page_size:c,...l};if(r===`users`){if(!a)throw Error(`Select a tenant before listing its users.`);return p(a,{...u,...s===`all`?{}:{"filter[admin]":s}},e)}if(a){let t=await i(a,e);return{items:!o||[t.name??``,t.external_id].some(e=>e.toLocaleLowerCase().includes(o.toLocaleLowerCase()))?[t]:[],page_after:null,page_before:null}}return n(u,e)})}async function z(e,t,n){let r=AbortSignal.any([t,e.abortController.signal,e.auth.session.abortController.signal]);try{for(let t=0;t<2;t++){r.throwIfAborted(),j(e.auth,{apiUrl:e.options.apiUrl,fetchAstralBeamToken:e.options.fetchAstralBeamToken});let i=await A({...e.auth,retryUnauthorized:t===0});r.throwIfAborted();let a=N(e.auth);if(a.status!==`ready`)throw Error(`Authentication is not ready`);let o=a.currentUser.scope===`organization`,s=ce(a.currentUser,e.auth.session.cached.tenantAdmin);if(e.identity!==void 0&&e.identity!==s)throw e.onIdentityChange(),new DOMException(`Identity changed`,`AbortError`);if(e.identity=s,e.options.scope===`organization`&&!o)throw Error(`Organization mode requires an organization-management token.`);if((e.options.scope??`tenant`)===`tenant`&&o&&!e.options.tenantId&&e.options.tenantExternalId===void 0)throw Error(`tenantId or tenantExternalId is required for a tenant view using an organization token.`);try{let t=await n({apiUrl:e.auth.apiUrl,astralBeamToken:i,signal:r});return r.throwIfAborted(),t}catch(n){if(t||!b(n)||n.status!==401)throw n;await F(e.auth,i)}}throw Error(`Authentication failed`)}catch(t){let n=N(e.auth);throw!(n.status===`error`&&n.error===t)&&!r.aborted&&!(t instanceof Error&&t.name===`AbortError`)&&je(e,t),t}}function Ie(e,t,n){return z(e,n,e=>f({q:t.q,page_size:t.size,...t.cursor,...t.tenantId?{"filter[tenant_id]":t.tenantId}:{}},e))}function Le(e,t,n,r,i){return z(e,i,e=>te(t,n,{page_size:100,...r?{page_after:r}:{}},e))}function Re(e,t,n,r,i,a){return z(e,a,async e=>(await m(t,n,r,i,e)).blob())}var B=o();function ze({label:e,placeholder:n=`Search…`,value:r,onValueChange:i,itemLabel:o,loadPage:d,disabled:f=!1,showClear:p=!1,popup:m=!1,id:h,className:g=`min-w-0 flex-1`}){let b=(0,L.useRef)(null),C=(0,L.useRef)(null),[w,T]=(0,L.useState)(``),[E,D]=(0,L.useState)(!1),[O]=ne(w.trim(),{wait:300}),k=(0,L.useContext)(t),[A]=(0,L.useState)(()=>new S),j=l({queryKey:[`search-dropdown`,(0,L.useId)(),O],enabled:E,initialPageParam:void 0,queryFn:({signal:e,pageParam:t})=>d(O,t,e),getNextPageParam:e=>e.page_after??void 0,retry:!1,gcTime:0},k??A),M=w.trim()!==O||j.isPending,{hasNextPage:ee,isFetching:N,isError:P,fetchNextPage:te}=j;(0,L.useEffect)(()=>{let e=C.current;if(!E||!e||M||!ee||N||P)return;let t=()=>{e.scrollHeight-e.scrollTop-e.clientHeight<48&&te({cancelRefetch:!1})};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[E,M,ee,N,P,te,j.data]);let F=M?[]:j.data?.pages.flatMap(e=>e.items)??[],I=(0,B.jsx)(v,{id:m?void 0:h,"aria-label":m?n:e,placeholder:n,maxLength:255,disabled:f,showTrigger:!m,showClear:p,onFocus:e=>e.currentTarget.select()});return(0,B.jsx)(`div`,{ref:b,className:g,"data-slot":`search-dropdown`,children:(0,B.jsxs)(c,{items:r&&!F.some(e=>e.id===r.id)?[...F,r]:F,filteredItems:F,value:r,onValueChange:i,itemToStringLabel:o,itemToStringValue:e=>e.id,isItemEqualToValue:(e,t)=>e.id===t.id,disabled:f,onInputValueChange:(e,t)=>{T(t.reason===`input-change`?e:``)},onOpenChange:e=>{D(e),e||T(``)},children:[m?(0,B.jsx)(u,{id:h,"aria-label":e,render:(0,B.jsx)(x,{variant:`outline`,className:`w-full justify-between`}),children:(0,B.jsx)(`span`,{className:`truncate`,children:(0,B.jsx)(oe,{placeholder:e})})}):I,(0,B.jsxs)(_,{container:b,"aria-label":m?e:void 0,"aria-busy":M||j.isFetching?!0:void 0,children:[m&&I,(0,B.jsx)(a,{className:`text-center text-sm text-muted-foreground [&:not(:empty)]:py-2`,children:M||j.isFetchingNextPage?`Loading…`:null}),(0,B.jsx)(_e,{children:!M&&!j.isError?`No matches.`:null}),(0,B.jsx)(y,{ref:C,children:e=>(0,B.jsx)(s,{value:e,children:o(e)},e.id)}),!M&&j.isError&&(0,B.jsxs)(`div`,{className:`p-2 text-xs`,role:`alert`,children:[`Could not load options.`,(0,B.jsx)(x,{variant:`ghost`,size:`sm`,disabled:j.isFetching,onClick:()=>void(j.isFetchNextPageError?j.fetchNextPage():j.refetch()),children:`Retry`})]})]})]})})}function Be({className:e,size:t=`default`,...n}){return(0,B.jsxs)(`div`,{className:d(`group/native-select relative w-fit has-[select:disabled]:opacity-50`,e),"data-slot":`native-select-wrapper`,"data-size":t,children:[(0,B.jsx)(`select`,{"data-slot":`native-select`,"data-size":t,className:`h-8 w-full min-w-0 appearance-none rounded-lg border border-input bg-transparent py-1 pe-8 ps-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,...n}),(0,B.jsx)(he,{className:`pointer-events-none absolute top-1/2 end-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none`,"aria-hidden":`true`,"data-slot":`native-select-icon`})]})}function V({className:e,...t}){return(0,B.jsx)(`option`,{"data-slot":`native-select-option`,className:d(`bg-[Canvas] text-[CanvasText]`,e),...t})}function Ve({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`skeleton`,className:d(`animate-pulse rounded-md bg-muted`,e),...t})}const He=se(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function Ue({className:e,variant:t,...n}){return(0,B.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:d(He({variant:t}),e),...n})}function We({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`alert-title`,className:d(`font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,e),...t})}function Ge({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`alert-description`,className:d(`text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),...t})}function Ke({session:e,thread:t,onClose:n,ErrorFeedback:r,LoadingFeedback:i}){let[a,o]=(0,L.useState)(null),s=l({queryKey:[`directory-history`,t.tenant_id,t.id],initialPageParam:void 0,queryFn:({pageParam:n,signal:r})=>Le(e,t.tenant_id,t.id,n,r),getNextPageParam:e=>e.page_after??void 0}),c=(0,L.useCallback)(async(n,r)=>{try{return await Re(e,t.tenant_id,t.id,n,r,e.abortController.signal)}catch(e){throw b(e)&&[401,403,404].includes(e.status)&&o(e),e}},[e,t.tenant_id,t.id]),u=(0,L.useMemo)(()=>{let e=ee(s.data?.pages.toReversed().flatMap(e=>e.messages)??[]);for(let t of e)for(let e of t.parts)e.type===`tool-call`&&(e.input=ae(e.arguments),e.state??=`input-complete`);return e},[s.data]),d=a??s.error,f=b(d)&&[401,403,404].includes(d.status),p=s.data?.pages[0]?.thread??t;return(0,B.jsxs)(`section`,{"data-slot":`directory-transcript`,"aria-label":`Saved conversation`,className:`flex min-h-96 flex-col gap-4`,children:[(0,B.jsxs)(`header`,{className:`flex flex-wrap items-center gap-3`,children:[(0,B.jsxs)(x,{variant:`outline`,size:`sm`,onClick:n,children:[(0,B.jsx)(we,{"aria-hidden":!0}),`Back to conversations`]}),(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(`h3`,{className:`break-words font-semibold`,children:p.title||`Untitled conversation`}),(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Saved conversation · Read only`})]})]}),d&&(0,B.jsx)(r,{error:d,retry:()=>{(a||!s.isFetchNextPageError?s.refetch():s.fetchNextPage()).then(e=>{e.isSuccess&&o(null)})}}),s.isPending?(0,B.jsx)(i,{}):s.data&&!f?(0,B.jsx)(`div`,{className:`h-[32rem] min-h-64 overflow-hidden rounded-lg border border-foreground/10 bg-background text-foreground [--card-spacing:--spacing(4)]`,children:(0,B.jsx)(g,{messages:u,widgets:{},toolTitles:{},activeSlots:new Map,interactiveToolIds:new Set,readOnly:!0,getAttachment:c,hasOlder:s.hasNextPage&&!s.isError,loadingHistory:s.isFetching,loadingOlder:s.isFetchingNextPage,onLoadOlder:async()=>{await s.fetchNextPage({cancelRefetch:!1})},isBusy:s.isFetching,awaitingReply:!1,onQuestionnaireAnswers:()=>{}})}):null]})}function qe(e){return Je(e)||typeof e==`function`||Ye(e)}function Je(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Ye(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function H(e,t){return e==null?null:qe(e)?L.createElement(e,t):e}function Xe(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?H(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:H(n.cell,t.getContext())}return`header`in e&&e.header?H(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?H(e.footer.column.columnDef.footer,e.footer.getContext()):null}function Ze(e){let t=le(e.source,e.selector,{compare:P});return typeof e.children==`function`?e.children(t):e.children}function Qe(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function $e(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function et(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function tt(){return $e({createAtom:ie,batch:O})}function U(e,t){return typeof e==`function`?e(t):e}function W(e){if(Array.isArray(e))return e.map(W);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?G():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:W(e[i]),writable:!0})}return n}return e}function G(){return Object.create(null)}function K(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function nt(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function rt(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function it(e,t){return at(e,t,3)}function at(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!nt(e)||!nt(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=rt(e),i=rt(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!at(a[i],o[i],n-1))return!1}return!0}function q(e,t,n,r=it){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=U(n,e);return r(e,t)?e:t})}function ot(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}const st=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u?(o=l,a?.(),s=e(...l??[]),r?.(s),s):s}};function ct(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function lt({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o=()=>{if(!r)return;let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))},s={onAfterUpdate:()=>{o()}};return st({...a,...s})}function ut(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function J(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=ut(r);t[n]=a?lt({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function Y(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=ut(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=lt({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function X(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function dt(e){return e.row.getValue(e.column.id)}function ft(e){return e.getValue()??e.table.options.renderFallbackValue}function pt(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}const mt={assignCellPrototype:(e,t)=>{Y(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>dt(e)},cell_renderValue:{fn:e=>ft(e)},cell_getContext:{fn:e=>pt(e),memoDeps:e=>[e]}})}};function ht(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function gt(e,t,n){let r=ht(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function _t(){return{start:[],end:[]}}function Z(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>X(e,`getIsVisible`,Z)):(K(t,e.id)?t[e.id]:void 0)??!0}function vt(e){return e.getAllLeafColumns().filter(e=>X(e,`getIsVisible`,Z))}function yt(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];X(i,`getIsVisible`,Z)&&i.columns.length&&(n=Math.max(n,yt(i.columns,t+1)))}return n}function bt(e,t){return e?`${e}_${t}`:String(t)}function xt(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function St(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function Ct(e,t,n,r,i,a){let o={depth:t,id:bt(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=gt(n,u,{id:xt(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(St(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&Ct(s,t-1,n,r,i,a)}function wt(e){for(let t=0;t<e.length;t++){let n=e[t];if(!X(n.column,`getIsVisible`,Z))continue;let r=0;if(n.subHeaders.length){wt(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];X(t.column,`getIsVisible`,Z)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function Tt(e,t,n,r){let i=yt(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=gt(n,t[e],{depth:i,index:e}));return Ct(s,i-1,n,r,a,o),a.reverse(),wt(a[0]?.headers??[]),a}function Et(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function Dt(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0)if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey];if(!s)throw Error();let l=Et(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function Ot(e){let t=e.atoms.columnOrder?.get();return n=>{let r=[];if(!t?.length)r=n;else{let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];e.set(r.id,r)}for(let n=0;n<t.length;n++){let i=t[n],a=e.get(i);a&&(r.push(a),e.delete(i))}for(let t=0;t<n.length;t++){let i=n[t];e.has(i.id)&&r.push(i)}}return kt(e,r)}}function kt(e,t){let n=e.atoms.grouping?.get()??[],{groupedColumnMode:r}=e.options;if(!n.length||!r)return t;let i=t.filter(e=>!n.includes(e.id));if(r===`remove`)return i;let a=new Map;for(let e=0;e<t.length;e++){let n=t[e];a.set(n.id,n)}let o=[];for(let e=0;e<n.length;e++){let t=a.get(n[e]);t&&o.push(t)}return[...o,...i]}function At(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function jt(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return X(e.table,`getOrderColumns`,Ot)(t)}return[e]}function Mt(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function Nt(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=Dt(e,o,r,n),c=o;s.columns=c.columns?Nt(e,c.columns,s,r+1):[],i[a]=s}return i}function Pt(e){return Nt(e,e.options.columns)}function Ft(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function It(e){let t=G(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Lt(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return X(e,`getOrderColumns`,Ot)(t)}function Rt(e){let t=G(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function zt(e,t){return e.getAllFlatColumnsById()[t]}const Bt={assignColumnPrototype:(e,t)=>{Y(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>At(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>jt(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{J(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>Mt(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>Pt(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>Ft(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>It(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>Lt(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>Rt(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>zt(e,t)}})}};function Vt(e,t){for(let n=0;n<e.subHeaders.length;n++)Vt(e.subHeaders[n],t);t.push(e)}function Ht(e){let t=[];return Vt(e,t),t}function Ut(e){return{column:e.column,header:e,table:e.column.table}}function Wt(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??_t(),r=e.getAllColumns(),i=X(e,`getVisibleLeafColumns`,vt);if(!t.length&&!n.length)return Tt(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&X(n,`getIsVisible`,Z)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&X(t,`getIsVisible`,Z)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return Tt(r,[...o,...c,...s],e)}function Gt(e){return[...e.getHeaderGroups()].reverse()}function Kt(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function qt(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}const Jt={assignHeaderPrototype:(e,t)=>{Y(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>Ht(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>Ut(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{J(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>Wt(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>Gt(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>Kt(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>qt(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function Yt(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}const Xt=(e,t,n,r,i,a,o)=>{let s=Yt(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=G(),c._valuesCache=G(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c};function Zt(){return[]}function Qt(e,t){q(e,`cellSelection`,t?Zt():W(e.initialState.cellSelection)??Zt())}function $t(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>Qt(e))}function en(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>tn(e))}function tn(e,t){let n=e.initialState.expanded;q(e,`expanded`,t?G():n===!0||Object.assign(G(),W(n??{})))}function nn(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??0)===0)return;on(e,!0)}}function rn(e,t){q(e,`pagination`,t)}function an(e,t){rn(e,n=>{let r=U(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})}function on(e,t){an(e,t?0:e.initialState.pagination?.pageIndex??0)}function sn(e,t){q(e,`sorting`,t)}function cn(e,t){sn(e,t?[]:W(e.initialState.sorting??[]))}function ln(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&cn(e)}function un(){return e=>lt({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>fn(e,e.options.data),onAfterUpdate:ct(()=>{en(e),nn(e),ln(e),$t(e)})})}function dn(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=Xt(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=dn(e,t,c.originalSubRows,r+1,c)))}return a}function fn(e,t){let n={rows:[],flatRows:[],rowsById:G()};return n.rows=dn(e,n,t),n}function pn(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??un()(e)),e._rowModels.coreRowModel()}function mn(e){return e.getCoreRowModel()}function hn(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function gn(e){return e.getFilteredRowModel()}function _n(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function vn(e){return e.getGroupedRowModel()}function yn(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function bn(e){return e.getSortedRowModel()}function xn(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function Sn(e){return e.getExpandedRowModel()}function Cn(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function wn(e){return e.getPaginatedRowModel()}const Tn={constructTableAPIs:e=>{J(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>pn(e)},table_getPreFilteredRowModel:{fn:()=>mn(e)},table_getFilteredRowModel:{fn:()=>hn(e)},table_getPreGroupedRowModel:{fn:()=>gn(e)},table_getGroupedRowModel:{fn:()=>_n(e)},table_getPreSortedRowModel:{fn:()=>vn(e)},table_getSortedRowModel:{fn:()=>yn(e)},table_getPreExpandedRowModel:{fn:()=>bn(e)},table_getExpandedRowModel:{fn:()=>xn(e)},table_getPrePaginatedRowModel:{fn:()=>Sn(e)},table_getPaginatedRowModel:{fn:()=>Cn(e)},table_getRowModel:{fn:()=>wn(e)}})}};function En(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function Dn(e,t,n){let r=En(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function On(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function kn(e){let t=e.getPrePaginatedRowModel().rows;if(e.options.paginateExpandedRows===!1){let e=[],n=t=>{t._displayIndexCache=e.length,e.push(t),t.subRows.length&&t.getIsExpanded?.()&&t.subRows.forEach(n)};return t.forEach(n),e}for(let e=0;e<t.length;e++)t[e]._displayIndexCache=e;return t}function An(e,t){if(K(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function jn(e,t){if(K(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function Mn(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function Nn(e){return ot(e.subRows,e=>e.subRows)}function Pn(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function Fn(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function In(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function Ln(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=Dn(a,e,e.table),n.set(a,o)),r[i]=o}return r}function Rn(e){let t=G(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function zn(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function Bn(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}const Vn={assignRowPrototype:(e,t)=>{Y(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>On(e)},row_getAllCellsByColumnId:{fn:e=>Rn(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>Ln(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>Nn(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>Fn(e)},row_getParentRows:{fn:e=>In(e)},row_getUniqueValues:{fn:(e,t)=>jn(e,t)},row_getValue:{fn:(e,t)=>An(e,t)},row_renderValue:{fn:(e,t)=>Mn(e,t)}})},constructTableAPIs:e=>{J(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>kn(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>zn(t,e,n,r)},table_getRow:{fn:(t,n)=>Bn(e,t,n)},table_getMaxSubRowDepth:{fn:()=>Pn(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function Hn(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function Un(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{Hn(e,t,n),e._reactivity.commit?.()})}function Wn(e){let t=W(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function Gn(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function Kn(e,t,n){let r=Gn(e,U(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&Un(e,r.state??null)}const qn={coreCellsFeature:mt,coreColumnsFeature:Bt,coreHeadersFeature:Jt,coreRowModelsFeature:Tn,coreRowsFeature:Vn,coreTablesFeature:{constructTableAPIs:e=>{J(`coreTablesFeature`,e,{table_reset:{fn:()=>Wn(e)},table_setOptions:{fn:t=>Kn(e,t)}})}}};function Jn(e){return e}function Yn(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),W(t)}function Xn(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...qn,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=Yn(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&K(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}Hn(v),v.store=Qe(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:P,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}const Zn=typeof window>`u`?L.useEffect:L.useLayoutEffect;function Qn(e,t){let[{table:n,rootSource:r}]=(0,L.useState)(()=>{let t=Xn({...e,features:{coreReactivityFeature:tt(),...e.features}});return t.Subscribe=(e=>Ze({...e,source:e.source??t.store})),t.FlexRender=Xe,{table:t,rootSource:et(t.store,P)}}),i=n;Kn(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=le(r,t,{compare:P});return Zn(()=>{r.markCommitted(o),Un(i,a??null,P)}),(0,L.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}function $n({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,B.jsx)(`table`,{"data-slot":`table`,className:d(`w-full caption-bottom text-sm`,e),...t})})}function er({className:e,...t}){return(0,B.jsx)(`thead`,{"data-slot":`table-header`,className:d(`[&_tr]:border-b`,e),...t})}function tr({className:e,...t}){return(0,B.jsx)(`tbody`,{"data-slot":`table-body`,className:d(`[&_tr:last-child]:border-0`,e),...t})}function nr({className:e,...t}){return(0,B.jsx)(`tr`,{"data-slot":`table-row`,className:d(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function rr({className:e,...t}){return(0,B.jsx)(`th`,{"data-slot":`table-head`,className:d(`h-10 px-2 text-start align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pe-0`,e),...t})}function ir({className:e,...t}){return(0,B.jsx)(`td`,{"data-slot":`table-cell`,className:d(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0`,e),...t})}const ar=se(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function or({className:e,variant:t=`default`,render:n,...r}){return ge({defaultTagName:`span`,props:D({className:d(ar({variant:t}),e)},r),render:n,state:{slot:`badge`,variant:t}})}const sr=Jn({});function cr({rows:e,kind:t,options:n,filtered:r}){let{onTenantSelect:i,onTenantUserSelect:a,showAdmin:o}=n;return(0,B.jsx)(lr,{rows:e,columns:(0,L.useMemo)(()=>[{accessorKey:`external_id`,header:`ID`,cell:({row:e})=>(0,B.jsx)(`span`,{className:`line-clamp-3 break-all font-mono text-xs whitespace-normal`,children:e.original.external_id})},{id:`name`,header:t===`tenants`?`Tenant`:`User`,cell:({row:e})=>{let n=e.original,r=n.name||n.external_id;return(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 py-1`,children:[t===`users`&&(0,B.jsx)(`span`,{"data-slot":`directory-avatar`,"aria-hidden":!0,className:`flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-xs font-medium uppercase`,children:r.trim().split(/\s+/).slice(0,2).map(e=>Array.from(e)[0]).join(``)}),(0,B.jsx)(`span`,{className:`line-clamp-3 min-w-0 text-start whitespace-normal [overflow-wrap:anywhere]`,children:r})]})}},...t===`users`&&o?[{id:`admin`,header:`Stored admin`,cell:({row:e})=>(0,B.jsx)(or,{variant:`outline`,title:`Stored status does not grant or revoke signed JWT authority`,children:`admin`in e.original&&e.original.admin?`Admin`:`User`})}]:[],{accessorKey:`metadata`,header:`Metadata`,cell:({row:e})=>{let t=Object.entries(e.original.metadata);return t.length?(0,B.jsx)(`dl`,{className:`space-y-1 text-xs whitespace-normal`,children:t.map(([e,t])=>(0,B.jsxs)(`div`,{className:`flex gap-1`,children:[(0,B.jsxs)(`dt`,{className:`line-clamp-3 max-w-1/2 shrink-0 break-all text-muted-foreground`,children:[e,`:`]}),(0,B.jsx)(`dd`,{className:`line-clamp-6 min-w-0 [overflow-wrap:anywhere]`,children:typeof t==`string`?t:JSON.stringify(t)})]},e))}):(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`No metadata`})}},{accessorKey:`created_at`,header:`Created`,cell:({row:e})=>(0,B.jsx)(`time`,{dateTime:e.original.created_at,title:e.original.created_at,className:`whitespace-nowrap text-muted-foreground`,children:new Date(e.original.created_at).toLocaleDateString()})},...(t===`users`?a:i)?[{id:`actions`,header:``,cell:({row:e})=>{let t=e.original;return(0,B.jsx)(x,{variant:`ghost`,size:`sm`,onClick:()=>`tenant_id`in t?a?.(t):i?.(t),"aria-label":`Open ${t.name||t.external_id}`,title:`Open`,children:(0,B.jsx)(pe,{"aria-hidden":!0})})}}]:[]],[t,i,a,o]),emptyText:r?`No records match your filters.`:`No records yet.`})}function lr({rows:e,columns:t,emptyText:n,getRowId:r=e=>e.id}){let i=(0,L.useId)(),a=Qn({features:sr,data:e,columns:t,getRowId:r});return(0,B.jsxs)($n,{role:`table`,className:`block table-fixed @4xl/directory:table [&_th]:h-12 [&_th]:px-4 [&_td]:px-4 [&_td]:py-3`,children:[(0,B.jsx)(er,{role:`rowgroup`,className:`sr-only @4xl/directory:not-sr-only`,children:a.getHeaderGroups().map(e=>(0,B.jsx)(nr,{role:`row`,children:e.headers.map(e=>(0,B.jsx)(rr,{id:`${i}-${e.column.id}`,role:`columnheader`,scope:`col`,className:e.column.id===`actions`?`w-16`:void 0,children:(0,B.jsx)(a.FlexRender,{header:e})},e.id))},e.id))}),(0,B.jsxs)(tr,{role:`rowgroup`,className:`block @4xl/directory:table-row-group`,children:[a.getRowModel().rows.map(e=>(0,B.jsx)(nr,{role:`row`,className:`flex flex-col py-2 @4xl/directory:table-row @4xl/directory:py-0`,children:e.getAllCells().map(e=>(0,B.jsxs)(ir,{role:`cell`,headers:`${i}-${e.column.id}`,className:e.column.id===`name`||e.column.id===`title`?`order-first block min-w-0 font-medium whitespace-normal @4xl/directory:table-cell @4xl/directory:font-normal`:`block min-w-0 whitespace-normal @4xl/directory:table-cell`,children:[e.column.id!==`name`&&e.column.id!==`title`&&e.column.id!==`actions`&&(0,B.jsx)(`span`,{"aria-hidden":!0,className:`mb-1 block text-xs font-medium text-muted-foreground @4xl/directory:hidden`,children:e.column.columnDef.header}),(0,B.jsx)(a.FlexRender,{cell:e})]},e.id))},e.id)),!e.length&&(0,B.jsx)(nr,{role:`row`,className:`block @4xl/directory:table-row`,children:(0,B.jsx)(ir,{role:`cell`,colSpan:a.getAllLeafColumns().length,className:`block content-center h-32 text-center text-muted-foreground @4xl/directory:table-cell`,children:n})})]})]})}function ur({session:e,tenantId:t,q:n,size:r,ErrorFeedback:i,LoadingFeedback:a,Pagination:o}){let[s,c]=(0,L.useState)({}),[l,u]=(0,L.useState)(null),d=R({queryKey:[`threads`,t,n,r,s],queryFn:({signal:i})=>Ie(e,{tenantId:t,q:n,size:r,cursor:s},i)}),f=(0,L.useMemo)(()=>[{id:`participants`,header:`Participants`,cell:({row:e})=>(0,B.jsx)(`div`,{className:`min-w-0 max-w-64 space-y-2 @4xl/directory:min-w-40`,children:e.original.participants.length===0?`No participants`:e.original.participants.map(e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`div`,{className:`line-clamp-3 whitespace-normal [overflow-wrap:anywhere]`,title:e.name||e.external_id,children:e.name||e.external_id}),e.name&&(0,B.jsx)(`div`,{className:`line-clamp-3 break-all font-mono text-xs text-muted-foreground`,title:e.external_id,children:e.external_id})]},e.external_id))})},{id:`title`,header:`Conversation`,cell:({row:e})=>(0,B.jsx)(x,{variant:`link`,className:`h-auto min-w-0 max-w-full @4xl/directory:min-w-48 @4xl/directory:max-w-96 justify-start p-0 text-start whitespace-normal break-words`,onClick:()=>u(e.original),children:e.original.title||`Untitled conversation`})},{id:`activity`,header:`Last activity`,cell:({row:e})=>(0,B.jsx)(`time`,{className:`text-muted-foreground`,dateTime:e.original.updated_at,title:e.original.updated_at,children:new Date(e.original.updated_at).toLocaleString()})}],[]);return l?(0,B.jsx)(Ke,{session:e,thread:l,onClose:()=>u(null),ErrorFeedback:i,LoadingFeedback:a}):(0,B.jsxs)(`div`,{"data-slot":`directory-page`,"aria-busy":d.isFetching,className:`min-w-0 space-y-4`,children:[d.isError?(0,B.jsx)(i,{error:d.error,retry:()=>void d.refetch()}):d.isPending?(0,B.jsx)(a,{}):(0,B.jsx)(`div`,{"data-slot":`directory-table`,className:`overflow-hidden rounded-lg border border-foreground/10 bg-card text-card-foreground`,children:(0,B.jsx)(lr,{rows:d.data.items,columns:f,getRowId:e=>`${e.tenant_id}:${e.id}`,emptyText:n?`No conversations match your filters.`:`No conversations yet.`})}),(0,B.jsx)(`div`,{"data-slot":`directory-pagination`,children:(0,B.jsx)(o,{page:d.isError?void 0:d.data,busy:d.isFetching,onPage:c})})]})}const dr={tenants:{title:`Tenants`,searchLabel:`Search by name or external ID`,Icon:Te,tenantPrompt:null,showAdminFilter:!1},users:{title:`Tenant users`,searchLabel:`Search by name or external ID`,Icon:De,tenantPrompt:`Select a tenant to view its users.`,showAdminFilter:!0},threads:{title:`Conversations`,Icon:Ee,searchLabel:`Search conversations`,tenantPrompt:`Select a tenant to view its conversations.`,showAdminFilter:!1}};function fr({options:e,kind:t,session:n}){let r=dr[t],{Icon:i}=r,a=r.tenantPrompt!==null,o=de(),s=Oe(),[c,l]=(0,L.useState)(null),[u,d]=(0,L.useState)(``),[f]=ne(u.trim(),{wait:300}),[p,m]=(0,L.useState)(`all`),h=e.showAdmin?p:`all`,[g,_]=(0,L.useState)(e.pageSize??20),[v,y]=(0,L.useState)(e.pageSize);v!==e.pageSize&&(y(e.pageSize),_(e.pageSize??20));let b=e.scope??`tenant`,S=e.tenantId!==void 0||e.tenantExternalId!==void 0,C=S||a&&b===`tenant`,w=R({queryKey:[`identity-tenant`,e.tenantId,e.tenantExternalId],enabled:C,queryFn:({signal:e})=>Ne(n,e)}),E=C?w.data:c,D=E?.id,O=a&&b===`organization`&&!S,k=(a||C)&&!D,A=e.title??r.title;return(0,B.jsxs)(`section`,{"data-slot":`directory`,"aria-label":A,className:`@container/directory flex h-full min-w-0 flex-col gap-4 overflow-y-auto text-foreground`,children:[e.showHeader!==!1&&(0,B.jsxs)(`header`,{"data-slot":`directory-header`,className:`flex items-center gap-3`,children:[(0,B.jsx)(i,{size:22,"aria-hidden":!0}),(0,B.jsxs)(`div`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:[(0,B.jsx)(`h2`,{className:`font-heading text-lg font-semibold`,children:A}),(0,B.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[E?`${E.name||E.external_id} · ${E.external_id}`:b===`tenant`?`Current tenant`:`Current organization`,` `,`· Read-only directory`]})]})]}),O&&(0,B.jsx)(pr,{session:n,selected:c,onSelect:t=>{t?.id!==c?.id&&(l(t),e.onTenantChange?.(t))}}),(0,B.jsxs)(`div`,{"data-slot":`directory-toolbar`,className:`flex flex-wrap items-center gap-3`,children:[(0,B.jsx)(T,{type:`search`,disabled:k,"aria-label":r.searchLabel,placeholder:`${r.searchLabel}…`,value:u,maxLength:255,onChange:e=>d(e.target.value),className:`w-full min-w-0 max-w-full @lg/directory:w-72`}),r.showAdminFilter&&e.showAdmin&&(0,B.jsxs)(Be,{disabled:k,"aria-label":`Stored admin status`,value:p,onChange:e=>m(e.target.value),children:[(0,B.jsx)(V,{value:`all`,children:`All users`}),(0,B.jsx)(V,{value:`true`,children:`Admins`}),(0,B.jsx)(V,{value:`false`,children:`Non-admins`})]}),(0,B.jsxs)(`div`,{"data-slot":`directory-page-controls`,className:`ms-auto flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(Be,{disabled:k,"aria-label":`Rows per page`,className:`min-w-32`,value:g,onChange:e=>_(Number(e.target.value)),children:[20,50,100].map(e=>(0,B.jsxs)(V,{value:e,children:[e,` per page`]},e))}),(0,B.jsx)(x,{variant:`outline`,size:`icon`,"aria-label":`Refresh directory`,title:`Refresh directory`,disabled:s>0,onClick:()=>void o.refetchQueries({type:`active`}),children:(0,B.jsx)(Ce,{"aria-hidden":!0,className:s>0?`animate-spin motion-reduce:animate-none`:void 0})})]})]}),C&&w.isError?(0,B.jsx)(_r,{error:w.error,retry:()=>void w.refetch()}):C&&w.isPending?(0,B.jsx)(gr,{}):k?(0,B.jsx)(`div`,{"data-slot":`directory-empty`,className:`space-y-3 rounded-lg border border-foreground/10 bg-card p-8 text-center text-card-foreground`,children:(0,B.jsx)(`p`,{role:`status`,className:`text-muted-foreground`,children:O?r.tenantPrompt:`No persisted tenant found. Create the tenant, then refresh.`})}):t===`threads`?(0,B.jsx)(ur,{session:n,tenantId:D,q:f,size:g,ErrorFeedback:_r,LoadingFeedback:gr,Pagination:hr},JSON.stringify([D,f,g])):(0,B.jsx)(mr,{admin:h,options:e,kind:t,session:n,tenantId:D,q:f,size:g},JSON.stringify([D,f,h,g]))]})}function pr({session:e,selected:t,onSelect:n}){let r=(0,L.useId)();return(0,B.jsxs)(`div`,{"data-slot":`directory-tenant-picker`,className:`w-full min-w-0 space-y-1.5 [&_input]:min-w-0 [&_[data-slot=input-group-addon]]:me-0 @lg/directory:max-w-sm`,children:[(0,B.jsx)(`label`,{htmlFor:r,"data-slot":`directory-tenant-label`,className:`block text-sm font-medium`,children:`Tenant`}),(0,B.jsx)(ze,{id:r,label:`Tenant`,placeholder:`Search tenants…`,value:t,onValueChange:n,showClear:!0,itemLabel:e=>`${e.name||e.external_id} · ${e.external_id}`,loadPage:(t,n,r)=>Pe(e,{q:t,...n?{page_after:n}:{}},r)})]})}function mr({options:e,kind:t,session:n,tenantId:r,q:i,admin:a,size:o}){let[s,c]=(0,L.useState)({}),l=R({queryKey:[t,r,i,a,o,s],queryFn:({signal:e})=>Fe(n,{kind:t,tenantId:r,q:i,admin:a,size:o,cursor:s},e)});return(0,B.jsxs)(`div`,{"data-slot":`directory-page`,"aria-busy":l.isFetching,className:`min-w-0 space-y-4`,children:[l.isError?(0,B.jsx)(_r,{error:l.error,retry:()=>void l.refetch()}):l.isPending?(0,B.jsx)(gr,{}):(0,B.jsx)(`div`,{"data-slot":`directory-table`,className:`overflow-hidden rounded-lg border border-foreground/10 bg-card text-card-foreground`,children:(0,B.jsx)(cr,{rows:l.data.items,kind:t,options:e,filtered:!!i||a!==`all`},JSON.stringify(s))}),(0,B.jsx)(`div`,{"data-slot":`directory-pagination`,children:(0,B.jsx)(hr,{page:l.isError?void 0:l.data,busy:l.isFetching,onPage:c})})]})}function hr({page:e,busy:t,onPage:n}){return(0,B.jsxs)(`nav`,{"aria-label":`Directory pages`,className:`grid grid-cols-2 justify-end gap-2 @lg/directory:flex`,children:[(0,B.jsx)(x,{variant:`outline`,size:`sm`,disabled:t||!e?.page_before,onClick:()=>n({page_before:e.page_before}),children:`Previous`}),(0,B.jsx)(x,{variant:`outline`,size:`sm`,disabled:t||!e?.page_after,onClick:()=>n({page_after:e.page_after}),children:`Next`})]})}function gr(){return(0,B.jsx)(`div`,{role:`status`,"aria-label":`Loading directory`,className:`space-y-3 p-4`,children:[0,1,2].map(e=>(0,B.jsx)(Ve,{className:`h-10 w-full`},e))})}function _r({error:e,retry:t}){let n=b(e)?e:void 0,r=n?.status,i={401:`Authentication required`,403:`Access denied`,404:`Tenant not found`,429:`Too many requests`},a=n?.headers.get(`retry-after`);return(0,B.jsxs)(Ue,{variant:`destructive`,children:[(0,B.jsx)(We,{children:i[r??0]??`Unable to load directory`}),(0,B.jsx)(Ge,{children:r===429?`Please retry after ${a??`a few`} seconds.`:e.message}),(0,B.jsx)(x,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})}function vr(e,t,n,r){let i=document.createElement(`style`);i.textContent=ue+(n.customCss??``),e.append(i);let a={root:(0,ke.createRoot)(t),style:i,client:new S({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,gcTime:0}}}),options:n,kind:r,revision:0,session:Ae(n,()=>$(a))};return Sr(a),Q(a),a}function Q(e){let t=N(e.session.auth);e.root.render((0,B.jsx)(M,{client:e.client,children:t.status===`error`?(0,B.jsxs)(`div`,{role:`alert`,className:`p-4 text-sm`,children:[(0,B.jsx)(`p`,{children:t.error.message}),(0,B.jsx)(`button`,{type:`button`,className:`underline`,onClick:()=>yr(e),children:`Retry authentication`})]}):(0,B.jsx)(fr,{options:e.options,kind:e.kind,session:e.session},e.revision)}))}function yr(e){N(e.session.auth).status===`error`?A({...e.session.auth,force:!0}).catch(()=>{}):e.client.invalidateQueries()}function $(e){e.unsubscribeAuthentication?.(),e.stopAuthentication?.(),Me(e.session),e.client.clear(),e.session=Ae(e.options,()=>$(e)),e.revision++,Sr(e),Q(e)}function br(e,t){let n=e.options;n.customCss!==t.customCss&&(e.style.textContent=ue+(t.customCss??``));let r=n.apiUrl!==t.apiUrl;if(e.options=t,r)return $(e);e.session.options=t,j(e.session.auth,{apiUrl:t.apiUrl,fetchAstralBeamToken:t.fetchAstralBeamToken}),(n.scope!==t.scope||n.tenantId!==t.tenantId||n.tenantExternalId!==t.tenantExternalId)&&(e.client.clear(),e.revision++),Q(e)}function xr(e){e.unsubscribeAuthentication?.(),e.stopAuthentication?.(),Me(e.session),e.client.clear(),e.root.unmount(),e.style.remove()}function Sr(e){let t;e.unsubscribeAuthentication=fe(e.session.auth,()=>{let n=N(e.session.auth);if(n.status===`error`)e.client.clear(),e.revision++;else if(n.status===`ready`){let r=ce(n.currentUser,e.session.auth.session.cached.tenantAdmin);t!==void 0&&t!==r&&(e.session.abortController.abort(),e.session.abortController=new AbortController,e.session.identity=void 0,e.client.clear(),e.revision++),t=r}Q(e)}),e.stopAuthentication=I(e.session.auth)}export{xr as disposeListing,yr as refreshListing,vr as renderListing,$ as resetListing,br as updateListing};
|
package/dist/react.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { _t as TenantUserRecordEncoded, mt as TenantRecordEncoded } from "./index-CfGnT6Od.js";
|
|
2
|
+
import { D as AstralBeamChatState, E as AstralBeamChatCoreOptions, G as AstralBeamTokenSource$1, T as AstralBeamChatCore, U as AstralBeamChatColorScheme$1, W as AstralBeamChatTheme$1 } from "./index-NT05_Yw_.js";
|
|
3
3
|
import { CSSProperties, ReactNode } from "react";
|
|
4
|
-
import { AstralBeamChatAttachmentOptions, AstralBeamChatColorScheme, AstralBeamChatTheme, AstralBeamTenantListHandle as AstralBeamTenantListHandle$1, AstralBeamTenantUserListHandle as AstralBeamTenantUserListHandle$1, AstralBeamTokenRequest, AstralBeamTokenSource, InferParameters, JsonSchemaObject, MountAstralBeamChatOptions, MountAstralBeamTenantListOptions, MountAstralBeamTenantUserListOptions, ParametersSchema, ToolDefinition, WidgetDefinition as WidgetDefinition$1, defineTool } from "@astralbeam/sdk/client";
|
|
4
|
+
import { AstralBeamChatAttachmentOptions, AstralBeamChatColorScheme, AstralBeamChatTheme, AstralBeamTenantListHandle as AstralBeamTenantListHandle$1, AstralBeamTenantUserListHandle as AstralBeamTenantUserListHandle$1, AstralBeamThreadListHandle as AstralBeamThreadListHandle$1, AstralBeamTokenRequest, AstralBeamTokenSource, InferParameters, JsonSchemaObject, MountAstralBeamChatOptions, MountAstralBeamTenantListOptions, MountAstralBeamTenantUserListOptions, MountAstralBeamThreadListOptions, ParametersSchema, ToolDefinition, WidgetDefinition as WidgetDefinition$1, defineTool } from "@astralbeam/sdk/client";
|
|
5
5
|
|
|
6
6
|
//#region src/react/listings.d.ts
|
|
7
7
|
type ContainerProps = {
|
|
@@ -12,6 +12,8 @@ type AstralBeamTenantListProps = MountAstralBeamTenantListOptions & ContainerPro
|
|
|
12
12
|
type AstralBeamTenantUserListProps = MountAstralBeamTenantUserListOptions & ContainerProps;
|
|
13
13
|
declare const AstralBeamTenantList: import("react").ForwardRefExoticComponent<MountAstralBeamTenantListOptions & ContainerProps & import("react").RefAttributes<AstralBeamTenantListHandle$1>>;
|
|
14
14
|
declare const AstralBeamTenantUserList: import("react").ForwardRefExoticComponent<MountAstralBeamTenantUserListOptions & ContainerProps & import("react").RefAttributes<AstralBeamTenantUserListHandle$1>>;
|
|
15
|
+
type AstralBeamThreadListProps = MountAstralBeamThreadListOptions & ContainerProps;
|
|
16
|
+
declare const AstralBeamThreadList: import("react").ForwardRefExoticComponent<MountAstralBeamThreadListOptions & ContainerProps & import("react").RefAttributes<AstralBeamThreadListHandle$1>>;
|
|
15
17
|
//#endregion
|
|
16
18
|
//#region src/core/listings.d.ts
|
|
17
19
|
interface AstralBeamListingCoreOptions {
|
|
@@ -48,6 +50,10 @@ interface MountAstralBeamTenantUserListOptions$1 extends AstralBeamListingOption
|
|
|
48
50
|
showAdmin?: boolean | undefined;
|
|
49
51
|
onTenantUserSelect?: ((user: TenantUserRecordEncoded) => void) | undefined;
|
|
50
52
|
}
|
|
53
|
+
interface MountAstralBeamThreadListOptions$1 extends AstralBeamListingOptions {
|
|
54
|
+
onTenantChange?: ((tenant: TenantRecordEncoded | null) => void) | undefined;
|
|
55
|
+
}
|
|
56
|
+
type AstralBeamThreadListHandle = AstralBeamListingHandle<MountAstralBeamThreadListOptions$1>;
|
|
51
57
|
interface AstralBeamListingHandle<T extends AstralBeamListingOptions = AstralBeamListingOptions> {
|
|
52
58
|
update(options: Partial<T>): void;
|
|
53
59
|
refresh(): void;
|
|
@@ -77,7 +83,7 @@ interface UseAstralBeamChatResult extends AstralBeamChatState {
|
|
|
77
83
|
stop: () => void;
|
|
78
84
|
reload: () => Promise<void>;
|
|
79
85
|
reset: () => void;
|
|
80
|
-
/**
|
|
86
|
+
/** Conversation management and the full headless session. */
|
|
81
87
|
core: AstralBeamChatCore;
|
|
82
88
|
}
|
|
83
89
|
/**
|
|
@@ -102,8 +108,10 @@ interface AstralBeamChatRef {
|
|
|
102
108
|
interface AstralBeamChatProps extends Omit<MountAstralBeamChatOptions, "widgets" | "slots"> {
|
|
103
109
|
/** Host-defined widgets the agent can render inline in the conversation, keyed by identifier. */
|
|
104
110
|
widgets?: Record<string, WidgetDefinition> | undefined;
|
|
105
|
-
/** Replaces the header's
|
|
111
|
+
/** Replaces the header's title with the host's own React content; `showHeader` still applies. */
|
|
106
112
|
header?: ReactNode;
|
|
113
|
+
/** Extra host controls at the end of the header, after the history and new chat buttons. */
|
|
114
|
+
headerActions?: ReactNode;
|
|
107
115
|
/** Replaces the empty-transcript state with the host's own React content. */
|
|
108
116
|
empty?: ReactNode;
|
|
109
117
|
/** Extra host controls at the end of the composer's button row, next to send. */
|
|
@@ -111,4 +119,4 @@ interface AstralBeamChatProps extends Omit<MountAstralBeamChatOptions, "widgets"
|
|
|
111
119
|
}
|
|
112
120
|
declare const AstralBeamChat: import("react").ForwardRefExoticComponent<AstralBeamChatProps & import("react").RefAttributes<AstralBeamChatRef>>;
|
|
113
121
|
//#endregion
|
|
114
|
-
export { AstralBeamChat, type AstralBeamChatAttachmentOptions, type AstralBeamChatColorScheme, type AstralBeamChatCore, type AstralBeamChatCoreOptions, AstralBeamChatProps, AstralBeamChatRef, type AstralBeamChatState, type AstralBeamChatTheme, AstralBeamTenantList, type AstralBeamTenantListHandle, type AstralBeamTenantListProps, AstralBeamTenantUserList, type AstralBeamTenantUserListHandle, type AstralBeamTenantUserListProps, type AstralBeamTokenRequest, type AstralBeamTokenSource, type InferParameters, type ParametersSchema, type ToolDefinition, TypedReactWidgetDefinition, UseAstralBeamChatResult, WidgetDefinition, defineTool, defineWidget, useAstralBeamChat };
|
|
122
|
+
export { AstralBeamChat, type AstralBeamChatAttachmentOptions, type AstralBeamChatColorScheme, type AstralBeamChatCore, type AstralBeamChatCoreOptions, AstralBeamChatProps, AstralBeamChatRef, type AstralBeamChatState, type AstralBeamChatTheme, AstralBeamTenantList, type AstralBeamTenantListHandle, type AstralBeamTenantListProps, AstralBeamTenantUserList, type AstralBeamTenantUserListHandle, type AstralBeamTenantUserListProps, AstralBeamThreadList, type AstralBeamThreadListHandle, type AstralBeamThreadListProps, type AstralBeamTokenRequest, type AstralBeamTokenSource, type InferParameters, type ParametersSchema, type ToolDefinition, TypedReactWidgetDefinition, UseAstralBeamChatResult, WidgetDefinition, defineTool, defineWidget, useAstralBeamChat };
|
package/dist/react.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as CORE_OPTION_KEYS, r as createAstralBeamChat } from "./core-
|
|
2
|
-
import {
|
|
1
|
+
import { n as CORE_OPTION_KEYS, r as createAstralBeamChat } from "./core-DeMY6_wQ.js";
|
|
2
|
+
import { Dt as DEFAULT_COLOR_SCHEME } from "./api-BaIPbj-Q.js";
|
|
3
3
|
import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { defineTool, mountAstralBeamChat, mountAstralBeamTenantList, mountAstralBeamTenantUserList } from "@astralbeam/sdk/client";
|
|
5
|
+
import { defineTool, mountAstralBeamChat, mountAstralBeamTenantList, mountAstralBeamTenantUserList, mountAstralBeamThreadList } from "@astralbeam/sdk/client";
|
|
6
6
|
import { createPortal } from "react-dom";
|
|
7
7
|
//#region src/react/listings.tsx
|
|
8
8
|
const AstralBeamTenantList = forwardRef(function AstralBeamTenantList({ className, style, ...options }, ref) {
|
|
@@ -19,6 +19,13 @@ const AstralBeamTenantUserList = forwardRef(function AstralBeamTenantUserList({
|
|
|
19
19
|
style
|
|
20
20
|
});
|
|
21
21
|
});
|
|
22
|
+
const AstralBeamThreadList = forwardRef(function AstralBeamThreadList({ className, style, ...options }, ref) {
|
|
23
|
+
return /* @__PURE__ */ jsx("div", {
|
|
24
|
+
ref: useListingMount(mountAstralBeamThreadList, options, ref),
|
|
25
|
+
className,
|
|
26
|
+
style
|
|
27
|
+
});
|
|
28
|
+
});
|
|
22
29
|
function useListingMount(mount, options, ref) {
|
|
23
30
|
const target = useRef(null);
|
|
24
31
|
const handle = useRef(null);
|
|
@@ -117,7 +124,7 @@ function useAstralBeamChat(options) {
|
|
|
117
124
|
core
|
|
118
125
|
};
|
|
119
126
|
}
|
|
120
|
-
const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, title, showHeader, header, empty, composerActions,
|
|
127
|
+
const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, threadId, title, showHeader, showConversationTitle, header, headerActions, empty, composerActions, emptyHeadline, emptyDescription, apiUrl, fetchAstralBeamToken, tools, widgets = {}, colorScheme = DEFAULT_COLOR_SCHEME, theme, customCss, attachments, sandboxPanel, debug }, ref) {
|
|
121
128
|
const targetRef = useRef(null);
|
|
122
129
|
const handleRef = useRef(null);
|
|
123
130
|
const [activeRenders, setActiveRenders] = useState(/* @__PURE__ */ new Map());
|
|
@@ -162,6 +169,7 @@ const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, title, show
|
|
|
162
169
|
}])), [widgets]);
|
|
163
170
|
const [chromeContainers, setChromeContainers] = useState(/* @__PURE__ */ new Map());
|
|
164
171
|
const hasHeader = header !== void 0;
|
|
172
|
+
const hasHeaderActions = headerActions !== void 0;
|
|
165
173
|
const hasEmpty = empty !== void 0;
|
|
166
174
|
const hasComposerActions = composerActions !== void 0;
|
|
167
175
|
const chromeSlots = useMemo(() => {
|
|
@@ -177,21 +185,25 @@ const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, title, show
|
|
|
177
185
|
};
|
|
178
186
|
return {
|
|
179
187
|
...hasHeader ? { header: build("header") } : {},
|
|
188
|
+
...hasHeaderActions ? { headerActions: build("headerActions") } : {},
|
|
180
189
|
...hasEmpty ? { empty: build("empty") } : {},
|
|
181
190
|
...hasComposerActions ? { composerActions: build("composerActions") } : {}
|
|
182
191
|
};
|
|
183
192
|
}, [
|
|
184
193
|
hasHeader,
|
|
194
|
+
hasHeaderActions,
|
|
185
195
|
hasEmpty,
|
|
186
196
|
hasComposerActions
|
|
187
197
|
]);
|
|
188
198
|
const live = useMemo(() => ({
|
|
189
199
|
agentId,
|
|
200
|
+
threadId,
|
|
190
201
|
apiUrl,
|
|
191
202
|
fetchAstralBeamToken,
|
|
192
203
|
title,
|
|
193
204
|
showHeader,
|
|
194
|
-
|
|
205
|
+
showConversationTitle,
|
|
206
|
+
emptyHeadline,
|
|
195
207
|
emptyDescription,
|
|
196
208
|
colorScheme,
|
|
197
209
|
theme,
|
|
@@ -204,11 +216,13 @@ const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, title, show
|
|
|
204
216
|
slots: chromeSlots
|
|
205
217
|
}), [
|
|
206
218
|
agentId,
|
|
219
|
+
threadId,
|
|
207
220
|
apiUrl,
|
|
208
221
|
fetchAstralBeamToken,
|
|
209
222
|
title,
|
|
210
223
|
showHeader,
|
|
211
|
-
|
|
224
|
+
showConversationTitle,
|
|
225
|
+
emptyHeadline,
|
|
212
226
|
emptyDescription,
|
|
213
227
|
colorScheme,
|
|
214
228
|
theme,
|
|
@@ -238,6 +252,7 @@ const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, title, show
|
|
|
238
252
|
}, [live]);
|
|
239
253
|
const chromeContent = {
|
|
240
254
|
header,
|
|
255
|
+
headerActions,
|
|
241
256
|
empty,
|
|
242
257
|
composerActions
|
|
243
258
|
};
|
|
@@ -251,4 +266,4 @@ const AstralBeamChat = forwardRef(function AstralBeamChat({ agentId, title, show
|
|
|
251
266
|
});
|
|
252
267
|
});
|
|
253
268
|
//#endregion
|
|
254
|
-
export { AstralBeamChat, AstralBeamTenantList, AstralBeamTenantUserList, defineTool, defineWidget, useAstralBeamChat };
|
|
269
|
+
export { AstralBeamChat, AstralBeamTenantList, AstralBeamTenantUserList, AstralBeamThreadList, defineTool, defineWidget, useAstralBeamChat };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));export{s as n,l as r,o as t};
|
package/dist/server.d.ts
CHANGED
|
@@ -29,6 +29,11 @@ interface CreateAstralBeamTokenOptions<TTenantUser extends TenantUser = TenantUs
|
|
|
29
29
|
readonly apiKey: string;
|
|
30
30
|
readonly user: TTenantUser;
|
|
31
31
|
readonly tenant: TTenant;
|
|
32
|
+
/**
|
|
33
|
+
* IDs of usage limits to apply beyond the Organization's defaults, copied from the dashboard's
|
|
34
|
+
* Usage Limits page, such as the limits of the tenant's plan.
|
|
35
|
+
*/
|
|
36
|
+
readonly usageLimits?: readonly string[] | undefined;
|
|
32
37
|
readonly expiresInSeconds?: number | undefined;
|
|
33
38
|
}
|
|
34
39
|
interface CreateAstralBeamOrganizationTokenOptions {
|
|
@@ -50,6 +55,7 @@ declare function createAstralBeamToken<TTenantUser extends TenantUser = TenantUs
|
|
|
50
55
|
apiKey,
|
|
51
56
|
user,
|
|
52
57
|
tenant,
|
|
58
|
+
usageLimits,
|
|
53
59
|
expiresInSeconds
|
|
54
60
|
}: CreateAstralBeamTokenOptions<TTenantUser, TTenant>): Promise<string>;
|
|
55
61
|
//#endregion
|
package/dist/server.js
CHANGED
|
@@ -531,6 +531,8 @@ const CHAT_AUTH_TOKEN_MAX_BYTES = 16384;
|
|
|
531
531
|
const IDENTITY_MAX_BYTES = 8192;
|
|
532
532
|
const EXTERNAL_ID_MAX_LENGTH = 255;
|
|
533
533
|
const API_KEY_PATTERN = /^key_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}_abo_[A-Za-z]{64}$/;
|
|
534
|
+
const USAGE_LIMIT_ID_PATTERN = /^limit_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
535
|
+
const USAGE_LIMITS_MAX = 20;
|
|
534
536
|
const TENANT_FIELDS = [
|
|
535
537
|
"id",
|
|
536
538
|
"name",
|
|
@@ -607,15 +609,17 @@ async function createAstralBeamOrganizationToken({ apiKey, email, organizationId
|
|
|
607
609
|
}).setIssuer(organizationId).setAudience(CHAT_AUTH_TOKEN_AUDIENCE).setIssuedAt(now).setExpirationTime(now + expiresInSeconds).sign(await signingKey(keySecret));
|
|
608
610
|
}
|
|
609
611
|
/** Creates the short-lived bearer token returned by an application's server auth endpoint. */
|
|
610
|
-
async function createAstralBeamToken({ apiKey, user, tenant, expiresInSeconds = 300 }) {
|
|
612
|
+
async function createAstralBeamToken({ apiKey, user, tenant, usageLimits, expiresInSeconds = 300 }) {
|
|
611
613
|
if (!Number.isInteger(expiresInSeconds) || expiresInSeconds < 60 || expiresInSeconds > 600) throw new Error("chat auth tokens must live for 60-600 seconds");
|
|
612
614
|
const { keyId, organizationId, keySecret } = parseApiKey(apiKey);
|
|
613
615
|
const identity = validatedIdentity(user, tenant);
|
|
616
|
+
if (usageLimits !== void 0 && (!Array.isArray(usageLimits) || usageLimits.length > USAGE_LIMITS_MAX || !usageLimits.every((id) => typeof id === "string" && USAGE_LIMIT_ID_PATTERN.test(id)))) throw new Error(`usageLimits must list at most ${USAGE_LIMITS_MAX} IDs of the form limit_<organizationId>_<id>`);
|
|
614
617
|
const now = Math.floor(Date.now() / 1e3);
|
|
615
618
|
const token = await new SignJWT({
|
|
616
619
|
ver: 4,
|
|
617
620
|
user: identity.user,
|
|
618
|
-
tenant: identity.tenant
|
|
621
|
+
tenant: identity.tenant,
|
|
622
|
+
...usageLimits?.length ? { usage_limits: [...new Set(usageLimits)] } : {}
|
|
619
623
|
}).setProtectedHeader({
|
|
620
624
|
alg: "HS256",
|
|
621
625
|
typ: CHAT_AUTH_TOKEN_TYPE,
|