@llmops/app 0.1.9-beta.2 → 0.1.9-beta.3

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 (82) hide show
  1. package/dist/.vite/manifest.json +247 -234
  2. package/dist/assets/{Form-DHA5ZPmK.js → Form-fXs-w-b6.js} +1 -1
  3. package/dist/assets/{_environment-Bj632BW3.js → _environment-DkZxpUZW.js} +1 -1
  4. package/dist/assets/{_observability-Bsw31e8i.js → _observability-DucqGw6J.js} +1 -1
  5. package/dist/assets/{_settings-MuCcKpRb.js → _settings-B0oWGVOI.js} +1 -1
  6. package/dist/assets/{_tabs-DR5WY23M.js → _tabs-XPskG5BV.js} +1 -1
  7. package/dist/assets/{_tabs-Osf37WI9.js → _tabs-l_WcSU34.js} +1 -1
  8. package/dist/assets/{_variant-DGrwitKk.js → _variant-cyl_T8nq.js} +2 -2
  9. package/dist/assets/{_variants-C7fc4T8_.js → _variants-DDjQP5B5.js} +1 -1
  10. package/dist/assets/{area.css-ByjMFuMe.js → area.css-8bGV0Wh5.js} +1 -1
  11. package/dist/assets/{auth-BkNQi67-.css → auth-Bfx1NO3t.css} +1 -1
  12. package/dist/assets/auth.css-BDoBtiJB.js +1 -0
  13. package/dist/assets/{button-J5fxAIyE.js → button-DDhJq-L6.js} +1 -1
  14. package/dist/assets/check-DvbTr54e.js +1 -0
  15. package/dist/assets/{chevron-right-CcvZen9O.js → chevron-right-DA7FQ2qw.js} +1 -1
  16. package/dist/assets/{combobox-BKEpKROu.js → combobox-CjbjxFqD.js} +1 -1
  17. package/dist/assets/configs-gPGVjTgz.js +1 -0
  18. package/dist/assets/configs.css-COw5H-LP.js +1 -0
  19. package/dist/assets/{copy-Btrg1ewH.js → copy-Bjw1BTPa.js} +1 -1
  20. package/dist/assets/{costs-C0sD1amq.js → costs-CnsDXzTB.js} +1 -1
  21. package/dist/assets/environments-BP-yzFFL.js +1 -0
  22. package/dist/assets/{index-CPQ3xdGh.js → index-637AY5W4.js} +1 -1
  23. package/dist/assets/{index-CQALuvff.js → index-BQvbFZ2Z.js} +1 -1
  24. package/dist/assets/{index-C1Qc7Z7W.js → index-C1GAAuuB.js} +3 -3
  25. package/dist/assets/{index-CPokRl9v.js → index-DMuCuu3r.js} +1 -1
  26. package/dist/assets/{index-C8Gwa2Ui.js → index-Du5pXKPU.js} +1 -1
  27. package/dist/assets/{index-CAScpK2G.js → index-YKFnNrXU.js} +1 -1
  28. package/dist/assets/{index-ChLdrp-m.js → index-dtYN2o64.js} +1 -1
  29. package/dist/assets/index.esm-DUbnTPhz.js +1 -0
  30. package/dist/assets/info-box.css-C1JWFCTd.js +1 -0
  31. package/dist/assets/{logo.css-BHDDnlVa.js → logo.css-B2de-jAQ.js} +1 -1
  32. package/dist/assets/new-config-state.css-aStG8KhH.js +1 -0
  33. package/dist/assets/{observability.css-D5kKsJ4z.js → observability.css-C_Aa2F2H.js} +1 -1
  34. package/dist/assets/{overview-Czui5UTZ.js → overview-BSx0-Qqg.js} +1 -1
  35. package/dist/assets/{plus-DqiZvCBU.js → plus-CjmXsVKb.js} +1 -1
  36. package/dist/assets/{popover-BndR7yWD.js → popover-P4IV3VUf.js} +1 -1
  37. package/dist/assets/{requests-DrSJLtrE.js → requests-BENwLp67.js} +1 -1
  38. package/dist/assets/{route-CqIm0KnA.js → route-BrjSXCFH.js} +1 -1
  39. package/dist/assets/{route-7Tn2yELm.js → route-CeMFks3n.js} +1 -1
  40. package/dist/assets/{route-DwYQMwtZ.js → route-CeZ9miGd.js} +1 -1
  41. package/dist/assets/{route-22shZRiS.js → route-DKly2WWW.js} +1 -1
  42. package/dist/assets/{route-D_QnUz7-.js → route-qxKjCNPP.js} +1 -1
  43. package/dist/assets/{secrets-DnWQ2F0V.js → secrets-dy4eEm6A.js} +1 -1
  44. package/dist/assets/{settings-sisslKb5.js → settings-C2PKDTZG.js} +1 -1
  45. package/dist/assets/{settings-c6c9IYPa.js → settings-D7sHpMHC.js} +1 -1
  46. package/dist/assets/setup-cL-72S-f.js +1 -0
  47. package/dist/assets/signin-CaJnFckD.js +1 -0
  48. package/dist/assets/{table-jMzD3FNy.js → table-D2hnxwJq.js} +1 -1
  49. package/dist/assets/{tabs.css-CkcP1Ksc.js → tabs.css-9XvybJUs.js} +1 -1
  50. package/dist/assets/{targeting-CaE84Lx8.js → targeting-C_O6OVPB.js} +1 -1
  51. package/dist/assets/{tooltip-BiUUXiGj.js → tooltip-Bg2c3BWd.js} +1 -1
  52. package/dist/assets/update-or-create-name-9_6vfLYV.js +1 -0
  53. package/dist/assets/{useAnalytics-CHDelHQa.js → useAnalytics-Dv2ZSdou.js} +1 -1
  54. package/dist/assets/{useConfigList-Bx9xKceA.js → useConfigList-D6zhicgA.js} +1 -1
  55. package/dist/assets/{useConfigVariants-CB0S5gfJ.js → useConfigVariants-EI_chlab.js} +1 -1
  56. package/dist/assets/{useEnvironments-DILRhv_b.js → useEnvironments-CBp-yKtp.js} +1 -1
  57. package/dist/assets/{useMutation-CNzYa4ST.js → useMutation-D2fU9JIS.js} +1 -1
  58. package/dist/assets/{usePopupAutoResize-CaO9EPHk.js → usePopupAutoResize-B3p1u_79.js} +1 -1
  59. package/dist/assets/{useSetTargeting-DY3jI95T.js → useSetTargeting-7yLQdMET.js} +1 -1
  60. package/dist/assets/{useTargetingRules-D10mXxut.js → useTargetingRules-BAu_OWCc.js} +1 -1
  61. package/dist/assets/{useValueChanged-8LsiEynk.js → useValueChanged-CK07Uvhl.js} +1 -1
  62. package/dist/assets/user-profile-SPbzjU9i.js +1 -0
  63. package/dist/assets/variants-C-X24aUk.js +1 -0
  64. package/dist/assets/variants.css-CkHnBojx.js +1 -0
  65. package/dist/assets/{workspace-general-dH65Sm8D.js → workspace-general-CdvvKVFP.js} +1 -1
  66. package/dist/index.cjs +13 -4
  67. package/dist/index.mjs +14 -5
  68. package/package.json +3 -3
  69. package/dist/assets/auth.css-CbKu-iME.js +0 -1
  70. package/dist/assets/check-BdOT-uCr.js +0 -1
  71. package/dist/assets/configs-BEKTOPIS.js +0 -1
  72. package/dist/assets/environments-CZ6PX9PA.js +0 -1
  73. package/dist/assets/index.esm-BVbruXk6.js +0 -1
  74. package/dist/assets/info-box.css-BzqwxgQm.js +0 -1
  75. package/dist/assets/new-config-state.css-DccH1TI0.js +0 -1
  76. package/dist/assets/setup-G_oS-RU-.js +0 -1
  77. package/dist/assets/signin-B-qadLup.js +0 -1
  78. package/dist/assets/update-or-create-name-DGt2MGEI.js +0 -1
  79. package/dist/assets/user-profile-8xq1f7_D.js +0 -1
  80. package/dist/assets/variants-rQQlpgeF.js +0 -1
  81. package/dist/assets/variants.css-Dzb38Nu1.js +0 -1
  82. /package/dist/assets/{index-_Qxo3N29.css → configs-_Qxo3N29.css} +0 -0
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Hono } from "hono";
2
- import { SupportedProviders, createDataLayer, generateId, getAuthClientOptions, logger, validateLLMOpsConfig, variantJsonDataSchema } from "@llmops/core";
2
+ import { SupportedProviders, createDataLayer, createWorkspaceSettingsDataLayer, generateId, getAuthClientOptions, logger, validateLLMOpsConfig, variantJsonDataSchema } from "@llmops/core";
3
3
  import reactServer from "react-dom/server";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  import { fileURLToPath } from "node:url";
