@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.
- package/dist/.vite/manifest.json +246 -246
- package/dist/assets/{DialogTitle-CxBLj1-9.js → DialogTitle-UCL-cueg.js} +1 -1
- package/dist/assets/{Form-BNRL8XWO.js → Form-DCtoTR-p.js} +1 -1
- package/dist/assets/{_environment-DP283K6-.js → _environment-DK0RuLfe.js} +1 -1
- package/dist/assets/{_observability-CKbO1YDc.js → _observability-BsCcZkih.js} +1 -1
- package/dist/assets/{_settings-D_xgTz13.js → _settings-BBP4PpLX.js} +1 -1
- package/dist/assets/{_tabs-Du0rKJRQ.js → _tabs-DhgOS8ht.js} +1 -1
- package/dist/assets/{_tabs-B4OeOdtD.js → _tabs-DrzB5Z0A.js} +1 -1
- package/dist/assets/{_variant-Coggt7xV.js → _variant-CnHZzp0Z.js} +1 -1
- package/dist/assets/{_variants-7Dzwfolk.js → _variants-B1QyPFs9.js} +1 -1
- package/dist/assets/{area.css-vuJcGX7o.js → area.css-CLOfP5iE.js} +1 -1
- package/dist/assets/{arrow-left-6hmTZAiR.js → arrow-left-lxisLR8v.js} +1 -1
- package/dist/assets/{auth.css-DZwRqaUN.js → auth.css-B5Lrnlbx.js} +1 -1
- package/dist/assets/{button-COE7JEux.js → button-BOiGz4Ne.js} +1 -1
- package/dist/assets/check-CPNSKHk4.js +1 -0
- package/dist/assets/{chevron-right-Flf_erVP.js → chevron-right-BtD8s6fj.js} +1 -1
- package/dist/assets/{combobox-7tupXBmD.js → combobox-JWj_3Y0m.js} +1 -1
- package/dist/assets/{configs-DiX0v39W.js → configs-CWaFij7a.js} +1 -1
- package/dist/assets/{configs.css-CcfMCKcJ.js → configs.css-C0mqmoVB.js} +1 -1
- package/dist/assets/{copy-DpJ7J1QT.js → copy-Dyj2k1Sq.js} +1 -1
- package/dist/assets/{costs-YGYS6p97.js → costs-5Vkkcitr.js} +1 -1
- package/dist/assets/{environments-SG5eHA9e.js → environments-BHZ_35T8.js} +1 -1
- package/dist/assets/{index-DBcmlZIg.js → index-Ba7KtRo4.js} +1 -1
- package/dist/assets/{index-L9LUh7qm.js → index-Bx54WVNn.js} +1 -1
- package/dist/assets/{index-ClFgoD7G.js → index-CKUiONR1.js} +1 -1
- package/dist/assets/{index-BZWJrClo.js → index-CmwqDWtN.js} +1 -1
- package/dist/assets/{index-CXl8yUk6.js → index-D7CjbFS0.js} +1 -1
- package/dist/assets/{index-DAHIcm_Z.js → index-DWCIocaw.js} +2 -2
- package/dist/assets/{index-wAmb7-nC.js → index-DdbFK5pg.js} +1 -1
- package/dist/assets/{index.esm-DsH_UQKJ.js → index.esm-Cx4qB0Tk.js} +1 -1
- package/dist/assets/info-box.css-qBxEQPo-.js +1 -0
- package/dist/assets/{logo.css-DtCuocdz.js → logo.css-CYdOI33_.js} +1 -1
- package/dist/assets/new-config-state.css-BQLyMmey.js +1 -0
- package/dist/assets/{observability.css-BAXibO_9.js → observability.css-ScdW-rjk.js} +1 -1
- package/dist/assets/{overview-F3JSdG23.js → overview-BhnAFrza.js} +1 -1
- package/dist/assets/{plus-BcVQn54p.js → plus-BwJa6tsj.js} +1 -1
- package/dist/assets/{popover-D36G19tP.js → popover-CWoAmEjp.js} +1 -1
- package/dist/assets/{requests-Dy44WwrQ.js → requests-jUGszjv8.js} +1 -1
- package/dist/assets/{route-C1mboO2Z.js → route-BlPm4saZ.js} +1 -1
- package/dist/assets/{route-C7NpQ_hb.js → route-D4DCefa9.js} +1 -1
- package/dist/assets/{route-COMWKM5H.js → route-DHkrULGT.js} +1 -1
- package/dist/assets/{route-z4_NUCvs.js → route-mr2mV0Yu.js} +1 -1
- package/dist/assets/{route-Dsk5qQsg.js → route-v7PO6657.js} +1 -1
- package/dist/assets/{secrets-Cgp8qBss.js → secrets-Bn-e_u13.js} +1 -1
- package/dist/assets/{settings-Dzk0Fgyf.js → settings-DmnvYt0Y.js} +1 -1
- package/dist/assets/{settings-ByLwomz8.js → settings-IRh_XlY0.js} +1 -1
- package/dist/assets/{setup-DIckLV4k.js → setup-CIRVKcq-.js} +1 -1
- package/dist/assets/{signin-DT7q7n3E.js → signin-B_kUyGAp.js} +1 -1
- package/dist/assets/{table-B17CQG8y.js → table-49TSZbdr.js} +1 -1
- package/dist/assets/{tabs.css-uCzsVQVs.js → tabs.css-BIuQQZaU.js} +1 -1
- package/dist/assets/{targeting-CVDqzB8u.js → targeting-CbWcgm3w.js} +1 -1
- package/dist/assets/{tooltip-9kZBdRqy.js → tooltip-CkWL0dMr.js} +1 -1
- package/dist/assets/{update-or-create-name-Cio7-6LW.js → update-or-create-name-BGp6o60I.js} +1 -1
- package/dist/assets/{useAnalytics-CWiKryQj.js → useAnalytics-DiWjBhLw.js} +1 -1
- package/dist/assets/{useConfigList-Djrmvw_F.js → useConfigList-DuUKjCrF.js} +1 -1
- package/dist/assets/{useConfigVariants-DGrcmy6W.js → useConfigVariants-ChEQ-YUl.js} +1 -1
- package/dist/assets/{useEnvironments-LtKuRdzZ.js → useEnvironments-WGqvCy8N.js} +1 -1
- package/dist/assets/{useMutation-DsF6JMg-.js → useMutation-DflbfH1f.js} +1 -1
- package/dist/assets/{usePopupAutoResize-C3drixvS.js → usePopupAutoResize-RFCDgOFp.js} +1 -1
- package/dist/assets/{useProvidersList-C-va39q5.js → useProvidersList-DtWn_MJs.js} +1 -1
- package/dist/assets/{useSetTargeting-CrvMMukp.js → useSetTargeting-DCF7D6n-.js} +1 -1
- package/dist/assets/{useTargetingRules-6Axog9iE.js → useTargetingRules-1RFyDPYx.js} +1 -1
- package/dist/assets/{useValueChanged-BrWmvpGJ.js → useValueChanged-CIhVK-Fa.js} +1 -1
- package/dist/assets/{user-profile-DrbTr5ek.js → user-profile-CbijLYlM.js} +1 -1
- package/dist/assets/{variants-BS8SfM2u.js → variants-Bgidd8eE.js} +1 -1
- package/dist/assets/variants.css-BI8mTlOx.js +1 -0
- package/dist/assets/{workspace-general-4coxLwka.js → workspace-general-CRDqD2_R.js} +1 -1
- package/dist/assets/workspace-providers-B6qtGU0q.css +1 -0
- package/dist/assets/{workspace-providers-DpuJYL2J.js → workspace-providers-CBKGYtAx.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
- package/dist/assets/check-oX5AO5gn.js +0 -1
- package/dist/assets/info-box.css-tM-8eGuh.js +0 -1
- package/dist/assets/new-config-state.css-Ynd55T0z.js +0 -1
- package/dist/assets/variants.css-BzwJYCz7.js +0 -1
- 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-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
70
|
-
"@llmops/gateway": "^0.2.0
|
|
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}
|