dsh-bots 0.2.28 → 0.2.30
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/lib/client.js +12 -8
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -320,6 +320,7 @@
|
|
|
320
320
|
.dbs-avatar{width:20px;height:20px;border-radius:6px;flex:none;display:grid;place-items:center;font-size:11px;line-height:1;font-weight:600;color:#fff;overflow:hidden;user-select:none}
|
|
321
321
|
.dbs-avatar.dbs-group{border-radius:999px}
|
|
322
322
|
.dbs-avatar img{width:100%;height:100%;object-fit:cover;display:block}
|
|
323
|
+
.dbs-avatarRound{border-radius:999px}
|
|
323
324
|
.dbs-badge{min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:var(--dsw-alias-state-business-primary,#1a6dff);color:#fff;font-size:11px;line-height:16px;text-align:center;flex:none;font-variant-numeric:tabular-nums}
|
|
324
325
|
.dbs-railBtn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer;padding:0}
|
|
325
326
|
.dbs-railBtn:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
@@ -416,9 +417,9 @@
|
|
|
416
417
|
.dbs-scrollBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2,rgba(0,0,0,.18));border-radius:5px;border:3px solid transparent;background-clip:content-box}
|
|
417
418
|
.dbs-scrollBody::-webkit-scrollbar-thumb:hover{background:var(--dsw-alias-label-caption,var(--dsw-alias-border-l2,rgba(0,0,0,.25)));border:3px solid transparent;background-clip:content-box}
|
|
418
419
|
.dbs-scrollBody::-webkit-scrollbar-track{background:transparent}
|
|
419
|
-
.dbs-jump{position:absolute;
|
|
420
|
-
.dbs-jump:hover{color:var(--dsw-alias-label-primary);transform:
|
|
421
|
-
.dbs-jump[data-show="false"]{opacity:0;pointer-events:none;transform:
|
|
420
|
+
.dbs-jump{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--dsw-alias-border-l2,rgba(0,0,0,.12));background:var(--dsw-specific-input-major,var(--dsw-alias-bg-layer-1,#fff));box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-secondary);cursor:pointer;z-index:5;transition:opacity .15s ease,transform .15s ease}
|
|
421
|
+
.dbs-jump:hover{color:var(--dsw-alias-label-primary);transform:translate(-50%,-1px)}
|
|
422
|
+
.dbs-jump[data-show="false"]{opacity:0;pointer-events:none;transform:translate(-50%,4px)}
|
|
422
423
|
/* Loading states aligned with the native shell: StateDot chase icon where
|
|
423
424
|
available (the real native component), pulse-dot fallback in DeepSeek blue
|
|
424
425
|
at the native 1s cycle; media spinner reuses the native 0.8s linear spin. */
|
|
@@ -1091,8 +1092,11 @@
|
|
|
1091
1092
|
const a = p.agent;
|
|
1092
1093
|
const size = p.size ?? 20;
|
|
1093
1094
|
const style = { width: size, height: size };
|
|
1095
|
+
// Conversation avatars are round (native chat look); the sidebar keeps
|
|
1096
|
+
// the native squircle via the base class.
|
|
1097
|
+
const shape = p.round === true || a.isGroup === true ? ' dbs-avatarRound' : (a.isGroup ? ' dbs-group' : '');
|
|
1094
1098
|
if (typeof a.avatarDataUrl === 'string' && a.avatarDataUrl !== '') {
|
|
1095
|
-
return e('span', { className: 'dbs-avatar' +
|
|
1099
|
+
return e('span', { className: 'dbs-avatar' + shape, style }, e('img', { src: a.avatarDataUrl, alt: '' }));
|
|
1096
1100
|
}
|
|
1097
1101
|
style.background = typeof a.avatarColor === 'string' && a.avatarColor !== ''
|
|
1098
1102
|
? a.avatarColor
|
|
@@ -1101,7 +1105,7 @@
|
|
|
1101
1105
|
style.fontSize = '13px';
|
|
1102
1106
|
const initial = (a.name ?? '').trim().slice(0, 1) || '·';
|
|
1103
1107
|
return e('span', {
|
|
1104
|
-
className: 'dbs-avatar' +
|
|
1108
|
+
className: 'dbs-avatar' + shape, style, 'aria-hidden': true,
|
|
1105
1109
|
}, initial);
|
|
1106
1110
|
}
|
|
1107
1111
|
/** Chevron matching the shipped project row (fills in if the icon moves). */
|
|
@@ -1557,7 +1561,7 @@
|
|
|
1557
1561
|
};
|
|
1558
1562
|
const displayName = p.isGroup ? en.authorName : p.agent?.name;
|
|
1559
1563
|
const authorColor = 'hsl(' + String(hueOf(avAgent.id)) + ' 55% 45%)';
|
|
1560
|
-
return e('div', { className: 'dbs-botRow' }, e('div', { className: 'dbs-author' }, e(Avatar, { agent: avAgent, size: 22 }), displayName != null && displayName !== ''
|
|
1564
|
+
return e('div', { className: 'dbs-botRow' }, e('div', { className: 'dbs-author' }, e(Avatar, { agent: avAgent, size: 22, round: true }), displayName != null && displayName !== ''
|
|
1561
1565
|
? e('span', { className: 'dbs-authorName', style: { color: authorColor } }, displayName)
|
|
1562
1566
|
: null, e(MsgTime, { entry: en })), e('div', { className: 'dbs-mdRow' }, e(MarkdownText, { text: en.content, streaming: en.isStreaming === true }), en.isStreaming === true ? e('span', { className: 'dbs-caret' }) : null, en.isStreaming === true ? null : e(MediaRefs, { text: en.content, files: true })));
|
|
1563
1567
|
}
|
|
@@ -1817,7 +1821,7 @@
|
|
|
1817
1821
|
variant: 'ghost', size: 'sm', title: t('action.close'), 'aria-label': t('action.close'),
|
|
1818
1822
|
icon: Ico('IconCloseOutline16', { size: 16 }),
|
|
1819
1823
|
onClick: () => patch({ chatAgentId: null }),
|
|
1820
|
-
}), agent !== null ? e(Avatar, { agent, size: 24 }) : null, e('span', { className: 'dbs-chatbarName' }, agent?.name ?? t('chat.loading')), e('span', { className: 'dbs-meta' }, isGroup ? t('chat.group', { n: memberNames.length }) : t('chat.single')), e('span', { style: { flex: 1 } }), isGroup
|
|
1824
|
+
}), agent !== null ? e(Avatar, { agent, size: 24, round: true }) : null, e('span', { className: 'dbs-chatbarName' }, agent?.name ?? t('chat.loading')), e('span', { className: 'dbs-meta' }, isGroup ? t('chat.group', { n: memberNames.length }) : t('chat.single')), e('span', { style: { flex: 1 } }), isGroup
|
|
1821
1825
|
? e(Button, {
|
|
1822
1826
|
variant: 'ghost', size: 'sm', title: t('chat.members.manage'), 'aria-label': t('chat.members.manage'),
|
|
1823
1827
|
onClick: () => patch({ manageMembers: p.agentId }),
|
|
@@ -1831,7 +1835,7 @@
|
|
|
1831
1835
|
: null, e('div', { className: 'dbs-scrollArea' }, e('div', { className: 'dbs-scrollBody', ref: scrollRef, onScroll: onScrollBody }, e('div', { className: 'dbs-scroll' }, e('div', { className: 'dbs-column' }, entries === null
|
|
1832
1836
|
? e('div', { className: 'dbs-skeleton' }, e('div', { className: 'dbs-skelRow', style: { width: '42%' } }), e('div', { className: 'dbs-skelRow', style: { width: '76%' } }), e('div', { className: 'dbs-skelRow', style: { width: '58%' } }))
|
|
1833
1837
|
: list.length === 0
|
|
1834
|
-
? e('div', { className: 'dbs-welcome' }, agent !== null ? e(Avatar, { agent, size: 44 }) : null, e('div', { className: 'dbs-welcomeName' }, agent?.name ?? ''), typeof agent?.description === 'string' && agent.description !== ''
|
|
1838
|
+
? e('div', { className: 'dbs-welcome' }, agent !== null ? e(Avatar, { agent, size: 44, round: true }) : null, e('div', { className: 'dbs-welcomeName' }, agent?.name ?? ''), typeof agent?.description === 'string' && agent.description !== ''
|
|
1835
1839
|
? e('div', { className: 'dbs-welcomeDesc' }, agent.description) : null, e('div', { className: 'dbs-welcomeHint' }, isGroup ? t('chat.empty.group') : t('chat.empty.single', { name: agent?.name ?? '' })))
|
|
1836
1840
|
: thread, composing
|
|
1837
1841
|
? e('div', { className: 'dbs-typing', 'aria-label': t('chat.composing'), title: t('chat.composing') },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-bots",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.30",
|
|
4
4
|
"description": "Multi-bot workbench for DeepSeek Harness: bridges the sdk-bots orchestration gateway (group chats, single bots) into the dsh web shell with official-styled UI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|