@@ -37,7 +37,7 @@ var __export = (all, symbols) => {
37
37
 
38
38
  //#endregion
39
39
  //#region src/client/index.tsx?url
40
- var client_default = "/assets/index-C1Qc7Z7W.js";
40
+ var client_default = "/assets/index-C1GAAuuB.js";
41
41
 
42
42
  //#endregion
43
43
  //#region src/client/styles/styles.css?url
@@ -14428,7 +14428,7 @@ app.use("/assets/*", serveStatic({
14428
14428
  if (!c.req.path.startsWith("/api")) {
14429
14429
  const basePath = c.var.llmopsConfig?.basePath || "";
14430
14430
  const llmProviders = c.var.llmProviders || [];
14431
- const authType = c.var.llmopsConfig?.auth?.type || "basic";
14431
+ const authType = "better-auth";
14432
14432
  const setupComplete = c.var.setupComplete ?? false;
14433
14433
  return c.html(renderer({
14434
14434
  basePath,
@@ -14564,9 +14564,18 @@ const createMigrationMiddleware = (config$1) => {
14564
14564
  */
14565
14565
  const createAuthClientMiddleware = () => {
14566
14566
  return async (c, next) => {
14567
+ const kyselyDb = c.get("kyselyDb");
14568
+ const dbType = c.get("dbType");
14569
+ const workspaceSettings = createWorkspaceSettingsDataLayer(kyselyDb);
14567
14570
  const authClient = betterAuth(getAuthClientOptions({
14568
- db: c.get("kyselyDb"),
14569
- type: c.get("dbType")
14571
+ database: {
14572
+ db: kyselyDb,
14573
+ type: dbType
14574
+ },
14575
+ onUserCreated: async (userId) => {
14576
+ await workspaceSettings.setSuperAdminId(userId);
14577
+ await workspaceSettings.markSetupComplete();
14578
+ }
14570
14579
  }));
14571
14580
  c.set("authClient", authClient);
14572
14581
  await next();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmops/app",
3
- "version": "0.1.9-beta.2",
3
+ "version": "0.1.9-beta.3",
4
4
  "description": "LLMOps application with server and client",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -66,8 +66,8 @@
66
66
  "react-aria-components": "^1.13.0",
67
67
  "react-hook-form": "^7.68.0",
68
68
  "recharts": "^3.6.0",
69
- "@llmops/core": "^0.1.9-beta.2",
70
- "@llmops/gateway": "^0.1.9-beta.2"
69
+ "@llmops/core": "^0.1.9-beta.3",
70
+ "@llmops/gateway": "^0.1.9-beta.3"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "react": "^19.2.1",
@@ -1 +0,0 @@
1
- import"./index-C1Qc7Z7W.js";var r="_1trl7bi0",t="_1trl7bi1",i="_1trl7bi2",l="_1trl7bi4",b="_1trl7bi5",_="_1trl7bi6",s="_1trl7bi7",v="_1trl7bi9 _1trl7bi8 _1lg22bkw0",e="_1trl7bia",h="_1trl7bib",o="_1trl7bic",u="_1trl7bid",n="_1trl7bie",d="_1trl7bif",f="_1trl7bih",g="_1trl7bii";export{r as a,i as b,s as c,v as d,e,_ as f,h as g,o as h,u as i,n as j,d as k,t as l,f as m,g as n,l as r,b as t};
@@ -1 +0,0 @@
1
- import{s as c}from"./index-C1Qc7Z7W.js";const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],t=c("check",e);export{t as C};
@@ -1 +0,0 @@
1
- import{s as J,c as D,j as s,r as w,g as B,m as L,n as z,t as Y,k as G,v as Z,I as H,f as ee,e as te,h as P,L as se,O as ae}from"./index-C1Qc7Z7W.js";import{U as ie,X as ne,u as oe,l as le,r as ce,t as re}from"./update-or-create-name-DGt2MGEI.js";import{w as q,b as de,C as me,c as A,B as fe,h as O,H as ue,a as ge,g as pe}from"./area.css-ByjMFuMe.js";import{c as he,u as Ce,g as xe,a as je,b as ye,d as be,f as Q}from"./index-CAScpK2G.js";import{T as ve,a as Se,b as U,c as we,d as Ne,e as Te}from"./table-jMzD3FNy.js";import{u as Re,q as W}from"./useConfigList-Bx9xKceA.js";import{f as _e}from"./formatDistance-Bok3-MB1.js";import{B as E}from"./button-J5fxAIyE.js";import{c as De,a as ke,b as $e,d as Me,h as K}from"./index.esm-BVbruXk6.js";import{u as X}from"./useMutation-CNzYa4ST.js";import{C as Fe}from"./check-BdOT-uCr.js";import{C as He}from"./copy-Btrg1ewH.js";import{C as Be}from"./chevron-right-CcvZen9O.js";import{P as Ie}from"./plus-DqiZvCBU.js";/* empty css */import"./tooltip-BiUUXiGj.js";import"./usePopupAutoResize-CaO9EPHk.js";import"./en-US-C8ut0f5H.js";/* empty css */const Ee=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Le=J("arrow-left",Ee);var ze="_1xwfgwi0",Pe="_1xwfgwi1",qe="_1xwfgwi2";const Ae=()=>{const e=D.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx("div",{className:ze,children:s.jsx("div",{className:Pe,children:s.jsx("h2",{className:qe,children:"No configs yet. Create your first config to get started."})})}),e[0]=t):t=e[0],t},V=he();function Oe(){const[e,t]=w.useState([]),[a,n]=w.useState([]),[i,r]=w.useState(""),u=B(),{id:c}=L({strict:!1}),{data:p}=Re(),h=z(),C=w.useCallback(o=>{h.prefetchQuery(Y(o))},[h]),b=w.useMemo(()=>[V.accessor("name",{header:"Name",cell:o=>o.getValue()}),V.accessor("createdAt",{header:"Creation Date",cell:o=>_e(new Date(o.getValue()),new Date,{addSuffix:!0})})],[]),g=Ce({data:p||[],columns:b,state:{sorting:e,columnFilters:a,globalFilter:i},onSortingChange:t,onColumnFiltersChange:n,onGlobalFilterChange:r,getCoreRowModel:be(),getFilteredRowModel:ye(),getSortedRowModel:je(),getPaginationRowModel:xe(),initialState:{pagination:{pageSize:100}}});return!p||p.length===0?s.jsx(Ae,{}):s.jsx("div",{children:s.jsxs(ve,{children:[s.jsx(Se,{children:g.getHeaderGroups().map(o=>s.jsx(U,{children:o.headers.map(l=>{const d=l.column.getIsSorted();return s.jsx(we,{sortable:l.column.getCanSort(),onClick:l.column.getToggleSortingHandler(),sortDirection:d==="asc"?"asc":d==="desc"?"desc":null,children:l.isPlaceholder?null:Q(l.column.columnDef.header,l.getContext())},l.id)})},o.id))}),s.jsx(Ne,{children:g.getRowModel().rows.map(o=>s.jsx(U,{interactive:!0,selected:o.original.id===c,onMouseEnter:()=>C(o.original.id),onClick:()=>u({to:"/configs/$id",params:{id:o.original.id}}),children:o.getVisibleCells().map(l=>s.jsx(Te,{children:Q(l.column.columnDef.cell,l.getContext())},l.id))},o.id))})]})})}const Qe=()=>{const e=D.c(3),t=B(),a=z();let n;return e[0]!==t||e[1]!==a?(n={mutationFn:Ue,onSuccess:async i=>{await a.invalidateQueries({queryKey:W}),i?.id&&t({to:"/configs/$id",params:{id:i?.id}})}},e[0]=t,e[1]=a,e[2]=n):n=e[2],X(n)};async function Ue(e){const a=await(await G.v1.configs.$post({json:{name:e.name}})).json();return"data"in a?a.data:void 0}const Ve=()=>{const e=D.c(2),t=z();let a;return e[0]!==t?(a={mutationFn:Ge,onSuccess:()=>{t.invalidateQueries({queryKey:W})}},e[0]=t,e[1]=a):a=e[1],X(a)};async function Ge(e){const a=await(await G.v1.configs[":id"].$patch({param:{id:e.id},json:{name:e.name}})).json();return"data"in a?a.data:void 0}const We=e=>{const t=D.c(6),{id:a,config:n,disabled:i}=e,{mutateAsync:r}=Qe(),{mutateAsync:u}=Ve();let c;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==u?(c=s.jsx(ie,{id:a,entity:n,placeholder:"Config Name",onCreate:r,onUpdate:u,disabled:i}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=u,t[5]=c):c=t[5],c},Ke=e=>{const t=D.c(25),{id:a}=e,n=B(),{data:i}=Z(a),[r,u]=w.useState(!1);let c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c={strict:!1},t[0]=c):c=t[0];const p=L(c),h="variant"in p,C="environment"in p,b=h||C;let g;t[1]!==a||t[2]!==C||t[3]!==h||t[4]!==n?(g=()=>{n(h?{to:"/configs/$id/variants",params:{id:a}}:C?{to:"/configs/$id/targeting",params:{id:a}}:{to:"/configs"})},t[1]=a,t[2]=C,t[3]=h,t[4]=n,t[5]=g):g=t[5];const o=g;let l;t[6]!==i?(l=async()=>{i?.slug&&(await navigator.clipboard.writeText(i.slug),u(!0),setTimeout(()=>u(!1),2e3))},t[6]=i,t[7]=l):l=t[7];const d=l,S=b?Le:ne;let m;t[8]!==S?(m=s.jsx(H,{icon:S}),t[8]=S,t[9]=m):m=t[9];let x;t[10]!==o||t[11]!==m?(x=s.jsx(E,{onClick:o,size:"icon",scheme:"gray",variant:"ghost",children:m}),t[10]=o,t[11]=m,t[12]=x):x=t[12];const v=i??void 0;let f;t[13]!==a||t[14]!==b||t[15]!==v?(f=s.jsx(We,{id:a,config:v,disabled:b},a),t[13]=a,t[14]=b,t[15]=v,t[16]=f):f=t[16];let j;t[17]!==r||t[18]!==i||t[19]!==d?(j=i?.slug&&s.jsxs("div",{className:De,children:[s.jsx("span",{className:ke,children:"Config Id"}),s.jsx("span",{className:$e,children:i.slug}),s.jsx("button",{type:"button",className:Me,onClick:d,"aria-label":"Copy config ID",children:r?s.jsx(Fe,{size:14}):s.jsx(He,{size:14})})]}),t[17]=r,t[18]=i,t[19]=d,t[20]=j):j=t[20];let y;return t[21]!==x||t[22]!==f||t[23]!==j?(y=s.jsxs("div",{className:K,children:[x,f,j]}),t[21]=x,t[22]=f,t[23]=j,t[24]=y):y=t[24],y};function Ct(){const e=D.c(40),{containerRef:t,setTileWidth:a}=oe();let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];const i=L(n),r=B(),u=ee(),{toggleSidebar:c}=te();let p;e[1]!==u?(p=u.filter(Je).map(Xe),e[1]=u,e[2]=p):p=e[2];const h=p;let C;e[3]!==r?(C=()=>{r({to:"/configs/$id",params:{id:"new"}})},e[3]=r,e[4]=C):C=e[4];const b=C;let g;e[5]!==i.id||e[6]!==a?(g=()=>{i?.id?a("25%"):a("100%")},e[5]=i.id,e[6]=a,e[7]=g):g=e[7];const o=i?.id;let l;e[8]!==o?(l=[o],e[8]=o,e[9]=l):l=e[9],w.useEffect(g,l);let d;e[10]!==c?(d=()=>{c()},e[10]=c,e[11]=d):d=e[11];let S;e[12]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx(H,{icon:me}),e[12]=S):S=e[12];let m;e[13]!==d?(m=s.jsx(E,{onClick:d,size:"icon",variant:"ghost",scheme:"gray",children:S}),e[13]=d,e[14]=m):m=e[14];let x;e[15]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(H,{icon:Be,className:A}),e[15]=x):x=e[15];let v;e[16]!==h?(v=s.jsx(fe,{items:h}),e[16]=h,e[17]=v):v=e[17];let f;e[18]!==v||e[19]!==m?(f=s.jsxs("div",{className:O,children:[m,x,v]}),e[18]=v,e[19]=m,e[20]=f):f=e[20];let j;e[21]===Symbol.for("react.memo_cache_sentinel")?(j=s.jsx(H,{icon:Ie,className:A}),e[21]=j):j=e[21];let y;e[22]!==b?(y=s.jsx("div",{className:O,children:s.jsxs(E,{variant:"outline",scheme:"gray",onClick:b,children:[j,"New Config"]})}),e[22]=b,e[23]=y):y=e[23];let N;e[24]!==f||e[25]!==y?(N=s.jsxs(ue,{className:ge,children:[f,y]}),e[24]=f,e[25]=y,e[26]=N):N=e[26];let k,$;e[27]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsxs("div",{className:P(q,le),children:[s.jsx("div",{className:K}),s.jsx(Oe,{})]}),$=P(q,ce),e[27]=k,e[28]=$):(k=e[27],$=e[28]);const I=i.id;let T;e[29]!==I?(T=s.jsx(Ke,{id:I}),e[29]=I,e[30]=T):T=e[30];let M;e[31]===Symbol.for("react.memo_cache_sentinel")?(M=s.jsx(ae,{}),e[31]=M):M=e[31];let R;e[32]!==T?(R=s.jsx("div",{className:$,children:s.jsxs("div",{children:[T,M]})}),e[32]=T,e[33]=R):R=e[33];let _;e[34]!==t||e[35]!==R?(_=s.jsx("div",{className:pe,children:s.jsxs("div",{ref:t,className:re,children:[k,R]})}),e[34]=t,e[35]=R,e[36]=_):_=e[36];let F;return e[37]!==N||e[38]!==_?(F=s.jsxs(s.Fragment,{children:[N,_]}),e[37]=N,e[38]=_,e[39]=F):F=e[39],F}function Xe(e){const t=e.loaderData?.title,a=e.staticData.customData?.title,n=t??a;return{key:e.id,label:s.jsx(se,{to:e.pathname,className:de,children:n}),prefix:e.staticData.customData?.icon}}function Je(e){return!!e.staticData.customData?.title||!!e.loaderData?.title}export{Ct as component};
@@ -1 +0,0 @@
1
- import{r as w,g as F,m as z,n as I,o as Y,j as n,c as R,k as L,p as X,I as k,e as J,f as Z,h as Q,L as ee,O as te}from"./index-C1Qc7Z7W.js";import{w as q,b as ne,C as se,c as A,B as oe,h as O,H as ae,a as ie,g as re}from"./area.css-ByjMFuMe.js";import{B}from"./button-J5fxAIyE.js";import{U as le,X as ce,u as me,l as de,r as ue,t as fe}from"./update-or-create-name-DGt2MGEI.js";import{c as ve,u as ge,f as U,g as pe,a as he,b as xe,d as je}from"./index-CAScpK2G.js";import{T as Ce,a as ye,b as V,c as be,d as Se,e as we}from"./table-jMzD3FNy.js";import{u as Ne,g as G}from"./useEnvironments-DILRhv_b.js";import{f as Re}from"./formatDistance-Bok3-MB1.js";import{h as K}from"./index.esm-BVbruXk6.js";import{u as W}from"./useMutation-CNzYa4ST.js";import{C as De}from"./chevron-right-CcvZen9O.js";import{P as Ee}from"./plus-DqiZvCBU.js";/* empty css */import"./tooltip-BiUUXiGj.js";import"./usePopupAutoResize-CaO9EPHk.js";import"./en-US-C8ut0f5H.js";/* empty css */const H=ve();function Te(){const[e,t]=w.useState([{id:"createdAt",desc:!1}]),[s,o]=w.useState([]),[l,i]=w.useState(""),{data:d}=Ne(),m=F(),{environment:r}=z({strict:!1}),u=I(),f=w.useCallback(a=>{u.prefetchQuery(Y(a))},[u]),N=w.useMemo(()=>[H.accessor("name",{header:"Name",cell:a=>a.row.original.isProd?`${a.getValue()} (this environment)`:a.getValue()}),H.accessor("isProd",{header:"Production",cell:a=>a.getValue()?"Yes":"No"}),H.accessor("createdAt",{header:"Creation Date",cell:a=>Re(new Date(a.getValue()),new Date,{addSuffix:!0})})],[]),g=ge({data:d||[],columns:N,state:{sorting:e,columnFilters:s,globalFilter:l},onSortingChange:t,onColumnFiltersChange:o,onGlobalFilterChange:i,getCoreRowModel:je(),getFilteredRowModel:xe(),getSortedRowModel:he(),getPaginationRowModel:pe(),initialState:{pagination:{pageSize:100}}});return n.jsx("div",{children:n.jsxs(Ce,{children:[n.jsx(ye,{children:g.getHeaderGroups().map(a=>n.jsx(V,{children:a.headers.map(c=>{const v=c.column.getIsSorted();return n.jsx(be,{sortable:c.column.getCanSort(),onClick:c.column.getToggleSortingHandler(),sortDirection:v==="asc"?"asc":v==="desc"?"desc":null,children:c.isPlaceholder?null:U(c.column.columnDef.header,c.getContext())},c.id)})},a.id))}),n.jsx(Se,{children:g.getRowModel().rows.map(a=>n.jsx(V,{interactive:!0,selected:a.original.id===r,onMouseEnter:()=>f(a.original.id),onClick:()=>m({to:"/environments/$environment",params:{environment:a.original.id}}),children:a.getVisibleCells().map(c=>n.jsx(we,{children:U(c.column.columnDef.cell,c.getContext())},c.id))},a.id))})]})})}const Pe=()=>{const e=R.c(3),t=F(),s=I();let o;return e[0]!==t||e[1]!==s?(o={mutationFn:$e,onSuccess:async l=>{await s.invalidateQueries({queryKey:G()}),l?.id&&t({to:"/environments/$environment",params:{environment:l?.id}})}},e[0]=t,e[1]=s,e[2]=o):o=e[2],W(o)};async function $e(e){const t=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),o=await(await L.v1.environments.$post({json:{name:e.name,slug:t,isProd:e.isProd}})).json();return"data"in o?o.data:void 0}const Me=()=>{const e=R.c(2),t=I();let s;return e[0]!==t?(s={mutationFn:_e,onSuccess:()=>{t.invalidateQueries({queryKey:G()})}},e[0]=t,e[1]=s):s=e[1],W(s)};async function _e(e){const s=await(await L.v1.environments[":id"].$patch({param:{id:e.id},json:{name:e.name}})).json();return"data"in s?s.data:void 0}const ke=e=>{const t=R.c(7),{id:s,environment:o}=e,{mutateAsync:l}=Pe(),{mutateAsync:i}=Me(),d=o?.isProd,m=o?.isProd?"You can't rename Production environment.":void 0;let r;return t[0]!==l||t[1]!==o||t[2]!==s||t[3]!==d||t[4]!==m||t[5]!==i?(r=n.jsx(le,{id:s,disabled:d,tooltip:m,entity:o,placeholder:"Environment Name",onCreate:l,onUpdate:i}),t[0]=l,t[1]=o,t[2]=s,t[3]=d,t[4]=m,t[5]=i,t[6]=r):r=t[6],r},Fe=e=>{const t=R.c(11),{id:s}=e,o=F(),{data:l}=X(s);let i;t[0]!==o?(i=()=>{o({to:"/environments"})},t[0]=o,t[1]=i):i=t[1];const d=i;let m;t[2]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(k,{icon:ce}),t[2]=m):m=t[2];let r;t[3]!==d?(r=n.jsx(B,{onClick:d,size:"icon",scheme:"gray",variant:"ghost",children:m}),t[3]=d,t[4]=r):r=t[4];let u;t[5]!==l||t[6]!==s?(u=s?n.jsx(ke,{id:s,environment:l??void 0},s):null,t[5]=l,t[6]=s,t[7]=u):u=t[7];let f;return t[8]!==r||t[9]!==u?(f=n.jsxs("div",{className:K,children:[r,u]}),t[8]=r,t[9]=u,t[10]=f):f=t[10],f};function tt(){const e=R.c(40),{toggleSidebar:t}=J(),{containerRef:s,setTileWidth:o}=me();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={strict:!1},e[0]=l):l=e[0];const i=z(l),d=Z(),m=F();let r;e[1]!==d?(r=d.filter(Be).map(He),e[1]=d,e[2]=r):r=e[2];const u=r;let f;e[3]!==m?(f=()=>{m({to:"/environments/$environment",params:{environment:"new"}})},e[3]=m,e[4]=f):f=e[4];const N=f;let g;e[5]!==i.environment||e[6]!==o?(g=()=>{i?.environment?o("25%"):o("100%")},e[5]=i.environment,e[6]=o,e[7]=g):g=e[7];const a=i?.environment;let c;e[8]!==a?(c=[a],e[8]=a,e[9]=c):c=e[9],w.useEffect(g,c);let v;e[10]!==t?(v=()=>{t()},e[10]=t,e[11]=v):v=e[11];let D;e[12]===Symbol.for("react.memo_cache_sentinel")?(D=n.jsx(k,{icon:se}),e[12]=D):D=e[12];let p;e[13]!==v?(p=n.jsx(B,{onClick:v,size:"icon",variant:"ghost",scheme:"gray",children:D}),e[13]=v,e[14]=p):p=e[14];let E;e[15]===Symbol.for("react.memo_cache_sentinel")?(E=n.jsx(k,{icon:De,className:A}),e[15]=E):E=e[15];let h;e[16]!==u?(h=n.jsx(oe,{items:u}),e[16]=u,e[17]=h):h=e[17];let x;e[18]!==h||e[19]!==p?(x=n.jsxs("div",{className:O,children:[p,E,h]}),e[18]=h,e[19]=p,e[20]=x):x=e[20];let T;e[21]===Symbol.for("react.memo_cache_sentinel")?(T=n.jsx(k,{icon:Ee,className:A}),e[21]=T):T=e[21];let j;e[22]!==N?(j=n.jsx("div",{className:O,children:n.jsxs(B,{variant:"outline",scheme:"gray",onClick:N,children:[T,"New Environment"]})}),e[22]=N,e[23]=j):j=e[23];let C;e[24]!==x||e[25]!==j?(C=n.jsxs(ae,{className:ie,children:[x,j]}),e[24]=x,e[25]=j,e[26]=C):C=e[26];let P,$;e[27]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsxs("div",{className:Q(q,de),children:[n.jsx("div",{className:K}),n.jsx(Te,{})]}),$=Q(q,ue),e[27]=P,e[28]=$):(P=e[27],$=e[28]);let y;e[29]!==i.environment?(y=n.jsx(Fe,{id:i.environment}),e[29]=i.environment,e[30]=y):y=e[30];let M;e[31]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx(te,{}),e[31]=M):M=e[31];let b;e[32]!==y?(b=n.jsx("div",{className:$,children:n.jsxs("div",{children:[y,M]})}),e[32]=y,e[33]=b):b=e[33];let S;e[34]!==s||e[35]!==b?(S=n.jsx("div",{className:re,children:n.jsxs("div",{ref:s,className:fe,children:[P,b]})}),e[34]=s,e[35]=b,e[36]=S):S=e[36];let _;return e[37]!==C||e[38]!==S?(_=n.jsxs(n.Fragment,{children:[C,S]}),e[37]=C,e[38]=S,e[39]=_):_=e[39],_}function He(e){const t=e.loaderData?.title,s=e.staticData.customData?.title,o=t??s;return{key:e.id,label:n.jsx(ee,{to:e.pathname,className:ne,children:o}),prefix:e.staticData.customData?.icon}}function Be(e){return!!e.staticData.customData?.title||!!e.loaderData?.title}export{tt as component};
@@ -1 +0,0 @@
1
- import{d as Ft,bE as D}from"./index-C1Qc7Z7W.js";/* empty css */Ft({defaultClassName:"_1krr3zc2 _1krr3zc1 _1lg22bks0 _1lg22bk3 _1lg22bkv0 _1lg22bkj9 _1lg22bkw0",variantClassNames:{},defaultVariants:{},compoundVariants:[]});var $t="_18qi14i0",Kt="_18qi14i1",Yt="_18qi14i3 _18qi14i2 _1lg22bkux _1lg22bkj3 _1lg22bkw0",Jt="_18qi14i4",Qt="_18qi14i5",Xt="_18qi14i7 _18qi14i6 _1lg22bk23 _1lg22bk2r _1lg22bks0 _1lg22bksf _1lg22bkti _1lg22bktr",Zt="_18qi14i9 _18qi14i8 _1lg22bkv0 _1lg22bkuc _1lg22bk26 _1lg22bk2u _1lg22bkbc _1lg22bkj9",Gt="_18qi14ia",ye=e=>e.type==="checkbox",ae=e=>e instanceof Date,p=e=>e==null;const rt=e=>typeof e=="object";var T=e=>!p(e)&&!Array.isArray(e)&&rt(e)&&!ae(e),kt=e=>T(e)&&e.target?ye(e.target)?e.target.checked:e.target.value:e,xt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,At=(e,s)=>e.has(xt(s)),wt=e=>{const s=e.constructor&&e.constructor.prototype;return T(s)&&s.hasOwnProperty("isPrototypeOf")},Ce=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function M(e){let s;const t=Array.isArray(e),a=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(!(Ce&&(e instanceof Blob||a))&&(t||T(e)))if(s=t?[]:Object.create(Object.getPrototypeOf(e)),!t&&!wt(e))s=e;else for(const u in e)e.hasOwnProperty(u)&&(s[u]=M(e[u]));else return e;return s}var be=e=>/^\w*$/.test(e),O=e=>e===void 0,Oe=e=>Array.isArray(e)?e.filter(Boolean):[],Re=e=>Oe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),g=(e,s,t)=>{if(!s||!T(e))return t;const a=(be(s)?[s]:Re(s)).reduce((u,l)=>p(u)?u:u[l],e);return O(a)||a===e?O(e[s])?t:e[s]:a},X=e=>typeof e=="boolean",w=(e,s,t)=>{let a=-1;const u=be(s)?[s]:Re(s),l=u.length,c=l-1;for(;++a<l;){const d=u[a];let L=t;if(a!==c){const U=e[d];L=T(U)||Array.isArray(U)?U:isNaN(+u[a+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=L,e=e[d]}};const je={BLUR:"blur",FOCUS_OUT:"focusout"},$={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Z={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},st=D.createContext(null);st.displayName="HookFormContext";const Dt=()=>D.useContext(st);var Et=(e,s,t,a=!0)=>{const u={defaultValues:s._defaultValues};for(const l in e)Object.defineProperty(u,l,{get:()=>{const c=l;return s._proxyFormState[c]!==$.all&&(s._proxyFormState[c]=!a||$.all),e[c]}});return u};const it=typeof window<"u"?D.useLayoutEffect:D.useEffect;var q=e=>typeof e=="string",De=(e,s,t,a,u)=>q(e)?(a&&s.watch.add(e),g(t,e,u)):Array.isArray(e)?e.map(l=>(a&&s.watch.add(l),g(t,l))):(a&&(s.watchAll=!0),t),Ee=e=>p(e)||!rt(e);function K(e,s,t=new WeakSet){if(Ee(e)||Ee(s))return Object.is(e,s);if(ae(e)&&ae(s))return e.getTime()===s.getTime();const a=Object.keys(e),u=Object.keys(s);if(a.length!==u.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const l of a){const c=e[l];if(!u.includes(l))return!1;if(l!=="ref"){const d=s[l];if(ae(c)&&ae(d)||T(c)&&T(d)||Array.isArray(c)&&Array.isArray(d)?!K(c,d,t):!Object.is(c,d))return!1}}return!0}function er(e){const s=Dt(),{control:t=s.control,name:a,defaultValue:u,disabled:l,exact:c,compute:d}=e||{},L=D.useRef(u),U=D.useRef(d),F=D.useRef(void 0),A=D.useRef(t),v=D.useRef(a);U.current=d;const[re,j]=D.useState(()=>{const S=t._getWatch(a,L.current);return U.current?U.current(S):S}),E=D.useCallback(S=>{const k=De(a,t._names,S||t._formValues,!1,L.current);return U.current?U.current(k):k},[t._formValues,t._names,a]),P=D.useCallback(S=>{if(!l){const k=De(a,t._names,S||t._formValues,!1,L.current);if(U.current){const G=U.current(k);K(G,F.current)||(j(G),F.current=G)}else j(k)}},[t._formValues,t._names,l,a]);it(()=>((A.current!==t||!K(v.current,a))&&(A.current=t,v.current=a,P()),t._subscribe({name:a,formState:{values:!0},exact:c,callback:S=>{P(S.values)}})),[t,c,a,P]),D.useEffect(()=>t._removeUnmounted());const se=A.current!==t,_=v.current,W=D.useMemo(()=>{if(l)return null;const S=!se&&!K(_,a);return se||S?E():null},[l,se,a,_,E]);return W!==null?W:re}var St=(e,s,t,a,u)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[a]:u||!0}}:{},ce=e=>Array.isArray(e)?e:[e],ze=()=>{let e=[];return{get observers(){return e},next:u=>{for(const l of e)l.next&&l.next(u)},subscribe:u=>(e.push(u),{unsubscribe:()=>{e=e.filter(l=>l!==u)}}),unsubscribe:()=>{e=[]}}};function at(e,s){const t={};for(const a in e)if(e.hasOwnProperty(a)){const u=e[a],l=s[a];if(u&&T(u)&&l){const c=at(u,l);T(c)&&(t[a]=c)}else e[a]&&(t[a]=l)}return t}var I=e=>T(e)&&!Object.keys(e).length,Te=e=>e.type==="file",Y=e=>typeof e=="function",ve=e=>{if(!Ce)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},nt=e=>e.type==="select-multiple",Le=e=>e.type==="radio",Ct=e=>Le(e)||ye(e),we=e=>ve(e)&&e.isConnected;function Ot(e,s){const t=s.slice(0,-1).length;let a=0;for(;a<t;)e=O(e)?a++:e[s[a++]];return e}function Rt(e){for(const s in e)if(e.hasOwnProperty(s)&&!O(e[s]))return!1;return!0}function R(e,s){const t=Array.isArray(s)?s:be(s)?[s]:Re(s),a=t.length===1?e:Ot(e,t),u=t.length-1,l=t[u];return a&&delete a[l],u!==0&&(T(a)&&I(a)||Array.isArray(a)&&Rt(a))&&R(e,t.slice(0,-1)),e}var Tt=e=>{for(const s in e)if(Y(e[s]))return!0;return!1};function lt(e){return Array.isArray(e)||T(e)&&!Tt(e)}function Se(e,s={}){for(const t in e){const a=e[t];lt(a)?(s[t]=Array.isArray(a)?[]:{},Se(a,s[t])):O(a)||(s[t]=!0)}return s}function ue(e,s,t){t||(t=Se(s));for(const a in e){const u=e[a];if(lt(u))O(s)||Ee(t[a])?t[a]=Se(u,Array.isArray(u)?[]:{}):ue(u,p(s)?{}:s[a],t[a]);else{const l=s[a];t[a]=!K(u,l)}}return t}const $e={value:!1,isValid:!1},Ke={value:!0,isValid:!0};var ut=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!O(e[0].attributes.value)?O(e[0].value)||e[0].value===""?Ke:{value:e[0].value,isValid:!0}:Ke:$e}return $e},ot=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:a})=>O(e)?e:s?e===""?NaN:e&&+e:t&&q(e)?new Date(e):a?a(e):e;const Ye={isValid:!1,value:null};var ft=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Ye):Ye;function Je(e){const s=e.ref;return Te(s)?s.files:Le(s)?ft(e.refs).value:nt(s)?[...s.selectedOptions].map(({value:t})=>t):ye(s)?ut(e.refs).value:ot(O(s.value)?e.ref.value:s.value,e)}var Lt=(e,s,t,a)=>{const u={};for(const l of e){const c=g(s,l);c&&w(u,l,c._f)}return{criteriaMode:t,names:[...e],fields:u,shouldUseNativeValidation:a}},_e=e=>e instanceof RegExp,fe=e=>O(e)?e:_e(e)?e.source:T(e)?_e(e.value)?e.value.source:e.value:e,Qe=e=>({isOnSubmit:!e||e===$.onSubmit,isOnBlur:e===$.onBlur,isOnChange:e===$.onChange,isOnAll:e===$.all,isOnTouch:e===$.onTouched});const Xe="AsyncFunction";var Ut=e=>!!e&&!!e.validate&&!!(Y(e.validate)&&e.validate.constructor.name===Xe||T(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===Xe)),Mt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ze=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const de=(e,s,t,a)=>{for(const u of t||Object.keys(e)){const l=g(e,u);if(l){const{_f:c,...d}=l;if(c){if(c.refs&&c.refs[0]&&s(c.refs[0],u)&&!a)return!0;if(c.ref&&s(c.ref,c.name)&&!a)return!0;if(de(d,s))break}else if(T(d)&&de(d,s))break}}};function Ge(e,s,t){const a=g(e,t);if(a||be(t))return{error:a,name:t};const u=t.split(".");for(;u.length;){const l=u.join("."),c=g(s,l),d=g(e,l);if(c&&!Array.isArray(c)&&t!==l)return{name:t};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};u.pop()}return{name:t}}var Nt=(e,s,t,a)=>{t(e);const{name:u,...l}=e;return I(l)||Object.keys(l).length>=Object.keys(s).length||Object.keys(l).find(c=>s[c]===(!a||$.all))},It=(e,s,t)=>!e||!s||e===s||ce(e).some(a=>a&&(t?a===s:a.startsWith(s)||s.startsWith(a))),Bt=(e,s,t,a,u)=>u.isOnAll?!1:!t&&u.isOnTouch?!(s||e):(t?a.isOnBlur:u.isOnBlur)?!e:(t?a.isOnChange:u.isOnChange)?e:!0,pt=(e,s)=>!Oe(g(e,s)).length&&R(e,s),qt=(e,s,t)=>{const a=ce(g(e,t));return w(a,"root",s[t]),w(e,t,a),e};function et(e,s,t="validate"){if(q(e)||Array.isArray(e)&&e.every(q)||X(e)&&!e)return{type:t,message:q(e)?e:"",ref:s}}var le=e=>T(e)&&!_e(e)?e:{value:e,message:""},tt=async(e,s,t,a,u,l)=>{const{ref:c,refs:d,required:L,maxLength:U,minLength:F,min:A,max:v,pattern:re,validate:j,name:E,valueAsNumber:P,mount:se}=e._f,_=g(t,E);if(!se||s.has(E))return{};const W=d?d[0]:c,S=b=>{u&&W.reportValidity&&(W.setCustomValidity(X(b)?"":b||""),W.reportValidity())},k={},G=Le(c),ee=ye(c),Ve=G||ee,z=(P||Te(c))&&O(c.value)&&O(_)||ve(c)&&c.value===""||_===""||Array.isArray(_)&&!_.length,ie=St.bind(null,E,a,k),J=(b,m,C,N=Z.maxLength,B=Z.minLength)=>{const Q=b?m:C;k[E]={type:b?N:B,message:Q,ref:c,...ie(b?N:B,Q)}};if(l?!Array.isArray(_)||!_.length:L&&(!Ve&&(z||p(_))||X(_)&&!_||ee&&!ut(d).isValid||G&&!ft(d).isValid)){const{value:b,message:m}=q(L)?{value:!!L,message:L}:le(L);if(b&&(k[E]={type:Z.required,message:m,ref:W,...ie(Z.required,m)},!a))return S(m),k}if(!z&&(!p(A)||!p(v))){let b,m;const C=le(v),N=le(A);if(!p(_)&&!isNaN(_)){const B=c.valueAsNumber||_&&+_;p(C.value)||(b=B>C.value),p(N.value)||(m=B<N.value)}else{const B=c.valueAsDate||new Date(_),Q=ge=>new Date(new Date().toDateString()+" "+ge),oe=c.type=="time",ne=c.type=="week";q(C.value)&&_&&(b=oe?Q(_)>Q(C.value):ne?_>C.value:B>new Date(C.value)),q(N.value)&&_&&(m=oe?Q(_)<Q(N.value):ne?_<N.value:B<new Date(N.value))}if((b||m)&&(J(!!b,C.message,N.message,Z.max,Z.min),!a))return S(k[E].message),k}if((U||F)&&!z&&(q(_)||l&&Array.isArray(_))){const b=le(U),m=le(F),C=!p(b.value)&&_.length>+b.value,N=!p(m.value)&&_.length<+m.value;if((C||N)&&(J(C,b.message,m.message),!a))return S(k[E].message),k}if(re&&!z&&q(_)){const{value:b,message:m}=le(re);if(_e(b)&&!_.match(b)&&(k[E]={type:Z.pattern,message:m,ref:c,...ie(Z.pattern,m)},!a))return S(m),k}if(j){if(Y(j)){const b=await j(_,t),m=et(b,W);if(m&&(k[E]={...m,...ie(Z.validate,m.message)},!a))return S(m.message),k}else if(T(j)){let b={};for(const m in j){if(!I(b)&&!a)break;const C=et(await j[m](_,t),W,m);C&&(b={...C,...ie(m,C.message)},S(C.message),a&&(k[E]=b))}if(!I(b)&&(k[E]={ref:W,...b},!a))return k}}return S(!0),k};const Pt={mode:$.onSubmit,reValidateMode:$.onChange,shouldFocusError:!0};function Wt(e={}){let s={...Pt,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Y(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},a={},u=T(s.defaultValues)||T(s.values)?M(s.defaultValues||s.values)||{}:{},l=s.shouldUnregister?{}:M(u),c={action:!1,mount:!1,watch:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},L,U=0;const F={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let A={...F};const v={array:ze(),state:ze()},re=s.criteriaMode===$.all,j=r=>i=>{clearTimeout(U),U=setTimeout(r,i)},E=async r=>{if(!s.disabled&&(F.isValid||A.isValid||r)){const i=s.resolver?I((await ee()).errors):await z(a,!0);i!==t.isValid&&v.state.next({isValid:i})}},P=(r,i)=>{!s.disabled&&(F.isValidating||F.validatingFields||A.isValidating||A.validatingFields)&&((r||Array.from(d.mount)).forEach(n=>{n&&(i?w(t.validatingFields,n,i):R(t.validatingFields,n))}),v.state.next({validatingFields:t.validatingFields,isValidating:!I(t.validatingFields)}))},se=(r,i=[],n,y,f=!0,o=!0)=>{if(y&&n&&!s.disabled){if(c.action=!0,o&&Array.isArray(g(a,r))){const h=n(g(a,r),y.argA,y.argB);f&&w(a,r,h)}if(o&&Array.isArray(g(t.errors,r))){const h=n(g(t.errors,r),y.argA,y.argB);f&&w(t.errors,r,h),pt(t.errors,r)}if((F.touchedFields||A.touchedFields)&&o&&Array.isArray(g(t.touchedFields,r))){const h=n(g(t.touchedFields,r),y.argA,y.argB);f&&w(t.touchedFields,r,h)}(F.dirtyFields||A.dirtyFields)&&(t.dirtyFields=ue(u,l)),v.state.next({name:r,isDirty:J(r,i),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else w(l,r,i)},_=(r,i)=>{w(t.errors,r,i),v.state.next({errors:t.errors})},W=r=>{t.errors=r,v.state.next({errors:t.errors,isValid:!1})},S=(r,i,n,y)=>{const f=g(a,r);if(f){const o=g(l,r,O(n)?g(u,r):n);O(o)||y&&y.defaultChecked||i?w(l,r,i?o:Je(f._f)):C(r,o),c.mount&&!c.action&&E()}},k=(r,i,n,y,f)=>{let o=!1,h=!1;const V={name:r};if(!s.disabled){if(!n||y){(F.isDirty||A.isDirty)&&(h=t.isDirty,t.isDirty=V.isDirty=J(),o=h!==V.isDirty);const x=K(g(u,r),i);h=!!g(t.dirtyFields,r),x?R(t.dirtyFields,r):w(t.dirtyFields,r,!0),V.dirtyFields=t.dirtyFields,o=o||(F.dirtyFields||A.dirtyFields)&&h!==!x}if(n){const x=g(t.touchedFields,r);x||(w(t.touchedFields,r,n),V.touchedFields=t.touchedFields,o=o||(F.touchedFields||A.touchedFields)&&x!==n)}o&&f&&v.state.next(V)}return o?V:{}},G=(r,i,n,y)=>{const f=g(t.errors,r),o=(F.isValid||A.isValid)&&X(i)&&t.isValid!==i;if(s.delayError&&n?(L=j(()=>_(r,n)),L(s.delayError)):(clearTimeout(U),L=null,n?w(t.errors,r,n):R(t.errors,r)),(n?!K(f,n):f)||!I(y)||o){const h={...y,...o&&X(i)?{isValid:i}:{},errors:t.errors,name:r};t={...t,...h},v.state.next(h)}},ee=async r=>{P(r,!0);const i=await s.resolver(l,s.context,Lt(r||d.mount,a,s.criteriaMode,s.shouldUseNativeValidation));return P(r),i},Ve=async r=>{const{errors:i}=await ee(r);if(r)for(const n of r){const y=g(i,n);y?w(t.errors,n,y):R(t.errors,n)}else t.errors=i;return i},z=async(r,i,n={valid:!0})=>{for(const y in r){const f=r[y];if(f){const{_f:o,...h}=f;if(o){const V=d.array.has(o.name),x=f._f&&Ut(f._f);x&&F.validatingFields&&P([o.name],!0);const H=await tt(f,d.disabled,l,re,s.shouldUseNativeValidation&&!i,V);if(x&&F.validatingFields&&P([o.name]),H[o.name]&&(n.valid=!1,i))break;!i&&(g(H,o.name)?V?qt(t.errors,H,o.name):w(t.errors,o.name,H[o.name]):R(t.errors,o.name))}!I(h)&&await z(h,i,n)}}return n.valid},ie=()=>{for(const r of d.unMount){const i=g(a,r);i&&(i._f.refs?i._f.refs.every(n=>!we(n)):!we(i._f.ref))&&me(r)}d.unMount=new Set},J=(r,i)=>!s.disabled&&(r&&i&&w(l,r,i),!K(ge(),u)),b=(r,i,n)=>De(r,d,{...c.mount?l:O(i)?u:q(r)?{[r]:i}:i},n,i),m=r=>Oe(g(c.mount?l:u,r,s.shouldUnregister?g(u,r,[]):[])),C=(r,i,n={})=>{const y=g(a,r);let f=i;if(y){const o=y._f;o&&(!o.disabled&&w(l,r,ot(i,o)),f=ve(o.ref)&&p(i)?"":i,nt(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?ye(o.ref)?o.refs.forEach(h=>{(!h.defaultChecked||!h.disabled)&&(Array.isArray(f)?h.checked=!!f.find(V=>V===h.value):h.checked=f===h.value||!!f)}):o.refs.forEach(h=>h.checked=h.value===f):Te(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||v.state.next({name:r,values:M(l)})))}(n.shouldDirty||n.shouldTouch)&&k(r,f,n.shouldTouch,n.shouldDirty,!0),n.shouldValidate&&ne(r)},N=(r,i,n)=>{for(const y in i){if(!i.hasOwnProperty(y))return;const f=i[y],o=r+"."+y,h=g(a,o);(d.array.has(r)||T(f)||h&&!h._f)&&!ae(f)?N(o,f,n):C(o,f,n)}},B=(r,i,n={})=>{const y=g(a,r),f=d.array.has(r),o=M(i);w(l,r,o),f?(v.array.next({name:r,values:M(l)}),(F.isDirty||F.dirtyFields||A.isDirty||A.dirtyFields)&&n.shouldDirty&&v.state.next({name:r,dirtyFields:ue(u,l),isDirty:J(r,o)})):y&&!y._f&&!p(o)?N(r,o,n):C(r,o,n),Ze(r,d)&&v.state.next({...t,name:r}),v.state.next({name:c.mount?r:void 0,values:M(l)})},Q=async r=>{c.mount=!0;const i=r.target;let n=i.name,y=!0;const f=g(a,n),o=x=>{y=Number.isNaN(x)||ae(x)&&isNaN(x.getTime())||K(x,g(l,n,x))},h=Qe(s.mode),V=Qe(s.reValidateMode);if(f){let x,H;const he=i.type?Je(f._f):kt(r),te=r.type===je.BLUR||r.type===je.FOCUS_OUT,bt=!Mt(f._f)&&!s.resolver&&!g(t.errors,n)&&!f._f.deps||Bt(te,g(t.touchedFields,n),t.isSubmitted,V,h),xe=Ze(n,d,te);w(l,n,he),te?(!i||!i.readOnly)&&(f._f.onBlur&&f._f.onBlur(r),L&&L(0)):f._f.onChange&&f._f.onChange(r);const Ae=k(n,he,te),Vt=!I(Ae)||xe;if(!te&&v.state.next({name:n,type:r.type,values:M(l)}),bt)return(F.isValid||A.isValid)&&(s.mode==="onBlur"?te&&E():te||E()),Vt&&v.state.next({name:n,...xe?{}:Ae});if(!te&&xe&&v.state.next({...t}),s.resolver){const{errors:We}=await ee([n]);if(o(he),y){const mt=Ge(t.errors,a,n),He=Ge(We,a,mt.name||n);x=He.error,n=He.name,H=I(We)}}else P([n],!0),x=(await tt(f,d.disabled,l,re,s.shouldUseNativeValidation))[n],P([n]),o(he),y&&(x?H=!1:(F.isValid||A.isValid)&&(H=await z(a,!0)));y&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&ne(f._f.deps),G(n,H,x,Ae))}},oe=(r,i)=>{if(g(t.errors,i)&&r.focus)return r.focus(),1},ne=async(r,i={})=>{let n,y;const f=ce(r);if(s.resolver){const o=await Ve(O(r)?r:f);n=I(o),y=r?!f.some(h=>g(o,h)):n}else r?(y=(await Promise.all(f.map(async o=>{const h=g(a,o);return await z(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!y&&!t.isValid)&&E()):y=n=await z(a);return v.state.next({...!q(r)||(F.isValid||A.isValid)&&n!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:n}:{},errors:t.errors}),i.shouldFocus&&!y&&de(a,oe,r?f:d.mount),y},ge=(r,i)=>{let n={...c.mount?l:u};return i&&(n=at(i.dirtyFields?t.dirtyFields:t.touchedFields,n)),O(r)?n:q(r)?g(n,r):r.map(y=>g(n,y))},Ue=(r,i)=>({invalid:!!g((i||t).errors,r),isDirty:!!g((i||t).dirtyFields,r),error:g((i||t).errors,r),isValidating:!!g(t.validatingFields,r),isTouched:!!g((i||t).touchedFields,r)}),ct=r=>{r&&ce(r).forEach(i=>R(t.errors,i)),v.state.next({errors:r?t.errors:{}})},Me=(r,i,n)=>{const y=(g(a,r,{_f:{}})._f||{}).ref,f=g(t.errors,r)||{},{ref:o,message:h,type:V,...x}=f;w(t.errors,r,{...x,...i,ref:y}),v.state.next({name:r,errors:t.errors,isValid:!1}),n&&n.shouldFocus&&y&&y.focus&&y.focus()},dt=(r,i)=>Y(r)?v.state.subscribe({next:n=>"values"in n&&r(b(void 0,i),n)}):b(r,i,!0),Ne=r=>v.state.subscribe({next:i=>{It(r.name,i.name,r.exact)&&Nt(i,r.formState||F,_t,r.reRenderRoot)&&r.callback({values:{...l},...t,...i,defaultValues:u})}}).unsubscribe,yt=r=>(c.mount=!0,A={...A,...r.formState},Ne({...r,formState:A})),me=(r,i={})=>{for(const n of r?ce(r):d.mount)d.mount.delete(n),d.array.delete(n),i.keepValue||(R(a,n),R(l,n)),!i.keepError&&R(t.errors,n),!i.keepDirty&&R(t.dirtyFields,n),!i.keepTouched&&R(t.touchedFields,n),!i.keepIsValidating&&R(t.validatingFields,n),!s.shouldUnregister&&!i.keepDefaultValue&&R(u,n);v.state.next({values:M(l)}),v.state.next({...t,...i.keepDirty?{isDirty:J()}:{}}),!i.keepIsValid&&E()},Ie=({disabled:r,name:i})=>{(X(r)&&c.mount||r||d.disabled.has(i))&&(r?d.disabled.add(i):d.disabled.delete(i))},Fe=(r,i={})=>{let n=g(a,r);const y=X(i.disabled)||X(s.disabled);return w(a,r,{...n||{},_f:{...n&&n._f?n._f:{ref:{name:r}},name:r,mount:!0,...i}}),d.mount.add(r),n?Ie({disabled:X(i.disabled)?i.disabled:s.disabled,name:r}):S(r,!0,i.value),{...y?{disabled:i.disabled||s.disabled}:{},...s.progressive?{required:!!i.required,min:fe(i.min),max:fe(i.max),minLength:fe(i.minLength),maxLength:fe(i.maxLength),pattern:fe(i.pattern)}:{},name:r,onChange:Q,onBlur:Q,ref:f=>{if(f){Fe(r,i),n=g(a,r);const o=O(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Ct(o),V=n._f.refs||[];if(h?V.find(x=>x===o):o===n._f.ref)return;w(a,r,{_f:{...n._f,...h?{refs:[...V.filter(we),o,...Array.isArray(g(u,r))?[{}]:[]],ref:{type:o.type,name:r}}:{ref:o}}}),S(r,!1,void 0,o)}else n=g(a,r,{}),n._f&&(n._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(At(d.array,r)&&c.action)&&d.unMount.add(r)}}},ke=()=>s.shouldFocusError&&de(a,oe,d.mount),gt=r=>{X(r)&&(v.state.next({disabled:r}),de(a,(i,n)=>{const y=g(a,n);y&&(i.disabled=y._f.disabled||r,Array.isArray(y._f.refs)&&y._f.refs.forEach(f=>{f.disabled=y._f.disabled||r}))},0,!1))},Be=(r,i)=>async n=>{let y;n&&(n.preventDefault&&n.preventDefault(),n.persist&&n.persist());let f=M(l);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:h}=await ee();t.errors=o,f=M(h)}else await z(a);if(d.disabled.size)for(const o of d.disabled)R(f,o);if(R(t.errors,"root"),I(t.errors)){v.state.next({errors:{}});try{await r(f,n)}catch(o){y=o}}else i&&await i({...t.errors},n),ke(),setTimeout(ke);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:I(t.errors)&&!y,submitCount:t.submitCount+1,errors:t.errors}),y)throw y},ht=(r,i={})=>{g(a,r)&&(O(i.defaultValue)?B(r,M(g(u,r))):(B(r,i.defaultValue),w(u,r,M(i.defaultValue))),i.keepTouched||R(t.touchedFields,r),i.keepDirty||(R(t.dirtyFields,r),t.isDirty=i.defaultValue?J(r,M(g(u,r))):J()),i.keepError||(R(t.errors,r),F.isValid&&E()),v.state.next({...t}))},pe=(r,i={})=>{const n=r?M(r):u,y=M(n),f=I(r),o=f?u:y;if(i.keepDefaultValues||(u=n),!i.keepValues){if(i.keepDirtyValues){const h=new Set([...d.mount,...Object.keys(ue(u,l))]);for(const V of Array.from(h))g(t.dirtyFields,V)?w(o,V,g(l,V)):B(V,g(o,V))}else{if(Ce&&O(r))for(const h of d.mount){const V=g(a,h);if(V&&V._f){const x=Array.isArray(V._f.refs)?V._f.refs[0]:V._f.ref;if(ve(x)){const H=x.closest("form");if(H){H.reset();break}}}}if(i.keepFieldsRef)for(const h of d.mount)B(h,g(o,h));else a={}}l=s.shouldUnregister?i.keepDefaultValues?M(u):{}:M(o),v.array.next({values:{...o}}),v.state.next({values:{...o}})}d={mount:i.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!F.isValid||!!i.keepIsValid||!!i.keepDirtyValues||!s.shouldUnregister&&!I(o),c.watch=!!s.shouldUnregister,c.action=!1,i.keepErrors||(t.errors={}),v.state.next({submitCount:i.keepSubmitCount?t.submitCount:0,isDirty:f?!1:i.keepDirty?t.isDirty:!!(i.keepDefaultValues&&!K(r,u)),isSubmitted:i.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:i.keepDirtyValues?i.keepDefaultValues&&l?ue(u,l):t.dirtyFields:i.keepDefaultValues&&r?ue(u,r):i.keepDirty?t.dirtyFields:{},touchedFields:i.keepTouched?t.touchedFields:{},errors:i.keepErrors?t.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:u})},qe=(r,i)=>pe(Y(r)?r(l):r,i),vt=(r,i={})=>{const n=g(a,r),y=n&&n._f;if(y){const f=y.refs?y.refs[0]:y.ref;f.focus&&(f.focus(),i.shouldSelect&&Y(f.select)&&f.select())}},_t=r=>{t={...t,...r}},Pe={control:{register:Fe,unregister:me,getFieldState:Ue,handleSubmit:Be,setError:Me,_subscribe:Ne,_runSchema:ee,_focusError:ke,_getWatch:b,_getDirty:J,_setValid:E,_setFieldArray:se,_setDisabledField:Ie,_setErrors:W,_getFieldArray:m,_reset:pe,_resetDefaultValues:()=>Y(s.defaultValues)&&s.defaultValues().then(r=>{qe(r,s.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:ie,_disableForm:gt,_subjects:v,_proxyFormState:F,get _fields(){return a},get _formValues(){return l},get _state(){return c},set _state(r){c=r},get _defaultValues(){return u},get _names(){return d},set _names(r){d=r},get _formState(){return t},get _options(){return s},set _options(r){s={...s,...r}}},subscribe:yt,trigger:ne,register:Fe,handleSubmit:Be,watch:dt,setValue:B,getValues:ge,reset:qe,resetField:ht,clearErrors:ct,unregister:me,setError:Me,setFocus:vt,getFieldState:Ue};return{...Pe,formControl:Pe}}function tr(e={}){const s=D.useRef(void 0),t=D.useRef(void 0),[a,u]=D.useState({isDirty:!1,isValidating:!1,isLoading:Y(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:a},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...d}=Wt(e);s.current={...d,formState:a}}const l=s.current.control;return l._options=e,it(()=>{const c=l._subscribe({formState:l._proxyFormState,callback:()=>u({...l._formState}),reRenderRoot:!0});return u(d=>({...d,isReady:!0})),l._formState.isReady=!0,c},[l]),D.useEffect(()=>l._disableForm(e.disabled),[l,e.disabled]),D.useEffect(()=>{e.mode&&(l._options.mode=e.mode),e.reValidateMode&&(l._options.reValidateMode=e.reValidateMode)},[l,e.mode,e.reValidateMode]),D.useEffect(()=>{e.errors&&(l._setErrors(e.errors),l._focusError())},[l,e.errors]),D.useEffect(()=>{e.shouldUnregister&&l._subjects.state.next({values:l._getWatch()})},[l,e.shouldUnregister]),D.useEffect(()=>{if(l._proxyFormState.isDirty){const c=l._getDirty();c!==a.isDirty&&l._subjects.state.next({isDirty:c})}},[l,a.isDirty]),D.useEffect(()=>{var c;e.values&&!K(e.values,t.current)?(l._reset(e.values,{keepFieldsRef:!0,...l._options.resetOptions}),!((c=l._options.resetOptions)===null||c===void 0)&&c.keepIsValid||l._setValid(),t.current=e.values,u(d=>({...d}))):l._resetDefaultValues()},[l,e.values]),D.useEffect(()=>{l._state.mount||(l._setValid(),l._state.mount=!0),l._state.watch&&(l._state.watch=!1,l._subjects.state.next({...l._formState})),l._removeUnmounted()}),s.current.formState=Et(a,l),s.current}export{Yt as a,Jt as b,Kt as c,Qt as d,Zt as e,Gt as f,Xt as g,$t as h,er as i,tr as u};
@@ -1 +0,0 @@
1
- import"./index-C1Qc7Z7W.js";var o="i5n19u0",a="i5n19u1";export{a,o as i};
@@ -1 +0,0 @@
1
- import"./index-C1Qc7Z7W.js";var t="_1rf6rl0",a="_1rf6rl1",n="_1rf6rl2";export{a,n as b,t as n};
@@ -1 +0,0 @@
1
- import{j as e,N as w,r as s,L as p,i as n,a as f,k as C}from"./index-C1Qc7Z7W.js";import{B as y}from"./button-J5fxAIyE.js";import{S as b,l as S}from"./logo.css-BHDDnlVa.js";import{a as L,l as E,b as k,r as F,t as P,f as B,c as D,d as I,e as q,g as z,h as i,i as o,j as A,k as H,m as M,n as O}from"./auth.css-CbKu-iME.js";/* empty css */function J(){if(window.bootstrapData?.setupComplete??!1)return e.jsx(w,{to:"/signin"});const[c,x]=s.useState(""),[m,g]=s.useState(""),[l,j]=s.useState(""),[d,t]=s.useState(null),[u,h]=s.useState(!1),N=async a=>{if(a.preventDefault(),t(null),l.length<8){t("Password must be at least 8 characters");return}h(!0);try{const r=await f.signUp.email({email:m,password:l,name:c});if(r.error){t(r.error.message||"Failed to create account");return}const v=r.data?.user?.id;await C.v1["workspace-settings"].$patch({json:{setupComplete:!0,superAdminId:v}}),window.location.href="/"}catch{t("An unexpected error occurred")}finally{h(!1)}};return e.jsxs("div",{className:L,children:[e.jsx("div",{className:E,children:e.jsxs("div",{className:k,children:[e.jsx(b,{className:S(),viewBox:"450 550 1100 1500",style:{height:22,width:18}}),"LLMOps"]})}),e.jsxs("div",{className:F,children:[e.jsx(p,{to:"/signin",className:P,children:"Sign in"}),e.jsxs("div",{className:B,children:[e.jsxs("div",{className:D,children:[e.jsx("h1",{className:I,children:"Create an account"}),e.jsx("p",{className:q,children:"Enter your details below to create your account"})]}),e.jsxs("form",{className:z,onSubmit:N,children:[e.jsxs("div",{className:i,children:[e.jsx("label",{className:o,htmlFor:"name",children:"Name"}),e.jsx(n,{id:"name",type:"text",size:"lg",placeholder:"Enter your name",value:c,onChange:a=>x(a.target.value),required:!0,autoComplete:"name"})]}),e.jsxs("div",{className:i,children:[e.jsx("label",{className:o,htmlFor:"email",children:"Email"}),e.jsx(n,{id:"email",type:"email",size:"lg",placeholder:"name@example.com",value:m,onChange:a=>g(a.target.value),required:!0,autoComplete:"email"})]}),e.jsxs("div",{className:i,children:[e.jsx("label",{className:o,htmlFor:"password",children:"Password"}),e.jsx(n,{id:"password",type:"password",size:"lg",placeholder:"Create a password (min. 8 characters)",value:l,onChange:a=>j(a.target.value),required:!0,autoComplete:"new-password",minLength:8})]}),d&&e.jsx("div",{className:A,children:d}),e.jsx(y,{type:"submit",variant:"primary",disabled:u,className:H,children:u?"Creating account...":"Create account"})]}),e.jsxs("p",{className:M,children:["Already have an account?"," ",e.jsx(p,{to:"/signin",className:O,children:"Sign in"})]})]})]})]})}export{J as component};
@@ -1 +0,0 @@
1
- import{r as s,j as e,i as d,a as g}from"./index-C1Qc7Z7W.js";import{B as j}from"./button-J5fxAIyE.js";import{S as v,l as N}from"./logo.css-BHDDnlVa.js";import{a as f,l as w,b as y,r as S,f as b,c as E,d as C,e as L,g as F,h as m,i as u,j as P,k as B}from"./auth.css-CbKu-iME.js";/* empty css */function W(){const[l,h]=s.useState(""),[i,p]=s.useState(""),[n,r]=s.useState(null),[o,c]=s.useState(!1),x=async a=>{a.preventDefault(),r(null),c(!0);try{const t=await g.signIn.email({email:l,password:i});if(t.error){r(t.error.message||"Failed to sign in");return}window.location.href="/"}catch{r("An unexpected error occurred")}finally{c(!1)}};return e.jsxs("div",{className:f,children:[e.jsx("div",{className:w,children:e.jsxs("div",{className:y,children:[e.jsx(v,{className:N(),viewBox:"450 550 1100 1500",style:{height:22,width:18}}),"LLMOps"]})}),e.jsx("div",{className:S,children:e.jsxs("div",{className:b,children:[e.jsxs("div",{className:E,children:[e.jsx("h1",{className:C,children:"Welcome back"}),e.jsx("p",{className:L,children:"Enter your credentials to sign in to your account"})]}),e.jsxs("form",{className:F,onSubmit:x,children:[e.jsxs("div",{className:m,children:[e.jsx("label",{className:u,htmlFor:"email",children:"Email"}),e.jsx(d,{id:"email",type:"email",size:"lg",placeholder:"name@example.com",value:l,onChange:a=>h(a.target.value),required:!0,autoComplete:"email"})]}),e.jsxs("div",{className:m,children:[e.jsx("label",{className:u,htmlFor:"password",children:"Password"}),e.jsx(d,{id:"password",type:"password",size:"lg",placeholder:"Enter your password",value:i,onChange:a=>p(a.target.value),required:!0,autoComplete:"current-password"})]}),n&&e.jsx("div",{className:P,children:n}),e.jsx(j,{type:"submit",variant:"primary",disabled:o,className:B,children:o?"Signing in...":"Sign in"})]})]})})]})}export{W as component};
@@ -1 +0,0 @@
1
- import{s as P,c as $,r as R,w as V,j as y}from"./index-C1Qc7Z7W.js";import{u as k,e as W,f as U,g as q}from"./index.esm-BVbruXk6.js";import{T as A}from"./tooltip-BiUUXiGj.js";const H=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],G=P("x",H);var J="b0ts4r0",K="b0ts4r1",Q="b0ts4r2";const N="--tile-width",M="100%";function Y(){const d=$.c(1),e=R.useRef(null),o=R.useRef(null);let n;return d[0]===Symbol.for("react.memo_cache_sentinel")?(n={containerRef:e,setTileWidth:s=>{if(!e.current)return;const a=e.current;o.current&&(o.current.cancel(),o.current=null);const i=getComputedStyle(a).getPropertyValue(N).trim()||M,l=parseFloat(i.replace(/[^\d.]/g,"")),r=parseFloat(s.replace(/[^\d.]/g,""));if(Math.abs(l-r)>1){const h=s.replace(/[\d.]/g,"");o.current=V(l,r,{duration:.3,ease:"circInOut",onUpdate:c=>{a.style.setProperty(N,`${c}${h}`)},onComplete:()=>{o.current=null,a.style.setProperty(N,s)}})}else a.style.setProperty(N,s)}},d[0]=n):n=d[0],n}function Z(d){const e=$.c(31),{id:o,entity:n,placeholder:g,onCreate:s,onUpdate:a,disabled:i,tooltip:l}=d,r=o==="new",h=n?.name??"";let c;e[0]!==h?(c={values:{name:h}},e[0]=h,e[1]=c):c=e[1];const{register:j,handleSubmit:T,formState:D}=k(c),{errors:F,isSubmitting:v}=D;let b;e[2]!==i||e[3]!==n||e[4]!==r||e[5]!==s||e[6]!==a?(b=async t=>{if(!(!t.name.trim()||i))try{r?await s({name:t.name}):await a({id:n.id,name:t.name})}catch(L){console.error("Error in creating/updating:",L)}},e[2]=i,e[3]=n,e[4]=r,e[5]=s,e[6]=a,e[7]=b):b=e[7];const x=b,w=`${g} is required`;let u;e[8]!==j||e[9]!==w?(u=j("name",{required:w}),e[8]=j,e[9]=w,e[10]=u):u=e[10];const E=F.name?"true":"false";let S;e[11]!==i||e[12]!==g||e[13]!==u||e[14]!==E?(S=y.jsx("input",{...u,placeholder:g,"data-1p-ignore":!0,title:"name",className:W,"aria-invalid":E,disabled:i}),e[11]=i,e[12]=g,e[13]=u,e[14]=E,e[15]=S):S=e[15];const I=S;let m,p;e[16]!==T||e[17]!==x?(p=T(x),m=t=>{t.preventDefault(),T(x)()},e[16]=T,e[17]=x,e[18]=m,e[19]=p):(m=e[18],p=e[19]);let f;e[20]!==r||e[21]!==v?(f=v&&(r?y.jsx("span",{className:U,children:"Creating..."}):y.jsx("span",{className:U,children:"Updating..."})),e[20]=r,e[21]=v,e[22]=f):f=e[22];let _;e[23]!==I||e[24]!==m||e[25]!==f||e[26]!==p?(_=y.jsxs("form",{className:q,onBlur:p,onSubmit:m,children:[I,f]}),e[23]=I,e[24]=m,e[25]=f,e[26]=p,e[27]=_):_=e[27];const C=_;if(l){let t;return e[28]!==C||e[29]!==l?(t=y.jsx(A,{content:l,children:C}),e[28]=C,e[29]=l,e[30]=t):t=e[30],t}return C}export{Z as U,G as X,K as l,Q as r,J as t,Y as u};
@@ -1 +0,0 @@
1
- import{s as n,c as s,j as t}from"./index-C1Qc7Z7W.js";import{i as c}from"./info-box.css-BzqwxgQm.js";/* empty css */const a=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],r=n("info",a);function p(){const e=s.c(2);if((window.bootstrapData?.authType||"basic")==="basic"){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("div",{children:t.jsxs("div",{className:c,children:[t.jsx(r,{size:16}),t.jsx("span",{children:"You are using basic authentication. Profile settings cannot be changed in this mode."})]})}),e[0]=i):i=e[0],i}let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx("div",{children:t.jsx("h2",{children:"Profile"})}),e[1]=o):o=e[1],o}export{p as component};
@@ -1 +0,0 @@
1
- import{c as v,aE as g,n as C,g as y,j as n,aF as b,I as V}from"./index-C1Qc7Z7W.js";import{B as I}from"./button-J5fxAIyE.js";import{b as p,e as c,a as T,c as x,T as N,d as _}from"./table-jMzD3FNy.js";import{u as $}from"./useConfigVariants-CB0S5gfJ.js";import{v as k,a as R}from"./variants.css-Dzb38Nu1.js";import{P as w}from"./plus-DqiZvCBU.js";/* empty css */function U(){const e=v.c(18),{id:a}=g.useParams(),j=C(),{data:d,isLoading:u}=$(a),i=y();if(u){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("div",{children:"Loading variants..."}),e[0]=s):s=e[0],s}let t;e[1]!==a||e[2]!==i?(t=()=>{i({to:"/configs/$id/variants/$variant",params:{id:a,variant:"new"}})},e[1]=a,e[2]=i,e[3]=t):t=e[3];let m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(V,{icon:w}),e[4]=m):m=e[4];let r;e[5]!==t?(r=n.jsx("div",{className:k,children:n.jsxs(I,{variant:"ghost",onClick:t,children:[m,"Add Variant"]})}),e[5]=t,e[6]=r):r=e[6];let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx(T,{children:n.jsxs(p,{children:[n.jsx(x,{children:"Name"}),n.jsx(x,{children:"Provider"}),n.jsx(x,{children:"Model"}),n.jsx(x,{children:"Current Version"})]})}),e[7]=f):f=e[7];let o;e[8]!==a||e[9]!==d||e[10]!==i||e[11]!==j?(o=d&&d.length>0?d.map(s=>n.jsxs(p,{interactive:!0,onMouseEnter:()=>{j.prefetchQuery(b(s.variantId))},onClick:()=>i({to:"/configs/$id/variants/$variant",params:{id:a,variant:s.variantId}}),children:[n.jsx(c,{children:s.name||"Unnamed Variant"}),n.jsx(c,{children:s.provider||"Unknown"}),n.jsx(c,{children:s.modelName||"Unknown"}),n.jsx(c,{children:s.latestVersion?.version?`v${s.latestVersion.version}`:"-"})]},s.variantId)):n.jsx(p,{children:n.jsx(c,{colSpan:4,style:{textAlign:"center",padding:"2rem"},children:'No variants added yet. Click "Add Variant" to get started.'})}),e[8]=a,e[9]=d,e[10]=i,e[11]=j,e[12]=o):o=e[12];let l;e[13]!==o?(l=n.jsxs(N,{children:[f,n.jsx(_,{children:o})]}),e[13]=o,e[14]=l):l=e[14];let h;return e[15]!==r||e[16]!==l?(h=n.jsxs("div",{className:R,children:[r,l]}),e[15]=r,e[16]=l,e[17]=h):h=e[17],h}export{U as component};
@@ -1 +0,0 @@
1
- import"./index-C1Qc7Z7W.js";var r="tye0o0",t="tye0o1";export{r as a,t as v};