hermes-web-ui 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -408
- package/bin/hermes-web-ui.mjs +111 -97
- package/dist/assets/ChatView-BCcUaLWg.css +1 -0
- package/dist/assets/ChatView-gu2Y-jpZ.js +16 -0
- package/dist/assets/Input-yD_s5hp8.js +234 -0
- package/dist/assets/JobsView-C1YU-sgU.js +123 -0
- package/dist/assets/LogsView-BN_TkDPi.css +1 -0
- package/dist/assets/LogsView-BSNn4Rmi.js +1 -0
- package/dist/assets/MarkdownRenderer-CrMwC_5d.css +1 -0
- package/dist/assets/MarkdownRenderer-DNP-kPA8.js +23 -0
- package/dist/assets/MemoryView-BsGBmN7h.js +5 -0
- package/dist/assets/MemoryView-CK0PemlP.css +1 -0
- package/dist/assets/Modal-CSHJclVU.js +232 -0
- package/dist/assets/Popover-blRIsd-8.js +117 -0
- package/dist/assets/Scrollbar-CYtpM7mc.js +77 -0
- package/dist/assets/Select-DTG-wtu5.js +454 -0
- package/dist/assets/SettingsView-BzBMKaLz.css +1 -0
- package/dist/assets/SettingsView-CppuSCZA.js +1129 -0
- package/dist/assets/SkillsView-86Z-HE_X.css +1 -0
- package/dist/assets/SkillsView-CciuH5wp.js +1 -0
- package/dist/assets/Spin-DWreY5m0.js +43 -0
- package/dist/assets/Suffix-B828Aenx.js +25 -0
- package/dist/assets/Tooltip-BCHslENT.js +1 -0
- package/dist/assets/Warning-Ba-wYRRB.js +1 -0
- package/dist/assets/_plugin-vue_export-helper-CV9qMihF.js +47 -0
- package/dist/assets/app-4gFjNUoo.js +1 -0
- package/dist/assets/chat-P2QaPvpZ.js +6 -0
- package/dist/assets/context-B74FvHiJ.js +109 -0
- package/dist/assets/index-Cx8mFF2D.js +307 -0
- package/dist/assets/index-DwVgwUIX.css +1 -0
- package/dist/assets/jobs-DVxci1LY.js +1 -0
- package/dist/assets/keysOf-Dvq9k1rv.js +1 -0
- package/dist/assets/omit-QZj0aLfU.js +1 -0
- package/dist/assets/pinia-tE0RcsDr.js +1 -0
- package/dist/assets/runtime-core.esm-bundler-yNW65ghW.js +1 -0
- package/dist/assets/skills-DgbQAgoB.js +1 -0
- package/dist/assets/use-message-Dz_GbH5h.js +1 -0
- package/dist/index.html +19 -6
- package/dist/server/config.d.ts +7 -0
- package/dist/server/config.js +12 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +156 -0
- package/dist/server/routes/filesystem.d.ts +2 -0
- package/dist/server/routes/filesystem.js +427 -0
- package/dist/server/routes/logs.d.ts +2 -0
- package/dist/server/routes/logs.js +87 -0
- package/dist/server/routes/proxy-handler.d.ts +2 -0
- package/dist/server/routes/proxy-handler.js +82 -0
- package/dist/server/routes/proxy.d.ts +2 -0
- package/dist/server/routes/proxy.js +12 -0
- package/dist/server/routes/sessions.d.ts +2 -0
- package/dist/server/routes/sessions.js +69 -0
- package/dist/server/routes/upload.d.ts +2 -0
- package/dist/server/routes/upload.js +50 -0
- package/dist/server/routes/webhook.d.ts +2 -0
- package/dist/server/routes/webhook.js +33 -0
- package/dist/server/services/hermes-cli.d.ts +50 -0
- package/dist/server/services/hermes-cli.js +185 -0
- package/dist/server/services/hermes.d.ts +40 -0
- package/dist/server/services/hermes.js +118 -0
- package/package.json +19 -4
- package/dist/assets/ChatView-DrzZz5ex.css +0 -1
- package/dist/assets/ChatView-WnNeYrS7.js +0 -38
- package/dist/assets/JobsView-BF9wWdwU.js +0 -831
- package/dist/assets/Modal-CQVLL_Oc.js +0 -276
- package/dist/assets/_plugin-vue_export-helper-D5N3Hfca.js +0 -231
- package/dist/assets/chat-640V6r6N.js +0 -1
- package/dist/assets/index-4iFlrAYJ.js +0 -307
- package/dist/assets/index-CMJKLUKk.css +0 -1
- package/dist/assets/jobs-Cuol6Mqb.js +0 -1
- package/dist/assets/use-message-B8ClBznx.js +0 -117
- /package/dist/assets/{client-BxIiwrqC.js → client-BKiVmpru.js} +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jobs-DVxci1LY.js","assets/MarkdownRenderer-DNP-kPA8.js","assets/runtime-core.esm-bundler-yNW65ghW.js","assets/MarkdownRenderer-CrMwC_5d.css","assets/client-BKiVmpru.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{C as e,Ct as t,E as n,F as r,G as i,I as a,L as o,M as s,U as c,_ as l,at as u,d,f,g as p,h as m,i as h,k as g,l as _,p as v,st as y,tt as b,u as x,v as S,wt as C,x as w,y as T}from"./runtime-core.esm-bundler-yNW65ghW.js";import{B as ee,H as te,Q as E,V as ne,X as D,Y as O,c as k,ct as A,d as re,dt as j,f as ie,ft as M,l as N,lt as P,mt as F,ot as ae,q as oe,r as se,rt as I,t as L,tt as ce,yt as le,z as ue}from"./_plugin-vue_export-helper-CV9qMihF.js";import{n as de}from"./pinia-tE0RcsDr.js";import{n as fe}from"./Warning-Ba-wYRRB.js";import{A as R,a as z,l as B}from"./Popover-blRIsd-8.js";import{t as V}from"./Select-DTG-wtu5.js";import{g as pe,m as me,o as H,s as he}from"./Scrollbar-CYtpM7mc.js";import{t as ge}from"./Modal-CSHJclVU.js";import{a as _e,i as ve,r as U}from"./context-B74FvHiJ.js";import{t as W}from"./keysOf-Dvq9k1rv.js";import{n as ye,t as G}from"./Input-yD_s5hp8.js";import{t as be}from"./Tooltip-BCHslENT.js";import{t as xe}from"./use-message-Dz_GbH5h.js";import{t as Se}from"./Spin-DWreY5m0.js";import{a as Ce,c as we,i as Te,n as Ee,o as De,s as Oe,t as ke}from"./jobs-DVxci1LY.js";function Ae(t,n,r){let i=e(t,null);if(i===null)return;let a=T()?.proxy;c(r,o),o(r.value),g(()=>{o(void 0,r.value)});function o(e,t){if(!i)return;let r=i[n];t!==void 0&&s(r,t),e!==void 0&&l(r,e)}function s(e,t){e[t]||(e[t]=[]),e[t].splice(e[t].findIndex(e=>e===a),1)}function l(e,t){e[t]||(e[t]=[]),~e[t].findIndex(e=>e===a)||e[t].push(a)}}var je=S({name:`Add`,render(){return w(`svg`,{width:`512`,height:`512`,viewBox:`0 0 512 512`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},w(`path`,{d:`M256 112V400M400 256H112`,stroke:`currentColor`,"stroke-width":`32`,"stroke-linecap":`round`,"stroke-linejoin":`round`}))}}),Me=S({name:`Remove`,render(){return w(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 512 512`},w(`line`,{x1:`400`,y1:`256`,x2:`112`,y2:`256`,style:`
|
|
3
|
+
fill: none;
|
|
4
|
+
stroke: currentColor;
|
|
5
|
+
stroke-linecap: round;
|
|
6
|
+
stroke-linejoin: round;
|
|
7
|
+
stroke-width: 32px;
|
|
8
|
+
`}))}}),Ne={feedbackPadding:`4px 0 0 2px`,feedbackHeightSmall:`24px`,feedbackHeightMedium:`24px`,feedbackHeightLarge:`26px`,feedbackFontSizeSmall:`13px`,feedbackFontSizeMedium:`14px`,feedbackFontSizeLarge:`14px`,labelFontSizeLeftSmall:`14px`,labelFontSizeLeftMedium:`14px`,labelFontSizeLeftLarge:`15px`,labelFontSizeTopSmall:`13px`,labelFontSizeTopMedium:`14px`,labelFontSizeTopLarge:`14px`,labelHeightSmall:`24px`,labelHeightMedium:`26px`,labelHeightLarge:`28px`,labelPaddingVertical:`0 0 6px 2px`,labelPaddingHorizontal:`0 12px 0 0`,labelTextAlignVertical:`left`,labelTextAlignHorizontal:`right`,labelFontWeight:`400`};function Pe(e){let{heightSmall:t,heightMedium:n,heightLarge:r,textColor1:i,errorColor:a,warningColor:o,lineHeight:s,textColor3:c}=e;return Object.assign(Object.assign({},Ne),{blankHeightSmall:t,blankHeightMedium:n,blankHeightLarge:r,lineHeight:s,labelTextColor:i,asteriskColor:a,feedbackTextColorError:a,feedbackTextColorWarning:o,feedbackTextColor:c})}var Fe={name:`Form`,common:se,self:Pe};function Ie(e){let{textColorDisabled:t}=e;return{iconColorDisabled:t}}var Le=k({name:`InputNumber`,common:se,peers:{Button:_e,Input:ye},self:Ie}),Re=ce(`n-form`),ze=ce(`n-form-item-insts`),Be=P(`form`,[M(`inline`,`
|
|
9
|
+
width: 100%;
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: flex-start;
|
|
12
|
+
align-content: space-around;
|
|
13
|
+
`,[P(`form-item`,{width:`auto`,marginRight:`18px`},[A(`&:last-child`,{marginRight:0})])])]),Ve=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},He=S({name:`Form`,props:Object.assign(Object.assign({},N.props),{inline:Boolean,labelWidth:[Number,String],labelAlign:String,labelPlacement:{type:String,default:`top`},model:{type:Object,default:()=>{}},rules:Object,disabled:Boolean,size:String,showRequireMark:{type:Boolean,default:void 0},requireMarkPlacement:String,showFeedback:{type:Boolean,default:!0},onSubmit:{type:Function,default:e=>{e.preventDefault()}},showLabel:{type:Boolean,default:void 0},validateMessages:Object}),setup(e){let{mergedClsPrefixRef:t}=te(e);N(`Form`,`-form`,Be,Fe,e,t);let n={},r=b(void 0),i=e=>{let t=r.value;(t===void 0||e>=t)&&(r.value=e)};function o(){var e;for(let t of W(n)){let r=n[t];for(let t of r)(e=t.invalidateLabelWidth)==null||e.call(t)}}function s(e){return Ve(this,arguments,void 0,function*(e,t=()=>!0){return yield new Promise((r,i)=>{let a=[];for(let e of W(n)){let r=n[e];for(let e of r)e.path&&a.push(e.internalValidate(null,t))}Promise.all(a).then(t=>{let n=t.some(e=>!e.valid),a=[],o=[];t.forEach(e=>{e.errors?.length&&a.push(e.errors),e.warnings?.length&&o.push(e.warnings)}),e&&e(a.length?a:void 0,{warnings:o.length?o:void 0}),n?i(a.length?a:void 0):r({warnings:o.length?o:void 0})})})})}function c(){for(let e of W(n)){let t=n[e];for(let e of t)e.restoreValidation()}}return a(Re,{props:e,maxChildLabelWidthRef:r,deriveMaxChildLabelWidth:i}),a(ze,{formItems:n}),Object.assign({validate:s,restoreValidation:c,invalidateLabelWidth:o},{mergedClsPrefix:t})},render(){let{mergedClsPrefix:e}=this;return w(`form`,{class:[`${e}-form`,this.inline&&`${e}-form--inline`],onSubmit:this.onSubmit},this.$slots)}});function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},K.apply(this,arguments)}function Ue(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,q(e,t)}function We(e){return We=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},We(e)}function q(e,t){return q=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},q(e,t)}function Ge(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ke(e,t,n){return Ke=Ge()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&q(i,n.prototype),i},Ke.apply(null,arguments)}function qe(e){return Function.toString.call(e).indexOf(`[native code]`)!==-1}function Je(e){var t=typeof Map==`function`?new Map:void 0;return Je=function(e){if(e===null||!qe(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return Ke(e,arguments,We(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q(n,e)},Je(e)}var Ye=/%[sdj%]/g,Xe=function(){};function Ze(e){if(!e||!e.length)return null;var t={};return e.forEach(function(e){var n=e.field;t[n]=t[n]||[],t[n].push(e)}),t}function J(e){var t=[...arguments].slice(1),n=0,r=t.length;return typeof e==`function`?e.apply(null,t):typeof e==`string`?e.replace(Ye,function(e){if(e===`%%`)return`%`;if(n>=r)return e;switch(e){case`%s`:return String(t[n++]);case`%d`:return Number(t[n++]);case`%j`:try{return JSON.stringify(t[n++])}catch{return`[Circular]`}break;default:return e}}):e}function Qe(e){return e===`string`||e===`url`||e===`hex`||e===`email`||e===`date`||e===`pattern`}function Y(e,t){return!!(e==null||t===`array`&&Array.isArray(e)&&!e.length||Qe(t)&&typeof e==`string`&&!e)}function $e(e,t,n){var r=[],i=0,a=e.length;function o(e){r.push.apply(r,e||[]),i++,i===a&&n(r)}e.forEach(function(e){t(e,o)})}function et(e,t,n){var r=0,i=e.length;function a(o){if(o&&o.length){n(o);return}var s=r;r+=1,s<i?t(e[s],a):n([])}a([])}function tt(e){var t=[];return Object.keys(e).forEach(function(n){t.push.apply(t,e[n]||[])}),t}var nt=function(e){Ue(t,e);function t(t,n){var r=e.call(this,`Async Validation Error`)||this;return r.errors=t,r.fields=n,r}return t}(Je(Error));function rt(e,t,n,r,i){if(t.first){var a=new Promise(function(t,a){et(tt(e),n,function(e){return r(e),e.length?a(new nt(e,Ze(e))):t(i)})});return a.catch(function(e){return e}),a}var o=t.firstFields===!0?Object.keys(e):t.firstFields||[],s=Object.keys(e),c=s.length,l=0,u=[],d=new Promise(function(t,a){var d=function(e){if(u.push.apply(u,e),l++,l===c)return r(u),u.length?a(new nt(u,Ze(u))):t(i)};s.length||(r(u),t(i)),s.forEach(function(t){var r=e[t];o.indexOf(t)===-1?$e(r,n,d):et(r,n,d)})});return d.catch(function(e){return e}),d}function it(e){return!!(e&&e.message!==void 0)}function at(e,t){for(var n=e,r=0;r<t.length;r++){if(n==null)return n;n=n[t[r]]}return n}function ot(e,t){return function(n){var r=e.fullFields?at(t,e.fullFields):t[n.field||e.fullField];return it(n)?(n.field=n.field||e.fullField,n.fieldValue=r,n):{message:typeof n==`function`?n():n,fieldValue:r,field:n.field||e.fullField}}}function st(e,t){if(t){for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];typeof r==`object`&&typeof e[n]==`object`?e[n]=K({},e[n],r):e[n]=r}}return e}var ct=function(e,t,n,r,i,a){e.required&&(!n.hasOwnProperty(e.field)||Y(t,a||e.type))&&r.push(J(i.messages.required,e.fullField))},lt=function(e,t,n,r,i){(/^\s+$/.test(t)||t===``)&&r.push(J(i.messages.whitespace,e.fullField))},ut,dt=(function(){if(ut)return ut;var e=`[a-fA-F\\d:]`,t=function(t){return t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=`+e+`)|(?<=`+e+`)(?=\\s|$))`:``},n=`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`,r=`[a-fA-F\\d]{1,4}`,i=(`
|
|
14
|
+
(?:
|
|
15
|
+
(?:`+r+`:){7}(?:`+r+`|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
16
|
+
(?:`+r+`:){6}(?:`+n+`|:`+r+`|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
17
|
+
(?:`+r+`:){5}(?::`+n+`|(?::`+r+`){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
18
|
+
(?:`+r+`:){4}(?:(?::`+r+`){0,1}:`+n+`|(?::`+r+`){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
19
|
+
(?:`+r+`:){3}(?:(?::`+r+`){0,2}:`+n+`|(?::`+r+`){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
20
|
+
(?:`+r+`:){2}(?:(?::`+r+`){0,3}:`+n+`|(?::`+r+`){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
21
|
+
(?:`+r+`:){1}(?:(?::`+r+`){0,4}:`+n+`|(?::`+r+`){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
22
|
+
(?::(?:(?::`+r+`){0,5}:`+n+`|(?::`+r+`){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
23
|
+
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
24
|
+
`).replace(/\s*\/\/.*$/gm,``).replace(/\n/g,``).trim(),a=RegExp(`(?:^`+n+`$)|(?:^`+i+`$)`),o=RegExp(`^`+n+`$`),s=RegExp(`^`+i+`$`),c=function(e){return e&&e.exact?a:RegExp(`(?:`+t(e)+n+t(e)+`)|(?:`+t(e)+i+t(e)+`)`,`g`)};c.v4=function(e){return e&&e.exact?o:RegExp(``+t(e)+n+t(e),`g`)},c.v6=function(e){return e&&e.exact?s:RegExp(``+t(e)+i+t(e),`g`)};var l=`(?:(?:[a-z]+:)?//)`,u=`(?:\\S+(?::\\S*)?@)?`,d=c.v4().source,f=c.v6().source,p=`(?:`+l+`|www\\.)`+u+`(?:localhost|`+d+`|`+f+`|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?`;return ut=RegExp(`(?:^`+p+`$)`,`i`),ut}),ft={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},pt={integer:function(e){return pt.number(e)&&parseInt(e,10)===e},float:function(e){return pt.number(e)&&!pt.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime==`function`&&typeof e.getMonth==`function`&&typeof e.getYear==`function`&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e==`number`},object:function(e){return typeof e==`object`&&!pt.array(e)},method:function(e){return typeof e==`function`},email:function(e){return typeof e==`string`&&e.length<=320&&!!e.match(ft.email)},url:function(e){return typeof e==`string`&&e.length<=2048&&!!e.match(dt())},hex:function(e){return typeof e==`string`&&!!e.match(ft.hex)}},mt=function(e,t,n,r,i){if(e.required&&t===void 0){ct(e,t,n,r,i);return}var a=[`integer`,`float`,`array`,`regexp`,`object`,`method`,`email`,`number`,`date`,`url`,`hex`],o=e.type;a.indexOf(o)>-1?pt[o](t)||r.push(J(i.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&r.push(J(i.messages.types[o],e.fullField,e.type))},ht=function(e,t,n,r,i){var a=typeof e.len==`number`,o=typeof e.min==`number`,s=typeof e.max==`number`,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=t,u=null,d=typeof t==`number`,f=typeof t==`string`,p=Array.isArray(t);if(d?u=`number`:f?u=`string`:p&&(u=`array`),!u)return!1;p&&(l=t.length),f&&(l=t.replace(c,`_`).length),a?l!==e.len&&r.push(J(i.messages[u].len,e.fullField,e.len)):o&&!s&&l<e.min?r.push(J(i.messages[u].min,e.fullField,e.min)):s&&!o&&l>e.max?r.push(J(i.messages[u].max,e.fullField,e.max)):o&&s&&(l<e.min||l>e.max)&&r.push(J(i.messages[u].range,e.fullField,e.min,e.max))},X=`enum`,Z={required:ct,whitespace:lt,type:mt,range:ht,enum:function(e,t,n,r,i){e[X]=Array.isArray(e[X])?e[X]:[],e[X].indexOf(t)===-1&&r.push(J(i.messages[X],e.fullField,e[X].join(`, `)))},pattern:function(e,t,n,r,i){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(J(i.messages.pattern.mismatch,e.fullField,t,e.pattern))):typeof e.pattern==`string`&&(new RegExp(e.pattern).test(t)||r.push(J(i.messages.pattern.mismatch,e.fullField,t,e.pattern))))}},gt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t,`string`)&&!e.required)return n();Z.required(e,t,r,a,i,`string`),Y(t,`string`)||(Z.type(e,t,r,a,i),Z.range(e,t,r,a,i),Z.pattern(e,t,r,a,i),e.whitespace===!0&&Z.whitespace(e,t,r,a,i))}n(a)},_t=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&Z.type(e,t,r,a,i)}n(a)},vt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t===``&&(t=void 0),Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&(Z.type(e,t,r,a,i),Z.range(e,t,r,a,i))}n(a)},yt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&Z.type(e,t,r,a,i)}n(a)},bt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),Y(t)||Z.type(e,t,r,a,i)}n(a)},xt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&(Z.type(e,t,r,a,i),Z.range(e,t,r,a,i))}n(a)},St=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&(Z.type(e,t,r,a,i),Z.range(e,t,r,a,i))}n(a)},Ct=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t==null&&!e.required)return n();Z.required(e,t,r,a,i,`array`),t!=null&&(Z.type(e,t,r,a,i),Z.range(e,t,r,a,i))}n(a)},wt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&Z.type(e,t,r,a,i)}n(a)},Tt=`enum`,Et=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i),t!==void 0&&Z[Tt](e,t,r,a,i)}n(a)},Dt=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t,`string`)&&!e.required)return n();Z.required(e,t,r,a,i),Y(t,`string`)||Z.pattern(e,t,r,a,i)}n(a)},Ot=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t,`date`)&&!e.required)return n();if(Z.required(e,t,r,a,i),!Y(t,`date`)){var o=t instanceof Date?t:new Date(t);Z.type(e,o,r,a,i),o&&Z.range(e,o.getTime(),r,a,i)}}n(a)},kt=function(e,t,n,r,i){var a=[],o=Array.isArray(t)?`array`:typeof t;Z.required(e,t,r,a,i,o),n(a)},At=function(e,t,n,r,i){var a=e.type,o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t,a)&&!e.required)return n();Z.required(e,t,r,o,i,a),Y(t,a)||Z.type(e,t,r,o,i)}n(o)},jt={string:gt,method:_t,number:vt,boolean:yt,regexp:bt,integer:xt,float:St,array:Ct,object:wt,enum:Et,pattern:Dt,date:Ot,url:At,hex:At,email:At,required:kt,any:function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Y(t)&&!e.required)return n();Z.required(e,t,r,a,i)}n(a)}};function Mt(){return{default:`Validation error on field %s`,required:`%s is required`,enum:`%s must be one of %s`,whitespace:`%s cannot be empty`,date:{format:`%s date %s is invalid for format %s`,parse:`%s date could not be parsed, %s is invalid `,invalid:`%s date %s is invalid`},types:{string:`%s is not a %s`,method:`%s is not a %s (function)`,array:`%s is not an %s`,object:`%s is not an %s`,number:`%s is not a %s`,date:`%s is not a %s`,boolean:`%s is not a %s`,integer:`%s is not an %s`,float:`%s is not a %s`,regexp:`%s is not a valid %s`,email:`%s is not a valid %s`,url:`%s is not a valid %s`,hex:`%s is not a valid %s`},string:{len:`%s must be exactly %s characters`,min:`%s must be at least %s characters`,max:`%s cannot be longer than %s characters`,range:`%s must be between %s and %s characters`},number:{len:`%s must equal %s`,min:`%s cannot be less than %s`,max:`%s cannot be greater than %s`,range:`%s must be between %s and %s`},array:{len:`%s must be exactly %s in length`,min:`%s cannot be less than %s in length`,max:`%s cannot be greater than %s in length`,range:`%s must be between %s and %s in length`},pattern:{mismatch:`%s value %s does not match pattern %s`},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var Nt=Mt(),Q=function(){function e(e){this.rules=null,this._messages=Nt,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw Error(`Cannot configure a schema with no rules`);if(typeof e!=`object`||Array.isArray(e))throw Error(`Rules must be an object`);this.rules={},Object.keys(e).forEach(function(n){var r=e[n];t.rules[n]=Array.isArray(r)?r:[r]})},t.messages=function(e){return e&&(this._messages=st(Mt(),e)),this._messages},t.validate=function(t,n,r){var i=this;n===void 0&&(n={}),r===void 0&&(r=function(){});var a=t,o=n,s=r;if(typeof o==`function`&&(s=o,o={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(e){var t=[],n={};function r(e){if(Array.isArray(e)){var n;t=(n=t).concat.apply(n,e)}else t.push(e)}for(var i=0;i<e.length;i++)r(e[i]);t.length?(n=Ze(t),s(t,n)):s(null,a)}if(o.messages){var l=this.messages();l===Nt&&(l=Mt()),st(l,o.messages),o.messages=l}else o.messages=this.messages();var u={};(o.keys||Object.keys(this.rules)).forEach(function(e){var n=i.rules[e],r=a[e];n.forEach(function(n){var o=n;typeof o.transform==`function`&&(a===t&&(a=K({},a)),r=a[e]=o.transform(r)),o=typeof o==`function`?{validator:o}:K({},o),o.validator=i.getValidationMethod(o),o.validator&&(o.field=e,o.fullField=o.fullField||e,o.type=i.getType(o),u[e]=u[e]||[],u[e].push({rule:o,value:r,source:a,field:e}))})});var d={};return rt(u,o,function(t,n){var r=t.rule,i=(r.type===`object`||r.type===`array`)&&(typeof r.fields==`object`||typeof r.defaultField==`object`);i&&=r.required||!r.required&&t.value,r.field=t.field;function s(e,t){return K({},t,{fullField:r.fullField+`.`+e,fullFields:r.fullFields?[].concat(r.fullFields,[e]):[e]})}function c(c){c===void 0&&(c=[]);var l=Array.isArray(c)?c:[c];!o.suppressWarning&&l.length&&e.warning(`async-validator:`,l),l.length&&r.message!==void 0&&(l=[].concat(r.message));var u=l.map(ot(r,a));if(o.first&&u.length)return d[r.field]=1,n(u);if(!i)n(u);else{if(r.required&&!t.value)return r.message===void 0?o.error&&(u=[o.error(r,J(o.messages.required,r.field))]):u=[].concat(r.message).map(ot(r,a)),n(u);var f={};r.defaultField&&Object.keys(t.value).map(function(e){f[e]=r.defaultField}),f=K({},f,t.rule.fields);var p={};Object.keys(f).forEach(function(e){var t=f[e];p[e]=(Array.isArray(t)?t:[t]).map(s.bind(null,e))});var m=new e(p);m.messages(o.messages),t.rule.options&&(t.rule.options.messages=o.messages,t.rule.options.error=o.error),m.validate(t.value,t.rule.options||o,function(e){var t=[];u&&u.length&&t.push.apply(t,u),e&&e.length&&t.push.apply(t,e),n(t.length?t:null)})}}var l;if(r.asyncValidator)l=r.asyncValidator(r,t.value,c,t.source,o);else if(r.validator){try{l=r.validator(r,t.value,c,t.source,o)}catch(e){console.error==null||console.error(e),o.suppressValidatorError||setTimeout(function(){throw e},0),c(e.message)}l===!0?c():l===!1?c(typeof r.message==`function`?r.message(r.fullField||r.field):r.message||(r.fullField||r.field)+` fails`):l instanceof Array?c(l):l instanceof Error&&c(l.message)}l&&l.then&&l.then(function(){return c()},function(e){return c(e)})},function(e){c(e)},a)},t.getType=function(e){if(e.type===void 0&&e.pattern instanceof RegExp&&(e.type=`pattern`),typeof e.validator!=`function`&&e.type&&!jt.hasOwnProperty(e.type))throw Error(J(`Unknown rule type %s`,e.type));return e.type||`string`},t.getValidationMethod=function(e){if(typeof e.validator==`function`)return e.validator;var t=Object.keys(e),n=t.indexOf(`message`);return n!==-1&&t.splice(n,1),t.length===1&&t[0]===`required`?jt.required:jt[this.getType(e)]||void 0},e}();Q.register=function(e,t){if(typeof t!=`function`)throw Error(`Cannot register a validator by type, validator is not a function`);jt[e]=t},Q.warning=Xe,Q.messages=Nt,Q.validators=jt;var{cubicBezierEaseInOut:Pt}=re;function Ft({name:e=`fade-down`,fromOffset:t=`-4px`,enterDuration:n=`.3s`,leaveDuration:r=`.3s`,enterCubicBezier:i=Pt,leaveCubicBezier:a=Pt}={}){return[A(`&.${e}-transition-enter-from, &.${e}-transition-leave-to`,{opacity:0,transform:`translateY(${t})`}),A(`&.${e}-transition-enter-to, &.${e}-transition-leave-from`,{opacity:1,transform:`translateY(0)`}),A(`&.${e}-transition-leave-active`,{transition:`opacity ${r} ${a}, transform ${r} ${a}`}),A(`&.${e}-transition-enter-active`,{transition:`opacity ${n} ${i}, transform ${n} ${i}`})]}var It=P(`form-item`,`
|
|
25
|
+
display: grid;
|
|
26
|
+
line-height: var(--n-line-height);
|
|
27
|
+
`,[P(`form-item-label`,`
|
|
28
|
+
grid-area: label;
|
|
29
|
+
align-items: center;
|
|
30
|
+
line-height: 1.25;
|
|
31
|
+
text-align: var(--n-label-text-align);
|
|
32
|
+
font-size: var(--n-label-font-size);
|
|
33
|
+
min-height: var(--n-label-height);
|
|
34
|
+
padding: var(--n-label-padding);
|
|
35
|
+
color: var(--n-label-text-color);
|
|
36
|
+
transition: color .3s var(--n-bezier);
|
|
37
|
+
box-sizing: border-box;
|
|
38
|
+
font-weight: var(--n-label-font-weight);
|
|
39
|
+
`,[j(`asterisk`,`
|
|
40
|
+
white-space: nowrap;
|
|
41
|
+
user-select: none;
|
|
42
|
+
-webkit-user-select: none;
|
|
43
|
+
color: var(--n-asterisk-color);
|
|
44
|
+
transition: color .3s var(--n-bezier);
|
|
45
|
+
`),j(`asterisk-placeholder`,`
|
|
46
|
+
grid-area: mark;
|
|
47
|
+
user-select: none;
|
|
48
|
+
-webkit-user-select: none;
|
|
49
|
+
visibility: hidden;
|
|
50
|
+
`)]),P(`form-item-blank`,`
|
|
51
|
+
grid-area: blank;
|
|
52
|
+
min-height: var(--n-blank-height);
|
|
53
|
+
`),M(`auto-label-width`,[P(`form-item-label`,`white-space: nowrap;`)]),M(`left-labelled`,`
|
|
54
|
+
grid-template-areas:
|
|
55
|
+
"label blank"
|
|
56
|
+
"label feedback";
|
|
57
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
58
|
+
grid-template-rows: auto 1fr;
|
|
59
|
+
align-items: flex-start;
|
|
60
|
+
`,[P(`form-item-label`,`
|
|
61
|
+
display: grid;
|
|
62
|
+
grid-template-columns: 1fr auto;
|
|
63
|
+
min-height: var(--n-blank-height);
|
|
64
|
+
height: auto;
|
|
65
|
+
box-sizing: border-box;
|
|
66
|
+
flex-shrink: 0;
|
|
67
|
+
flex-grow: 0;
|
|
68
|
+
`,[M(`reverse-columns-space`,`
|
|
69
|
+
grid-template-columns: auto 1fr;
|
|
70
|
+
`),M(`left-mark`,`
|
|
71
|
+
grid-template-areas:
|
|
72
|
+
"mark text"
|
|
73
|
+
". text";
|
|
74
|
+
`),M(`right-mark`,`
|
|
75
|
+
grid-template-areas:
|
|
76
|
+
"text mark"
|
|
77
|
+
"text .";
|
|
78
|
+
`),M(`right-hanging-mark`,`
|
|
79
|
+
grid-template-areas:
|
|
80
|
+
"text mark"
|
|
81
|
+
"text .";
|
|
82
|
+
`),j(`text`,`
|
|
83
|
+
grid-area: text;
|
|
84
|
+
`),j(`asterisk`,`
|
|
85
|
+
grid-area: mark;
|
|
86
|
+
align-self: end;
|
|
87
|
+
`)])]),M(`top-labelled`,`
|
|
88
|
+
grid-template-areas:
|
|
89
|
+
"label"
|
|
90
|
+
"blank"
|
|
91
|
+
"feedback";
|
|
92
|
+
grid-template-rows: minmax(var(--n-label-height), auto) 1fr;
|
|
93
|
+
grid-template-columns: minmax(0, 100%);
|
|
94
|
+
`,[M(`no-label`,`
|
|
95
|
+
grid-template-areas:
|
|
96
|
+
"blank"
|
|
97
|
+
"feedback";
|
|
98
|
+
grid-template-rows: 1fr;
|
|
99
|
+
`),P(`form-item-label`,`
|
|
100
|
+
display: flex;
|
|
101
|
+
align-items: flex-start;
|
|
102
|
+
justify-content: var(--n-label-text-align);
|
|
103
|
+
`)]),P(`form-item-blank`,`
|
|
104
|
+
box-sizing: border-box;
|
|
105
|
+
display: flex;
|
|
106
|
+
align-items: center;
|
|
107
|
+
position: relative;
|
|
108
|
+
`),P(`form-item-feedback-wrapper`,`
|
|
109
|
+
grid-area: feedback;
|
|
110
|
+
box-sizing: border-box;
|
|
111
|
+
min-height: var(--n-feedback-height);
|
|
112
|
+
font-size: var(--n-feedback-font-size);
|
|
113
|
+
line-height: 1.25;
|
|
114
|
+
transform-origin: top left;
|
|
115
|
+
`,[A(`&:not(:empty)`,`
|
|
116
|
+
padding: var(--n-feedback-padding);
|
|
117
|
+
`),P(`form-item-feedback`,{transition:`color .3s var(--n-bezier)`,color:`var(--n-feedback-text-color)`},[M(`warning`,{color:`var(--n-feedback-text-color-warning)`}),M(`error`,{color:`var(--n-feedback-text-color-error)`}),Ft({fromOffset:`-3px`,enterDuration:`.3s`,leaveDuration:`.2s`})])])]);function Lt(t){let n=e(Re,null),{mergedComponentPropsRef:r}=te(t);return{mergedSize:_(()=>t.size===void 0?n?.props.size===void 0?r?.value?.Form?.size||`medium`:n.props.size:t.size)}}function Rt(t){let n=e(Re,null),r=_(()=>{let{labelPlacement:e}=t;return e===void 0?n?.props.labelPlacement?n.props.labelPlacement:`top`:e}),i=_(()=>r.value===`left`&&(t.labelWidth===`auto`||n?.props.labelWidth===`auto`)),a=_(()=>{if(r.value===`top`)return;let{labelWidth:e}=t;if(e!==void 0&&e!==`auto`)return B(e);if(i.value){let e=n?.maxChildLabelWidthRef.value;return e===void 0?void 0:B(e)}if(n?.props.labelWidth!==void 0)return B(n.props.labelWidth)}),o=_(()=>{let{labelAlign:e}=t;if(e)return e;if(n?.props.labelAlign)return n.props.labelAlign}),s=_(()=>[t.labelProps?.style,t.labelStyle,{width:a.value}]),c=_(()=>{let{showRequireMark:e}=t;return e===void 0?n?.props.showRequireMark:e}),l=_(()=>{let{requireMarkPlacement:e}=t;return e===void 0?n?.props.requireMarkPlacement||`right`:e}),u=b(!1),d=b(!1);return{validationErrored:u,validationWarned:d,mergedLabelStyle:s,mergedLabelPlacement:r,mergedLabelAlign:o,mergedShowRequireMark:c,mergedRequireMarkPlacement:l,mergedValidationStatus:_(()=>{let{validationStatus:e}=t;if(e!==void 0)return e;if(u.value)return`error`;if(d.value)return`warning`}),mergedShowFeedback:_(()=>{let{showFeedback:e}=t;return e===void 0?n?.props.showFeedback===void 0?!0:n.props.showFeedback:e}),mergedShowLabel:_(()=>{let{showLabel:e}=t;return e===void 0?n?.props.showLabel===void 0?!0:n.props.showLabel:e}),isAutoLabelWidth:i}}function zt(t){let n=e(Re,null),r=_(()=>{let{rulePath:e}=t;if(e!==void 0)return e;let{path:n}=t;if(n!==void 0)return n}),i=_(()=>{let e=[],{rule:i}=t;if(i!==void 0&&(Array.isArray(i)?e.push(...i):e.push(i)),n){let{rules:t}=n.props,{value:i}=r;if(t!==void 0&&i!==void 0){let n=z(t,i);n!==void 0&&(Array.isArray(n)?e.push(...n):e.push(n))}}return e}),a=_(()=>i.value.some(e=>e.required));return{mergedRules:i,mergedRequired:_(()=>a.value||t.required)}}var Bt=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Vt=Object.assign(Object.assign({},N.props),{label:String,labelWidth:[Number,String],labelStyle:[String,Object],labelAlign:String,labelPlacement:String,path:String,first:Boolean,rulePath:String,required:Boolean,showRequireMark:{type:Boolean,default:void 0},requireMarkPlacement:String,showFeedback:{type:Boolean,default:void 0},rule:[Object,Array],size:String,ignorePathChange:Boolean,validationStatus:String,feedback:String,feedbackClass:String,feedbackStyle:[String,Object],showLabel:{type:Boolean,default:void 0},labelProps:Object,contentClass:String,contentStyle:[String,Object]});W(Vt);function Ht(e,t){return(...n)=>{try{let r=e(...n);return!t&&(typeof r==`boolean`||r instanceof Error||Array.isArray(r))||r?.then?r:(r===void 0||E(`form-item/validate`,`You return a ${typeof r} typed value in the validator method, which is not recommended. Please use ${t?"`Promise`":"`boolean`, `Error` or `Promise`"} typed value instead.`),!0)}catch(e){E(`form-item/validate`,"An error is catched in the validation, so the validation won't be done. Your callback in `validate` method of `n-form` or `n-form-item` won't be called in this validation."),console.error(e);return}}}var $=S({name:`FormItem`,props:Vt,slots:Object,setup(t){Ae(ze,`formItems`,u(t,`path`));let{mergedClsPrefixRef:n,inlineThemeDisabled:r}=te(t),i=e(Re,null),o=Lt(t),l=Rt(t),{validationErrored:d,validationWarned:f}=l,{mergedRequired:p,mergedRules:m}=zt(t),{mergedSize:h}=o,{mergedLabelPlacement:g,mergedLabelAlign:v,mergedRequireMarkPlacement:y}=l,x=b([]),S=b(R()),C=b(null),w=i?u(i.props,`disabled`):b(!1),T=N(`Form`,`-form-item`,It,Fe,t,n);c(u(t,`path`),()=>{t.ignorePathChange||E()});function ee(){if(!l.isAutoLabelWidth.value)return;let e=C.value;if(e!==null){let t=e.style.whiteSpace;e.style.whiteSpace=`nowrap`,e.style.width=``,i?.deriveMaxChildLabelWidth(Number(getComputedStyle(e).width.slice(0,-2))),e.style.whiteSpace=t}}function E(){x.value=[],d.value=!1,f.value=!1,t.feedback&&(S.value=R())}let D=(...e)=>Bt(this,[...e],void 0,function*(e=null,n=()=>!0,r={suppressWarning:!0}){let{path:a}=t;r?r.first||=t.first:r={};let{value:o}=m,s=i?z(i.props.model,a||``):void 0,c={},l={},u=(e?o.filter(t=>Array.isArray(t.trigger)?t.trigger.includes(e):t.trigger===e):o).filter(n).map((e,t)=>{let n=Object.assign({},e);if(n.validator&&=Ht(n.validator,!1),n.asyncValidator&&=Ht(n.asyncValidator,!0),n.renderMessage){let e=`__renderMessage__${t}`;l[e]=n.message,n.message=e,c[e]=n.renderMessage}return n}),p=u.filter(e=>e.level!==`warning`),h=u.filter(e=>e.level===`warning`),g={valid:!0,errors:void 0,warnings:void 0};if(!u.length)return g;let _=a??`__n_no_path__`,v=new Q({[_]:p}),y=new Q({[_]:h}),{validateMessages:b}=i?.props||{};b&&(v.messages(b),y.messages(b));let S=e=>{x.value=e.map(e=>{let t=e?.message||``;return{key:t,render:()=>t.startsWith(`__renderMessage__`)?c[t]():t}}),e.forEach(e=>{e.message?.startsWith(`__renderMessage__`)&&(e.message=l[e.message])})};if(p.length){let e=yield new Promise(e=>{v.validate({[_]:s},r,e)});e?.length&&(g.valid=!1,g.errors=e,S(e))}if(h.length&&!g.errors){let e=yield new Promise(e=>{y.validate({[_]:s},r,e)});e?.length&&(S(e),g.warnings=e)}return!g.errors&&!g.warnings?E():(d.value=!!g.errors,f.value=!!g.warnings),g});function O(){D(`blur`)}function k(){D(`change`)}function A(){D(`focus`)}function re(){D(`input`)}function j(e,t){return Bt(this,void 0,void 0,function*(){let n,r,i,a;return typeof e==`string`?(n=e,r=t):typeof e==`object`&&e&&(n=e.trigger,r=e.callback,i=e.shouldRuleBeApplied,a=e.options),yield new Promise((e,t)=>{D(n,i,a).then(({valid:n,errors:i,warnings:a})=>{n?(r&&r(void 0,{warnings:a}),e({warnings:a})):(r&&r(i,{warnings:a}),t(i))})})})}a(ue,{path:u(t,`path`),disabled:w,mergedSize:o.mergedSize,mergedValidationStatus:l.mergedValidationStatus,restoreValidation:E,handleContentBlur:O,handleContentChange:k,handleContentFocus:A,handleContentInput:re});let ie={validate:j,restoreValidation:E,internalValidate:D,invalidateLabelWidth:ee};s(ee);let M=_(()=>{let{value:e}=h,{value:t}=g,n=t===`top`?`vertical`:`horizontal`,{common:{cubicBezierEaseInOut:r},self:{labelTextColor:i,asteriskColor:a,lineHeight:o,feedbackTextColor:s,feedbackTextColorWarning:c,feedbackTextColorError:l,feedbackPadding:u,labelFontWeight:d,[F(`labelHeight`,e)]:f,[F(`blankHeight`,e)]:p,[F(`feedbackFontSize`,e)]:m,[F(`feedbackHeight`,e)]:_,[F(`labelPadding`,n)]:y,[F(`labelTextAlign`,n)]:b,[F(F(`labelFontSize`,t),e)]:x}}=T.value,S=v.value??b;return t===`top`&&(S=S===`right`?`flex-end`:`flex-start`),{"--n-bezier":r,"--n-line-height":o,"--n-blank-height":p,"--n-label-font-size":x,"--n-label-text-align":S,"--n-label-height":f,"--n-label-padding":y,"--n-label-font-weight":d,"--n-asterisk-color":a,"--n-label-text-color":i,"--n-feedback-padding":u,"--n-feedback-font-size":m,"--n-feedback-height":_,"--n-feedback-text-color":s,"--n-feedback-text-color-warning":c,"--n-feedback-text-color-error":l}}),P=r?ne(`form-item`,_(()=>`${h.value[0]}${g.value[0]}${v.value?.[0]||``}`),M,t):void 0,ae=_(()=>g.value===`left`&&y.value===`left`&&v.value===`left`);return Object.assign(Object.assign(Object.assign(Object.assign({labelElementRef:C,mergedClsPrefix:n,mergedRequired:p,feedbackId:S,renderExplains:x,reverseColSpace:ae},l),o),ie),{cssVars:r?void 0:M,themeClass:P?.themeClass,onRender:P?.onRender})},render(){let{$slots:e,mergedClsPrefix:t,mergedShowLabel:n,mergedShowRequireMark:r,mergedRequireMarkPlacement:i,onRender:a}=this,o=r===void 0?this.mergedRequired:r;return a?.(),w(`div`,{class:[`${t}-form-item`,this.themeClass,`${t}-form-item--${this.mergedSize}-size`,`${t}-form-item--${this.mergedLabelPlacement}-labelled`,this.isAutoLabelWidth&&`${t}-form-item--auto-label-width`,!n&&`${t}-form-item--no-label`],style:this.cssVars},n&&(()=>{let e=this.$slots.label?this.$slots.label():this.label;if(!e)return null;let n=w(`span`,{class:`${t}-form-item-label__text`},e),r=o?w(`span`,{class:`${t}-form-item-label__asterisk`},i===`left`?`*\xA0`:`\xA0*`):i===`right-hanging`&&w(`span`,{class:`${t}-form-item-label__asterisk-placeholder`},`\xA0*`),{labelProps:a}=this;return w(`label`,Object.assign({},a,{class:[a?.class,`${t}-form-item-label`,`${t}-form-item-label--${i}-mark`,this.reverseColSpace&&`${t}-form-item-label--reverse-columns-space`],style:this.mergedLabelStyle,ref:`labelElementRef`}),i===`left`?[r,n]:[n,r])})(),w(`div`,{class:[`${t}-form-item-blank`,this.contentClass,this.mergedValidationStatus&&`${t}-form-item-blank--${this.mergedValidationStatus}`],style:this.contentStyle},e),this.mergedShowFeedback?w(`div`,{key:this.feedbackId,style:this.feedbackStyle,class:[`${t}-form-item-feedback-wrapper`,this.feedbackClass]},w(le,{name:`fade-down-transition`,mode:`out-in`},{default:()=>{let{mergedValidationStatus:n}=this;return O(e.feedback,e=>{let{feedback:r}=this,i=e||r?w(`div`,{key:`__feedback__`,class:`${t}-form-item-feedback__line`},e||r):this.renderExplains.length?this.renderExplains?.map(({key:e,render:n})=>w(`div`,{key:e,class:`${t}-form-item-feedback__line`},n())):null;return i?n===`warning`?w(`div`,{key:`controlled-warning`,class:`${t}-form-item-feedback ${t}-form-item-feedback--warning`},i):n===`error`?w(`div`,{key:`controlled-error`,class:`${t}-form-item-feedback ${t}-form-item-feedback--error`},i):n===`success`?w(`div`,{key:`controlled-success`,class:`${t}-form-item-feedback ${t}-form-item-feedback--success`},i):w(`div`,{key:`controlled-default`,class:`${t}-form-item-feedback`},i):null})}})):null)}}),Ut=A([P(`input-number-suffix`,`
|
|
118
|
+
display: inline-block;
|
|
119
|
+
margin-right: 10px;
|
|
120
|
+
`),P(`input-number-prefix`,`
|
|
121
|
+
display: inline-block;
|
|
122
|
+
margin-left: 10px;
|
|
123
|
+
`)]);function Wt(e){return e==null||typeof e==`string`&&e.trim()===``?null:Number(e)}function Gt(e){return e.includes(`.`)&&(/^(-)?\d+.*(\.|0)$/.test(e)||/^-?\d*$/.test(e))||e===`-`||e===`-0`}function Kt(e){return e==null?!0:!Number.isNaN(e)}function qt(e,t){return typeof e==`number`?t===void 0?String(e):e.toFixed(t):``}function Jt(e){if(e===null)return null;if(typeof e==`number`)return e;{let t=Number(e);return Number.isNaN(t)?null:t}}var Yt=800,Xt=100,Zt=S({name:`InputNumber`,props:Object.assign(Object.assign({},N.props),{autofocus:Boolean,loading:{type:Boolean,default:void 0},placeholder:String,defaultValue:{type:Number,default:null},value:Number,step:{type:[Number,String],default:1},min:[Number,String],max:[Number,String],size:String,disabled:{type:Boolean,default:void 0},validator:Function,bordered:{type:Boolean,default:void 0},showButton:{type:Boolean,default:!0},buttonPlacement:{type:String,default:`right`},inputProps:Object,readonly:Boolean,clearable:Boolean,keyboard:{type:Object,default:{}},updateValueOnInput:{type:Boolean,default:!0},round:{type:Boolean,default:void 0},parse:Function,format:Function,precision:Number,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onFocus:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onChange:[Function,Array]}),slots:Object,setup(e){let{mergedBorderedRef:t,mergedClsPrefixRef:r,mergedRtlRef:i,mergedComponentPropsRef:a}=te(e),o=N(`InputNumber`,`-input-number`,Ut,Le,e,r),{localeRef:s}=he(`InputNumber`),l=ee(e,{mergedSize:t=>{let{size:n}=e;if(n)return n;let{mergedSize:r}=t||{};return r?.value?r.value:a?.value?.InputNumber?.size||`medium`}}),{mergedSizeRef:d,mergedDisabledRef:f,mergedStatusRef:p}=l,m=b(null),h=b(null),g=b(null),v=b(e.defaultValue),y=me(u(e,`value`),v),x=b(``),S=e=>{let t=String(e).split(`.`)[1];return t?t.length:0},C=t=>{let n=[e.min,e.max,e.step,t].map(e=>e===void 0?0:S(e));return Math.max(...n)},w=I(()=>{let{placeholder:t}=e;return t===void 0?s.value.placeholder:t}),T=I(()=>{let t=Jt(e.step);return t===null||t===0?1:Math.abs(t)}),E=I(()=>{let t=Jt(e.min);return t===null?null:t}),ne=I(()=>{let t=Jt(e.max);return t===null?null:t}),O=()=>{let{value:t}=y;if(Kt(t)){let{format:n,precision:r}=e;n?x.value=n(t):t===null||r===void 0||S(t)>r?x.value=qt(t,void 0):x.value=qt(t,r)}else x.value=String(t)};O();let k=t=>{let{value:n}=y;if(t===n){O();return}let{"onUpdate:value":r,onUpdateValue:i,onChange:a}=e,{nTriggerFormInput:o,nTriggerFormChange:s}=l;a&&D(a,t),i&&D(i,t),r&&D(r,t),v.value=t,o(),s()},A=({offset:t,doUpdateIfValid:n,fixPrecision:r,isInputing:i})=>{let{value:a}=x;if(i&&Gt(a))return!1;let o=(e.parse||Wt)(a);if(o===null)return n&&k(null),null;if(Kt(o)){let a=S(o),{precision:s}=e;if(s!==void 0&&s<a&&!r)return!1;let c=Number.parseFloat((o+t).toFixed(s??C(o)));if(Kt(c)){let{value:t}=ne,{value:r}=E;if(t!==null&&c>t){if(!n||i)return!1;c=t}if(r!==null&&c<r){if(!n||i)return!1;c=r}return e.validator&&!e.validator(c)?!1:(n&&k(c),c)}}return!1},re=I(()=>A({offset:0,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})===!1),j=I(()=>{let{value:t}=y;if(e.validator&&t===null)return!1;let{value:n}=T;return A({offset:-n,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1}),M=I(()=>{let{value:t}=y;if(e.validator&&t===null)return!1;let{value:n}=T;return A({offset:+n,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1});function P(t){let{onFocus:n}=e,{nTriggerFormFocus:r}=l;n&&D(n,t),r()}function F(t){if(t.target===m.value?.wrapperElRef)return;let r=A({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0});if(r!==!1){let e=m.value?.inputElRef;e&&(e.value=String(r||``)),y.value===r&&O()}else O();let{onBlur:i}=e,{nTriggerFormBlur:a}=l;i&&D(i,t),a(),n(()=>{O()})}function oe(t){let{onClear:n}=e;n&&D(n,t)}function se(){let{value:t}=M;if(!t){ge();return}let{value:n}=y;if(n===null)e.validator||k(ue());else{let{value:e}=T;A({offset:e,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}function L(){let{value:t}=j;if(!t){V();return}let{value:n}=y;if(n===null)e.validator||k(ue());else{let{value:e}=T;A({offset:-e,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}let ce=P,le=F;function ue(){if(e.validator)return null;let{value:t}=E,{value:n}=ne;return t===null?n===null?0:Math.min(0,n):Math.max(0,t)}function de(e){oe(e),k(null)}function fe(e){var t;g.value?.$el.contains(e.target)&&e.preventDefault(),h.value?.$el.contains(e.target)&&e.preventDefault(),(t=m.value)==null||t.activate()}let R=null,z=null,B=null;function V(){B&&=(window.clearTimeout(B),null),R&&=(window.clearInterval(R),null)}let H=null;function ge(){H&&=(window.clearTimeout(H),null),z&&=(window.clearInterval(z),null)}function _e(){V(),B=window.setTimeout(()=>{R=window.setInterval(()=>{L()},Xt)},Yt),pe(`mouseup`,document,V,{once:!0})}function ve(){ge(),H=window.setTimeout(()=>{z=window.setInterval(()=>{se()},Xt)},Yt),pe(`mouseup`,document,ge,{once:!0})}let U=()=>{z||se()},W=()=>{R||L()};function ye(t){var n;if(t.key===`Enter`){if(t.target===m.value?.wrapperElRef)return;A({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&((n=m.value)==null||n.deactivate())}else if(t.key===`ArrowUp`){if(!M.value||e.keyboard.ArrowUp===!1)return;t.preventDefault(),A({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&se()}else if(t.key===`ArrowDown`){if(!j.value||e.keyboard.ArrowDown===!1)return;t.preventDefault(),A({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&L()}}function G(t){x.value=t,e.updateValueOnInput&&!e.format&&!e.parse&&e.precision===void 0&&A({offset:0,doUpdateIfValid:!0,isInputing:!0,fixPrecision:!1})}c(y,()=>{O()});let be={focus:()=>m.value?.focus(),blur:()=>m.value?.blur(),select:()=>m.value?.select()},xe=ie(`InputNumber`,i,r);return Object.assign(Object.assign({},be),{rtlEnabled:xe,inputInstRef:m,minusButtonInstRef:h,addButtonInstRef:g,mergedClsPrefix:r,mergedBordered:t,uncontrolledValue:v,mergedValue:y,mergedPlaceholder:w,displayedValueInvalid:re,mergedSize:d,mergedDisabled:f,displayedValue:x,addable:M,minusable:j,mergedStatus:p,handleFocus:ce,handleBlur:le,handleClear:de,handleMouseDown:fe,handleAddClick:U,handleMinusClick:W,handleAddMousedown:ve,handleMinusMousedown:_e,handleKeyDown:ye,handleUpdateDisplayedValue:G,mergedTheme:o,inputThemeOverrides:{paddingSmall:`0 8px 0 10px`,paddingMedium:`0 8px 0 12px`,paddingLarge:`0 8px 0 14px`},buttonThemeOverrides:_(()=>{let{self:{iconColorDisabled:e}}=o.value,[t,n,r,i]=ae(e);return{textColorTextDisabled:`rgb(${t}, ${n}, ${r})`,opacityDisabled:`${i}`}})})},render(){let{mergedClsPrefix:e,$slots:t}=this,n=()=>w(ve,{text:!0,disabled:!this.minusable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleMinusClick,onMousedown:this.handleMinusMousedown,ref:`minusButtonInstRef`},{icon:()=>oe(t[`minus-icon`],()=>[w(H,{clsPrefix:e},{default:()=>w(Me,null)})])}),r=()=>w(ve,{text:!0,disabled:!this.addable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleAddClick,onMousedown:this.handleAddMousedown,ref:`addButtonInstRef`},{icon:()=>oe(t[`add-icon`],()=>[w(H,{clsPrefix:e},{default:()=>w(je,null)})])});return w(`div`,{class:[`${e}-input-number`,this.rtlEnabled&&`${e}-input-number--rtl`]},w(G,{ref:`inputInstRef`,autofocus:this.autofocus,status:this.mergedStatus,bordered:this.mergedBordered,loading:this.loading,value:this.displayedValue,onUpdateValue:this.handleUpdateDisplayedValue,theme:this.mergedTheme.peers.Input,themeOverrides:this.mergedTheme.peerOverrides.Input,builtinThemeOverrides:this.inputThemeOverrides,size:this.mergedSize,placeholder:this.mergedPlaceholder,disabled:this.mergedDisabled,readonly:this.readonly,round:this.round,textDecoration:this.displayedValueInvalid?`line-through`:void 0,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onClear:this.handleClear,clearable:this.clearable,inputProps:this.inputProps,internalLoadingBeforeSuffix:!0},{prefix:()=>this.showButton&&this.buttonPlacement===`both`?[n(),O(t.prefix,t=>t?w(`span`,{class:`${e}-input-number-prefix`},t):null)]:t.prefix?.call(t),suffix:()=>this.showButton?[O(t.suffix,t=>t?w(`span`,{class:`${e}-input-number-suffix`},t):null),this.buttonPlacement===`right`?n():null,r()]:t.suffix?.call(t)}))}});function Qt(e,t){return e.job_id===t||e.id===t}var $t=de(`jobs`,()=>{let e=b([]),t=b(!1);async function n(){t.value=!0;try{e.value=await Te()}catch(e){console.error(`Failed to fetch jobs:`,e)}finally{t.value=!1}}async function r(t){let n=await ke(t);return e.value.unshift(n),n}async function i(t,n){let r=await we(t,n),i=e.value.findIndex(e=>Qt(e,t));return i!==-1&&(e.value[i]=r),r}async function a(t){await Ee(t),e.value=e.value.filter(e=>!Qt(e,t))}async function o(t){let n=await Ce(t),r=e.value.findIndex(e=>Qt(e,t));r!==-1&&(e.value[r]=n)}async function s(t){let n=await De(t),r=e.value.findIndex(e=>Qt(e,t));r!==-1&&(e.value[r]=n)}async function c(t){let n=await Oe(t),r=e.value.findIndex(e=>Qt(e,t));r!==-1&&(e.value[r]=n)}return{jobs:e,loading:t,fetchJobs:n,createJob:r,updateJob:i,deleteJob:a,pauseJob:o,resumeJob:s,runJob:c}}),en={class:`job-card`},tn={class:`card-header`},nn={class:`job-name`},rn={class:`card-body`},an={class:`info-row`},on={class:`info-value mono`},sn={class:`info-row`},cn={class:`info-value`},ln={class:`info-row`},un={class:`info-value`},dn={class:`info-row`},fn={class:`info-value`},pn={key:0,class:`info-row`},mn={class:`info-value`},hn={class:`card-actions`},gn=L(S({__name:`JobCard`,props:{job:{}},emits:[`edit`],setup(e,{emit:n}){let a=e,o=n,s=$t(),c=xe(),u=_(()=>a.job.job_id||a.job.id),m=_(()=>a.job.state===`running`?`Running`:a.job.state===`paused`?`Paused`:a.job.enabled?`Scheduled`:`Disabled`),g=_(()=>a.job.state===`running`?`info`:a.job.state===`paused`?`warning`:a.job.enabled?`success`:`error`),b=_(()=>{let e=a.job.schedule;return typeof e==`string`?e:e?.expr||a.job.schedule_display||`—`}),S=e=>e?new Date(e).toLocaleString():`—`;async function w(){try{await s.pauseJob(u.value),c.success(`Job paused`)}catch(e){c.error(e.message)}}async function T(){try{await s.resumeJob(u.value),c.success(`Job resumed`)}catch(e){c.error(e.message)}}async function ee(){try{await s.runJob(u.value),c.info(`Job triggered`)}catch(e){c.error(e.message)}}async function te(){try{await s.deleteJob(u.value),c.success(`Job deleted`)}catch(e){c.error(e.message)}}return(n,a)=>(r(),v(`div`,en,[x(`div`,tn,[x(`h3`,nn,C(e.job.name),1),x(`span`,{class:t([`status-badge`,g.value])},C(m.value),3)]),x(`div`,rn,[x(`div`,an,[a[1]||=x(`span`,{class:`info-label`},`Schedule`,-1),x(`code`,on,C(b.value),1)]),x(`div`,sn,[a[2]||=x(`span`,{class:`info-label`},`Last Run`,-1),x(`span`,cn,[p(C(S(e.job.last_run_at))+` `,1),e.job.last_status?(r(),v(`span`,{key:0,class:t([`run-status`,{ok:e.job.last_status===`ok`,err:e.job.last_status!==`ok`}])},C(e.job.last_status===`ok`?`OK`:e.job.last_status),3)):f(``,!0)])]),x(`div`,ln,[a[3]||=x(`span`,{class:`info-label`},`Next Run`,-1),x(`span`,un,C(S(e.job.next_run_at)),1)]),x(`div`,dn,[a[4]||=x(`span`,{class:`info-label`},`Deliver`,-1),x(`span`,fn,[p(C(e.job.deliver),1),e.job.origin?(r(),v(h,{key:0},[p(` (`+C(e.job.origin.platform)+`)`,1)],64)):f(``,!0)])]),e.job.repeat?(r(),v(`div`,pn,[a[5]||=x(`span`,{class:`info-label`},`Repeat`,-1),x(`span`,mn,[typeof e.job.repeat==`string`?(r(),v(h,{key:0},[p(C(e.job.repeat),1)],64)):(r(),v(h,{key:1},[p(C(e.job.repeat.completed)+` / `+C(e.job.repeat.times??`∞`),1)],64))])])):f(``,!0)]),x(`div`,hn,[e.job.state!==`paused`&&e.job.enabled?(r(),d(y(be),{key:0},{trigger:i(()=>[l(y(U),{size:`tiny`,quaternary:``,onClick:w},{default:i(()=>[...a[6]||=[p(`Pause`,-1)]]),_:1})]),default:i(()=>[a[7]||=p(` Pause job `,-1)]),_:1})):e.job.state===`paused`?(r(),d(y(be),{key:1},{trigger:i(()=>[l(y(U),{size:`tiny`,quaternary:``,onClick:T},{default:i(()=>[...a[8]||=[p(`Resume`,-1)]]),_:1})]),default:i(()=>[a[9]||=p(` Resume job `,-1)]),_:1})):f(``,!0),l(y(be),null,{trigger:i(()=>[l(y(U),{size:`tiny`,quaternary:``,onClick:ee},{default:i(()=>[...a[10]||=[p(`Run Now`,-1)]]),_:1})]),default:i(()=>[a[11]||=p(` Trigger immediately `,-1)]),_:1}),l(y(U),{size:`tiny`,quaternary:``,onClick:a[0]||=e=>o(`edit`,u.value)},{default:i(()=>[...a[12]||=[p(`Edit`,-1)]]),_:1}),l(y(U),{size:`tiny`,quaternary:``,type:`error`,onClick:te},{default:i(()=>[...a[13]||=[p(`Delete`,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-63daa2cf`]]),_n={key:0,class:`empty-state`},vn={key:1,class:`jobs-grid`},yn=L(S({__name:`JobsPanel`,emits:[`edit`],setup(e,{emit:t}){let n=t,i=$t();return(e,t)=>y(i).jobs.length===0?(r(),v(`div`,_n,[...t[0]||=[m(`<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" class="empty-icon" data-v-27255c6b><rect x="3" y="4" width="18" height="18" rx="2" ry="2" data-v-27255c6b></rect><line x1="16" y1="2" x2="16" y2="6" data-v-27255c6b></line><line x1="8" y1="2" x2="8" y2="6" data-v-27255c6b></line><line x1="3" y1="10" x2="21" y2="10" data-v-27255c6b></line></svg><p data-v-27255c6b>No scheduled jobs yet. Create one to get started.</p>`,2)]])):(r(),v(`div`,vn,[(r(!0),v(h,null,o(y(i).jobs,e=>(r(),d(gn,{key:e.id,job:e,onEdit:t=>n(`edit`,e.id)},null,8,[`job`,`onEdit`]))),128))]))}}),[[`__scopeId`,`data-v-27255c6b`]]),bn={class:`modal-footer`},xn=L(S({__name:`JobFormModal`,props:{jobId:{}},emits:[`close`,`saved`],setup(e,{emit:t}){let n=e,a=t,o=$t(),c=xe(),u=b(!0),f=b(!1),m=b({name:``,schedule:``,prompt:``,deliver:`origin`,repeat_times:null}),h=b(null),g=_(()=>!!n.jobId),v=[{label:`Every minute`,value:`* * * * *`},{label:`Every 5 minutes`,value:`*/5 * * * *`},{label:`Every hour`,value:`0 * * * *`},{label:`Every day at 00:00`,value:`0 0 * * *`},{label:`Every day at 09:00`,value:`0 9 * * *`},{label:`Every Monday at 09:00`,value:`0 9 * * 1`},{label:`Every month 1st at 09:00`,value:`0 9 1 * *`}],S=[{label:`Origin`,value:`origin`},{label:`Local`,value:`local`}];s(async()=>{if(n.jobId)try{let{getJob:e}=await fe(async()=>{let{getJob:e}=await import(`./jobs-DVxci1LY.js`).then(e=>e.r);return{getJob:e}},__vite__mapDeps([0,1,2,3,4])),t=await e(n.jobId);m.value={name:t.name,schedule:typeof t.schedule==`string`?t.schedule:t.schedule?.expr||t.schedule_display||``,prompt:t.prompt,deliver:t.deliver||`origin`,repeat_times:typeof t.repeat==`number`?t.repeat:typeof t.repeat==`object`?t.repeat.times:null}}catch(e){c.error(`Failed to load job: `+e.message)}});async function w(){if(!m.value.name.trim()){c.warning(`Name is required`);return}if(!m.value.schedule.trim()){c.warning(`Schedule is required`);return}f.value=!0;try{let e={name:m.value.name,schedule:m.value.schedule,prompt:m.value.prompt,deliver:m.value.deliver,repeat:m.value.repeat_times??void 0};g.value?(await o.updateJob(n.jobId,e),c.success(`Job updated`)):(await o.createJob(e),c.success(`Job created`)),a(`saved`)}catch(e){c.error(e.message)}finally{f.value=!1}}function T(){u.value=!1,setTimeout(()=>a(`close`),200)}return(e,t)=>(r(),d(y(ge),{show:u.value,"onUpdate:show":t[7]||=e=>u.value=e,preset:`card`,title:g.value?`Edit Job`:`Create Job`,style:{width:`520px`},"mask-closable":!f.value,onAfterLeave:t[8]||=e=>a(`close`)},{footer:i(()=>[x(`div`,bn,[l(y(U),{onClick:T},{default:i(()=>[...t[9]||=[p(`Cancel`,-1)]]),_:1}),l(y(U),{type:`primary`,loading:f.value,onClick:w},{default:i(()=>[p(C(g.value?`Update`:`Create`),1)]),_:1},8,[`loading`])])]),default:i(()=>[l(y(He),{"label-placement":`top`},{default:i(()=>[l(y($),{label:`Name`,required:``},{default:i(()=>[l(y(G),{value:m.value.name,"onUpdate:value":t[0]||=e=>m.value.name=e,placeholder:`Job name`,maxlength:`200`,"show-count":``},null,8,[`value`])]),_:1}),l(y($),{label:`Schedule (Cron Expression)`,required:``},{default:i(()=>[l(y(G),{value:m.value.schedule,"onUpdate:value":t[1]||=e=>m.value.schedule=e,placeholder:`e.g. 0 9 * * *`},null,8,[`value`])]),_:1}),l(y($),{label:`Quick Presets`},{default:i(()=>[l(y(V),{value:h.value,"onUpdate:value":[t[2]||=e=>h.value=e,t[3]||=e=>m.value.schedule=e],options:v,placeholder:`Select a preset...`},null,8,[`value`])]),_:1}),l(y($),{label:`Prompt`,required:``},{default:i(()=>[l(y(G),{value:m.value.prompt,"onUpdate:value":t[4]||=e=>m.value.prompt=e,type:`textarea`,placeholder:`The prompt to execute`,rows:4,maxlength:`5000`,"show-count":``},null,8,[`value`])]),_:1}),l(y($),{label:`Deliver Target`},{default:i(()=>[l(y(V),{value:m.value.deliver,"onUpdate:value":t[5]||=e=>m.value.deliver=e,options:S},null,8,[`value`])]),_:1}),l(y($),{label:`Repeat Count (optional)`},{default:i(()=>[l(y(Zt),{value:m.value.repeat_times,"onUpdate:value":t[6]||=e=>m.value.repeat_times=e,min:1,placeholder:`Leave empty for infinite`,clearable:``,style:{width:`100%`}},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`,`title`,`mask-closable`]))}}),[[`__scopeId`,`data-v-0ca2301e`]]),Sn={class:`jobs-view`},Cn={class:`jobs-header`},wn={class:`jobs-content`},Tn=L(S({__name:`JobsView`,setup(e){let t=$t(),n=b(!1),a=b(null);s(()=>{t.fetchJobs()});function o(){a.value=null,n.value=!0}function c(e){a.value=e,n.value=!0}function u(){n.value=!1,a.value=null}async function m(){await t.fetchJobs(),u()}return(e,s)=>(r(),v(`div`,Sn,[x(`header`,Cn,[s[2]||=x(`h2`,{class:`header-title`},`Scheduled Jobs`,-1),l(y(U),{type:`primary`,onClick:o},{icon:i(()=>[...s[0]||=[x(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[x(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),x(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),default:i(()=>[s[1]||=p(` Create Job `,-1)]),_:1})]),x(`div`,wn,[l(y(Se),{show:y(t).loading&&y(t).jobs.length===0},{default:i(()=>[l(yn,{onEdit:c})]),_:1},8,[`show`])]),n.value?(r(),d(xn,{key:0,"job-id":a.value,onClose:u,onSaved:m},null,8,[`job-id`])):f(``,!0)]))}}),[[`__scopeId`,`data-v-627362aa`]]);export{Tn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.logs-view[data-v-e513597d]{flex-direction:column;height:100vh;display:flex}.logs-header[data-v-e513597d]{border-bottom:1px solid #e0e0e0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.logs-header .header-title[data-v-e513597d]{color:#1a1a1a;white-space:nowrap;font-size:16px;font-weight:600}.logs-header .header-actions[data-v-e513597d]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-input[data-v-e513597d]{color:#1a1a1a;background:#fff;border:1px solid #e0e0e0;border-radius:6px;outline:none;width:160px;padding:4px 10px;font-size:13px;transition:border-color .15s}.search-input[data-v-e513597d]:focus{border-color:#333}.search-input[data-v-e513597d]::placeholder{color:#999}.logs-body[data-v-e513597d]{flex:1;min-height:0;overflow-y:auto}.logs-empty[data-v-e513597d]{color:#999;justify-content:center;align-items:center;height:100%;font-size:13px;display:flex}.log-list[data-v-e513597d]{padding:4px 0}.log-entry[data-v-e513597d]{border-left:2px solid #0000;align-items:center;gap:8px;padding:3px 20px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;display:flex}.log-entry[data-v-e513597d]:hover{background-color:#33333308}.log-entry.level-error[data-v-e513597d]{border-left-color:#c62828}.log-entry.level-error .log-message[data-v-e513597d]{color:#c62828}.log-entry.level-warning[data-v-e513597d]{border-left-color:#f57f17}.log-entry.level-warning .log-message[data-v-e513597d]{color:#d9720f}.log-time[data-v-e513597d]{color:#999;font-variant-numeric:tabular-nums;flex-shrink:0}.log-level[data-v-e513597d]{text-align:center;border-radius:2px;flex-shrink:0;min-width:42px;padding:0 4px;font-size:10px;font-weight:600}.log-level.level-error[data-v-e513597d]{color:#c62828;background:#c628281f}.log-level.level-warning[data-v-e513597d]{color:#d9720f;background:#f57f171f}.log-level.level-debug[data-v-e513597d],.log-level.level-info[data-v-e513597d]{color:#999;background:#3333330f}.log-logger[data-v-e513597d]{color:#999;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:160px;overflow:hidden}.log-message[data-v-e513597d]{color:#666;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.access-method[data-v-e513597d]{color:#1a1a1a;flex-shrink:0;font-weight:600}.access-path[data-v-e513597d]{color:#333;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.access-status[data-v-e513597d]{flex-shrink:0;font-size:11px;font-weight:600}.access-status.status-2[data-v-e513597d]{color:#2e7d32}.access-status.status-3[data-v-e513597d]{color:#f57f17}.access-status.status-4[data-v-e513597d],.access-status.status-5[data-v-e513597d]{color:#c62828}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ct as e,F as t,G as n,K as r,L as i,M as a,_ as o,f as s,g as c,i as l,l as u,p as d,st as f,tt as p,u as m,v as h,wt as g}from"./runtime-core.esm-bundler-yNW65ghW.js";import{St as _,t as v}from"./_plugin-vue_export-helper-CV9qMihF.js";import{t as y}from"./Select-DTG-wtu5.js";import{r as b}from"./context-B74FvHiJ.js";import{t as x}from"./use-message-Dz_GbH5h.js";import{t as S}from"./Spin-DWreY5m0.js";import{n as C}from"./client-BKiVmpru.js";async function w(){return(await C(`/api/logs`)).files}async function T(e,t){let n=new URLSearchParams;t?.lines&&n.set(`lines`,String(t.lines)),t?.level&&n.set(`level`,t.level),t?.session&&n.set(`session`,t.session),t?.since&&n.set(`since`,t.since);let r=n.toString();return(await C(`/api/logs/${e}${r?`?${r}`:``}`)).entries.filter(e=>e!==null)}var E={class:`logs-view`},D={class:`logs-header`},O={class:`header-actions`},k={class:`logs-body`},A={key:0,class:`logs-empty`},j={class:`log-list`},M={class:`log-time`},N={class:`log-logger`},P={class:`access-method`},F={class:`access-path`},I={key:1,class:`log-message`},L=v(h({__name:`LogsView`,setup(h){let v=x(),C=p([]),L=p(`agent`),R=p([]),z=p(!1),B=p(100),V=p(``),H=p(``),U=u(()=>C.value.map(e=>({label:`${e.name} (${e.size})`,value:e.name}))),W=[{label:`All`,value:``},{label:`ERROR`,value:`ERROR`},{label:`WARNING`,value:`WARNING`},{label:`INFO`,value:`INFO`},{label:`DEBUG`,value:`DEBUG`}],G=[{label:`50`,value:50},{label:`100`,value:100},{label:`200`,value:200},{label:`500`,value:500}],K=u(()=>{if(!H.value)return R.value;let e=H.value.toLowerCase();return R.value.filter(t=>t.message.toLowerCase().includes(e)||t.logger.toLowerCase().includes(e)||t.raw.toLowerCase().includes(e))});function q(e){switch(e){case`ERROR`:return`level-error`;case`WARNING`:return`level-warning`;case`DEBUG`:return`level-debug`;default:return`level-info`}}function J(e){let t=e.match(/\d{2}:\d{2}:\d{2}/);return t?t[0]:e}function Y(e){let t=e.match(/"(\w+)\s+(\S+)\s+HTTP\/[^"]+"\s+(\d+)/);return t?{method:t[1],path:t[2],status:t[3]}:null}async function X(){z.value=!0;try{R.value=(await T(L.value,{lines:B.value,level:V.value||void 0})).filter(e=>e!==null)}catch(e){v.error(e.message)}finally{z.value=!1}}return a(async()=>{C.value=await w(),await X()}),(a,u)=>(t(),d(`div`,E,[m(`header`,D,[u[5]||=m(`h2`,{class:`header-title`},`Logs`,-1),m(`div`,O,[o(f(y),{value:L.value,"onUpdate:value":[u[0]||=e=>L.value=e,X],options:U.value,size:`small`,style:{width:`200px`}},null,8,[`value`,`options`]),o(f(y),{value:V.value,options:W,size:`small`,style:{width:`110px`},"onUpdate:value":u[1]||=e=>{V.value=e,X()}},null,8,[`value`]),o(f(y),{value:B.value,options:G,size:`small`,style:{width:`80px`},"onUpdate:value":u[2]||=e=>{B.value=e,X()}},null,8,[`value`]),r(m(`input`,{"onUpdate:modelValue":u[3]||=e=>H.value=e,class:`search-input`,placeholder:`Search...`},null,512),[[_,H.value]]),o(f(b),{size:`small`,loading:z.value,onClick:X},{default:n(()=>[...u[4]||=[c(`Refresh`,-1)]]),_:1},8,[`loading`])])]),m(`div`,k,[o(f(S),{show:z.value},{default:n(()=>[K.value.length===0&&!z.value?(t(),d(`div`,A,` No log entries `)):s(``,!0),m(`div`,j,[(t(!0),d(l,null,i(K.value,(n,r)=>(t(),d(`div`,{key:r,class:e([`log-entry`,q(n.level)])},[m(`span`,M,g(J(n.timestamp)),1),m(`span`,{class:e([`log-level`,q(n.level)])},g(n.level),3),m(`span`,N,g(n.logger),1),Y(n.message)?(t(),d(l,{key:0},[m(`span`,P,g(Y(n.message).method),1),m(`span`,F,g(Y(n.message).path),1),m(`span`,{class:e([`access-status`,`status-`+(Y(n.message).status?.[0]||`x`)])},g(Y(n.message).status),3)],64)):(t(),d(`span`,I,g(n.message),1))],2))),128))])]),_:1},8,[`show`])])]))}}),[[`__scopeId`,`data-v-e513597d`]]);export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.markdown-body{font-size:14px;line-height:1.65}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{margin:4px 0 8px;padding-left:20px}.markdown-body li{margin:2px 0}.markdown-body strong{color:#1a1a1a;font-weight:600}.markdown-body em{color:#666}.markdown-body a{color:#333;text-underline-offset:2px;text-decoration:underline}.markdown-body a:hover{color:#1a1a1a}.markdown-body blockquote{color:#666;border-left:3px solid #e0e0e0;margin:8px 0;padding:4px 12px}.markdown-body code:not(.hljs){color:#333;background:#f4f4f4;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px}.markdown-body table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-body table th,.markdown-body table td{text-align:left;border:1px solid #e0e0e0;padding:6px 12px;font-size:13px}.markdown-body table th{color:#1a1a1a;background:#33333314;font-weight:600}.markdown-body table td{color:#666}.markdown-body hr{border:none;border-top:1px solid #e0e0e0;margin:12px 0}.hljs-code-block{background:#f4f4f4;border:1px solid #e0e0e0;border-radius:6px;margin:8px 0;overflow:hidden}.hljs-code-block .code-header{background:#00000008;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.hljs-code-block .code-header .code-lang{color:#999;text-transform:uppercase;font-size:11px}.hljs-code-block .code-header .copy-btn{color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:11px;transition:all .15s}.hljs-code-block .code-header .copy-btn:hover{color:#1a1a1a;background:#0000000d}.hljs-code-block code.hljs{padding:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;display:block;overflow-x:auto}.hljs{color:#2a2a2a;background:0 0}.hljs-keyword,.hljs-selector-tag{color:#1a1a1a;font-weight:600}.hljs-string,.hljs-attr{color:#555}.hljs-number{color:#333}.hljs-comment{color:#999;font-style:italic}.hljs-built_in{color:#444}.hljs-type{color:#3a3a3a}.hljs-variable,.hljs-title,.hljs-title\.function_{color:#1a1a1a}.hljs-params{color:#2a2a2a}.hljs-meta{color:#999}
|