@yeaft/webchat-agent 1.0.658 → 1.0.659
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/local-runtime/version.json +1 -1
- package/local-runtime/web/app.bundle.js +29 -7
- package/local-runtime/web/app.bundle.js.gz +0 -0
- package/local-runtime/web/index.html +2 -2
- package/local-runtime/web/style.bundle.css +1 -1
- package/local-runtime/web/style.bundle.css.gz +0 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"1.0.
|
|
1
|
+
{"version":"1.0.659"}
|
|
@@ -8954,12 +8954,29 @@ ${String(e||"").trim()}
|
|
|
8954
8954
|
</div>
|
|
8955
8955
|
</footer>
|
|
8956
8956
|
</div>
|
|
8957
|
-
`}});var FS,qS=L(()=>{mf();FS={name:"ScheduledTaskBar",props:{session:{type:Object,required:!0},agentId:{type:String,required:!0}},emits:["configure"],data(){return{busy:!1,error:""}},computed:{chat(){try{return window.Pinia?.useChatStore?.()||null}catch{return null}},task(){return this.session.task},unavailable(){return gf(this.chat,this.agentId,this.session.id,this.task)},lastRun(){return this.task.lastRun||this.task.runtime?.lastRun},lastStatus(){let e=this.lastRun?.status||this.task.lastRunStatus;if(!e)return this.$t("scheduledTasks.never");let t=`scheduledTasks.status.${e}`;return this.$t(t)===t?e:this.$t(t)},nextRunAt(){return this.task.nextRunAt??this.task.runtime?.nextRunAt}},methods:{formatTime(e){if(!e)return"";let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleString():""},async run(){if(!(this.busy||this.unavailable)){this.busy=!0,this.error="";try{let e=await this.chat.runScheduledTask({agentId:this.agentId,sessionId:this.session.id}),t=hf(e);t!==null&&(this.error=t||this.$t("scheduledTasks.failed"))}catch(e){this.error=e?.message||this.$t("scheduledTasks.failed")}finally{this.busy=!1}}}},template:`
|
|
8958
|
-
<div class="scheduled-task-bar">
|
|
8957
|
+
`}});var FS,qS=L(()=>{mf();FS={name:"ScheduledTaskBar",props:{session:{type:Object,required:!0},agentId:{type:String,required:!0}},emits:["configure"],data(){return{busy:!1,error:""}},computed:{chat(){try{return window.Pinia?.useChatStore?.()||null}catch{return null}},task(){return this.session.task},unavailable(){return gf(this.chat,this.agentId,this.session.id,this.task)},lastRun(){return this.task.lastRun||this.task.runtime?.lastRun},lastStatus(){let e=this.lastRun?.status||this.task.lastRunStatus;if(!e)return this.$t("scheduledTasks.never");let t=`scheduledTasks.status.${e}`;return this.$t(t)===t?e:this.$t(t)},nextRunAt(){return this.task.nextRunAt??this.task.runtime?.nextRunAt},stateLabel(){return this.$t(this.unavailable==="scheduledTasks.running"?this.unavailable:this.task.enabled?"scheduledTasks.enabled":"scheduledTasks.paused")},taskError(){return this.error||this.lastRun?.error||this.task.lastError||""},detailsLabel(){return`${this.$t("scheduledTasks.task")}: ${this.stateLabel}${this.taskError?" \xB7 "+this.$t("scheduledTasks.status.failed"):""}`}},watch:{error(e){e&&this.$refs.details&&(this.$refs.details.open=!0)}},mounted(){document.addEventListener("pointerdown",this.closeOutside)},beforeUnmount(){document.removeEventListener("pointerdown",this.closeOutside)},methods:{closeOutside(e){!this.$el.contains(e.target)&&this.$refs.details&&(this.$refs.details.open=!1)},closeDetails(){this.$refs.details&&(this.$refs.details.open=!1)},onEscape(){this.$refs.details?.open&&(this.closeDetails(),this.$refs.summary?.focus())},configure(){this.$refs.details?.open&&(this.closeDetails(),this.$refs.summary?.focus()),this.$emit("configure")},formatTime(e){if(!e)return"";let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleString():""},async run(){if(!(this.busy||this.unavailable)){this.closeDetails(),this.busy=!0,this.error="";try{let e=await this.chat.runScheduledTask({agentId:this.agentId,sessionId:this.session.id}),t=hf(e);t!==null&&(this.error=t||this.$t("scheduledTasks.failed"))}catch(e){this.error=e?.message||this.$t("scheduledTasks.failed")}finally{this.busy=!1}}}},template:`
|
|
8958
|
+
<div class="scheduled-task-bar" @keydown.esc="onEscape">
|
|
8959
|
+
<details ref="details" class="scheduled-task-mobile-details">
|
|
8960
|
+
<summary ref="summary" class="scheduled-task-mobile-toggle" :class="{ 'is-paused': !task.enabled, 'has-error': !!taskError }" :aria-label="detailsLabel" :title="detailsLabel">
|
|
8961
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 11h18m-14 5 3 3 6-6"/></svg>
|
|
8962
|
+
<span class="scheduled-task-mobile-state" aria-hidden="true"></span>
|
|
8963
|
+
</summary>
|
|
8964
|
+
<div class="scheduled-task-mobile-panel">
|
|
8965
|
+
<strong>{{ $t('scheduledTasks.task') }} \xB7 {{ stateLabel }}</strong>
|
|
8966
|
+
<p v-if="unavailable && unavailable !== 'scheduledTasks.running'" class="scheduled-task-help" role="status">{{ $t(unavailable) }}</p>
|
|
8967
|
+
<p v-else class="scheduled-task-help">
|
|
8968
|
+
<template v-if="task.enabled && nextRunAt">{{ $t('scheduledTasks.nextRun') }} <time>{{ formatTime(nextRunAt) }}</time></template>
|
|
8969
|
+
<template v-else>{{ $t(task.trigger?.type === 'manual' ? 'scheduledTasks.trigger.manual' : 'scheduledTasks.none') }}</template>
|
|
8970
|
+
<span aria-hidden="true"> \xB7 </span><span>{{ lastStatus }}</span>
|
|
8971
|
+
</p>
|
|
8972
|
+
<p v-if="taskError" class="scheduled-task-error" role="alert">{{ taskError }}</p>
|
|
8973
|
+
<button type="button" class="btn btn-secondary" @click="configure">{{ $t('scheduledTasks.configure') }}</button>
|
|
8974
|
+
</div>
|
|
8975
|
+
</details>
|
|
8959
8976
|
<div class="scheduled-task-summary">
|
|
8960
8977
|
<div class="scheduled-task-summary-heading">
|
|
8961
8978
|
<strong>{{ $t('scheduledTasks.task') }}</strong>
|
|
8962
|
-
<span class="scheduled-task-state" :class="{ 'is-paused': !task.enabled }">{{
|
|
8979
|
+
<span class="scheduled-task-state" :class="{ 'is-paused': !task.enabled }">{{ stateLabel }}</span>
|
|
8963
8980
|
</div>
|
|
8964
8981
|
<p v-if="unavailable && unavailable !== 'scheduledTasks.running'" class="scheduled-task-help" role="status">{{ $t(unavailable) }}</p>
|
|
8965
8982
|
<p v-else class="scheduled-task-help">
|
|
@@ -8969,10 +8986,13 @@ ${String(e||"").trim()}
|
|
|
8969
8986
|
</p>
|
|
8970
8987
|
</div>
|
|
8971
8988
|
<div class="scheduled-task-bar-actions">
|
|
8972
|
-
<button type="button" class="btn btn-secondary" @click="
|
|
8973
|
-
<button type="button" class="btn btn-primary" :disabled="busy || !!unavailable"
|
|
8989
|
+
<button type="button" class="btn btn-secondary scheduled-task-desktop-configure" @click="configure">{{ $t('scheduledTasks.configure') }}</button>
|
|
8990
|
+
<button type="button" class="btn btn-primary scheduled-task-run" :disabled="busy || !!unavailable" :aria-label="$t(busy ? 'scheduledTasks.starting' : 'scheduledTasks.run')" :title="$t(unavailable || (busy ? 'scheduledTasks.starting' : 'scheduledTasks.run'))" :aria-busy="busy" @click="run">
|
|
8991
|
+
<svg class="scheduled-task-run-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m8 5 11 7-11 7Z"/></svg>
|
|
8992
|
+
<span class="scheduled-task-run-label">{{ $t(busy ? 'scheduledTasks.starting' : 'scheduledTasks.run') }}</span>
|
|
8993
|
+
</button>
|
|
8974
8994
|
</div>
|
|
8975
|
-
<p v-if="
|
|
8995
|
+
<p v-if="taskError" class="scheduled-task-error scheduled-task-desktop-error" role="alert">{{ taskError }}</p>
|
|
8976
8996
|
</div>
|
|
8977
8997
|
`}});function VS(e={}){let{sessions:t,activeSessionId:s,activeSessionKey:n,pinnedSessionIds:r,onlineAgentIds:i}=e,o=s||null,a=n||null,l=Object.prototype.hasOwnProperty.call(e,"activeSessionKey"),c=Array.isArray(r)?r:[],d=Array.isArray(i)?new Set(i.filter(Boolean)):null,u=new Map;c.forEach((f,g)=>{typeof f=="string"&&f&&!u.has(f)&&u.set(f,g)});let p=[];for(let f of Array.isArray(t)?t:[]){if(!f||!f.id||d&&f.agentId&&!d.has(f.agentId))continue;let g=String(f.id),v=f.agentId?`${f.agentId}${g}`:g;p.push({kind:"session",id:g,raw:f,pinned:!!f.pinned||!f.agentId&&u.has(g),active:l?v===a:g===o,processing:!!f.running||!!f.active||!!f.isRunning||!!f.isActive,_manualOrder:Number.isFinite(f.sortOrder)?f.sortOrder:Number.MAX_SAFE_INTEGER,_activityTime:ma(f)})}return p.sort((f,g)=>{if(f.pinned!==g.pinned)return f.pinned?-1:1;if(f._manualOrder!==g._manualOrder)return f._manualOrder-g._manualOrder;if(f._activityTime!==g._activityTime)return g._activityTime-f._activityTime;let v=u.has(f.id)?u.get(f.id):Number.MAX_SAFE_INTEGER,h=u.has(g.id)?u.get(g.id):Number.MAX_SAFE_INTEGER;return v!==h?v-h:f.id.localeCompare(g.id)}),p.map(({_manualOrder:f,_activityTime:g,...v})=>v)}var NS=L(()=>{Gi()});var BT,AF,BS,HS=L(()=>{qs();qt();ia();_p();Ep();$p();Dp();Np();ef();NS();BT=3600*1e3,AF=24*BT,BS={name:"YeaftSidebar",components:{NavigationIcon:Mt,SessionCreateModal:sr,SidebarAgentHeader:oc,SidebarWorkCenter:ac,SidebarDigitalPerson:lc,SessionSidebarShell:cc,UnifiedSessionList:dc},emits:["select-group","select-chat","toggle-sidebar","back","open-settings","open-agent-settings","open-group-settings"],template:`
|
|
8978
8998
|
<SessionSidebarShell class="yeaft-sidebar" :collapsed="collapsed">
|
|
@@ -10090,7 +10110,8 @@ ${String(e||"").trim()}
|
|
|
10090
10110
|
<div v-else class="yeaft-main" :class="{ 'workbench-active': canUseWorkbench && store.workbenchExpanded, 'workbench-maximized': canUseWorkbench && store.workbenchMaximized && store.workbenchExpanded }">
|
|
10091
10111
|
<!-- Center column: topbar + (settings | empty-hero | MessageList) + ChatInput. -->
|
|
10092
10112
|
<div class="yeaft-main-center">
|
|
10093
|
-
<!--
|
|
10113
|
+
<!-- Task controls share the mobile action row; desktop retains its summary. -->
|
|
10114
|
+
<div class="yeaft-conversation-header">
|
|
10094
10115
|
<div class="yeaft-topbar">
|
|
10095
10116
|
<!-- task-341: sidebar-toggle moved from topbar into V2 sidebar header. -->
|
|
10096
10117
|
<!-- task-fix-mobile-group-settings: re-add a mobile-only \u2630 here so
|
|
@@ -10142,6 +10163,7 @@ ${String(e||"").trim()}
|
|
|
10142
10163
|
</div>
|
|
10143
10164
|
|
|
10144
10165
|
<ScheduledTaskBar v-if="topbarGroup?.task" :key="(topbarGroup.agentId || store.currentAgent) + ':' + topbarGroup.id" :session="topbarGroup" :agent-id="topbarGroup.agentId || store.currentAgent" @configure="openSessionSettings({ sessionId: topbarGroup.id, agentId: topbarGroup.agentId || store.currentAgent, section: 'task' })" />
|
|
10166
|
+
</div>
|
|
10145
10167
|
|
|
10146
10168
|
<YeaftConversationOutline
|
|
10147
10169
|
v-if="historySearchOpen && !showOnboardingGuide"
|
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>Yeaft</title>
|
|
7
7
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='8' fill='%232c2c2c'/><path d='M16 22V13M16 13L10 8M16 13L22 8' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/><circle cx='10' cy='8' r='2.4' fill='white'/><circle cx='22' cy='8' r='2.4' fill='white'/><circle cx='16' cy='22' r='2.4' fill='white'/></svg>">
|
|
8
8
|
<link rel="stylesheet" href="vendor/katex/katex.min.css?v=b0d91614">
|
|
9
|
-
<link rel="stylesheet" href="style.bundle.css?v=
|
|
9
|
+
<link rel="stylesheet" href="style.bundle.css?v=9fd2cfb8">
|
|
10
10
|
<script src="vendor.bundle.js?v=b4d2c175"></script>
|
|
11
11
|
<script defer src="jszip.min.js"></script>
|
|
12
12
|
<script defer src="docx-preview.min.js"></script>
|
|
@@ -17,6 +17,6 @@
|
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="app"></div>
|
|
20
|
-
<script type="module" src="app.bundle.js?v=
|
|
20
|
+
<script type="module" src="app.bundle.js?v=407a29f5"></script>
|
|
21
21
|
</body>
|
|
22
22
|
</html>
|