@standardagents/builder 0.17.0-next.a4b7340 → 0.17.1

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.
@@ -1 +1 @@
1
- import{r as q}from"./formkit.js";import{B as K,_ as P,G as I,d as C,e as h}from"./index.js";import{_ as B}from"./DataTable.vue_vue_type_script_setup_true_lang.js";import{_ as x}from"./Modal.vue_vue_type_script_setup_true_lang.js";import{_ as U}from"./CopyButton.vue_vue_type_script_setup_true_lang.js";import{C as z}from"./CenteredContentView.js";import{_ as L}from"./UiCodeBlock.vue_vue_type_script_setup_true_lang.js";import{u as T}from"./useActionFeedback.js";import{n as O,g as F}from"./settingsData.js";import{d as J,r as i,o as R,O as N,z as V,e as $,k as o,q as Y,j as t,J as s,s as y,u as M,f as r}from"./vue.js";import"./vendor.js";import"./monaco.js";import"./syntax.js";import"./chevron-right.js";import"./ConfirmDialog.vue_vue_type_script_setup_true_lang.js";import"./check.js";const G={class:"flex justify-end gap-2"},H={class:"space-y-4"},Q={class:"flex gap-2"},W=["value"],X={class:"flex justify-end mt-4"},ve=J({__name:"ApiKeysView",setup(Z){const p=i(!1),u=i(!1),v=i(!1),c=i(""),m=i(!1),d=i(null),{feedback:k,setFeedback:f,clearFeedback:A}=T(),w=i([]),S=[{key:"name",label:"Name",width:"w-1/3"},{key:"keyPreview",label:"API Key",width:"w-1/3",html:!0,formatter:a=>`<code class="bg-neutral-100 dark:bg-neutral-800 px-2 py-1 rounded text-sm">${a}</code>`},{key:"createdAt",label:"Created",width:"w-1/6",formatter:a=>new Date(a*1e3).toLocaleDateString()},{key:"lastUsedAt",label:"Last Used",width:"w-1/6",formatter:a=>a?new Date(a*1e3).toLocaleDateString():"Never"}],D=[{icon:"delete",label:"Delete",confirm:!0,confirmMessage:"Are you sure you want to delete this API key? This action cannot be undone.",handler:async a=>{await j(a.id)}}],b=async()=>{v.value=!0,A();try{const a=await I("/api-keys");if(!a.ok)throw new Error("Failed to fetch API keys");const e=await a.json();w.value=O(e.keys)}catch{f("error","API keys could not be loaded."),w.value=[]}finally{v.value=!1}},E=async a=>{m.value=!0,A(),C(d);try{const e=await I("/api-keys",{method:"POST",body:JSON.stringify(a)}),l=await e.json();if(!e.ok){h(l,d)||f("error",F(l,"Failed to create API key"));return}c.value=l.key||"",g(),u.value=!0,await b()}catch{h({error:"Failed to create API key"},d)}finally{m.value=!1}},g=()=>{C(d),q("add-api-key-form"),p.value=!1},j=async a=>{A();try{const e=await I(`/api-keys/${a}`,{method:"DELETE"});if(!e.ok){const l=await e.json();f("error",F(l,"Failed to delete API key"));return}await b(),f("success","API key deleted.")}catch{f("error","Failed to delete API key")}};return R(()=>{b()}),(a,e)=>{const l=N("FormKitMessages"),_=N("FormKit");return $(),V(z,null,{default:o(()=>[s(k)?($(),V(s(K),{key:0,variant:s(k).variant,class:"mb-4"},{default:o(()=>[y(M(s(k).message),1)]),_:1},8,["variant"])):Y("",!0),t(B,{title:"API Keys",description:"Manage API keys for programmatic access","primary-action":{label:"Create API Key",handler:()=>p.value=!0},columns:S,data:w.value,actions:D,loading:v.value,"empty-message":"No API keys found"},null,8,["primary-action","data","loading"]),t(x,{modelValue:p.value,"onUpdate:modelValue":e[1]||(e[1]=n=>p.value=n),title:"Create API Key",onClose:g},{footer:o(()=>[r("div",G,[t(s(P),{variant:"secondary",disabled:m.value,onClick:g},{default:o(()=>[...e[5]||(e[5]=[y(" Cancel ",-1)])]),_:1},8,["disabled"]),t(s(P),{type:"submit",form:"add-api-key-form",loading:m.value},{default:o(()=>[...e[6]||(e[6]=[y(" Create Key ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[t(_,{id:"add-api-key-form",type:"form",actions:!1,disabled:m.value,onSubmit:E,onNode:e[0]||(e[0]=n=>d.value=n)},{default:o(()=>[t(l,{node:d.value||void 0},null,8,["node"]),t(_,{type:"text",name:"name",label:"Name",placeholder:"e.g., Production API Key",help:"A descriptive name to help you identify this key",validation:"required","validation-messages":{required:"Name is required"}})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),t(x,{modelValue:u.value,"onUpdate:modelValue":e[3]||(e[3]=n=>u.value=n),title:"API Key Created",onClose:e[4]||(e[4]=n=>u.value=!1)},{default:o(()=>[r("div",H,[t(s(K),{variant:"warning"},{default:o(()=>[...e[7]||(e[7]=[r("p",{class:"font-semibold"},"Important: Save this key now!",-1),r("p",{class:"text-sm mt-1"}," You won't be able to see it again. If you lose this key, you'll need to create a new one. ",-1)])]),_:1}),r("div",null,[e[8]||(e[8]=r("label",{class:"block text-sm font-medium mb-2"},"Your new API key:",-1)),r("div",Q,[r("input",{value:c.value,type:"text",readonly:"",class:"flex-1 px-3 py-2 border border-neutral-300 dark:border-neutral-600 rounded-md dark:bg-neutral-700 font-mono text-sm"},null,8,W),t(U,{content:c.value,variant:"ghost"},null,8,["content"])])]),t(s(K),{variant:"info"},{default:o(()=>[e[9]||(e[9]=r("p",{class:"text-sm"}," Use this key in the Authorization header of your API requests: ",-1)),t(s(L),{inline:!1,class:"mt-2"},{default:o(()=>[y(" Authorization: Bearer "+M(c.value),1)]),_:1})]),_:1}),r("div",X,[t(s(P),{onClick:e[2]||(e[2]=n=>u.value=!1)},{default:o(()=>[...e[10]||(e[10]=[y(" Done ",-1)])]),_:1})])])]),_:1},8,["modelValue"])]),_:1})}}});export{ve as default};
1
+ import{r as q}from"./formkit.js";import{B as K,_ as P,G as I,d as C,e as h}from"./index.js";import{_ as B}from"./DataTable.vue_vue_type_script_setup_true_lang.js";import{_ as x}from"./Modal.vue_vue_type_script_setup_true_lang.js";import{_ as U}from"./CopyButton.vue_vue_type_script_setup_true_lang.js";import{C as z}from"./CenteredContentView.js";import{_ as L}from"./UiCodeBlock.vue_vue_type_script_setup_true_lang.js";import{u as T}from"./useActionFeedback.js";import{n as O,g as F}from"./settingsData.js";import{d as J,r as i,o as R,O as N,z as V,e as $,k as o,q as Y,j as t,J as s,s as p,u as M,f as r}from"./vue.js";import"./vendor.js";import"./monaco.js";import"./syntax.js";import"./chevron-right.js";import"./ConfirmDialog.vue_vue_type_script_setup_true_lang.js";import"./check.js";import"./copy.js";const G={class:"flex justify-end gap-2"},H={class:"space-y-4"},Q={class:"flex gap-2"},W=["value"],X={class:"flex justify-end mt-4"},ke=J({__name:"ApiKeysView",setup(Z){const y=i(!1),u=i(!1),v=i(!1),c=i(""),m=i(!1),d=i(null),{feedback:k,setFeedback:f,clearFeedback:A}=T(),w=i([]),S=[{key:"name",label:"Name",width:"w-1/3"},{key:"keyPreview",label:"API Key",width:"w-1/3",html:!0,formatter:a=>`<code class="bg-neutral-100 dark:bg-neutral-800 px-2 py-1 rounded text-sm">${a}</code>`},{key:"createdAt",label:"Created",width:"w-1/6",formatter:a=>new Date(a*1e3).toLocaleDateString()},{key:"lastUsedAt",label:"Last Used",width:"w-1/6",formatter:a=>a?new Date(a*1e3).toLocaleDateString():"Never"}],D=[{icon:"delete",label:"Delete",confirm:!0,confirmMessage:"Are you sure you want to delete this API key? This action cannot be undone.",handler:async a=>{await j(a.id)}}],b=async()=>{v.value=!0,A();try{const a=await I("/api-keys");if(!a.ok)throw new Error("Failed to fetch API keys");const e=await a.json();w.value=O(e.keys)}catch{f("error","API keys could not be loaded."),w.value=[]}finally{v.value=!1}},E=async a=>{m.value=!0,A(),C(d);try{const e=await I("/api-keys",{method:"POST",body:JSON.stringify(a)}),l=await e.json();if(!e.ok){h(l,d)||f("error",F(l,"Failed to create API key"));return}c.value=l.key||"",g(),u.value=!0,await b()}catch{h({error:"Failed to create API key"},d)}finally{m.value=!1}},g=()=>{C(d),q("add-api-key-form"),y.value=!1},j=async a=>{A();try{const e=await I(`/api-keys/${a}`,{method:"DELETE"});if(!e.ok){const l=await e.json();f("error",F(l,"Failed to delete API key"));return}await b(),f("success","API key deleted.")}catch{f("error","Failed to delete API key")}};return R(()=>{b()}),(a,e)=>{const l=N("FormKitMessages"),_=N("FormKit");return $(),V(z,null,{default:o(()=>[s(k)?($(),V(s(K),{key:0,variant:s(k).variant,class:"mb-4"},{default:o(()=>[p(M(s(k).message),1)]),_:1},8,["variant"])):Y("",!0),t(B,{title:"API Keys",description:"Manage API keys for programmatic access","primary-action":{label:"Create API Key",handler:()=>y.value=!0},columns:S,data:w.value,actions:D,loading:v.value,"empty-message":"No API keys found"},null,8,["primary-action","data","loading"]),t(x,{modelValue:y.value,"onUpdate:modelValue":e[1]||(e[1]=n=>y.value=n),title:"Create API Key",onClose:g},{footer:o(()=>[r("div",G,[t(s(P),{variant:"secondary",disabled:m.value,onClick:g},{default:o(()=>[...e[5]||(e[5]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),t(s(P),{type:"submit",form:"add-api-key-form",loading:m.value},{default:o(()=>[...e[6]||(e[6]=[p(" Create Key ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[t(_,{id:"add-api-key-form",type:"form",actions:!1,disabled:m.value,onSubmit:E,onNode:e[0]||(e[0]=n=>d.value=n)},{default:o(()=>[t(l,{node:d.value||void 0},null,8,["node"]),t(_,{type:"text",name:"name",label:"Name",placeholder:"e.g., Production API Key",help:"A descriptive name to help you identify this key",validation:"required","validation-messages":{required:"Name is required"}})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),t(x,{modelValue:u.value,"onUpdate:modelValue":e[3]||(e[3]=n=>u.value=n),title:"API Key Created",onClose:e[4]||(e[4]=n=>u.value=!1)},{default:o(()=>[r("div",H,[t(s(K),{variant:"warning"},{default:o(()=>[...e[7]||(e[7]=[r("p",{class:"font-semibold"},"Important: Save this key now!",-1),r("p",{class:"text-sm mt-1"}," You won't be able to see it again. If you lose this key, you'll need to create a new one. ",-1)])]),_:1}),r("div",null,[e[8]||(e[8]=r("label",{class:"block text-sm font-medium mb-2"},"Your new API key:",-1)),r("div",Q,[r("input",{value:c.value,type:"text",readonly:"",class:"flex-1 px-3 py-2 border border-neutral-300 dark:border-neutral-600 rounded-md dark:bg-neutral-700 font-mono text-sm"},null,8,W),t(U,{content:c.value,variant:"ghost"},null,8,["content"])])]),t(s(K),{variant:"info"},{default:o(()=>[e[9]||(e[9]=r("p",{class:"text-sm"}," Use this key in the Authorization header of your API requests: ",-1)),t(s(L),{inline:!1,class:"mt-2"},{default:o(()=>[p(" Authorization: Bearer "+M(c.value),1)]),_:1})]),_:1}),r("div",X,[t(s(P),{onClick:e[2]||(e[2]=n=>u.value=!1)},{default:o(()=>[...e[10]||(e[10]=[p(" Done ",-1)])]),_:1})])])]),_:1},8,["modelValue"])]),_:1})}}});export{ke as default};