@llmops/app 0.2.0-beta.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/.vite/manifest.json +246 -246
  2. package/dist/assets/{DialogTitle-CxBLj1-9.js → DialogTitle-UCL-cueg.js} +1 -1
  3. package/dist/assets/{Form-BNRL8XWO.js → Form-DCtoTR-p.js} +1 -1
  4. package/dist/assets/{_environment-DP283K6-.js → _environment-DK0RuLfe.js} +1 -1
  5. package/dist/assets/{_observability-CKbO1YDc.js → _observability-BsCcZkih.js} +1 -1
  6. package/dist/assets/{_settings-D_xgTz13.js → _settings-BBP4PpLX.js} +1 -1
  7. package/dist/assets/{_tabs-Du0rKJRQ.js → _tabs-DhgOS8ht.js} +1 -1
  8. package/dist/assets/{_tabs-B4OeOdtD.js → _tabs-DrzB5Z0A.js} +1 -1
  9. package/dist/assets/{_variant-Coggt7xV.js → _variant-CnHZzp0Z.js} +1 -1
  10. package/dist/assets/{_variants-7Dzwfolk.js → _variants-B1QyPFs9.js} +1 -1
  11. package/dist/assets/{area.css-vuJcGX7o.js → area.css-CLOfP5iE.js} +1 -1
  12. package/dist/assets/{arrow-left-6hmTZAiR.js → arrow-left-lxisLR8v.js} +1 -1
  13. package/dist/assets/{auth.css-DZwRqaUN.js → auth.css-B5Lrnlbx.js} +1 -1
  14. package/dist/assets/{button-COE7JEux.js → button-BOiGz4Ne.js} +1 -1
  15. package/dist/assets/check-CPNSKHk4.js +1 -0
  16. package/dist/assets/{chevron-right-Flf_erVP.js → chevron-right-BtD8s6fj.js} +1 -1
  17. package/dist/assets/{combobox-7tupXBmD.js → combobox-JWj_3Y0m.js} +1 -1
  18. package/dist/assets/{configs-DiX0v39W.js → configs-CWaFij7a.js} +1 -1
  19. package/dist/assets/{configs.css-CcfMCKcJ.js → configs.css-C0mqmoVB.js} +1 -1
  20. package/dist/assets/{copy-DpJ7J1QT.js → copy-Dyj2k1Sq.js} +1 -1
  21. package/dist/assets/{costs-YGYS6p97.js → costs-5Vkkcitr.js} +1 -1
  22. package/dist/assets/{environments-SG5eHA9e.js → environments-BHZ_35T8.js} +1 -1
  23. package/dist/assets/{index-DBcmlZIg.js → index-Ba7KtRo4.js} +1 -1
  24. package/dist/assets/{index-L9LUh7qm.js → index-Bx54WVNn.js} +1 -1
  25. package/dist/assets/{index-ClFgoD7G.js → index-CKUiONR1.js} +1 -1
  26. package/dist/assets/{index-BZWJrClo.js → index-CmwqDWtN.js} +1 -1
  27. package/dist/assets/{index-CXl8yUk6.js → index-D7CjbFS0.js} +1 -1
  28. package/dist/assets/{index-DAHIcm_Z.js → index-DWCIocaw.js} +2 -2
  29. package/dist/assets/{index-wAmb7-nC.js → index-DdbFK5pg.js} +1 -1
  30. package/dist/assets/{index.esm-DsH_UQKJ.js → index.esm-Cx4qB0Tk.js} +1 -1
  31. package/dist/assets/info-box.css-qBxEQPo-.js +1 -0
  32. package/dist/assets/{logo.css-DtCuocdz.js → logo.css-CYdOI33_.js} +1 -1
  33. package/dist/assets/new-config-state.css-BQLyMmey.js +1 -0
  34. package/dist/assets/{observability.css-BAXibO_9.js → observability.css-ScdW-rjk.js} +1 -1
  35. package/dist/assets/{overview-F3JSdG23.js → overview-BhnAFrza.js} +1 -1
  36. package/dist/assets/{plus-BcVQn54p.js → plus-BwJa6tsj.js} +1 -1
  37. package/dist/assets/{popover-D36G19tP.js → popover-CWoAmEjp.js} +1 -1
  38. package/dist/assets/{requests-Dy44WwrQ.js → requests-jUGszjv8.js} +1 -1
  39. package/dist/assets/{route-C1mboO2Z.js → route-BlPm4saZ.js} +1 -1
  40. package/dist/assets/{route-C7NpQ_hb.js → route-D4DCefa9.js} +1 -1
  41. package/dist/assets/{route-COMWKM5H.js → route-DHkrULGT.js} +1 -1
  42. package/dist/assets/{route-z4_NUCvs.js → route-mr2mV0Yu.js} +1 -1
  43. package/dist/assets/{route-Dsk5qQsg.js → route-v7PO6657.js} +1 -1
  44. package/dist/assets/{secrets-Cgp8qBss.js → secrets-Bn-e_u13.js} +1 -1
  45. package/dist/assets/{settings-Dzk0Fgyf.js → settings-DmnvYt0Y.js} +1 -1
  46. package/dist/assets/{settings-ByLwomz8.js → settings-IRh_XlY0.js} +1 -1
  47. package/dist/assets/{setup-DIckLV4k.js → setup-CIRVKcq-.js} +1 -1
  48. package/dist/assets/{signin-DT7q7n3E.js → signin-B_kUyGAp.js} +1 -1
  49. package/dist/assets/{table-B17CQG8y.js → table-49TSZbdr.js} +1 -1
  50. package/dist/assets/{tabs.css-uCzsVQVs.js → tabs.css-BIuQQZaU.js} +1 -1
  51. package/dist/assets/{targeting-CVDqzB8u.js → targeting-CbWcgm3w.js} +1 -1
  52. package/dist/assets/{tooltip-9kZBdRqy.js → tooltip-CkWL0dMr.js} +1 -1
  53. package/dist/assets/{update-or-create-name-Cio7-6LW.js → update-or-create-name-BGp6o60I.js} +1 -1
  54. package/dist/assets/{useAnalytics-CWiKryQj.js → useAnalytics-DiWjBhLw.js} +1 -1
  55. package/dist/assets/{useConfigList-Djrmvw_F.js → useConfigList-DuUKjCrF.js} +1 -1
  56. package/dist/assets/{useConfigVariants-DGrcmy6W.js → useConfigVariants-ChEQ-YUl.js} +1 -1
  57. package/dist/assets/{useEnvironments-LtKuRdzZ.js → useEnvironments-WGqvCy8N.js} +1 -1
  58. package/dist/assets/{useMutation-DsF6JMg-.js → useMutation-DflbfH1f.js} +1 -1
  59. package/dist/assets/{usePopupAutoResize-C3drixvS.js → usePopupAutoResize-RFCDgOFp.js} +1 -1
  60. package/dist/assets/{useProvidersList-C-va39q5.js → useProvidersList-DtWn_MJs.js} +1 -1
  61. package/dist/assets/{useSetTargeting-CrvMMukp.js → useSetTargeting-DCF7D6n-.js} +1 -1
  62. package/dist/assets/{useTargetingRules-6Axog9iE.js → useTargetingRules-1RFyDPYx.js} +1 -1
  63. package/dist/assets/{useValueChanged-BrWmvpGJ.js → useValueChanged-CIhVK-Fa.js} +1 -1
  64. package/dist/assets/{user-profile-DrbTr5ek.js → user-profile-CbijLYlM.js} +1 -1
  65. package/dist/assets/{variants-BS8SfM2u.js → variants-Bgidd8eE.js} +1 -1
  66. package/dist/assets/variants.css-BI8mTlOx.js +1 -0
  67. package/dist/assets/{workspace-general-4coxLwka.js → workspace-general-CRDqD2_R.js} +1 -1
  68. package/dist/assets/workspace-providers-B6qtGU0q.css +1 -0
  69. package/dist/assets/{workspace-providers-DpuJYL2J.js → workspace-providers-CBKGYtAx.js} +1 -1
  70. package/dist/index.cjs +1 -1
  71. package/dist/index.mjs +1 -1
  72. package/package.json +3 -3
  73. package/dist/assets/check-oX5AO5gn.js +0 -1
  74. package/dist/assets/info-box.css-tM-8eGuh.js +0 -1
  75. package/dist/assets/new-config-state.css-Ynd55T0z.js +0 -1
  76. package/dist/assets/variants.css-BzwJYCz7.js +0 -1
  77. package/dist/assets/workspace-providers-BixYd9Gg.css +0 -1
