From 580ba2ed760e756968a37577598e66edcad009d7 Mon Sep 17 00:00:00 2001 From: Jianghan <58623049+SuperstructureJH@users.noreply.github.com> Date: Sat, 5 Sep 2026 14:27:59 +0800 Subject: [PATCH] fix(ppt): align mode action with agent preset --- ...sh-client-ui-conversation+0.1.2-rc.1.patch | 2 +- test/kimi-ppt-integration.test.ts | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/patches/@deepseek-ai+dsh-client-ui-conversation+0.1.2-rc.1.patch b/patches/@deepseek-ai+dsh-client-ui-conversation+0.1.2-rc.1.patch index 52efa8eb..bbf951ed 100644 --- a/patches/@deepseek-ai+dsh-client-ui-conversation+0.1.2-rc.1.patch +++ b/patches/@deepseek-ai+dsh-client-ui-conversation+0.1.2-rc.1.patch @@ -6,7 +6,7 @@ index bf946f2..cee6145 100644 //#endregion //#region \0dsh-css:/private/tmp/dsh-harness-v0.1.2-rc.1/packages/client/ui-conversation/src/client/skeleton/ConversationRoot.module.css.mjs const css$4 = "._8JRpoa_root{background:var(--dsw-alias-bg-base);--dsh-chat-content-width:var(--dsh-chat-user-width,clamp(680px, calc(var(--dsh-conversation-column-width,0px) * .64), 920px));--dsh-composer-card-max-width:calc(var(--dsh-chat-content-width) + 32px);--dsh-composer-side-clearance:16px;--dsh-composer-dock-inset:8px;flex-direction:column;min-width:0;height:100%;display:flex;position:relative}._8JRpoa_header{border-bottom:1px solid #0000;flex:none;padding:12px 28px 0 20px;position:relative}._8JRpoa_header:after{content:\"\";z-index:0;background:var(--dsw-alias-border-l3);pointer-events:none;height:.5px;position:absolute;bottom:1px;left:0;right:0}._8JRpoa_headerHidden{display:none}._8JRpoa_titleRow{align-items:center;gap:0;min-height:32px;display:flex}._8JRpoa_titleCluster{flex:1;align-items:center;gap:10px;min-width:0;display:flex}._8JRpoa_crumbs{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}._8JRpoa_crumbSeg{align-items:center;gap:4px;min-width:0;display:inline-flex}._8JRpoa_crumbSep{color:var(--dsw-alias-label-caption);font-size:14px;line-height:20px}._8JRpoa_crumb{max-width:220px;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px 8px;font-size:14px;line-height:20px;overflow:hidden}._8JRpoa_crumbSubagent{font-size:12px;line-height:18px}._8JRpoa_crumb:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._8JRpoa_crumbCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:500}._8JRpoa_headerActions{flex:none;align-items:center;gap:8px;display:flex}._8JRpoa_headerUtilities{flex:none;align-items:center;gap:8px;margin-left:20px;display:flex}._8JRpoa_headerUtilities:empty{display:none}._8JRpoa_tabs{z-index:1;gap:36px;margin-top:4px;padding-left:8px;display:flex;position:relative}._8JRpoa_tab{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:0 0 11px;font-size:13px;font-weight:500;line-height:16px;position:relative}._8JRpoa_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}._8JRpoa_tabActive{color:var(--dsw-alias-state-business-primary)}._8JRpoa_tabActive:after{background:var(--dsw-alias-state-business-primary)}._8JRpoa_viewArea{flex-direction:column;flex:1;min-height:0;display:flex}._8JRpoa_widthHandle{z-index:8;width:min(40px, calc((100% - var(--dsh-chat-content-width)) / 2 - 24px - 24px));cursor:col-resize;position:absolute;top:0;bottom:0}._8JRpoa_widthHandle[data-side=left]{right:calc(50% + var(--dsh-chat-content-width) / 2 + 24px)}._8JRpoa_widthHandle[data-side=right]{left:calc(50% + var(--dsh-chat-content-width) / 2 + 24px)}._8JRpoa_widthHandle:after{content:\"\";background:linear-gradient(to bottom, transparent calc(var(--dsh-width-handle-pointer-y,50%) - 52px), var(--dsw-alias-scrollbar-hover-l1) calc(var(--dsh-width-handle-pointer-y,50%) - 12px), var(--dsw-alias-scrollbar-hover-l1) calc(var(--dsh-width-handle-pointer-y,50%) + 12px), transparent calc(var(--dsh-width-handle-pointer-y,50%) + 52px));opacity:0;pointer-events:none;border-radius:3px;width:3px;position:absolute;top:0;bottom:0}._8JRpoa_widthHandle[data-side=left]:after{right:16px}._8JRpoa_widthHandle[data-side=right]:after{left:16px}._8JRpoa_widthHandle:hover:after,._8JRpoa_widthHandle[data-dragging]:after{opacity:1}._8JRpoa_root:has([data-conversation-composer-overlay]) ._8JRpoa_widthHandle{display:none}._8JRpoa_composerStack{--dsh-composer-stack-gap:6px;gap:var(--dsh-composer-stack-gap);flex-direction:column;display:flex}._8JRpoa_composerSeat{--dsh-composer-text-max-height:336px;flex-direction:column;flex:none;display:flex}._8JRpoa_root[data-phase=active]{overflow:hidden}._8JRpoa_root[data-phase=active] ._8JRpoa_header{flex:none}._8JRpoa_body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}._8JRpoa_scrollBody{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}._8JRpoa_root[data-phase=active] ._8JRpoa_viewArea{flex:1 0 auto;min-height:auto}._8JRpoa_root[data-phase=active] ._8JRpoa_composerSeat{z-index:7;background:linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-bg-base) 0%, transparent) 0px, var(--dsw-alias-bg-base) 36px);position:sticky;bottom:0}._8JRpoa_root[data-phase=active] ._8JRpoa_composerSeat:has([data-trigger-menu]){z-index:9}._8JRpoa_scrollBody:has([data-conversation-composer-overlay]){scrollbar-gutter:auto;position:relative;overflow:hidden auto}._8JRpoa_scrollBody:has([data-conversation-composer-overlay])>[data-slot=conversation\\.session]>._8JRpoa_viewArea{flex:1 1 0;min-height:0;overflow:hidden}._8JRpoa_scrollBody:has([data-conversation-composer-overlay])>._8JRpoa_composerSeat{right:var(--dsh-scrollbar-width);position:absolute;bottom:0;left:0}._8JRpoa_composerHero{width:min(calc(var(--dsh-composer-card-max-width) + 2 * var(--dsh-composer-side-clearance)), 100%);z-index:1;align-self:center;gap:8px;padding-bottom:32px}._8JRpoa_heroWorkspaceRow{align-items:center;gap:2px;min-width:0;margin-top:4px;padding-left:20px;display:flex}._8JRpoa_root[data-phase=hero] ._8JRpoa_scrollBody{justify-content:center;overflow-y:auto}._8JRpoa_root[data-phase=settling] ._8JRpoa_composerSeat{visibility:hidden}"; -+ const heroModeClusterCss = "._8JRpoa_heroModeCluster{margin-left:auto;width:max-content;max-width:100%;flex:none;align-items:center;gap:2px;display:flex}._8JRpoa_heroWorkspaceRow{padding-right:20px;box-sizing:border-box}"; ++ const heroModeClusterCss = "._8JRpoa_heroWorkspaceRow [data-slot=conversation\\.hero\\.agentPreset]>span{width:max-content!important;min-width:0!important;max-width:240px;flex:none}._8JRpoa_heroModeCluster{width:max-content;max-width:100%;flex:none;align-items:center;gap:2px;display:flex}._8JRpoa_heroModeCluster button{box-sizing:border-box;height:28px;padding:0 8px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--dsw-alias-label-primary)!important;font:inherit;font-size:13px;font-weight:500;line-height:20px;gap:6px;cursor:pointer;transition:background-color .12s ease,color .12s ease,transform .12s ease}._8JRpoa_heroModeCluster button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)!important;color:var(--dsw-alias-label-primary)!important}._8JRpoa_heroModeCluster button[data-selected=true]{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 10%,transparent)!important;color:var(--dsw-alias-state-business-primary)!important}._8JRpoa_heroModeCluster button:active:not(:disabled){transform:scale(.98)}._8JRpoa_heroModeCluster button:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}._8JRpoa_heroWorkspaceRow{padding-right:20px;box-sizing:border-box}"; const tagId$4 = "@deepseek-ai/dsh-client-ui-conversation/ConversationRoot.module.css"; if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) { const tag = document.createElement("style"); diff --git a/test/kimi-ppt-integration.test.ts b/test/kimi-ppt-integration.test.ts index a4bff9d3..3cd92f41 100644 --- a/test/kimi-ppt-integration.test.ts +++ b/test/kimi-ppt-integration.test.ts @@ -152,6 +152,27 @@ describe('Kimi PPT built-in plugin', () => { expect(catalog).toBeGreaterThan(input) }) + it('integrates hero mode actions with the adjacent agent-preset control style', async () => { + const patch = await readFile(path.join( + projectRoot, + 'patches', + '@deepseek-ai+dsh-client-ui-conversation+0.1.2-rc.1.patch' + ), 'utf8') + + expect(patch).toContain( + '[data-slot=conversation\\\\.hero\\\\.agentPreset]>span{width:max-content!important;min-width:0!important', + ) + expect(patch).toContain('._8JRpoa_heroModeCluster{width:max-content') + expect(patch).not.toContain('._8JRpoa_heroModeCluster{margin-left:auto') + expect(patch).toContain('._8JRpoa_heroModeCluster button{') + expect(patch).toContain('height:28px') + expect(patch).toContain('border:0!important') + expect(patch).toContain('color:var(--dsw-alias-label-primary)!important') + expect(patch).toContain('button[data-selected=true]') + expect(patch).toContain('var(--dsw-alias-state-business-primary) 10%') + expect(patch).toContain('button:focus-visible') + }) + it('renders the selected template before editable prompt text', async () => { const client = await readFile(path.join( projectRoot,