@@ -0,0 +1 @@
1
+ ._1p8wnc70{max-width:700px}._1p8wnc71{margin-bottom:1.5rem}._1p8wnc72{font-size:.875rem;font-weight:600;color:var(--tyy9ow1v);margin:0;margin-bottom:.25rem}._1p8wnc73{font-size:.75rem;color:var(--tyy9ow1s);margin:0;line-height:1.5}._1p8wnc74{border:1px solid var(--tyy9ow1n);border-radius:.5rem;overflow:hidden;margin-bottom:1rem}._1p8wnc75{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.5rem 1rem;background-color:var(--tyy9ow1l);border-bottom:1px solid var(--tyy9ow1n);font-size:.75rem;font-weight:500;color:var(--tyy9ow1t)}._1p8wnc76{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.5rem 1rem;align-items:center;border-bottom:1px solid var(--tyy9ow1n)}._1p8wnc76:last-child{border-bottom:none}._1p8wnc77{display:flex;align-items:center;gap:.5rem}._1p8wnc78{width:20px;height:20px;border-radius:4px;object-fit:contain}.dark ._1p8wnc78{filter:brightness(0) invert(1)}._1p8wnc79{font-size:.875rem;font-weight:500;color:var(--tyy9ow1v)}._1p8wnc7a{display:flex;align-items:center;gap:.25rem}._1p8wnc7b{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--tyy9ow1u);background-color:var(--tyy9ow1k);border:1px solid var(--tyy9ow1p);border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7b:hover{background-color:var(--tyy9ow1m);border-color:var(--tyy9ow1q)}._1p8wnc7c{padding:2rem;text-align:center;color:var(--tyy9ow1s);font-size:.875rem}._1p8wnc7d{position:fixed;inset:0;background-color:#00000080;z-index:1000;transition:opacity .15s}._1p8wnc7d[data-starting-style],._1p8wnc7d[data-ending-style]{opacity:0}._1p8wnc7e{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--tyy9ow2c);border-radius:.5rem;padding:1.5rem;box-shadow:0 25px 50px -12px #00000040;z-index:1001;min-width:450px;max-width:90vw;max-height:85vh;overflow:auto;outline:1px solid var(--tyy9ow1p);transition:opacity .15s,transform .15s}._1p8wnc7e[data-starting-style],._1p8wnc7e[data-ending-style]{opacity:0;transform:translate(-50%,-50%) scale(.95)}[data-base-ui-combobox-positioner]{z-index:1100!important}._1p8wnc7f{font-size:1.125rem;font-weight:600;color:var(--tyy9ow1v);margin:0;margin-bottom:1rem}._1p8wnc7g{display:flex;flex-direction:column;gap:1rem}._1p8wnc7h{display:flex;flex-direction:column;gap:.25rem}._1p8wnc7i{font-size:.75rem;font-weight:500;color:var(--tyy9ow1u)}._1p8wnc7j{padding:.5rem;font-size:.875rem;color:var(--tyy9ow1v);background-color:var(--tyy9ow1k);border:1px solid var(--tyy9ow1p);border-radius:.25rem;outline:none}._1p8wnc7j:focus{border-color:var(--tyy9ow8)}._1p8wnc7j::placeholder{color:var(--tyy9ow1r)}._1p8wnc7k{padding:.5rem;font-size:.875rem;color:var(--tyy9ow1v);background-color:var(--tyy9ow1k);border:1px solid var(--tyy9ow1p);border-radius:.25rem;outline:none;resize:vertical;min-height:80px;font-family:monospace}._1p8wnc7k:focus{border-color:var(--tyy9ow8)}._1p8wnc7k::placeholder{color:var(--tyy9ow1r)}._1p8wnc7l{font-size:.6875rem;color:var(--tyy9ow1s);margin-top:2px}._1p8wnc7m{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}._1p8wnc7n{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--tyy9ow1u);background-color:var(--tyy9ow1m);border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7n:hover{background-color:var(--tyy9ow1n)}._1p8wnc7o{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;background-color:var(--tyy9ow8);border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7o:hover{background-color:var(--tyy9ow9)}._1p8wnc7o:disabled{opacity:.6;cursor:not-allowed}._1p8wnc7p{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--tyy9ow12);background-color:transparent;border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7p:hover{background-color:var(--tyy9owu)}._1p8wnc7q{display:inline-flex;align-items:center;gap:.25rem;padding:0;font-size:.875rem;font-weight:400;color:var(--tyy9ow1u);background-color:transparent;border:none;cursor:pointer;margin-bottom:1.5rem}._1p8wnc7q:hover{color:var(--tyy9ow1v)}._1p8wnc7r{display:flex;flex-direction:column;gap:1rem;max-width:500px}._1p8wnc7s{display:flex;flex-direction:column;gap:.25rem}._1p8wnc7t{font-size:.75rem;font-weight:500;color:var(--tyy9ow1u)}._1p8wnc7u{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;color:var(--tyy9ow1v);background-color:var(--tyy9ow1l);border:1px solid var(--tyy9ow1n);border-radius:.25rem}._1p8wnc7v{margin-top:.5rem}
@@ -1,2 +1,2 @@
1
- import{v as fe,c as F,m as ye,o as ge,j as r,r as q,I as ie}from"./index-DAHIcm_Z.js";import{B as ce}from"./button-COE7JEux.js";import{a as je}from"./combobox-7tupXBmD.js";import{u as _e,a as Ne}from"./useProvidersList-C-va39q5.js";import{u as be}from"./useMutation-DsF6JMg-.js";import{A as Pe}from"./arrow-left-6hmTZAiR.js";import{D as De,a as Ce,b as Se,c as ke,d as qe,A as Fe}from"./DialogTitle-CxBLj1-9.js";/* empty css */import"./useValueChanged-BrWmvpGJ.js";const Ee=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Ke=fe("pencil",Ee);const Me=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ze=fe("trash-2",Me),Re=()=>{const e=F.c(2),t=ye();let a;return e[0]!==t?(a={mutationFn:Oe,onSuccess:async()=>{await t.invalidateQueries({queryKey:["provider-configs"]})}},e[0]=t,e[1]=a):a=e[1],be(a)};async function Oe(e){const a=await(await ge.v1.providers.configs.$post({json:{providerId:e.providerId,config:e.config,enabled:e.enabled}})).json();return"data"in a?a.data:void 0}const Te=()=>{const e=F.c(2),t=ye();let a;return e[0]!==t?(a={mutationFn:Le,onSuccess:async()=>{await t.invalidateQueries({queryKey:["provider-configs"]})}},e[0]=t,e[1]=a):a=e[1],be(a)};async function Le(e){const a=await(await ge.v1.providers.configs[":id"].$delete({param:{id:e.id}})).json();return"data"in a?a.data:void 0}const g=[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your API key",required:!0},{name:"customHost",label:"Custom Base URL",type:"text",placeholder:"https://api.example.com",description:"Override the default API endpoint (optional)"}],Be={openai:{fields:[...g,{name:"openaiOrganization",label:"Organization ID",type:"text",placeholder:"org-...",description:"Your OpenAI organization ID (optional)"},{name:"openaiProject",label:"Project ID",type:"text",placeholder:"proj_...",description:"Your OpenAI project ID (optional)"},{name:"openaiBeta",label:"Beta Features",type:"text",placeholder:"assistants=v2",description:"OpenAI beta features header (optional)"}]},anthropic:{fields:[...g,{name:"anthropicBeta",label:"Beta Features",type:"text",placeholder:"messages-2024-07-01",description:"Anthropic beta features header (optional)"},{name:"anthropicVersion",label:"API Version",type:"text",placeholder:"2023-06-01",description:"Anthropic API version (optional)"}]},"azure-openai":{fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your Azure API key",required:!0},{name:"resourceName",label:"Resource Name",type:"text",placeholder:"my-azure-resource",description:"Your Azure resource name",required:!0},{name:"deploymentId",label:"Deployment ID",type:"text",placeholder:"gpt-4-deployment",description:"Your Azure deployment ID",required:!0},{name:"apiVersion",label:"API Version",type:"text",placeholder:"2024-02-15-preview",description:"Azure OpenAI API version"},{name:"azureAuthMode",label:"Authentication Mode",type:"select",options:[{value:"apiKey",label:"API Key"},{value:"entra",label:"Entra ID (Azure AD)"},{value:"managed",label:"Managed Identity"},{value:"workload",label:"Workload Identity"}]},{name:"azureAdToken",label:"Azure AD Token",type:"password",placeholder:"Enter Azure AD token",description:"For Entra ID authentication"},{name:"customHost",label:"Custom Endpoint",type:"text",placeholder:"https://my-resource.openai.azure.com"}]},"azure-ai":{fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your Azure AI API key",required:!0},{name:"azureFoundryUrl",label:"Foundry URL",type:"text",placeholder:"https://your-project.services.ai.azure.com/models",description:"Azure AI Foundry endpoint URL",required:!0},{name:"azureDeploymentName",label:"Deployment Name",type:"text",placeholder:"gpt-4o-mini",description:"Model deployment name"},{name:"azureApiVersion",label:"API Version",type:"text",placeholder:"2024-05-01-preview"}]},bedrock:{fields:[{name:"awsAccessKeyId",label:"AWS Access Key ID",type:"text",placeholder:"AKIAIOSFODNN7EXAMPLE",required:!0},{name:"awsSecretAccessKey",label:"AWS Secret Access Key",type:"password",placeholder:"Enter your AWS secret access key",required:!0},{name:"awsRegion",label:"AWS Region",type:"text",placeholder:"us-east-1",required:!0},{name:"awsSessionToken",label:"Session Token",type:"password",placeholder:"For temporary credentials",description:"AWS session token (optional)"},{name:"awsAuthType",label:"Authentication Type",type:"select",options:[{value:"apiKey",label:"Access Keys"},{value:"assumedRole",label:"Assumed Role"}]},{name:"awsRoleArn",label:"Role ARN",type:"text",placeholder:"arn:aws:iam::123456789:role/MyRole",description:"For assumed role authentication"},{name:"awsBedrockModel",label:"Model ID",type:"text",placeholder:"anthropic.claude-3-sonnet-20240229-v1:0"}]},sagemaker:{fields:[{name:"awsAccessKeyId",label:"AWS Access Key ID",type:"text",placeholder:"AKIAIOSFODNN7EXAMPLE",required:!0},{name:"awsSecretAccessKey",label:"AWS Secret Access Key",type:"password",placeholder:"Enter your AWS secret access key",required:!0},{name:"awsRegion",label:"AWS Region",type:"text",placeholder:"us-east-1",required:!0},{name:"amznSagemakerModelName",label:"SageMaker Model Name",type:"text",placeholder:"my-model-endpoint"},{name:"amznSagemakerInferenceComponent",label:"Inference Component",type:"text",placeholder:"my-inference-component"}]},"vertex-ai":{fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your Google API key"},{name:"vertexProjectId",label:"Project ID",type:"text",placeholder:"my-gcp-project",required:!0},{name:"vertexRegion",label:"Region",type:"text",placeholder:"us-central1",required:!0},{name:"vertexServiceAccountJson",label:"Service Account JSON",type:"textarea",placeholder:'{"type": "service_account", ...}',description:"Service account credentials JSON"},{name:"vertexModelName",label:"Model Name",type:"text",placeholder:"gemini-1.5-pro"}]},google:{fields:g},"workers-ai":{fields:[...g,{name:"workersAiAccountId",label:"Account ID",type:"text",placeholder:"Your Cloudflare account ID",required:!0}]},"stability-ai":{fields:[...g,{name:"stabilityClientId",label:"Client ID",type:"text",placeholder:"Your client ID"},{name:"stabilityClientUserId",label:"Client User ID",type:"text",placeholder:"Your client user ID"},{name:"stabilityClientVersion",label:"Client Version",type:"text",placeholder:"1.0.0"}]},huggingface:{fields:[...g,{name:"huggingfaceBaseUrl",label:"Inference Endpoint URL",type:"text",placeholder:"https://your-endpoint.us-east-1.aws.endpoints.huggingface.cloud",description:"Custom inference endpoint URL"}]},"fireworks-ai":{fields:[...g,{name:"fireworksAccountId",label:"Account ID",type:"text",placeholder:"Your Fireworks account ID"}]},"mistral-ai":{fields:[...g,{name:"mistralFimCompletion",label:"FIM Completion",type:"select",options:[{value:"",label:"Disabled"},{value:"true",label:"Enabled"}],description:"Use Fill-In-Middle completions endpoint"}]},oracle:{fields:[{name:"oracleTenancy",label:"Tenancy OCID",type:"text",placeholder:"ocid1.tenancy.oc1...",required:!0},{name:"oracleUser",label:"User OCID",type:"text",placeholder:"ocid1.user.oc1...",required:!0},{name:"oracleFingerprint",label:"API Key Fingerprint",type:"text",placeholder:"aa:bb:cc:dd:ee:ff:...",required:!0},{name:"oraclePrivateKey",label:"Private Key (PEM)",type:"textarea",placeholder:`-----BEGIN PRIVATE KEY-----
1
+ import{v as fe,c as F,m as ye,o as ge,j as r,r as q,I as ie}from"./index-DWCIocaw.js";import{B as ce}from"./button-BOiGz4Ne.js";import{a as je}from"./combobox-JWj_3Y0m.js";import{u as _e,a as Ne}from"./useProvidersList-DtWn_MJs.js";import{u as be}from"./useMutation-DflbfH1f.js";import{A as Pe}from"./arrow-left-lxisLR8v.js";import{D as De,a as Ce,b as Se,c as ke,d as qe,A as Fe}from"./DialogTitle-UCL-cueg.js";/* empty css */import"./useValueChanged-CIhVK-Fa.js";const Ee=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Ke=fe("pencil",Ee);const Me=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ze=fe("trash-2",Me),Re=()=>{const e=F.c(2),t=ye();let a;return e[0]!==t?(a={mutationFn:Oe,onSuccess:async()=>{await t.invalidateQueries({queryKey:["provider-configs"]})}},e[0]=t,e[1]=a):a=e[1],be(a)};async function Oe(e){const a=await(await ge.v1.providers.configs.$post({json:{providerId:e.providerId,config:e.config,enabled:e.enabled}})).json();return"data"in a?a.data:void 0}const Te=()=>{const e=F.c(2),t=ye();let a;return e[0]!==t?(a={mutationFn:Le,onSuccess:async()=>{await t.invalidateQueries({queryKey:["provider-configs"]})}},e[0]=t,e[1]=a):a=e[1],be(a)};async function Le(e){const a=await(await ge.v1.providers.configs[":id"].$delete({param:{id:e.id}})).json();return"data"in a?a.data:void 0}const g=[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your API key",required:!0},{name:"customHost",label:"Custom Base URL",type:"text",placeholder:"https://api.example.com",description:"Override the default API endpoint (optional)"}],Be={openai:{fields:[...g,{name:"openaiOrganization",label:"Organization ID",type:"text",placeholder:"org-...",description:"Your OpenAI organization ID (optional)"},{name:"openaiProject",label:"Project ID",type:"text",placeholder:"proj_...",description:"Your OpenAI project ID (optional)"},{name:"openaiBeta",label:"Beta Features",type:"text",placeholder:"assistants=v2",description:"OpenAI beta features header (optional)"}]},anthropic:{fields:[...g,{name:"anthropicBeta",label:"Beta Features",type:"text",placeholder:"messages-2024-07-01",description:"Anthropic beta features header (optional)"},{name:"anthropicVersion",label:"API Version",type:"text",placeholder:"2023-06-01",description:"Anthropic API version (optional)"}]},"azure-openai":{fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your Azure API key",required:!0},{name:"resourceName",label:"Resource Name",type:"text",placeholder:"my-azure-resource",description:"Your Azure resource name",required:!0},{name:"deploymentId",label:"Deployment ID",type:"text",placeholder:"gpt-4-deployment",description:"Your Azure deployment ID",required:!0},{name:"apiVersion",label:"API Version",type:"text",placeholder:"2024-02-15-preview",description:"Azure OpenAI API version"},{name:"azureAuthMode",label:"Authentication Mode",type:"select",options:[{value:"apiKey",label:"API Key"},{value:"entra",label:"Entra ID (Azure AD)"},{value:"managed",label:"Managed Identity"},{value:"workload",label:"Workload Identity"}]},{name:"azureAdToken",label:"Azure AD Token",type:"password",placeholder:"Enter Azure AD token",description:"For Entra ID authentication"},{name:"customHost",label:"Custom Endpoint",type:"text",placeholder:"https://my-resource.openai.azure.com"}]},"azure-ai":{fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your Azure AI API key",required:!0},{name:"azureFoundryUrl",label:"Foundry URL",type:"text",placeholder:"https://your-project.services.ai.azure.com/models",description:"Azure AI Foundry endpoint URL",required:!0},{name:"azureDeploymentName",label:"Deployment Name",type:"text",placeholder:"gpt-4o-mini",description:"Model deployment name"},{name:"azureApiVersion",label:"API Version",type:"text",placeholder:"2024-05-01-preview"}]},bedrock:{fields:[{name:"awsAccessKeyId",label:"AWS Access Key ID",type:"text",placeholder:"AKIAIOSFODNN7EXAMPLE",required:!0},{name:"awsSecretAccessKey",label:"AWS Secret Access Key",type:"password",placeholder:"Enter your AWS secret access key",required:!0},{name:"awsRegion",label:"AWS Region",type:"text",placeholder:"us-east-1",required:!0},{name:"awsSessionToken",label:"Session Token",type:"password",placeholder:"For temporary credentials",description:"AWS session token (optional)"},{name:"awsAuthType",label:"Authentication Type",type:"select",options:[{value:"apiKey",label:"Access Keys"},{value:"assumedRole",label:"Assumed Role"}]},{name:"awsRoleArn",label:"Role ARN",type:"text",placeholder:"arn:aws:iam::123456789:role/MyRole",description:"For assumed role authentication"},{name:"awsBedrockModel",label:"Model ID",type:"text",placeholder:"anthropic.claude-3-sonnet-20240229-v1:0"}]},sagemaker:{fields:[{name:"awsAccessKeyId",label:"AWS Access Key ID",type:"text",placeholder:"AKIAIOSFODNN7EXAMPLE",required:!0},{name:"awsSecretAccessKey",label:"AWS Secret Access Key",type:"password",placeholder:"Enter your AWS secret access key",required:!0},{name:"awsRegion",label:"AWS Region",type:"text",placeholder:"us-east-1",required:!0},{name:"amznSagemakerModelName",label:"SageMaker Model Name",type:"text",placeholder:"my-model-endpoint"},{name:"amznSagemakerInferenceComponent",label:"Inference Component",type:"text",placeholder:"my-inference-component"}]},"vertex-ai":{fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"Enter your Google API key"},{name:"vertexProjectId",label:"Project ID",type:"text",placeholder:"my-gcp-project",required:!0},{name:"vertexRegion",label:"Region",type:"text",placeholder:"us-central1",required:!0},{name:"vertexServiceAccountJson",label:"Service Account JSON",type:"textarea",placeholder:'{"type": "service_account", ...}',description:"Service account credentials JSON"},{name:"vertexModelName",label:"Model Name",type:"text",placeholder:"gemini-1.5-pro"}]},google:{fields:g},"workers-ai":{fields:[...g,{name:"workersAiAccountId",label:"Account ID",type:"text",placeholder:"Your Cloudflare account ID",required:!0}]},"stability-ai":{fields:[...g,{name:"stabilityClientId",label:"Client ID",type:"text",placeholder:"Your client ID"},{name:"stabilityClientUserId",label:"Client User ID",type:"text",placeholder:"Your client user ID"},{name:"stabilityClientVersion",label:"Client Version",type:"text",placeholder:"1.0.0"}]},huggingface:{fields:[...g,{name:"huggingfaceBaseUrl",label:"Inference Endpoint URL",type:"text",placeholder:"https://your-endpoint.us-east-1.aws.endpoints.huggingface.cloud",description:"Custom inference endpoint URL"}]},"fireworks-ai":{fields:[...g,{name:"fireworksAccountId",label:"Account ID",type:"text",placeholder:"Your Fireworks account ID"}]},"mistral-ai":{fields:[...g,{name:"mistralFimCompletion",label:"FIM Completion",type:"select",options:[{value:"",label:"Disabled"},{value:"true",label:"Enabled"}],description:"Use Fill-In-Middle completions endpoint"}]},oracle:{fields:[{name:"oracleTenancy",label:"Tenancy OCID",type:"text",placeholder:"ocid1.tenancy.oc1...",required:!0},{name:"oracleUser",label:"User OCID",type:"text",placeholder:"ocid1.user.oc1...",required:!0},{name:"oracleFingerprint",label:"API Key Fingerprint",type:"text",placeholder:"aa:bb:cc:dd:ee:ff:...",required:!0},{name:"oraclePrivateKey",label:"Private Key (PEM)",type:"textarea",placeholder:`-----BEGIN PRIVATE KEY-----
2
2
  ...`,required:!0},{name:"oracleKeyPassphrase",label:"Key Passphrase",type:"password",placeholder:"Passphrase for private key"},{name:"oracleRegion",label:"Region",type:"text",placeholder:"us-ashburn-1",required:!0},{name:"oracleCompartmentId",label:"Compartment ID",type:"text",placeholder:"ocid1.compartment.oc1..."},{name:"oracleServingMode",label:"Serving Mode",type:"select",options:[{value:"ON_DEMAND",label:"On Demand"},{value:"DEDICATED",label:"Dedicated"}]}]},cortex:{fields:[...g,{name:"snowflakeAccount",label:"Snowflake Account",type:"text",placeholder:"your-account.snowflakecomputing.com",required:!0}]}};function xe(e){return Be[e]?.fields||g}function Ve(e){return xe(e).filter(a=>a.required).map(a=>a.name)}var de="_1p8wnc70",Ue="_1p8wnc71",$e="_1p8wnc72",We="_1p8wnc73",Ye="_1p8wnc74",He="_1p8wnc75",Je="_1p8wnc76",Qe="_1p8wnc77",me="_1p8wnc78",Ge="_1p8wnc79",Xe="_1p8wnc7a",Ze="_1p8wnc7b",et="_1p8wnc7c",tt="_1p8wnc7d",rt="_1p8wnc7e",at="_1p8wnc7f",ee="_1p8wnc7h",lt="_1p8wnc7i",pe="_1p8wnc7j",nt="_1p8wnc7k",ot="_1p8wnc7l",st="_1p8wnc7m",it="_1p8wnc7n",ct="_1p8wnc7p",dt="_1p8wnc7q",pt="_1p8wnc7r",he="_1p8wnc7s",ve="_1p8wnc7t",ut="_1p8wnc7u",mt="_1p8wnc7v";function ht(e){const t=F.c(9),{providerId:a,configValues:s,onChange:i}=e;if(!a)return null;let p;if(t[0]!==s||t[1]!==i||t[2]!==a){const h=xe(a);let f;t[4]!==s||t[5]!==i?(f=u=>r.jsx(vt,{field:u,value:s[u.name]||"",onChange:l=>i(u.name,l)},u.name),t[4]=s,t[5]=i,t[6]=f):f=t[6],p=h.map(f),t[0]=s,t[1]=i,t[2]=a,t[3]=p}else p=t[3];let v;return t[7]!==p?(v=r.jsx(r.Fragment,{children:p}),t[7]=p,t[8]=v):v=t[8],v}function vt(e){const t=F.c(52),{field:a,value:s,onChange:i}=e;let p;t[0]!==a.required?(p=a.required&&r.jsx("span",{style:{color:"var(--error9)"},children:" *"}),t[0]=a.required,t[1]=p):p=t[1];let v;t[2]!==a.label||t[3]!==p?(v=r.jsxs("label",{className:lt,children:[a.label,p]}),t[2]=a.label,t[3]=p,t[4]=v):v=t[4];const h=v;let f;t[5]!==a.description?(f=a.description&&r.jsx("span",{className:ot,children:a.description}),t[5]=a.description,t[6]=f):f=t[6];const u=f;switch(a.type){case"select":{let l;t[7]!==i?(l=x=>i(x.target.value),t[7]=i,t[8]=l):l=t[8];let n;t[9]!==a.required?(n=!a.required&&r.jsx("option",{value:"",children:"Select..."}),t[9]=a.required,t[10]=n):n=t[10];let c;t[11]!==a.options?(c=a.options?.map(ft),t[11]=a.options,t[12]=c):c=t[12];let d;t[13]!==l||t[14]!==n||t[15]!==c||t[16]!==s?(d=r.jsxs("select",{className:pe,value:s,onChange:l,children:[n,c]}),t[13]=l,t[14]=n,t[15]=c,t[16]=s,t[17]=d):d=t[17];let b;return t[18]!==u||t[19]!==h||t[20]!==d?(b=r.jsxs("div",{className:ee,children:[h,d,u]}),t[18]=u,t[19]=h,t[20]=d,t[21]=b):b=t[21],b}case"textarea":{let l;t[22]!==i?(l=d=>i(d.target.value),t[22]=i,t[23]=l):l=t[23];let n;t[24]!==a.placeholder||t[25]!==l||t[26]!==s?(n=r.jsx("textarea",{className:nt,value:s,onChange:l,placeholder:a.placeholder,rows:4}),t[24]=a.placeholder,t[25]=l,t[26]=s,t[27]=n):n=t[27];let c;return t[28]!==u||t[29]!==h||t[30]!==n?(c=r.jsxs("div",{className:ee,children:[h,n,u]}),t[28]=u,t[29]=h,t[30]=n,t[31]=c):c=t[31],c}case"password":{let l;t[32]!==i?(l=d=>i(d.target.value),t[32]=i,t[33]=l):l=t[33];let n;t[34]!==a.placeholder||t[35]!==l||t[36]!==s?(n=r.jsx("input",{type:"password",className:pe,value:s,onChange:l,placeholder:a.placeholder}),t[34]=a.placeholder,t[35]=l,t[36]=s,t[37]=n):n=t[37];let c;return t[38]!==u||t[39]!==h||t[40]!==n?(c=r.jsxs("div",{className:ee,children:[h,n,u]}),t[38]=u,t[39]=h,t[40]=n,t[41]=c):c=t[41],c}case"text":default:{let l;t[42]!==i?(l=d=>i(d.target.value),t[42]=i,t[43]=l):l=t[43];let n;t[44]!==a.placeholder||t[45]!==l||t[46]!==s?(n=r.jsx("input",{type:"text",className:pe,value:s,onChange:l,placeholder:a.placeholder}),t[44]=a.placeholder,t[45]=l,t[46]=s,t[47]=n):n=t[47];let c;return t[48]!==u||t[49]!==h||t[50]!==n?(c=r.jsxs("div",{className:ee,children:[h,n,u]}),t[48]=u,t[49]=h,t[50]=n,t[51]=c):c=t[51],c}}}function ft(e){return r.jsx("option",{value:e.value,children:e.label},e.value)}function St(){const e=F.c(74),{data:t,isLoading:a}=_e(),{data:s}=Ne(),i=Re(),p=Te(),[v,h]=q.useState("list"),[f,u]=q.useState(!1),[l,n]=q.useState(null);let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={},e[0]=c):c=e[0];const[d,b]=q.useState(c),[x,k]=q.useState(null);let E;e[1]!==s?(E=o=>s?.find(m=>m.id===o),e[1]=s,e[2]=E):E=e[2];const A=E;let K;e[3]!==s||e[4]!==t?(K=()=>{if(!s)return s;const o=t?.map(xt)||[];return s.filter(m=>!o.includes(m.id))},e[3]=s,e[4]=t,e[5]=K):K=e[5];const te=K;let M;e[6]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{n(null),b({}),k(null),h("add")},e[6]=M):M=e[6];const Ae=M;let z;e[7]!==A?(z=o=>{k(o);const m=A(o.providerId);n(m||null);const y=o.config;b(y||{}),h("edit")},e[7]=A,e[8]=z):z=e[8];const re=z;let R;e[9]===Symbol.for("react.memo_cache_sentinel")?(R=()=>{h("list"),n(null),b({}),k(null)},e[9]=R):R=e[9];const ue=R;let O;e[10]===Symbol.for("react.memo_cache_sentinel")?(O=o=>{k(o),u(!0)},e[10]=O):O=e[10];const Ie=O;let T;e[11]===Symbol.for("react.memo_cache_sentinel")?(T=(o,m)=>{b(y=>({...y,[o]:m}))},e[11]=T):T=e[11];const we=T;let L;e[12]!==d||e[13]!==l?(L=()=>l?Ve(l.id).every(m=>d[m]?.trim()):!1,e[12]=d,e[13]=l,e[14]=L):L=e[14];const ae=L;let B;e[15]!==d||e[16]!==l||e[17]!==i?(B=async()=>{if(!l)return;const o=Object.fromEntries(Object.entries(d).filter(bt));await i.mutateAsync({providerId:l.id,config:o,enabled:!0}),ue()},e[15]=d,e[16]=l,e[17]=i,e[18]=B):B=e[18];const le=B;let V;e[19]!==p||e[20]!==x?(V=async()=>{x&&(await p.mutateAsync({id:x.id}),u(!1),k(null))},e[19]=p,e[20]=x,e[21]=V):V=e[21];const ne=V;if(a){let o;return e[22]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx("div",{className:de,children:"Loading..."}),e[22]=o):o=e[22],o}if(v==="add"||v==="edit"){let o;e[23]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsxs("button",{className:dt,onClick:ue,children:[r.jsx(ie,{icon:Pe}),"Back to Providers"]}),e[23]=o):o=e[23];let m;e[24]!==te||e[25]!==l||e[26]!==v?(m=v==="add"?r.jsxs("div",{className:he,children:[r.jsx("label",{className:ve,children:"Provider"}),r.jsx(je,{items:te()||[],value:l,onValueChange:n,itemToString:gt,itemToIcon:yt,placeholder:"Select provider"})]}):r.jsxs("div",{className:he,children:[r.jsx("label",{className:ve,children:"Provider"}),r.jsxs("div",{className:ut,children:[l?.logo&&r.jsx("img",{src:l.logo,alt:l.name,className:me}),r.jsx("span",{children:l?.name})]})]}),e[24]=te,e[25]=l,e[26]=v,e[27]=m):m=e[27];let y;e[28]!==d||e[29]!==l?(y=l&&r.jsx(ht,{providerId:l.id,configValues:d,onChange:we}),e[28]=d,e[29]=l,e[30]=y):y=e[30];let C;e[31]!==ae||e[32]!==i.isPending?(C=!ae()||i.isPending,e[31]=ae,e[32]=i.isPending,e[33]=C):C=e[33];const se=i.isPending?"Saving...":"Save";let S;e[34]!==le||e[35]!==C||e[36]!==se?(S=r.jsx("div",{className:mt,children:r.jsx(ce,{onClick:le,disabled:C,children:se})}),e[34]=le,e[35]=C,e[36]=se,e[37]=S):S=e[37];let Z;return e[38]!==m||e[39]!==y||e[40]!==S?(Z=r.jsxs("div",{className:de,children:[o,r.jsxs("div",{className:pt,children:[m,y,S]})]}),e[38]=m,e[39]=y,e[40]=S,e[41]=Z):Z=e[41],Z}let U;e[42]===Symbol.for("react.memo_cache_sentinel")?(U=r.jsxs("div",{className:Ue,children:[r.jsx("h2",{className:$e,children:"Providers"}),r.jsx("p",{className:We,children:"Configure API keys for your LLM providers."})]}),e[42]=U):U=e[42];let $;e[43]===Symbol.for("react.memo_cache_sentinel")?($=r.jsxs("div",{className:He,children:[r.jsx("span",{children:"Name"}),r.jsx("span",{children:"Actions"})]}),e[43]=$):$=e[43];let I;e[44]!==A||e[45]!==re||e[46]!==t?(I=t&&t.length>0?t.map(o=>{const m=A(o.providerId);return r.jsxs("div",{className:Je,children:[r.jsxs("div",{className:Qe,children:[m?.logo&&r.jsx("img",{src:m.logo,alt:m.name,className:me}),r.jsx("span",{className:Ge,children:m?.name||o.providerId})]}),r.jsxs("div",{className:Xe,children:[r.jsx(ce,{size:"icon",variant:"ghost",scheme:"gray",onClick:()=>re(o),children:r.jsx(ie,{icon:Ke})}),r.jsx(ce,{size:"icon",variant:"ghost",scheme:"destructive",onClick:()=>Ie(o),children:r.jsx(ie,{icon:ze})})]})]},o.id)}):r.jsx("div",{className:et,children:"No providers configured yet. Add your first provider to get started."}),e[44]=A,e[45]=re,e[46]=t,e[47]=I):I=e[47];let w;e[48]!==I?(w=r.jsxs("div",{className:Ye,children:[$,I]}),e[48]=I,e[49]=w):w=e[49];let W;e[50]===Symbol.for("react.memo_cache_sentinel")?(W=r.jsx("button",{className:Ze,onClick:Ae,children:"Add provider"}),e[50]=W):W=e[50];let Y;e[51]===Symbol.for("react.memo_cache_sentinel")?(Y=r.jsx(De,{className:tt}),e[51]=Y):Y=e[51];let H,J;e[52]===Symbol.for("react.memo_cache_sentinel")?(H=r.jsx(Ce,{className:at,children:"Delete Provider"}),J={margin:0,color:"var(--gray11)",fontSize:"0.875rem"},e[52]=H,e[53]=J):(H=e[52],J=e[53]);let j;e[54]!==x?.providerId||e[55]!==A?(j=A(x?.providerId||"")?.name,e[54]=x?.providerId,e[55]=A,e[56]=j):j=e[56];let _;e[57]!==j?(_=r.jsxs("p",{style:J,children:["Are you sure you want to delete the"," ",r.jsx("strong",{children:j})," ","provider configuration? This action cannot be undone."]}),e[57]=j,e[58]=_):_=e[58];let Q;e[59]===Symbol.for("react.memo_cache_sentinel")?(Q=r.jsx(Se,{className:it,children:"Cancel"}),e[59]=Q):Q=e[59];let G;e[60]===Symbol.for("react.memo_cache_sentinel")?(G={backgroundColor:"var(--error9)",color:"white"},e[60]=G):G=e[60];const oe=p.isPending?"Deleting...":"Delete";let N;e[61]!==p.isPending||e[62]!==ne||e[63]!==oe?(N=r.jsxs("div",{className:st,children:[Q,r.jsx("button",{className:ct,onClick:ne,disabled:p.isPending,style:G,children:oe})]}),e[61]=p.isPending,e[62]=ne,e[63]=oe,e[64]=N):N=e[64];let P;e[65]!==_||e[66]!==N?(P=r.jsxs(ke,{children:[Y,r.jsxs(qe,{className:rt,children:[H,_,N]})]}),e[65]=_,e[66]=N,e[67]=P):P=e[67];let D;e[68]!==f||e[69]!==P?(D=r.jsx(Fe,{open:f,onOpenChange:u,children:P}),e[68]=f,e[69]=P,e[70]=D):D=e[70];let X;return e[71]!==w||e[72]!==D?(X=r.jsxs("div",{className:de,children:[U,w,W,D]}),e[71]=w,e[72]=D,e[73]=X):X=e[73],X}function yt(e){return e?.logo?r.jsx("img",{src:e.logo,alt:e.name,style:{width:16,height:16,borderRadius:2,objectFit:"contain"}}):null}function gt(e){return e?.name??""}function bt(e){const[,t]=e;return t?.trim()}function xt(e){return e.providerId}export{St as component};
package/dist/index.cjs CHANGED
@@ -63,7 +63,7 @@ let __llmops_core_db = require("@llmops/core/db");
63
63
  let better_auth = require("better-auth");
64
64
 
65
65
  //#region src/client/index.tsx?url
66
- var client_default = "/assets/index-DAHIcm_Z.js";
66
+ var client_default = "/assets/index-DWCIocaw.js";
67
67
 
68
68
  //#endregion
69
69
  //#region src/client/styles/styles.css?url
package/dist/index.mjs CHANGED
@@ -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-DAHIcm_Z.js";
40
+ var client_default = "/assets/index-DWCIocaw.js";
41
41
 
42
42
  //#endregion
43
43
  //#region src/client/styles/styles.css?url
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmops/app",
3
- "version": "0.2.0-beta.1",
3
+ "version": "0.2.0",
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.2.0-beta.1",
70
- "@llmops/gateway": "^0.2.0-beta.1"
69
+ "@llmops/core": "^0.2.0",
70
+ "@llmops/gateway": "^0.2.0"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "react": "^19.2.1",
@@ -1 +0,0 @@
1
- import{v as c}from"./index-DAHIcm_Z.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"./index-DAHIcm_Z.js";var o="i5n19u0",a="i5n19u1";export{a,o as i};
@@ -1 +0,0 @@
1
- import"./index-DAHIcm_Z.js";var t="_1rf6rl0",a="_1rf6rl1",n="_1rf6rl2";export{a,n as b,t as n};
@@ -1 +0,0 @@
1
- import"./index-DAHIcm_Z.js";var r="tye0o0",t="tye0o1";export{r as a,t as v};
@@ -1 +0,0 @@
1
- ._1p8wnc70{max-width:700px}._1p8wnc71{margin-bottom:1.5rem}._1p8wnc72{font-size:.875rem;font-weight:600;color:var(--tyy9ow1v);margin:0;margin-bottom:.25rem}._1p8wnc73{font-size:.75rem;color:var(--tyy9ow1s);margin:0;line-height:1.5}._1p8wnc74{border:1px solid var(--tyy9ow1n);border-radius:.5rem;overflow:hidden;margin-bottom:1rem}._1p8wnc75{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.5rem 1rem;background-color:var(--tyy9ow1l);border-bottom:1px solid var(--tyy9ow1n);font-size:.75rem;font-weight:500;color:var(--tyy9ow1t)}._1p8wnc76{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.5rem 1rem;align-items:center;border-bottom:1px solid var(--tyy9ow1n)}._1p8wnc76:last-child{border-bottom:none}._1p8wnc77{display:flex;align-items:center;gap:.5rem}._1p8wnc78{width:20px;height:20px;border-radius:4px;object-fit:contain}._1p8wnc79{font-size:.875rem;font-weight:500;color:var(--tyy9ow1v)}._1p8wnc7a{display:flex;align-items:center;gap:.25rem}._1p8wnc7b{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--tyy9ow1u);background-color:var(--tyy9ow1k);border:1px solid var(--tyy9ow1p);border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7b:hover{background-color:var(--tyy9ow1m);border-color:var(--tyy9ow1q)}._1p8wnc7c{padding:2rem;text-align:center;color:var(--tyy9ow1s);font-size:.875rem}._1p8wnc7d{position:fixed;inset:0;background-color:#00000080;z-index:1000;transition:opacity .15s}._1p8wnc7d[data-starting-style],._1p8wnc7d[data-ending-style]{opacity:0}._1p8wnc7e{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--tyy9ow2c);border-radius:.5rem;padding:1.5rem;box-shadow:0 25px 50px -12px #00000040;z-index:1001;min-width:450px;max-width:90vw;max-height:85vh;overflow:auto;outline:1px solid var(--tyy9ow1p);transition:opacity .15s,transform .15s}._1p8wnc7e[data-starting-style],._1p8wnc7e[data-ending-style]{opacity:0;transform:translate(-50%,-50%) scale(.95)}[data-base-ui-combobox-positioner]{z-index:1100!important}._1p8wnc7f{font-size:1.125rem;font-weight:600;color:var(--tyy9ow1v);margin:0;margin-bottom:1rem}._1p8wnc7g{display:flex;flex-direction:column;gap:1rem}._1p8wnc7h{display:flex;flex-direction:column;gap:.25rem}._1p8wnc7i{font-size:.75rem;font-weight:500;color:var(--tyy9ow1u)}._1p8wnc7j{padding:.5rem;font-size:.875rem;color:var(--tyy9ow1v);background-color:var(--tyy9ow1k);border:1px solid var(--tyy9ow1p);border-radius:.25rem;outline:none}._1p8wnc7j:focus{border-color:var(--tyy9ow8)}._1p8wnc7j::placeholder{color:var(--tyy9ow1r)}._1p8wnc7k{padding:.5rem;font-size:.875rem;color:var(--tyy9ow1v);background-color:var(--tyy9ow1k);border:1px solid var(--tyy9ow1p);border-radius:.25rem;outline:none;resize:vertical;min-height:80px;font-family:monospace}._1p8wnc7k:focus{border-color:var(--tyy9ow8)}._1p8wnc7k::placeholder{color:var(--tyy9ow1r)}._1p8wnc7l{font-size:.6875rem;color:var(--tyy9ow1s);margin-top:2px}._1p8wnc7m{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}._1p8wnc7n{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--tyy9ow1u);background-color:var(--tyy9ow1m);border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7n:hover{background-color:var(--tyy9ow1n)}._1p8wnc7o{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;background-color:var(--tyy9ow8);border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7o:hover{background-color:var(--tyy9ow9)}._1p8wnc7o:disabled{opacity:.6;cursor:not-allowed}._1p8wnc7p{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--tyy9ow12);background-color:transparent;border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}._1p8wnc7p:hover{background-color:var(--tyy9owu)}._1p8wnc7q{display:inline-flex;align-items:center;gap:.25rem;padding:0;font-size:.875rem;font-weight:400;color:var(--tyy9ow1u);background-color:transparent;border:none;cursor:pointer;margin-bottom:1.5rem}._1p8wnc7q:hover{color:var(--tyy9ow1v)}._1p8wnc7r{display:flex;flex-direction:column;gap:1rem;max-width:500px}._1p8wnc7s{display:flex;flex-direction:column;gap:.25rem}._1p8wnc7t{font-size:.75rem;font-weight:500;color:var(--tyy9ow1u)}._1p8wnc7u{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;color:var(--tyy9ow1v);background-color:var(--tyy9ow1l);border:1px solid var(--tyy9ow1n);border-radius:.25rem}._1p8wnc7v{margin-top:.5rem}